diff --git a/samtranslator/schema/schema.json b/samtranslator/schema/schema.json index ebf3cceb8..9df2830a5 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", @@ -26314,6 +26458,12 @@ "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState", "markdownDescription": "An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling. Setting the value of an attribute to `true` suspends the specified scaling activities. Setting it to `false` (default) resumes the specified scaling activities.\n\n*Suspension Outcomes*\n\n- For `DynamicScalingInSuspended` , while a suspension is in effect, all scale-in activities that are triggered by a scaling policy are suspended.\n- For `DynamicScalingOutSuspended` , while a suspension is in effect, all scale-out activities that are triggered by a scaling policy are suspended.\n- For `ScheduledScalingSuspended` , while a suspension is in effect, all scaling activities that involve scheduled actions are suspended.", "title": "SuspendedState" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -28535,7 +28685,7 @@ ], "type": "object" }, - "AWS::Artifact::Report": { + "AWS::Artifact::ComplianceInquiry": { "additionalProperties": false, "properties": { "Condition": { @@ -28569,12 +28719,19 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, "type": "object" }, "Type": { "enum": [ - "AWS::Artifact::Report" + "AWS::Artifact::ComplianceInquiry" ], "type": "string" }, @@ -28592,7 +28749,7 @@ ], "type": "object" }, - "AWS::Athena::CapacityReservation": { + "AWS::Artifact::Report": { "additionalProperties": false, "properties": { "Condition": { @@ -28626,40 +28783,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "CapacityAssignmentConfiguration": { - "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration", - "markdownDescription": "Assigns Athena workgroups (and hence their queries) to capacity reservations. A capacity reservation can have only one capacity assignment configuration, but the capacity assignment configuration can be made up of multiple individual assignments. Each assignment specifies how Athena queries can consume capacity from the capacity reservation that their workgroup is mapped to.", - "title": "CapacityAssignmentConfiguration" - }, - "Name": { - "markdownDescription": "The name of the capacity reservation.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to the capacity reservation.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", - "type": "array" - }, - "TargetDpus": { - "markdownDescription": "The number of data processing units requested.", - "title": "TargetDpus", - "type": "number" - } - }, - "required": [ - "Name", - "TargetDpus" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::Athena::CapacityReservation" + "AWS::Artifact::Report" ], "type": "string" }, @@ -28673,46 +28802,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::CapacityReservation.CapacityAssignment": { - "additionalProperties": false, - "properties": { - "WorkgroupNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of workgroup names for the capacity assignment.", - "title": "WorkgroupNames", - "type": "array" - } - }, - "required": [ - "WorkgroupNames" - ], - "type": "object" - }, - "AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration": { - "additionalProperties": false, - "properties": { - "CapacityAssignments": { - "items": { - "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignment" - }, - "markdownDescription": "The list of assignments that make up the capacity assignment configuration.", - "title": "CapacityAssignments", - "type": "array" - } - }, - "required": [ - "CapacityAssignments" + "Type" ], "type": "object" }, - "AWS::Athena::DataCatalog": { + "AWS::Athena::CapacityReservation": { "additionalProperties": false, "properties": { "Condition": { @@ -28747,65 +28841,39 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionType": { - "markdownDescription": "The type of connection for a `FEDERATED` data catalog (for example, `REDSHIFT` , `MYSQL` , or `SQLSERVER` ). For information about individual connectors, see [Available data source connectors](https://docs.aws.amazon.com/athena/latest/ug/connectors-available.html) .", - "title": "ConnectionType", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the data catalog.", - "title": "Description", - "type": "string" - }, - "Error": { - "markdownDescription": "Text of the error that occurred during data catalog creation or deletion.", - "title": "Error", - "type": "string" + "CapacityAssignmentConfiguration": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration", + "markdownDescription": "Assigns Athena workgroups (and hence their queries) to capacity reservations. A capacity reservation can have only one capacity assignment configuration, but the capacity assignment configuration can be made up of multiple individual assignments. Each assignment specifies how Athena queries can consume capacity from the capacity reservation that their workgroup is mapped to.", + "title": "CapacityAssignmentConfiguration" }, "Name": { - "markdownDescription": "The name of the data catalog. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.", + "markdownDescription": "The name of the capacity reservation.", "title": "Name", "type": "string" }, - "Parameters": { - "additionalProperties": true, - "markdownDescription": "Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.\n\n- For the `HIVE` data catalog type, use the following syntax. The `metadata-function` parameter is required. `The sdk-version` parameter is optional and defaults to the currently supported version.\n\n`metadata-function= *lambda_arn* , sdk-version= *version_number*`\n- For the `LAMBDA` data catalog type, use one of the following sets of required parameters, but not both.\n\n- If you have one Lambda function that processes metadata and another for reading the actual data, use the following syntax. Both parameters are required.\n\n`metadata-function= *lambda_arn* , record-function= *lambda_arn*`\n- If you have a composite Lambda function that processes both metadata and data, use the following syntax to specify your Lambda function.\n\n`function= *lambda_arn*`\n- The `GLUE` type takes a catalog ID parameter and is required. The `*catalog_id*` is the account ID of the AWS account to which the AWS Glue Data Catalog belongs.\n\n`catalog-id= *catalog_id*`\n\n- The `GLUE` data catalog type also applies to the default `AwsDataCatalog` that already exists in your account, of which you can have only one and cannot modify.\n- The `FEDERATED` data catalog type uses one of the following parameters, but not both. Use `connection-arn` for an existing AWS Glue connection. Use `connection-type` and `connection-properties` to specify the configuration setting for a new connection.\n\n- `connection-arn: **`\n- `lambda-role-arn` (optional): The execution role to use for the Lambda function. If not provided, one is created.\n- `connection-type:MYSQL|REDSHIFT|...., connection-properties:\" ** \"`\n\nFor *``* , use escaped JSON text, as in the following example.\n\n`\"{\\\"spill_bucket\\\":\\\"my_spill\\\",\\\"spill_prefix\\\":\\\"athena-spill\\\",\\\"host\\\":\\\"abc12345.snowflakecomputing.com\\\",\\\"port\\\":\\\"1234\\\",\\\"warehouse\\\":\\\"DEV_WH\\\",\\\"database\\\":\\\"TEST\\\",\\\"schema\\\":\\\"PUBLIC\\\",\\\"SecretArn\\\":\\\"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j\\\"}\"`", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Parameters", - "type": "object" - }, - "Status": { - "markdownDescription": "The status of the creation or deletion of the data catalog.\n\n- The `LAMBDA` , `GLUE` , and `HIVE` data catalog types are created synchronously. Their status is either `CREATE_COMPLETE` or `CREATE_FAILED` .\n- The `FEDERATED` data catalog type is created asynchronously.\n\nData catalog creation status:\n\n- `CREATE_IN_PROGRESS` : Federated data catalog creation in progress.\n- `CREATE_COMPLETE` : Data catalog creation complete.\n- `CREATE_FAILED` : Data catalog could not be created.\n- `CREATE_FAILED_CLEANUP_IN_PROGRESS` : Federated data catalog creation failed and is being removed.\n- `CREATE_FAILED_CLEANUP_COMPLETE` : Federated data catalog creation failed and was removed.\n- `CREATE_FAILED_CLEANUP_FAILED` : Federated data catalog creation failed but could not be removed.\n\nData catalog deletion status:\n\n- `DELETE_IN_PROGRESS` : Federated data catalog deletion in progress.\n- `DELETE_COMPLETE` : Federated data catalog deleted.\n- `DELETE_FAILED` : Federated data catalog could not be deleted.", - "title": "Status", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags (key-value pairs) to associate with this resource.", + "markdownDescription": "An array of key-value pairs to apply to the capacity reservation.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", "title": "Tags", "type": "array" }, - "Type": { - "markdownDescription": "The type of data catalog: `LAMBDA` for a federated catalog, `GLUE` for AWS Glue Catalog, or `HIVE` for an external hive metastore.", - "title": "Type", - "type": "string" + "TargetDpus": { + "markdownDescription": "The number of data processing units requested.", + "title": "TargetDpus", + "type": "number" } }, "required": [ "Name", - "Type" + "TargetDpus" ], "type": "object" }, "Type": { "enum": [ - "AWS::Athena::DataCatalog" + "AWS::Athena::CapacityReservation" ], "type": "string" }, @@ -28824,7 +28892,153 @@ ], "type": "object" }, - "AWS::Athena::NamedQuery": { + "AWS::Athena::CapacityReservation.CapacityAssignment": { + "additionalProperties": false, + "properties": { + "WorkgroupNames": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of workgroup names for the capacity assignment.", + "title": "WorkgroupNames", + "type": "array" + } + }, + "required": [ + "WorkgroupNames" + ], + "type": "object" + }, + "AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration": { + "additionalProperties": false, + "properties": { + "CapacityAssignments": { + "items": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignment" + }, + "markdownDescription": "The list of assignments that make up the capacity assignment configuration.", + "title": "CapacityAssignments", + "type": "array" + } + }, + "required": [ + "CapacityAssignments" + ], + "type": "object" + }, + "AWS::Athena::DataCatalog": { + "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": { + "ConnectionType": { + "markdownDescription": "The type of connection for a `FEDERATED` data catalog (for example, `REDSHIFT` , `MYSQL` , or `SQLSERVER` ). For information about individual connectors, see [Available data source connectors](https://docs.aws.amazon.com/athena/latest/ug/connectors-available.html) .", + "title": "ConnectionType", + "type": "string" + }, + "Description": { + "markdownDescription": "A description of the data catalog.", + "title": "Description", + "type": "string" + }, + "Error": { + "markdownDescription": "Text of the error that occurred during data catalog creation or deletion.", + "title": "Error", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the data catalog. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.", + "title": "Name", + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "markdownDescription": "Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.\n\n- For the `HIVE` data catalog type, use the following syntax. The `metadata-function` parameter is required. `The sdk-version` parameter is optional and defaults to the currently supported version.\n\n`metadata-function= *lambda_arn* , sdk-version= *version_number*`\n- For the `LAMBDA` data catalog type, use one of the following sets of required parameters, but not both.\n\n- If you have one Lambda function that processes metadata and another for reading the actual data, use the following syntax. Both parameters are required.\n\n`metadata-function= *lambda_arn* , record-function= *lambda_arn*`\n- If you have a composite Lambda function that processes both metadata and data, use the following syntax to specify your Lambda function.\n\n`function= *lambda_arn*`\n- The `GLUE` type takes a catalog ID parameter and is required. The `*catalog_id*` is the account ID of the AWS account to which the AWS Glue Data Catalog belongs.\n\n`catalog-id= *catalog_id*`\n\n- The `GLUE` data catalog type also applies to the default `AwsDataCatalog` that already exists in your account, of which you can have only one and cannot modify.\n- The `FEDERATED` data catalog type uses one of the following parameters, but not both. Use `connection-arn` for an existing AWS Glue connection. Use `connection-type` and `connection-properties` to specify the configuration setting for a new connection.\n\n- `connection-arn: **`\n- `lambda-role-arn` (optional): The execution role to use for the Lambda function. If not provided, one is created.\n- `connection-type:MYSQL|REDSHIFT|...., connection-properties:\" ** \"`\n\nFor *``* , use escaped JSON text, as in the following example.\n\n`\"{\\\"spill_bucket\\\":\\\"my_spill\\\",\\\"spill_prefix\\\":\\\"athena-spill\\\",\\\"host\\\":\\\"abc12345.snowflakecomputing.com\\\",\\\"port\\\":\\\"1234\\\",\\\"warehouse\\\":\\\"DEV_WH\\\",\\\"database\\\":\\\"TEST\\\",\\\"schema\\\":\\\"PUBLIC\\\",\\\"SecretArn\\\":\\\"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j\\\"}\"`", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Parameters", + "type": "object" + }, + "Status": { + "markdownDescription": "The status of the creation or deletion of the data catalog.\n\n- The `LAMBDA` , `GLUE` , and `HIVE` data catalog types are created synchronously. Their status is either `CREATE_COMPLETE` or `CREATE_FAILED` .\n- The `FEDERATED` data catalog type is created asynchronously.\n\nData catalog creation status:\n\n- `CREATE_IN_PROGRESS` : Federated data catalog creation in progress.\n- `CREATE_COMPLETE` : Data catalog creation complete.\n- `CREATE_FAILED` : Data catalog could not be created.\n- `CREATE_FAILED_CLEANUP_IN_PROGRESS` : Federated data catalog creation failed and is being removed.\n- `CREATE_FAILED_CLEANUP_COMPLETE` : Federated data catalog creation failed and was removed.\n- `CREATE_FAILED_CLEANUP_FAILED` : Federated data catalog creation failed but could not be removed.\n\nData catalog deletion status:\n\n- `DELETE_IN_PROGRESS` : Federated data catalog deletion in progress.\n- `DELETE_COMPLETE` : Federated data catalog deleted.\n- `DELETE_FAILED` : Federated data catalog could not be deleted.", + "title": "Status", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags (key-value pairs) to associate with this resource.", + "title": "Tags", + "type": "array" + }, + "Type": { + "markdownDescription": "The type of data catalog: `LAMBDA` for a federated catalog, `GLUE` for AWS Glue Catalog, or `HIVE` for an external hive metastore.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::DataCatalog" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::NamedQuery": { "additionalProperties": false, "properties": { "Condition": { @@ -34009,6 +34223,178 @@ ], "type": "object" }, + "AWS::BCM::ScheduledReport": { + "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": { + "DashboardArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ScheduleConfig": { + "$ref": "#/definitions/AWS::BCM::ScheduledReport.ScheduleConfig" + }, + "ScheduledReportExecutionRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WidgetDateRangeOverride": { + "$ref": "#/definitions/AWS::BCM::ScheduledReport.DateTimeRange" + }, + "WidgetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DashboardArn", + "Name", + "ScheduleConfig", + "ScheduledReportExecutionRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::BCM::ScheduledReport" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::BCM::ScheduledReport.DateTimeRange": { + "additionalProperties": false, + "properties": { + "EndTime": { + "$ref": "#/definitions/AWS::BCM::ScheduledReport.DateTimeValue" + }, + "StartTime": { + "$ref": "#/definitions/AWS::BCM::ScheduledReport.DateTimeValue" + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::BCM::ScheduledReport.DateTimeValue": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::BCM::ScheduledReport.HealthStatus": { + "additionalProperties": false, + "properties": { + "LastRefreshedAt": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::BCM::ScheduledReport.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + }, + "ScheduleExpressionTimeZone": { + "type": "string" + }, + "SchedulePeriod": { + "$ref": "#/definitions/AWS::BCM::ScheduledReport.SchedulePeriod" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::BCM::ScheduledReport.SchedulePeriod": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "StartTime": { + "type": "string" + } + }, + "type": "object" + }, "AWS::BCMDataExports::Export": { "additionalProperties": false, "properties": { @@ -35994,6 +36380,114 @@ ], "type": "object" }, + "AWS::BackupGateway::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": { + "GatewayDisplayName": { + "type": "string" + }, + "GatewayType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::BackupGateway::Gateway.TagsItems" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::BackupGateway::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "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": { @@ -39324,6 +39818,83 @@ }, "type": "object" }, + "AWS::BcmPricingCalculator::WorkloadEstimate": { + "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": { + "ExpiresAt": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RateType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::BcmPricingCalculator::WorkloadEstimate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Bedrock::Agent": { "additionalProperties": false, "properties": { @@ -41995,6 +42566,18 @@ ], "type": "object" }, + "AWS::Bedrock::DataSource.DayOfMonth": { + "additionalProperties": false, + "properties": { + "DayNumber": { + "type": "number" + }, + "LastDayOfMonth": { + "type": "object" + } + }, + "type": "object" + }, "AWS::Bedrock::DataSource.DeletionProtectionConfiguration": { "additionalProperties": false, "properties": { @@ -42118,6 +42701,9 @@ }, "MediaExtractionConfiguration": { "$ref": "#/definitions/AWS::Bedrock::DataSource.MediaExtractionConfiguration" + }, + "SyncSchedule": { + "$ref": "#/definitions/AWS::Bedrock::DataSource.SyncSchedule" } }, "type": "object" @@ -42137,6 +42723,18 @@ }, "type": "object" }, + "AWS::Bedrock::DataSource.MonthlySchedule": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "$ref": "#/definitions/AWS::Bedrock::DataSource.DayOfMonth" + } + }, + "required": [ + "DayOfMonth" + ], + "type": "object" + }, "AWS::Bedrock::DataSource.ParsingConfiguration": { "additionalProperties": false, "properties": { @@ -42446,6 +43044,21 @@ ], "type": "object" }, + "AWS::Bedrock::DataSource.SyncSchedule": { + "additionalProperties": false, + "properties": { + "Daily": { + "type": "object" + }, + "Monthly": { + "$ref": "#/definitions/AWS::Bedrock::DataSource.MonthlySchedule" + }, + "Weekly": { + "$ref": "#/definitions/AWS::Bedrock::DataSource.WeeklySchedule" + } + }, + "type": "object" + }, "AWS::Bedrock::DataSource.Transformation": { "additionalProperties": false, "properties": { @@ -42640,88 +43253,100 @@ ], "type": "object" }, - "AWS::Bedrock::DefaultPromptRouter": { + "AWS::Bedrock::DataSource.WeeklySchedule": { "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::DefaultPromptRouter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Bedrock::DefaultPromptRouter.PromptRouterTargetModel": { - "additionalProperties": false, - "properties": { - "ModelArn": { + "DayOfWeek": { "type": "string" } }, "required": [ - "ModelArn" - ], - "type": "object" - }, - "AWS::Bedrock::DefaultPromptRouter.RoutingCriteria": { - "additionalProperties": false, - "properties": { - "ResponseQualityDifference": { - "type": "number" - } - }, - "required": [ - "ResponseQualityDifference" + "DayOfWeek" ], "type": "object" }, - "AWS::Bedrock::EnforcedGuardrailConfiguration": { + "AWS::Bedrock::DefaultPromptRouter": { + "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::DefaultPromptRouter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Bedrock::DefaultPromptRouter.PromptRouterTargetModel": { + "additionalProperties": false, + "properties": { + "ModelArn": { + "type": "string" + } + }, + "required": [ + "ModelArn" + ], + "type": "object" + }, + "AWS::Bedrock::DefaultPromptRouter.RoutingCriteria": { + "additionalProperties": false, + "properties": { + "ResponseQualityDifference": { + "type": "number" + } + }, + "required": [ + "ResponseQualityDifference" + ], + "type": "object" + }, + "AWS::Bedrock::EnforcedGuardrailConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -42830,6 +43455,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 +47211,9 @@ "title": "EmbeddingDataType", "type": "string" }, + "ModelConfiguration": { + "type": "object" + }, "Video": { "items": { "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.VideoConfiguration" @@ -46319,6 +47316,9 @@ }, "ServerSideEncryptionConfiguration": { "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.ManagedKnowledgeBaseServerSideEncryptionConfiguration" + }, + "SupplementalDataStorageConfiguration": { + "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.SupplementalDataStorageConfiguration" } }, "type": "object" @@ -50900,6 +51900,15 @@ }, "type": "array" }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "VpcIdentifier": { "type": "string" } @@ -51345,6 +52354,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 +52826,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" } @@ -53613,6 +54670,12 @@ "title": "Name", "type": "string" }, + "NamespaceKeys": { + "items": { + "$ref": "#/definitions/AWS::BedrockAgentCore::Memory.NamespaceKeyEntry" + }, + "type": "array" + }, "StreamDeliveryResources": { "$ref": "#/definitions/AWS::BedrockAgentCore::Memory.StreamDeliveryResources" }, @@ -54107,6 +55170,36 @@ ], "type": "object" }, + "AWS::BedrockAgentCore::Memory.NamespaceKeyEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::BedrockAgentCore::Memory.NamespaceKeyValidation" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::BedrockAgentCore::Memory.NamespaceKeyValidation": { + "additionalProperties": false, + "properties": { + "AllowedValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RegexPattern": { + "type": "string" + } + }, + "type": "object" + }, "AWS::BedrockAgentCore::Memory.NumberValidation": { "additionalProperties": false, "properties": { @@ -56450,6 +57543,9 @@ "markdownDescription": "The network configuration.", "title": "NetworkConfiguration" }, + "PlatformVersion": { + "type": "string" + }, "ProtocolConfiguration": { "markdownDescription": "The protocol configuration for an agent runtime. This structure defines how the agent runtime communicates with clients.", "title": "ProtocolConfiguration", @@ -58085,6 +59181,25 @@ ], "type": "object" }, + "AWS::BillingConductor::PricingRule.CustomTier": { + "additionalProperties": false, + "properties": { + "BeginRangeInclusive": { + "type": "number" + }, + "EndRangeExclusive": { + "type": "number" + }, + "RateValue": { + "type": "number" + } + }, + "required": [ + "BeginRangeInclusive", + "RateValue" + ], + "type": "object" + }, "AWS::BillingConductor::PricingRule.FreeTier": { "additionalProperties": false, "properties": { @@ -58102,6 +59217,12 @@ "AWS::BillingConductor::PricingRule.Tiering": { "additionalProperties": false, "properties": { + "CustomTiers": { + "items": { + "$ref": "#/definitions/AWS::BillingConductor::PricingRule.CustomTier" + }, + "type": "array" + }, "FreeTier": { "$ref": "#/definitions/AWS::BillingConductor::PricingRule.FreeTier", "markdownDescription": "The possible AWS Free Tier configurations.", @@ -58363,6 +59484,137 @@ ], "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": { @@ -60463,7 +61715,7 @@ ], "type": "object" }, - "AWS::Cases::Template": { + "AWS::Cases::RelatedItem": { "additionalProperties": false, "properties": { "Condition": { @@ -60498,64 +61750,36 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A brief description of the template.", - "title": "Description", - "type": "string" - }, - "DomainId": { - "markdownDescription": "The unique identifier of the Cases domain.", - "title": "DomainId", + "CaseId": { "type": "string" }, - "LayoutConfiguration": { - "$ref": "#/definitions/AWS::Cases::Template.LayoutConfiguration", - "markdownDescription": "Object to store configuration of layouts associated to the template.", - "title": "LayoutConfiguration" - }, - "Name": { - "markdownDescription": "The template name.", - "title": "Name", - "type": "string" - }, - "RequiredFields": { - "items": { - "$ref": "#/definitions/AWS::Cases::Template.RequiredField" - }, - "markdownDescription": "A list of fields that must contain a value for a case to be successfully created with this template.", - "title": "RequiredFields", - "type": "array" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::Cases::Template.TemplateRule" - }, - "markdownDescription": "A list of case rules (also known as [case field conditions](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html) ) on a template.", - "title": "Rules", - "type": "array" + "Content": { + "$ref": "#/definitions/AWS::Cases::RelatedItem.RelatedItemContent" }, - "Status": { - "markdownDescription": "The status of the template.", - "title": "Status", + "DomainId": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "Name" + "CaseId", + "Content", + "DomainId", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cases::Template" + "AWS::Cases::RelatedItem" ], "type": "string" }, @@ -60574,51 +61798,187 @@ ], "type": "object" }, - "AWS::Cases::Template.LayoutConfiguration": { + "AWS::Cases::RelatedItem.CommentContent": { "additionalProperties": false, "properties": { - "DefaultLayout": { - "markdownDescription": "Unique identifier of a layout.", - "title": "DefaultLayout", + "Body": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Cases::Template.RequiredField": { - "additionalProperties": false, - "properties": { - "FieldId": { - "markdownDescription": "Unique identifier of a field.", - "title": "FieldId", + }, + "ContentType": { "type": "string" } }, "required": [ - "FieldId" + "Body", + "ContentType" ], "type": "object" }, - "AWS::Cases::Template.TemplateRule": { + "AWS::Cases::RelatedItem.RelatedItemContent": { "additionalProperties": false, "properties": { - "CaseRuleId": { - "markdownDescription": "Unique identifier of a case rule.", - "title": "CaseRuleId", - "type": "string" - }, - "FieldId": { - "markdownDescription": "Unique identifier of a field.", - "title": "FieldId", - "type": "string" + "Comment": { + "$ref": "#/definitions/AWS::Cases::RelatedItem.CommentContent" } }, - "required": [ - "CaseRuleId" - ], "type": "object" }, - "AWS::Cassandra::Keyspace": { + "AWS::Cases::Template": { + "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": { + "markdownDescription": "A brief description of the template.", + "title": "Description", + "type": "string" + }, + "DomainId": { + "markdownDescription": "The unique identifier of the Cases domain.", + "title": "DomainId", + "type": "string" + }, + "LayoutConfiguration": { + "$ref": "#/definitions/AWS::Cases::Template.LayoutConfiguration", + "markdownDescription": "Object to store configuration of layouts associated to the template.", + "title": "LayoutConfiguration" + }, + "Name": { + "markdownDescription": "The template name.", + "title": "Name", + "type": "string" + }, + "RequiredFields": { + "items": { + "$ref": "#/definitions/AWS::Cases::Template.RequiredField" + }, + "markdownDescription": "A list of fields that must contain a value for a case to be successfully created with this template.", + "title": "RequiredFields", + "type": "array" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Cases::Template.TemplateRule" + }, + "markdownDescription": "A list of case rules (also known as [case field conditions](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html) ) on a template.", + "title": "Rules", + "type": "array" + }, + "Status": { + "markdownDescription": "The status of the template.", + "title": "Status", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cases::Template" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cases::Template.LayoutConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultLayout": { + "markdownDescription": "Unique identifier of a layout.", + "title": "DefaultLayout", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cases::Template.RequiredField": { + "additionalProperties": false, + "properties": { + "FieldId": { + "markdownDescription": "Unique identifier of a field.", + "title": "FieldId", + "type": "string" + } + }, + "required": [ + "FieldId" + ], + "type": "object" + }, + "AWS::Cases::Template.TemplateRule": { + "additionalProperties": false, + "properties": { + "CaseRuleId": { + "markdownDescription": "Unique identifier of a case rule.", + "title": "CaseRuleId", + "type": "string" + }, + "FieldId": { + "markdownDescription": "Unique identifier of a field.", + "title": "FieldId", + "type": "string" + } + }, + "required": [ + "CaseRuleId" + ], + "type": "object" + }, + "AWS::Cassandra::Keyspace": { "additionalProperties": false, "properties": { "Condition": { @@ -62610,6 +63970,163 @@ ], "type": "object" }, + "AWS::Chime::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": { + "AppInstanceArn": { + "type": "string" + }, + "ChannelId": { + "type": "string" + }, + "ChimeBearer": { + "type": "string" + }, + "ElasticChannelConfiguration": { + "$ref": "#/definitions/AWS::Chime::Channel.ElasticChannelConfiguration" + }, + "ExpirationSettings": { + "$ref": "#/definitions/AWS::Chime::Channel.ExpirationSettings" + }, + "MemberArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Metadata": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "ModeratorArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Privacy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AppInstanceArn", + "ChimeBearer", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::Channel.ElasticChannelConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumSubChannels": { + "type": "number" + }, + "MinimumMembershipPercentage": { + "type": "number" + }, + "TargetMembershipsPerSubChannel": { + "type": "number" + } + }, + "required": [ + "MaximumSubChannels", + "MinimumMembershipPercentage", + "TargetMembershipsPerSubChannel" + ], + "type": "object" + }, + "AWS::Chime::Channel.ExpirationSettings": { + "additionalProperties": false, + "properties": { + "ExpirationCriterion": { + "type": "string" + }, + "ExpirationDays": { + "type": "number" + } + }, + "required": [ + "ExpirationCriterion", + "ExpirationDays" + ], + "type": "object" + }, + "AWS::Chime::Channel.Identity": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Chime::ChannelFlow": { "additionalProperties": false, "properties": { @@ -62744,7 +64261,7 @@ ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate": { + "AWS::Chime::MediaCapturePipeline": { "additionalProperties": false, "properties": { "Condition": { @@ -62779,79 +64296,41 @@ "Properties": { "additionalProperties": false, "properties": { - "AnalysisParameters": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisParameter" - }, - "markdownDescription": "The parameters of the analysis template.", - "title": "AnalysisParameters", - "type": "array" + "ChimeSdkMeetingConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ChimeSdkMeetingConfiguration" }, - "Description": { - "markdownDescription": "The description of the analysis template.", - "title": "Description", + "SinkArn": { "type": "string" }, - "ErrorMessageConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.ErrorMessageConfiguration", - "markdownDescription": "The configuration that specifies the level of detail in error messages returned by analyses using this template. When set to `DETAILED` , error messages include more information to help troubleshoot issues with PySpark jobs. Detailed error messages may expose underlying data, including sensitive information. Recommended for faster troubleshooting in development and testing environments.", - "title": "ErrorMessageConfiguration" - }, - "Format": { - "markdownDescription": "The format of the analysis template.", - "title": "Format", + "SinkIamRoleArn": { "type": "string" }, - "MembershipIdentifier": { - "markdownDescription": "The identifier for a membership resource.", - "title": "MembershipIdentifier", + "SinkType": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the analysis template.", - "title": "Name", + "SourceType": { "type": "string" }, - "Schema": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisSchema", - "markdownDescription": "The entire schema object.", - "title": "Schema" - }, - "Source": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisSource", - "markdownDescription": "The source of the analysis template.", - "title": "Source" - }, - "SourceMetadata": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisSourceMetadata", - "markdownDescription": "The source metadata for the analysis template.", - "title": "SourceMetadata" - }, - "SyntheticDataParameters": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.SyntheticDataParameters", - "markdownDescription": "The parameters used to generate synthetic data for this analysis template.", - "title": "SyntheticDataParameters" + "SseAwsKeyManagementParams": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.SseAwsKeyManagementParams" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "Format", - "MembershipIdentifier", - "Name", - "Source" + "SinkArn", + "SinkType", + "SourceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRooms::AnalysisTemplate" + "AWS::Chime::MediaCapturePipeline" ], "type": "string" }, @@ -62870,271 +64349,246 @@ ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.AnalysisParameter": { + "AWS::Chime::MediaCapturePipeline.ActiveSpeakerOnlyConfiguration": { "additionalProperties": false, "properties": { - "DefaultValue": { - "markdownDescription": "Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor.", - "title": "DefaultValue", + "ActiveSpeakerPosition": { "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.ArtifactsConfiguration": { + "additionalProperties": false, + "properties": { + "Audio": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.AudioArtifactsConfiguration" }, - "Name": { - "markdownDescription": "The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen.", - "title": "Name", - "type": "string" + "CompositedVideo": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.CompositedVideoArtifactsConfiguration" }, - "Type": { - "markdownDescription": "The type of parameter.", - "title": "Type", - "type": "string" + "Content": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ContentArtifactsConfiguration" + }, + "Video": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.VideoArtifactsConfiguration" } }, "required": [ - "Name", - "Type" + "Audio", + "Content", + "Video" ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.AnalysisSchema": { + "AWS::Chime::MediaCapturePipeline.AudioArtifactsConfiguration": { "additionalProperties": false, "properties": { - "ReferencedTables": { - "items": { - "type": "string" - }, - "markdownDescription": "The tables referenced in the analysis schema.", - "title": "ReferencedTables", - "type": "array" + "MuxType": { + "type": "string" } }, "required": [ - "ReferencedTables" + "MuxType" ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.AnalysisSource": { + "AWS::Chime::MediaCapturePipeline.ChimeSdkMeetingConfiguration": { "additionalProperties": false, "properties": { - "Artifacts": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifacts", - "markdownDescription": "The artifacts of the analysis source.", - "title": "Artifacts" + "ArtifactsConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ArtifactsConfiguration" }, - "Text": { - "markdownDescription": "The query text.", - "title": "Text", - "type": "string" + "SourceConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.SourceConfiguration" } }, "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.AnalysisSourceMetadata": { + "AWS::Chime::MediaCapturePipeline.CompositedVideoArtifactsConfiguration": { "additionalProperties": false, "properties": { - "Artifacts": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifactMetadata", - "markdownDescription": "The artifacts of the analysis source metadata.", - "title": "Artifacts" + "GridViewConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.GridViewConfiguration" + }, + "Layout": { + "type": "string" + }, + "Resolution": { + "type": "string" } }, "required": [ - "Artifacts" + "GridViewConfiguration" ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifact": { + "AWS::Chime::MediaCapturePipeline.ContentArtifactsConfiguration": { "additionalProperties": false, "properties": { - "Location": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.S3Location", - "markdownDescription": "The artifact location.", - "title": "Location" + "MuxType": { + "type": "string" + }, + "State": { + "type": "string" } }, "required": [ - "Location" + "State" ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifactMetadata": { + "AWS::Chime::MediaCapturePipeline.GridViewConfiguration": { "additionalProperties": false, "properties": { - "AdditionalArtifactHashes": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.Hash" - }, - "markdownDescription": "Additional artifact hashes for the analysis template.", - "title": "AdditionalArtifactHashes", - "type": "array" + "ActiveSpeakerOnlyConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ActiveSpeakerOnlyConfiguration" }, - "EntryPointHash": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.Hash", - "markdownDescription": "The hash of the entry point for the analysis template artifact metadata.", - "title": "EntryPointHash" + "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": [ - "EntryPointHash" + "ContentShareLayout" ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifacts": { + "AWS::Chime::MediaCapturePipeline.HorizontalLayoutConfiguration": { "additionalProperties": false, "properties": { - "AdditionalArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifact" - }, - "markdownDescription": "Additional artifacts for the analysis template.", - "title": "AdditionalArtifacts", - "type": "array" + "TileAspectRatio": { + "type": "string" }, - "EntryPoint": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifact", - "markdownDescription": "The entry point for the analysis template artifacts.", - "title": "EntryPoint" + "TileCount": { + "type": "number" }, - "RoleArn": { - "markdownDescription": "The role ARN for the analysis template artifacts.", - "title": "RoleArn", + "TileOrder": { + "type": "string" + }, + "TilePosition": { "type": "string" } }, - "required": [ - "EntryPoint", - "RoleArn" - ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.ColumnClassificationDetails": { + "AWS::Chime::MediaCapturePipeline.PresenterOnlyConfiguration": { "additionalProperties": false, "properties": { - "ColumnMapping": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.SyntheticDataColumnProperties" - }, - "markdownDescription": "A mapping that defines the classification of data columns for synthetic data generation and specifies how each column should be handled during the privacy-preserving data synthesis process.", - "title": "ColumnMapping", - "type": "array" + "PresenterPosition": { + "type": "string" } }, - "required": [ - "ColumnMapping" - ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.ErrorMessageConfiguration": { + "AWS::Chime::MediaCapturePipeline.SelectedVideoStreams": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "The level of detail for error messages returned by the PySpark job. When set to DETAILED, error messages include more information to help troubleshoot issues with your PySpark job.\n\nBecause this setting may expose sensitive data, it is recommended for development and testing environments.", - "title": "Type", - "type": "string" + "AttendeeIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExternalUserIds": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.Hash": { + "AWS::Chime::MediaCapturePipeline.SourceConfiguration": { "additionalProperties": false, "properties": { - "Sha256": { - "markdownDescription": "The SHA-256 hash value.", - "title": "Sha256", - "type": "string" + "SelectedVideoStreams": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.SelectedVideoStreams" } }, "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.MLSyntheticDataParameters": { + "AWS::Chime::MediaCapturePipeline.SseAwsKeyManagementParams": { "additionalProperties": false, "properties": { - "ColumnClassification": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.ColumnClassificationDetails", - "markdownDescription": "Classification details for data columns that specify how each column should be treated during synthetic data generation.", - "title": "ColumnClassification" - }, - "Epsilon": { - "markdownDescription": "The epsilon value for differential privacy when generating synthetic data. Lower values provide stronger privacy guarantees but may reduce data utility.", - "title": "Epsilon", - "type": "number" + "AwsKmsEncryptionContext": { + "type": "string" }, - "MaxMembershipInferenceAttackScore": { - "markdownDescription": "The maximum acceptable score for membership inference attack vulnerability. Synthetic data generation fails if the score for the resulting data exceeds this threshold.", - "title": "MaxMembershipInferenceAttackScore", - "type": "number" + "AwsKmsKeyId": { + "type": "string" } }, "required": [ - "ColumnClassification", - "Epsilon", - "MaxMembershipInferenceAttackScore" + "AwsKmsKeyId" ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.S3Location": { + "AWS::Chime::MediaCapturePipeline.VerticalLayoutConfiguration": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The bucket name.", - "title": "Bucket", + "TileAspectRatio": { "type": "string" }, - "Key": { - "markdownDescription": "The object key.", - "title": "Key", + "TileCount": { + "type": "number" + }, + "TileOrder": { + "type": "string" + }, + "TilePosition": { "type": "string" } }, - "required": [ - "Bucket", - "Key" - ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.SyntheticDataColumnProperties": { + "AWS::Chime::MediaCapturePipeline.VideoArtifactsConfiguration": { "additionalProperties": false, "properties": { - "ColumnName": { - "markdownDescription": "The name of the data column as it appears in the dataset.", - "title": "ColumnName", + "MuxType": { "type": "string" }, - "ColumnType": { - "markdownDescription": "The data type of the column, which determines how the synthetic data generation algorithm processes and synthesizes values for this column.", - "title": "ColumnType", + "State": { "type": "string" - }, - "IsPredictiveValue": { - "markdownDescription": "Indicates if this column contains predictive values that should be treated as target variables in machine learning models. This affects how the synthetic data generation preserves statistical relationships.", - "title": "IsPredictiveValue", - "type": "boolean" } }, "required": [ - "ColumnName", - "ColumnType", - "IsPredictiveValue" + "State" ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.SyntheticDataParameters": { + "AWS::Chime::MediaCapturePipeline.VideoAttribute": { "additionalProperties": false, "properties": { - "MlSyntheticDataParameters": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.MLSyntheticDataParameters", - "markdownDescription": "The machine learning-specific parameters for synthetic data generation.", - "title": "MlSyntheticDataParameters" + "BorderColor": { + "type": "string" + }, + "BorderThickness": { + "type": "number" + }, + "CornerRadius": { + "type": "number" + }, + "HighlightColor": { + "type": "string" } }, - "required": [ - "MlSyntheticDataParameters" - ], "type": "object" }, - "AWS::CleanRooms::Collaboration": { + "AWS::Chime::MediaConcatenationPipeline": { "additionalProperties": false, "properties": { "Condition": { @@ -63169,106 +64623,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowedResultRegions": { - "items": { - "type": "string" - }, - "markdownDescription": "The AWS Regions where collaboration query results can be stored. Returns the list of Region identifiers that were specified when the collaboration was created. This list is used to enforce regional storage policies and compliance requirements.", - "title": "AllowedResultRegions", - "type": "array" - }, - "AnalyticsEngine": { - "markdownDescription": "The analytics engine for the collaboration.\n\n> After July 16, 2025, the `CLEAN_ROOMS_SQL` parameter will no longer be available.", - "title": "AnalyticsEngine", - "type": "string" - }, - "AutoApprovedChangeTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The types of change requests that are automatically approved for this collaboration.", - "title": "AutoApprovedChangeTypes", - "type": "array" - }, - "CreatorDisplayName": { - "markdownDescription": "A display name of the collaboration creator.", - "title": "CreatorDisplayName", - "type": "string" - }, - "CreatorMLMemberAbilities": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MLMemberAbilities", - "markdownDescription": "The ML member abilities for a collaboration member.", - "title": "CreatorMLMemberAbilities" - }, - "CreatorMemberAbilities": { + "Sinks": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ConcatenationSink" }, - "markdownDescription": "The abilities granted to the collaboration creator.\n\n*Allowed values* `CAN_QUERY` | `CAN_RECEIVE_RESULTS` | `CAN_RUN_JOB`", - "title": "CreatorMemberAbilities", "type": "array" }, - "CreatorPaymentConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.PaymentConfiguration", - "markdownDescription": "An object representing the collaboration member's payment responsibilities set by the collaboration creator.", - "title": "CreatorPaymentConfiguration" - }, - "DataEncryptionMetadata": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.DataEncryptionMetadata", - "markdownDescription": "The settings for client-side encryption for cryptographic computing.", - "title": "DataEncryptionMetadata" - }, - "Description": { - "markdownDescription": "A description of the collaboration provided by the collaboration owner.", - "title": "Description", - "type": "string" - }, - "IsMetricsEnabled": { - "type": "boolean" - }, - "JobLogStatus": { - "markdownDescription": "An indicator as to whether job logging has been enabled or disabled for the collaboration.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", - "title": "JobLogStatus", - "type": "string" - }, - "Members": { + "Sources": { "items": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MemberSpecification" + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ConcatenationSource" }, - "markdownDescription": "A list of initial members, not including the creator. This list is immutable.", - "title": "Members", "type": "array" }, - "Name": { - "markdownDescription": "A human-readable identifier provided by the collaboration owner. Display names are not unique.", - "title": "Name", - "type": "string" - }, - "QueryLogStatus": { - "markdownDescription": "An indicator as to whether query logging has been enabled or disabled for the collaboration.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", - "title": "QueryLogStatus", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "CreatorDisplayName", - "Description", - "Name", - "QueryLogStatus" + "Sinks", + "Sources" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRooms::Collaboration" + "AWS::Chime::MediaConcatenationPipeline" ], "type": "string" }, @@ -63287,209 +64669,199 @@ ], "type": "object" }, - "AWS::CleanRooms::Collaboration.DataEncryptionMetadata": { + "AWS::Chime::MediaConcatenationPipeline.ArtifactsConcatenationConfiguration": { "additionalProperties": false, "properties": { - "AllowCleartext": { - "markdownDescription": "Indicates whether encrypted tables can contain cleartext data ( `TRUE` ) or are to cryptographically process every column ( `FALSE` ).", - "title": "AllowCleartext", - "type": "boolean" + "Audio": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.AudioConcatenationConfiguration" }, - "AllowDuplicates": { - "markdownDescription": "Indicates whether Fingerprint columns can contain duplicate entries ( `TRUE` ) or are to contain only non-repeated values ( `FALSE` ).", - "title": "AllowDuplicates", - "type": "boolean" + "CompositedVideo": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.CompositedVideoConcatenationConfiguration" }, - "AllowJoinsOnColumnsWithDifferentNames": { - "markdownDescription": "Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name ( `TRUE` ) or can only be joined on Fingerprint columns of the same name ( `FALSE` ).", - "title": "AllowJoinsOnColumnsWithDifferentNames", - "type": "boolean" + "Content": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ContentConcatenationConfiguration" }, - "PreserveNulls": { - "markdownDescription": "Indicates whether NULL values are to be copied as NULL to encrypted tables ( `TRUE` ) or cryptographically processed ( `FALSE` ).", - "title": "PreserveNulls", - "type": "boolean" + "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": [ - "AllowCleartext", - "AllowDuplicates", - "AllowJoinsOnColumnsWithDifferentNames", - "PreserveNulls" + "Audio", + "CompositedVideo", + "Content", + "DataChannel", + "MeetingEvents", + "TranscriptionMessages", + "Video" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.JobComputePaymentConfig": { + "AWS::Chime::MediaConcatenationPipeline.AudioConcatenationConfiguration": { "additionalProperties": false, "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for query and job compute costs ( `TRUE` ) or has not configured the collaboration member to pay for query and job compute costs ( `FALSE` ).\n\nExactly one member can be configured to pay for query and job compute costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nAn error is returned if the collaboration creator sets a `FALSE` value for the member who can run queries and jobs.", - "title": "IsResponsible", - "type": "boolean" + "State": { + "type": "string" } }, "required": [ - "IsResponsible" + "State" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.MLMemberAbilities": { + "AWS::Chime::MediaConcatenationPipeline.ChimeSdkMeetingConcatenationConfiguration": { "additionalProperties": false, "properties": { - "CustomMLMemberAbilities": { - "items": { - "type": "string" - }, - "markdownDescription": "The custom ML member abilities for a collaboration member.", - "title": "CustomMLMemberAbilities", - "type": "array" + "ArtifactsConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ArtifactsConcatenationConfiguration" } }, "required": [ - "CustomMLMemberAbilities" + "ArtifactsConfiguration" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.MLPaymentConfig": { + "AWS::Chime::MediaConcatenationPipeline.CompositedVideoConcatenationConfiguration": { "additionalProperties": false, "properties": { - "ModelInference": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.ModelInferencePaymentConfig", - "markdownDescription": "The payment responsibilities accepted by the member for model inference.", - "title": "ModelInference" - }, - "ModelTraining": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.ModelTrainingPaymentConfig", - "markdownDescription": "The payment responsibilities accepted by the member for model training.", - "title": "ModelTraining" - }, - "SyntheticDataGeneration": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.SyntheticDataGenerationPaymentConfig", - "markdownDescription": "The payment configuration for machine learning synthetic data generation.", - "title": "SyntheticDataGeneration" + "State": { + "type": "string" } }, + "required": [ + "State" + ], "type": "object" }, - "AWS::CleanRooms::Collaboration.MemberSpecification": { + "AWS::Chime::MediaConcatenationPipeline.ConcatenationSink": { "additionalProperties": false, "properties": { - "AccountId": { - "markdownDescription": "The identifier used to reference members of the collaboration. Currently only supports AWS account ID.", - "title": "AccountId", - "type": "string" + "S3BucketSinkConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.S3BucketSinkConfiguration" }, - "DisplayName": { - "markdownDescription": "The member's display name.", - "title": "DisplayName", + "Type": { "type": "string" + } + }, + "required": [ + "S3BucketSinkConfiguration", + "Type" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.ConcatenationSource": { + "additionalProperties": false, + "properties": { + "MediaCapturePipelineSourceConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.MediaCapturePipelineSourceConfiguration" }, - "MLMemberAbilities": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MLMemberAbilities", - "markdownDescription": "The ML abilities granted to the collaboration member.", - "title": "MLMemberAbilities" - }, - "MemberAbilities": { - "items": { - "type": "string" - }, - "markdownDescription": "The abilities granted to the collaboration member.\n\n*Allowed Values* : `CAN_QUERY` | `CAN_RECEIVE_RESULTS`", - "title": "MemberAbilities", - "type": "array" - }, - "PaymentConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.PaymentConfiguration", - "markdownDescription": "The collaboration member's payment responsibilities set by the collaboration creator.\n\nIf the collaboration creator hasn't speci\ufb01ed anyone as the member paying for query compute costs, then the member who can query is the default payer.", - "title": "PaymentConfiguration" + "Type": { + "type": "string" } }, "required": [ - "AccountId", - "DisplayName" + "MediaCapturePipelineSourceConfiguration", + "Type" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.ModelInferencePaymentConfig": { + "AWS::Chime::MediaConcatenationPipeline.ContentConcatenationConfiguration": { "additionalProperties": false, "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for model inference costs ( `TRUE` ) or has not configured the collaboration member to pay for model inference costs ( `FALSE` ).\n\nExactly one member can be configured to pay for model inference costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nIf the collaboration creator hasn't specified anyone as the member paying for model inference costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.", - "title": "IsResponsible", - "type": "boolean" + "State": { + "type": "string" } }, "required": [ - "IsResponsible" + "State" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.ModelTrainingPaymentConfig": { + "AWS::Chime::MediaConcatenationPipeline.DataChannelConcatenationConfiguration": { "additionalProperties": false, "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for model training costs ( `TRUE` ) or has not configured the collaboration member to pay for model training costs ( `FALSE` ).\n\nExactly one member can be configured to pay for model training costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nIf the collaboration creator hasn't specified anyone as the member paying for model training costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.", - "title": "IsResponsible", - "type": "boolean" + "State": { + "type": "string" } }, "required": [ - "IsResponsible" + "State" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.PaymentConfiguration": { + "AWS::Chime::MediaConcatenationPipeline.MediaCapturePipelineSourceConfiguration": { "additionalProperties": false, "properties": { - "JobCompute": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.JobComputePaymentConfig", - "markdownDescription": "The compute configuration for the job.", - "title": "JobCompute" - }, - "MachineLearning": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MLPaymentConfig", - "markdownDescription": "An object representing the collaboration member's machine learning payment responsibilities set by the collaboration creator.", - "title": "MachineLearning" + "ChimeSdkMeetingConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ChimeSdkMeetingConcatenationConfiguration" }, - "QueryCompute": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.QueryComputePaymentConfig", - "markdownDescription": "The collaboration member's payment responsibilities set by the collaboration creator for query compute costs.", - "title": "QueryCompute" + "MediaPipelineArn": { + "type": "string" } }, "required": [ - "QueryCompute" + "ChimeSdkMeetingConfiguration", + "MediaPipelineArn" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.QueryComputePaymentConfig": { + "AWS::Chime::MediaConcatenationPipeline.MeetingEventsConcatenationConfiguration": { "additionalProperties": false, "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for query compute costs ( `TRUE` ) or has not configured the collaboration member to pay for query compute costs ( `FALSE` ).\n\nExactly one member can be configured to pay for query compute costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nIf the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.", - "title": "IsResponsible", - "type": "boolean" + "State": { + "type": "string" } }, "required": [ - "IsResponsible" + "State" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.SyntheticDataGenerationPaymentConfig": { + "AWS::Chime::MediaConcatenationPipeline.S3BucketSinkConfiguration": { "additionalProperties": false, "properties": { - "IsResponsible": { - "markdownDescription": "Indicates who is responsible for paying for synthetic data generation.", - "title": "IsResponsible", - "type": "boolean" + "Destination": { + "type": "string" } }, "required": [ - "IsResponsible" + "Destination" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable": { + "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": { @@ -63524,70 +64896,42 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowedColumns": { - "items": { - "type": "string" - }, - "markdownDescription": "The columns within the underlying AWS Glue table that can be used within collaborations.", - "title": "AllowedColumns", - "type": "array" - }, - "AnalysisMethod": { - "markdownDescription": "The analysis method for the configured table.\n\n`DIRECT_QUERY` allows SQL queries to be run directly on this table.\n\n`DIRECT_JOB` allows PySpark jobs to be run directly on this table.\n\n`MULTIPLE` allows both SQL queries and PySpark jobs to be run directly on this table.", - "title": "AnalysisMethod", - "type": "string" - }, - "AnalysisRules": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRule" - }, - "markdownDescription": "The analysis rule that was created for the configured table.", - "title": "AnalysisRules", - "type": "array" + "KinesisVideoStreamRecordingSourceRuntimeConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamRecordingSourceRuntimeConfiguration" }, - "Description": { - "markdownDescription": "A description for the configured table.", - "title": "Description", - "type": "string" + "KinesisVideoStreamSourceRuntimeConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamSourceRuntimeConfiguration" }, - "Name": { - "markdownDescription": "A name for the configured table.", - "title": "Name", + "MediaInsightsPipelineConfigurationArn": { "type": "string" }, - "SelectedAnalysisMethods": { - "items": { - "type": "string" + "MediaInsightsRuntimeMetadata": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "The selected analysis methods for the configured table.", - "title": "SelectedAnalysisMethods", - "type": "array" + "type": "object" }, - "TableReference": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.TableReference", - "markdownDescription": "The table that this configured table represents.", - "title": "TableReference" + "S3RecordingSinkRuntimeConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.S3RecordingSinkRuntimeConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "AllowedColumns", - "AnalysisMethod", - "Name", - "TableReference" + "MediaInsightsPipelineConfigurationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRooms::ConfiguredTable" + "AWS::Chime::MediaInsightsPipeline" ], "type": "string" }, @@ -63606,461 +64950,158 @@ ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.AggregateColumn": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "items": { - "type": "string" - }, - "markdownDescription": "Column names in configured table of aggregate columns.", - "title": "ColumnNames", - "type": "array" - }, - "Function": { - "markdownDescription": "Aggregation function that can be applied to aggregate column in query.", - "title": "Function", - "type": "string" - } - }, - "required": [ - "ColumnNames", - "Function" - ], - "type": "object" - }, - "AWS::CleanRooms::ConfiguredTable.AggregationConstraint": { + "AWS::Chime::MediaInsightsPipeline.ChannelDefinition": { "additionalProperties": false, "properties": { - "ColumnName": { - "markdownDescription": "Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output.", - "title": "ColumnName", - "type": "string" - }, - "Minimum": { - "markdownDescription": "The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output.", - "title": "Minimum", + "ChannelId": { "type": "number" }, - "Type": { - "markdownDescription": "The type of aggregation the constraint allows. The only valid value is currently `COUNT_DISTINCT`.", - "title": "Type", + "ParticipantRole": { "type": "string" } }, "required": [ - "ColumnName", - "Minimum", - "Type" + "ChannelId" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.AnalysisRule": { + "AWS::Chime::MediaInsightsPipeline.FragmentSelector": { "additionalProperties": false, "properties": { - "Policy": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy", - "markdownDescription": "A policy that describes the associated data usage limitations.", - "title": "Policy" - }, - "Type": { - "markdownDescription": "The type of analysis rule.", - "title": "Type", + "FragmentSelectorType": { "type": "string" + }, + "TimestampRange": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.TimestampRange" } }, "required": [ - "Policy", - "Type" + "FragmentSelectorType", + "TimestampRange" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation": { + "AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamRecordingSourceRuntimeConfiguration": { "additionalProperties": false, "properties": { - "AdditionalAnalyses": { - "markdownDescription": "An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.\n\nThe `additionalAnalyses` parameter is currently supported for the list analysis rule ( `AnalysisRuleList` ) and the custom analysis rule ( `AnalysisRuleCustom` ).", - "title": "AdditionalAnalyses", - "type": "string" - }, - "AggregateColumns": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregateColumn" - }, - "markdownDescription": "The columns that query runners are allowed to use in aggregation queries.", - "title": "AggregateColumns", - "type": "array" - }, - "AllowedJoinOperators": { - "items": { - "type": "string" - }, - "markdownDescription": "Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is `AND` .", - "title": "AllowedJoinOperators", - "type": "array" - }, - "DimensionColumns": { - "items": { - "type": "string" - }, - "markdownDescription": "The columns that query runners are allowed to select, group by, or filter by.", - "title": "DimensionColumns", - "type": "array" - }, - "JoinColumns": { - "items": { - "type": "string" - }, - "markdownDescription": "Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly.", - "title": "JoinColumns", - "type": "array" - }, - "JoinRequired": { - "markdownDescription": "Control that requires member who runs query to do a join with their configured table and/or other configured table in query.", - "title": "JoinRequired", - "type": "string" - }, - "OutputConstraints": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationConstraint" - }, - "markdownDescription": "Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned.", - "title": "OutputConstraints", - "type": "array" + "FragmentSelector": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.FragmentSelector" }, - "ScalarFunctions": { + "Streams": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.RecordingStreamConfiguration" }, - "markdownDescription": "Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics.", - "title": "ScalarFunctions", "type": "array" } }, "required": [ - "AggregateColumns", - "DimensionColumns", - "JoinColumns", - "OutputConstraints", - "ScalarFunctions" + "FragmentSelector", + "Streams" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.AnalysisRuleCustom": { + "AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamSourceRuntimeConfiguration": { "additionalProperties": false, "properties": { - "AdditionalAnalyses": { - "markdownDescription": "An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.", - "title": "AdditionalAnalyses", + "MediaEncoding": { "type": "string" }, - "AllowedAnalyses": { - "items": { - "type": "string" - }, - "markdownDescription": "The ARN of the analysis templates that are allowed by the custom analysis rule.", - "title": "AllowedAnalyses", - "type": "array" - }, - "AllowedAnalysisProviders": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the AWS accounts that are allowed to query by the custom analysis rule. Required when `allowedAnalyses` is `ANY_QUERY` .", - "title": "AllowedAnalysisProviders", - "type": "array" - }, - "DifferentialPrivacy": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.DifferentialPrivacy", - "markdownDescription": "The differential privacy configuration.", - "title": "DifferentialPrivacy" + "MediaSampleRate": { + "type": "number" }, - "DisallowedOutputColumns": { + "Streams": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.StreamConfiguration" }, - "markdownDescription": "A list of columns that aren't allowed to be shown in the query output.", - "title": "DisallowedOutputColumns", "type": "array" } }, "required": [ - "AllowedAnalyses" + "MediaEncoding", + "MediaSampleRate", + "Streams" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.AnalysisRuleList": { + "AWS::Chime::MediaInsightsPipeline.RecordingStreamConfiguration": { "additionalProperties": false, "properties": { - "AdditionalAnalyses": { - "markdownDescription": "An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.", - "title": "AdditionalAnalyses", + "StreamArn": { "type": "string" - }, - "AllowedJoinOperators": { - "items": { - "type": "string" - }, - "markdownDescription": "The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is `AND` .", - "title": "AllowedJoinOperators", - "type": "array" - }, - "JoinColumns": { - "items": { - "type": "string" - }, - "markdownDescription": "Columns that can be used to join a configured table with the table of the member who can query and other members' configured tables.", - "title": "JoinColumns", - "type": "array" - }, - "ListColumns": { - "items": { - "type": "string" - }, - "markdownDescription": "Columns that can be listed in the output.", - "title": "ListColumns", - "type": "array" } }, - "required": [ - "JoinColumns", - "ListColumns" - ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.AthenaTableReference": { + "AWS::Chime::MediaInsightsPipeline.S3RecordingSinkRuntimeConfiguration": { "additionalProperties": false, "properties": { - "CatalogName": { - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The database name.", - "title": "DatabaseName", - "type": "string" - }, - "OutputLocation": { - "markdownDescription": "The output location for the Athena table.", - "title": "OutputLocation", - "type": "string" - }, - "Region": { - "markdownDescription": "The AWS Region where the Athena table is located. This parameter is required to uniquely identify and access tables across different Regions.", - "title": "Region", - "type": "string" - }, - "TableName": { - "markdownDescription": "The table reference.", - "title": "TableName", + "Destination": { "type": "string" }, - "WorkGroup": { - "markdownDescription": "The workgroup of the Athena table reference.", - "title": "WorkGroup", + "RecordingFileFormat": { "type": "string" } }, "required": [ - "DatabaseName", - "TableName", - "WorkGroup" - ], - "type": "object" - }, - "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy": { - "additionalProperties": false, - "properties": { - "V1": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1", - "markdownDescription": "Controls on the query specifications that can be run on a configured table.", - "title": "V1" - } - }, - "required": [ - "V1" + "Destination", + "RecordingFileFormat" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1": { - "additionalProperties": false, - "properties": { - "Aggregation": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation", - "markdownDescription": "Analysis rule type that enables only aggregation queries on a configured table.", - "title": "Aggregation" - }, - "Custom": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleCustom", - "markdownDescription": "Analysis rule type that enables custom SQL queries on a configured table.", - "title": "Custom" - }, - "List": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleList", - "markdownDescription": "Analysis rule type that enables only list queries on a configured table.", - "title": "List" - } - }, - "type": "object" - }, - "AWS::CleanRooms::ConfiguredTable.DifferentialPrivacy": { + "AWS::Chime::MediaInsightsPipeline.StreamChannelDefinition": { "additionalProperties": false, "properties": { - "Columns": { + "ChannelDefinitions": { "items": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.DifferentialPrivacyColumn" + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.ChannelDefinition" }, - "markdownDescription": "The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.", - "title": "Columns", "type": "array" - } - }, - "required": [ - "Columns" - ], - "type": "object" - }, - "AWS::CleanRooms::ConfiguredTable.DifferentialPrivacyColumn": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CleanRooms::ConfiguredTable.GlueTableReference": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "markdownDescription": "The name of the database the AWS Glue table belongs to.", - "title": "DatabaseName", - "type": "string" - }, - "Region": { - "markdownDescription": "The AWS Region where the AWS Glue table is located. This parameter is required to uniquely identify and access tables across different Regions.", - "title": "Region", - "type": "string" }, - "TableName": { - "markdownDescription": "The name of the AWS Glue table.", - "title": "TableName", - "type": "string" + "NumberOfChannels": { + "type": "number" } }, "required": [ - "DatabaseName", - "TableName" + "NumberOfChannels" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.SnowflakeTableReference": { + "AWS::Chime::MediaInsightsPipeline.StreamConfiguration": { "additionalProperties": false, "properties": { - "AccountIdentifier": { - "markdownDescription": "The account identifier for the Snowflake table reference.", - "title": "AccountIdentifier", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The name of the database the Snowflake table belongs to.", - "title": "DatabaseName", - "type": "string" - }, - "SchemaName": { - "markdownDescription": "The schema name of the Snowflake table reference.", - "title": "SchemaName", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "The secret ARN of the Snowflake table reference.", - "title": "SecretArn", + "FragmentNumber": { "type": "string" }, - "TableName": { - "markdownDescription": "The name of the Snowflake table.", - "title": "TableName", + "StreamArn": { "type": "string" }, - "TableSchema": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchema", - "markdownDescription": "The schema of the Snowflake table.", - "title": "TableSchema" - } - }, - "required": [ - "AccountIdentifier", - "DatabaseName", - "SchemaName", - "SecretArn", - "TableName", - "TableSchema" - ], - "type": "object" - }, - "AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchema": { - "additionalProperties": false, - "properties": { - "V1": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchemaV1" - }, - "markdownDescription": "The schema of a Snowflake table.", - "title": "V1", - "type": "array" + "StreamChannelDefinition": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.StreamChannelDefinition" } }, "required": [ - "V1" + "StreamArn", + "StreamChannelDefinition" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchemaV1": { + "AWS::Chime::MediaInsightsPipeline.TimestampRange": { "additionalProperties": false, "properties": { - "ColumnName": { - "markdownDescription": "The column name.", - "title": "ColumnName", + "EndTimestamp": { "type": "string" }, - "ColumnType": { - "markdownDescription": "The column's data type. Supported data types: `ARRAY` , `BIGINT` , `BOOLEAN` , `CHAR` , `DATE` , `DECIMAL` , `DOUBLE` , `DOUBLE PRECISION` , `FLOAT` , `FLOAT4` , `INT` , `INTEGER` , `MAP` , `NUMERIC` , `NUMBER` , `REAL` , `SMALLINT` , `STRING` , `TIMESTAMP` , `TIMESTAMP_LTZ` , `TIMESTAMP_NTZ` , `DATETIME` , `TINYINT` , `VARCHAR` , `TEXT` , `CHARACTER` .", - "title": "ColumnType", + "StartTimestamp": { "type": "string" } }, "required": [ - "ColumnName", - "ColumnType" + "EndTimestamp", + "StartTimestamp" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.TableReference": { - "additionalProperties": false, - "properties": { - "Athena": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AthenaTableReference", - "markdownDescription": "If present, a reference to the Athena table referred to by this table reference.", - "title": "Athena" - }, - "Glue": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.GlueTableReference", - "markdownDescription": "If present, a reference to the AWS Glue table referred to by this table reference.", - "title": "Glue" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.SnowflakeTableReference", - "markdownDescription": "If present, a reference to the Snowflake table referred to by this table reference.", - "title": "Snowflake" - } - }, - "type": "object" - }, - "AWS::CleanRooms::ConfiguredTableAssociation": { + "AWS::Chime::MediaInsightsPipelineConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -64095,59 +65136,38 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfiguredTableAssociationAnalysisRules": { + "Elements": { "items": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRule" + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.MediaInsightsPipelineConfigurationElement" }, - "markdownDescription": "An analysis rule for a configured table association. This analysis rule specifies how data from the table can be used within its associated collaboration. In the console, the `ConfiguredTableAssociationAnalysisRule` is referred to as the *collaboration analysis rule* .", - "title": "ConfiguredTableAssociationAnalysisRules", "type": "array" }, - "ConfiguredTableIdentifier": { - "markdownDescription": "A unique identifier for the configured table to be associated to. Currently accepts a configured table ID.", - "title": "ConfiguredTableIdentifier", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the configured table association.", - "title": "Description", - "type": "string" - }, - "MembershipIdentifier": { - "markdownDescription": "The unique ID for the membership this configured table association belongs to.", - "title": "MembershipIdentifier", + "MediaInsightsPipelineConfigurationName": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the configured table association, in lowercase. The table is identified by this name when running protected queries against the underlying data.", - "title": "Name", - "type": "string" + "RealTimeAlertConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertConfiguration" }, - "RoleArn": { - "markdownDescription": "The service will assume this role to access catalog metadata and query the table.", - "title": "RoleArn", + "ResourceAccessRoleArn": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "ConfiguredTableIdentifier", - "MembershipIdentifier", - "Name", - "RoleArn" + "Elements", + "MediaInsightsPipelineConfigurationName", + "ResourceAccessRoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRooms::ConfiguredTableAssociation" + "AWS::Chime::MediaInsightsPipelineConfiguration" ], "type": "string" }, @@ -64166,282 +65186,275 @@ ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRule": { + "AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeCallAnalyticsProcessorConfiguration": { "additionalProperties": false, "properties": { - "Policy": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicy", - "markdownDescription": "The policy of the configured table association analysis rule.", - "title": "Policy" + "CallAnalyticsStreamCategories": { + "items": { + "type": "string" + }, + "type": "array" }, - "Type": { - "markdownDescription": "The type of the configured table association analysis rule.", - "title": "Type", + "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": [ - "Policy", - "Type" + "LanguageCode" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregation": { + "AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeProcessorConfiguration": { "additionalProperties": false, "properties": { - "AllowedAdditionalAnalyses": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.\n\nThe `allowedAdditionalAnalyses` parameter is currently supported for the list analysis rule ( `AnalysisRuleList` ) and the custom analysis rule ( `AnalysisRuleCustom` ).", - "title": "AllowedAdditionalAnalyses", - "type": "array" + "ContentIdentificationType": { + "type": "string" }, - "AllowedResultReceivers": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of collaboration members who are allowed to receive results of queries run with this configured table.", - "title": "AllowedResultReceivers", - "type": "array" + "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::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustom": { + "AWS::Chime::MediaInsightsPipelineConfiguration.IssueDetectionConfiguration": { "additionalProperties": false, "properties": { - "AllowedAdditionalAnalyses": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.", - "title": "AllowedAdditionalAnalyses", - "type": "array" - }, - "AllowedResultReceivers": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of collaboration members who are allowed to receive results of queries run with this configured table.", - "title": "AllowedResultReceivers", - "type": "array" + "RuleName": { + "type": "string" } }, + "required": [ + "RuleName" + ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleList": { + "AWS::Chime::MediaInsightsPipelineConfiguration.KeywordMatchConfiguration": { "additionalProperties": false, "properties": { - "AllowedAdditionalAnalyses": { + "Keywords": { "items": { "type": "string" }, - "markdownDescription": "The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.", - "title": "AllowedAdditionalAnalyses", "type": "array" }, - "AllowedResultReceivers": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of collaboration members who are allowed to receive results of queries run with this configured table.", - "title": "AllowedResultReceivers", - "type": "array" + "Negate": { + "type": "boolean" + }, + "RuleName": { + "type": "string" } }, + "required": [ + "Keywords", + "RuleName" + ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicy": { + "AWS::Chime::MediaInsightsPipelineConfiguration.KinesisDataStreamSinkConfiguration": { "additionalProperties": false, "properties": { - "V1": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1", - "markdownDescription": "The policy for the configured table association analysis rule.", - "title": "V1" + "InsightsTarget": { + "type": "string" } }, - "required": [ - "V1" - ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1": { + "AWS::Chime::MediaInsightsPipelineConfiguration.MediaInsightsPipelineConfigurationElement": { "additionalProperties": false, "properties": { - "Aggregation": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregation", - "markdownDescription": "Analysis rule type that enables only aggregation queries on a configured table.", - "title": "Aggregation" + "AmazonTranscribeCallAnalyticsProcessorConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeCallAnalyticsProcessorConfiguration" }, - "Custom": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustom", - "markdownDescription": "Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy.", - "title": "Custom" + "AmazonTranscribeProcessorConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeProcessorConfiguration" }, - "List": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleList", - "markdownDescription": "Analysis rule type that enables only list queries on a configured table.", - "title": "List" + "KinesisDataStreamSinkConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.KinesisDataStreamSinkConfiguration" + }, + "S3RecordingSinkConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.S3RecordingSinkConfiguration" + }, + "Type": { + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::CleanRooms::IdMappingTable": { + "AWS::Chime::MediaInsightsPipelineConfiguration.PostCallAnalyticsSettings": { "additionalProperties": false, "properties": { - "Condition": { + "ContentRedactionOutput": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DataAccessRoleArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The description of the ID mapping table.", - "title": "Description", - "type": "string" - }, - "InputReferenceConfig": { - "$ref": "#/definitions/AWS::CleanRooms::IdMappingTable.IdMappingTableInputReferenceConfig", - "markdownDescription": "The input reference configuration for the ID mapping table.", - "title": "InputReferenceConfig" - }, - "KmsKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key.", - "title": "KmsKeyArn", - "type": "string" - }, - "MembershipIdentifier": { - "markdownDescription": "The unique identifier of the membership resource for the ID mapping table.", - "title": "MembershipIdentifier", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the ID mapping table.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "InputReferenceConfig", - "MembershipIdentifier", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CleanRooms::IdMappingTable" - ], + "OutputEncryptionKMSKeyId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "OutputLocation": { "type": "string" } }, "required": [ - "Type", - "Properties" + "DataAccessRoleArn", + "OutputLocation" ], "type": "object" }, - "AWS::CleanRooms::IdMappingTable.IdMappingTableInputReferenceConfig": { + "AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertConfiguration": { "additionalProperties": false, "properties": { - "InputReferenceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the referenced resource in AWS Entity Resolution . Valid values are ID mapping workflow ARNs.", - "title": "InputReferenceArn", - "type": "string" - }, - "ManageResourcePolicies": { - "markdownDescription": "When `TRUE` , AWS Clean Rooms manages permissions for the ID mapping table resource.\n\nWhen `FALSE` , the resource owner manages permissions for the ID mapping table resource.", - "title": "ManageResourcePolicies", + "Disabled": { "type": "boolean" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertRule" + }, + "type": "array" } }, - "required": [ - "InputReferenceArn", - "ManageResourcePolicies" - ], "type": "object" }, - "AWS::CleanRooms::IdMappingTable.IdMappingTableInputReferenceProperties": { + "AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertRule": { "additionalProperties": false, "properties": { - "IdMappingTableInputSource": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::IdMappingTable.IdMappingTableInputSource" - }, - "markdownDescription": "The input source of the ID mapping table.", - "title": "IdMappingTableInputSource", - "type": "array" + "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": [ - "IdMappingTableInputSource" + "Type" ], "type": "object" }, - "AWS::CleanRooms::IdMappingTable.IdMappingTableInputSource": { + "AWS::Chime::MediaInsightsPipelineConfiguration.S3RecordingSinkConfiguration": { "additionalProperties": false, "properties": { - "IdNamespaceAssociationId": { - "markdownDescription": "The unique identifier of the ID namespace association.", - "title": "IdNamespaceAssociationId", + "Destination": { "type": "string" }, - "Type": { - "markdownDescription": "The type of the input source of the ID mapping table.", - "title": "Type", + "RecordingFileFormat": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.SentimentConfiguration": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "SentimentType": { "type": "string" + }, + "TimePeriod": { + "type": "number" } }, "required": [ - "IdNamespaceAssociationId", - "Type" + "RuleName", + "SentimentType", + "TimePeriod" ], "type": "object" }, - "AWS::CleanRooms::IdNamespaceAssociation": { + "AWS::Chime::MediaLiveConnectorPipeline": { "additionalProperties": false, "properties": { "Condition": { @@ -64476,50 +65489,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the ID namespace association.", - "title": "Description", - "type": "string" - }, - "IdMappingConfig": { - "$ref": "#/definitions/AWS::CleanRooms::IdNamespaceAssociation.IdMappingConfig", - "markdownDescription": "The configuration settings for the ID mapping table.", - "title": "IdMappingConfig" - }, - "InputReferenceConfig": { - "$ref": "#/definitions/AWS::CleanRooms::IdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfig", - "markdownDescription": "The input reference configuration for the ID namespace association.", - "title": "InputReferenceConfig" - }, - "MembershipIdentifier": { - "markdownDescription": "The unique identifier of the membership that contains the ID namespace association.", - "title": "MembershipIdentifier", - "type": "string" + "Sinks": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSinkConfiguration" + }, + "type": "array" }, - "Name": { - "markdownDescription": "The name of this ID namespace association.", - "title": "Name", - "type": "string" + "Sources": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSourceConfiguration" + }, + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "InputReferenceConfig", - "MembershipIdentifier", - "Name" + "Sinks", + "Sources" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRooms::IdNamespaceAssociation" + "AWS::Chime::MediaLiveConnectorPipeline" ], "type": "string" }, @@ -64538,278 +65535,225 @@ ], "type": "object" }, - "AWS::CleanRooms::IdNamespaceAssociation.IdMappingConfig": { + "AWS::Chime::MediaLiveConnectorPipeline.ActiveSpeakerOnlyConfiguration": { "additionalProperties": false, "properties": { - "AllowUseAsDimensionColumn": { - "markdownDescription": "An indicator as to whether you can use your column as a dimension column in the ID mapping table ( `TRUE` ) or not ( `FALSE` ).\n\nDefault is `FALSE` .", - "title": "AllowUseAsDimensionColumn", - "type": "boolean" + "ActiveSpeakerPosition": { + "type": "string" } }, - "required": [ - "AllowUseAsDimensionColumn" - ], "type": "object" }, - "AWS::CleanRooms::IdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfig": { + "AWS::Chime::MediaLiveConnectorPipeline.ChimeSdkMeetingLiveConnectorConfiguration": { "additionalProperties": false, "properties": { - "InputReferenceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own.", - "title": "InputReferenceArn", + "Arn": { "type": "string" }, - "ManageResourcePolicies": { - "markdownDescription": "When `TRUE` , AWS Clean Rooms manages permissions for the ID namespace association resource.\n\nWhen `FALSE` , the resource owner manages permissions for the ID namespace association resource.", - "title": "ManageResourcePolicies", - "type": "boolean" + "CompositedVideo": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.CompositedVideoArtifactsConfiguration" + }, + "MuxType": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.SourceConfiguration" } }, "required": [ - "InputReferenceArn", - "ManageResourcePolicies" + "MuxType" ], "type": "object" }, - "AWS::CleanRooms::IdNamespaceAssociation.IdNamespaceAssociationInputReferenceProperties": { + "AWS::Chime::MediaLiveConnectorPipeline.CompositedVideoArtifactsConfiguration": { "additionalProperties": false, "properties": { - "IdMappingWorkflowsSupported": { - "items": { - "type": "object" - }, - "markdownDescription": "Defines how ID mapping workflows are supported for this ID namespace association.", - "title": "IdMappingWorkflowsSupported", - "type": "array" + "GridViewConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.GridViewConfiguration" }, - "IdNamespaceType": { - "markdownDescription": "The ID namespace type for this ID namespace association.", - "title": "IdNamespaceType", + "Layout": { + "type": "string" + }, + "Resolution": { "type": "string" } }, + "required": [ + "GridViewConfiguration" + ], "type": "object" }, - "AWS::CleanRooms::IntermediateTable": { + "AWS::Chime::MediaLiveConnectorPipeline.GridViewConfiguration": { "additionalProperties": false, "properties": { - "Condition": { + "ActiveSpeakerOnlyConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.ActiveSpeakerOnlyConfiguration" + }, + "CanvasOrientation": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ContentShareLayout": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "HorizontalLayoutConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.HorizontalLayoutConfiguration" }, - "Metadata": { - "type": "object" + "PresenterOnlyConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.PresenterOnlyConfiguration" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AnalysisRules": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRule" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "MembershipIdentifier": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PopulationAnalysisConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.PopulationAnalysisConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MembershipIdentifier", - "Name", - "PopulationAnalysisConfiguration" - ], - "type": "object" + "VerticalLayoutConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.VerticalLayoutConfiguration" }, - "Type": { - "enum": [ - "AWS::CleanRooms::IntermediateTable" - ], + "VideoAttribute": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.VideoAttribute" + } + }, + "required": [ + "ContentShareLayout" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.HorizontalLayoutConfiguration": { + "additionalProperties": false, + "properties": { + "TileAspectRatio": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TileCount": { + "type": "number" + }, + "TileOrder": { + "type": "string" + }, + "TilePosition": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::CleanRooms::IntermediateTable.DifferentialPrivacy": { + "AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorRTMPConfiguration": { "additionalProperties": false, "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.DifferentialPrivacyColumn" - }, - "type": "array" + "AudioChannels": { + "type": "string" + }, + "AudioSampleRate": { + "type": "string" + }, + "Url": { + "type": "string" } }, "required": [ - "Columns" + "Url" ], "type": "object" }, - "AWS::CleanRooms::IntermediateTable.DifferentialPrivacyColumn": { + "AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSinkConfiguration": { "additionalProperties": false, "properties": { - "Name": { + "RTMPConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorRTMPConfiguration" + }, + "SinkType": { "type": "string" } }, "required": [ - "Name" + "RTMPConfiguration", + "SinkType" ], "type": "object" }, - "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRule": { + "AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSourceConfiguration": { "additionalProperties": false, "properties": { - "Policy": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicy" + "ChimeSdkMeetingLiveConnectorConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.ChimeSdkMeetingLiveConnectorConfiguration" }, - "Type": { + "SourceType": { "type": "string" } }, "required": [ - "Policy", - "Type" + "ChimeSdkMeetingLiveConnectorConfiguration", + "SourceType" ], "type": "object" }, - "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRuleCustom": { + "AWS::Chime::MediaLiveConnectorPipeline.PresenterOnlyConfiguration": { "additionalProperties": false, "properties": { - "AdditionalAnalyses": { + "PresenterPosition": { "type": "string" - }, - "AllowedAnalyses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedAnalysisProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedResultReceivers": { + } + }, + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.SelectedVideoStreams": { + "additionalProperties": false, + "properties": { + "AttendeeIds": { "items": { "type": "string" }, "type": "array" }, - "DifferentialPrivacy": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.DifferentialPrivacy" - }, - "DisallowedOutputColumns": { + "ExternalUserIds": { "items": { "type": "string" }, "type": "array" } }, - "required": [ - "AllowedAnalyses" - ], - "type": "object" - }, - "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicy": { - "additionalProperties": false, - "properties": { - "V1": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicyV1" - } - }, - "required": [ - "V1" - ], "type": "object" }, - "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicyV1": { + "AWS::Chime::MediaLiveConnectorPipeline.SourceConfiguration": { "additionalProperties": false, "properties": { - "Custom": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRuleCustom" + "SelectedVideoStreams": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.SelectedVideoStreams" } }, - "required": [ - "Custom" - ], "type": "object" }, - "AWS::CleanRooms::IntermediateTable.PopulationAnalysisConfiguration": { + "AWS::Chime::MediaLiveConnectorPipeline.VerticalLayoutConfiguration": { "additionalProperties": false, "properties": { - "SqlParameters": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.PopulationAnalysisSqlParameters" + "TileAspectRatio": { + "type": "string" + }, + "TileCount": { + "type": "number" + }, + "TileOrder": { + "type": "string" + }, + "TilePosition": { + "type": "string" } }, "type": "object" }, - "AWS::CleanRooms::IntermediateTable.PopulationAnalysisSqlParameters": { + "AWS::Chime::MediaLiveConnectorPipeline.VideoAttribute": { "additionalProperties": false, "properties": { - "AnalysisTemplateArn": { + "BorderColor": { "type": "string" }, - "QueryString": { + "BorderThickness": { + "type": "number" + }, + "CornerRadius": { + "type": "number" + }, + "HighlightColor": { "type": "string" } }, "type": "object" }, - "AWS::CleanRooms::Membership": { + "AWS::Chime::MediaPipelineKinesisVideoStreamPool": { "additionalProperties": false, "properties": { "Condition": { @@ -64844,57 +65788,28 @@ "Properties": { "additionalProperties": false, "properties": { - "CollaborationIdentifier": { - "markdownDescription": "The unique ID for the associated collaboration.", - "title": "CollaborationIdentifier", - "type": "string" - }, - "DefaultJobResultConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedJobResultConfiguration", - "markdownDescription": "The default job result configuration for the membership.", - "title": "DefaultJobResultConfiguration" - }, - "DefaultResultConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedQueryResultConfiguration", - "markdownDescription": "The default protected query result configuration as specified by the member who can receive results.", - "title": "DefaultResultConfiguration" - }, - "IsMetricsEnabled": { - "type": "boolean" - }, - "JobLogStatus": { - "markdownDescription": "An indicator as to whether job logging has been enabled or disabled for the collaboration.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", - "title": "JobLogStatus", + "PoolName": { "type": "string" }, - "PaymentConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipPaymentConfiguration", - "markdownDescription": "The payment responsibilities accepted by the collaboration member.", - "title": "PaymentConfiguration" - }, - "QueryLogStatus": { - "markdownDescription": "An indicator as to whether query logging has been enabled or disabled for the membership.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", - "title": "QueryLogStatus", - "type": "string" + "StreamConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaPipelineKinesisVideoStreamPool.StreamConfiguration" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Chime::MediaPipelineKinesisVideoStreamPool.TagsItems" }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "CollaborationIdentifier", - "QueryLogStatus" + "PoolName", + "StreamConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRooms::Membership" + "AWS::Chime::MediaPipelineKinesisVideoStreamPool" ], "type": "string" }, @@ -64913,238 +65828,159 @@ ], "type": "object" }, - "AWS::CleanRooms::Membership.MembershipJobComputePaymentConfig": { - "additionalProperties": false, - "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration member has accepted to pay for job compute costs ( `TRUE` ) or has not accepted to pay for query and job compute costs ( `FALSE` ).\n\nThere is only one member who pays for queries and jobs.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for query and job compute costs.\n- If you set the value to `TRUE` but you are not responsible to pay for query and job compute costs.", - "title": "IsResponsible", - "type": "boolean" - } - }, - "required": [ - "IsResponsible" - ], - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipMLPaymentConfig": { + "AWS::Chime::MediaPipelineKinesisVideoStreamPool.StreamConfiguration": { "additionalProperties": false, "properties": { - "ModelInference": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipModelInferencePaymentConfig", - "markdownDescription": "The payment responsibilities accepted by the member for model inference.", - "title": "ModelInference" - }, - "ModelTraining": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipModelTrainingPaymentConfig", - "markdownDescription": "The payment responsibilities accepted by the member for model training.", - "title": "ModelTraining" + "DataRetentionInHours": { + "type": "number" }, - "SyntheticDataGeneration": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipSyntheticDataGenerationPaymentConfig", - "markdownDescription": "The payment configuration for synthetic data generation for this machine learning membership.", - "title": "SyntheticDataGeneration" - } - }, - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipModelInferencePaymentConfig": { - "additionalProperties": false, - "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration member has accepted to pay for model inference costs ( `TRUE` ) or has not accepted to pay for model inference costs ( `FALSE` ).\n\nIf the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for model inference costs.\n- If you set the value to `TRUE` but you are not responsible to pay for model inference costs.", - "title": "IsResponsible", - "type": "boolean" + "Region": { + "type": "string" } }, "required": [ - "IsResponsible" + "Region" ], "type": "object" }, - "AWS::CleanRooms::Membership.MembershipModelTrainingPaymentConfig": { + "AWS::Chime::MediaPipelineKinesisVideoStreamPool.TagsItems": { "additionalProperties": false, "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration member has accepted to pay for model training costs ( `TRUE` ) or has not accepted to pay for model training costs ( `FALSE` ).\n\nIf the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for model training costs.\n- If you set the value to `TRUE` but you are not responsible to pay for model training costs.", - "title": "IsResponsible", - "type": "boolean" + "Key": { + "type": "string" + }, + "Value": { + "type": "string" } }, "required": [ - "IsResponsible" + "Key", + "Value" ], "type": "object" }, - "AWS::CleanRooms::Membership.MembershipPaymentConfiguration": { + "AWS::Chime::MediaStreamPipeline": { "additionalProperties": false, "properties": { - "JobCompute": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipJobComputePaymentConfig", - "markdownDescription": "The payment responsibilities accepted by the collaboration member for job compute costs.", - "title": "JobCompute" + "Condition": { + "type": "string" }, - "MachineLearning": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipMLPaymentConfig", - "markdownDescription": "The payment responsibilities accepted by the collaboration member for machine learning costs.", - "title": "MachineLearning" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "QueryCompute": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipQueryComputePaymentConfig", - "markdownDescription": "The payment responsibilities accepted by the collaboration member for query compute costs.", - "title": "QueryCompute" - } - }, - "required": [ - "QueryCompute" - ], - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipProtectedJobOutputConfiguration": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.ProtectedJobS3OutputConfigurationInput", - "markdownDescription": "Contains the configuration to write the job results to S3.", - "title": "S3" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipProtectedJobResultConfiguration": { - "additionalProperties": false, - "properties": { - "OutputConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedJobOutputConfiguration", - "markdownDescription": "The output configuration for a protected job result.", - "title": "OutputConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RoleArn": { - "markdownDescription": "The unique ARN for an IAM role that is used by AWS Clean Rooms to write protected job results to the result location, given by the member who can receive results.", - "title": "RoleArn", + "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" - } - }, - "required": [ - "OutputConfiguration", - "RoleArn" - ], - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipProtectedQueryOutputConfiguration": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.ProtectedQueryS3OutputConfiguration", - "markdownDescription": "Required configuration for a protected query with an `s3` output type.", - "title": "S3" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipProtectedQueryResultConfiguration": { - "additionalProperties": false, - "properties": { - "OutputConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedQueryOutputConfiguration", - "markdownDescription": "Configuration for protected query results.", - "title": "OutputConfiguration" }, - "RoleArn": { - "markdownDescription": "The unique ARN for an IAM role that is used by AWS Clean Rooms to write protected query results to the result location, given by the member who can receive results.", - "title": "RoleArn", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "OutputConfiguration" - ], - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipQueryComputePaymentConfig": { - "additionalProperties": false, - "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration member has accepted to pay for query compute costs ( `TRUE` ) or has not accepted to pay for query compute costs ( `FALSE` ).\n\nIf the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for query compute costs.\n- If you set the value to `TRUE` but you are not responsible to pay for query compute costs.", - "title": "IsResponsible", - "type": "boolean" - } - }, - "required": [ - "IsResponsible" - ], - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipSyntheticDataGenerationPaymentConfig": { - "additionalProperties": false, - "properties": { - "IsResponsible": { - "markdownDescription": "Indicates if this membership is responsible for paying for synthetic data generation.", - "title": "IsResponsible", - "type": "boolean" - } - }, - "required": [ - "IsResponsible" + "Type", + "Properties" ], "type": "object" }, - "AWS::CleanRooms::Membership.ProtectedJobS3OutputConfigurationInput": { + "AWS::Chime::MediaStreamPipeline.MediaStreamSink": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The S3 bucket for job output.", - "title": "Bucket", + "MediaStreamType": { "type": "string" }, - "KeyPrefix": { - "markdownDescription": "The S3 prefix to unload the protected job results.", - "title": "KeyPrefix", + "ReservedStreamCapacity": { + "type": "number" + }, + "SinkArn": { + "type": "string" + }, + "SinkType": { "type": "string" } }, "required": [ - "Bucket" + "MediaStreamType", + "ReservedStreamCapacity", + "SinkArn", + "SinkType" ], "type": "object" }, - "AWS::CleanRooms::Membership.ProtectedQueryS3OutputConfiguration": { + "AWS::Chime::MediaStreamPipeline.MediaStreamSource": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The S3 bucket to unload the protected query results.", - "title": "Bucket", - "type": "string" - }, - "KeyPrefix": { - "markdownDescription": "The S3 prefix to unload the protected query results.", - "title": "KeyPrefix", + "SourceArn": { "type": "string" }, - "ResultFormat": { - "markdownDescription": "Intended file format of the result.", - "title": "ResultFormat", + "SourceType": { "type": "string" - }, - "SingleFileOutput": { - "markdownDescription": "Indicates whether files should be output as a single file ( `TRUE` ) or output as multiple files ( `FALSE` ). This parameter is only supported for analyses with the Spark analytics engine.", - "title": "SingleFileOutput", - "type": "boolean" } }, "required": [ - "Bucket", - "ResultFormat" + "SourceArn", + "SourceType" ], "type": "object" }, - "AWS::CleanRooms::PrivacyBudgetTemplate": { + "AWS::Chime::SipMediaApplication": { "additionalProperties": false, "properties": { "Condition": { @@ -65179,46 +66015,35 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoRefresh": { - "markdownDescription": "How often the privacy budget refreshes.\n\n> If you plan to regularly bring new data into the collaboration, use `CALENDAR_MONTH` to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.", - "title": "AutoRefresh", - "type": "string" - }, - "MembershipIdentifier": { - "markdownDescription": "The identifier for a membership resource.", - "title": "MembershipIdentifier", + "AwsRegion": { "type": "string" }, - "Parameters": { - "$ref": "#/definitions/AWS::CleanRooms::PrivacyBudgetTemplate.Parameters", - "markdownDescription": "Specifies the epsilon and noise parameters for the privacy budget template.", - "title": "Parameters" + "Endpoints": { + "items": { + "$ref": "#/definitions/AWS::Chime::SipMediaApplication.SipMediaApplicationEndpoint" + }, + "type": "array" }, - "PrivacyBudgetType": { - "markdownDescription": "Specifies the type of the privacy budget template.", - "title": "PrivacyBudgetType", + "Name": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "AutoRefresh", - "MembershipIdentifier", - "Parameters", - "PrivacyBudgetType" + "AwsRegion", + "Endpoints", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRooms::PrivacyBudgetTemplate" + "AWS::Chime::SipMediaApplication" ], "type": "string" }, @@ -65237,61 +66062,19 @@ ], "type": "object" }, - "AWS::CleanRooms::PrivacyBudgetTemplate.BudgetParameter": { + "AWS::Chime::SipMediaApplication.SipMediaApplicationEndpoint": { "additionalProperties": false, "properties": { - "AutoRefresh": { - "markdownDescription": "Whether this individual budget parameter automatically refreshes when the budget period resets.", - "title": "AutoRefresh", - "type": "string" - }, - "Budget": { - "markdownDescription": "The budget allocation amount for this specific parameter.", - "title": "Budget", - "type": "number" - }, - "Type": { - "markdownDescription": "The type of budget parameter being configured.", - "title": "Type", + "LambdaArn": { "type": "string" } }, "required": [ - "Budget", - "Type" + "LambdaArn" ], "type": "object" }, - "AWS::CleanRooms::PrivacyBudgetTemplate.Parameters": { - "additionalProperties": false, - "properties": { - "BudgetParameters": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::PrivacyBudgetTemplate.BudgetParameter" - }, - "markdownDescription": "", - "title": "BudgetParameters", - "type": "array" - }, - "Epsilon": { - "markdownDescription": "The epsilon value that you want to use.", - "title": "Epsilon", - "type": "number" - }, - "ResourceArn": { - "markdownDescription": "", - "title": "ResourceArn", - "type": "string" - }, - "UsersNoisePerQuery": { - "markdownDescription": "Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted.", - "title": "UsersNoisePerQuery", - "type": "number" - } - }, - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithm": { + "AWS::Chime::VoiceConnector": { "additionalProperties": false, "properties": { "Condition": { @@ -65326,40 +66109,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InferenceContainerConfig": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.InferenceContainerConfig" - }, - "KmsKeyArn": { + "AwsRegion": { "type": "string" }, "Name": { "type": "string" }, - "RoleArn": { + "NetworkType": { "type": "string" }, + "RequireEncryption": { + "type": "boolean" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TrainingContainerConfig": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.ContainerConfig" } }, "required": [ "Name", - "RoleArn" + "RequireEncryption" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRoomsML::ConfiguredModelAlgorithm" + "AWS::Chime::VoiceConnector" ], "type": "string" }, @@ -65378,65 +66155,7 @@ ], "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": { + "AWS::CleanRooms::AnalysisTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -65471,38 +66190,79 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfiguredModelAlgorithmArn": { - "type": "string" + "AnalysisParameters": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisParameter" + }, + "markdownDescription": "The parameters of the analysis template.", + "title": "AnalysisParameters", + "type": "array" }, "Description": { + "markdownDescription": "The description of the analysis template.", + "title": "Description", + "type": "string" + }, + "ErrorMessageConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.ErrorMessageConfiguration", + "markdownDescription": "The configuration that specifies the level of detail in error messages returned by analyses using this template. When set to `DETAILED` , error messages include more information to help troubleshoot issues with PySpark jobs. Detailed error messages may expose underlying data, including sensitive information. Recommended for faster troubleshooting in development and testing environments.", + "title": "ErrorMessageConfiguration" + }, + "Format": { + "markdownDescription": "The format of the analysis template.", + "title": "Format", "type": "string" }, "MembershipIdentifier": { + "markdownDescription": "The identifier for a membership resource.", + "title": "MembershipIdentifier", "type": "string" }, "Name": { + "markdownDescription": "The name of the analysis template.", + "title": "Name", "type": "string" }, - "PrivacyConfiguration": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration" + "Schema": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisSchema", + "markdownDescription": "The entire schema object.", + "title": "Schema" + }, + "Source": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisSource", + "markdownDescription": "The source of the analysis template.", + "title": "Source" + }, + "SourceMetadata": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisSourceMetadata", + "markdownDescription": "The source metadata for the analysis template.", + "title": "SourceMetadata" + }, + "SyntheticDataParameters": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.SyntheticDataParameters", + "markdownDescription": "The parameters used to generate synthetic data for this analysis template.", + "title": "SyntheticDataParameters" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", + "title": "Tags", "type": "array" } }, "required": [ - "ConfiguredModelAlgorithmArn", + "Format", "MembershipIdentifier", - "Name" + "Name", + "Source" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation" + "AWS::CleanRooms::AnalysisTemplate" ], "type": "string" }, @@ -65521,203 +66281,271 @@ ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig": { + "AWS::CleanRooms::AnalysisTemplate.AnalysisParameter": { "additionalProperties": false, "properties": { - "CustomDataIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" + "DefaultValue": { + "markdownDescription": "Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor.", + "title": "DefaultValue", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen.", + "title": "Name", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of parameter.", + "title": "Type", + "type": "string" } }, "required": [ - "CustomDataIdentifiers" + "Name", + "Type" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration": { + "AWS::CleanRooms::AnalysisTemplate.AnalysisSchema": { "additionalProperties": false, "properties": { - "CustomEntityConfig": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig" - }, - "EntitiesToRedact": { + "ReferencedTables": { "items": { "type": "string" }, + "markdownDescription": "The tables referenced in the analysis schema.", + "title": "ReferencedTables", "type": "array" } }, "required": [ - "EntitiesToRedact" + "ReferencedTables" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy": { + "AWS::CleanRooms::AnalysisTemplate.AnalysisSource": { "additionalProperties": false, "properties": { - "AllowedAccountIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FilterPattern": { - "type": "string" - }, - "LogRedactionConfiguration": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration" + "Artifacts": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifacts", + "markdownDescription": "The artifacts of the analysis source.", + "title": "Artifacts" }, - "LogType": { + "Text": { + "markdownDescription": "The query text.", + "title": "Text", "type": "string" } }, - "required": [ - "AllowedAccountIds" - ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.MetricsConfigurationPolicy": { + "AWS::CleanRooms::AnalysisTemplate.AnalysisSourceMetadata": { "additionalProperties": false, "properties": { - "NoiseLevel": { - "type": "string" + "Artifacts": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifactMetadata", + "markdownDescription": "The artifacts of the analysis source metadata.", + "title": "Artifacts" } }, "required": [ - "NoiseLevel" + "Artifacts" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration": { + "AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifact": { "additionalProperties": false, "properties": { - "Policies": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfigurationPolicies" + "Location": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.S3Location", + "markdownDescription": "The artifact location.", + "title": "Location" } }, "required": [ - "Policies" + "Location" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfigurationPolicies": { + "AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifactMetadata": { "additionalProperties": false, "properties": { - "TrainedModelExports": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsConfigurationPolicy" - }, - "TrainedModelInferenceJobs": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceJobsConfigurationPolicy" + "AdditionalArtifactHashes": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.Hash" + }, + "markdownDescription": "Additional artifact hashes for the analysis template.", + "title": "AdditionalArtifactHashes", + "type": "array" }, - "TrainedModels": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelsConfigurationPolicy" + "EntryPointHash": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.Hash", + "markdownDescription": "The hash of the entry point for the analysis template artifact metadata.", + "title": "EntryPointHash" } }, + "required": [ + "EntryPointHash" + ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelArtifactMaxSize": { + "AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifacts": { "additionalProperties": false, "properties": { - "Unit": { - "type": "string" + "AdditionalArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifact" + }, + "markdownDescription": "Additional artifacts for the analysis template.", + "title": "AdditionalArtifacts", + "type": "array" }, - "Value": { - "type": "number" + "EntryPoint": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifact", + "markdownDescription": "The entry point for the analysis template artifacts.", + "title": "EntryPoint" + }, + "RoleArn": { + "markdownDescription": "The role ARN for the analysis template artifacts.", + "title": "RoleArn", + "type": "string" } }, "required": [ - "Unit", - "Value" + "EntryPoint", + "RoleArn" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsConfigurationPolicy": { + "AWS::CleanRooms::AnalysisTemplate.ColumnClassificationDetails": { "additionalProperties": false, "properties": { - "FilesToExport": { + "ColumnMapping": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.SyntheticDataColumnProperties" }, + "markdownDescription": "A mapping that defines the classification of data columns for synthetic data generation and specifies how each column should be handled during the privacy-preserving data synthesis process.", + "title": "ColumnMapping", "type": "array" - }, - "MaxSize": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsMaxSize" } }, "required": [ - "FilesToExport", - "MaxSize" + "ColumnMapping" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsMaxSize": { + "AWS::CleanRooms::AnalysisTemplate.ErrorMessageConfiguration": { "additionalProperties": false, "properties": { - "Unit": { + "Type": { + "markdownDescription": "The level of detail for error messages returned by the PySpark job. When set to DETAILED, error messages include more information to help troubleshoot issues with your PySpark job.\n\nBecause this setting may expose sensitive data, it is recommended for development and testing environments.", + "title": "Type", "type": "string" - }, - "Value": { - "type": "number" } }, "required": [ - "Unit", - "Value" + "Type" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceJobsConfigurationPolicy": { + "AWS::CleanRooms::AnalysisTemplate.Hash": { "additionalProperties": false, "properties": { - "ContainerLogs": { - "items": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy" - }, - "type": "array" + "Sha256": { + "markdownDescription": "The SHA-256 hash value.", + "title": "Sha256", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CleanRooms::AnalysisTemplate.MLSyntheticDataParameters": { + "additionalProperties": false, + "properties": { + "ColumnClassification": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.ColumnClassificationDetails", + "markdownDescription": "Classification details for data columns that specify how each column should be treated during synthetic data generation.", + "title": "ColumnClassification" }, - "MaxOutputSize": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceMaxOutputSize" + "Epsilon": { + "markdownDescription": "The epsilon value for differential privacy when generating synthetic data. Lower values provide stronger privacy guarantees but may reduce data utility.", + "title": "Epsilon", + "type": "number" + }, + "MaxMembershipInferenceAttackScore": { + "markdownDescription": "The maximum acceptable score for membership inference attack vulnerability. Synthetic data generation fails if the score for the resulting data exceeds this threshold.", + "title": "MaxMembershipInferenceAttackScore", + "type": "number" } }, + "required": [ + "ColumnClassification", + "Epsilon", + "MaxMembershipInferenceAttackScore" + ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceMaxOutputSize": { + "AWS::CleanRooms::AnalysisTemplate.S3Location": { "additionalProperties": false, "properties": { - "Unit": { + "Bucket": { + "markdownDescription": "The bucket name.", + "title": "Bucket", "type": "string" }, - "Value": { - "type": "number" + "Key": { + "markdownDescription": "The object key.", + "title": "Key", + "type": "string" } }, "required": [ - "Unit", - "Value" + "Bucket", + "Key" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelsConfigurationPolicy": { + "AWS::CleanRooms::AnalysisTemplate.SyntheticDataColumnProperties": { "additionalProperties": false, "properties": { - "ContainerLogs": { - "items": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy" - }, - "type": "array" + "ColumnName": { + "markdownDescription": "The name of the data column as it appears in the dataset.", + "title": "ColumnName", + "type": "string" }, - "ContainerMetrics": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.MetricsConfigurationPolicy" + "ColumnType": { + "markdownDescription": "The data type of the column, which determines how the synthetic data generation algorithm processes and synthesizes values for this column.", + "title": "ColumnType", + "type": "string" }, - "MaxArtifactSize": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelArtifactMaxSize" + "IsPredictiveValue": { + "markdownDescription": "Indicates if this column contains predictive values that should be treated as target variables in machine learning models. This affects how the synthetic data generation preserves statistical relationships.", + "title": "IsPredictiveValue", + "type": "boolean" } }, + "required": [ + "ColumnName", + "ColumnType", + "IsPredictiveValue" + ], "type": "object" }, - "AWS::CleanRoomsML::TrainingDataset": { + "AWS::CleanRooms::AnalysisTemplate.SyntheticDataParameters": { + "additionalProperties": false, + "properties": { + "MlSyntheticDataParameters": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.MLSyntheticDataParameters", + "markdownDescription": "The machine learning-specific parameters for synthetic data generation.", + "title": "MlSyntheticDataParameters" + } + }, + "required": [ + "MlSyntheticDataParameters" + ], + "type": "object" + }, + "AWS::CleanRooms::Collaboration": { "additionalProperties": false, "properties": { "Condition": { @@ -65752,48 +66580,106 @@ "Properties": { "additionalProperties": false, "properties": { + "AllowedResultRegions": { + "items": { + "type": "string" + }, + "markdownDescription": "The AWS Regions where collaboration query results can be stored. Returns the list of Region identifiers that were specified when the collaboration was created. This list is used to enforce regional storage policies and compliance requirements.", + "title": "AllowedResultRegions", + "type": "array" + }, + "AnalyticsEngine": { + "markdownDescription": "The analytics engine for the collaboration.\n\n> After July 16, 2025, the `CLEAN_ROOMS_SQL` parameter will no longer be available.", + "title": "AnalyticsEngine", + "type": "string" + }, + "AutoApprovedChangeTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The types of change requests that are automatically approved for this collaboration.", + "title": "AutoApprovedChangeTypes", + "type": "array" + }, + "CreatorDisplayName": { + "markdownDescription": "A display name of the collaboration creator.", + "title": "CreatorDisplayName", + "type": "string" + }, + "CreatorMLMemberAbilities": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MLMemberAbilities", + "markdownDescription": "The ML member abilities for a collaboration member.", + "title": "CreatorMLMemberAbilities" + }, + "CreatorMemberAbilities": { + "items": { + "type": "string" + }, + "markdownDescription": "The abilities granted to the collaboration creator.\n\n*Allowed values* `CAN_QUERY` | `CAN_RECEIVE_RESULTS` | `CAN_RUN_JOB`", + "title": "CreatorMemberAbilities", + "type": "array" + }, + "CreatorPaymentConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.PaymentConfiguration", + "markdownDescription": "An object representing the collaboration member's payment responsibilities set by the collaboration creator.", + "title": "CreatorPaymentConfiguration" + }, + "DataEncryptionMetadata": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.DataEncryptionMetadata", + "markdownDescription": "The settings for client-side encryption for cryptographic computing.", + "title": "DataEncryptionMetadata" + }, "Description": { - "markdownDescription": "The description of the training dataset.", + "markdownDescription": "A description of the collaboration provided by the collaboration owner.", "title": "Description", "type": "string" }, + "IsMetricsEnabled": { + "type": "boolean" + }, + "JobLogStatus": { + "markdownDescription": "An indicator as to whether job logging has been enabled or disabled for the collaboration.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", + "title": "JobLogStatus", + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MemberSpecification" + }, + "markdownDescription": "A list of initial members, not including the creator. This list is immutable.", + "title": "Members", + "type": "array" + }, "Name": { - "markdownDescription": "The name of the training dataset.", + "markdownDescription": "A human-readable identifier provided by the collaboration owner. Display names are not unique.", "title": "Name", "type": "string" }, - "RoleArn": { - "markdownDescription": "The ARN of the IAM role that Clean Rooms ML can assume to read the data referred to in the `dataSource` field of each dataset.\n\nPassing a role across accounts is not allowed. If you pass a role that isn't in your account, you get an `AccessDeniedException` error.", - "title": "RoleArn", + "QueryLogStatus": { + "markdownDescription": "An indicator as to whether query logging has been enabled or disabled for the collaboration.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", + "title": "QueryLogStatus", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The optional metadata that you apply to the resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.\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 keys as it is reserved. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has `aws` as its prefix but the key does not, then Clean Rooms ML considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of `aws` do not count against your tags per resource limit.", + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", "title": "Tags", "type": "array" - }, - "TrainingData": { - "items": { - "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.Dataset" - }, - "markdownDescription": "An array of information that lists the Dataset objects, which specifies the dataset type and details on its location and schema. You must provide a role that has read access to these tables.", - "title": "TrainingData", - "type": "array" } }, "required": [ + "CreatorDisplayName", + "Description", "Name", - "RoleArn", - "TrainingData" + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRoomsML::TrainingDataset" + "AWS::CleanRooms::Collaboration" ], "type": "string" }, @@ -65812,251 +66698,209 @@ ], "type": "object" }, - "AWS::CleanRoomsML::TrainingDataset.ColumnSchema": { + "AWS::CleanRooms::Collaboration.DataEncryptionMetadata": { "additionalProperties": false, "properties": { - "ColumnName": { - "markdownDescription": "The name of a column.", - "title": "ColumnName", - "type": "string" + "AllowCleartext": { + "markdownDescription": "Indicates whether encrypted tables can contain cleartext data ( `TRUE` ) or are to cryptographically process every column ( `FALSE` ).", + "title": "AllowCleartext", + "type": "boolean" }, - "ColumnTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The data type of column.", - "title": "ColumnTypes", - "type": "array" + "AllowDuplicates": { + "markdownDescription": "Indicates whether Fingerprint columns can contain duplicate entries ( `TRUE` ) or are to contain only non-repeated values ( `FALSE` ).", + "title": "AllowDuplicates", + "type": "boolean" + }, + "AllowJoinsOnColumnsWithDifferentNames": { + "markdownDescription": "Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name ( `TRUE` ) or can only be joined on Fingerprint columns of the same name ( `FALSE` ).", + "title": "AllowJoinsOnColumnsWithDifferentNames", + "type": "boolean" + }, + "PreserveNulls": { + "markdownDescription": "Indicates whether NULL values are to be copied as NULL to encrypted tables ( `TRUE` ) or cryptographically processed ( `FALSE` ).", + "title": "PreserveNulls", + "type": "boolean" } }, "required": [ - "ColumnName", - "ColumnTypes" + "AllowCleartext", + "AllowDuplicates", + "AllowJoinsOnColumnsWithDifferentNames", + "PreserveNulls" ], "type": "object" }, - "AWS::CleanRoomsML::TrainingDataset.DataSource": { + "AWS::CleanRooms::Collaboration.JobComputePaymentConfig": { "additionalProperties": false, "properties": { - "GlueDataSource": { - "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.GlueDataSource", - "markdownDescription": "A GlueDataSource object that defines the catalog ID, database name, and table name for the training data.", - "title": "GlueDataSource" + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for query and job compute costs ( `TRUE` ) or has not configured the collaboration member to pay for query and job compute costs ( `FALSE` ).\n\nExactly one member can be configured to pay for query and job compute costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nAn error is returned if the collaboration creator sets a `FALSE` value for the member who can run queries and jobs.", + "title": "IsResponsible", + "type": "boolean" } }, "required": [ - "GlueDataSource" + "IsResponsible" ], "type": "object" }, - "AWS::CleanRoomsML::TrainingDataset.Dataset": { + "AWS::CleanRooms::Collaboration.MLMemberAbilities": { "additionalProperties": false, "properties": { - "InputConfig": { - "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.DatasetInputConfig", - "markdownDescription": "A DatasetInputConfig object that defines the data source and schema mapping.", - "title": "InputConfig" - }, - "Type": { - "markdownDescription": "What type of information is found in the dataset.", - "title": "Type", - "type": "string" + "CustomMLMemberAbilities": { + "items": { + "type": "string" + }, + "markdownDescription": "The custom ML member abilities for a collaboration member.", + "title": "CustomMLMemberAbilities", + "type": "array" } }, "required": [ - "InputConfig", - "Type" + "CustomMLMemberAbilities" ], "type": "object" }, - "AWS::CleanRoomsML::TrainingDataset.DatasetInputConfig": { + "AWS::CleanRooms::Collaboration.MLPaymentConfig": { "additionalProperties": false, "properties": { - "DataSource": { - "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.DataSource", - "markdownDescription": "A DataSource object that specifies the Glue data source for the training data.", - "title": "DataSource" + "ModelInference": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.ModelInferencePaymentConfig", + "markdownDescription": "The payment responsibilities accepted by the member for model inference.", + "title": "ModelInference" }, - "Schema": { + "ModelTraining": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.ModelTrainingPaymentConfig", + "markdownDescription": "The payment responsibilities accepted by the member for model training.", + "title": "ModelTraining" + }, + "SyntheticDataGeneration": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.SyntheticDataGenerationPaymentConfig", + "markdownDescription": "The payment configuration for machine learning synthetic data generation.", + "title": "SyntheticDataGeneration" + } + }, + "type": "object" + }, + "AWS::CleanRooms::Collaboration.MemberSpecification": { + "additionalProperties": false, + "properties": { + "AccountId": { + "markdownDescription": "The identifier used to reference members of the collaboration. Currently only supports AWS account ID.", + "title": "AccountId", + "type": "string" + }, + "DisplayName": { + "markdownDescription": "The member's display name.", + "title": "DisplayName", + "type": "string" + }, + "MLMemberAbilities": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MLMemberAbilities", + "markdownDescription": "The ML abilities granted to the collaboration member.", + "title": "MLMemberAbilities" + }, + "MemberAbilities": { "items": { - "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.ColumnSchema" + "type": "string" }, - "markdownDescription": "The schema information for the training data.", - "title": "Schema", + "markdownDescription": "The abilities granted to the collaboration member.\n\n*Allowed Values* : `CAN_QUERY` | `CAN_RECEIVE_RESULTS`", + "title": "MemberAbilities", "type": "array" + }, + "PaymentConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.PaymentConfiguration", + "markdownDescription": "The collaboration member's payment responsibilities set by the collaboration creator.\n\nIf the collaboration creator hasn't speci\ufb01ed anyone as the member paying for query compute costs, then the member who can query is the default payer.", + "title": "PaymentConfiguration" } }, "required": [ - "DataSource", - "Schema" + "AccountId", + "DisplayName" ], "type": "object" }, - "AWS::CleanRoomsML::TrainingDataset.GlueDataSource": { + "AWS::CleanRooms::Collaboration.ModelInferencePaymentConfig": { "additionalProperties": false, "properties": { - "CatalogId": { - "markdownDescription": "The Glue catalog that contains the training data.", - "title": "CatalogId", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The Glue database that contains the training data.", - "title": "DatabaseName", - "type": "string" - }, - "TableName": { - "markdownDescription": "The Glue table that contains the training data.", - "title": "TableName", - "type": "string" + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for model inference costs ( `TRUE` ) or has not configured the collaboration member to pay for model inference costs ( `FALSE` ).\n\nExactly one member can be configured to pay for model inference costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nIf the collaboration creator hasn't specified anyone as the member paying for model inference costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.", + "title": "IsResponsible", + "type": "boolean" } }, "required": [ - "DatabaseName", - "TableName" + "IsResponsible" ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2": { + "AWS::CleanRooms::Collaboration.ModelTrainingPaymentConfig": { "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": { - "AutomaticStopTimeMinutes": { - "markdownDescription": "The number of minutes until the running instance is shut down after the environment was last used.", - "title": "AutomaticStopTimeMinutes", - "type": "number" - }, - "ConnectionType": { - "markdownDescription": "The connection type used for connecting to an Amazon EC2 environment. Valid values are `CONNECT_SSH` (default) and `CONNECT_SSM` (connected through AWS Systems Manager ).", - "title": "ConnectionType", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the environment to create.", - "title": "Description", - "type": "string" - }, - "ImageId": { - "markdownDescription": "The identifier for the Amazon Machine Image (AMI) that's used to create the EC2 instance. To choose an AMI for the instance, you must specify a valid AMI alias or a valid AWS Systems Manager path.\n\nFrom December 04, 2023, you will be required to include the `ImageId` parameter for the `CreateEnvironmentEC2` action. This change will be reflected across all direct methods of communicating with the API, such as AWS SDK, AWS CLI and AWS CloudFormation. This change will only affect direct API consumers, and not AWS Cloud9 console users.\n\nSince Ubuntu 18.04 has ended standard support as of May 31, 2023, we recommend you choose Ubuntu 22.04.\n\n*AMI aliases*\n\n- Amazon Linux 2: `amazonlinux-2-x86_64`\n- Amazon Linux 2023 (recommended): `amazonlinux-2023-x86_64`\n- Ubuntu 18.04: `ubuntu-18.04-x86_64`\n- Ubuntu 22.04: `ubuntu-22.04-x86_64`\n\n*SSM paths*\n\n- Amazon Linux 2: `resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64`\n- Amazon Linux 2023 (recommended): `resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2023-x86_64`\n- Ubuntu 18.04: `resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64`\n- Ubuntu 22.04: `resolve:ssm:/aws/service/cloud9/amis/ubuntu-22.04-x86_64`", - "title": "ImageId", - "type": "string" - }, - "InstanceType": { - "markdownDescription": "The type of instance to connect to the environment (for example, `t2.micro` ).", - "title": "InstanceType", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the environment.", - "title": "Name", - "type": "string" - }, - "OwnerArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the environment owner. This ARN can be the ARN of any AWS Identity and Access Management principal. If this value is not specified, the ARN defaults to this environment's creator.", - "title": "OwnerArn", - "type": "string" - }, - "Repositories": { - "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" - }, - "markdownDescription": "Any AWS CodeCommit source code repositories to be cloned into the development environment.", - "title": "Repositories", - "type": "array" - }, - "SubnetId": { - "markdownDescription": "The ID of the subnet in Amazon Virtual Private Cloud (Amazon VPC) that AWS Cloud9 will use to communicate with the Amazon Elastic Compute Cloud (Amazon EC2) instance.", - "title": "SubnetId", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs that will be associated with the new AWS Cloud9 development environment.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "ImageId", - "InstanceType" - ], - "type": "object" + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for model training costs ( `TRUE` ) or has not configured the collaboration member to pay for model training costs ( `FALSE` ).\n\nExactly one member can be configured to pay for model training costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nIf the collaboration creator hasn't specified anyone as the member paying for model training costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.", + "title": "IsResponsible", + "type": "boolean" + } + }, + "required": [ + "IsResponsible" + ], + "type": "object" + }, + "AWS::CleanRooms::Collaboration.PaymentConfiguration": { + "additionalProperties": false, + "properties": { + "JobCompute": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.JobComputePaymentConfig", + "markdownDescription": "The compute configuration for the job.", + "title": "JobCompute" }, - "Type": { - "enum": [ - "AWS::Cloud9::EnvironmentEC2" - ], - "type": "string" + "MachineLearning": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MLPaymentConfig", + "markdownDescription": "An object representing the collaboration member's machine learning payment responsibilities set by the collaboration creator.", + "title": "MachineLearning" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "QueryCompute": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.QueryComputePaymentConfig", + "markdownDescription": "The collaboration member's payment responsibilities set by the collaboration creator for query compute costs.", + "title": "QueryCompute" } }, "required": [ - "Type", - "Properties" + "QueryCompute" ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2.Repository": { + "AWS::CleanRooms::Collaboration.QueryComputePaymentConfig": { "additionalProperties": false, "properties": { - "PathComponent": { - "markdownDescription": "The path within the development environment's default file system location to clone the AWS CodeCommit repository into. For example, `/REPOSITORY_NAME` would clone the repository into the `/home/USER_NAME/environment/REPOSITORY_NAME` directory in the environment.", - "title": "PathComponent", - "type": "string" - }, - "RepositoryUrl": { - "markdownDescription": "The clone URL of the AWS CodeCommit repository to be cloned. For example, for an AWS CodeCommit repository this might be `https://git-codecommit.us-east-2.amazonaws.com/v1/repos/REPOSITORY_NAME` .", - "title": "RepositoryUrl", - "type": "string" + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for query compute costs ( `TRUE` ) or has not configured the collaboration member to pay for query compute costs ( `FALSE` ).\n\nExactly one member can be configured to pay for query compute costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nIf the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.", + "title": "IsResponsible", + "type": "boolean" } }, "required": [ - "PathComponent", - "RepositoryUrl" + "IsResponsible" ], "type": "object" }, - "AWS::CloudFormation::ChangeSet": { + "AWS::CleanRooms::Collaboration.SyntheticDataGenerationPaymentConfig": { + "additionalProperties": false, + "properties": { + "IsResponsible": { + "markdownDescription": "Indicates who is responsible for paying for synthetic data generation.", + "title": "IsResponsible", + "type": "boolean" + } + }, + "required": [ + "IsResponsible" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable": { "additionalProperties": false, "properties": { "Condition": { @@ -66091,70 +66935,70 @@ "Properties": { "additionalProperties": false, "properties": { - "Capabilities": { + "AllowedColumns": { "items": { "type": "string" }, + "markdownDescription": "The columns within the underlying AWS Glue table that can be used within collaborations.", + "title": "AllowedColumns", "type": "array" }, - "ChangeSetName": { - "type": "string" - }, - "ChangeSetType": { + "AnalysisMethod": { + "markdownDescription": "The analysis method for the configured table.\n\n`DIRECT_QUERY` allows SQL queries to be run directly on this table.\n\n`DIRECT_JOB` allows PySpark jobs to be run directly on this table.\n\n`MULTIPLE` allows both SQL queries and PySpark jobs to be run directly on this table.", + "title": "AnalysisMethod", "type": "string" }, - "DeploymentMode": { - "type": "string" + "AnalysisRules": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRule" + }, + "markdownDescription": "The analysis rule that was created for the configured table.", + "title": "AnalysisRules", + "type": "array" }, "Description": { + "markdownDescription": "A description for the configured table.", + "title": "Description", "type": "string" }, - "ImportExistingResources": { - "type": "boolean" - }, - "IncludeNestedStacks": { - "type": "boolean" + "Name": { + "markdownDescription": "A name for the configured table.", + "title": "Name", + "type": "string" }, - "NotificationARNs": { + "SelectedAnalysisMethods": { "items": { "type": "string" }, + "markdownDescription": "The selected analysis methods for the configured table.", + "title": "SelectedAnalysisMethods", "type": "array" }, - "OnStackFailure": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "StackName": { - "type": "string" + "TableReference": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.TableReference", + "markdownDescription": "The table that this configured table represents.", + "title": "TableReference" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::CloudFormation::ChangeSet.TagsItems" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", + "title": "Tags", "type": "array" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateURL": { - "type": "string" - }, - "UsePreviousTemplate": { - "type": "boolean" } }, "required": [ - "ChangeSetName", - "StackName" + "AllowedColumns", + "AnalysisMethod", + "Name", + "TableReference" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ChangeSet" + "AWS::CleanRooms::ConfiguredTable" ], "type": "string" }, @@ -66173,461 +67017,541 @@ ], "type": "object" }, - "AWS::CloudFormation::ChangeSet.TagsItems": { + "AWS::CleanRooms::ConfiguredTable.AggregateColumn": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" + "ColumnNames": { + "items": { + "type": "string" + }, + "markdownDescription": "Column names in configured table of aggregate columns.", + "title": "ColumnNames", + "type": "array" }, - "Value": { + "Function": { + "markdownDescription": "Aggregation function that can be applied to aggregate column in query.", + "title": "Function", "type": "string" } }, "required": [ - "Key", - "Value" + "ColumnNames", + "Function" ], "type": "object" }, - "AWS::CloudFormation::CustomResource": { + "AWS::CleanRooms::ConfiguredTable.AggregationConstraint": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ColumnName": { + "markdownDescription": "Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output.", + "title": "ColumnName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ServiceTimeout": { - "markdownDescription": "The maximum time, in seconds, that can elapse before a custom resource operation times out.\n\nThe value must be an integer from 1 to 3600. The default value is 3600 seconds (1 hour).", - "title": "ServiceTimeout", - "type": "number" - }, - "ServiceToken": { - "markdownDescription": "The service token, such as an Amazon topic ARN or Lambda function ARN. The service token must be from the same Region as the stack.\n\nUpdates aren't supported.", - "title": "ServiceToken", - "type": "string" - } - }, - "required": [ - "ServiceToken" - ], - "type": "object" + "Minimum": { + "markdownDescription": "The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output.", + "title": "Minimum", + "type": "number" }, "Type": { - "enum": [ - "AWS::CloudFormation::CustomResource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "markdownDescription": "The type of aggregation the constraint allows. The only valid value is currently `COUNT_DISTINCT`.", + "title": "Type", "type": "string" } }, "required": [ - "Type", - "Properties" + "ColumnName", + "Minimum", + "Type" ], "type": "object" }, - "AWS::CloudFormation::GeneratedTemplate": { + "AWS::CleanRooms::ConfiguredTable.AggregationThreshold": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AllowedAggregateExpressionType": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "IdentityColumns": { + "items": { + "type": "string" + }, + "type": "array" }, - "Metadata": { - "type": "object" + "MinimumIdentityCount": { + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "GeneratedTemplateName": { - "type": "string" - }, - "TemplateConfiguration": { - "$ref": "#/definitions/AWS::CloudFormation::GeneratedTemplate.TemplateConfiguration" - } + "OutputColumnThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.OutputColumnThreshold" }, - "required": [ - "GeneratedTemplateName" - ], - "type": "object" + "type": "array" }, "Type": { - "enum": [ - "AWS::CloudFormation::GeneratedTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], "type": "string" } }, "required": [ - "Type", - "Properties" + "AllowedAggregateExpressionType", + "IdentityColumns", + "MinimumIdentityCount", + "Type" ], "type": "object" }, - "AWS::CloudFormation::GeneratedTemplate.TemplateConfiguration": { + "AWS::CleanRooms::ConfiguredTable.AnalysisRule": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "type": "string" + "Policy": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy", + "markdownDescription": "A policy that describes the associated data usage limitations.", + "title": "Policy" }, - "UpdateReplacePolicy": { + "Type": { + "markdownDescription": "The type of analysis rule.", + "title": "Type", "type": "string" } }, + "required": [ + "Policy", + "Type" + ], "type": "object" }, - "AWS::CloudFormation::GeneratedTemplate.TemplateProgress": { + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation": { "additionalProperties": false, "properties": { - "ResourcesFailed": { - "type": "number" + "AdditionalAnalyses": { + "markdownDescription": "An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.\n\nThe `additionalAnalyses` parameter is currently supported for the list analysis rule ( `AnalysisRuleList` ) and the custom analysis rule ( `AnalysisRuleCustom` ).", + "title": "AdditionalAnalyses", + "type": "string" }, - "ResourcesPending": { - "type": "number" + "AggregateColumns": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregateColumn" + }, + "markdownDescription": "The columns that query runners are allowed to use in aggregation queries.", + "title": "AggregateColumns", + "type": "array" }, - "ResourcesProcessing": { - "type": "number" + "AllowedJoinOperators": { + "items": { + "type": "string" + }, + "markdownDescription": "Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is `AND` .", + "title": "AllowedJoinOperators", + "type": "array" }, - "ResourcesSucceeded": { - "type": "number" + "DimensionColumns": { + "items": { + "type": "string" + }, + "markdownDescription": "The columns that query runners are allowed to select, group by, or filter by.", + "title": "DimensionColumns", + "type": "array" + }, + "JoinColumns": { + "items": { + "type": "string" + }, + "markdownDescription": "Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly.", + "title": "JoinColumns", + "type": "array" + }, + "JoinRequired": { + "markdownDescription": "Control that requires member who runs query to do a join with their configured table and/or other configured table in query.", + "title": "JoinRequired", + "type": "string" + }, + "OutputConstraints": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationConstraint" + }, + "markdownDescription": "Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned.", + "title": "OutputConstraints", + "type": "array" + }, + "ScalarFunctions": { + "items": { + "type": "string" + }, + "markdownDescription": "Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics.", + "title": "ScalarFunctions", + "type": "array" } }, + "required": [ + "AggregateColumns", + "DimensionColumns", + "JoinColumns", + "OutputConstraints", + "ScalarFunctions" + ], "type": "object" }, - "AWS::CloudFormation::GuardHook": { + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleCustom": { "additionalProperties": false, "properties": { - "Condition": { + "AdditionalAnalyses": { + "markdownDescription": "An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.", + "title": "AdditionalAnalyses", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "AggregationThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationThreshold" + }, + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "AllowedAnalyses": { + "items": { + "type": "string" + }, + "markdownDescription": "The ARN of the analysis templates that are allowed by the custom analysis rule.", + "title": "AllowedAnalyses", + "type": "array" }, - "Metadata": { - "type": "object" + "AllowedAnalysisProviders": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the AWS accounts that are allowed to query by the custom analysis rule. Required when `allowedAnalyses` is `ANY_QUERY` .", + "title": "AllowedAnalysisProviders", + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Alias": { - "markdownDescription": "The type name alias for the Hook. This alias must be unique per account and Region.\n\nThe alias must be in the form `Name1::Name2::Name3` and must not begin with `AWS` . For example, `Private::Guard::MyTestHook` .", - "title": "Alias", - "type": "string" - }, - "ExecutionRole": { - "markdownDescription": "The IAM role that the Hook assumes to retrieve your Guard rules from S3 and optionally write a detailed Guard output report back.", - "title": "ExecutionRole", - "type": "string" - }, - "FailureMode": { - "markdownDescription": "Specifies how the Hook responds when rules fail their evaluation.\n\n- `FAIL` : Prevents the action from proceeding. This is helpful for enforcing strict compliance or security policies.\n- `WARN` : Issues warnings to users but allows actions to continue. This is useful for non-critical validations or informational checks.", - "title": "FailureMode", - "type": "string" - }, - "HookStatus": { - "markdownDescription": "Specifies if the Hook is `ENABLED` or `DISABLED` .", - "title": "HookStatus", - "type": "string" - }, - "LogBucket": { - "markdownDescription": "Specifies the name of an S3 bucket to store the Guard output report. This report contains the results of your Guard rule validations.", - "title": "LogBucket", - "type": "string" - }, - "Options": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.Options", - "markdownDescription": "Specifies the S3 location of your input parameters.", - "title": "Options" - }, - "RuleLocation": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.S3Location", - "markdownDescription": "Specifies the S3 location of your Guard rules.", - "title": "RuleLocation" - }, - "StackFilters": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.StackFilters", - "markdownDescription": "Specifies the stack level filters for the Hook.\n\nExample stack level filter in JSON:\n\n`\"StackFilters\": {\"FilteringCriteria\": \"ALL\", \"StackNames\": {\"Exclude\": [ \"stack-1\", \"stack-2\"]}}` \n\nExample stack level filter in YAML:\n\n`StackFilters: FilteringCriteria: ALL StackNames: Exclude: - stack-1 - stack-2`", - "title": "StackFilters" - }, - "TargetFilters": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.TargetFilters", - "markdownDescription": "Specifies the target filters for the Hook.\n\nExample target filter in JSON:\n\n`\"TargetFilters\": {\"Actions\": [ \"CREATE\", \"UPDATE\", \"DELETE\" ]}` \n\nExample target filter in YAML:\n\n`TargetFilters: Actions: - CREATE - UPDATE - DELETE`", - "title": "TargetFilters" - }, - "TargetOperations": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the list of operations the Hook is run against. For more information, see [Hook targets](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-concepts.html#hook-terms-hook-target) in the *CloudFormation Hooks User Guide* .\n\nValid values: `STACK` | `RESOURCE` | `CHANGE_SET` | `CLOUD_CONTROL`", - "title": "TargetOperations", - "type": "array" - } - }, - "required": [ - "Alias", - "ExecutionRole", - "FailureMode", - "HookStatus", - "RuleLocation", - "TargetOperations" - ], - "type": "object" + "ComparisonControls": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ComparisonControls" }, - "Type": { - "enum": [ - "AWS::CloudFormation::GuardHook" - ], - "type": "string" + "DifferentialPrivacy": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.DifferentialPrivacy", + "markdownDescription": "The differential privacy configuration.", + "title": "DifferentialPrivacy" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DisallowedOutputColumns": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of columns that aren't allowed to be shown in the query output.", + "title": "DisallowedOutputColumns", + "type": "array" + } + }, + "required": [ + "AllowedAnalyses" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleList": { + "additionalProperties": false, + "properties": { + "AdditionalAnalyses": { + "markdownDescription": "An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.", + "title": "AdditionalAnalyses", "type": "string" + }, + "AllowedJoinOperators": { + "items": { + "type": "string" + }, + "markdownDescription": "The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is `AND` .", + "title": "AllowedJoinOperators", + "type": "array" + }, + "JoinColumns": { + "items": { + "type": "string" + }, + "markdownDescription": "Columns that can be used to join a configured table with the table of the member who can query and other members' configured tables.", + "title": "JoinColumns", + "type": "array" + }, + "ListColumns": { + "items": { + "type": "string" + }, + "markdownDescription": "Columns that can be listed in the output.", + "title": "ListColumns", + "type": "array" } }, "required": [ - "Type", - "Properties" + "JoinColumns", + "ListColumns" ], "type": "object" }, - "AWS::CloudFormation::GuardHook.HookTarget": { + "AWS::CleanRooms::ConfiguredTable.AthenaTableReference": { "additionalProperties": false, "properties": { - "Action": { + "CatalogName": { "type": "string" }, - "InvocationPoint": { + "DatabaseName": { + "markdownDescription": "The database name.", + "title": "DatabaseName", "type": "string" }, - "TargetName": { + "OutputLocation": { + "markdownDescription": "The output location for the Athena table.", + "title": "OutputLocation", + "type": "string" + }, + "Region": { + "markdownDescription": "The AWS Region where the Athena table is located. This parameter is required to uniquely identify and access tables across different Regions.", + "title": "Region", + "type": "string" + }, + "TableName": { + "markdownDescription": "The table reference.", + "title": "TableName", + "type": "string" + }, + "WorkGroup": { + "markdownDescription": "The workgroup of the Athena table reference.", + "title": "WorkGroup", "type": "string" } }, "required": [ - "Action", - "InvocationPoint", - "TargetName" + "DatabaseName", + "TableName", + "WorkGroup" ], "type": "object" }, - "AWS::CloudFormation::GuardHook.Options": { + "AWS::CleanRooms::ConfiguredTable.ComparisonControls": { "additionalProperties": false, "properties": { - "InputParams": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.S3Location", - "markdownDescription": "Specifies the S3 location where your input parameters are located.", - "title": "InputParams" + "AllowedColumnComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedLiteralComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "AllowedColumnComparisonColumns", + "AllowedLiteralComparisonColumns" + ], "type": "object" }, - "AWS::CloudFormation::GuardHook.S3Location": { + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy": { "additionalProperties": false, "properties": { - "Uri": { - "markdownDescription": "Specifies the S3 path to the file that contains your Guard rules or input parameters (in the form `s3:///` ).\n\nFor Guard rules, the object stored in S3 must have one of the following file extensions: `.guard` , `.zip` , or `.tar.gz` .\n\nFor input parameters, the object stored in S3 must have one of the following file extensions: `.yaml` , `.json` , `.zip` , or `.tar.gz` .", - "title": "Uri", - "type": "string" + "V1": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1", + "markdownDescription": "Controls on the query specifications that can be run on a configured table.", + "title": "V1" + } + }, + "required": [ + "V1" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation", + "markdownDescription": "Analysis rule type that enables only aggregation queries on a configured table.", + "title": "Aggregation" }, - "VersionId": { - "markdownDescription": "For S3 buckets with versioning enabled, specifies the unique ID of the S3 object version to download your Guard rules or input parameters from.\n\nThe Guard Hook downloads files from S3 every time the Hook is invoked. To prevent accidental changes or deletions, we recommend using a version when configuring your Guard Hook.", - "title": "VersionId", + "Custom": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleCustom", + "markdownDescription": "Analysis rule type that enables custom SQL queries on a configured table.", + "title": "Custom" + }, + "List": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleList", + "markdownDescription": "Analysis rule type that enables only list queries on a configured table.", + "title": "List" + } + }, + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.DifferentialPrivacy": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.DifferentialPrivacyColumn" + }, + "markdownDescription": "The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.", + "title": "Columns", + "type": "array" + } + }, + "required": [ + "Columns" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.DifferentialPrivacyColumn": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.", + "title": "Name", "type": "string" } }, "required": [ - "Uri" + "Name" ], "type": "object" }, - "AWS::CloudFormation::GuardHook.StackFilters": { + "AWS::CleanRooms::ConfiguredTable.GlueTableReference": { "additionalProperties": false, "properties": { - "FilteringCriteria": { - "markdownDescription": "The filtering criteria.\n\n- All stack names and stack roles ( `All` ): The Hook will only be invoked when all specified filters match.\n- Any stack names and stack roles ( `Any` ): The Hook will be invoked if at least one of the specified filters match.", - "title": "FilteringCriteria", + "DatabaseName": { + "markdownDescription": "The name of the database the AWS Glue table belongs to.", + "title": "DatabaseName", "type": "string" }, - "StackNames": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.StackNames", - "markdownDescription": "Includes or excludes specific stacks from Hook invocations.", - "title": "StackNames" + "Region": { + "markdownDescription": "The AWS Region where the AWS Glue table is located. This parameter is required to uniquely identify and access tables across different Regions.", + "title": "Region", + "type": "string" }, - "StackRoles": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.StackRoles", - "markdownDescription": "Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.", - "title": "StackRoles" + "TableName": { + "markdownDescription": "The name of the AWS Glue table.", + "title": "TableName", + "type": "string" } }, "required": [ - "FilteringCriteria" + "DatabaseName", + "TableName" ], "type": "object" }, - "AWS::CloudFormation::GuardHook.StackNames": { + "AWS::CleanRooms::ConfiguredTable.OutputColumnThreshold": { "additionalProperties": false, "properties": { - "Exclude": { - "items": { - "type": "string" - }, - "markdownDescription": "The stack names to exclude. All stacks except those listed here will invoke the Hook.", - "title": "Exclude", - "type": "array" + "MinimumIdentityCount": { + "type": "number" }, - "Include": { - "items": { - "type": "string" - }, - "markdownDescription": "The stack names to include. Only the stacks specified in this list will invoke the Hook.", - "title": "Include", - "type": "array" + "OutputColumnName": { + "type": "string" } }, + "required": [ + "MinimumIdentityCount", + "OutputColumnName" + ], "type": "object" }, - "AWS::CloudFormation::GuardHook.StackRoles": { + "AWS::CleanRooms::ConfiguredTable.SnowflakeTableReference": { "additionalProperties": false, "properties": { - "Exclude": { - "items": { - "type": "string" - }, - "markdownDescription": "The IAM role ARNs for stacks you want to exclude. The Hook will be invoked on all stacks except those initiated by the specified roles.", - "title": "Exclude", - "type": "array" + "AccountIdentifier": { + "markdownDescription": "The account identifier for the Snowflake table reference.", + "title": "AccountIdentifier", + "type": "string" }, - "Include": { - "items": { - "type": "string" - }, - "markdownDescription": "The IAM role ARNs to target stacks associated with these roles. Only stack operations initiated by these roles will invoke the Hook.", - "title": "Include", - "type": "array" + "DatabaseName": { + "markdownDescription": "The name of the database the Snowflake table belongs to.", + "title": "DatabaseName", + "type": "string" + }, + "SchemaName": { + "markdownDescription": "The schema name of the Snowflake table reference.", + "title": "SchemaName", + "type": "string" + }, + "SecretArn": { + "markdownDescription": "The secret ARN of the Snowflake table reference.", + "title": "SecretArn", + "type": "string" + }, + "TableName": { + "markdownDescription": "The name of the Snowflake table.", + "title": "TableName", + "type": "string" + }, + "TableSchema": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchema", + "markdownDescription": "The schema of the Snowflake table.", + "title": "TableSchema" } }, + "required": [ + "AccountIdentifier", + "DatabaseName", + "SchemaName", + "SecretArn", + "TableName", + "TableSchema" + ], "type": "object" }, - "AWS::CloudFormation::GuardHook.TargetFilters": { + "AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchema": { "additionalProperties": false, "properties": { - "Actions": { + "V1": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchemaV1" }, + "markdownDescription": "The schema of a Snowflake table.", + "title": "V1", "type": "array" + } + }, + "required": [ + "V1" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchemaV1": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "markdownDescription": "The column name.", + "title": "ColumnName", + "type": "string" }, - "InvocationPoints": { - "items": { - "type": "string" - }, - "type": "array" + "ColumnType": { + "markdownDescription": "The column's data type. Supported data types: `ARRAY` , `BIGINT` , `BOOLEAN` , `CHAR` , `DATE` , `DECIMAL` , `DOUBLE` , `DOUBLE PRECISION` , `FLOAT` , `FLOAT4` , `INT` , `INTEGER` , `MAP` , `NUMERIC` , `NUMBER` , `REAL` , `SMALLINT` , `STRING` , `TIMESTAMP` , `TIMESTAMP_LTZ` , `TIMESTAMP_NTZ` , `DATETIME` , `TINYINT` , `VARCHAR` , `TEXT` , `CHARACTER` .", + "title": "ColumnType", + "type": "string" + } + }, + "required": [ + "ColumnName", + "ColumnType" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.TableReference": { + "additionalProperties": false, + "properties": { + "Athena": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AthenaTableReference", + "markdownDescription": "If present, a reference to the Athena table referred to by this table reference.", + "title": "Athena" }, - "TargetNames": { - "items": { - "type": "string" - }, - "type": "array" + "Glue": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.GlueTableReference", + "markdownDescription": "If present, a reference to the AWS Glue table referred to by this table reference.", + "title": "Glue" }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.HookTarget" - }, - "type": "array" + "Snowflake": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.SnowflakeTableReference", + "markdownDescription": "If present, a reference to the Snowflake table referred to by this table reference.", + "title": "Snowflake" } }, "type": "object" }, - "AWS::CloudFormation::HookDefaultVersion": { + "AWS::CleanRooms::ConfiguredTableAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -66662,27 +67586,59 @@ "Properties": { "additionalProperties": false, "properties": { - "TypeName": { - "markdownDescription": "The name of the Hook.\n\nYou must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", - "title": "TypeName", + "ConfiguredTableAssociationAnalysisRules": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRule" + }, + "markdownDescription": "An analysis rule for a configured table association. This analysis rule specifies how data from the table can be used within its associated collaboration. In the console, the `ConfiguredTableAssociationAnalysisRule` is referred to as the *collaboration analysis rule* .", + "title": "ConfiguredTableAssociationAnalysisRules", + "type": "array" + }, + "ConfiguredTableIdentifier": { + "markdownDescription": "A unique identifier for the configured table to be associated to. Currently accepts a configured table ID.", + "title": "ConfiguredTableIdentifier", "type": "string" }, - "TypeVersionArn": { - "markdownDescription": "The version ID of the type configuration.\n\nYou must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", - "title": "TypeVersionArn", + "Description": { + "markdownDescription": "A description of the configured table association.", + "title": "Description", "type": "string" }, - "VersionId": { - "markdownDescription": "The version ID of the type specified.\n\nYou must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", - "title": "VersionId", + "MembershipIdentifier": { + "markdownDescription": "The unique ID for the membership this configured table association belongs to.", + "title": "MembershipIdentifier", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the configured table association, in lowercase. The table is identified by this name when running protected queries against the underlying data.", + "title": "Name", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The service will assume this role to access catalog metadata and query the table.", + "title": "RoleArn", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", + "title": "Tags", + "type": "array" } }, + "required": [ + "ConfiguredTableIdentifier", + "MembershipIdentifier", + "Name", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookDefaultVersion" + "AWS::CleanRooms::ConfiguredTableAssociation" ], "type": "string" }, @@ -66696,11 +67652,133 @@ } }, "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRule": { + "additionalProperties": false, + "properties": { + "Policy": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicy", + "markdownDescription": "The policy of the configured table association analysis rule.", + "title": "Policy" + }, + "Type": { + "markdownDescription": "The type of the configured table association analysis rule.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Policy", "Type" ], "type": "object" }, - "AWS::CloudFormation::HookTypeConfig": { + "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregation": { + "additionalProperties": false, + "properties": { + "AllowedAdditionalAnalyses": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.\n\nThe `allowedAdditionalAnalyses` parameter is currently supported for the list analysis rule ( `AnalysisRuleList` ) and the custom analysis rule ( `AnalysisRuleCustom` ).", + "title": "AllowedAdditionalAnalyses", + "type": "array" + }, + "AllowedResultReceivers": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of collaboration members who are allowed to receive results of queries run with this configured table.", + "title": "AllowedResultReceivers", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustom": { + "additionalProperties": false, + "properties": { + "AllowedAdditionalAnalyses": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.", + "title": "AllowedAdditionalAnalyses", + "type": "array" + }, + "AllowedResultReceivers": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of collaboration members who are allowed to receive results of queries run with this configured table.", + "title": "AllowedResultReceivers", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleList": { + "additionalProperties": false, + "properties": { + "AllowedAdditionalAnalyses": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.", + "title": "AllowedAdditionalAnalyses", + "type": "array" + }, + "AllowedResultReceivers": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of collaboration members who are allowed to receive results of queries run with this configured table.", + "title": "AllowedResultReceivers", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicy": { + "additionalProperties": false, + "properties": { + "V1": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1", + "markdownDescription": "The policy for the configured table association analysis rule.", + "title": "V1" + } + }, + "required": [ + "V1" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregation", + "markdownDescription": "Analysis rule type that enables only aggregation queries on a configured table.", + "title": "Aggregation" + }, + "Custom": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustom", + "markdownDescription": "Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy.", + "title": "Custom" + }, + "List": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleList", + "markdownDescription": "Analysis rule type that enables only list queries on a configured table.", + "title": "List" + } + }, + "type": "object" + }, + "AWS::CleanRooms::IdMappingTable": { "additionalProperties": false, "properties": { "Condition": { @@ -66735,35 +67813,50 @@ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { - "markdownDescription": "Specifies the activated Hook type configuration, in this AWS account and AWS Region .\n\nYou must specify either `TypeName` and `Configuration` or `TypeArn` and `Configuration` .", - "title": "Configuration", + "Description": { + "markdownDescription": "The description of the ID mapping table.", + "title": "Description", "type": "string" }, - "ConfigurationAlias": { - "markdownDescription": "An alias by which to refer to this configuration data.\n\nDefaults to `default` alias. Hook types currently support default configuration alias.", - "title": "ConfigurationAlias", + "InputReferenceConfig": { + "$ref": "#/definitions/AWS::CleanRooms::IdMappingTable.IdMappingTableInputReferenceConfig", + "markdownDescription": "The input reference configuration for the ID mapping table.", + "title": "InputReferenceConfig" + }, + "KmsKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key.", + "title": "KmsKeyArn", "type": "string" }, - "TypeArn": { - "markdownDescription": "The Amazon Resource Number (ARN) for the Hook to set `Configuration` for.\n\nYou must specify either `TypeName` and `Configuration` or `TypeArn` and `Configuration` .", - "title": "TypeArn", + "MembershipIdentifier": { + "markdownDescription": "The unique identifier of the membership resource for the ID mapping table.", + "title": "MembershipIdentifier", "type": "string" }, - "TypeName": { - "markdownDescription": "The unique name for your Hook. Specifies a three-part namespace for your Hook, with a recommended pattern of `Organization::Service::Hook` .\n\nYou must specify either `TypeName` and `Configuration` or `TypeArn` and `Configuration` .", - "title": "TypeName", + "Name": { + "markdownDescription": "The name of the ID mapping table.", + "title": "Name", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", + "title": "Tags", + "type": "array" } }, "required": [ - "Configuration" + "InputReferenceConfig", + "MembershipIdentifier", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookTypeConfig" + "AWS::CleanRooms::IdMappingTable" ], "type": "string" }, @@ -66782,7 +67875,64 @@ ], "type": "object" }, - "AWS::CloudFormation::HookVersion": { + "AWS::CleanRooms::IdMappingTable.IdMappingTableInputReferenceConfig": { + "additionalProperties": false, + "properties": { + "InputReferenceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the referenced resource in AWS Entity Resolution . Valid values are ID mapping workflow ARNs.", + "title": "InputReferenceArn", + "type": "string" + }, + "ManageResourcePolicies": { + "markdownDescription": "When `TRUE` , AWS Clean Rooms manages permissions for the ID mapping table resource.\n\nWhen `FALSE` , the resource owner manages permissions for the ID mapping table resource.", + "title": "ManageResourcePolicies", + "type": "boolean" + } + }, + "required": [ + "InputReferenceArn", + "ManageResourcePolicies" + ], + "type": "object" + }, + "AWS::CleanRooms::IdMappingTable.IdMappingTableInputReferenceProperties": { + "additionalProperties": false, + "properties": { + "IdMappingTableInputSource": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::IdMappingTable.IdMappingTableInputSource" + }, + "markdownDescription": "The input source of the ID mapping table.", + "title": "IdMappingTableInputSource", + "type": "array" + } + }, + "required": [ + "IdMappingTableInputSource" + ], + "type": "object" + }, + "AWS::CleanRooms::IdMappingTable.IdMappingTableInputSource": { + "additionalProperties": false, + "properties": { + "IdNamespaceAssociationId": { + "markdownDescription": "The unique identifier of the ID namespace association.", + "title": "IdNamespaceAssociationId", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of the input source of the ID mapping table.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "IdNamespaceAssociationId", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::IdNamespaceAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -66817,36 +67967,50 @@ "Properties": { "additionalProperties": false, "properties": { - "ExecutionRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.", - "title": "ExecutionRoleArn", + "Description": { + "markdownDescription": "The description of the ID namespace association.", + "title": "Description", "type": "string" }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig", - "markdownDescription": "Contains logging configuration information for an extension.", - "title": "LoggingConfig" + "IdMappingConfig": { + "$ref": "#/definitions/AWS::CleanRooms::IdNamespaceAssociation.IdMappingConfig", + "markdownDescription": "The configuration settings for the ID mapping table.", + "title": "IdMappingConfig" }, - "SchemaHandlerPackage": { - "markdownDescription": "A URL to the Amazon S3 bucket for the Hook project package that contains the necessary files for the Hook you want to register.\n\nFor information on generating a schema handler package, see [Modeling custom CloudFormation Hooks](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-model.html) in the *CloudFormation Hooks User Guide* .\n\n> To register the Hook, you must have `s3:GetObject` permissions to access the S3 objects.", - "title": "SchemaHandlerPackage", + "InputReferenceConfig": { + "$ref": "#/definitions/AWS::CleanRooms::IdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfig", + "markdownDescription": "The input reference configuration for the ID namespace association.", + "title": "InputReferenceConfig" + }, + "MembershipIdentifier": { + "markdownDescription": "The unique identifier of the membership that contains the ID namespace association.", + "title": "MembershipIdentifier", "type": "string" }, - "TypeName": { - "markdownDescription": "The unique name for your Hook. Specifies a three-part namespace for your Hook, with a recommended pattern of `Organization::Service::Hook` .\n\n> The following organization namespaces are reserved and can't be used in your Hook type names:\n> \n> - `Alexa`\n> - `AMZN`\n> - `Amazon`\n> - `ASK`\n> - `AWS`\n> - `Custom`\n> - `Dev`", - "title": "TypeName", + "Name": { + "markdownDescription": "The name of this ID namespace association.", + "title": "Name", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", + "title": "Tags", + "type": "array" } }, "required": [ - "SchemaHandlerPackage", - "TypeName" + "InputReferenceConfig", + "MembershipIdentifier", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookVersion" + "AWS::CleanRooms::IdNamespaceAssociation" ], "type": "string" }, @@ -66865,23 +68029,60 @@ ], "type": "object" }, - "AWS::CloudFormation::HookVersion.LoggingConfig": { + "AWS::CleanRooms::IdNamespaceAssociation.IdMappingConfig": { "additionalProperties": false, "properties": { - "LogGroupName": { - "markdownDescription": "The Amazon CloudWatch Logs group to which CloudFormation sends error logging information when invoking the extension's handlers.", - "title": "LogGroupName", + "AllowUseAsDimensionColumn": { + "markdownDescription": "An indicator as to whether you can use your column as a dimension column in the ID mapping table ( `TRUE` ) or not ( `FALSE` ).\n\nDefault is `FALSE` .", + "title": "AllowUseAsDimensionColumn", + "type": "boolean" + } + }, + "required": [ + "AllowUseAsDimensionColumn" + ], + "type": "object" + }, + "AWS::CleanRooms::IdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfig": { + "additionalProperties": false, + "properties": { + "InputReferenceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own.", + "title": "InputReferenceArn", "type": "string" }, - "LogRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role that CloudFormation should assume when sending log entries to CloudWatch Logs.", - "title": "LogRoleArn", + "ManageResourcePolicies": { + "markdownDescription": "When `TRUE` , AWS Clean Rooms manages permissions for the ID namespace association resource.\n\nWhen `FALSE` , the resource owner manages permissions for the ID namespace association resource.", + "title": "ManageResourcePolicies", + "type": "boolean" + } + }, + "required": [ + "InputReferenceArn", + "ManageResourcePolicies" + ], + "type": "object" + }, + "AWS::CleanRooms::IdNamespaceAssociation.IdNamespaceAssociationInputReferenceProperties": { + "additionalProperties": false, + "properties": { + "IdMappingWorkflowsSupported": { + "items": { + "type": "object" + }, + "markdownDescription": "Defines how ID mapping workflows are supported for this ID namespace association.", + "title": "IdMappingWorkflowsSupported", + "type": "array" + }, + "IdNamespaceType": { + "markdownDescription": "The ID namespace type for this ID namespace association.", + "title": "IdNamespaceType", "type": "string" } }, "type": "object" }, - "AWS::CloudFormation::LambdaHook": { + "AWS::CleanRooms::IntermediateTable": { "additionalProperties": false, "properties": { "Condition": { @@ -66916,69 +68117,44 @@ "Properties": { "additionalProperties": false, "properties": { - "Alias": { - "markdownDescription": "The type name alias for the Hook. This alias must be unique per account and Region.\n\nThe alias must be in the form `Name1::Name2::Name3` and must not begin with `AWS` . For example, `Private::Lambda::MyTestHook` .", - "title": "Alias", - "type": "string" - }, - "AutoUpdate": { - "type": "boolean" + "AnalysisRules": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRule" + }, + "type": "array" }, - "ExecutionRole": { - "markdownDescription": "The IAM role that the Hook assumes to invoke your Lambda function.", - "title": "ExecutionRole", + "Description": { "type": "string" }, - "FailureMode": { - "markdownDescription": "Specifies how the Hook responds when the Lambda function invoked by the Hook returns a `FAILED` response.\n\n- `FAIL` : Prevents the action from proceeding. This is helpful for enforcing strict compliance or security policies.\n- `WARN` : Issues warnings to users but allows actions to continue. This is useful for non-critical validations or informational checks.", - "title": "FailureMode", + "KmsKeyArn": { "type": "string" }, - "HookStatus": { - "markdownDescription": "Specifies if the Hook is `ENABLED` or `DISABLED` .", - "title": "HookStatus", + "MembershipIdentifier": { "type": "string" }, - "LambdaFunction": { - "markdownDescription": "Specifies the Lambda function for the Hook. You can use:\n\n- The full Amazon Resource Name (ARN) without a suffix.\n- A qualified ARN with a version or alias suffix.", - "title": "LambdaFunction", + "Name": { "type": "string" }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.LoggingConfig" - }, - "StackFilters": { - "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.StackFilters", - "markdownDescription": "Specifies the stack level filters for the Hook.\n\nExample stack level filter in JSON:\n\n`\"StackFilters\": {\"FilteringCriteria\": \"ALL\", \"StackNames\": {\"Exclude\": [ \"stack-1\", \"stack-2\"]}}` \n\nExample stack level filter in YAML:\n\n`StackFilters: FilteringCriteria: ALL StackNames: Exclude: - stack-1 - stack-2`", - "title": "StackFilters" - }, - "TargetFilters": { - "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.TargetFilters", - "markdownDescription": "Specifies the target filters for the Hook.\n\nExample target filter in JSON:\n\n`\"TargetFilters\": {\"Actions\": [ \"CREATE\", \"UPDATE\", \"DELETE\" ]}` \n\nExample target filter in YAML:\n\n`TargetFilters: Actions: - CREATE - UPDATE - DELETE`", - "title": "TargetFilters" + "PopulationAnalysisConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.PopulationAnalysisConfiguration" }, - "TargetOperations": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies the list of operations the Hook is run against. For more information, see [Hook targets](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-concepts.html#hook-terms-hook-target) in the *CloudFormation Hooks User Guide* .\n\nValid values: `STACK` | `RESOURCE` | `CHANGE_SET` | `CLOUD_CONTROL`", - "title": "TargetOperations", "type": "array" } }, "required": [ - "Alias", - "ExecutionRole", - "FailureMode", - "HookStatus", - "LambdaFunction", - "TargetOperations" + "MembershipIdentifier", + "Name", + "PopulationAnalysisConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::LambdaHook" + "AWS::CleanRooms::IntermediateTable" ], "type": "string" }, @@ -66997,141 +68173,214 @@ ], "type": "object" }, - "AWS::CloudFormation::LambdaHook.HookTarget": { + "AWS::CleanRooms::IntermediateTable.AggregationThreshold": { "additionalProperties": false, "properties": { - "Action": { + "AllowedAggregateExpressionType": { "type": "string" }, - "InvocationPoint": { - "type": "string" + "IdentityColumns": { + "items": { + "type": "string" + }, + "type": "array" }, - "TargetName": { + "MinimumIdentityCount": { + "type": "number" + }, + "OutputColumnThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.OutputColumnThreshold" + }, + "type": "array" + }, + "Type": { "type": "string" } }, "required": [ - "Action", - "InvocationPoint", - "TargetName" + "AllowedAggregateExpressionType", + "IdentityColumns", + "MinimumIdentityCount", + "Type" ], "type": "object" }, - "AWS::CloudFormation::LambdaHook.LoggingConfig": { + "AWS::CleanRooms::IntermediateTable.ComparisonControls": { "additionalProperties": false, "properties": { - "LogGroupName": { - "type": "string" + "AllowedColumnComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" }, - "LogRoleArn": { - "type": "string" + "AllowedLiteralComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "LogGroupName", - "LogRoleArn" + "AllowedColumnComparisonColumns", + "AllowedLiteralComparisonColumns" ], "type": "object" }, - "AWS::CloudFormation::LambdaHook.StackFilters": { + "AWS::CleanRooms::IntermediateTable.DifferentialPrivacy": { "additionalProperties": false, "properties": { - "FilteringCriteria": { - "markdownDescription": "The filtering criteria.\n\n- All stack names and stack roles ( `All` ): The Hook will only be invoked when all specified filters match.\n- Any stack names and stack roles ( `Any` ): The Hook will be invoked if at least one of the specified filters match.", - "title": "FilteringCriteria", - "type": "string" - }, - "StackNames": { - "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.StackNames", - "markdownDescription": "Includes or excludes specific stacks from Hook invocations.", - "title": "StackNames" - }, - "StackRoles": { - "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.StackRoles", - "markdownDescription": "Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.", - "title": "StackRoles" + "Columns": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.DifferentialPrivacyColumn" + }, + "type": "array" } }, "required": [ - "FilteringCriteria" + "Columns" ], "type": "object" }, - "AWS::CloudFormation::LambdaHook.StackNames": { + "AWS::CleanRooms::IntermediateTable.DifferentialPrivacyColumn": { "additionalProperties": false, "properties": { - "Exclude": { - "items": { - "type": "string" - }, - "markdownDescription": "The stack names to exclude. All stacks except those listed here will invoke the Hook.", - "title": "Exclude", - "type": "array" - }, - "Include": { - "items": { - "type": "string" - }, - "markdownDescription": "The stack names to include. Only the stacks specified in this list will invoke the Hook.", - "title": "Include", - "type": "array" + "Name": { + "type": "string" } }, + "required": [ + "Name" + ], "type": "object" }, - "AWS::CloudFormation::LambdaHook.StackRoles": { + "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRule": { "additionalProperties": false, "properties": { - "Exclude": { - "items": { - "type": "string" - }, - "markdownDescription": "The IAM role ARNs for stacks you want to exclude. The Hook will be invoked on all stacks except those initiated by the specified roles.", - "title": "Exclude", - "type": "array" + "Policy": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicy" }, - "Include": { - "items": { - "type": "string" - }, - "markdownDescription": "The IAM role ARNs to target stacks associated with these roles. Only stack operations initiated by these roles will invoke the Hook.", - "title": "Include", - "type": "array" + "Type": { + "type": "string" } }, + "required": [ + "Policy", + "Type" + ], "type": "object" }, - "AWS::CloudFormation::LambdaHook.TargetFilters": { + "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRuleCustom": { "additionalProperties": false, "properties": { - "Actions": { + "AdditionalAnalyses": { + "type": "string" + }, + "AggregationThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.AggregationThreshold" + }, + "type": "array" + }, + "AllowedAnalyses": { "items": { "type": "string" }, "type": "array" }, - "InvocationPoints": { + "AllowedAnalysisProviders": { "items": { "type": "string" }, "type": "array" }, - "TargetNames": { + "AllowedResultReceivers": { "items": { "type": "string" }, "type": "array" }, - "Targets": { + "ComparisonControls": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.ComparisonControls" + }, + "DifferentialPrivacy": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.DifferentialPrivacy" + }, + "DisallowedOutputColumns": { "items": { - "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.HookTarget" + "type": "string" }, "type": "array" } }, + "required": [ + "AllowedAnalyses" + ], "type": "object" }, - "AWS::CloudFormation::Macro": { + "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicy": { + "additionalProperties": false, + "properties": { + "V1": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicyV1" + } + }, + "required": [ + "V1" + ], + "type": "object" + }, + "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicyV1": { + "additionalProperties": false, + "properties": { + "Custom": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRuleCustom" + } + }, + "required": [ + "Custom" + ], + "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": { + "SqlParameters": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.PopulationAnalysisSqlParameters" + } + }, + "type": "object" + }, + "AWS::CleanRooms::IntermediateTable.PopulationAnalysisSqlParameters": { + "additionalProperties": false, + "properties": { + "AnalysisTemplateArn": { + "type": "string" + }, + "QueryString": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CleanRooms::Membership": { "additionalProperties": false, "properties": { "Condition": { @@ -67166,41 +68415,57 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description of the macro.", - "title": "Description", + "CollaborationIdentifier": { + "markdownDescription": "The unique ID for the associated collaboration.", + "title": "CollaborationIdentifier", "type": "string" }, - "FunctionName": { - "markdownDescription": "The Amazon Resource Name (ARN) of the underlying Lambda function that you want CloudFormation to invoke when the macro is run.", - "title": "FunctionName", - "type": "string" + "DefaultJobResultConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedJobResultConfiguration", + "markdownDescription": "The default job result configuration for the membership.", + "title": "DefaultJobResultConfiguration" }, - "LogGroupName": { - "markdownDescription": "The CloudWatch Logs group to which CloudFormation sends error logging information when invoking the macro's underlying Lambda function.\n\nThis will be an existing CloudWatch Logs LogGroup. Neither CloudFormation or Lambda will create the group.", - "title": "LogGroupName", - "type": "string" + "DefaultResultConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedQueryResultConfiguration", + "markdownDescription": "The default protected query result configuration as specified by the member who can receive results.", + "title": "DefaultResultConfiguration" }, - "LogRoleARN": { - "markdownDescription": "The ARN of the role CloudFormation should assume when sending log entries to CloudWatch Logs .", - "title": "LogRoleARN", + "IsMetricsEnabled": { + "type": "boolean" + }, + "JobLogStatus": { + "markdownDescription": "An indicator as to whether job logging has been enabled or disabled for the collaboration.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", + "title": "JobLogStatus", "type": "string" }, - "Name": { - "markdownDescription": "The name of the macro. The name of the macro must be unique across all macros in the account.", - "title": "Name", + "PaymentConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipPaymentConfiguration", + "markdownDescription": "The payment responsibilities accepted by the collaboration member.", + "title": "PaymentConfiguration" + }, + "QueryLogStatus": { + "markdownDescription": "An indicator as to whether query logging has been enabled or disabled for the membership.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", + "title": "QueryLogStatus", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", + "title": "Tags", + "type": "array" } }, "required": [ - "FunctionName", - "Name" + "CollaborationIdentifier", + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Macro" + "AWS::CleanRooms::Membership" ], "type": "string" }, @@ -67219,153 +68484,238 @@ ], "type": "object" }, - "AWS::CloudFormation::ModuleDefaultVersion": { + "AWS::CleanRooms::Membership.MembershipJobComputePaymentConfig": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration member has accepted to pay for job compute costs ( `TRUE` ) or has not accepted to pay for query and job compute costs ( `FALSE` ).\n\nThere is only one member who pays for queries and jobs.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for query and job compute costs.\n- If you set the value to `TRUE` but you are not responsible to pay for query and job compute costs.", + "title": "IsResponsible", + "type": "boolean" + } + }, + "required": [ + "IsResponsible" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipMLPaymentConfig": { + "additionalProperties": false, + "properties": { + "ModelInference": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipModelInferencePaymentConfig", + "markdownDescription": "The payment responsibilities accepted by the member for model inference.", + "title": "ModelInference" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ModelTraining": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipModelTrainingPaymentConfig", + "markdownDescription": "The payment responsibilities accepted by the member for model training.", + "title": "ModelTraining" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "SyntheticDataGeneration": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipSyntheticDataGenerationPaymentConfig", + "markdownDescription": "The payment configuration for synthetic data generation for this machine learning membership.", + "title": "SyntheticDataGeneration" + } + }, + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipModelInferencePaymentConfig": { + "additionalProperties": false, + "properties": { + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration member has accepted to pay for model inference costs ( `TRUE` ) or has not accepted to pay for model inference costs ( `FALSE` ).\n\nIf the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for model inference costs.\n- If you set the value to `TRUE` but you are not responsible to pay for model inference costs.", + "title": "IsResponsible", + "type": "boolean" + } + }, + "required": [ + "IsResponsible" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipModelTrainingPaymentConfig": { + "additionalProperties": false, + "properties": { + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration member has accepted to pay for model training costs ( `TRUE` ) or has not accepted to pay for model training costs ( `FALSE` ).\n\nIf the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for model training costs.\n- If you set the value to `TRUE` but you are not responsible to pay for model training costs.", + "title": "IsResponsible", + "type": "boolean" + } + }, + "required": [ + "IsResponsible" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipPaymentConfiguration": { + "additionalProperties": false, + "properties": { + "JobCompute": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipJobComputePaymentConfig", + "markdownDescription": "The payment responsibilities accepted by the collaboration member for job compute costs.", + "title": "JobCompute" }, - "Metadata": { - "type": "object" + "MachineLearning": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipMLPaymentConfig", + "markdownDescription": "The payment responsibilities accepted by the collaboration member for machine learning costs.", + "title": "MachineLearning" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the module version to set as the default version.\n\nConditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .", - "title": "Arn", - "type": "string" - }, - "ModuleName": { - "markdownDescription": "The name of the module.\n\nConditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .", - "title": "ModuleName", - "type": "string" - }, - "VersionId": { - "markdownDescription": "The ID for the specific version of the module.\n\nConditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .", - "title": "VersionId", - "type": "string" - } - }, - "type": "object" + "QueryCompute": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipQueryComputePaymentConfig", + "markdownDescription": "The payment responsibilities accepted by the collaboration member for query compute costs.", + "title": "QueryCompute" + } + }, + "required": [ + "QueryCompute" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipProtectedJobOutputConfiguration": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.ProtectedJobS3OutputConfigurationInput", + "markdownDescription": "Contains the configuration to write the job results to S3.", + "title": "S3" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipProtectedJobResultConfiguration": { + "additionalProperties": false, + "properties": { + "OutputConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedJobOutputConfiguration", + "markdownDescription": "The output configuration for a protected job result.", + "title": "OutputConfiguration" }, - "Type": { - "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" - ], + "RoleArn": { + "markdownDescription": "The unique ARN for an IAM role that is used by AWS Clean Rooms to write protected job results to the result location, given by the member who can receive results.", + "title": "RoleArn", "type": "string" + } + }, + "required": [ + "OutputConfiguration", + "RoleArn" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipProtectedQueryOutputConfiguration": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.ProtectedQueryS3OutputConfiguration", + "markdownDescription": "Required configuration for a protected query with an `s3` output type.", + "title": "S3" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipProtectedQueryResultConfiguration": { + "additionalProperties": false, + "properties": { + "OutputConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedQueryOutputConfiguration", + "markdownDescription": "Configuration for protected query results.", + "title": "OutputConfiguration" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RoleArn": { + "markdownDescription": "The unique ARN for an IAM role that is used by AWS Clean Rooms to write protected query results to the result location, given by the member who can receive results.", + "title": "RoleArn", "type": "string" } }, "required": [ - "Type" + "OutputConfiguration" ], "type": "object" }, - "AWS::CloudFormation::ModuleVersion": { + "AWS::CleanRooms::Membership.MembershipQueryComputePaymentConfig": { "additionalProperties": false, "properties": { - "Condition": { + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration member has accepted to pay for query compute costs ( `TRUE` ) or has not accepted to pay for query compute costs ( `FALSE` ).\n\nIf the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for query compute costs.\n- If you set the value to `TRUE` but you are not responsible to pay for query compute costs.", + "title": "IsResponsible", + "type": "boolean" + } + }, + "required": [ + "IsResponsible" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipSyntheticDataGenerationPaymentConfig": { + "additionalProperties": false, + "properties": { + "IsResponsible": { + "markdownDescription": "Indicates if this membership is responsible for paying for synthetic data generation.", + "title": "IsResponsible", + "type": "boolean" + } + }, + "required": [ + "IsResponsible" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.ProtectedJobS3OutputConfigurationInput": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The S3 bucket for job output.", + "title": "Bucket", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "KeyPrefix": { + "markdownDescription": "The S3 prefix to unload the protected job results.", + "title": "KeyPrefix", + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.ProtectedQueryS3OutputConfiguration": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The S3 bucket to unload the protected query results.", + "title": "Bucket", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ModuleName": { - "markdownDescription": "The name of the module being registered.", - "title": "ModuleName", - "type": "string" - }, - "ModulePackage": { - "markdownDescription": "A URL to the S3 bucket for the package that contains the template fragment and schema files for the module version to register.\n\nFor more information, see [Module structure and requirements](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/modules-structure.html) in the *CloudFormation Command Line Interface (CLI) User Guide* .\n\n> To register the module version, you must have `s3:GetObject` permissions to access the S3 objects.", - "title": "ModulePackage", - "type": "string" - } - }, - "required": [ - "ModuleName", - "ModulePackage" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ModuleVersion" - ], + "KeyPrefix": { + "markdownDescription": "The S3 prefix to unload the protected query results.", + "title": "KeyPrefix", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ResultFormat": { + "markdownDescription": "Intended file format of the result.", + "title": "ResultFormat", "type": "string" + }, + "SingleFileOutput": { + "markdownDescription": "Indicates whether files should be output as a single file ( `TRUE` ) or output as multiple files ( `FALSE` ). This parameter is only supported for analyses with the Spark analytics engine.", + "title": "SingleFileOutput", + "type": "boolean" } }, "required": [ - "Type", - "Properties" + "Bucket", + "ResultFormat" ], "type": "object" }, - "AWS::CloudFormation::PublicTypeVersion": { + "AWS::CleanRooms::PrivacyBudgetTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -67400,37 +68750,46 @@ "Properties": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Number (ARN) of the extension.\n\nConditional: You must specify `Arn` , or `TypeName` and `Type` .", - "title": "Arn", + "AutoRefresh": { + "markdownDescription": "How often the privacy budget refreshes.\n\n> If you plan to regularly bring new data into the collaboration, use `CALENDAR_MONTH` to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.", + "title": "AutoRefresh", "type": "string" }, - "LogDeliveryBucket": { - "markdownDescription": "The S3 bucket to which CloudFormation delivers the contract test execution logs.\n\nCloudFormation delivers the logs by the time contract testing has completed and the extension has been assigned a test type status of `PASSED` or `FAILED` .\n\nThe user initiating the stack operation must be able to access items in the specified S3 bucket. Specifically, the user needs the following permissions:\n\n- s3:GetObject\n- s3:PutObject", - "title": "LogDeliveryBucket", + "MembershipIdentifier": { + "markdownDescription": "The identifier for a membership resource.", + "title": "MembershipIdentifier", "type": "string" }, - "PublicVersionNumber": { - "markdownDescription": "The version number to assign to this version of the extension.\n\nUse the following format, and adhere to semantic versioning when assigning a version number to your extension:\n\n`MAJOR.MINOR.PATCH`\n\nFor more information, see [Semantic Versioning 2.0.0](https://docs.aws.amazon.com/https://semver.org/) .\n\nIf you don't specify a version number, CloudFormation increments the version number by one minor version release.\n\nYou cannot specify a version number the first time you publish a type. CloudFormation automatically sets the first version number to be `1.0.0` .", - "title": "PublicVersionNumber", - "type": "string" + "Parameters": { + "$ref": "#/definitions/AWS::CleanRooms::PrivacyBudgetTemplate.Parameters", + "markdownDescription": "Specifies the epsilon and noise parameters for the privacy budget template.", + "title": "Parameters" }, - "Type": { - "markdownDescription": "The type of the extension to test.\n\nConditional: You must specify `Arn` , or `TypeName` and `Type` .", - "title": "Type", + "PrivacyBudgetType": { + "markdownDescription": "Specifies the type of the privacy budget template.", + "title": "PrivacyBudgetType", "type": "string" }, - "TypeName": { - "markdownDescription": "The name of the extension to test.\n\nConditional: You must specify `Arn` , or `TypeName` and `Type` .", - "title": "TypeName", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", + "title": "Tags", + "type": "array" } }, + "required": [ + "AutoRefresh", + "MembershipIdentifier", + "Parameters", + "PrivacyBudgetType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::PublicTypeVersion" + "AWS::CleanRooms::PrivacyBudgetTemplate" ], "type": "string" }, @@ -67444,11 +68803,66 @@ } }, "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CleanRooms::PrivacyBudgetTemplate.BudgetParameter": { + "additionalProperties": false, + "properties": { + "AutoRefresh": { + "markdownDescription": "Whether this individual budget parameter automatically refreshes when the budget period resets.", + "title": "AutoRefresh", + "type": "string" + }, + "Budget": { + "markdownDescription": "The budget allocation amount for this specific parameter.", + "title": "Budget", + "type": "number" + }, + "Type": { + "markdownDescription": "The type of budget parameter being configured.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Budget", "Type" ], "type": "object" }, - "AWS::CloudFormation::Publisher": { + "AWS::CleanRooms::PrivacyBudgetTemplate.Parameters": { + "additionalProperties": false, + "properties": { + "BudgetParameters": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::PrivacyBudgetTemplate.BudgetParameter" + }, + "markdownDescription": "", + "title": "BudgetParameters", + "type": "array" + }, + "Epsilon": { + "markdownDescription": "The epsilon value that you want to use.", + "title": "Epsilon", + "type": "number" + }, + "ResourceArn": { + "markdownDescription": "", + "title": "ResourceArn", + "type": "string" + }, + "UsersNoisePerQuery": { + "markdownDescription": "Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted.", + "title": "UsersNoisePerQuery", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CleanRoomsML::AudienceGenerationJob": { "additionalProperties": false, "properties": { "Condition": { @@ -67483,25 +68897,24 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptTermsAndConditions": { - "markdownDescription": "Whether you accept the [Terms and Conditions](https://docs.aws.amazon.com/https://cloudformation-registry-documents.s3.amazonaws.com/Terms_and_Conditions_for_AWS_CloudFormation_Registry_Publishers.pdf) for publishing extensions in the CloudFormation registry. You must accept the terms and conditions in order to register to publish public extensions to the CloudFormation registry.\n\nThe default is `false` .", - "title": "AcceptTermsAndConditions", + "Description": { + "type": "string" + }, + "IncludeSeedInOutput": { "type": "boolean" }, - "ConnectionArn": { - "markdownDescription": "If you are using a Bitbucket or GitHub account for identity verification, the Amazon Resource Name (ARN) for your connection to that account.\n\nFor more information, see [Prerequisite: Registering your account to publish CloudFormation extensions](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs) in the *AWS CloudFormation Command Line Interface (CLI) User Guide* .", - "title": "ConnectionArn", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "AcceptTermsAndConditions" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Publisher" + "AWS::CleanRoomsML::AudienceGenerationJob" ], "type": "string" }, @@ -67514,13 +68927,61 @@ "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", - "Properties" + "Value" ], "type": "object" }, - "AWS::CloudFormation::ResourceDefaultVersion": { + "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": { @@ -67554,28 +69015,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "TypeName": { - "markdownDescription": "The name of the resource.\n\nConditional: You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", - "title": "TypeName", - "type": "string" - }, - "TypeVersionArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource version.\n\nConditional: You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", - "title": "TypeVersionArn", - "type": "string" - }, - "VersionId": { - "markdownDescription": "The ID of a specific version of the resource. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the resource version when it's registered.\n\nConditional: You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", - "title": "VersionId", - "type": "string" - } - }, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" + "AWS::CleanRoomsML::AudienceModel" ], "type": "string" }, @@ -67593,7 +69038,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceScan": { + "AWS::CleanRoomsML::ConfiguredAudienceModel": { "additionalProperties": false, "properties": { "Condition": { @@ -67627,19 +69072,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "ScanFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::ResourceScan.ScanFilter" - }, - "type": "array" - } - }, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceScan" + "AWS::CleanRoomsML::ConfiguredAudienceModel" ], "type": "string" }, @@ -67657,19 +69095,66 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceScan.ScanFilter": { + "AWS::CleanRoomsML::ConfiguredAudienceModel.AudienceDestination": { "additionalProperties": false, "properties": { - "Types": { + "S3Destination": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredAudienceModel.S3ConfigMap" + } + }, + "required": [ + "S3Destination" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredAudienceModel.AudienceSizeConfig": { + "additionalProperties": false, + "properties": { + "AudienceSizeBins": { "items": { - "type": "string" + "type": "number" }, "type": "array" + }, + "AudienceSizeType": { + "type": "string" } }, + "required": [ + "AudienceSizeBins", + "AudienceSizeType" + ], "type": "object" }, - "AWS::CloudFormation::ResourceVersion": { + "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": { "Condition": { @@ -67704,36 +69189,40 @@ "Properties": { "additionalProperties": false, "properties": { - "ExecutionRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the resource. If your resource calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. When CloudFormation needs to invoke the resource type handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource type handler, thereby supplying your resource type with the appropriate credentials.", - "title": "ExecutionRoleArn", + "Description": { "type": "string" }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig", - "markdownDescription": "Logging configuration information for a resource.", - "title": "LoggingConfig" + "InferenceContainerConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.InferenceContainerConfig" }, - "SchemaHandlerPackage": { - "markdownDescription": "A URL to the S3 bucket for the resource project package that contains the necessary files for the resource you want to register.\n\nFor information on generating a schema handler package, see [Modeling resource types to use with CloudFormation](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-model.html) in the *CloudFormation Command Line Interface (CLI) User Guide* .\n\n> To register the resource version, you must have `s3:GetObject` permissions to access the S3 objects.", - "title": "SchemaHandlerPackage", + "KmsKeyArn": { "type": "string" }, - "TypeName": { - "markdownDescription": "The name of the resource being registered.\n\nWe recommend that resource names adhere to the following pattern: *company_or_organization* :: *service* :: *type* .\n\n> The following organization namespaces are reserved and can't be used in your resource names:\n> \n> - `Alexa`\n> - `AMZN`\n> - `Amazon`\n> - `AWS`\n> - `Custom`\n> - `Dev`", - "title": "TypeName", + "Name": { + "type": "string" + }, + "RoleArn": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrainingContainerConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.ContainerConfig" } }, "required": [ - "SchemaHandlerPackage", - "TypeName" + "Name", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceVersion" + "AWS::CleanRoomsML::ConfiguredModelAlgorithm" ], "type": "string" }, @@ -67752,122 +69241,65 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceVersion.LoggingConfig": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithm.ContainerConfig": { "additionalProperties": false, "properties": { - "LogGroupName": { - "markdownDescription": "The Amazon CloudWatch logs group to which CloudFormation sends error logging information when invoking the type's handlers.", - "title": "LogGroupName", - "type": "string" + "Arguments": { + "items": { + "type": "string" + }, + "type": "array" }, - "LogRoleArn": { - "markdownDescription": "The ARN of the role that CloudFormation should assume when sending log entries to CloudWatch logs.", - "title": "LogRoleArn", + "Entrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ImageUri": { "type": "string" + }, + "MetricDefinitions": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.MetricDefinition" + }, + "type": "array" } }, + "required": [ + "ImageUri" + ], "type": "object" }, - "AWS::CloudFormation::Stack": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithm.InferenceContainerConfig": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ImageUri": { "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NotificationARNs": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI).", - "title": "NotificationARNs", - "type": "array" - }, - "Parameters": { - "additionalProperties": true, - "markdownDescription": "The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter.\n\n> If you use the `Ref` function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type `String` . In other words, you can't pass values that are of type `CommaDelimitedList` to nested stacks. \n\nRequired if the nested stack requires input parameters.\n\nWhether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Parameters", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified.", - "title": "Tags", - "type": "array" - }, - "TemplateURL": { - "markdownDescription": "The URL of a file that contains the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket. The location for an Amazon S3 bucket must start with `https://` .\n\nWhether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.", - "title": "TemplateURL", - "type": "string" - }, - "TimeoutInMinutes": { - "markdownDescription": "The length of time, in minutes, that CloudFormation waits for the nested stack to reach the `CREATE_COMPLETE` state. The default is no timeout. When CloudFormation detects that the nested stack has reached the `CREATE_COMPLETE` state, it marks the nested stack resource as `CREATE_COMPLETE` in the parent stack and resumes creating the parent stack. If the timeout period expires before the nested stack reaches `CREATE_COMPLETE` , CloudFormation marks the nested stack as failed and rolls back both the nested stack and parent stack.\n\nUpdates aren't supported.", - "title": "TimeoutInMinutes", - "type": "number" - } - }, - "required": [ - "TemplateURL" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::Stack" - ], + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithm.MetricDefinition": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Regex": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Name", + "Regex" ], "type": "object" }, - "AWS::CloudFormation::StackSet": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -67902,103 +69334,38 @@ "Properties": { "additionalProperties": false, "properties": { - "AdministrationRoleARN": { - "markdownDescription": "The Amazon Resource Number (ARN) of the IAM role to use to create this StackSet. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account.\n\nUse customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account. For more information, see [Grant self-managed permissions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) in the *CloudFormation User Guide* .\n\nValid only if the permissions model is `SELF_MANAGED` .", - "title": "AdministrationRoleARN", - "type": "string" - }, - "AutoDeployment": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment", - "markdownDescription": "Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU). For more information, see [Enable or disable automatic deployments for StackSets in AWS Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html) in the *CloudFormation User Guide* .\n\nRequired if the permissions model is `SERVICE_MANAGED` . (Not used with self-managed permissions.)", - "title": "AutoDeployment" - }, - "CallAs": { - "markdownDescription": "Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.\n\nBy default, `SELF` is specified. Use `SELF` for StackSets with self-managed permissions.\n\n- To create a StackSet with service-managed permissions while signed in to the management account, specify `SELF` .\n- To create a StackSet with service-managed permissions while signed in to a delegated administrator account, specify `DELEGATED_ADMIN` .\n\nYour AWS account must be registered as a delegated admin in the management account. For more information, see [Register a delegated administrator](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) in the *CloudFormation User Guide* .\n\nStackSets with service-managed permissions are created in the management account, including StackSets that are created by delegated administrators.\n\nValid only if the permissions model is `SERVICE_MANAGED` .", - "title": "CallAs", + "ConfiguredModelAlgorithmArn": { "type": "string" }, - "Capabilities": { - "items": { - "type": "string" - }, - "markdownDescription": "The capabilities that are allowed in the StackSet. Some StackSet templates might include resources that can affect permissions in your AWS account \u2014for example, by creating new IAM users. For more information, see [Acknowledging IAM resources in CloudFormation templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities) in the *CloudFormation User Guide* .", - "title": "Capabilities", - "type": "array" - }, "Description": { - "markdownDescription": "A description of the StackSet.", - "title": "Description", "type": "string" }, - "ExecutionRoleName": { - "markdownDescription": "The name of the IAM execution role to use to create the StackSet. If you don't specify an execution role, CloudFormation uses the `AWSCloudFormationStackSetExecutionRole` role for the StackSet operation.\n\nValid only if the permissions model is `SELF_MANAGED` .\n\n*Pattern* : `[a-zA-Z_0-9+=,.@-]+`", - "title": "ExecutionRoleName", + "MembershipIdentifier": { "type": "string" }, - "ManagedExecution": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.ManagedExecution", - "markdownDescription": "Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations.\n\nWhen active, StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order.\n\n> If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting.\n> \n> You can't modify your StackSet's execution configuration while there are running or queued operations for that StackSet. \n\nWhen inactive (default), StackSets performs one operation at a time in request order.", - "title": "ManagedExecution" - }, - "OperationPreferences": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences", - "markdownDescription": "The user-specified preferences for how CloudFormation performs a StackSet operation.", - "title": "OperationPreferences" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" - }, - "markdownDescription": "The input parameters for the StackSet template.", - "title": "Parameters", - "type": "array" - }, - "PermissionModel": { - "markdownDescription": "Describes how the IAM roles required for StackSet operations are created.\n\n- With `SELF_MANAGED` permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see [Grant self-managed permissions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) in the *CloudFormation User Guide* .\n- With `SERVICE_MANAGED` permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations . For more information, see [Activate trusted access for StackSets with AWS Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-activate-trusted-access.html) in the *CloudFormation User Guide* .", - "title": "PermissionModel", + "Name": { "type": "string" }, - "StackInstancesGroup": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" - }, - "markdownDescription": "A group of stack instances with parameters in some specific accounts and Regions.", - "title": "StackInstancesGroup", - "type": "array" - }, - "StackSetName": { - "markdownDescription": "The name to associate with the StackSet. The name must be unique in the Region where you create your StackSet.", - "title": "StackSetName", - "type": "string" + "PrivacyConfiguration": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Key-value pairs to associate with this stack. CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 50 tags.\n\nIf you don't specify this parameter, CloudFormation doesn't modify the stack's tags. If you specify an empty value, CloudFormation removes all associated tags.", - "title": "Tags", "type": "array" - }, - "TemplateBody": { - "markdownDescription": "The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes.\n\nYou must include either `TemplateURL` or `TemplateBody` in a StackSet, but you can't use both. Dynamic references in the `TemplateBody` may not work correctly in all cases. It's recommended to pass templates that contain dynamic references through `TemplateUrl` instead.", - "title": "TemplateBody", - "type": "string" - }, - "TemplateURL": { - "markdownDescription": "The URL of a file that contains the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket or a Systems Manager document. The location for an Amazon S3 bucket must start with `https://` .\n\nConditional: You must specify only one of the following parameters: `TemplateBody` , `TemplateURL` .", - "title": "TemplateURL", - "type": "string" } }, "required": [ - "PermissionModel", - "StackSetName" + "ConfiguredModelAlgorithmArn", + "MembershipIdentifier", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::StackSet" + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation" ], "type": "string" }, @@ -68017,169 +69384,203 @@ ], "type": "object" }, - "AWS::CloudFormation::StackSet.AutoDeployment": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig": { "additionalProperties": false, "properties": { - "DependsOn": { + "CustomDataIdentifiers": { "items": { "type": "string" }, - "markdownDescription": "A list of StackSet ARNs that this StackSet depends on for auto-deployment operations. When auto-deployment is triggered, operations will be sequenced to ensure all dependencies complete successfully before this StackSet's operation begins.", - "title": "DependsOn", "type": "array" - }, - "Enabled": { - "markdownDescription": "If set to `true` , StackSets automatically deploys additional stack instances to AWS Organizations accounts that are added to a target organization or organizational unit (OU) in the specified Regions. If an account is removed from a target organization or OU, StackSets deletes stack instances from the account in the specified Regions.", - "title": "Enabled", - "type": "boolean" - }, - "RetainStacksOnAccountRemoval": { - "markdownDescription": "If set to `true` , stack resources are retained when an account is removed from a target organization or OU. If set to `false` , stack resources are deleted. Specify only if `Enabled` is set to `True` .", - "title": "RetainStacksOnAccountRemoval", - "type": "boolean" } }, + "required": [ + "CustomDataIdentifiers" + ], "type": "object" }, - "AWS::CloudFormation::StackSet.DeploymentTargets": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration": { "additionalProperties": false, "properties": { - "AccountFilterType": { - "markdownDescription": "Refines which accounts to deploy stacks to by specifying how to use the `Accounts` and `OrganizationalUnitIds` properties together.\n\nThe following values determine how CloudFormation selects target accounts:\n\n- `INTERSECTION` : StackSet deploys to the accounts specified in the `Accounts` property.\n- `DIFFERENCE` : StackSet deploys to the OU, excluding the accounts specified in the `Accounts` property.\n- `UNION` : StackSet deploys to the OU, and the accounts specified in the `Accounts` property. `UNION` is not supported for create operations when using StackSet as a resource or the `CreateStackInstances` API.", - "title": "AccountFilterType", - "type": "string" + "CustomEntityConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig" }, - "Accounts": { + "EntitiesToRedact": { "items": { "type": "string" }, - "markdownDescription": "The account IDs of the AWS accounts . If you have many account numbers, you can provide those accounts using the `AccountsUrl` property instead.\n\n*Pattern* : `^[0-9]{12}$`", - "title": "Accounts", "type": "array" - }, - "AccountsUrl": { - "markdownDescription": "The Amazon S3 URL path to a file that contains a list of AWS account IDs. The file format must be either `.csv` or `.txt` , and the data can be comma-separated or new-line-separated. There is currently a 10MB limit for the data (approximately 800,000 accounts).\n\nThis property serves the same purpose as `Accounts` but allows you to specify a large number of accounts.", - "title": "AccountsUrl", - "type": "string" - }, - "OrganizationalUnitIds": { + } + }, + "required": [ + "EntitiesToRedact" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy": { + "additionalProperties": false, + "properties": { + "AllowedAccountIds": { "items": { "type": "string" }, - "markdownDescription": "The organization root ID or organizational unit (OU) IDs.\n\n*Pattern* : `^(ou-[a-z0-9]{4,32}-[a-z0-9]{8,32}|r-[a-z0-9]{4,32})$`", - "title": "OrganizationalUnitIds", "type": "array" + }, + "FilterPattern": { + "type": "string" + }, + "LogRedactionConfiguration": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration" + }, + "LogType": { + "type": "string" } }, + "required": [ + "AllowedAccountIds" + ], "type": "object" }, - "AWS::CloudFormation::StackSet.ManagedExecution": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.MetricsConfigurationPolicy": { "additionalProperties": false, "properties": { - "Active": { - "markdownDescription": "When `true` , CloudFormation performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, CloudFormation starts queued operations in request order.\n\n> If there are already running or queued operations, CloudFormation queues all incoming operations even if they are non-conflicting.\n> \n> You can't modify your StackSet's execution configuration while there are running or queued operations for that StackSet. \n\nWhen `false` (default), StackSets performs one operation at a time in request order.", - "title": "Active", - "type": "boolean" + "NoiseLevel": { + "type": "string" } }, + "required": [ + "NoiseLevel" + ], "type": "object" }, - "AWS::CloudFormation::StackSet.OperationPreferences": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration": { "additionalProperties": false, "properties": { - "ConcurrencyMode": { - "markdownDescription": "Specifies how the concurrency level behaves during the operation execution.\n\n- `STRICT_FAILURE_TOLERANCE` : This option dynamically lowers the concurrency level to ensure the number of failed accounts never exceeds the value of `FailureToleranceCount` +1. The initial actual concurrency is set to the lower of either the value of the `MaxConcurrentCount` , or the value of `FailureToleranceCount` +1. The actual concurrency is then reduced proportionally by the number of failures. This is the default behavior.\n\nIf failure tolerance or Maximum concurrent accounts are set to percentages, the behavior is similar.\n- `SOFT_FAILURE_TOLERANCE` : This option decouples `FailureToleranceCount` from the actual concurrency. This allows StackSet operations to run at the concurrency level set by the `MaxConcurrentCount` value, or `MaxConcurrentPercentage` , regardless of the number of failures.", - "title": "ConcurrencyMode", - "type": "string" - }, - "FailureToleranceCount": { - "markdownDescription": "The number of accounts per Region this operation can fail in before CloudFormation stops the operation in that Region. If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions.\n\nConditional: You must specify either `FailureToleranceCount` or `FailureTolerancePercentage` (but not both).", - "title": "FailureToleranceCount", - "type": "number" - }, - "FailureTolerancePercentage": { - "markdownDescription": "The percentage of accounts per Region this stack operation can fail in before CloudFormation stops the operation in that Region. If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions.\n\nWhen calculating the number of accounts based on the specified percentage, CloudFormation rounds *down* to the next whole number.\n\nConditional: You must specify either `FailureToleranceCount` or `FailureTolerancePercentage` , but not both.", - "title": "FailureTolerancePercentage", - "type": "number" - }, - "MaxConcurrentCount": { - "markdownDescription": "The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of `FailureToleranceCount` . `MaxConcurrentCount` is at most one more than the `FailureToleranceCount` .\n\nNote that this setting lets you specify the *maximum* for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.\n\nConditional: You must specify either `MaxConcurrentCount` or `MaxConcurrentPercentage` , but not both.", - "title": "MaxConcurrentCount", - "type": "number" - }, - "MaxConcurrentPercentage": { - "markdownDescription": "The maximum percentage of accounts in which to perform this operation at one time.\n\nWhen calculating the number of accounts based on the specified percentage, CloudFormation rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, CloudFormation sets the number as one instead.\n\nNote that this setting lets you specify the *maximum* for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.\n\nConditional: You must specify either `MaxConcurrentCount` or `MaxConcurrentPercentage` , but not both.", - "title": "MaxConcurrentPercentage", - "type": "number" + "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" }, - "RegionConcurrencyType": { - "markdownDescription": "The concurrency type of deploying StackSets operations in Regions, could be in parallel or one Region at a time.", - "title": "RegionConcurrencyType", - "type": "string" + "TrainedModelInferenceJobs": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceJobsConfigurationPolicy" }, - "RegionOrder": { - "items": { - "type": "string" - }, - "markdownDescription": "The order of the Regions where you want to perform the stack operation.", - "title": "RegionOrder", - "type": "array" + "TrainedModels": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelsConfigurationPolicy" } }, "type": "object" }, - "AWS::CloudFormation::StackSet.Parameter": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelArtifactMaxSize": { "additionalProperties": false, "properties": { - "ParameterKey": { - "markdownDescription": "The key associated with the parameter. If you don't specify a key and value for a particular parameter, CloudFormation uses the default value that's specified in your template.", - "title": "ParameterKey", + "Unit": { "type": "string" }, - "ParameterValue": { - "markdownDescription": "The input value associated with the parameter.", - "title": "ParameterValue", - "type": "string" + "Value": { + "type": "number" } }, "required": [ - "ParameterKey", - "ParameterValue" + "Unit", + "Value" ], "type": "object" }, - "AWS::CloudFormation::StackSet.StackInstances": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsConfigurationPolicy": { "additionalProperties": false, "properties": { - "DeploymentTargets": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets", - "markdownDescription": "The AWS Organizations accounts or AWS accounts to deploy stacks to in the specified Regions.", - "title": "DeploymentTargets" - }, - "ParameterOverrides": { + "FilesToExport": { "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + "type": "string" }, - "markdownDescription": "A list of StackSet parameters whose values you want to override in the selected stack instances.", - "title": "ParameterOverrides", "type": "array" }, - "Regions": { - "items": { - "type": "string" - }, - "markdownDescription": "The names of one or more Regions where you want to create stack instances using the specified AWS accounts .", - "title": "Regions", + "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": [ - "DeploymentTargets", - "Regions" + "Unit", + "Value" ], "type": "object" }, - "AWS::CloudFormation::TypeActivation": { + "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": { @@ -68213,63 +69614,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "AutoUpdate": { - "markdownDescription": "Whether to automatically update the extension in this account and Region when a new *minor* version is published by the extension publisher. Major versions released by the publisher must be manually updated.\n\nThe default is `true` .", - "title": "AutoUpdate", - "type": "boolean" - }, - "ExecutionRoleArn": { - "markdownDescription": "The name of the IAM execution role to use to activate the extension.", - "title": "ExecutionRoleArn", - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::TypeActivation.LoggingConfig", - "markdownDescription": "Specifies logging configuration information for an extension.", - "title": "LoggingConfig" - }, - "MajorVersion": { - "markdownDescription": "The major version of this extension you want to activate, if multiple major versions are available. The default is the latest major version. CloudFormation uses the latest available *minor* version of the major version selected.\n\nYou can specify `MajorVersion` or `VersionBump` , but not both.", - "title": "MajorVersion", - "type": "string" - }, - "PublicTypeArn": { - "markdownDescription": "The Amazon Resource Number (ARN) of the public extension.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", - "title": "PublicTypeArn", - "type": "string" - }, - "PublisherId": { - "markdownDescription": "The ID of the extension publisher.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", - "title": "PublisherId", - "type": "string" - }, - "Type": { - "markdownDescription": "The extension type.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", - "title": "Type", - "type": "string" - }, - "TypeName": { - "markdownDescription": "The name of the extension.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", - "title": "TypeName", - "type": "string" - }, - "TypeNameAlias": { - "markdownDescription": "An alias to assign to the public extension in this account and Region. If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and Region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console.\n\nAn extension alias must be unique within a given account and Region. You can activate the same public resource multiple times in the same account and Region, using different type name aliases.", - "title": "TypeNameAlias", - "type": "string" - }, - "VersionBump": { - "markdownDescription": "Manually updates a previously-activated type to a new major or minor version, if available. You can also use this parameter to update the value of `AutoUpdate` .\n\n- `MAJOR` : CloudFormation updates the extension to the newest major version, if one is available.\n- `MINOR` : CloudFormation updates the extension to the newest minor version, if one is available.", - "title": "VersionBump", - "type": "string" - } - }, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::TypeActivation" + "AWS::CleanRoomsML::MLInputChannel" ], "type": "string" }, @@ -68287,156 +69637,246 @@ ], "type": "object" }, - "AWS::CloudFormation::TypeActivation.LoggingConfig": { + "AWS::CleanRoomsML::MLInputChannel.AccessBudget": { "additionalProperties": false, "properties": { - "LogGroupName": { - "markdownDescription": "The Amazon CloudWatch Logs group to which CloudFormation sends error logging information when invoking the extension's handlers.", - "title": "LogGroupName", - "type": "string" + "AggregateRemainingBudget": { + "type": "number" }, - "LogRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role that CloudFormation should assume when sending log entries to CloudWatch Logs.", - "title": "LogRoleArn", + "Details": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.AccessBudgetDetails" + }, + "type": "array" + }, + "ResourceArn": { "type": "string" } }, + "required": [ + "AggregateRemainingBudget", + "Details", + "ResourceArn" + ], "type": "object" }, - "AWS::CloudFormation::WaitCondition": { + "AWS::CleanRoomsML::MLInputChannel.AccessBudgetDetails": { "additionalProperties": false, "properties": { - "Condition": { + "AutoRefresh": { "type": "string" }, - "CreationPolicy": { - "type": "object" + "Budget": { + "type": "number" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "BudgetType": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "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" }, - "Metadata": { - "type": "object" + "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" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Count": { - "markdownDescription": "The number of success signals that CloudFormation must receive before it continues the stack creation process. When the wait condition receives the requisite number of success signals, CloudFormation resumes the creation of the stack. If the wait condition doesn't receive the specified number of success signals before the Timeout period expires, CloudFormation assumes that the wait condition has failed and rolls the stack back.\n\nUpdates aren't supported.", - "title": "Count", - "type": "number" - }, - "Handle": { - "markdownDescription": "A reference to the wait condition handle used to signal this wait condition. Use the `Ref` intrinsic function to specify an [AWS::CloudFormation::WaitConditionHandle](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-waitconditionhandle.html) resource.\n\nAnytime you add a `WaitCondition` resource during a stack update, you must associate the wait condition with a new WaitConditionHandle resource. Don't reuse an old wait condition handle that has already been defined in the template. If you reuse a wait condition handle, the wait condition might evaluate old signals from a previous create or update stack command.\n\nUpdates aren't supported.", - "title": "Handle", - "type": "string" - }, - "Timeout": { - "markdownDescription": "The length of time (in seconds) to wait for the number of signals that the `Count` property specifies. `Timeout` is a minimum-bound property, meaning the timeout occurs no sooner than the time you specify, but can occur shortly thereafter. The maximum time that can be specified for this property is 12 hours (43200 seconds).\n\nUpdates aren't supported.", - "title": "Timeout", + "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" }, - "Type": { - "enum": [ - "AWS::CloudFormation::WaitCondition" - ], + "ResultFormat": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "SqlParameters": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.ProtectedQuerySQLParameters" } }, "required": [ - "Type" + "SqlParameters" ], "type": "object" }, - "AWS::CloudFormation::WaitConditionHandle": { + "AWS::CleanRoomsML::MLInputChannel.ProtectedQuerySQLParameters": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AnalysisTemplateArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, + }, "type": "object" }, - "Type": { - "enum": [ - "AWS::CloudFormation::WaitConditionHandle" - ], + "QueryString": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.SyntheticDataColumnProperties": { + "additionalProperties": false, + "properties": { + "ColumnName": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ColumnType": { "type": "string" + }, + "IsPredictiveValue": { + "type": "boolean" } }, "required": [ - "Type" + "ColumnName", + "ColumnType", + "IsPredictiveValue" ], "type": "object" }, - "AWS::CloudFront::AnycastIpList": { + "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": { @@ -68471,44 +69911,42 @@ "Properties": { "additionalProperties": false, "properties": { - "IpAddressType": { - "markdownDescription": "The IP address type for the Anycast static IP list.", - "title": "IpAddressType", + "ConfiguredModelAlgorithmAssociationArn": { "type": "string" }, - "IpCount": { - "markdownDescription": "The number of IP addresses in the Anycast static IP list.", - "title": "IpCount", - "type": "number" + "DataSource": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.ModelInferenceDataSource" }, - "IpamCidrConfigs": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::AnycastIpList.IpamCidrConfig" - }, - "markdownDescription": "A list of IPAM CIDR configurations that define the IP address ranges, IPAM pools, and associated Anycast IP addresses.", - "title": "IpamCidrConfigs", - "type": "array" + "Description": { + "type": "string" + }, + "MembershipIdentifier": { + "type": "string" }, "Name": { - "markdownDescription": "The name of the Anycast static IP list.", - "title": "Name", "type": "string" }, + "OutputConfiguration": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceOutputConfiguration" + }, + "ResourceConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceResourceConfig" + }, "Tags": { - "$ref": "#/definitions/AWS::CloudFront::AnycastIpList.Tags", - "markdownDescription": "A complex type that contains zero or more `Tag` elements.", - "title": "Tags" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrainedModelArn": { + "type": "string" } }, - "required": [ - "IpCount", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::AnycastIpList" + "AWS::CleanRoomsML::TrainedModelInferenceJob" ], "type": "string" }, @@ -68522,138 +69960,68 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::CloudFront::AnycastIpList.AnycastIpList": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceOutputConfiguration": { "additionalProperties": false, "properties": { - "AnycastIps": { - "items": { - "type": "string" - }, - "markdownDescription": "The static IP addresses that are allocated to the Anycast static IP list.", - "title": "AnycastIps", - "type": "array" - }, - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Anycast static IP list.", - "title": "Arn", - "type": "string" - }, - "Id": { - "markdownDescription": "The ID of the Anycast static IP list.", - "title": "Id", - "type": "string" - }, - "IpAddressType": { - "markdownDescription": "The IP address type for the Anycast static IP list.", - "title": "IpAddressType", + "Accept": { "type": "string" }, - "IpCount": { - "markdownDescription": "The number of IP addresses in the Anycast static IP list.", - "title": "IpCount", - "type": "number" - }, - "IpamCidrConfigResults": { + "Members": { "items": { - "$ref": "#/definitions/AWS::CloudFront::AnycastIpList.IpamCidrConfigResult" + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceReceiverMember" }, - "markdownDescription": "The results for the IPAM CIDRs that defines a specific IP address range, IPAM pool, and associated Anycast IP address.", - "title": "IpamCidrConfigResults", "type": "array" - }, - "LastModifiedTime": { - "markdownDescription": "The last time the Anycast static IP list was modified.", - "title": "LastModifiedTime", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the Anycast static IP list.", - "title": "Name", - "type": "string" - }, - "Status": { - "markdownDescription": "The status of the Anycast static IP list. Valid values: `Deployed` , `Deploying` , or `Failed` .", - "title": "Status", - "type": "string" } }, "required": [ - "AnycastIps", - "Arn", - "Id", - "IpCount", - "LastModifiedTime", - "Name", - "Status" + "Members" ], "type": "object" }, - "AWS::CloudFront::AnycastIpList.IpamCidrConfig": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceReceiverMember": { "additionalProperties": false, "properties": { - "Cidr": { - "markdownDescription": "The CIDR that specifies the IP address range for this IPAM configuration.", - "title": "Cidr", - "type": "string" - }, - "IpamPoolArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IPAM pool that the CIDR block is assigned to.", - "title": "IpamPoolArn", + "AccountId": { "type": "string" } }, "required": [ - "Cidr", - "IpamPoolArn" + "AccountId" ], "type": "object" }, - "AWS::CloudFront::AnycastIpList.IpamCidrConfigResult": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceResourceConfig": { "additionalProperties": false, "properties": { - "AnycastIp": { - "markdownDescription": "The specified Anycast IP address allocated from the IPAM pool for this CIDR configuration.", - "title": "AnycastIp", - "type": "string" - }, - "Cidr": { - "markdownDescription": "The CIDR that specifies the IP address range for this IPAM configuration.", - "title": "Cidr", - "type": "string" - }, - "IpamPoolArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IPAM pool that the CIDR block is assigned to.", - "title": "IpamPoolArn", - "type": "string" + "InstanceCount": { + "type": "number" }, - "Status": { - "markdownDescription": "The current status of the IPAM CIDR configuration.", - "title": "Status", + "InstanceType": { "type": "string" } }, + "required": [ + "InstanceType" + ], "type": "object" }, - "AWS::CloudFront::AnycastIpList.Tags": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.ModelInferenceDataSource": { "additionalProperties": false, "properties": { - "Items": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A complex type that contains `Tag` elements.", - "title": "Items", - "type": "array" + "MlInputChannelArn": { + "type": "string" } }, + "required": [ + "MlInputChannelArn" + ], "type": "object" }, - "AWS::CloudFront::CachePolicy": { + "AWS::CleanRoomsML::TrainingDataset": { "additionalProperties": false, "properties": { "Condition": { @@ -68688,20 +70056,48 @@ "Properties": { "additionalProperties": false, "properties": { - "CachePolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CachePolicyConfig", - "markdownDescription": "The cache policy configuration.", - "title": "CachePolicyConfig" + "Description": { + "markdownDescription": "The description of the training dataset.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the training dataset.", + "title": "Name", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The ARN of the IAM role that Clean Rooms ML can assume to read the data referred to in the `dataSource` field of each dataset.\n\nPassing a role across accounts is not allowed. If you pass a role that isn't in your account, you get an `AccessDeniedException` error.", + "title": "RoleArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The optional metadata that you apply to the resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.\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 keys as it is reserved. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has `aws` as its prefix but the key does not, then Clean Rooms ML considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of `aws` do not count against your tags per resource limit.", + "title": "Tags", + "type": "array" + }, + "TrainingData": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.Dataset" + }, + "markdownDescription": "An array of information that lists the Dataset objects, which specifies the dataset type and details on its location and schema. You must provide a role that has read access to these tables.", + "title": "TrainingData", + "type": "array" } }, "required": [ - "CachePolicyConfig" + "Name", + "RoleArn", + "TrainingData" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::CachePolicy" + "AWS::CleanRoomsML::TrainingDataset" ], "type": "string" }, @@ -68720,153 +70116,112 @@ ], "type": "object" }, - "AWS::CloudFront::CachePolicy.CachePolicyConfig": { + "AWS::CleanRoomsML::TrainingDataset.ColumnSchema": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "A comment to describe the cache policy. The comment cannot be longer than 128 characters.", - "title": "Comment", - "type": "string" - }, - "DefaultTTL": { - "markdownDescription": "The default amount of time, in seconds, that you want objects to stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. CloudFront uses this value as the object's time to live (TTL) only when the origin does *not* send `Cache-Control` or `Expires` headers with the object. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default value for this field is 86400 seconds (one day). If the value of `MinTTL` is more than 86400 seconds, then the default value for this field is the same as the value of `MinTTL` .", - "title": "DefaultTTL", - "type": "number" - }, - "MaxTTL": { - "markdownDescription": "The maximum amount of time, in seconds, that objects stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. CloudFront uses this value only when the origin sends `Cache-Control` or `Expires` headers with the object. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default value for this field is 31536000 seconds (one year). If the value of `MinTTL` or `DefaultTTL` is more than 31536000 seconds, then the default value for this field is the same as the value of `DefaultTTL` .", - "title": "MaxTTL", - "type": "number" - }, - "MinTTL": { - "markdownDescription": "The minimum amount of time, in seconds, that you want objects to stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", - "title": "MinTTL", - "type": "number" - }, - "Name": { - "markdownDescription": "A unique name to identify the cache policy.", - "title": "Name", + "ColumnName": { + "markdownDescription": "The name of a column.", + "title": "ColumnName", "type": "string" }, - "ParametersInCacheKeyAndForwardedToOrigin": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin", - "markdownDescription": "The HTTP headers, cookies, and URL query strings to include in the cache key. The values included in the cache key are also included in requests that CloudFront sends to the origin.", - "title": "ParametersInCacheKeyAndForwardedToOrigin" + "ColumnTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The data type of column.", + "title": "ColumnTypes", + "type": "array" } }, "required": [ - "DefaultTTL", - "MaxTTL", - "MinTTL", - "Name", - "ParametersInCacheKeyAndForwardedToOrigin" + "ColumnName", + "ColumnTypes" ], "type": "object" }, - "AWS::CloudFront::CachePolicy.CookiesConfig": { + "AWS::CleanRoomsML::TrainingDataset.DataSource": { "additionalProperties": false, "properties": { - "CookieBehavior": { - "markdownDescription": "Determines whether any cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No cookies in viewer requests are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to `none` , any cookies that are listed in an `OriginRequestPolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the cookies in viewer requests that are listed in the `CookieNames` type are included in the cache key and in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin, **except** for those that are listed in the `CookieNames` type, which are not included.\n- `all` \u2013 All cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin.", - "title": "CookieBehavior", - "type": "string" - }, - "Cookies": { - "items": { - "type": "string" - }, - "markdownDescription": "Contains a list of cookie names.", - "title": "Cookies", - "type": "array" + "GlueDataSource": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.GlueDataSource", + "markdownDescription": "A GlueDataSource object that defines the catalog ID, database name, and table name for the training data.", + "title": "GlueDataSource" } }, "required": [ - "CookieBehavior" + "GlueDataSource" ], "type": "object" }, - "AWS::CloudFront::CachePolicy.HeadersConfig": { + "AWS::CleanRoomsML::TrainingDataset.Dataset": { "additionalProperties": false, "properties": { - "HeaderBehavior": { - "markdownDescription": "Determines whether any HTTP headers are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No HTTP headers are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to `none` , any headers that are listed in an `OriginRequestPolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the HTTP headers that are listed in the `Headers` type are included in the cache key and in requests that CloudFront sends to the origin.", - "title": "HeaderBehavior", - "type": "string" + "InputConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.DatasetInputConfig", + "markdownDescription": "A DatasetInputConfig object that defines the data source and schema mapping.", + "title": "InputConfig" }, - "Headers": { - "items": { - "type": "string" - }, - "markdownDescription": "Contains a list of HTTP header names.", - "title": "Headers", - "type": "array" + "Type": { + "markdownDescription": "What type of information is found in the dataset.", + "title": "Type", + "type": "string" } }, "required": [ - "HeaderBehavior" + "InputConfig", + "Type" ], "type": "object" }, - "AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin": { + "AWS::CleanRoomsML::TrainingDataset.DatasetInputConfig": { "additionalProperties": false, "properties": { - "CookiesConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CookiesConfig", - "markdownDescription": "An object that determines whether any cookies in viewer requests (and if so, which cookies) are included in the cache key and in requests that CloudFront sends to the origin.", - "title": "CookiesConfig" - }, - "EnableAcceptEncodingBrotli": { - "markdownDescription": "A flag that can affect whether the `Accept-Encoding` HTTP header is included in the cache key and included in requests that CloudFront sends to the origin.\n\nThis field is related to the `EnableAcceptEncodingGzip` field. If one or both of these fields is `true` *and* the viewer request includes the `Accept-Encoding` header, then CloudFront does the following:\n\n- Normalizes the value of the viewer's `Accept-Encoding` header\n- Includes the normalized header in the cache key\n- Includes the normalized header in the request to the origin, if a request is necessary\n\nFor more information, see [Compression support](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) in the *Amazon CloudFront Developer Guide* .\n\nIf you set this value to `true` , and this cache behavior also has an origin request policy attached, do not include the `Accept-Encoding` header in the origin request policy. CloudFront always includes the `Accept-Encoding` header in origin requests when the value of this field is `true` , so including this header in an origin request policy has no effect.\n\nIf both of these fields are `false` , then CloudFront treats the `Accept-Encoding` header the same as any other HTTP header in the viewer request. By default, it's not included in the cache key and it's not included in origin requests. In this case, you can manually add `Accept-Encoding` to the headers whitelist like any other HTTP header.", - "title": "EnableAcceptEncodingBrotli", - "type": "boolean" - }, - "EnableAcceptEncodingGzip": { - "markdownDescription": "A flag that can affect whether the `Accept-Encoding` HTTP header is included in the cache key and included in requests that CloudFront sends to the origin.\n\nThis field is related to the `EnableAcceptEncodingBrotli` field. If one or both of these fields is `true` *and* the viewer request includes the `Accept-Encoding` header, then CloudFront does the following:\n\n- Normalizes the value of the viewer's `Accept-Encoding` header\n- Includes the normalized header in the cache key\n- Includes the normalized header in the request to the origin, if a request is necessary\n\nFor more information, see [Compression support](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) in the *Amazon CloudFront Developer Guide* .\n\nIf you set this value to `true` , and this cache behavior also has an origin request policy attached, do not include the `Accept-Encoding` header in the origin request policy. CloudFront always includes the `Accept-Encoding` header in origin requests when the value of this field is `true` , so including this header in an origin request policy has no effect.\n\nIf both of these fields are `false` , then CloudFront treats the `Accept-Encoding` header the same as any other HTTP header in the viewer request. By default, it's not included in the cache key and it's not included in origin requests. In this case, you can manually add `Accept-Encoding` to the headers whitelist like any other HTTP header.", - "title": "EnableAcceptEncodingGzip", - "type": "boolean" - }, - "HeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.HeadersConfig", - "markdownDescription": "An object that determines whether any HTTP headers (and if so, which headers) are included in the cache key and in requests that CloudFront sends to the origin.", - "title": "HeadersConfig" + "DataSource": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.DataSource", + "markdownDescription": "A DataSource object that specifies the Glue data source for the training data.", + "title": "DataSource" }, - "QueryStringsConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.QueryStringsConfig", - "markdownDescription": "An object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in the cache key and in requests that CloudFront sends to the origin.", - "title": "QueryStringsConfig" + "Schema": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.ColumnSchema" + }, + "markdownDescription": "The schema information for the training data.", + "title": "Schema", + "type": "array" } }, "required": [ - "CookiesConfig", - "EnableAcceptEncodingGzip", - "HeadersConfig", - "QueryStringsConfig" + "DataSource", + "Schema" ], "type": "object" }, - "AWS::CloudFront::CachePolicy.QueryStringsConfig": { + "AWS::CleanRoomsML::TrainingDataset.GlueDataSource": { "additionalProperties": false, "properties": { - "QueryStringBehavior": { - "markdownDescription": "Determines whether any URL query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No query strings in viewer requests are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to `none` , any query strings that are listed in an `OriginRequestPolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the query strings in viewer requests that are listed in the `QueryStringNames` type are included in the cache key and in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin, **except** those that are listed in the `QueryStringNames` type, which are not included.\n- `all` \u2013 All query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin.", - "title": "QueryStringBehavior", + "CatalogId": { + "markdownDescription": "The Glue catalog that contains the training data.", + "title": "CatalogId", "type": "string" }, - "QueryStrings": { - "items": { - "type": "string" - }, - "markdownDescription": "Contains a list of query string names.", - "title": "QueryStrings", - "type": "array" + "DatabaseName": { + "markdownDescription": "The Glue database that contains the training data.", + "title": "DatabaseName", + "type": "string" + }, + "TableName": { + "markdownDescription": "The Glue table that contains the training data.", + "title": "TableName", + "type": "string" } }, "required": [ - "QueryStringBehavior" + "DatabaseName", + "TableName" ], "type": "object" }, - "AWS::CloudFront::CloudFrontOriginAccessIdentity": { + "AWS::Cloud9::EnvironmentEC2": { "additionalProperties": false, "properties": { "Condition": { @@ -68901,20 +70256,72 @@ "Properties": { "additionalProperties": false, "properties": { - "CloudFrontOriginAccessIdentityConfig": { - "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig", - "markdownDescription": "The current configuration information for the identity.", - "title": "CloudFrontOriginAccessIdentityConfig" + "AutomaticStopTimeMinutes": { + "markdownDescription": "The number of minutes until the running instance is shut down after the environment was last used.", + "title": "AutomaticStopTimeMinutes", + "type": "number" + }, + "ConnectionType": { + "markdownDescription": "The connection type used for connecting to an Amazon EC2 environment. Valid values are `CONNECT_SSH` (default) and `CONNECT_SSM` (connected through AWS Systems Manager ).", + "title": "ConnectionType", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the environment to create.", + "title": "Description", + "type": "string" + }, + "ImageId": { + "markdownDescription": "The identifier for the Amazon Machine Image (AMI) that's used to create the EC2 instance. To choose an AMI for the instance, you must specify a valid AMI alias or a valid AWS Systems Manager path.\n\nFrom December 04, 2023, you will be required to include the `ImageId` parameter for the `CreateEnvironmentEC2` action. This change will be reflected across all direct methods of communicating with the API, such as AWS SDK, AWS CLI and AWS CloudFormation. This change will only affect direct API consumers, and not AWS Cloud9 console users.\n\nSince Ubuntu 18.04 has ended standard support as of May 31, 2023, we recommend you choose Ubuntu 22.04.\n\n*AMI aliases*\n\n- Amazon Linux 2: `amazonlinux-2-x86_64`\n- Amazon Linux 2023 (recommended): `amazonlinux-2023-x86_64`\n- Ubuntu 18.04: `ubuntu-18.04-x86_64`\n- Ubuntu 22.04: `ubuntu-22.04-x86_64`\n\n*SSM paths*\n\n- Amazon Linux 2: `resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64`\n- Amazon Linux 2023 (recommended): `resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2023-x86_64`\n- Ubuntu 18.04: `resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64`\n- Ubuntu 22.04: `resolve:ssm:/aws/service/cloud9/amis/ubuntu-22.04-x86_64`", + "title": "ImageId", + "type": "string" + }, + "InstanceType": { + "markdownDescription": "The type of instance to connect to the environment (for example, `t2.micro` ).", + "title": "InstanceType", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the environment.", + "title": "Name", + "type": "string" + }, + "OwnerArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the environment owner. This ARN can be the ARN of any AWS Identity and Access Management principal. If this value is not specified, the ARN defaults to this environment's creator.", + "title": "OwnerArn", + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "markdownDescription": "Any AWS CodeCommit source code repositories to be cloned into the development environment.", + "title": "Repositories", + "type": "array" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet in Amazon Virtual Private Cloud (Amazon VPC) that AWS Cloud9 will use to communicate with the Amazon Elastic Compute Cloud (Amazon EC2) instance.", + "title": "SubnetId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs that will be associated with the new AWS Cloud9 development environment.", + "title": "Tags", + "type": "array" } }, "required": [ - "CloudFrontOriginAccessIdentityConfig" + "ImageId", + "InstanceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::CloudFrontOriginAccessIdentity" + "AWS::Cloud9::EnvironmentEC2" ], "type": "string" }, @@ -68933,21 +70340,27 @@ ], "type": "object" }, - "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": { + "AWS::Cloud9::EnvironmentEC2.Repository": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "A comment to describe the origin access identity. The comment cannot be longer than 128 characters.", - "title": "Comment", + "PathComponent": { + "markdownDescription": "The path within the development environment's default file system location to clone the AWS CodeCommit repository into. For example, `/REPOSITORY_NAME` would clone the repository into the `/home/USER_NAME/environment/REPOSITORY_NAME` directory in the environment.", + "title": "PathComponent", + "type": "string" + }, + "RepositoryUrl": { + "markdownDescription": "The clone URL of the AWS CodeCommit repository to be cloned. For example, for an AWS CodeCommit repository this might be `https://git-codecommit.us-east-2.amazonaws.com/v1/repos/REPOSITORY_NAME` .", + "title": "RepositoryUrl", "type": "string" } }, "required": [ - "Comment" + "PathComponent", + "RepositoryUrl" ], "type": "object" }, - "AWS::CloudFront::ConnectionFunction": { + "AWS::CloudFormation::ChangeSet": { "additionalProperties": false, "properties": { "Condition": { @@ -68982,45 +70395,70 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoPublish": { - "markdownDescription": "A flag that determines whether to automatically publish the function to the `LIVE` stage when it\u2019s created. To automatically publish to the `LIVE` stage, set this property to `true` .", - "title": "AutoPublish", + "Capabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ChangeSetName": { + "type": "string" + }, + "ChangeSetType": { + "type": "string" + }, + "DeploymentMode": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ImportExistingResources": { "type": "boolean" }, - "ConnectionFunctionCode": { - "markdownDescription": "The code for the connection function.", - "title": "ConnectionFunctionCode", + "IncludeNestedStacks": { + "type": "boolean" + }, + "NotificationARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OnStackFailure": { "type": "string" }, - "ConnectionFunctionConfig": { - "$ref": "#/definitions/AWS::CloudFront::ConnectionFunction.ConnectionFunctionConfig", - "markdownDescription": "Contains configuration information about a CloudFront function.", - "title": "ConnectionFunctionConfig" + "RoleARN": { + "type": "string" }, - "Name": { - "markdownDescription": "The connection function name.", - "title": "Name", + "StackName": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::CloudFormation::ChangeSet.TagsItems" }, - "markdownDescription": "A complex type that contains zero or more `Tag` elements.", - "title": "Tags", "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateURL": { + "type": "string" + }, + "UsePreviousTemplate": { + "type": "boolean" } }, "required": [ - "ConnectionFunctionCode", - "ConnectionFunctionConfig", - "Name" + "ChangeSetName", + "StackName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::ConnectionFunction" + "AWS::CloudFormation::ChangeSet" ], "type": "string" }, @@ -69039,49 +70477,23 @@ ], "type": "object" }, - "AWS::CloudFront::ConnectionFunction.ConnectionFunctionConfig": { + "AWS::CloudFormation::ChangeSet.TagsItems": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "A comment to describe the function.", - "title": "Comment", + "Key": { "type": "string" }, - "KeyValueStoreAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::ConnectionFunction.KeyValueStoreAssociation" - }, - "markdownDescription": "The configuration for the key value store associations.", - "title": "KeyValueStoreAssociations", - "type": "array" - }, - "Runtime": { - "markdownDescription": "The function's runtime environment version.", - "title": "Runtime", - "type": "string" - } - }, - "required": [ - "Comment", - "Runtime" - ], - "type": "object" - }, - "AWS::CloudFront::ConnectionFunction.KeyValueStoreAssociation": { - "additionalProperties": false, - "properties": { - "KeyValueStoreARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the key value store association.", - "title": "KeyValueStoreARN", + "Value": { "type": "string" } }, "required": [ - "KeyValueStoreARN" + "Key", + "Value" ], "type": "object" }, - "AWS::CloudFront::ConnectionGroup": { + "AWS::CloudFormation::CustomResource": { "additionalProperties": false, "properties": { "Condition": { @@ -69116,43 +70528,25 @@ "Properties": { "additionalProperties": false, "properties": { - "AnycastIpListId": { - "markdownDescription": "The ID of the Anycast static IP list.", - "title": "AnycastIpListId", - "type": "string" - }, - "Enabled": { - "markdownDescription": "Whether the connection group is enabled.", - "title": "Enabled", - "type": "boolean" - }, - "Ipv6Enabled": { - "markdownDescription": "IPv6 is enabled for the connection group.", - "title": "Ipv6Enabled", - "type": "boolean" + "ServiceTimeout": { + "markdownDescription": "The maximum time, in seconds, that can elapse before a custom resource operation times out.\n\nThe value must be an integer from 1 to 3600. The default value is 3600 seconds (1 hour).", + "title": "ServiceTimeout", + "type": "number" }, - "Name": { - "markdownDescription": "The name of the connection group.", - "title": "Name", + "ServiceToken": { + "markdownDescription": "The service token, such as an Amazon topic ARN or Lambda function ARN. The service token must be from the same Region as the stack.\n\nUpdates aren't supported.", + "title": "ServiceToken", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A complex type that contains zero or more `Tag` elements.", - "title": "Tags", - "type": "array" } }, "required": [ - "Name" + "ServiceToken" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::ConnectionGroup" + "AWS::CloudFormation::CustomResource" ], "type": "string" }, @@ -69171,7 +70565,7 @@ ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy": { + "AWS::CloudFormation::GeneratedTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -69206,20 +70600,21 @@ "Properties": { "additionalProperties": false, "properties": { - "ContinuousDeploymentPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfig", - "markdownDescription": "Contains the configuration for a continuous deployment policy.", - "title": "ContinuousDeploymentPolicyConfig" + "GeneratedTemplateName": { + "type": "string" + }, + "TemplateConfiguration": { + "$ref": "#/definitions/AWS::CloudFormation::GeneratedTemplate.TemplateConfiguration" } }, "required": [ - "ContinuousDeploymentPolicyConfig" + "GeneratedTemplateName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::ContinuousDeploymentPolicy" + "AWS::CloudFormation::GeneratedTemplate" ], "type": "string" }, @@ -69238,172 +70633,305 @@ ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfig": { + "AWS::CloudFormation::GeneratedTemplate.TemplateConfiguration": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "A Boolean that indicates whether this continuous deployment policy is enabled (in effect). When this value is `true` , this policy is enabled and in effect. When this value is `false` , this policy is not enabled and has no effect.", - "title": "Enabled", - "type": "boolean" - }, - "SingleHeaderPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderPolicyConfig", - "markdownDescription": "This configuration determines which HTTP requests are sent to the staging distribution. If the HTTP request contains a header and value that matches what you specify here, the request is sent to the staging distribution. Otherwise the request is sent to the primary distribution.", - "title": "SingleHeaderPolicyConfig" - }, - "SingleWeightPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightPolicyConfig", - "markdownDescription": "This configuration determines the percentage of HTTP requests that are sent to the staging distribution.", - "title": "SingleWeightPolicyConfig" - }, - "StagingDistributionDnsNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The CloudFront domain name of the staging distribution. For example: `d111111abcdef8.cloudfront.net` .", - "title": "StagingDistributionDnsNames", - "type": "array" - }, - "TrafficConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.TrafficConfig", - "markdownDescription": "Contains the parameters for routing production traffic from your primary to staging distributions.", - "title": "TrafficConfig" + "DeletionPolicy": { + "type": "string" }, - "Type": { - "markdownDescription": "The type of traffic configuration.", - "title": "Type", + "UpdateReplacePolicy": { "type": "string" } }, - "required": [ - "Enabled", - "StagingDistributionDnsNames" - ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig": { + "AWS::CloudFormation::GeneratedTemplate.TemplateProgress": { "additionalProperties": false, "properties": { - "IdleTTL": { - "markdownDescription": "The amount of time after which you want sessions to cease if no requests are received. Allowed values are 300\u20133600 seconds (5\u201360 minutes).", - "title": "IdleTTL", + "ResourcesFailed": { "type": "number" }, - "MaximumTTL": { - "markdownDescription": "The maximum amount of time to consider requests from the viewer as being part of the same session. Allowed values are 300\u20133600 seconds (5\u201360 minutes).", - "title": "MaximumTTL", + "ResourcesPending": { + "type": "number" + }, + "ResourcesProcessing": { + "type": "number" + }, + "ResourcesSucceeded": { "type": "number" } }, - "required": [ - "IdleTTL", - "MaximumTTL" - ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderConfig": { + "AWS::CloudFormation::GuardHook": { "additionalProperties": false, "properties": { - "Header": { - "markdownDescription": "The request header name that you want CloudFront to send to your staging distribution. The header must contain the prefix `aws-cf-cd-` .", - "title": "Header", + "Condition": { "type": "string" }, - "Value": { - "markdownDescription": "The request header value.", - "title": "Value", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Alias": { + "markdownDescription": "The type name alias for the Hook. This alias must be unique per account and Region.\n\nThe alias must be in the form `Name1::Name2::Name3` and must not begin with `AWS` . For example, `Private::Guard::MyTestHook` .", + "title": "Alias", + "type": "string" + }, + "ExecutionRole": { + "markdownDescription": "The IAM role that the Hook assumes to retrieve your Guard rules from S3 and optionally write a detailed Guard output report back.", + "title": "ExecutionRole", + "type": "string" + }, + "FailureMode": { + "markdownDescription": "Specifies how the Hook responds when rules fail their evaluation.\n\n- `FAIL` : Prevents the action from proceeding. This is helpful for enforcing strict compliance or security policies.\n- `WARN` : Issues warnings to users but allows actions to continue. This is useful for non-critical validations or informational checks.", + "title": "FailureMode", + "type": "string" + }, + "HookStatus": { + "markdownDescription": "Specifies if the Hook is `ENABLED` or `DISABLED` .", + "title": "HookStatus", + "type": "string" + }, + "LogBucket": { + "markdownDescription": "Specifies the name of an S3 bucket to store the Guard output report. This report contains the results of your Guard rule validations.", + "title": "LogBucket", + "type": "string" + }, + "Options": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.Options", + "markdownDescription": "Specifies the S3 location of your input parameters.", + "title": "Options" + }, + "RuleLocation": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.S3Location", + "markdownDescription": "Specifies the S3 location of your Guard rules.", + "title": "RuleLocation" + }, + "StackFilters": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.StackFilters", + "markdownDescription": "Specifies the stack level filters for the Hook.\n\nExample stack level filter in JSON:\n\n`\"StackFilters\": {\"FilteringCriteria\": \"ALL\", \"StackNames\": {\"Exclude\": [ \"stack-1\", \"stack-2\"]}}` \n\nExample stack level filter in YAML:\n\n`StackFilters: FilteringCriteria: ALL StackNames: Exclude: - stack-1 - stack-2`", + "title": "StackFilters" + }, + "TargetFilters": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.TargetFilters", + "markdownDescription": "Specifies the target filters for the Hook.\n\nExample target filter in JSON:\n\n`\"TargetFilters\": {\"Actions\": [ \"CREATE\", \"UPDATE\", \"DELETE\" ]}` \n\nExample target filter in YAML:\n\n`TargetFilters: Actions: - CREATE - UPDATE - DELETE`", + "title": "TargetFilters" + }, + "TargetOperations": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the list of operations the Hook is run against. For more information, see [Hook targets](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-concepts.html#hook-terms-hook-target) in the *CloudFormation Hooks User Guide* .\n\nValid values: `STACK` | `RESOURCE` | `CHANGE_SET` | `CLOUD_CONTROL`", + "title": "TargetOperations", + "type": "array" + } + }, + "required": [ + "Alias", + "ExecutionRole", + "FailureMode", + "HookStatus", + "RuleLocation", + "TargetOperations" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::GuardHook" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Header", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderPolicyConfig": { + "AWS::CloudFormation::GuardHook.HookTarget": { "additionalProperties": false, "properties": { - "Header": { - "markdownDescription": "The name of the HTTP header that CloudFront uses to configure for the single header policy.", - "title": "Header", + "Action": { "type": "string" }, - "Value": { - "markdownDescription": "Specifies the value to assign to the header for a single header policy.", - "title": "Value", + "InvocationPoint": { + "type": "string" + }, + "TargetName": { "type": "string" } }, "required": [ - "Header", - "Value" + "Action", + "InvocationPoint", + "TargetName" ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightConfig": { + "AWS::CloudFormation::GuardHook.Options": { "additionalProperties": false, "properties": { - "SessionStickinessConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig", - "markdownDescription": "Session stickiness provides the ability to define multiple requests from a single viewer as a single session. This prevents the potentially inconsistent experience of sending some of a given user's requests to your staging distribution, while others are sent to your primary distribution. Define the session duration using TTL values.", - "title": "SessionStickinessConfig" + "InputParams": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.S3Location", + "markdownDescription": "Specifies the S3 location where your input parameters are located.", + "title": "InputParams" + } + }, + "type": "object" + }, + "AWS::CloudFormation::GuardHook.S3Location": { + "additionalProperties": false, + "properties": { + "Uri": { + "markdownDescription": "Specifies the S3 path to the file that contains your Guard rules or input parameters (in the form `s3:///` ).\n\nFor Guard rules, the object stored in S3 must have one of the following file extensions: `.guard` , `.zip` , or `.tar.gz` .\n\nFor input parameters, the object stored in S3 must have one of the following file extensions: `.yaml` , `.json` , `.zip` , or `.tar.gz` .", + "title": "Uri", + "type": "string" }, - "Weight": { - "markdownDescription": "The percentage of traffic to send to a staging distribution, expressed as a decimal number between 0 and 0.15. For example, a value of 0.10 means 10% of traffic is sent to the staging distribution.", - "title": "Weight", - "type": "number" + "VersionId": { + "markdownDescription": "For S3 buckets with versioning enabled, specifies the unique ID of the S3 object version to download your Guard rules or input parameters from.\n\nThe Guard Hook downloads files from S3 every time the Hook is invoked. To prevent accidental changes or deletions, we recommend using a version when configuring your Guard Hook.", + "title": "VersionId", + "type": "string" } }, "required": [ - "Weight" + "Uri" ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightPolicyConfig": { + "AWS::CloudFormation::GuardHook.StackFilters": { "additionalProperties": false, "properties": { - "SessionStickinessConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig", - "markdownDescription": "Enable session stickiness for the associated origin or cache settings.", - "title": "SessionStickinessConfig" + "FilteringCriteria": { + "markdownDescription": "The filtering criteria.\n\n- All stack names and stack roles ( `All` ): The Hook will only be invoked when all specified filters match.\n- Any stack names and stack roles ( `Any` ): The Hook will be invoked if at least one of the specified filters match.", + "title": "FilteringCriteria", + "type": "string" }, - "Weight": { - "markdownDescription": "The percentage of requests that CloudFront will use to send to an associated origin or cache settings.", - "title": "Weight", - "type": "number" + "StackNames": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.StackNames", + "markdownDescription": "Includes or excludes specific stacks from Hook invocations.", + "title": "StackNames" + }, + "StackRoles": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.StackRoles", + "markdownDescription": "Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.", + "title": "StackRoles" } }, "required": [ - "Weight" + "FilteringCriteria" ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy.TrafficConfig": { + "AWS::CloudFormation::GuardHook.StackNames": { "additionalProperties": false, "properties": { - "SingleHeaderConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderConfig", - "markdownDescription": "Determines which HTTP requests are sent to the staging distribution.", - "title": "SingleHeaderConfig" + "Exclude": { + "items": { + "type": "string" + }, + "markdownDescription": "The stack names to exclude. All stacks except those listed here will invoke the Hook.", + "title": "Exclude", + "type": "array" }, - "SingleWeightConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightConfig", - "markdownDescription": "Contains the percentage of traffic to send to the staging distribution.", - "title": "SingleWeightConfig" + "Include": { + "items": { + "type": "string" + }, + "markdownDescription": "The stack names to include. Only the stacks specified in this list will invoke the Hook.", + "title": "Include", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::GuardHook.StackRoles": { + "additionalProperties": false, + "properties": { + "Exclude": { + "items": { + "type": "string" + }, + "markdownDescription": "The IAM role ARNs for stacks you want to exclude. The Hook will be invoked on all stacks except those initiated by the specified roles.", + "title": "Exclude", + "type": "array" }, - "Type": { - "markdownDescription": "The type of traffic configuration.", - "title": "Type", - "type": "string" + "Include": { + "items": { + "type": "string" + }, + "markdownDescription": "The IAM role ARNs to target stacks associated with these roles. Only stack operations initiated by these roles will invoke the Hook.", + "title": "Include", + "type": "array" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::CloudFront::Distribution": { + "AWS::CloudFormation::GuardHook.TargetFilters": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InvocationPoints": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.HookTarget" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::HookDefaultVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -69438,28 +70966,27 @@ "Properties": { "additionalProperties": false, "properties": { - "DistributionConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig", - "markdownDescription": "The distribution's configuration.", - "title": "DistributionConfig" + "TypeName": { + "markdownDescription": "The name of the Hook.\n\nYou must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", + "title": "TypeName", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A complex type that contains zero or more `Tag` elements.", - "title": "Tags", - "type": "array" + "TypeVersionArn": { + "markdownDescription": "The version ID of the type configuration.\n\nYou must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", + "title": "TypeVersionArn", + "type": "string" + }, + "VersionId": { + "markdownDescription": "The version ID of the type specified.\n\nYou must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", + "title": "VersionId", + "type": "string" } }, - "required": [ - "DistributionConfig" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::Distribution" + "AWS::CloudFormation::HookDefaultVersion" ], "type": "string" }, @@ -69473,1197 +71000,980 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::CloudFront::Distribution.CacheBehavior": { + "AWS::CloudFormation::HookTypeConfig": { "additionalProperties": false, "properties": { - "AllowedMethods": { - "items": { - "type": "string" - }, - "markdownDescription": "A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:\n\n- CloudFront forwards only `GET` and `HEAD` requests.\n- CloudFront forwards only `GET` , `HEAD` , and `OPTIONS` requests.\n- CloudFront forwards `GET, HEAD, OPTIONS, PUT, PATCH, POST` , and `DELETE` requests.\n\nIf you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.", - "title": "AllowedMethods", - "type": "array" - }, - "CachePolicyId": { - "markdownDescription": "The unique identifier of the cache policy that is attached to this cache behavior. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `CacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .", - "title": "CachePolicyId", + "Condition": { "type": "string" }, - "CachedMethods": { - "items": { - "type": "string" - }, - "markdownDescription": "A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:\n\n- CloudFront caches responses to `GET` and `HEAD` requests.\n- CloudFront caches responses to `GET` , `HEAD` , and `OPTIONS` requests.\n\nIf you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.", - "title": "CachedMethods", - "type": "array" - }, - "Compress": { - "markdownDescription": "Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see [Serving Compressed Files](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) in the *Amazon CloudFront Developer Guide* .", - "title": "Compress", - "type": "boolean" - }, - "DefaultTTL": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `DefaultTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", - "title": "DefaultTTL", - "type": "number" - }, - "FieldLevelEncryptionId": { - "markdownDescription": "The value of `ID` for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for this cache behavior.", - "title": "FieldLevelEncryptionId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues", - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see [Working with policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to include values in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `CacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .\n\nA complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.", - "title": "ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" - }, - "markdownDescription": "A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the `LIVE` stage to associate them with a cache behavior.", - "title": "FunctionAssociations", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "GrpcConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.GrpcConfig", - "markdownDescription": "The gRPC configuration for your cache behavior.", - "title": "GrpcConfig" + "Metadata": { + "type": "object" }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "markdownDescription": "Specifies the activated Hook type configuration, in this AWS account and AWS Region .\n\nYou must specify either `TypeName` and `Configuration` or `TypeArn` and `Configuration` .", + "title": "Configuration", + "type": "string" + }, + "ConfigurationAlias": { + "markdownDescription": "An alias by which to refer to this configuration data.\n\nDefaults to `default` alias. Hook types currently support default configuration alias.", + "title": "ConfigurationAlias", + "type": "string" + }, + "TypeArn": { + "markdownDescription": "The Amazon Resource Number (ARN) for the Hook to set `Configuration` for.\n\nYou must specify either `TypeName` and `Configuration` or `TypeArn` and `Configuration` .", + "title": "TypeArn", + "type": "string" + }, + "TypeName": { + "markdownDescription": "The unique name for your Hook. Specifies a three-part namespace for your Hook, with a recommended pattern of `Organization::Service::Hook` .\n\nYou must specify either `TypeName` and `Configuration` or `TypeArn` and `Configuration` .", + "title": "TypeName", + "type": "string" + } }, - "markdownDescription": "A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.", - "title": "LambdaFunctionAssociations", - "type": "array" - }, - "MaxTTL": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MaxTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", - "title": "MaxTTL", - "type": "number" - }, - "MinTTL": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MinTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nYou must specify `0` for `MinTTL` if you configure CloudFront to forward all headers to your origin (under `Headers` , if you specify `1` for `Quantity` and `*` for `Name` ).", - "title": "MinTTL", - "type": "number" + "required": [ + "Configuration" + ], + "type": "object" }, - "OriginRequestPolicyId": { - "markdownDescription": "The unique identifier of the origin request policy that is attached to this cache behavior. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginRequestPolicyId", + "Type": { + "enum": [ + "AWS::CloudFormation::HookTypeConfig" + ], "type": "string" }, - "PathPattern": { - "markdownDescription": "The pattern (for example, `images/*.jpg` ) that specifies which requests to apply the behavior to. When CloudFront receives a viewer request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution.\n\n> You can optionally include a slash ( `/` ) at the beginning of the path pattern. For example, `/images/*.jpg` . CloudFront behavior is the same with or without the leading `/` . \n\nThe path pattern for the default cache behavior is `*` and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.\n\nFor more information, see [Path Pattern](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern) in the *Amazon CloudFront Developer Guide* .", - "title": "PathPattern", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "RealtimeLogConfigArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this cache behavior. For more information, see [Real-time logs](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html) in the *Amazon CloudFront Developer Guide* .", - "title": "RealtimeLogConfigArn", + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::HookVersion": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "ResponseHeadersPolicyId": { - "markdownDescription": "The identifier for a response headers policy.", - "title": "ResponseHeadersPolicyId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SmoothStreaming": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nIndicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify `true` ; if not, specify `false` . If you specify `true` for `SmoothStreaming` , you can still distribute other content using this cache behavior if the content matches the value of `PathPattern` .", - "title": "SmoothStreaming", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TargetOriginId": { - "markdownDescription": "The value of `ID` for the origin that you want CloudFront to route requests to when they match this cache behavior.", - "title": "TargetOriginId", - "type": "string" + "Metadata": { + "type": "object" }, - "TrustedKeyGroups": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ExecutionRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.", + "title": "ExecutionRoleArn", + "type": "string" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig", + "markdownDescription": "Contains logging configuration information for an extension.", + "title": "LoggingConfig" + }, + "SchemaHandlerPackage": { + "markdownDescription": "A URL to the Amazon S3 bucket for the Hook project package that contains the necessary files for the Hook you want to register.\n\nFor information on generating a schema handler package, see [Modeling custom CloudFormation Hooks](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-model.html) in the *CloudFormation Hooks User Guide* .\n\n> To register the Hook, you must have `s3:GetObject` permissions to access the S3 objects.", + "title": "SchemaHandlerPackage", + "type": "string" + }, + "TypeName": { + "markdownDescription": "The unique name for your Hook. Specifies a three-part namespace for your Hook, with a recommended pattern of `Organization::Service::Hook` .\n\n> The following organization namespaces are reserved and can't be used in your Hook type names:\n> \n> - `Alexa`\n> - `AMZN`\n> - `Amazon`\n> - `ASK`\n> - `AWS`\n> - `Custom`\n> - `Dev`", + "title": "TypeName", + "type": "string" + } }, - "markdownDescription": "A list of key groups that CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", - "title": "TrustedKeyGroups", - "type": "array" + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], + "type": "object" }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "markdownDescription": "> We recommend using `TrustedKeyGroups` instead of `TrustedSigners` . > This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA list of AWS account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in the trusted signer's AWS account . The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", - "title": "TrustedSigners", - "type": "array" + "Type": { + "enum": [ + "AWS::CloudFormation::HookVersion" + ], + "type": "string" }, - "ViewerProtocolPolicy": { - "markdownDescription": "The protocol that viewers can use to access the files in the origin specified by `TargetOriginId` when a request matches the path pattern in `PathPattern` . You can specify the following options:\n\n- `allow-all` : Viewers can use HTTP or HTTPS.\n- `redirect-to-https` : If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.\n- `https-only` : If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).\n\nFor more information about requiring the HTTPS protocol, see [Requiring HTTPS Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) in the *Amazon CloudFront Developer Guide* .\n\n> The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see [Managing Cache Expiration](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", - "title": "ViewerProtocolPolicy", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::Distribution.CacheTagConfig": { + "AWS::CloudFormation::HookVersion.LoggingConfig": { "additionalProperties": false, "properties": { - "HeaderName": { + "LogGroupName": { + "markdownDescription": "The Amazon CloudWatch Logs group to which CloudFormation sends error logging information when invoking the extension's handlers.", + "title": "LogGroupName", + "type": "string" + }, + "LogRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role that CloudFormation should assume when sending log entries to CloudWatch Logs.", + "title": "LogRoleArn", "type": "string" } }, - "required": [ - "HeaderName" - ], "type": "object" }, - "AWS::CloudFront::Distribution.ConnectionFunctionAssociation": { + "AWS::CloudFormation::LambdaHook": { "additionalProperties": false, "properties": { - "Id": { - "markdownDescription": "The association's ID.", - "title": "Id", + "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": { + "Alias": { + "markdownDescription": "The type name alias for the Hook. This alias must be unique per account and Region.\n\nThe alias must be in the form `Name1::Name2::Name3` and must not begin with `AWS` . For example, `Private::Lambda::MyTestHook` .", + "title": "Alias", + "type": "string" + }, + "AutoUpdate": { + "type": "boolean" + }, + "ExecutionRole": { + "markdownDescription": "The IAM role that the Hook assumes to invoke your Lambda function.", + "title": "ExecutionRole", + "type": "string" + }, + "FailureMode": { + "markdownDescription": "Specifies how the Hook responds when the Lambda function invoked by the Hook returns a `FAILED` response.\n\n- `FAIL` : Prevents the action from proceeding. This is helpful for enforcing strict compliance or security policies.\n- `WARN` : Issues warnings to users but allows actions to continue. This is useful for non-critical validations or informational checks.", + "title": "FailureMode", + "type": "string" + }, + "HookStatus": { + "markdownDescription": "Specifies if the Hook is `ENABLED` or `DISABLED` .", + "title": "HookStatus", + "type": "string" + }, + "LambdaFunction": { + "markdownDescription": "Specifies the Lambda function for the Hook. You can use:\n\n- The full Amazon Resource Name (ARN) without a suffix.\n- A qualified ARN with a version or alias suffix.", + "title": "LambdaFunction", + "type": "string" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.LoggingConfig" + }, + "StackFilters": { + "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.StackFilters", + "markdownDescription": "Specifies the stack level filters for the Hook.\n\nExample stack level filter in JSON:\n\n`\"StackFilters\": {\"FilteringCriteria\": \"ALL\", \"StackNames\": {\"Exclude\": [ \"stack-1\", \"stack-2\"]}}` \n\nExample stack level filter in YAML:\n\n`StackFilters: FilteringCriteria: ALL StackNames: Exclude: - stack-1 - stack-2`", + "title": "StackFilters" + }, + "TargetFilters": { + "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.TargetFilters", + "markdownDescription": "Specifies the target filters for the Hook.\n\nExample target filter in JSON:\n\n`\"TargetFilters\": {\"Actions\": [ \"CREATE\", \"UPDATE\", \"DELETE\" ]}` \n\nExample target filter in YAML:\n\n`TargetFilters: Actions: - CREATE - UPDATE - DELETE`", + "title": "TargetFilters" + }, + "TargetOperations": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the list of operations the Hook is run against. For more information, see [Hook targets](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-concepts.html#hook-terms-hook-target) in the *CloudFormation Hooks User Guide* .\n\nValid values: `STACK` | `RESOURCE` | `CHANGE_SET` | `CLOUD_CONTROL`", + "title": "TargetOperations", + "type": "array" + } + }, + "required": [ + "Alias", + "ExecutionRole", + "FailureMode", + "HookStatus", + "LambdaFunction", + "TargetOperations" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::LambdaHook" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Id" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::Distribution.Cookies": { + "AWS::CloudFormation::LambdaHook.HookTarget": { "additionalProperties": false, "properties": { - "Forward": { - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send cookies to the origin but not include them in the cache key, use origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nSpecifies which cookies to forward to the origin for this cache behavior: all, none, or the list of cookies specified in the `WhitelistedNames` complex type.\n\nAmazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an Amazon S3 origin, specify none for the `Forward` element.", - "title": "Forward", + "Action": { "type": "string" }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nRequired if you specify `whitelist` for the value of `Forward` . A complex type that specifies how many different cookies you want CloudFront to forward to the origin for this cache behavior and, if you want to forward selected cookies, the names of those cookies.\n\nIf you specify `all` or `none` for the value of `Forward` , omit `WhitelistedNames` . If you change the value of `Forward` from `whitelist` to `all` or `none` and you don't delete the `WhitelistedNames` element and its child elements, CloudFront deletes them automatically.\n\nFor the current limit on the number of cookie names that you can whitelist for each cache behavior, see [CloudFront Limits](https://docs.aws.amazon.com/general/latest/gr/xrefaws_service_limits.html#limits_cloudfront) in the *AWS General Reference* .", - "title": "WhitelistedNames", - "type": "array" + "InvocationPoint": { + "type": "string" + }, + "TargetName": { + "type": "string" } }, "required": [ - "Forward" + "Action", + "InvocationPoint", + "TargetName" ], "type": "object" }, - "AWS::CloudFront::Distribution.CustomErrorResponse": { + "AWS::CloudFormation::LambdaHook.LoggingConfig": { "additionalProperties": false, "properties": { - "ErrorCachingMinTTL": { - "markdownDescription": "The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status code specified in `ErrorCode` . When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.\n\nFor more information, see [Customizing Error Responses](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) in the *Amazon CloudFront Developer Guide* .", - "title": "ErrorCachingMinTTL", - "type": "number" - }, - "ErrorCode": { - "markdownDescription": "The HTTP status code for which you want to specify a custom error page and/or a caching duration.", - "title": "ErrorCode", - "type": "number" - }, - "ResponseCode": { - "markdownDescription": "The HTTP status code that you want CloudFront to return to the viewer along with the custom error page. There are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute `200` , the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify `400` or `500` as the `ResponseCode` for all 4xx or 5xx errors.\n- You might want to return a `200` status code (OK) and static website so your customers don't know that your website is down.\n\nIf you specify a value for `ResponseCode` , you must also specify a value for `ResponsePagePath` .", - "title": "ResponseCode", - "type": "number" + "LogGroupName": { + "type": "string" }, - "ResponsePagePath": { - "markdownDescription": "The path to the custom error page that you want CloudFront to return to a viewer when your origin returns the HTTP status code specified by `ErrorCode` , for example, `/4xx-errors/403-forbidden.html` . If you want to store your objects and your custom error pages in different locations, your distribution must include a cache behavior for which the following is true:\n\n- The value of `PathPattern` matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named `/4xx-errors` . Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, `/4xx-errors/*` .\n- The value of `TargetOriginId` specifies the value of the `ID` element for the origin that contains your custom error pages.\n\nIf you specify a value for `ResponsePagePath` , you must also specify a value for `ResponseCode` .\n\nWe recommend that you store custom error pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.", - "title": "ResponsePagePath", + "LogRoleArn": { "type": "string" } }, "required": [ - "ErrorCode" + "LogGroupName", + "LogRoleArn" ], "type": "object" }, - "AWS::CloudFront::Distribution.CustomOriginConfig": { + "AWS::CloudFormation::LambdaHook.StackFilters": { "additionalProperties": false, "properties": { - "HTTPPort": { - "markdownDescription": "The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port that the origin listens on.", - "title": "HTTPPort", - "type": "number" - }, - "HTTPSPort": { - "markdownDescription": "The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port that the origin listens on.", - "title": "HTTPSPort", - "type": "number" - }, - "IpAddressType": { - "markdownDescription": "Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose `dualstack` to help optimize reliability.", - "title": "IpAddressType", - "type": "string" - }, - "OriginKeepaliveTimeout": { - "markdownDescription": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n\nFor more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginKeepaliveTimeout", - "type": "number" - }, - "OriginMtlsConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginMtlsConfig", - "markdownDescription": "", - "title": "OriginMtlsConfig" - }, - "OriginProtocolPolicy": { - "markdownDescription": "Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Valid values are:\n\n- `http-only` \u2013 CloudFront always uses HTTP to connect to the origin.\n- `match-viewer` \u2013 CloudFront connects to the origin using the same protocol that the viewer used to connect to CloudFront.\n- `https-only` \u2013 CloudFront always uses HTTPS to connect to the origin.", - "title": "OriginProtocolPolicy", + "FilteringCriteria": { + "markdownDescription": "The filtering criteria.\n\n- All stack names and stack roles ( `All` ): The Hook will only be invoked when all specified filters match.\n- Any stack names and stack roles ( `Any` ): The Hook will be invoked if at least one of the specified filters match.", + "title": "FilteringCriteria", "type": "string" }, - "OriginReadTimeout": { - "markdownDescription": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n\nFor more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginReadTimeout", - "type": "number" + "StackNames": { + "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.StackNames", + "markdownDescription": "Includes or excludes specific stacks from Hook invocations.", + "title": "StackNames" }, - "OriginSSLProtocols": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your origin over HTTPS. Valid values include `SSLv3` , `TLSv1` , `TLSv1.1` , and `TLSv1.2` .\n\nFor more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginSSLProtocols) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginSSLProtocols", - "type": "array" + "StackRoles": { + "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.StackRoles", + "markdownDescription": "Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.", + "title": "StackRoles" } }, "required": [ - "OriginProtocolPolicy" + "FilteringCriteria" ], "type": "object" }, - "AWS::CloudFront::Distribution.DefaultCacheBehavior": { + "AWS::CloudFormation::LambdaHook.StackNames": { "additionalProperties": false, "properties": { - "AllowedMethods": { + "Exclude": { "items": { "type": "string" }, - "markdownDescription": "A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:\n\n- CloudFront forwards only `GET` and `HEAD` requests.\n- CloudFront forwards only `GET` , `HEAD` , and `OPTIONS` requests.\n- CloudFront forwards `GET, HEAD, OPTIONS, PUT, PATCH, POST` , and `DELETE` requests.\n\nIf you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.", - "title": "AllowedMethods", + "markdownDescription": "The stack names to exclude. All stacks except those listed here will invoke the Hook.", + "title": "Exclude", "type": "array" }, - "CachePolicyId": { - "markdownDescription": "The unique identifier of the cache policy that is attached to the default cache behavior. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `DefaultCacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .", - "title": "CachePolicyId", - "type": "string" - }, - "CachedMethods": { + "Include": { "items": { "type": "string" }, - "markdownDescription": "A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:\n\n- CloudFront caches responses to `GET` and `HEAD` requests.\n- CloudFront caches responses to `GET` , `HEAD` , and `OPTIONS` requests.\n\nIf you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.", - "title": "CachedMethods", - "type": "array" - }, - "Compress": { - "markdownDescription": "Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify `true` ; if not, specify `false` . For more information, see [Serving Compressed Files](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) in the *Amazon CloudFront Developer Guide* .", - "title": "Compress", - "type": "boolean" - }, - "DefaultTTL": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `DefaultTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", - "title": "DefaultTTL", - "type": "number" - }, - "FieldLevelEncryptionId": { - "markdownDescription": "The value of `ID` for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for the default cache behavior.", - "title": "FieldLevelEncryptionId", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues", - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see [Working with policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to include values in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `DefaultCacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .\n\nA complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.", - "title": "ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" - }, - "markdownDescription": "A list of CloudFront functions that are associated with this cache behavior. Your functions must be published to the `LIVE` stage to associate them with a cache behavior.", - "title": "FunctionAssociations", - "type": "array" - }, - "GrpcConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.GrpcConfig", - "markdownDescription": "The gRPC configuration for your cache behavior.", - "title": "GrpcConfig" - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" - }, - "markdownDescription": "A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.", - "title": "LambdaFunctionAssociations", + "markdownDescription": "The stack names to include. Only the stacks specified in this list will invoke the Hook.", + "title": "Include", "type": "array" - }, - "MaxTTL": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MaxTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", - "title": "MaxTTL", - "type": "number" - }, - "MinTTL": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MinTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nYou must specify `0` for `MinTTL` if you configure CloudFront to forward all headers to your origin (under `Headers` , if you specify `1` for `Quantity` and `*` for `Name` ).", - "title": "MinTTL", - "type": "number" - }, - "OriginRequestPolicyId": { - "markdownDescription": "The unique identifier of the origin request policy that is attached to the default cache behavior. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginRequestPolicyId", - "type": "string" - }, - "RealtimeLogConfigArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this cache behavior. For more information, see [Real-time logs](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html) in the *Amazon CloudFront Developer Guide* .", - "title": "RealtimeLogConfigArn", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "markdownDescription": "The identifier for a response headers policy.", - "title": "ResponseHeadersPolicyId", - "type": "string" - }, - "SmoothStreaming": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nIndicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify `true` ; if not, specify `false` . If you specify `true` for `SmoothStreaming` , you can still distribute other content using this cache behavior if the content matches the value of `PathPattern` .", - "title": "SmoothStreaming", - "type": "boolean" - }, - "TargetOriginId": { - "markdownDescription": "The value of `ID` for the origin that you want CloudFront to route requests to when they use the default cache behavior.", - "title": "TargetOriginId", - "type": "string" - }, - "TrustedKeyGroups": { + } + }, + "type": "object" + }, + "AWS::CloudFormation::LambdaHook.StackRoles": { + "additionalProperties": false, + "properties": { + "Exclude": { "items": { "type": "string" }, - "markdownDescription": "A list of key groups that CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", - "title": "TrustedKeyGroups", + "markdownDescription": "The IAM role ARNs for stacks you want to exclude. The Hook will be invoked on all stacks except those initiated by the specified roles.", + "title": "Exclude", "type": "array" }, - "TrustedSigners": { + "Include": { "items": { "type": "string" }, - "markdownDescription": "> We recommend using `TrustedKeyGroups` instead of `TrustedSigners` . > This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA list of AWS account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in a trusted signer's AWS account . The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", - "title": "TrustedSigners", + "markdownDescription": "The IAM role ARNs to target stacks associated with these roles. Only stack operations initiated by these roles will invoke the Hook.", + "title": "Include", "type": "array" - }, - "ViewerProtocolPolicy": { - "markdownDescription": "The protocol that viewers can use to access the files in the origin specified by `TargetOriginId` when a request matches the path pattern in `PathPattern` . You can specify the following options:\n\n- `allow-all` : Viewers can use HTTP or HTTPS.\n- `redirect-to-https` : If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.\n- `https-only` : If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).\n\nFor more information about requiring the HTTPS protocol, see [Requiring HTTPS Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) in the *Amazon CloudFront Developer Guide* .\n\n> The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see [Managing Cache Expiration](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", - "title": "ViewerProtocolPolicy", - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Definition": { - "additionalProperties": false, - "properties": { - "StringSchema": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.StringSchema", - "markdownDescription": "", - "title": "StringSchema" } }, "type": "object" }, - "AWS::CloudFront::Distribution.DistributionConfig": { + "AWS::CloudFormation::LambdaHook.TargetFilters": { "additionalProperties": false, "properties": { - "Aliases": { + "Actions": { "items": { "type": "string" }, - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "title": "Aliases", "type": "array" }, - "AnycastIpListId": { - "markdownDescription": "> To use this field for a multi-tenant distribution, use a connection group instead. For more information, see [ConnectionGroup](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ConnectionGroup.html) . \n\nID of the Anycast static IP list that is associated with the distribution.", - "title": "AnycastIpListId", - "type": "string" - }, - "CNAMEs": { + "InvocationPoints": { "items": { "type": "string" }, - "markdownDescription": "An alias for the CloudFront distribution's domain name.\n\n> This property is legacy. We recommend that you use [Aliases](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-aliases) instead.", - "title": "CNAMEs", "type": "array" }, - "CacheBehaviors": { + "TargetNames": { "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior" + "type": "string" }, - "markdownDescription": "A complex type that contains zero or more `CacheBehavior` elements.", - "title": "CacheBehaviors", "type": "array" }, - "CacheTagConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheTagConfig" - }, - "Comment": { - "markdownDescription": "A comment to describe the distribution. The comment cannot be longer than 128 characters.", - "title": "Comment", - "type": "string" - }, - "ConnectionFunctionAssociation": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ConnectionFunctionAssociation", - "markdownDescription": "The distribution's connection function association.", - "title": "ConnectionFunctionAssociation" - }, - "ConnectionMode": { - "markdownDescription": "This field specifies whether the connection mode is through a standard distribution (direct) or a multi-tenant distribution with distribution tenants (tenant-only).", - "title": "ConnectionMode", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThe identifier of a continuous deployment policy. For more information, see `CreateContinuousDeploymentPolicy` .", - "title": "ContinuousDeploymentPolicyId", - "type": "string" - }, - "CustomErrorResponses": { + "Targets": { "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse" + "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.HookTarget" }, - "markdownDescription": "A complex type that controls the following:\n\n- Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.\n- How long CloudFront caches HTTP status codes in the 4xx and 5xx range.\n\nFor more information about custom error pages, see [Customizing Error Responses](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) in the *Amazon CloudFront Developer Guide* .", - "title": "CustomErrorResponses", "type": "array" - }, - "CustomOrigin": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyCustomOrigin", - "markdownDescription": "The user-defined HTTP server that serves as the origin for content that CloudFront distributes.\n\n> This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.", - "title": "CustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior", - "markdownDescription": "A complex type that describes the default cache behavior if you don't specify a `CacheBehavior` element or if files don't match any of the values of `PathPattern` in `CacheBehavior` elements. You must create exactly one default cache behavior.", - "title": "DefaultCacheBehavior" - }, - "DefaultRootObject": { - "markdownDescription": "When a viewer requests the root URL for your distribution, the default root object is the object that you want CloudFront to request from your origin. For example, if your root URL is `https://www.example.com` , you can specify CloudFront to return the `index.html` file as the default root object. You can specify a default root object so that viewers see a specific file or object, instead of another object in your distribution (for example, `https://www.example.com/product-description.html` ). A default root object avoids exposing the contents of your distribution.\n\nYou can specify the object name or a path to the object name (for example, `index.html` or `exampleFolderName/index.html` ). Your string can't begin with a forward slash ( `/` ). Only specify the object name or the path to the object.\n\nIf you don't want to specify a default root object when you create a distribution, include an empty `DefaultRootObject` element.\n\nTo delete the default root object from an existing distribution, update the distribution configuration and include an empty `DefaultRootObject` element.\n\nTo replace the default root object, update the distribution configuration and specify the new object.\n\nFor more information about the default root object, see [Specify a default root object](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) in the *Amazon CloudFront Developer Guide* .", - "title": "DefaultRootObject", + } + }, + "type": "object" + }, + "AWS::CloudFormation::Macro": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "Enabled": { - "markdownDescription": "From this field, you can enable or disable the selected distribution.", - "title": "Enabled", - "type": "boolean" - }, - "HttpVersion": { - "markdownDescription": "(Optional) Specify the HTTP version(s) that you want viewers to use to communicate with CloudFront . The default value for new distributions is `http1.1` .\n\nFor viewers and CloudFront to use HTTP/2, viewers must support TLSv1.2 or later, and must support Server Name Indication (SNI).\n\nFor viewers and CloudFront to use HTTP/3, viewers must support TLSv1.3 and Server Name Indication (SNI). CloudFront supports HTTP/3 connection migration to allow the viewer to switch networks without losing connection. For more information about connection migration, see [Connection Migration](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc9000.html#name-connection-migration) at RFC 9000. For more information about supported TLSv1.3 ciphers, see [Supported protocols and ciphers between viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html) .", - "title": "HttpVersion", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "IPV6Enabled": { - "markdownDescription": "> To use this field for a multi-tenant distribution, use a connection group instead. For more information, see [ConnectionGroup](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ConnectionGroup.html) . \n\nIf you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution, specify `true` . If you specify `false` , CloudFront responds to IPv6 DNS requests with the DNS response code `NOERROR` and with no IP addresses. This allows viewers to submit a second request, for an IPv4 address for your distribution.\n\nIn general, you should enable IPv6 if you have users on IPv6 networks who want to access your content. However, if you're using signed URLs or signed cookies to restrict access to your content, and if you're using a custom policy that includes the `IpAddress` parameter to restrict the IP addresses that can access your content, don't enable IPv6. If you want to restrict access to some content by IP address and not restrict access to other content (or restrict access but not by IP address), you can create two distributions. For more information, see [Creating a Signed URL Using a Custom Policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-custom-policy.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you're using an Amazon Route\u00a053 AWS Integration alias resource record set to route traffic to your CloudFront distribution, you need to create a second alias resource record set when both of the following are true:\n\n- You enable IPv6 for the distribution\n- You're using alternate domain names in the URLs for your objects\n\nFor more information, see [Routing Traffic to an Amazon CloudFront Web Distribution by Using Your Domain Name](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html) in the *Amazon Route\u00a053 AWS Integration Developer Guide* .\n\nIf you created a CNAME resource record set, either with Amazon Route\u00a053 AWS Integration or with another DNS service, you don't need to make any changes. A CNAME record will route traffic to your distribution regardless of the IP address format of the viewer request.", - "title": "IPV6Enabled", - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging", - "markdownDescription": "A complex type that controls whether access logs are written for the distribution.\n\nFor more information about logging, see [Access Logs](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) in the *Amazon CloudFront Developer Guide* .", - "title": "Logging" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "OriginGroups": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups", - "markdownDescription": "A complex type that contains information about origin groups for this distribution.\n\nSpecify a value for either the `Origins` or `OriginGroups` property.", - "title": "OriginGroups" + "Metadata": { + "type": "object" }, - "Origins": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "A description of the macro.", + "title": "Description", + "type": "string" + }, + "FunctionName": { + "markdownDescription": "The Amazon Resource Name (ARN) of the underlying Lambda function that you want CloudFormation to invoke when the macro is run.", + "title": "FunctionName", + "type": "string" + }, + "LogGroupName": { + "markdownDescription": "The CloudWatch Logs group to which CloudFormation sends error logging information when invoking the macro's underlying Lambda function.\n\nThis will be an existing CloudWatch Logs LogGroup. Neither CloudFormation or Lambda will create the group.", + "title": "LogGroupName", + "type": "string" + }, + "LogRoleARN": { + "markdownDescription": "The ARN of the role CloudFormation should assume when sending log entries to CloudWatch Logs .", + "title": "LogRoleARN", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the macro. The name of the macro must be unique across all macros in the account.", + "title": "Name", + "type": "string" + } }, - "markdownDescription": "A complex type that contains information about origins for this distribution.\n\nSpecify a value for either the `Origins` or `OriginGroups` property.", - "title": "Origins", - "type": "array" + "required": [ + "FunctionName", + "Name" + ], + "type": "object" }, - "PriceClass": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThe price class that corresponds with the maximum price that you want to pay for CloudFront service. If you specify `PriceClass_All` , CloudFront responds to requests for your objects from all CloudFront edge locations.\n\nIf you specify a price class other than `PriceClass_All` , CloudFront serves your objects from the CloudFront edge location that has the lowest latency among the edge locations in your price class. Viewers who are in or near regions that are excluded from your specified price class may encounter slower performance.\n\nFor more information about price classes, see [Choosing the Price Class for a CloudFront Distribution](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html) in the *Amazon CloudFront Developer Guide* . For information about CloudFront pricing, including how price classes (such as Price Class 100) map to CloudFront regions, see [Amazon CloudFront Pricing](https://docs.aws.amazon.com/cloudfront/pricing/) .", - "title": "PriceClass", + "Type": { + "enum": [ + "AWS::CloudFormation::Macro" + ], "type": "string" }, - "Restrictions": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions", - "markdownDescription": "A complex type that identifies ways in which you want to restrict distribution of your content.", - "title": "Restrictions" - }, - "S3Origin": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyS3Origin", - "markdownDescription": "The origin as an Amazon S3 bucket.\n\n> This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.", - "title": "S3Origin" - }, - "Staging": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA Boolean that indicates whether this is a staging distribution. When this value is `true` , this is a staging distribution. When this value is `false` , this is not a staging distribution.", - "title": "Staging", - "type": "boolean" - }, - "TenantConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.TenantConfig", - "markdownDescription": "> This field only supports multi-tenant distributions. You can't specify this field for standard distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA distribution tenant configuration.", - "title": "TenantConfig" - }, - "ViewerCertificate": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate", - "markdownDescription": "A complex type that determines the distribution's SSL/TLS configuration for communicating with viewers.", - "title": "ViewerCertificate" - }, - "ViewerMtlsConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerMtlsConfig", - "markdownDescription": "The distribution's viewer mTLS configuration.", - "title": "ViewerMtlsConfig" - }, - "WebACLId": { - "markdownDescription": "> Multi-tenant distributions only support AWS WAF V2 web ACLs. \n\nA unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution. To specify a web ACL created using the latest version of AWS WAF , use the ACL ARN, for example `arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` . To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` .\n\nAWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about AWS WAF , see the [AWS WAF Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html) .", - "title": "WebACLId", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DefaultCacheBehavior", - "Enabled" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::Distribution.ForwardedValues": { + "AWS::CloudFormation::ModuleDefaultVersion": { "additionalProperties": false, "properties": { - "Cookies": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies", - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nA complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see [How CloudFront Forwards, Caches, and Logs Cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) in the *Amazon CloudFront Developer Guide* .", - "title": "Cookies" + "Condition": { + "type": "string" }, - "Headers": { - "items": { - "type": "string" - }, - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include headers in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send headers to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nA complex type that specifies the `Headers` , if any, that you want CloudFront to forward to the origin for this cache behavior (whitelisted headers). For the headers that you specify, CloudFront also caches separate versions of a specified object that is based on the header values in viewer requests.\n\nFor more information, see [Caching Content Based on Request Headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) in the *Amazon CloudFront Developer Guide* .", - "title": "Headers", - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "QueryString": { - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include query strings in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nIndicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of `QueryString` and on the values that you specify for `QueryStringCacheKeys` , if any:\n\nIf you specify true for `QueryString` and you don't specify any values for `QueryStringCacheKeys` , CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin.\n\nIf you specify true for `QueryString` and you specify one or more values for `QueryStringCacheKeys` , CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify.\n\nIf you specify false for `QueryString` , CloudFront doesn't forward any query string parameters to the origin, and doesn't cache based on query string parameters.\n\nFor more information, see [Configuring CloudFront to Cache Based on Query String Parameters](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html) in the *Amazon CloudFront Developer Guide* .", - "title": "QueryString", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "QueryStringCacheKeys": { - "items": { - "type": "string" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the module version to set as the default version.\n\nConditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .", + "title": "Arn", + "type": "string" + }, + "ModuleName": { + "markdownDescription": "The name of the module.\n\nConditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .", + "title": "ModuleName", + "type": "string" + }, + "VersionId": { + "markdownDescription": "The ID for the specific version of the module.\n\nConditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .", + "title": "VersionId", + "type": "string" + } }, - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include query strings in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nA complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.", - "title": "QueryStringCacheKeys", - "type": "array" - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "markdownDescription": "The event type of the function, either `viewer-request` or `viewer-response` . You cannot use origin-facing event types ( `origin-request` and `origin-response` ) with a CloudFront function.", - "title": "EventType", - "type": "string" + "type": "object" }, - "FunctionARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the function.", - "title": "FunctionARN", + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleDefaultVersion" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "type": "string" - }, - "markdownDescription": "A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content ( `whitelist` ) or not distribute your content ( `blacklist` ).\n\nThe `Location` element is a two-letter, uppercase country code for a country that you want to include in your `blacklist` or `whitelist` . Include one `Location` element for each country.\n\nCloudFront and `MaxMind` both use `ISO 3166` country codes. For the current list of countries and the corresponding codes, see `ISO 3166-1-alpha-2` code on the *International Organization for Standardization* website. You can also refer to the country list on the CloudFront console, which includes both country names and codes.", - "title": "Locations", - "type": "array" }, - "RestrictionType": { - "markdownDescription": "The method that you want to use to restrict distribution of your content by country:\n\n- `none` : No geo restriction is enabled, meaning access to content is not restricted by client geo location.\n- `blacklist` : The `Location` elements specify the countries in which you don't want CloudFront to distribute your content.\n- `whitelist` : The `Location` elements specify the countries in which you want CloudFront to distribute your content.", - "title": "RestrictionType", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "RestrictionType" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.GrpcConfig": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "Enables your CloudFront distribution to receive gRPC requests and to proxy them directly to your origins.", - "title": "Enabled", - "type": "boolean" - } - }, - "required": [ - "Enabled" + "Type" ], "type": "object" }, - "AWS::CloudFront::Distribution.LambdaFunctionAssociation": { + "AWS::CloudFormation::ModuleVersion": { "additionalProperties": false, "properties": { - "EventType": { - "markdownDescription": "Specifies the event type that triggers a Lambda@Edge function invocation. You can specify the following values:\n\n- `viewer-request` : The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.\n- `origin-request` : The function executes only when CloudFront sends a request to your origin. When the requested object is in the edge cache, the function doesn't execute.\n- `origin-response` : The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn't execute.\n- `viewer-response` : The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache.\n\nIf the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.", - "title": "EventType", + "Condition": { "type": "string" }, - "IncludeBody": { - "markdownDescription": "A flag that allows a Lambda@Edge function to have read access to the body content. For more information, see [Accessing the Request Body by Choosing the Include Body Option](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-include-body-access.html) in the Amazon CloudFront Developer Guide.", - "title": "IncludeBody", - "type": "boolean" - }, - "LambdaFunctionARN": { - "markdownDescription": "The ARN of the Lambda@Edge function. You must specify the ARN of a function version; you can't specify an alias or $LATEST.", - "title": "LambdaFunctionARN", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "markdownDescription": "The domain name assigned to your CloudFront distribution.", - "title": "DNSName", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "HTTPPort": { - "markdownDescription": "The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port that the origin listens on.", - "title": "HTTPPort", - "type": "number" - }, - "HTTPSPort": { - "markdownDescription": "The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port that the origin listens on.", - "title": "HTTPSPort", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "OriginProtocolPolicy": { - "markdownDescription": "Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin.", - "title": "OriginProtocolPolicy", - "type": "string" + "Metadata": { + "type": "object" }, - "OriginSSLProtocols": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ModuleName": { + "markdownDescription": "The name of the module being registered.", + "title": "ModuleName", + "type": "string" + }, + "ModulePackage": { + "markdownDescription": "A URL to the S3 bucket for the package that contains the template fragment and schema files for the module version to register.\n\nFor more information, see [Module structure and requirements](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/modules-structure.html) in the *CloudFormation Command Line Interface (CLI) User Guide* .\n\n> To register the module version, you must have `s3:GetObject` permissions to access the S3 objects.", + "title": "ModulePackage", + "type": "string" + } }, - "markdownDescription": "The minimum SSL/TLS protocol version that CloudFront uses when communicating with your origin server over HTTPs.\n\nFor more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginSSLProtocols", - "type": "array" - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "markdownDescription": "The domain name assigned to your CloudFront distribution.", - "title": "DNSName", + "required": [ + "ModuleName", + "ModulePackage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleVersion" + ], "type": "string" }, - "OriginAccessIdentity": { - "markdownDescription": "The CloudFront origin access identity to associate with the distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 through CloudFront .\n\n> This property is legacy. We recommend that you use [OriginAccessControl](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html) instead.", - "title": "OriginAccessIdentity", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DNSName" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::Distribution.Logging": { + "AWS::CloudFormation::PublicTypeVersion": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The Amazon S3 bucket to store the access logs in, for example, `amzn-s3-demo-bucket.s3.amazonaws.com` .", - "title": "Bucket", - "type": "string" - }, - "IncludeCookies": { - "markdownDescription": "Specifies whether you want CloudFront to include cookies in access logs, specify `true` for `IncludeCookies` . If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you don't want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify `false` for `IncludeCookies` .", - "title": "IncludeCookies", - "type": "boolean" - }, - "Prefix": { - "markdownDescription": "An optional string that you want CloudFront to prefix to the access log `filenames` for this distribution, for example, `myprefix/` . If you want to enable logging, but you don't want to specify a prefix, you still must include an empty `Prefix` element in the `Logging` element.", - "title": "Prefix", + "Condition": { "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.Origin": { - "additionalProperties": false, - "properties": { - "ConnectionAttempts": { - "markdownDescription": "The number of times that CloudFront attempts to connect to the origin. The minimum number is 1, the maximum is 3, and the default (if you don't specify otherwise) is 3.\n\nFor a custom origin (including an Amazon S3 bucket that's configured with static website hosting), this value also specifies the number of times that CloudFront attempts to get a response from the origin, in the case of an [Origin Response Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) .\n\nFor more information, see [Origin Connection Attempts](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-attempts) in the *Amazon CloudFront Developer Guide* .", - "title": "ConnectionAttempts", - "type": "number" - }, - "ConnectionTimeout": { - "markdownDescription": "The number of seconds that CloudFront waits when trying to establish a connection to the origin. The minimum timeout is 1 second, the maximum is 10 seconds, and the default (if you don't specify otherwise) is 10 seconds.\n\nFor more information, see [Origin Connection Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-timeout) in the *Amazon CloudFront Developer Guide* .", - "title": "ConnectionTimeout", - "type": "number" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig", - "markdownDescription": "Use this type to specify an origin that is not an Amazon S3 bucket, with one exception. If the Amazon S3 bucket is configured with static website hosting, use this type. If the Amazon S3 bucket is not configured with static website hosting, use the `S3OriginConfig` type instead.", - "title": "CustomOriginConfig" }, - "DomainName": { - "markdownDescription": "The domain name for the origin.\n\nFor more information, see [Origin Domain Name](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDomainName) in the *Amazon CloudFront Developer Guide* .", - "title": "DomainName", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Id": { - "markdownDescription": "A unique identifier for the origin. This value must be unique within the distribution.\n\nUse this value to specify the `TargetOriginId` in a `CacheBehavior` or `DefaultCacheBehavior` .", - "title": "Id", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "OriginAccessControlId": { - "markdownDescription": "The unique identifier of an origin access control for this origin.\n\nFor more information, see [Restricting access to an Amazon S3 origin](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginAccessControlId", - "type": "string" + "Metadata": { + "type": "object" }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader" + "Properties": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The Amazon Resource Number (ARN) of the extension.\n\nConditional: You must specify `Arn` , or `TypeName` and `Type` .", + "title": "Arn", + "type": "string" + }, + "LogDeliveryBucket": { + "markdownDescription": "The S3 bucket to which CloudFormation delivers the contract test execution logs.\n\nCloudFormation delivers the logs by the time contract testing has completed and the extension has been assigned a test type status of `PASSED` or `FAILED` .\n\nThe user initiating the stack operation must be able to access items in the specified S3 bucket. Specifically, the user needs the following permissions:\n\n- s3:GetObject\n- s3:PutObject", + "title": "LogDeliveryBucket", + "type": "string" + }, + "PublicVersionNumber": { + "markdownDescription": "The version number to assign to this version of the extension.\n\nUse the following format, and adhere to semantic versioning when assigning a version number to your extension:\n\n`MAJOR.MINOR.PATCH`\n\nFor more information, see [Semantic Versioning 2.0.0](https://docs.aws.amazon.com/https://semver.org/) .\n\nIf you don't specify a version number, CloudFormation increments the version number by one minor version release.\n\nYou cannot specify a version number the first time you publish a type. CloudFormation automatically sets the first version number to be `1.0.0` .", + "title": "PublicVersionNumber", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of the extension to test.\n\nConditional: You must specify `Arn` , or `TypeName` and `Type` .", + "title": "Type", + "type": "string" + }, + "TypeName": { + "markdownDescription": "The name of the extension to test.\n\nConditional: You must specify `Arn` , or `TypeName` and `Type` .", + "title": "TypeName", + "type": "string" + } }, - "markdownDescription": "A list of HTTP header names and values that CloudFront adds to the requests that it sends to the origin.\n\nFor more information, see [Adding Custom Headers to Origin Requests](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/add-origin-custom-headers.html) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginCustomHeaders", - "type": "array" - }, - "OriginPath": { - "markdownDescription": "An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.\n\nFor more information, see [Origin Path](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginPath) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginPath", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield", - "markdownDescription": "CloudFront Origin Shield. Using Origin Shield can help reduce the load on your origin.\n\nFor more information, see [Using Origin Shield](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginShield" - }, - "ResponseCompletionTimeout": { - "markdownDescription": "The time (in seconds) that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection.\n\nThe value for `ResponseCompletionTimeout` must be equal to or greater than the value for `OriginReadTimeout` . If you don't set a value for `ResponseCompletionTimeout` , CloudFront doesn't enforce a maximum value.\n\nFor more information, see [Response completion timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout) in the *Amazon CloudFront Developer Guide* .", - "title": "ResponseCompletionTimeout", - "type": "number" - }, - "S3OriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig", - "markdownDescription": "Use this type to specify an origin that is an Amazon S3 bucket that is not configured with static website hosting. To specify any other type of origin, including an Amazon S3 bucket that is configured with static website hosting, use the `CustomOriginConfig` type instead.", - "title": "S3OriginConfig" + "type": "object" }, - "VpcOriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.VpcOriginConfig", - "markdownDescription": "The VPC origin configuration.", - "title": "VpcOriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "markdownDescription": "The name of a header that you want CloudFront to send to your origin. For more information, see [Adding Custom Headers to Origin Requests](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html) in the *Amazon CloudFront Developer Guide* .", - "title": "HeaderName", + "Type": { + "enum": [ + "AWS::CloudFormation::PublicTypeVersion" + ], "type": "string" }, - "HeaderValue": { - "markdownDescription": "The value for the header that you specified in the `HeaderName` field.", - "title": "HeaderValue", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "HeaderName", - "HeaderValue" + "Type" ], "type": "object" }, - "AWS::CloudFront::Distribution.OriginGroup": { + "AWS::CloudFormation::Publisher": { "additionalProperties": false, "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria", - "markdownDescription": "A complex type that contains information about the failover criteria for an origin group.", - "title": "FailoverCriteria" + "Condition": { + "type": "string" }, - "Id": { - "markdownDescription": "The origin group's ID.", - "title": "Id", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Members": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers", - "markdownDescription": "A complex type that contains information about the origins in an origin group.", - "title": "Members" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SelectionCriteria": { - "markdownDescription": "The selection criteria for the origin group. For more information, see [Create an origin group](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html#concept_origin_groups.creating) in the *Amazon CloudFront Developer Guide* .", - "title": "SelectionCriteria", - "type": "string" - } - }, - "required": [ - "FailoverCriteria", - "Id", - "Members" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes", - "markdownDescription": "The status codes that, when returned from the primary origin, will trigger CloudFront to failover to the second origin.", - "title": "StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "markdownDescription": "The ID for an origin in an origin group.", - "title": "OriginId", - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" - }, - "markdownDescription": "Items (origins) in an origin group.", - "title": "Items", - "type": "array" + "Metadata": { + "type": "object" }, - "Quantity": { - "markdownDescription": "The number of origins in an origin group.", - "title": "Quantity", - "type": "number" - } - }, - "required": [ - "Items", - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptTermsAndConditions": { + "markdownDescription": "Whether you accept the [Terms and Conditions](https://docs.aws.amazon.com/https://cloudformation-registry-documents.s3.amazonaws.com/Terms_and_Conditions_for_AWS_CloudFormation_Registry_Publishers.pdf) for publishing extensions in the CloudFormation registry. You must accept the terms and conditions in order to register to publish public extensions to the CloudFormation registry.\n\nThe default is `false` .", + "title": "AcceptTermsAndConditions", + "type": "boolean" + }, + "ConnectionArn": { + "markdownDescription": "If you are using a Bitbucket or GitHub account for identity verification, the Amazon Resource Name (ARN) for your connection to that account.\n\nFor more information, see [Prerequisite: Registering your account to publish CloudFormation extensions](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs) in the *AWS CloudFormation Command Line Interface (CLI) User Guide* .", + "title": "ConnectionArn", + "type": "string" + } }, - "markdownDescription": "The items (origin groups) in a distribution.", - "title": "Items", - "type": "array" - }, - "Quantity": { - "markdownDescription": "The number of origin groups.", - "title": "Quantity", - "type": "number" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginMtlsConfig": { - "additionalProperties": false, - "properties": { - "ClientCertificateArn": { - "markdownDescription": "", - "title": "ClientCertificateArn", - "type": "string" - } - }, - "required": [ - "ClientCertificateArn" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "A flag that specifies whether Origin Shield is enabled.\n\nWhen it's enabled, CloudFront routes all requests through Origin Shield, which can help protect your origin. When it's disabled, CloudFront might send requests directly to your origin from multiple edge locations or regional edge caches.", - "title": "Enabled", - "type": "boolean" + "required": [ + "AcceptTermsAndConditions" + ], + "type": "object" }, - "OriginShieldRegion": { - "markdownDescription": "The AWS Region for Origin Shield.\n\nSpecify the AWS Region that has the lowest latency to your origin. To specify a region, use the region code, not the region name. For example, specify the US East (Ohio) region as `us-east-2` .\n\nWhen you enable CloudFront Origin Shield, you must specify the AWS Region for Origin Shield. For the list of AWS Regions that you can specify, and for help choosing the best Region for your origin, see [Choosing the AWS Region for Origin Shield](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html#choose-origin-shield-region) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginShieldRegion", + "Type": { + "enum": [ + "AWS::CloudFormation::Publisher" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.ParameterDefinition": { - "additionalProperties": false, - "properties": { - "Definition": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Definition", - "markdownDescription": "The value that you assigned to the parameter.", - "title": "Definition" }, - "Name": { - "markdownDescription": "The name of the parameter.", - "title": "Name", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Definition", - "Name" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction", - "markdownDescription": "A complex type that controls the countries in which your content is distributed. CloudFront determines the location of your users using `MaxMind` GeoIP databases. To disable geo restriction, remove the [Restrictions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-restrictions) property from your stack template.", - "title": "GeoRestriction" - } - }, - "required": [ - "GeoRestriction" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::Distribution.S3OriginConfig": { + "AWS::CloudFormation::ResourceDefaultVersion": { "additionalProperties": false, "properties": { - "OriginAccessIdentity": { - "markdownDescription": "> If you're using origin access control (OAC) instead of origin access identity, specify an empty `OriginAccessIdentity` element. For more information, see [Restricting access to an AWS](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-origin.html) in the *Amazon CloudFront Developer Guide* . \n\nThe CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can *only* access objects in an Amazon S3 bucket through CloudFront. The format of the value is:\n\n`origin-access-identity/cloudfront/ID-of-origin-access-identity`\n\nThe `*ID-of-origin-access-identity*` is the value that CloudFront returned in the `ID` element when you created the origin access identity.\n\nIf you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty `OriginAccessIdentity` element.\n\nTo delete the origin access identity from an existing distribution, update the distribution configuration and include an empty `OriginAccessIdentity` element.\n\nTo replace the origin access identity, update the distribution configuration and specify the new origin access identity.\n\nFor more information about the origin access identity, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginAccessIdentity", + "Condition": { "type": "string" }, - "OriginReadTimeout": { - "markdownDescription": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n\nFor more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginReadTimeout", - "type": "number" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "number" - }, - "markdownDescription": "The items (status codes) for an origin group.", - "title": "Items", - "type": "array" - }, - "Quantity": { - "markdownDescription": "The number of status codes.", - "title": "Quantity", - "type": "number" - } - }, - "required": [ - "Items", - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.StringSchema": { - "additionalProperties": false, - "properties": { - "Comment": { - "markdownDescription": "", - "title": "Comment", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DefaultValue": { - "markdownDescription": "", - "title": "DefaultValue", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Required": { - "markdownDescription": "", - "title": "Required", - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.TenantConfig": { - "additionalProperties": false, - "properties": { - "ParameterDefinitions": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ParameterDefinition" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TypeName": { + "markdownDescription": "The name of the resource.\n\nConditional: You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", + "title": "TypeName", + "type": "string" + }, + "TypeVersionArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource version.\n\nConditional: You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", + "title": "TypeVersionArn", + "type": "string" + }, + "VersionId": { + "markdownDescription": "The ID of a specific version of the resource. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the resource version when it's registered.\n\nConditional: You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", + "title": "VersionId", + "type": "string" + } }, - "markdownDescription": "The parameters that you specify for a distribution tenant.", - "title": "ParameterDefinitions", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.TrustStoreConfig": { - "additionalProperties": false, - "properties": { - "AdvertiseTrustStoreCaNames": { - "markdownDescription": "The configuration to use to advertise trust store CA names.", - "title": "AdvertiseTrustStoreCaNames", - "type": "boolean" + "type": "object" }, - "IgnoreCertificateExpiry": { - "markdownDescription": "The configuration to use to ignore certificate expiration.", - "title": "IgnoreCertificateExpiry", - "type": "boolean" + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" }, - "TrustStoreId": { - "markdownDescription": "The trust store ID.", - "title": "TrustStoreId", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "TrustStoreId" + "Type" ], "type": "object" }, - "AWS::CloudFront::Distribution.ViewerCertificate": { + "AWS::CloudFormation::ResourceScan": { "additionalProperties": false, "properties": { - "AcmCertificateArn": { - "markdownDescription": "> In CloudFormation, this field name is `AcmCertificateArn` . Note the different capitalization. \n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in [Certificate Manager (ACM)](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) , provide the Amazon Resource Name (ARN) of the ACM certificate. CloudFront only supports ACM certificates in the US East (N. Virginia) Region ( `us-east-1` ).\n\nIf you specify an ACM certificate ARN, you must also specify values for `MinimumProtocolVersion` and `SSLSupportMethod` . (In CloudFormation, the field name is `SslSupportMethod` . Note the different capitalization.)", - "title": "AcmCertificateArn", + "Condition": { "type": "string" }, - "CloudFrontDefaultCertificate": { - "markdownDescription": "If the distribution uses the CloudFront domain name such as `d111111abcdef8.cloudfront.net` , set this field to `true` .\n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs), omit this field and specify values for the following fields:\n\n- `AcmCertificateArn` or `IamCertificateId` (specify a value for one, not both)\n- `MinimumProtocolVersion`\n- `SslSupportMethod`", - "title": "CloudFrontDefaultCertificate", - "type": "boolean" - }, - "IamCertificateId": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . > In CloudFormation, this field name is `IamCertificateId` . Note the different capitalization. \n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html) , provide the ID of the IAM certificate.\n\nIf you specify an IAM certificate ID, you must also specify values for `MinimumProtocolVersion` and `SSLSupportMethod` . (In CloudFormation, the field name is `SslSupportMethod` . Note the different capitalization.)", - "title": "IamCertificateId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MinimumProtocolVersion": { - "markdownDescription": "If the distribution uses `Aliases` (alternate domain names or CNAMEs), specify the security policy that you want CloudFront to use for HTTPS connections with viewers. The security policy determines two settings:\n\n- The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers.\n- The ciphers that CloudFront can use to encrypt the content that it returns to viewers.\n\nFor more information, see [Security Policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValues-security-policy) and [Supported Protocols and Ciphers Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html#secure-connections-supported-ciphers) in the *Amazon CloudFront Developer Guide* .\n\n> On the CloudFront console, this setting is called *Security Policy* . \n\nWhen you're using SNI only (you set `SSLSupportMethod` to `sni-only` ), you must specify `TLSv1` or higher. (In CloudFormation, the field name is `SslSupportMethod` . Note the different capitalization.)\n\nIf the distribution uses the CloudFront domain name such as `d111111abcdef8.cloudfront.net` (you set `CloudFrontDefaultCertificate` to `true` ), CloudFront automatically sets the security policy to `TLSv1` regardless of the value that you set here.", - "title": "MinimumProtocolVersion", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SslSupportMethod": { - "markdownDescription": "> In CloudFormation, this field name is `SslSupportMethod` . Note the different capitalization. \n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs), specify which viewers the distribution accepts HTTPS connections from.\n\n- `sni-only` \u2013 The distribution accepts HTTPS connections from only viewers that support [server name indication (SNI)](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/Server_Name_Indication) . This is recommended. Most browsers and clients support SNI.\n- `vip` \u2013 The distribution accepts HTTPS connections from all viewers including those that don't support SNI. This is not recommended, and results in additional monthly charges from CloudFront.\n- `static-ip` - Do not specify this value unless your distribution has been enabled for this feature by the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact CloudFront through the [Support Center](https://docs.aws.amazon.com/support/home) .\n\nIf the distribution uses the CloudFront domain name such as `d111111abcdef8.cloudfront.net` , don't set a value for this field.", - "title": "SslSupportMethod", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.ViewerMtlsConfig": { - "additionalProperties": false, - "properties": { - "Mode": { - "markdownDescription": "The viewer mTLS mode.", - "title": "Mode", + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ScanFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::ResourceScan.ScanFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceScan" + ], "type": "string" }, - "TrustStoreConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.TrustStoreConfig", - "markdownDescription": "The trust store configuration associated with the viewer mTLS configuration.", - "title": "TrustStoreConfig" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::CloudFront::Distribution.VpcOriginConfig": { + "AWS::CloudFormation::ResourceScan.ScanFilter": { "additionalProperties": false, "properties": { - "OriginKeepaliveTimeout": { - "markdownDescription": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n\nFor more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginKeepaliveTimeout", - "type": "number" - }, - "OriginReadTimeout": { - "markdownDescription": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n\nFor more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginReadTimeout", - "type": "number" - }, - "OwnerAccountId": { - "markdownDescription": "The account ID of the AWS account that owns the VPC origin.", - "title": "OwnerAccountId", - "type": "string" - }, - "VpcOriginId": { - "markdownDescription": "The VPC origin ID.", - "title": "VpcOriginId", - "type": "string" + "Types": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "VpcOriginId" - ], "type": "object" }, - "AWS::CloudFront::DistributionTenant": { + "AWS::CloudFormation::ResourceVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -70698,71 +72008,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionGroupId": { - "markdownDescription": "The ID of the connection group for the distribution tenant. If you don't specify a connection group, CloudFront uses the default connection group.", - "title": "ConnectionGroupId", + "ExecutionRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the resource. If your resource calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. When CloudFormation needs to invoke the resource type handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource type handler, thereby supplying your resource type with the appropriate credentials.", + "title": "ExecutionRoleArn", "type": "string" }, - "Customizations": { - "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.Customizations", - "markdownDescription": "Customizations for the distribution tenant. For each distribution tenant, you can specify the geographic restrictions, and the Amazon Resource Names (ARNs) for the ACM certificate and AWS WAF web ACL. These are specific values that you can override or disable from the multi-tenant distribution that was used to create the distribution tenant.", - "title": "Customizations" + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig", + "markdownDescription": "Logging configuration information for a resource.", + "title": "LoggingConfig" }, - "DistributionId": { - "markdownDescription": "The ID of the multi-tenant distribution.", - "title": "DistributionId", + "SchemaHandlerPackage": { + "markdownDescription": "A URL to the S3 bucket for the resource project package that contains the necessary files for the resource you want to register.\n\nFor information on generating a schema handler package, see [Modeling resource types to use with CloudFormation](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-model.html) in the *CloudFormation Command Line Interface (CLI) User Guide* .\n\n> To register the resource version, you must have `s3:GetObject` permissions to access the S3 objects.", + "title": "SchemaHandlerPackage", "type": "string" }, - "Domains": { - "items": { - "type": "string" - }, - "markdownDescription": "The domains associated with the distribution tenant.", - "title": "Domains", - "type": "array" - }, - "Enabled": { - "markdownDescription": "Indicates whether the distribution tenant is in an enabled state. If disabled, the distribution tenant won't serve traffic.", - "title": "Enabled", - "type": "boolean" - }, - "ManagedCertificateRequest": { - "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.ManagedCertificateRequest", - "markdownDescription": "An object that represents the request for the Amazon CloudFront managed ACM certificate.", - "title": "ManagedCertificateRequest" - }, - "Name": { - "markdownDescription": "The name of the distribution tenant.", - "title": "Name", + "TypeName": { + "markdownDescription": "The name of the resource being registered.\n\nWe recommend that resource names adhere to the following pattern: *company_or_organization* :: *service* :: *type* .\n\n> The following organization namespaces are reserved and can't be used in your resource names:\n> \n> - `Alexa`\n> - `AMZN`\n> - `Amazon`\n> - `AWS`\n> - `Custom`\n> - `Dev`", + "title": "TypeName", "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.Parameter" - }, - "markdownDescription": "A list of parameter values to add to the resource. A parameter is specified as a key-value pair. A valid parameter value must exist for any parameter that is marked as required in the multi-tenant distribution.", - "title": "Parameters", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A complex type that contains zero or more `Tag` elements.", - "title": "Tags", - "type": "array" } }, "required": [ - "DistributionId", - "Domains", - "Name" + "SchemaHandlerPackage", + "TypeName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::DistributionTenant" + "AWS::CloudFormation::ResourceVersion" ], "type": "string" }, @@ -70781,127 +72056,122 @@ ], "type": "object" }, - "AWS::CloudFront::DistributionTenant.Certificate": { + "AWS::CloudFormation::ResourceVersion.LoggingConfig": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the ACM certificate.", - "title": "Arn", + "LogGroupName": { + "markdownDescription": "The Amazon CloudWatch logs group to which CloudFormation sends error logging information when invoking the type's handlers.", + "title": "LogGroupName", "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::DistributionTenant.Customizations": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.Certificate", - "markdownDescription": "The Certificate Manager (ACM) certificate.", - "title": "Certificate" - }, - "GeoRestrictions": { - "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.GeoRestrictionCustomization", - "markdownDescription": "The geographic restrictions.", - "title": "GeoRestrictions" }, - "WebAcl": { - "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.WebAclCustomization", - "markdownDescription": "The AWS WAF web ACL.", - "title": "WebAcl" + "LogRoleArn": { + "markdownDescription": "The ARN of the role that CloudFormation should assume when sending log entries to CloudWatch logs.", + "title": "LogRoleArn", + "type": "string" } }, "type": "object" }, - "AWS::CloudFront::DistributionTenant.DomainResult": { + "AWS::CloudFormation::Stack": { "additionalProperties": false, "properties": { - "Domain": { - "markdownDescription": "The specified domain.", - "title": "Domain", + "Condition": { "type": "string" }, - "Status": { - "markdownDescription": "Whether the domain is active or inactive.", - "title": "Status", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::DistributionTenant.GeoRestrictionCustomization": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "type": "string" - }, - "markdownDescription": "The locations for geographic restrictions.", - "title": "Locations", - "type": "array" }, - "RestrictionType": { - "markdownDescription": "The method that you want to use to restrict distribution of your content by country:\n\n- `none` : No geographic restriction is enabled, meaning access to content is not restricted by client geo location.\n- `blacklist` : The `Location` elements specify the countries in which you don't want CloudFront to distribute your content.\n- `whitelist` : The `Location` elements specify the countries in which you want CloudFront to distribute your content.", - "title": "RestrictionType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::DistributionTenant.ManagedCertificateRequest": { - "additionalProperties": false, - "properties": { - "CertificateTransparencyLoggingPreference": { - "markdownDescription": "You can opt out of certificate transparency logging by specifying the `disabled` option. Opt in by specifying `enabled` . For more information, see [Certificate Transparency Logging](https://docs.aws.amazon.com/acm/latest/userguide/acm-concepts.html#concept-transparency) in the *Certificate Manager User Guide* .", - "title": "CertificateTransparencyLoggingPreference", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "PrimaryDomainName": { - "markdownDescription": "The primary domain name associated with the CloudFront managed ACM certificate.", - "title": "PrimaryDomainName", - "type": "string" + "Metadata": { + "type": "object" }, - "ValidationTokenHost": { - "markdownDescription": "Specify how the HTTP validation token will be served when requesting the CloudFront managed ACM certificate.\n\n- For `cloudfront` , CloudFront will automatically serve the validation token. Choose this mode if you can point the domain's DNS to CloudFront immediately.\n- For `self-hosted` , you serve the validation token from your existing infrastructure. Choose this mode when you need to maintain current traffic flow while your certificate is being issued. You can place the validation token at the well-known path on your existing web server, wait for ACM to validate and issue the certificate, and then update your DNS to point to CloudFront.", - "title": "ValidationTokenHost", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::DistributionTenant.Parameter": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The parameter name.", - "title": "Name", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "NotificationARNs": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI).", + "title": "NotificationARNs", + "type": "array" + }, + "Parameters": { + "additionalProperties": true, + "markdownDescription": "The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter.\n\n> If you use the `Ref` function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type `String` . In other words, you can't pass values that are of type `CommaDelimitedList` to nested stacks. \n\nRequired if the nested stack requires input parameters.\n\nWhether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Parameters", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified.", + "title": "Tags", + "type": "array" + }, + "TemplateURL": { + "markdownDescription": "The URL of a file that contains the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket. The location for an Amazon S3 bucket must start with `https://` .\n\nWhether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.", + "title": "TemplateURL", + "type": "string" + }, + "TimeoutInMinutes": { + "markdownDescription": "The length of time, in minutes, that CloudFormation waits for the nested stack to reach the `CREATE_COMPLETE` state. The default is no timeout. When CloudFormation detects that the nested stack has reached the `CREATE_COMPLETE` state, it marks the nested stack resource as `CREATE_COMPLETE` in the parent stack and resumes creating the parent stack. If the timeout period expires before the nested stack reaches `CREATE_COMPLETE` , CloudFormation marks the nested stack as failed and rolls back both the nested stack and parent stack.\n\nUpdates aren't supported.", + "title": "TimeoutInMinutes", + "type": "number" + } + }, + "required": [ + "TemplateURL" + ], + "type": "object" }, - "Value": { - "markdownDescription": "The parameter value.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::DistributionTenant.WebAclCustomization": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "The action for the AWS WAF web ACL customization. You can specify `override` to specify a separate AWS WAF web ACL for the distribution tenant. If you specify `disable` , the distribution tenant won't have AWS WAF web ACL protections and won't inherit from the multi-tenant distribution.", - "title": "Action", + "Type": { + "enum": [ + "AWS::CloudFormation::Stack" + ], "type": "string" }, - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS WAF web ACL.", - "title": "Arn", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::CloudFront::Function": { + "AWS::CloudFormation::StackSet": { "additionalProperties": false, "properties": { "Condition": { @@ -70936,48 +72206,103 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoPublish": { - "markdownDescription": "A flag that determines whether to automatically publish the function to the `LIVE` stage when it\u2019s created. To automatically publish to the `LIVE` stage, set this property to `true` .", - "title": "AutoPublish", - "type": "boolean" + "AdministrationRoleARN": { + "markdownDescription": "The Amazon Resource Number (ARN) of the IAM role to use to create this StackSet. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account.\n\nUse customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account. For more information, see [Grant self-managed permissions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) in the *CloudFormation User Guide* .\n\nValid only if the permissions model is `SELF_MANAGED` .", + "title": "AdministrationRoleARN", + "type": "string" }, - "FunctionCode": { - "markdownDescription": "The function code. For more information about writing a CloudFront function, see [Writing function code for CloudFront Functions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html) in the *Amazon CloudFront Developer Guide* .", - "title": "FunctionCode", + "AutoDeployment": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment", + "markdownDescription": "Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU). For more information, see [Enable or disable automatic deployments for StackSets in AWS Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html) in the *CloudFormation User Guide* .\n\nRequired if the permissions model is `SERVICE_MANAGED` . (Not used with self-managed permissions.)", + "title": "AutoDeployment" + }, + "CallAs": { + "markdownDescription": "Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.\n\nBy default, `SELF` is specified. Use `SELF` for StackSets with self-managed permissions.\n\n- To create a StackSet with service-managed permissions while signed in to the management account, specify `SELF` .\n- To create a StackSet with service-managed permissions while signed in to a delegated administrator account, specify `DELEGATED_ADMIN` .\n\nYour AWS account must be registered as a delegated admin in the management account. For more information, see [Register a delegated administrator](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) in the *CloudFormation User Guide* .\n\nStackSets with service-managed permissions are created in the management account, including StackSets that are created by delegated administrators.\n\nValid only if the permissions model is `SERVICE_MANAGED` .", + "title": "CallAs", "type": "string" }, - "FunctionConfig": { - "$ref": "#/definitions/AWS::CloudFront::Function.FunctionConfig", - "markdownDescription": "Contains configuration information about a CloudFront function.", - "title": "FunctionConfig" + "Capabilities": { + "items": { + "type": "string" + }, + "markdownDescription": "The capabilities that are allowed in the StackSet. Some StackSet templates might include resources that can affect permissions in your AWS account \u2014for example, by creating new IAM users. For more information, see [Acknowledging IAM resources in CloudFormation templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities) in the *CloudFormation User Guide* .", + "title": "Capabilities", + "type": "array" }, - "FunctionMetadata": { - "$ref": "#/definitions/AWS::CloudFront::Function.FunctionMetadata", - "markdownDescription": "Contains metadata about a CloudFront function.", - "title": "FunctionMetadata" + "Description": { + "markdownDescription": "A description of the StackSet.", + "title": "Description", + "type": "string" }, - "Name": { - "markdownDescription": "A name to identify the function.", - "title": "Name", + "ExecutionRoleName": { + "markdownDescription": "The name of the IAM execution role to use to create the StackSet. If you don't specify an execution role, CloudFormation uses the `AWSCloudFormationStackSetExecutionRole` role for the StackSet operation.\n\nValid only if the permissions model is `SELF_MANAGED` .\n\n*Pattern* : `[a-zA-Z_0-9+=,.@-]+`", + "title": "ExecutionRoleName", + "type": "string" + }, + "ManagedExecution": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.ManagedExecution", + "markdownDescription": "Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations.\n\nWhen active, StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order.\n\n> If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting.\n> \n> You can't modify your StackSet's execution configuration while there are running or queued operations for that StackSet. \n\nWhen inactive (default), StackSets performs one operation at a time in request order.", + "title": "ManagedExecution" + }, + "OperationPreferences": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences", + "markdownDescription": "The user-specified preferences for how CloudFormation performs a StackSet operation.", + "title": "OperationPreferences" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "markdownDescription": "The input parameters for the StackSet template.", + "title": "Parameters", + "type": "array" + }, + "PermissionModel": { + "markdownDescription": "Describes how the IAM roles required for StackSet operations are created.\n\n- With `SELF_MANAGED` permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see [Grant self-managed permissions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) in the *CloudFormation User Guide* .\n- With `SERVICE_MANAGED` permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations . For more information, see [Activate trusted access for StackSets with AWS Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-activate-trusted-access.html) in the *CloudFormation User Guide* .", + "title": "PermissionModel", + "type": "string" + }, + "StackInstancesGroup": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" + }, + "markdownDescription": "A group of stack instances with parameters in some specific accounts and Regions.", + "title": "StackInstancesGroup", + "type": "array" + }, + "StackSetName": { + "markdownDescription": "The name to associate with the StackSet. The name must be unique in the Region where you create your StackSet.", + "title": "StackSetName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "Key-value pairs to associate with this stack. CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 50 tags.\n\nIf you don't specify this parameter, CloudFormation doesn't modify the stack's tags. If you specify an empty value, CloudFormation removes all associated tags.", + "title": "Tags", "type": "array" + }, + "TemplateBody": { + "markdownDescription": "The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes.\n\nYou must include either `TemplateURL` or `TemplateBody` in a StackSet, but you can't use both. Dynamic references in the `TemplateBody` may not work correctly in all cases. It's recommended to pass templates that contain dynamic references through `TemplateUrl` instead.", + "title": "TemplateBody", + "type": "string" + }, + "TemplateURL": { + "markdownDescription": "The URL of a file that contains the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket or a Systems Manager document. The location for an Amazon S3 bucket must start with `https://` .\n\nConditional: You must specify only one of the following parameters: `TemplateBody` , `TemplateURL` .", + "title": "TemplateURL", + "type": "string" } }, "required": [ - "FunctionCode", - "FunctionConfig", - "Name" + "PermissionModel", + "StackSetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::Function" + "AWS::CloudFormation::StackSet" ], "type": "string" }, @@ -70996,60 +72321,169 @@ ], "type": "object" }, - "AWS::CloudFront::Function.FunctionConfig": { + "AWS::CloudFormation::StackSet.AutoDeployment": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "A comment to describe the function.", - "title": "Comment", + "DependsOn": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of StackSet ARNs that this StackSet depends on for auto-deployment operations. When auto-deployment is triggered, operations will be sequenced to ensure all dependencies complete successfully before this StackSet's operation begins.", + "title": "DependsOn", + "type": "array" + }, + "Enabled": { + "markdownDescription": "If set to `true` , StackSets automatically deploys additional stack instances to AWS Organizations accounts that are added to a target organization or organizational unit (OU) in the specified Regions. If an account is removed from a target organization or OU, StackSets deletes stack instances from the account in the specified Regions.", + "title": "Enabled", + "type": "boolean" + }, + "RetainStacksOnAccountRemoval": { + "markdownDescription": "If set to `true` , stack resources are retained when an account is removed from a target organization or OU. If set to `false` , stack resources are deleted. Specify only if `Enabled` is set to `True` .", + "title": "RetainStacksOnAccountRemoval", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.DeploymentTargets": { + "additionalProperties": false, + "properties": { + "AccountFilterType": { + "markdownDescription": "Refines which accounts to deploy stacks to by specifying how to use the `Accounts` and `OrganizationalUnitIds` properties together.\n\nThe following values determine how CloudFormation selects target accounts:\n\n- `INTERSECTION` : StackSet deploys to the accounts specified in the `Accounts` property.\n- `DIFFERENCE` : StackSet deploys to the OU, excluding the accounts specified in the `Accounts` property.\n- `UNION` : StackSet deploys to the OU, and the accounts specified in the `Accounts` property. `UNION` is not supported for create operations when using StackSet as a resource or the `CreateStackInstances` API.", + "title": "AccountFilterType", "type": "string" }, - "KeyValueStoreAssociations": { + "Accounts": { "items": { - "$ref": "#/definitions/AWS::CloudFront::Function.KeyValueStoreAssociation" + "type": "string" }, - "markdownDescription": "The configuration for the key value store associations.", - "title": "KeyValueStoreAssociations", + "markdownDescription": "The account IDs of the AWS accounts . If you have many account numbers, you can provide those accounts using the `AccountsUrl` property instead.\n\n*Pattern* : `^[0-9]{12}$`", + "title": "Accounts", "type": "array" }, - "Runtime": { - "markdownDescription": "The function's runtime environment version.", - "title": "Runtime", + "AccountsUrl": { + "markdownDescription": "The Amazon S3 URL path to a file that contains a list of AWS account IDs. The file format must be either `.csv` or `.txt` , and the data can be comma-separated or new-line-separated. There is currently a 10MB limit for the data (approximately 800,000 accounts).\n\nThis property serves the same purpose as `Accounts` but allows you to specify a large number of accounts.", + "title": "AccountsUrl", "type": "string" + }, + "OrganizationalUnitIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The organization root ID or organizational unit (OU) IDs.\n\n*Pattern* : `^(ou-[a-z0-9]{4,32}-[a-z0-9]{8,32}|r-[a-z0-9]{4,32})$`", + "title": "OrganizationalUnitIds", + "type": "array" } }, - "required": [ - "Comment", - "Runtime" - ], "type": "object" }, - "AWS::CloudFront::Function.FunctionMetadata": { + "AWS::CloudFormation::StackSet.ManagedExecution": { "additionalProperties": false, "properties": { - "FunctionARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies the function.", - "title": "FunctionARN", + "Active": { + "markdownDescription": "When `true` , CloudFormation performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, CloudFormation starts queued operations in request order.\n\n> If there are already running or queued operations, CloudFormation queues all incoming operations even if they are non-conflicting.\n> \n> You can't modify your StackSet's execution configuration while there are running or queued operations for that StackSet. \n\nWhen `false` (default), StackSets performs one operation at a time in request order.", + "title": "Active", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.OperationPreferences": { + "additionalProperties": false, + "properties": { + "ConcurrencyMode": { + "markdownDescription": "Specifies how the concurrency level behaves during the operation execution.\n\n- `STRICT_FAILURE_TOLERANCE` : This option dynamically lowers the concurrency level to ensure the number of failed accounts never exceeds the value of `FailureToleranceCount` +1. The initial actual concurrency is set to the lower of either the value of the `MaxConcurrentCount` , or the value of `FailureToleranceCount` +1. The actual concurrency is then reduced proportionally by the number of failures. This is the default behavior.\n\nIf failure tolerance or Maximum concurrent accounts are set to percentages, the behavior is similar.\n- `SOFT_FAILURE_TOLERANCE` : This option decouples `FailureToleranceCount` from the actual concurrency. This allows StackSet operations to run at the concurrency level set by the `MaxConcurrentCount` value, or `MaxConcurrentPercentage` , regardless of the number of failures.", + "title": "ConcurrencyMode", + "type": "string" + }, + "FailureToleranceCount": { + "markdownDescription": "The number of accounts per Region this operation can fail in before CloudFormation stops the operation in that Region. If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions.\n\nConditional: You must specify either `FailureToleranceCount` or `FailureTolerancePercentage` (but not both).", + "title": "FailureToleranceCount", + "type": "number" + }, + "FailureTolerancePercentage": { + "markdownDescription": "The percentage of accounts per Region this stack operation can fail in before CloudFormation stops the operation in that Region. If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions.\n\nWhen calculating the number of accounts based on the specified percentage, CloudFormation rounds *down* to the next whole number.\n\nConditional: You must specify either `FailureToleranceCount` or `FailureTolerancePercentage` , but not both.", + "title": "FailureTolerancePercentage", + "type": "number" + }, + "MaxConcurrentCount": { + "markdownDescription": "The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of `FailureToleranceCount` . `MaxConcurrentCount` is at most one more than the `FailureToleranceCount` .\n\nNote that this setting lets you specify the *maximum* for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.\n\nConditional: You must specify either `MaxConcurrentCount` or `MaxConcurrentPercentage` , but not both.", + "title": "MaxConcurrentCount", + "type": "number" + }, + "MaxConcurrentPercentage": { + "markdownDescription": "The maximum percentage of accounts in which to perform this operation at one time.\n\nWhen calculating the number of accounts based on the specified percentage, CloudFormation rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, CloudFormation sets the number as one instead.\n\nNote that this setting lets you specify the *maximum* for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.\n\nConditional: You must specify either `MaxConcurrentCount` or `MaxConcurrentPercentage` , but not both.", + "title": "MaxConcurrentPercentage", + "type": "number" + }, + "RegionConcurrencyType": { + "markdownDescription": "The concurrency type of deploying StackSets operations in Regions, could be in parallel or one Region at a time.", + "title": "RegionConcurrencyType", "type": "string" + }, + "RegionOrder": { + "items": { + "type": "string" + }, + "markdownDescription": "The order of the Regions where you want to perform the stack operation.", + "title": "RegionOrder", + "type": "array" } }, "type": "object" }, - "AWS::CloudFront::Function.KeyValueStoreAssociation": { + "AWS::CloudFormation::StackSet.Parameter": { "additionalProperties": false, "properties": { - "KeyValueStoreARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the key value store association.", - "title": "KeyValueStoreARN", + "ParameterKey": { + "markdownDescription": "The key associated with the parameter. If you don't specify a key and value for a particular parameter, CloudFormation uses the default value that's specified in your template.", + "title": "ParameterKey", + "type": "string" + }, + "ParameterValue": { + "markdownDescription": "The input value associated with the parameter.", + "title": "ParameterValue", "type": "string" } }, "required": [ - "KeyValueStoreARN" + "ParameterKey", + "ParameterValue" ], "type": "object" }, - "AWS::CloudFront::KeyGroup": { + "AWS::CloudFormation::StackSet.StackInstances": { + "additionalProperties": false, + "properties": { + "DeploymentTargets": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets", + "markdownDescription": "The AWS Organizations accounts or AWS accounts to deploy stacks to in the specified Regions.", + "title": "DeploymentTargets" + }, + "ParameterOverrides": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "markdownDescription": "A list of StackSet parameters whose values you want to override in the selected stack instances.", + "title": "ParameterOverrides", + "type": "array" + }, + "Regions": { + "items": { + "type": "string" + }, + "markdownDescription": "The names of one or more Regions where you want to create stack instances using the specified AWS accounts .", + "title": "Regions", + "type": "array" + } + }, + "required": [ + "DeploymentTargets", + "Regions" + ], + "type": "object" + }, + "AWS::CloudFormation::TypeActivation": { "additionalProperties": false, "properties": { "Condition": { @@ -71084,20 +72518,62 @@ "Properties": { "additionalProperties": false, "properties": { - "KeyGroupConfig": { - "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig", - "markdownDescription": "The key group configuration.", - "title": "KeyGroupConfig" + "AutoUpdate": { + "markdownDescription": "Whether to automatically update the extension in this account and Region when a new *minor* version is published by the extension publisher. Major versions released by the publisher must be manually updated.\n\nThe default is `true` .", + "title": "AutoUpdate", + "type": "boolean" + }, + "ExecutionRoleArn": { + "markdownDescription": "The name of the IAM execution role to use to activate the extension.", + "title": "ExecutionRoleArn", + "type": "string" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::TypeActivation.LoggingConfig", + "markdownDescription": "Specifies logging configuration information for an extension.", + "title": "LoggingConfig" + }, + "MajorVersion": { + "markdownDescription": "The major version of this extension you want to activate, if multiple major versions are available. The default is the latest major version. CloudFormation uses the latest available *minor* version of the major version selected.\n\nYou can specify `MajorVersion` or `VersionBump` , but not both.", + "title": "MajorVersion", + "type": "string" + }, + "PublicTypeArn": { + "markdownDescription": "The Amazon Resource Number (ARN) of the public extension.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", + "title": "PublicTypeArn", + "type": "string" + }, + "PublisherId": { + "markdownDescription": "The ID of the extension publisher.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", + "title": "PublisherId", + "type": "string" + }, + "Type": { + "markdownDescription": "The extension type.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", + "title": "Type", + "type": "string" + }, + "TypeName": { + "markdownDescription": "The name of the extension.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", + "title": "TypeName", + "type": "string" + }, + "TypeNameAlias": { + "markdownDescription": "An alias to assign to the public extension in this account and Region. If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and Region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console.\n\nAn extension alias must be unique within a given account and Region. You can activate the same public resource multiple times in the same account and Region, using different type name aliases.", + "title": "TypeNameAlias", + "type": "string" + }, + "VersionBump": { + "markdownDescription": "Manually updates a previously-activated type to a new major or minor version, if available. You can also use this parameter to update the value of `AutoUpdate` .\n\n- `MAJOR` : CloudFormation updates the extension to the newest major version, if one is available.\n- `MINOR` : CloudFormation updates the extension to the newest minor version, if one is available.", + "title": "VersionBump", + "type": "string" } }, - "required": [ - "KeyGroupConfig" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::KeyGroup" + "AWS::CloudFormation::TypeActivation" ], "type": "string" }, @@ -71111,45 +72587,35 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::CloudFront::KeyGroup.KeyGroupConfig": { + "AWS::CloudFormation::TypeActivation.LoggingConfig": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "A comment to describe the key group. The comment cannot be longer than 128 characters.", - "title": "Comment", + "LogGroupName": { + "markdownDescription": "The Amazon CloudWatch Logs group to which CloudFormation sends error logging information when invoking the extension's handlers.", + "title": "LogGroupName", "type": "string" }, - "Items": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the identifiers of the public keys in the key group.", - "title": "Items", - "type": "array" - }, - "Name": { - "markdownDescription": "A name to identify the key group.", - "title": "Name", + "LogRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role that CloudFormation should assume when sending log entries to CloudWatch Logs.", + "title": "LogRoleArn", "type": "string" } }, - "required": [ - "Items", - "Name" - ], "type": "object" }, - "AWS::CloudFront::KeyValueStore": { + "AWS::CloudFormation::WaitCondition": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, + "CreationPolicy": { + "type": "object" + }, "DeletionPolicy": { "enum": [ "Delete", @@ -71179,36 +72645,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "A comment for the key value store.", - "title": "Comment", - "type": "string" - }, - "ImportSource": { - "$ref": "#/definitions/AWS::CloudFront::KeyValueStore.ImportSource", - "markdownDescription": "The import source for the key value store.", - "title": "ImportSource" + "Count": { + "markdownDescription": "The number of success signals that CloudFormation must receive before it continues the stack creation process. When the wait condition receives the requisite number of success signals, CloudFormation resumes the creation of the stack. If the wait condition doesn't receive the specified number of success signals before the Timeout period expires, CloudFormation assumes that the wait condition has failed and rolls the stack back.\n\nUpdates aren't supported.", + "title": "Count", + "type": "number" }, - "Name": { - "markdownDescription": "The name of the key value store.", - "title": "Name", + "Handle": { + "markdownDescription": "A reference to the wait condition handle used to signal this wait condition. Use the `Ref` intrinsic function to specify an [AWS::CloudFormation::WaitConditionHandle](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-waitconditionhandle.html) resource.\n\nAnytime you add a `WaitCondition` resource during a stack update, you must associate the wait condition with a new WaitConditionHandle resource. Don't reuse an old wait condition handle that has already been defined in the template. If you reuse a wait condition handle, the wait condition might evaluate old signals from a previous create or update stack command.\n\nUpdates aren't supported.", + "title": "Handle", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Timeout": { + "markdownDescription": "The length of time (in seconds) to wait for the number of signals that the `Count` property specifies. `Timeout` is a minimum-bound property, meaning the timeout occurs no sooner than the time you specify, but can occur shortly thereafter. The maximum time that can be specified for this property is 12 hours (43200 seconds).\n\nUpdates aren't supported.", + "title": "Timeout", + "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::KeyValueStore" + "AWS::CloudFormation::WaitCondition" ], "type": "string" }, @@ -71222,32 +72679,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::KeyValueStore.ImportSource": { - "additionalProperties": false, - "properties": { - "SourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the import source for the key value store.", - "title": "SourceArn", - "type": "string" - }, - "SourceType": { - "markdownDescription": "The source type of the import source for the key value store.", - "title": "SourceType", - "type": "string" - } - }, - "required": [ - "SourceArn", - "SourceType" + "Type" ], "type": "object" }, - "AWS::CloudFront::MonitoringSubscription": { + "AWS::CloudFormation::WaitConditionHandle": { "additionalProperties": false, "properties": { "Condition": { @@ -71281,27 +72717,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "DistributionId": { - "markdownDescription": "The ID of the distribution that you are enabling metrics for.", - "title": "DistributionId", - "type": "string" - }, - "MonitoringSubscription": { - "$ref": "#/definitions/AWS::CloudFront::MonitoringSubscription.MonitoringSubscription", - "markdownDescription": "A subscription configuration for additional CloudWatch metrics.", - "title": "MonitoringSubscription" - } - }, - "required": [ - "DistributionId", - "MonitoringSubscription" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::MonitoringSubscription" + "AWS::CloudFormation::WaitConditionHandle" ], "type": "string" }, @@ -71315,37 +72736,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::MonitoringSubscription.MonitoringSubscription": { - "additionalProperties": false, - "properties": { - "RealtimeMetricsSubscriptionConfig": { - "$ref": "#/definitions/AWS::CloudFront::MonitoringSubscription.RealtimeMetricsSubscriptionConfig", - "markdownDescription": "A subscription configuration for additional CloudWatch metrics.", - "title": "RealtimeMetricsSubscriptionConfig" - } - }, - "type": "object" - }, - "AWS::CloudFront::MonitoringSubscription.RealtimeMetricsSubscriptionConfig": { - "additionalProperties": false, - "properties": { - "RealtimeMetricsSubscriptionStatus": { - "markdownDescription": "A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution.", - "title": "RealtimeMetricsSubscriptionStatus", - "type": "string" - } - }, - "required": [ - "RealtimeMetricsSubscriptionStatus" + "Type" ], "type": "object" }, - "AWS::CloudFront::OriginAccessControl": { + "AWS::CloudFront::AnycastIpList": { "additionalProperties": false, "properties": { "Condition": { @@ -71380,20 +72775,44 @@ "Properties": { "additionalProperties": false, "properties": { - "OriginAccessControlConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginAccessControl.OriginAccessControlConfig", - "markdownDescription": "The origin access control.", - "title": "OriginAccessControlConfig" + "IpAddressType": { + "markdownDescription": "The IP address type for the Anycast static IP list.", + "title": "IpAddressType", + "type": "string" + }, + "IpCount": { + "markdownDescription": "The number of IP addresses in the Anycast static IP list.", + "title": "IpCount", + "type": "number" + }, + "IpamCidrConfigs": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::AnycastIpList.IpamCidrConfig" + }, + "markdownDescription": "A list of IPAM CIDR configurations that define the IP address ranges, IPAM pools, and associated Anycast IP addresses.", + "title": "IpamCidrConfigs", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the Anycast static IP list.", + "title": "Name", + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::CloudFront::AnycastIpList.Tags", + "markdownDescription": "A complex type that contains zero or more `Tag` elements.", + "title": "Tags" } }, "required": [ - "OriginAccessControlConfig" + "IpCount", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::OriginAccessControl" + "AWS::CloudFront::AnycastIpList" ], "type": "string" }, @@ -71412,44 +72831,133 @@ ], "type": "object" }, - "AWS::CloudFront::OriginAccessControl.OriginAccessControlConfig": { + "AWS::CloudFront::AnycastIpList.AnycastIpList": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description of the origin access control.", - "title": "Description", + "AnycastIps": { + "items": { + "type": "string" + }, + "markdownDescription": "The static IP addresses that are allocated to the Anycast static IP list.", + "title": "AnycastIps", + "type": "array" + }, + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Anycast static IP list.", + "title": "Arn", "type": "string" }, - "Name": { - "markdownDescription": "A name to identify the origin access control. You can specify up to 64 characters.", - "title": "Name", + "Id": { + "markdownDescription": "The ID of the Anycast static IP list.", + "title": "Id", "type": "string" }, - "OriginAccessControlOriginType": { - "markdownDescription": "The type of origin that this origin access control is for.", - "title": "OriginAccessControlOriginType", + "IpAddressType": { + "markdownDescription": "The IP address type for the Anycast static IP list.", + "title": "IpAddressType", "type": "string" }, - "SigningBehavior": { - "markdownDescription": "Specifies which requests CloudFront signs (adds authentication information to). Specify `always` for the most common use case. For more information, see [origin access control advanced settings](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html#oac-advanced-settings) in the *Amazon CloudFront Developer Guide* .\n\nThis field can have one of the following values:\n\n- `always` \u2013 CloudFront signs all origin requests, overwriting the `Authorization` header from the viewer request if one exists.\n- `never` \u2013 CloudFront doesn't sign any origin requests. This value turns off origin access control for all origins in all distributions that use this origin access control.\n- `no-override` \u2013 If the viewer request doesn't contain the `Authorization` header, then CloudFront signs the origin request. If the viewer request contains the `Authorization` header, then CloudFront doesn't sign the origin request and instead passes along the `Authorization` header from the viewer request. *WARNING: To pass along the `Authorization` header from the viewer request, you *must* add the `Authorization` header to a [cache policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html) for all cache behaviors that use origins associated with this origin access control.*", - "title": "SigningBehavior", + "IpCount": { + "markdownDescription": "The number of IP addresses in the Anycast static IP list.", + "title": "IpCount", + "type": "number" + }, + "IpamCidrConfigResults": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::AnycastIpList.IpamCidrConfigResult" + }, + "markdownDescription": "The results for the IPAM CIDRs that defines a specific IP address range, IPAM pool, and associated Anycast IP address.", + "title": "IpamCidrConfigResults", + "type": "array" + }, + "LastModifiedTime": { + "markdownDescription": "The last time the Anycast static IP list was modified.", + "title": "LastModifiedTime", "type": "string" }, - "SigningProtocol": { - "markdownDescription": "The signing protocol of the origin access control, which determines how CloudFront signs (authenticates) requests. The only valid value is `sigv4` .", - "title": "SigningProtocol", + "Name": { + "markdownDescription": "The name of the Anycast static IP list.", + "title": "Name", + "type": "string" + }, + "Status": { + "markdownDescription": "The status of the Anycast static IP list. Valid values: `Deployed` , `Deploying` , or `Failed` .", + "title": "Status", "type": "string" } }, "required": [ + "AnycastIps", + "Arn", + "Id", + "IpCount", + "LastModifiedTime", "Name", - "OriginAccessControlOriginType", - "SigningBehavior", - "SigningProtocol" + "Status" ], "type": "object" }, - "AWS::CloudFront::OriginRequestPolicy": { + "AWS::CloudFront::AnycastIpList.IpamCidrConfig": { + "additionalProperties": false, + "properties": { + "Cidr": { + "markdownDescription": "The CIDR that specifies the IP address range for this IPAM configuration.", + "title": "Cidr", + "type": "string" + }, + "IpamPoolArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IPAM pool that the CIDR block is assigned to.", + "title": "IpamPoolArn", + "type": "string" + } + }, + "required": [ + "Cidr", + "IpamPoolArn" + ], + "type": "object" + }, + "AWS::CloudFront::AnycastIpList.IpamCidrConfigResult": { + "additionalProperties": false, + "properties": { + "AnycastIp": { + "markdownDescription": "The specified Anycast IP address allocated from the IPAM pool for this CIDR configuration.", + "title": "AnycastIp", + "type": "string" + }, + "Cidr": { + "markdownDescription": "The CIDR that specifies the IP address range for this IPAM configuration.", + "title": "Cidr", + "type": "string" + }, + "IpamPoolArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IPAM pool that the CIDR block is assigned to.", + "title": "IpamPoolArn", + "type": "string" + }, + "Status": { + "markdownDescription": "The current status of the IPAM CIDR configuration.", + "title": "Status", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::AnycastIpList.Tags": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A complex type that contains `Tag` elements.", + "title": "Items", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFront::CachePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -71484,20 +72992,20 @@ "Properties": { "additionalProperties": false, "properties": { - "OriginRequestPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig", - "markdownDescription": "The origin request policy configuration.", - "title": "OriginRequestPolicyConfig" + "CachePolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CachePolicyConfig", + "markdownDescription": "The cache policy configuration.", + "title": "CachePolicyConfig" } }, "required": [ - "OriginRequestPolicyConfig" + "CachePolicyConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::OriginRequestPolicy" + "AWS::CloudFront::CachePolicy" ], "type": "string" }, @@ -71516,11 +73024,54 @@ ], "type": "object" }, - "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { + "AWS::CloudFront::CachePolicy.CachePolicyConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "markdownDescription": "A comment to describe the cache policy. The comment cannot be longer than 128 characters.", + "title": "Comment", + "type": "string" + }, + "DefaultTTL": { + "markdownDescription": "The default amount of time, in seconds, that you want objects to stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. CloudFront uses this value as the object's time to live (TTL) only when the origin does *not* send `Cache-Control` or `Expires` headers with the object. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default value for this field is 86400 seconds (one day). If the value of `MinTTL` is more than 86400 seconds, then the default value for this field is the same as the value of `MinTTL` .", + "title": "DefaultTTL", + "type": "number" + }, + "MaxTTL": { + "markdownDescription": "The maximum amount of time, in seconds, that objects stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. CloudFront uses this value only when the origin sends `Cache-Control` or `Expires` headers with the object. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default value for this field is 31536000 seconds (one year). If the value of `MinTTL` or `DefaultTTL` is more than 31536000 seconds, then the default value for this field is the same as the value of `DefaultTTL` .", + "title": "MaxTTL", + "type": "number" + }, + "MinTTL": { + "markdownDescription": "The minimum amount of time, in seconds, that you want objects to stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", + "title": "MinTTL", + "type": "number" + }, + "Name": { + "markdownDescription": "A unique name to identify the cache policy.", + "title": "Name", + "type": "string" + }, + "ParametersInCacheKeyAndForwardedToOrigin": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin", + "markdownDescription": "The HTTP headers, cookies, and URL query strings to include in the cache key. The values included in the cache key are also included in requests that CloudFront sends to the origin.", + "title": "ParametersInCacheKeyAndForwardedToOrigin" + } + }, + "required": [ + "DefaultTTL", + "MaxTTL", + "MinTTL", + "Name", + "ParametersInCacheKeyAndForwardedToOrigin" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.CookiesConfig": { "additionalProperties": false, "properties": { "CookieBehavior": { - "markdownDescription": "Determines whether cookies in viewer requests are included in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No cookies in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to `none` , any cookies that are listed in a `CachePolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the cookies in viewer requests that are listed in the `CookieNames` type are included in requests that CloudFront sends to the origin.\n- `all` \u2013 All cookies in viewer requests are included in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All cookies in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the `CookieNames` type, which are not included.", + "markdownDescription": "Determines whether any cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No cookies in viewer requests are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to `none` , any cookies that are listed in an `OriginRequestPolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the cookies in viewer requests that are listed in the `CookieNames` type are included in the cache key and in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin, **except** for those that are listed in the `CookieNames` type, which are not included.\n- `all` \u2013 All cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin.", "title": "CookieBehavior", "type": "string" }, @@ -71538,11 +73089,11 @@ ], "type": "object" }, - "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { + "AWS::CloudFront::CachePolicy.HeadersConfig": { "additionalProperties": false, "properties": { "HeaderBehavior": { - "markdownDescription": "Determines whether any HTTP headers are included in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No HTTP headers in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to `none` , any headers that are listed in a `CachePolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the HTTP headers that are listed in the `Headers` type are included in requests that CloudFront sends to the origin.\n- `allViewer` \u2013 All HTTP headers in viewer requests are included in requests that CloudFront sends to the origin.\n- `allViewerAndWhitelistCloudFront` \u2013 All HTTP headers in viewer requests and the additional CloudFront headers that are listed in the `Headers` type are included in requests that CloudFront sends to the origin. The additional headers are added by CloudFront.\n- `allExcept` \u2013 All HTTP headers in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the `Headers` type, which are not included.", + "markdownDescription": "Determines whether any HTTP headers are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No HTTP headers are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to `none` , any headers that are listed in an `OriginRequestPolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the HTTP headers that are listed in the `Headers` type are included in the cache key and in requests that CloudFront sends to the origin.", "title": "HeaderBehavior", "type": "string" }, @@ -71560,48 +73111,48 @@ ], "type": "object" }, - "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { + "AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "A comment to describe the origin request policy. The comment cannot be longer than 128 characters.", - "title": "Comment", - "type": "string" - }, "CookiesConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig", - "markdownDescription": "The cookies from viewer requests to include in origin requests.", + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CookiesConfig", + "markdownDescription": "An object that determines whether any cookies in viewer requests (and if so, which cookies) are included in the cache key and in requests that CloudFront sends to the origin.", "title": "CookiesConfig" }, + "EnableAcceptEncodingBrotli": { + "markdownDescription": "A flag that can affect whether the `Accept-Encoding` HTTP header is included in the cache key and included in requests that CloudFront sends to the origin.\n\nThis field is related to the `EnableAcceptEncodingGzip` field. If one or both of these fields is `true` *and* the viewer request includes the `Accept-Encoding` header, then CloudFront does the following:\n\n- Normalizes the value of the viewer's `Accept-Encoding` header\n- Includes the normalized header in the cache key\n- Includes the normalized header in the request to the origin, if a request is necessary\n\nFor more information, see [Compression support](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) in the *Amazon CloudFront Developer Guide* .\n\nIf you set this value to `true` , and this cache behavior also has an origin request policy attached, do not include the `Accept-Encoding` header in the origin request policy. CloudFront always includes the `Accept-Encoding` header in origin requests when the value of this field is `true` , so including this header in an origin request policy has no effect.\n\nIf both of these fields are `false` , then CloudFront treats the `Accept-Encoding` header the same as any other HTTP header in the viewer request. By default, it's not included in the cache key and it's not included in origin requests. In this case, you can manually add `Accept-Encoding` to the headers whitelist like any other HTTP header.", + "title": "EnableAcceptEncodingBrotli", + "type": "boolean" + }, + "EnableAcceptEncodingGzip": { + "markdownDescription": "A flag that can affect whether the `Accept-Encoding` HTTP header is included in the cache key and included in requests that CloudFront sends to the origin.\n\nThis field is related to the `EnableAcceptEncodingBrotli` field. If one or both of these fields is `true` *and* the viewer request includes the `Accept-Encoding` header, then CloudFront does the following:\n\n- Normalizes the value of the viewer's `Accept-Encoding` header\n- Includes the normalized header in the cache key\n- Includes the normalized header in the request to the origin, if a request is necessary\n\nFor more information, see [Compression support](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) in the *Amazon CloudFront Developer Guide* .\n\nIf you set this value to `true` , and this cache behavior also has an origin request policy attached, do not include the `Accept-Encoding` header in the origin request policy. CloudFront always includes the `Accept-Encoding` header in origin requests when the value of this field is `true` , so including this header in an origin request policy has no effect.\n\nIf both of these fields are `false` , then CloudFront treats the `Accept-Encoding` header the same as any other HTTP header in the viewer request. By default, it's not included in the cache key and it's not included in origin requests. In this case, you can manually add `Accept-Encoding` to the headers whitelist like any other HTTP header.", + "title": "EnableAcceptEncodingGzip", + "type": "boolean" + }, "HeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig", - "markdownDescription": "The HTTP headers to include in origin requests. These can include headers from viewer requests and additional headers added by CloudFront.", + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.HeadersConfig", + "markdownDescription": "An object that determines whether any HTTP headers (and if so, which headers) are included in the cache key and in requests that CloudFront sends to the origin.", "title": "HeadersConfig" }, - "Name": { - "markdownDescription": "A unique name to identify the origin request policy.", - "title": "Name", - "type": "string" - }, "QueryStringsConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig", - "markdownDescription": "The URL query strings from viewer requests to include in origin requests.", + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.QueryStringsConfig", + "markdownDescription": "An object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in the cache key and in requests that CloudFront sends to the origin.", "title": "QueryStringsConfig" } }, "required": [ "CookiesConfig", + "EnableAcceptEncodingGzip", "HeadersConfig", - "Name", "QueryStringsConfig" ], "type": "object" }, - "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { + "AWS::CloudFront::CachePolicy.QueryStringsConfig": { "additionalProperties": false, "properties": { "QueryStringBehavior": { - "markdownDescription": "Determines whether any URL query strings in viewer requests are included in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No query strings in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to `none` , any query strings that are listed in a `CachePolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the query strings in viewer requests that are listed in the `QueryStringNames` type are included in requests that CloudFront sends to the origin.\n- `all` \u2013 All query strings in viewer requests are included in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All query strings in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the `QueryStringNames` type, which are not included.", + "markdownDescription": "Determines whether any URL query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No query strings in viewer requests are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to `none` , any query strings that are listed in an `OriginRequestPolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the query strings in viewer requests that are listed in the `QueryStringNames` type are included in the cache key and in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin, **except** those that are listed in the `QueryStringNames` type, which are not included.\n- `all` \u2013 All query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin.", "title": "QueryStringBehavior", "type": "string" }, @@ -71619,7 +73170,7 @@ ], "type": "object" }, - "AWS::CloudFront::PublicKey": { + "AWS::CloudFront::CloudFrontOriginAccessIdentity": { "additionalProperties": false, "properties": { "Condition": { @@ -71654,20 +73205,20 @@ "Properties": { "additionalProperties": false, "properties": { - "PublicKeyConfig": { - "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig", - "markdownDescription": "Configuration information about a public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) , or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html) .", - "title": "PublicKeyConfig" + "CloudFrontOriginAccessIdentityConfig": { + "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig", + "markdownDescription": "The current configuration information for the identity.", + "title": "CloudFrontOriginAccessIdentityConfig" } }, "required": [ - "PublicKeyConfig" + "CloudFrontOriginAccessIdentityConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::PublicKey" + "AWS::CloudFront::CloudFrontOriginAccessIdentity" ], "type": "string" }, @@ -71686,38 +73237,21 @@ ], "type": "object" }, - "AWS::CloudFront::PublicKey.PublicKeyConfig": { + "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": { "additionalProperties": false, "properties": { - "CallerReference": { - "markdownDescription": "A string included in the request to help make sure that the request can't be replayed.", - "title": "CallerReference", - "type": "string" - }, "Comment": { - "markdownDescription": "A comment to describe the public key. The comment cannot be longer than 128 characters.", + "markdownDescription": "A comment to describe the origin access identity. The comment cannot be longer than 128 characters.", "title": "Comment", "type": "string" - }, - "EncodedKey": { - "markdownDescription": "The public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) , or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html) .", - "title": "EncodedKey", - "type": "string" - }, - "Name": { - "markdownDescription": "A name to help identify the public key.", - "title": "Name", - "type": "string" } }, "required": [ - "CallerReference", - "EncodedKey", - "Name" + "Comment" ], "type": "object" }, - "AWS::CloudFront::RealtimeLogConfig": { + "AWS::CloudFront::ConnectionFunction": { "additionalProperties": false, "properties": { "Condition": { @@ -71752,44 +73286,45 @@ "Properties": { "additionalProperties": false, "properties": { - "EndPoints": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" - }, - "markdownDescription": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data for this real-time log configuration.", - "title": "EndPoints", - "type": "array" + "AutoPublish": { + "markdownDescription": "A flag that determines whether to automatically publish the function to the `LIVE` stage when it\u2019s created. To automatically publish to the `LIVE` stage, set this property to `true` .", + "title": "AutoPublish", + "type": "boolean" }, - "Fields": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of fields that are included in each real-time log record. In an API response, the fields are provided in the same order in which they are sent to the Amazon Kinesis data stream.\n\nFor more information about fields, see [Real-time log configuration fields](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields) in the *Amazon CloudFront Developer Guide* .", - "title": "Fields", - "type": "array" + "ConnectionFunctionCode": { + "markdownDescription": "The code for the connection function.", + "title": "ConnectionFunctionCode", + "type": "string" + }, + "ConnectionFunctionConfig": { + "$ref": "#/definitions/AWS::CloudFront::ConnectionFunction.ConnectionFunctionConfig", + "markdownDescription": "Contains configuration information about a CloudFront function.", + "title": "ConnectionFunctionConfig" }, "Name": { - "markdownDescription": "The unique name of this real-time log configuration.", + "markdownDescription": "The connection function name.", "title": "Name", "type": "string" }, - "SamplingRate": { - "markdownDescription": "The sampling rate for this real-time log configuration. The sampling rate determines the percentage of viewer requests that are represented in the real-time log data. The sampling rate is an integer between 1 and 100, inclusive.", - "title": "SamplingRate", - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A complex type that contains zero or more `Tag` elements.", + "title": "Tags", + "type": "array" } }, "required": [ - "EndPoints", - "Fields", - "Name", - "SamplingRate" + "ConnectionFunctionCode", + "ConnectionFunctionConfig", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::RealtimeLogConfig" + "AWS::CloudFront::ConnectionFunction" ], "type": "string" }, @@ -71808,47 +73343,49 @@ ], "type": "object" }, - "AWS::CloudFront::RealtimeLogConfig.EndPoint": { + "AWS::CloudFront::ConnectionFunction.ConnectionFunctionConfig": { "additionalProperties": false, "properties": { - "KinesisStreamConfig": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig", - "markdownDescription": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data in a real-time log configuration.", - "title": "KinesisStreamConfig" + "Comment": { + "markdownDescription": "A comment to describe the function.", + "title": "Comment", + "type": "string" }, - "StreamType": { - "markdownDescription": "The type of data stream where you are sending real-time log data. The only valid value is `Kinesis` .", - "title": "StreamType", + "KeyValueStoreAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::ConnectionFunction.KeyValueStoreAssociation" + }, + "markdownDescription": "The configuration for the key value store associations.", + "title": "KeyValueStoreAssociations", + "type": "array" + }, + "Runtime": { + "markdownDescription": "The function's runtime environment version.", + "title": "Runtime", "type": "string" } }, "required": [ - "KinesisStreamConfig", - "StreamType" - ], + "Comment", + "Runtime" + ], "type": "object" }, - "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { + "AWS::CloudFront::ConnectionFunction.KeyValueStoreAssociation": { "additionalProperties": false, "properties": { - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that CloudFront can use to send real-time log data to your Kinesis data stream.\n\nFor more information the IAM role, see [Real-time log configuration IAM role](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-iam-role) in the *Amazon CloudFront Developer Guide* .", - "title": "RoleArn", - "type": "string" - }, - "StreamArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Kinesis data stream where you are sending real-time log data.", - "title": "StreamArn", + "KeyValueStoreARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the key value store association.", + "title": "KeyValueStoreARN", "type": "string" } }, "required": [ - "RoleArn", - "StreamArn" + "KeyValueStoreARN" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy": { + "AWS::CloudFront::ConnectionGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -71883,20 +73420,43 @@ "Properties": { "additionalProperties": false, "properties": { - "ResponseHeadersPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ResponseHeadersPolicyConfig", - "markdownDescription": "A response headers policy configuration.", - "title": "ResponseHeadersPolicyConfig" + "AnycastIpListId": { + "markdownDescription": "The ID of the Anycast static IP list.", + "title": "AnycastIpListId", + "type": "string" + }, + "Enabled": { + "markdownDescription": "Whether the connection group is enabled.", + "title": "Enabled", + "type": "boolean" + }, + "Ipv6Enabled": { + "markdownDescription": "IPv6 is enabled for the connection group.", + "title": "Ipv6Enabled", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the connection group.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A complex type that contains zero or more `Tag` elements.", + "title": "Tags", + "type": "array" } }, "required": [ - "ResponseHeadersPolicyConfig" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::ResponseHeadersPolicy" + "AWS::CloudFront::ConnectionGroup" ], "type": "string" }, @@ -71915,430 +73475,239 @@ ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowHeaders": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of HTTP header names. You can specify `*` to allow all headers.", - "title": "Items", - "type": "array" - } - }, - "required": [ - "Items" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowMethods": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of HTTP methods. Valid values are:\n\n- `GET`\n- `DELETE`\n- `HEAD`\n- `OPTIONS`\n- `PATCH`\n- `POST`\n- `PUT`\n- `ALL`\n\n`ALL` is a special value that includes all of the listed HTTP methods.", - "title": "Items", - "type": "array" - } - }, - "required": [ - "Items" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowOrigins": { + "AWS::CloudFront::ContinuousDeploymentPolicy": { "additionalProperties": false, "properties": { - "Items": { - "items": { - "type": "string" + "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": { + "ContinuousDeploymentPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfig", + "markdownDescription": "Contains the configuration for a continuous deployment policy.", + "title": "ContinuousDeploymentPolicyConfig" + } }, - "markdownDescription": "The list of origins (domain names). You can specify `*` to allow all origins.", - "title": "Items", - "type": "array" + "required": [ + "ContinuousDeploymentPolicyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::ContinuousDeploymentPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Items" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.AccessControlExposeHeaders": { + "AWS::CloudFront::ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfig": { "additionalProperties": false, "properties": { - "Items": { + "Enabled": { + "markdownDescription": "A Boolean that indicates whether this continuous deployment policy is enabled (in effect). When this value is `true` , this policy is enabled and in effect. When this value is `false` , this policy is not enabled and has no effect.", + "title": "Enabled", + "type": "boolean" + }, + "SingleHeaderPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderPolicyConfig", + "markdownDescription": "This configuration determines which HTTP requests are sent to the staging distribution. If the HTTP request contains a header and value that matches what you specify here, the request is sent to the staging distribution. Otherwise the request is sent to the primary distribution.", + "title": "SingleHeaderPolicyConfig" + }, + "SingleWeightPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightPolicyConfig", + "markdownDescription": "This configuration determines the percentage of HTTP requests that are sent to the staging distribution.", + "title": "SingleWeightPolicyConfig" + }, + "StagingDistributionDnsNames": { "items": { "type": "string" }, - "markdownDescription": "The list of HTTP headers. You can specify `*` to expose all headers.", - "title": "Items", + "markdownDescription": "The CloudFront domain name of the staging distribution. For example: `d111111abcdef8.cloudfront.net` .", + "title": "StagingDistributionDnsNames", "type": "array" - } - }, - "required": [ - "Items" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.ContentSecurityPolicy": { - "additionalProperties": false, - "properties": { - "ContentSecurityPolicy": { - "markdownDescription": "The policy directives and their values that CloudFront includes as values for the `Content-Security-Policy` HTTP response header.", - "title": "ContentSecurityPolicy", - "type": "string" }, - "Override": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides the `Content-Security-Policy` HTTP response header received from the origin with the one specified in this response headers policy.", - "title": "Override", - "type": "boolean" - } - }, - "required": [ - "ContentSecurityPolicy", - "Override" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.ContentTypeOptions": { - "additionalProperties": false, - "properties": { - "Override": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides the `X-Content-Type-Options` HTTP response header received from the origin with the one specified in this response headers policy.", - "title": "Override", - "type": "boolean" + "TrafficConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.TrafficConfig", + "markdownDescription": "Contains the parameters for routing production traffic from your primary to staging distributions.", + "title": "TrafficConfig" + }, + "Type": { + "markdownDescription": "The type of traffic configuration.", + "title": "Type", + "type": "string" } }, "required": [ - "Override" + "Enabled", + "StagingDistributionDnsNames" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.CorsConfig": { + "AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig": { "additionalProperties": false, "properties": { - "AccessControlAllowCredentials": { - "markdownDescription": "A Boolean that CloudFront uses as the value for the `Access-Control-Allow-Credentials` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Credentials` HTTP response header, see [Access-Control-Allow-Credentials](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials) in the MDN Web Docs.", - "title": "AccessControlAllowCredentials", - "type": "boolean" - }, - "AccessControlAllowHeaders": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowHeaders", - "markdownDescription": "A list of HTTP header names that CloudFront includes as values for the `Access-Control-Allow-Headers` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Headers` HTTP response header, see [Access-Control-Allow-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) in the MDN Web Docs.", - "title": "AccessControlAllowHeaders" - }, - "AccessControlAllowMethods": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowMethods", - "markdownDescription": "A list of HTTP methods that CloudFront includes as values for the `Access-Control-Allow-Methods` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Methods` HTTP response header, see [Access-Control-Allow-Methods](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods) in the MDN Web Docs.", - "title": "AccessControlAllowMethods" - }, - "AccessControlAllowOrigins": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowOrigins", - "markdownDescription": "A list of origins (domain names) that CloudFront can use as the value for the `Access-Control-Allow-Origin` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Origin` HTTP response header, see [Access-Control-Allow-Origin](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin) in the MDN Web Docs.", - "title": "AccessControlAllowOrigins" - }, - "AccessControlExposeHeaders": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlExposeHeaders", - "markdownDescription": "A list of HTTP headers that CloudFront includes as values for the `Access-Control-Expose-Headers` HTTP response header.\n\nFor more information about the `Access-Control-Expose-Headers` HTTP response header, see [Access-Control-Expose-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers) in the MDN Web Docs.", - "title": "AccessControlExposeHeaders" - }, - "AccessControlMaxAgeSec": { - "markdownDescription": "A number that CloudFront uses as the value for the `Access-Control-Max-Age` HTTP response header.\n\nFor more information about the `Access-Control-Max-Age` HTTP response header, see [Access-Control-Max-Age](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age) in the MDN Web Docs.", - "title": "AccessControlMaxAgeSec", + "IdleTTL": { + "markdownDescription": "The amount of time after which you want sessions to cease if no requests are received. Allowed values are 300\u20133600 seconds (5\u201360 minutes).", + "title": "IdleTTL", "type": "number" }, - "OriginOverride": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.", - "title": "OriginOverride", - "type": "boolean" + "MaximumTTL": { + "markdownDescription": "The maximum amount of time to consider requests from the viewer as being part of the same session. Allowed values are 300\u20133600 seconds (5\u201360 minutes).", + "title": "MaximumTTL", + "type": "number" } }, "required": [ - "AccessControlAllowCredentials", - "AccessControlAllowHeaders", - "AccessControlAllowMethods", - "AccessControlAllowOrigins", - "OriginOverride" + "IdleTTL", + "MaximumTTL" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.CustomHeader": { + "AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderConfig": { "additionalProperties": false, "properties": { "Header": { - "markdownDescription": "The HTTP response header name.", + "markdownDescription": "The request header name that you want CloudFront to send to your staging distribution. The header must contain the prefix `aws-cf-cd-` .", "title": "Header", "type": "string" }, - "Override": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides a response header with the same name received from the origin with the header specified here.", - "title": "Override", - "type": "boolean" - }, "Value": { - "markdownDescription": "The value for the HTTP response header.", + "markdownDescription": "The request header value.", "title": "Value", "type": "string" } }, "required": [ "Header", - "Override", "Value" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.CustomHeadersConfig": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CustomHeader" - }, - "markdownDescription": "The list of HTTP response headers and their values.", - "title": "Items", - "type": "array" - } - }, - "required": [ - "Items" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.FrameOptions": { - "additionalProperties": false, - "properties": { - "FrameOption": { - "markdownDescription": "The value of the `X-Frame-Options` HTTP response header. Valid values are `DENY` and `SAMEORIGIN` .\n\nFor more information about these values, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.", - "title": "FrameOption", - "type": "string" - }, - "Override": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides the `X-Frame-Options` HTTP response header received from the origin with the one specified in this response headers policy.", - "title": "Override", - "type": "boolean" - } - }, - "required": [ - "FrameOption", - "Override" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.ReferrerPolicy": { - "additionalProperties": false, - "properties": { - "Override": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides the `Referrer-Policy` HTTP response header received from the origin with the one specified in this response headers policy.", - "title": "Override", - "type": "boolean" - }, - "ReferrerPolicy": { - "markdownDescription": "The value of the `Referrer-Policy` HTTP response header. Valid values are:\n\n- `no-referrer`\n- `no-referrer-when-downgrade`\n- `origin`\n- `origin-when-cross-origin`\n- `same-origin`\n- `strict-origin`\n- `strict-origin-when-cross-origin`\n- `unsafe-url`\n\nFor more information about these values, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.", - "title": "ReferrerPolicy", - "type": "string" - } - }, - "required": [ - "Override", - "ReferrerPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.RemoveHeader": { + "AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderPolicyConfig": { "additionalProperties": false, "properties": { "Header": { - "markdownDescription": "The HTTP header name.", + "markdownDescription": "The name of the HTTP header that CloudFront uses to configure for the single header policy.", "title": "Header", "type": "string" - } - }, - "required": [ - "Header" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.RemoveHeadersConfig": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.RemoveHeader" - }, - "markdownDescription": "The list of HTTP header names.", - "title": "Items", - "type": "array" - } - }, - "required": [ - "Items" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.ResponseHeadersPolicyConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "markdownDescription": "A comment to describe the response headers policy.\n\nThe comment cannot be longer than 128 characters.", - "title": "Comment", - "type": "string" - }, - "CorsConfig": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CorsConfig", - "markdownDescription": "A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).", - "title": "CorsConfig" - }, - "CustomHeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CustomHeadersConfig", - "markdownDescription": "A configuration for a set of custom HTTP response headers.", - "title": "CustomHeadersConfig" }, - "Name": { - "markdownDescription": "A name to identify the response headers policy.\n\nThe name must be unique for response headers policies in this AWS account .", - "title": "Name", + "Value": { + "markdownDescription": "Specifies the value to assign to the header for a single header policy.", + "title": "Value", "type": "string" - }, - "RemoveHeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.RemoveHeadersConfig", - "markdownDescription": "A configuration for a set of HTTP headers to remove from the HTTP response.", - "title": "RemoveHeadersConfig" - }, - "SecurityHeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.SecurityHeadersConfig", - "markdownDescription": "A configuration for a set of security-related HTTP response headers.", - "title": "SecurityHeadersConfig" - }, - "ServerTimingHeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ServerTimingHeadersConfig", - "markdownDescription": "A configuration for enabling the `Server-Timing` header in HTTP responses sent from CloudFront.", - "title": "ServerTimingHeadersConfig" } }, "required": [ - "Name" + "Header", + "Value" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.SecurityHeadersConfig": { - "additionalProperties": false, - "properties": { - "ContentSecurityPolicy": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ContentSecurityPolicy", - "markdownDescription": "The policy directives and their values that CloudFront includes as values for the `Content-Security-Policy` HTTP response header.\n\nFor more information about the `Content-Security-Policy` HTTP response header, see [Content-Security-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) in the MDN Web Docs.", - "title": "ContentSecurityPolicy" - }, - "ContentTypeOptions": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ContentTypeOptions", - "markdownDescription": "Determines whether CloudFront includes the `X-Content-Type-Options` HTTP response header with its value set to `nosniff` .\n\nFor more information about the `X-Content-Type-Options` HTTP response header, see [X-Content-Type-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) in the MDN Web Docs.", - "title": "ContentTypeOptions" - }, - "FrameOptions": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.FrameOptions", - "markdownDescription": "Determines whether CloudFront includes the `X-Frame-Options` HTTP response header and the header's value.\n\nFor more information about the `X-Frame-Options` HTTP response header, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.", - "title": "FrameOptions" - }, - "ReferrerPolicy": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ReferrerPolicy", - "markdownDescription": "Determines whether CloudFront includes the `Referrer-Policy` HTTP response header and the header's value.\n\nFor more information about the `Referrer-Policy` HTTP response header, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.", - "title": "ReferrerPolicy" - }, - "StrictTransportSecurity": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.StrictTransportSecurity", - "markdownDescription": "Determines whether CloudFront includes the `Strict-Transport-Security` HTTP response header and the header's value.\n\nFor more information about the `Strict-Transport-Security` HTTP response header, see [Security headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html#understanding-response-headers-policies-security) in the *Amazon CloudFront Developer Guide* and [Strict-Transport-Security](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) in the MDN Web Docs.", - "title": "StrictTransportSecurity" - }, - "XSSProtection": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.XSSProtection", - "markdownDescription": "Determines whether CloudFront includes the `X-XSS-Protection` HTTP response header and the header's value.\n\nFor more information about the `X-XSS-Protection` HTTP response header, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", - "title": "XSSProtection" - } - }, - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.ServerTimingHeadersConfig": { + "AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightConfig": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "A Boolean that determines whether CloudFront adds the `Server-Timing` header to HTTP responses that it sends in response to requests that match a cache behavior that's associated with this response headers policy.", - "title": "Enabled", - "type": "boolean" + "SessionStickinessConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig", + "markdownDescription": "Session stickiness provides the ability to define multiple requests from a single viewer as a single session. This prevents the potentially inconsistent experience of sending some of a given user's requests to your staging distribution, while others are sent to your primary distribution. Define the session duration using TTL values.", + "title": "SessionStickinessConfig" }, - "SamplingRate": { - "markdownDescription": "A number 0\u2013100 (inclusive) that specifies the percentage of responses that you want CloudFront to add the `Server-Timing` header to. When you set the sampling rate to 100, CloudFront adds the `Server-Timing` header to the HTTP response for every request that matches the cache behavior that this response headers policy is attached to. When you set it to 50, CloudFront adds the header to 50% of the responses for requests that match the cache behavior. You can set the sampling rate to any number 0\u2013100 with up to four decimal places.", - "title": "SamplingRate", + "Weight": { + "markdownDescription": "The percentage of traffic to send to a staging distribution, expressed as a decimal number between 0 and 0.15. For example, a value of 0.10 means 10% of traffic is sent to the staging distribution.", + "title": "Weight", "type": "number" } }, "required": [ - "Enabled" + "Weight" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.StrictTransportSecurity": { + "AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightPolicyConfig": { "additionalProperties": false, "properties": { - "AccessControlMaxAgeSec": { - "markdownDescription": "A number that CloudFront uses as the value for the `max-age` directive in the `Strict-Transport-Security` HTTP response header.", - "title": "AccessControlMaxAgeSec", - "type": "number" - }, - "IncludeSubdomains": { - "markdownDescription": "A Boolean that determines whether CloudFront includes the `includeSubDomains` directive in the `Strict-Transport-Security` HTTP response header.", - "title": "IncludeSubdomains", - "type": "boolean" - }, - "Override": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides the `Strict-Transport-Security` HTTP response header received from the origin with the one specified in this response headers policy.", - "title": "Override", - "type": "boolean" + "SessionStickinessConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig", + "markdownDescription": "Enable session stickiness for the associated origin or cache settings.", + "title": "SessionStickinessConfig" }, - "Preload": { - "markdownDescription": "A Boolean that determines whether CloudFront includes the `preload` directive in the `Strict-Transport-Security` HTTP response header.", - "title": "Preload", - "type": "boolean" + "Weight": { + "markdownDescription": "The percentage of requests that CloudFront will use to send to an associated origin or cache settings.", + "title": "Weight", + "type": "number" } }, "required": [ - "AccessControlMaxAgeSec", - "Override" + "Weight" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.XSSProtection": { + "AWS::CloudFront::ContinuousDeploymentPolicy.TrafficConfig": { "additionalProperties": false, "properties": { - "ModeBlock": { - "markdownDescription": "A Boolean that determines whether CloudFront includes the `mode=block` directive in the `X-XSS-Protection` header.\n\nFor more information about this directive, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", - "title": "ModeBlock", - "type": "boolean" - }, - "Override": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides the `X-XSS-Protection` HTTP response header received from the origin with the one specified in this response headers policy.", - "title": "Override", - "type": "boolean" + "SingleHeaderConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderConfig", + "markdownDescription": "Determines which HTTP requests are sent to the staging distribution.", + "title": "SingleHeaderConfig" }, - "Protection": { - "markdownDescription": "A Boolean that determines the value of the `X-XSS-Protection` HTTP response header. When this setting is `true` , the value of the `X-XSS-Protection` header is `1` . When this setting is `false` , the value of the `X-XSS-Protection` header is `0` .\n\nFor more information about these settings, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", - "title": "Protection", - "type": "boolean" + "SingleWeightConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightConfig", + "markdownDescription": "Contains the percentage of traffic to send to the staging distribution.", + "title": "SingleWeightConfig" }, - "ReportUri": { - "markdownDescription": "A reporting URI, which CloudFront uses as the value of the `report` directive in the `X-XSS-Protection` header.\n\nYou cannot specify a `ReportUri` when `ModeBlock` is `true` .\n\nFor more information about using a reporting URL, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", - "title": "ReportUri", + "Type": { + "markdownDescription": "The type of traffic configuration.", + "title": "Type", "type": "string" } }, "required": [ - "Override", - "Protection" + "Type" ], "type": "object" }, - "AWS::CloudFront::StreamingDistribution": { + "AWS::CloudFront::Distribution": { "additionalProperties": false, "properties": { "Condition": { @@ -72373,10 +73742,10 @@ "Properties": { "additionalProperties": false, "properties": { - "StreamingDistributionConfig": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig", - "markdownDescription": "The current configuration information for the RTMP distribution.", - "title": "StreamingDistributionConfig" + "DistributionConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig", + "markdownDescription": "The distribution's configuration.", + "title": "DistributionConfig" }, "Tags": { "items": { @@ -72388,14 +73757,13 @@ } }, "required": [ - "StreamingDistributionConfig", - "Tags" + "DistributionConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::StreamingDistribution" + "AWS::CloudFront::Distribution" ], "type": "string" }, @@ -72414,358 +73782,255 @@ ], "type": "object" }, - "AWS::CloudFront::StreamingDistribution.Logging": { + "AWS::CloudFront::Distribution.CacheBehavior": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The Amazon S3 bucket to store the access logs in, for example, `amzn-s3-demo-bucket.s3.amazonaws.com` .", - "title": "Bucket", + "AllowedMethods": { + "items": { + "type": "string" + }, + "markdownDescription": "A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:\n\n- CloudFront forwards only `GET` and `HEAD` requests.\n- CloudFront forwards only `GET` , `HEAD` , and `OPTIONS` requests.\n- CloudFront forwards `GET, HEAD, OPTIONS, PUT, PATCH, POST` , and `DELETE` requests.\n\nIf you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.", + "title": "AllowedMethods", + "type": "array" + }, + "CachePolicyId": { + "markdownDescription": "The unique identifier of the cache policy that is attached to this cache behavior. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `CacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .", + "title": "CachePolicyId", "type": "string" }, - "Enabled": { - "markdownDescription": "Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify `false` for `Enabled` , and specify `empty Bucket` and `Prefix` elements. If you specify `false` for `Enabled` but you specify values for `Bucket` and `Prefix` , the values are automatically deleted.", - "title": "Enabled", + "CachedMethods": { + "items": { + "type": "string" + }, + "markdownDescription": "A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:\n\n- CloudFront caches responses to `GET` and `HEAD` requests.\n- CloudFront caches responses to `GET` , `HEAD` , and `OPTIONS` requests.\n\nIf you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.", + "title": "CachedMethods", + "type": "array" + }, + "Compress": { + "markdownDescription": "Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see [Serving Compressed Files](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) in the *Amazon CloudFront Developer Guide* .", + "title": "Compress", "type": "boolean" }, - "Prefix": { - "markdownDescription": "An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, `myprefix/` . If you want to enable logging, but you don't want to specify a prefix, you still must include an empty `Prefix` element in the `Logging` element.", - "title": "Prefix", - "type": "string" - } - }, - "required": [ - "Bucket", - "Enabled", - "Prefix" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.S3Origin": { - "additionalProperties": false, - "properties": { - "DomainName": { - "markdownDescription": "The DNS name of the Amazon S3 origin.", - "title": "DomainName", - "type": "string" + "DefaultTTL": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `DefaultTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", + "title": "DefaultTTL", + "type": "number" }, - "OriginAccessIdentity": { - "markdownDescription": "The CloudFront origin access identity to associate with the distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.\n\nIf you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty `OriginAccessIdentity` element.\n\nTo delete the origin access identity from an existing distribution, update the distribution configuration and include an empty `OriginAccessIdentity` element.\n\nTo replace the origin access identity, update the distribution configuration and specify the new origin access identity.\n\nFor more information, see [Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginAccessIdentity", + "FieldLevelEncryptionId": { + "markdownDescription": "The value of `ID` for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for this cache behavior.", + "title": "FieldLevelEncryptionId", "type": "string" - } - }, - "required": [ - "DomainName", - "OriginAccessIdentity" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { + }, + "ForwardedValues": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues", + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see [Working with policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to include values in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `CacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .\n\nA complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.", + "title": "ForwardedValues" + }, + "FunctionAssociations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" }, - "markdownDescription": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.", - "title": "Aliases", + "markdownDescription": "A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the `LIVE` stage to associate them with a cache behavior.", + "title": "FunctionAssociations", "type": "array" }, - "Comment": { - "markdownDescription": "Any comments you want to include about the streaming distribution.", - "title": "Comment", + "GrpcConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.GrpcConfig", + "markdownDescription": "The gRPC configuration for your cache behavior.", + "title": "GrpcConfig" + }, + "LambdaFunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" + }, + "markdownDescription": "A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.", + "title": "LambdaFunctionAssociations", + "type": "array" + }, + "MaxTTL": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MaxTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", + "title": "MaxTTL", + "type": "number" + }, + "MinTTL": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MinTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nYou must specify `0` for `MinTTL` if you configure CloudFront to forward all headers to your origin (under `Headers` , if you specify `1` for `Quantity` and `*` for `Name` ).", + "title": "MinTTL", + "type": "number" + }, + "OriginRequestPolicyId": { + "markdownDescription": "The unique identifier of the origin request policy that is attached to this cache behavior. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginRequestPolicyId", "type": "string" }, - "Enabled": { - "markdownDescription": "Whether the streaming distribution is enabled to accept user requests for content.", - "title": "Enabled", - "type": "boolean" + "PathPattern": { + "markdownDescription": "The pattern (for example, `images/*.jpg` ) that specifies which requests to apply the behavior to. When CloudFront receives a viewer request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution.\n\n> You can optionally include a slash ( `/` ) at the beginning of the path pattern. For example, `/images/*.jpg` . CloudFront behavior is the same with or without the leading `/` . \n\nThe path pattern for the default cache behavior is `*` and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.\n\nFor more information, see [Path Pattern](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern) in the *Amazon CloudFront Developer Guide* .", + "title": "PathPattern", + "type": "string" }, - "Logging": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.Logging", - "markdownDescription": "A complex type that controls whether access logs are written for the streaming distribution.", - "title": "Logging" + "RealtimeLogConfigArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this cache behavior. For more information, see [Real-time logs](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html) in the *Amazon CloudFront Developer Guide* .", + "title": "RealtimeLogConfigArn", + "type": "string" }, - "PriceClass": { - "markdownDescription": "A complex type that contains information about price class for this streaming distribution.", - "title": "PriceClass", + "ResponseHeadersPolicyId": { + "markdownDescription": "The identifier for a response headers policy.", + "title": "ResponseHeadersPolicyId", "type": "string" }, - "S3Origin": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.S3Origin", - "markdownDescription": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "title": "S3Origin" + "SmoothStreaming": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nIndicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify `true` ; if not, specify `false` . If you specify `true` for `SmoothStreaming` , you can still distribute other content using this cache behavior if the content matches the value of `PathPattern` .", + "title": "SmoothStreaming", + "type": "boolean" + }, + "TargetOriginId": { + "markdownDescription": "The value of `ID` for the origin that you want CloudFront to route requests to when they match this cache behavior.", + "title": "TargetOriginId", + "type": "string" + }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of key groups that CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", + "title": "TrustedKeyGroups", + "type": "array" }, "TrustedSigners": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.TrustedSigners", - "markdownDescription": "A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content. If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", - "title": "TrustedSigners" - } - }, - "required": [ - "Comment", - "Enabled", - "S3Origin", - "TrustedSigners" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.TrustedSigners": { - "additionalProperties": false, - "properties": { - "AwsAccountNumbers": { "items": { "type": "string" }, - "markdownDescription": "An AWS account number that contains active CloudFront key pairs that CloudFront can use to verify the signatures of signed URLs and signed cookies. If the AWS account that owns the key pairs is the same account that owns the CloudFront distribution, the value of this field is `self` .", - "title": "AwsAccountNumbers", + "markdownDescription": "> We recommend using `TrustedKeyGroups` instead of `TrustedSigners` . > This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA list of AWS account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in the trusted signer's AWS account . The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", + "title": "TrustedSigners", "type": "array" }, - "Enabled": { - "markdownDescription": "This field is `true` if any of the AWS accounts in the list are configured as trusted signers. If not, this field is `false` .", - "title": "Enabled", - "type": "boolean" + "ViewerProtocolPolicy": { + "markdownDescription": "The protocol that viewers can use to access the files in the origin specified by `TargetOriginId` when a request matches the path pattern in `PathPattern` . You can specify the following options:\n\n- `allow-all` : Viewers can use HTTP or HTTPS.\n- `redirect-to-https` : If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.\n- `https-only` : If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).\n\nFor more information about requiring the HTTPS protocol, see [Requiring HTTPS Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) in the *Amazon CloudFront Developer Guide* .\n\n> The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see [Managing Cache Expiration](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", + "title": "ViewerProtocolPolicy", + "type": "string" } }, "required": [ - "Enabled" + "PathPattern", + "TargetOriginId", + "ViewerProtocolPolicy" ], "type": "object" }, - "AWS::CloudFront::TrustStore": { + "AWS::CloudFront::Distribution.CacheTagConfig": { "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": { - "CaCertificatesBundleSource": { - "$ref": "#/definitions/AWS::CloudFront::TrustStore.CaCertificatesBundleSource", - "markdownDescription": "A CA certificates bundle source.", - "title": "CaCertificatesBundleSource" - }, - "Name": { - "markdownDescription": "The trust store's name.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A complex type that contains zero or more `Tag` elements.", - "title": "Tags", - "type": "array" - }, - "UseClientCertificateOCSPEndpoint": { - "type": "boolean" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::TrustStore" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "HeaderName": { "type": "string" } }, "required": [ - "Type", - "Properties" + "HeaderName" ], "type": "object" }, - "AWS::CloudFront::TrustStore.CaCertificatesBundleS3Location": { + "AWS::CloudFront::Distribution.ConnectionFunctionAssociation": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The S3 bucket.", - "title": "Bucket", - "type": "string" - }, - "Key": { - "markdownDescription": "The location's key.", - "title": "Key", - "type": "string" - }, - "Region": { - "markdownDescription": "The location's Region.", - "title": "Region", - "type": "string" - }, - "Version": { - "markdownDescription": "The location's version.", - "title": "Version", + "Id": { + "markdownDescription": "The association's ID.", + "title": "Id", "type": "string" } }, "required": [ - "Bucket", - "Key", - "Region" + "Id" ], "type": "object" }, - "AWS::CloudFront::TrustStore.CaCertificatesBundleSource": { + "AWS::CloudFront::Distribution.Cookies": { "additionalProperties": false, "properties": { - "CaCertificatesBundleS3Location": { - "$ref": "#/definitions/AWS::CloudFront::TrustStore.CaCertificatesBundleS3Location", - "markdownDescription": "The CA certificates bundle location in Amazon S3.", - "title": "CaCertificatesBundleS3Location" + "Forward": { + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send cookies to the origin but not include them in the cache key, use origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nSpecifies which cookies to forward to the origin for this cache behavior: all, none, or the list of cookies specified in the `WhitelistedNames` complex type.\n\nAmazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an Amazon S3 origin, specify none for the `Forward` element.", + "title": "Forward", + "type": "string" + }, + "WhitelistedNames": { + "items": { + "type": "string" + }, + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nRequired if you specify `whitelist` for the value of `Forward` . A complex type that specifies how many different cookies you want CloudFront to forward to the origin for this cache behavior and, if you want to forward selected cookies, the names of those cookies.\n\nIf you specify `all` or `none` for the value of `Forward` , omit `WhitelistedNames` . If you change the value of `Forward` from `whitelist` to `all` or `none` and you don't delete the `WhitelistedNames` element and its child elements, CloudFront deletes them automatically.\n\nFor the current limit on the number of cookie names that you can whitelist for each cache behavior, see [CloudFront Limits](https://docs.aws.amazon.com/general/latest/gr/xrefaws_service_limits.html#limits_cloudfront) in the *AWS General Reference* .", + "title": "WhitelistedNames", + "type": "array" } }, "required": [ - "CaCertificatesBundleS3Location" + "Forward" ], "type": "object" }, - "AWS::CloudFront::VpcOrigin": { + "AWS::CloudFront::Distribution.CustomErrorResponse": { "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" + "ErrorCachingMinTTL": { + "markdownDescription": "The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status code specified in `ErrorCode` . When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.\n\nFor more information, see [Customizing Error Responses](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) in the *Amazon CloudFront Developer Guide* .", + "title": "ErrorCachingMinTTL", + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A complex type that contains zero or more `Tag` elements.", - "title": "Tags", - "type": "array" - }, - "VpcOriginEndpointConfig": { - "$ref": "#/definitions/AWS::CloudFront::VpcOrigin.VpcOriginEndpointConfig", - "markdownDescription": "The VPC origin endpoint configuration.", - "title": "VpcOriginEndpointConfig" - } - }, - "required": [ - "VpcOriginEndpointConfig" - ], - "type": "object" + "ErrorCode": { + "markdownDescription": "The HTTP status code for which you want to specify a custom error page and/or a caching duration.", + "title": "ErrorCode", + "type": "number" }, - "Type": { - "enum": [ - "AWS::CloudFront::VpcOrigin" - ], - "type": "string" + "ResponseCode": { + "markdownDescription": "The HTTP status code that you want CloudFront to return to the viewer along with the custom error page. There are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute `200` , the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify `400` or `500` as the `ResponseCode` for all 4xx or 5xx errors.\n- You might want to return a `200` status code (OK) and static website so your customers don't know that your website is down.\n\nIf you specify a value for `ResponseCode` , you must also specify a value for `ResponsePagePath` .", + "title": "ResponseCode", + "type": "number" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ResponsePagePath": { + "markdownDescription": "The path to the custom error page that you want CloudFront to return to a viewer when your origin returns the HTTP status code specified by `ErrorCode` , for example, `/4xx-errors/403-forbidden.html` . If you want to store your objects and your custom error pages in different locations, your distribution must include a cache behavior for which the following is true:\n\n- The value of `PathPattern` matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named `/4xx-errors` . Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, `/4xx-errors/*` .\n- The value of `TargetOriginId` specifies the value of the `ID` element for the origin that contains your custom error pages.\n\nIf you specify a value for `ResponsePagePath` , you must also specify a value for `ResponseCode` .\n\nWe recommend that you store custom error pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.", + "title": "ResponsePagePath", "type": "string" } }, "required": [ - "Type", - "Properties" + "ErrorCode" ], "type": "object" }, - "AWS::CloudFront::VpcOrigin.VpcOriginEndpointConfig": { + "AWS::CloudFront::Distribution.CustomOriginConfig": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The ARN of the CloudFront VPC origin endpoint configuration.", - "title": "Arn", - "type": "string" - }, "HTTPPort": { - "markdownDescription": "The HTTP port for the CloudFront VPC origin endpoint configuration. The default value is `80` .", + "markdownDescription": "The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port that the origin listens on.", "title": "HTTPPort", "type": "number" }, "HTTPSPort": { - "markdownDescription": "The HTTPS port of the CloudFront VPC origin endpoint configuration. The default value is `443` .", + "markdownDescription": "The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port that the origin listens on.", "title": "HTTPSPort", "type": "number" }, "IpAddressType": { + "markdownDescription": "Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose `dualstack` to help optimize reliability.", + "title": "IpAddressType", "type": "string" }, - "Name": { - "markdownDescription": "The name of the CloudFront VPC origin endpoint configuration.", - "title": "Name", - "type": "string" + "OriginKeepaliveTimeout": { + "markdownDescription": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n\nFor more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginKeepaliveTimeout", + "type": "number" + }, + "OriginMtlsConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginMtlsConfig", + "markdownDescription": "", + "title": "OriginMtlsConfig" }, "OriginProtocolPolicy": { - "markdownDescription": "The origin protocol policy for the CloudFront VPC origin endpoint configuration.", + "markdownDescription": "Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Valid values are:\n\n- `http-only` \u2013 CloudFront always uses HTTP to connect to the origin.\n- `match-viewer` \u2013 CloudFront connects to the origin using the same protocol that the viewer used to connect to CloudFront.\n- `https-only` \u2013 CloudFront always uses HTTPS to connect to the origin.", "title": "OriginProtocolPolicy", "type": "string" }, + "OriginReadTimeout": { + "markdownDescription": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n\nFor more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginReadTimeout", + "type": "number" + }, "OriginSSLProtocols": { "items": { "type": "string" @@ -72776,734 +74041,933 @@ } }, "required": [ - "Arn", - "Name" + "OriginProtocolPolicy" ], "type": "object" }, - "AWS::CloudHSM::Cluster": { + "AWS::CloudFront::Distribution.DefaultCacheBehavior": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "AllowedMethods": { + "items": { + "type": "string" + }, + "markdownDescription": "A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:\n\n- CloudFront forwards only `GET` and `HEAD` requests.\n- CloudFront forwards only `GET` , `HEAD` , and `OPTIONS` requests.\n- CloudFront forwards `GET, HEAD, OPTIONS, PUT, PATCH, POST` , and `DELETE` requests.\n\nIf you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.", + "title": "AllowedMethods", + "type": "array" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CachePolicyId": { + "markdownDescription": "The unique identifier of the cache policy that is attached to the default cache behavior. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `DefaultCacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .", + "title": "CachePolicyId", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CachedMethods": { + "items": { + "type": "string" + }, + "markdownDescription": "A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:\n\n- CloudFront caches responses to `GET` and `HEAD` requests.\n- CloudFront caches responses to `GET` , `HEAD` , and `OPTIONS` requests.\n\nIf you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.", + "title": "CachedMethods", + "type": "array" }, - "Metadata": { - "type": "object" + "Compress": { + "markdownDescription": "Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify `true` ; if not, specify `false` . For more information, see [Serving Compressed Files](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) in the *Amazon CloudFront Developer Guide* .", + "title": "Compress", + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "BackupRetentionPolicy": { - "$ref": "#/definitions/AWS::CloudHSM::Cluster.BackupRetentionPolicy" - }, - "HsmType": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::CloudHSM::Cluster.TagsItems" - }, - "type": "array" - } + "DefaultTTL": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `DefaultTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", + "title": "DefaultTTL", + "type": "number" + }, + "FieldLevelEncryptionId": { + "markdownDescription": "The value of `ID` for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for the default cache behavior.", + "title": "FieldLevelEncryptionId", + "type": "string" + }, + "ForwardedValues": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues", + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see [Working with policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to include values in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `DefaultCacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .\n\nA complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.", + "title": "ForwardedValues" + }, + "FunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" }, - "required": [ - "HsmType" - ], - "type": "object" + "markdownDescription": "A list of CloudFront functions that are associated with this cache behavior. Your functions must be published to the `LIVE` stage to associate them with a cache behavior.", + "title": "FunctionAssociations", + "type": "array" }, - "Type": { - "enum": [ - "AWS::CloudHSM::Cluster" - ], + "GrpcConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.GrpcConfig", + "markdownDescription": "The gRPC configuration for your cache behavior.", + "title": "GrpcConfig" + }, + "LambdaFunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" + }, + "markdownDescription": "A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.", + "title": "LambdaFunctionAssociations", + "type": "array" + }, + "MaxTTL": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MaxTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", + "title": "MaxTTL", + "type": "number" + }, + "MinTTL": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MinTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nYou must specify `0` for `MinTTL` if you configure CloudFront to forward all headers to your origin (under `Headers` , if you specify `1` for `Quantity` and `*` for `Name` ).", + "title": "MinTTL", + "type": "number" + }, + "OriginRequestPolicyId": { + "markdownDescription": "The unique identifier of the origin request policy that is attached to the default cache behavior. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginRequestPolicyId", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RealtimeLogConfigArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this cache behavior. For more information, see [Real-time logs](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html) in the *Amazon CloudFront Developer Guide* .", + "title": "RealtimeLogConfigArn", + "type": "string" + }, + "ResponseHeadersPolicyId": { + "markdownDescription": "The identifier for a response headers policy.", + "title": "ResponseHeadersPolicyId", + "type": "string" + }, + "SmoothStreaming": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nIndicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify `true` ; if not, specify `false` . If you specify `true` for `SmoothStreaming` , you can still distribute other content using this cache behavior if the content matches the value of `PathPattern` .", + "title": "SmoothStreaming", + "type": "boolean" + }, + "TargetOriginId": { + "markdownDescription": "The value of `ID` for the origin that you want CloudFront to route requests to when they use the default cache behavior.", + "title": "TargetOriginId", + "type": "string" + }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of key groups that CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", + "title": "TrustedKeyGroups", + "type": "array" + }, + "TrustedSigners": { + "items": { + "type": "string" + }, + "markdownDescription": "> We recommend using `TrustedKeyGroups` instead of `TrustedSigners` . > This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA list of AWS account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in a trusted signer's AWS account . The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", + "title": "TrustedSigners", + "type": "array" + }, + "ViewerProtocolPolicy": { + "markdownDescription": "The protocol that viewers can use to access the files in the origin specified by `TargetOriginId` when a request matches the path pattern in `PathPattern` . You can specify the following options:\n\n- `allow-all` : Viewers can use HTTP or HTTPS.\n- `redirect-to-https` : If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.\n- `https-only` : If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).\n\nFor more information about requiring the HTTPS protocol, see [Requiring HTTPS Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) in the *Amazon CloudFront Developer Guide* .\n\n> The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see [Managing Cache Expiration](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", + "title": "ViewerProtocolPolicy", "type": "string" } }, "required": [ - "Type", - "Properties" + "TargetOriginId", + "ViewerProtocolPolicy" ], "type": "object" }, - "AWS::CloudHSM::Cluster.BackupRetentionPolicy": { + "AWS::CloudFront::Distribution.Definition": { "additionalProperties": false, "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" + "StringSchema": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.StringSchema", + "markdownDescription": "", + "title": "StringSchema" } }, "type": "object" }, - "AWS::CloudHSM::Cluster.TagsItems": { + "AWS::CloudFront::Distribution.DistributionConfig": { "additionalProperties": false, "properties": { - "Key": { + "Aliases": { + "items": { + "type": "string" + }, + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", + "title": "Aliases", + "type": "array" + }, + "AnycastIpListId": { + "markdownDescription": "> To use this field for a multi-tenant distribution, use a connection group instead. For more information, see [ConnectionGroup](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ConnectionGroup.html) . \n\nID of the Anycast static IP list that is associated with the distribution.", + "title": "AnycastIpListId", "type": "string" }, - "Value": { + "CNAMEs": { + "items": { + "type": "string" + }, + "markdownDescription": "An alias for the CloudFront distribution's domain name.\n\n> This property is legacy. We recommend that you use [Aliases](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-aliases) instead.", + "title": "CNAMEs", + "type": "array" + }, + "CacheBehaviors": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior" + }, + "markdownDescription": "A complex type that contains zero or more `CacheBehavior` elements.", + "title": "CacheBehaviors", + "type": "array" + }, + "CacheTagConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheTagConfig" + }, + "Comment": { + "markdownDescription": "A comment to describe the distribution. The comment cannot be longer than 128 characters.", + "title": "Comment", + "type": "string" + }, + "ConnectionFunctionAssociation": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ConnectionFunctionAssociation", + "markdownDescription": "The distribution's connection function association.", + "title": "ConnectionFunctionAssociation" + }, + "ConnectionMode": { + "markdownDescription": "This field specifies whether the connection mode is through a standard distribution (direct) or a multi-tenant distribution with distribution tenants (tenant-only).", + "title": "ConnectionMode", + "type": "string" + }, + "ContinuousDeploymentPolicyId": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThe identifier of a continuous deployment policy. For more information, see `CreateContinuousDeploymentPolicy` .", + "title": "ContinuousDeploymentPolicyId", + "type": "string" + }, + "CustomErrorResponses": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse" + }, + "markdownDescription": "A complex type that controls the following:\n\n- Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.\n- How long CloudFront caches HTTP status codes in the 4xx and 5xx range.\n\nFor more information about custom error pages, see [Customizing Error Responses](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) in the *Amazon CloudFront Developer Guide* .", + "title": "CustomErrorResponses", + "type": "array" + }, + "CustomOrigin": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyCustomOrigin", + "markdownDescription": "The user-defined HTTP server that serves as the origin for content that CloudFront distributes.\n\n> This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.", + "title": "CustomOrigin" + }, + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior", + "markdownDescription": "A complex type that describes the default cache behavior if you don't specify a `CacheBehavior` element or if files don't match any of the values of `PathPattern` in `CacheBehavior` elements. You must create exactly one default cache behavior.", + "title": "DefaultCacheBehavior" + }, + "DefaultRootObject": { + "markdownDescription": "When a viewer requests the root URL for your distribution, the default root object is the object that you want CloudFront to request from your origin. For example, if your root URL is `https://www.example.com` , you can specify CloudFront to return the `index.html` file as the default root object. You can specify a default root object so that viewers see a specific file or object, instead of another object in your distribution (for example, `https://www.example.com/product-description.html` ). A default root object avoids exposing the contents of your distribution.\n\nYou can specify the object name or a path to the object name (for example, `index.html` or `exampleFolderName/index.html` ). Your string can't begin with a forward slash ( `/` ). Only specify the object name or the path to the object.\n\nIf you don't want to specify a default root object when you create a distribution, include an empty `DefaultRootObject` element.\n\nTo delete the default root object from an existing distribution, update the distribution configuration and include an empty `DefaultRootObject` element.\n\nTo replace the default root object, update the distribution configuration and specify the new object.\n\nFor more information about the default root object, see [Specify a default root object](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) in the *Amazon CloudFront Developer Guide* .", + "title": "DefaultRootObject", + "type": "string" + }, + "Enabled": { + "markdownDescription": "From this field, you can enable or disable the selected distribution.", + "title": "Enabled", + "type": "boolean" + }, + "HttpVersion": { + "markdownDescription": "(Optional) Specify the HTTP version(s) that you want viewers to use to communicate with CloudFront . The default value for new distributions is `http1.1` .\n\nFor viewers and CloudFront to use HTTP/2, viewers must support TLSv1.2 or later, and must support Server Name Indication (SNI).\n\nFor viewers and CloudFront to use HTTP/3, viewers must support TLSv1.3 and Server Name Indication (SNI). CloudFront supports HTTP/3 connection migration to allow the viewer to switch networks without losing connection. For more information about connection migration, see [Connection Migration](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc9000.html#name-connection-migration) at RFC 9000. For more information about supported TLSv1.3 ciphers, see [Supported protocols and ciphers between viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html) .", + "title": "HttpVersion", + "type": "string" + }, + "IPV6Enabled": { + "markdownDescription": "> To use this field for a multi-tenant distribution, use a connection group instead. For more information, see [ConnectionGroup](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ConnectionGroup.html) . \n\nIf you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution, specify `true` . If you specify `false` , CloudFront responds to IPv6 DNS requests with the DNS response code `NOERROR` and with no IP addresses. This allows viewers to submit a second request, for an IPv4 address for your distribution.\n\nIn general, you should enable IPv6 if you have users on IPv6 networks who want to access your content. However, if you're using signed URLs or signed cookies to restrict access to your content, and if you're using a custom policy that includes the `IpAddress` parameter to restrict the IP addresses that can access your content, don't enable IPv6. If you want to restrict access to some content by IP address and not restrict access to other content (or restrict access but not by IP address), you can create two distributions. For more information, see [Creating a Signed URL Using a Custom Policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-custom-policy.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you're using an Amazon Route\u00a053 AWS Integration alias resource record set to route traffic to your CloudFront distribution, you need to create a second alias resource record set when both of the following are true:\n\n- You enable IPv6 for the distribution\n- You're using alternate domain names in the URLs for your objects\n\nFor more information, see [Routing Traffic to an Amazon CloudFront Web Distribution by Using Your Domain Name](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html) in the *Amazon Route\u00a053 AWS Integration Developer Guide* .\n\nIf you created a CNAME resource record set, either with Amazon Route\u00a053 AWS Integration or with another DNS service, you don't need to make any changes. A CNAME record will route traffic to your distribution regardless of the IP address format of the viewer request.", + "title": "IPV6Enabled", + "type": "boolean" + }, + "Logging": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging", + "markdownDescription": "A complex type that controls whether access logs are written for the distribution.\n\nFor more information about logging, see [Access Logs](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) in the *Amazon CloudFront Developer Guide* .", + "title": "Logging" + }, + "OriginGroups": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups", + "markdownDescription": "A complex type that contains information about origin groups for this distribution.\n\nSpecify a value for either the `Origins` or `OriginGroups` property.", + "title": "OriginGroups" + }, + "Origins": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" + }, + "markdownDescription": "A complex type that contains information about origins for this distribution.\n\nSpecify a value for either the `Origins` or `OriginGroups` property.", + "title": "Origins", + "type": "array" + }, + "PriceClass": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThe price class that corresponds with the maximum price that you want to pay for CloudFront service. If you specify `PriceClass_All` , CloudFront responds to requests for your objects from all CloudFront edge locations.\n\nIf you specify a price class other than `PriceClass_All` , CloudFront serves your objects from the CloudFront edge location that has the lowest latency among the edge locations in your price class. Viewers who are in or near regions that are excluded from your specified price class may encounter slower performance.\n\nFor more information about price classes, see [Choosing the Price Class for a CloudFront Distribution](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html) in the *Amazon CloudFront Developer Guide* . For information about CloudFront pricing, including how price classes (such as Price Class 100) map to CloudFront regions, see [Amazon CloudFront Pricing](https://docs.aws.amazon.com/cloudfront/pricing/) .", + "title": "PriceClass", + "type": "string" + }, + "Restrictions": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions", + "markdownDescription": "A complex type that identifies ways in which you want to restrict distribution of your content.", + "title": "Restrictions" + }, + "S3Origin": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyS3Origin", + "markdownDescription": "The origin as an Amazon S3 bucket.\n\n> This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.", + "title": "S3Origin" + }, + "Staging": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA Boolean that indicates whether this is a staging distribution. When this value is `true` , this is a staging distribution. When this value is `false` , this is not a staging distribution.", + "title": "Staging", + "type": "boolean" + }, + "TenantConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.TenantConfig", + "markdownDescription": "> This field only supports multi-tenant distributions. You can't specify this field for standard distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA distribution tenant configuration.", + "title": "TenantConfig" + }, + "ViewerCertificate": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate", + "markdownDescription": "A complex type that determines the distribution's SSL/TLS configuration for communicating with viewers.", + "title": "ViewerCertificate" + }, + "ViewerMtlsConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerMtlsConfig", + "markdownDescription": "The distribution's viewer mTLS configuration.", + "title": "ViewerMtlsConfig" + }, + "WebACLId": { + "markdownDescription": "> Multi-tenant distributions only support AWS WAF V2 web ACLs. \n\nA unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution. To specify a web ACL created using the latest version of AWS WAF , use the ACL ARN, for example `arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` . To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` .\n\nAWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about AWS WAF , see the [AWS WAF Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html) .", + "title": "WebACLId", "type": "string" } }, "required": [ - "Key", - "Value" + "DefaultCacheBehavior", + "Enabled" ], "type": "object" }, - "AWS::CloudTrail::Channel": { + "AWS::CloudFront::Distribution.ForwardedValues": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Cookies": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies", + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nA complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see [How CloudFront Forwards, Caches, and Logs Cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) in the *Amazon CloudFront Developer Guide* .", + "title": "Cookies" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Headers": { + "items": { + "type": "string" + }, + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include headers in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send headers to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nA complex type that specifies the `Headers` , if any, that you want CloudFront to forward to the origin for this cache behavior (whitelisted headers). For the headers that you specify, CloudFront also caches separate versions of a specified object that is based on the header values in viewer requests.\n\nFor more information, see [Caching Content Based on Request Headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) in the *Amazon CloudFront Developer Guide* .", + "title": "Headers", + "type": "array" }, - "Metadata": { - "type": "object" + "QueryString": { + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include query strings in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nIndicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of `QueryString` and on the values that you specify for `QueryStringCacheKeys` , if any:\n\nIf you specify true for `QueryString` and you don't specify any values for `QueryStringCacheKeys` , CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin.\n\nIf you specify true for `QueryString` and you specify one or more values for `QueryStringCacheKeys` , CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify.\n\nIf you specify false for `QueryString` , CloudFront doesn't forward any query string parameters to the origin, and doesn't cache based on query string parameters.\n\nFor more information, see [Configuring CloudFront to Cache Based on Query String Parameters](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html) in the *Amazon CloudFront Developer Guide* .", + "title": "QueryString", + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Channel.Destination" - }, - "markdownDescription": "One or more event data stores to which events arriving through a channel will be logged.", - "title": "Destinations", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the channel.", - "title": "Name", - "type": "string" - }, - "Source": { - "markdownDescription": "The name of the partner or external event source. You cannot change this name after you create the channel. A maximum of one channel is allowed per source.\n\nA source can be either `Custom` for all valid non- AWS events, or the name of a partner event source. For information about the source names for available partners, see [Additional information about integration partners](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-integration.html#cloudtrail-lake-partner-information) in the CloudTrail User Guide.", - "title": "Source", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags.", - "title": "Tags", - "type": "array" - } + "QueryStringCacheKeys": { + "items": { + "type": "string" }, - "type": "object" + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include query strings in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nA complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.", + "title": "QueryStringCacheKeys", + "type": "array" + } + }, + "required": [ + "QueryString" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.FunctionAssociation": { + "additionalProperties": false, + "properties": { + "EventType": { + "markdownDescription": "The event type of the function, either `viewer-request` or `viewer-response` . You cannot use origin-facing event types ( `origin-request` and `origin-response` ) with a CloudFront function.", + "title": "EventType", + "type": "string" }, - "Type": { - "enum": [ - "AWS::CloudTrail::Channel" - ], + "FunctionARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the function.", + "title": "FunctionARN", "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.GeoRestriction": { + "additionalProperties": false, + "properties": { + "Locations": { + "items": { + "type": "string" + }, + "markdownDescription": "A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content ( `whitelist` ) or not distribute your content ( `blacklist` ).\n\nThe `Location` element is a two-letter, uppercase country code for a country that you want to include in your `blacklist` or `whitelist` . Include one `Location` element for each country.\n\nCloudFront and `MaxMind` both use `ISO 3166` country codes. For the current list of countries and the corresponding codes, see `ISO 3166-1-alpha-2` code on the *International Organization for Standardization* website. You can also refer to the country list on the CloudFront console, which includes both country names and codes.", + "title": "Locations", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RestrictionType": { + "markdownDescription": "The method that you want to use to restrict distribution of your content by country:\n\n- `none` : No geo restriction is enabled, meaning access to content is not restricted by client geo location.\n- `blacklist` : The `Location` elements specify the countries in which you don't want CloudFront to distribute your content.\n- `whitelist` : The `Location` elements specify the countries in which you want CloudFront to distribute your content.", + "title": "RestrictionType", "type": "string" } }, "required": [ - "Type" + "RestrictionType" ], "type": "object" }, - "AWS::CloudTrail::Channel.Destination": { + "AWS::CloudFront::Distribution.GrpcConfig": { "additionalProperties": false, "properties": { - "Location": { - "markdownDescription": "For channels used for a CloudTrail Lake integration, the location is the ARN of an event data store that receives events from a channel. For service-linked channels, the location is the name of the AWS service.", - "title": "Location", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of destination for events arriving from a channel. For channels used for a CloudTrail Lake integration, the value is `EVENT_DATA_STORE` . For service-linked channels, the value is `AWS_SERVICE` .", - "title": "Type", - "type": "string" + "Enabled": { + "markdownDescription": "Enables your CloudFront distribution to receive gRPC requests and to proxy them directly to your origins.", + "title": "Enabled", + "type": "boolean" } }, "required": [ - "Location", - "Type" + "Enabled" ], "type": "object" }, - "AWS::CloudTrail::Dashboard": { + "AWS::CloudFront::Distribution.LambdaFunctionAssociation": { "additionalProperties": false, "properties": { - "Condition": { + "EventType": { + "markdownDescription": "Specifies the event type that triggers a Lambda@Edge function invocation. You can specify the following values:\n\n- `viewer-request` : The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.\n- `origin-request` : The function executes only when CloudFront sends a request to your origin. When the requested object is in the edge cache, the function doesn't execute.\n- `origin-response` : The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn't execute.\n- `viewer-response` : The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache.\n\nIf the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.", + "title": "EventType", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "IncludeBody": { + "markdownDescription": "A flag that allows a Lambda@Edge function to have read access to the body content. For more information, see [Accessing the Request Body by Choosing the Include Body Option](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-include-body-access.html) in the Amazon CloudFront Developer Guide.", + "title": "IncludeBody", + "type": "boolean" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "LambdaFunctionARN": { + "markdownDescription": "The ARN of the Lambda@Edge function. You must specify the ARN of a function version; you can't specify an alias or $LATEST.", + "title": "LambdaFunctionARN", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.LegacyCustomOrigin": { + "additionalProperties": false, + "properties": { + "DNSName": { + "markdownDescription": "The domain name assigned to your CloudFront distribution.", + "title": "DNSName", + "type": "string" }, - "Metadata": { - "type": "object" + "HTTPPort": { + "markdownDescription": "The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port that the origin listens on.", + "title": "HTTPPort", + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the dashboard. The name must be unique to your account.\n\nTo create the Highlights dashboard, the name must be `AWSCloudTrail-Highlights` .", - "title": "Name", - "type": "string" - }, - "RefreshSchedule": { - "$ref": "#/definitions/AWS::CloudTrail::Dashboard.RefreshSchedule", - "markdownDescription": "The schedule for a dashboard refresh.", - "title": "RefreshSchedule" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags.", - "title": "Tags", - "type": "array" - }, - "TerminationProtectionEnabled": { - "markdownDescription": "Specifies whether termination protection is enabled for the dashboard. If termination protection is enabled, you cannot delete the dashboard until termination protection is disabled.", - "title": "TerminationProtectionEnabled", - "type": "boolean" - }, - "Widgets": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Dashboard.Widget" - }, - "markdownDescription": "An array of widgets for a custom dashboard. A custom dashboard can have a maximum of ten widgets.\n\nYou do not need to specify widgets for the Highlights dashboard.", - "title": "Widgets", - "type": "array" - } - }, - "type": "object" + "HTTPSPort": { + "markdownDescription": "The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port that the origin listens on.", + "title": "HTTPSPort", + "type": "number" }, - "Type": { - "enum": [ - "AWS::CloudTrail::Dashboard" - ], + "OriginProtocolPolicy": { + "markdownDescription": "Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin.", + "title": "OriginProtocolPolicy", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "OriginSSLProtocols": { + "items": { + "type": "string" + }, + "markdownDescription": "The minimum SSL/TLS protocol version that CloudFront uses when communicating with your origin server over HTTPs.\n\nFor more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginSSLProtocols", + "type": "array" } }, "required": [ - "Type" + "DNSName", + "OriginProtocolPolicy", + "OriginSSLProtocols" ], "type": "object" }, - "AWS::CloudTrail::Dashboard.Frequency": { + "AWS::CloudFront::Distribution.LegacyS3Origin": { "additionalProperties": false, "properties": { - "Unit": { - "markdownDescription": "The unit to use for the refresh.\n\nFor custom dashboards, the unit can be `HOURS` or `DAYS` .\n\nFor the Highlights dashboard, the `Unit` must be `HOURS` .", - "title": "Unit", + "DNSName": { + "markdownDescription": "The domain name assigned to your CloudFront distribution.", + "title": "DNSName", "type": "string" }, - "Value": { - "markdownDescription": "The value for the refresh schedule.\n\nFor custom dashboards, the following values are valid when the unit is `HOURS` : `1` , `6` , `12` , `24`\n\nFor custom dashboards, the only valid value when the unit is `DAYS` is `1` .\n\nFor the Highlights dashboard, the `Value` must be `6` .", - "title": "Value", - "type": "number" + "OriginAccessIdentity": { + "markdownDescription": "The CloudFront origin access identity to associate with the distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 through CloudFront .\n\n> This property is legacy. We recommend that you use [OriginAccessControl](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html) instead.", + "title": "OriginAccessIdentity", + "type": "string" } }, "required": [ - "Unit", - "Value" + "DNSName" ], "type": "object" }, - "AWS::CloudTrail::Dashboard.RefreshSchedule": { + "AWS::CloudFront::Distribution.Logging": { "additionalProperties": false, "properties": { - "Frequency": { - "$ref": "#/definitions/AWS::CloudTrail::Dashboard.Frequency", - "markdownDescription": "The frequency at which you want the dashboard refreshed.", - "title": "Frequency" - }, - "Status": { - "markdownDescription": "Specifies whether the refresh schedule is enabled. Set the value to `ENABLED` to enable the refresh schedule, or to `DISABLED` to turn off the refresh schedule.", - "title": "Status", + "Bucket": { + "markdownDescription": "The Amazon S3 bucket to store the access logs in, for example, `amzn-s3-demo-bucket.s3.amazonaws.com` .", + "title": "Bucket", "type": "string" }, - "TimeOfDay": { - "markdownDescription": "The time of day in UTC to run the schedule; for hourly only refer to minutes; default is 00:00.", - "title": "TimeOfDay", + "IncludeCookies": { + "markdownDescription": "Specifies whether you want CloudFront to include cookies in access logs, specify `true` for `IncludeCookies` . If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you don't want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify `false` for `IncludeCookies` .", + "title": "IncludeCookies", + "type": "boolean" + }, + "Prefix": { + "markdownDescription": "An optional string that you want CloudFront to prefix to the access log `filenames` for this distribution, for example, `myprefix/` . If you want to enable logging, but you don't want to specify a prefix, you still must include an empty `Prefix` element in the `Logging` element.", + "title": "Prefix", "type": "string" } }, "type": "object" }, - "AWS::CloudTrail::Dashboard.Widget": { + "AWS::CloudFront::Distribution.Origin": { "additionalProperties": false, "properties": { - "QueryParameters": { + "ConnectionAttempts": { + "markdownDescription": "The number of times that CloudFront attempts to connect to the origin. The minimum number is 1, the maximum is 3, and the default (if you don't specify otherwise) is 3.\n\nFor a custom origin (including an Amazon S3 bucket that's configured with static website hosting), this value also specifies the number of times that CloudFront attempts to get a response from the origin, in the case of an [Origin Response Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) .\n\nFor more information, see [Origin Connection Attempts](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-attempts) in the *Amazon CloudFront Developer Guide* .", + "title": "ConnectionAttempts", + "type": "number" + }, + "ConnectionTimeout": { + "markdownDescription": "The number of seconds that CloudFront waits when trying to establish a connection to the origin. The minimum timeout is 1 second, the maximum is 10 seconds, and the default (if you don't specify otherwise) is 10 seconds.\n\nFor more information, see [Origin Connection Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-timeout) in the *Amazon CloudFront Developer Guide* .", + "title": "ConnectionTimeout", + "type": "number" + }, + "CustomOriginConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig", + "markdownDescription": "Use this type to specify an origin that is not an Amazon S3 bucket, with one exception. If the Amazon S3 bucket is configured with static website hosting, use this type. If the Amazon S3 bucket is not configured with static website hosting, use the `S3OriginConfig` type instead.", + "title": "CustomOriginConfig" + }, + "DomainName": { + "markdownDescription": "The domain name for the origin.\n\nFor more information, see [Origin Domain Name](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDomainName) in the *Amazon CloudFront Developer Guide* .", + "title": "DomainName", + "type": "string" + }, + "Id": { + "markdownDescription": "A unique identifier for the origin. This value must be unique within the distribution.\n\nUse this value to specify the `TargetOriginId` in a `CacheBehavior` or `DefaultCacheBehavior` .", + "title": "Id", + "type": "string" + }, + "OriginAccessControlId": { + "markdownDescription": "The unique identifier of an origin access control for this origin.\n\nFor more information, see [Restricting access to an Amazon S3 origin](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginAccessControlId", + "type": "string" + }, + "OriginCustomHeaders": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader" }, - "markdownDescription": "The optional query parameters. The following query parameters are valid: `$StartTime$` , `$EndTime$` , and `$Period$` .", - "title": "QueryParameters", + "markdownDescription": "A list of HTTP header names and values that CloudFront adds to the requests that it sends to the origin.\n\nFor more information, see [Adding Custom Headers to Origin Requests](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/add-origin-custom-headers.html) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginCustomHeaders", "type": "array" }, - "QueryStatement": { - "markdownDescription": "The query statement for the widget. For custom dashboard widgets, you can query across multiple event data stores as long as all event data stores exist in your account.\n\n> When a query uses `?` with `eventTime` , `?` must be surrounded by single quotes as follows: `'?'` .", - "title": "QueryStatement", + "OriginPath": { + "markdownDescription": "An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.\n\nFor more information, see [Origin Path](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginPath) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginPath", "type": "string" }, - "ViewProperties": { - "additionalProperties": true, - "markdownDescription": "The view properties for the widget. For more information about view properties, see [View properties for widgets](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-widget-properties.html) in the *AWS CloudTrail User Guide* .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ViewProperties", - "type": "object" + "OriginShield": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield", + "markdownDescription": "CloudFront Origin Shield. Using Origin Shield can help reduce the load on your origin.\n\nFor more information, see [Using Origin Shield](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginShield" + }, + "ResponseCompletionTimeout": { + "markdownDescription": "The time (in seconds) that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection.\n\nThe value for `ResponseCompletionTimeout` must be equal to or greater than the value for `OriginReadTimeout` . If you don't set a value for `ResponseCompletionTimeout` , CloudFront doesn't enforce a maximum value.\n\nFor more information, see [Response completion timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout) in the *Amazon CloudFront Developer Guide* .", + "title": "ResponseCompletionTimeout", + "type": "number" + }, + "S3OriginConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig", + "markdownDescription": "Use this type to specify an origin that is an Amazon S3 bucket that is not configured with static website hosting. To specify any other type of origin, including an Amazon S3 bucket that is configured with static website hosting, use the `CustomOriginConfig` type instead.", + "title": "S3OriginConfig" + }, + "VpcOriginConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.VpcOriginConfig", + "markdownDescription": "The VPC origin configuration.", + "title": "VpcOriginConfig" } }, "required": [ - "QueryStatement" + "DomainName", + "Id" ], "type": "object" }, - "AWS::CloudTrail::EventDataStore": { + "AWS::CloudFront::Distribution.OriginCustomHeader": { "additionalProperties": false, "properties": { - "Condition": { + "HeaderName": { + "markdownDescription": "The name of a header that you want CloudFront to send to your origin. For more information, see [Adding Custom Headers to Origin Requests](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html) in the *Amazon CloudFront Developer Guide* .", + "title": "HeaderName", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "HeaderValue": { + "markdownDescription": "The value for the header that you specified in the `HeaderName` field.", + "title": "HeaderValue", "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroup": { + "additionalProperties": false, + "properties": { + "FailoverCriteria": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria", + "markdownDescription": "A complex type that contains information about the failover criteria for an origin group.", + "title": "FailoverCriteria" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdvancedEventSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.AdvancedEventSelector" - }, - "markdownDescription": "The advanced event selectors to use to select the events for the data store. You can configure up to five advanced event selectors for each event data store.\n\nFor more information about how to use advanced event selectors to log CloudTrail events, see [Log events by using advanced event selectors](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced) in the CloudTrail User Guide.\n\nFor more information about how to use advanced event selectors to include AWS Config configuration items in your event data store, see [Create an event data store for AWS Config configuration items](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-eds-cli.html#lake-cli-create-eds-config) in the CloudTrail User Guide.\n\nFor more information about how to use advanced event selectors to include events outside of AWS events in your event data store, see [Create an integration to log events from outside AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-integrations-cli.html#lake-cli-create-integration) in the CloudTrail User Guide.", - "title": "AdvancedEventSelectors", - "type": "array" - }, - "BillingMode": { - "markdownDescription": "The billing mode for the event data store determines the cost for ingesting events and the default and maximum retention period for the event data store.\n\nThe following are the possible values:\n\n- `EXTENDABLE_RETENTION_PRICING` - This billing mode is generally recommended if you want a flexible retention period of up to 3653 days (about 10 years). The default retention period for this billing mode is 366 days.\n- `FIXED_RETENTION_PRICING` - This billing mode is recommended if you expect to ingest more than 25 TB of event data per month and need a retention period of up to 2557 days (about 7 years). The default retention period for this billing mode is 2557 days.\n\nThe default value is `EXTENDABLE_RETENTION_PRICING` .\n\nFor more information about CloudTrail pricing, see [AWS CloudTrail Pricing](https://docs.aws.amazon.com/cloudtrail/pricing/) and [Managing CloudTrail Lake costs](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html) .", - "title": "BillingMode", - "type": "string" - }, - "ContextKeySelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.ContextKeySelector" - }, - "markdownDescription": "The list of context key selectors that are configured for the event data store.", - "title": "ContextKeySelectors", - "type": "array" - }, - "FederationEnabled": { - "markdownDescription": "Indicates if [Lake query federation](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-federation.html) is enabled. By default, Lake query federation is disabled. You cannot delete an event data store if Lake query federation is enabled.", - "title": "FederationEnabled", - "type": "boolean" - }, - "FederationRoleArn": { - "markdownDescription": "If Lake query federation is enabled, provides the ARN of the federation role used to access the resources for the federated event data store.\n\nThe federation role must exist in your account and provide the [required minimum permissions](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-federation.html#query-federation-permissions-role) .", - "title": "FederationRoleArn", - "type": "string" - }, - "IngestionEnabled": { - "markdownDescription": "Specifies whether the event data store should start ingesting live events. The default is true.", - "title": "IngestionEnabled", - "type": "boolean" - }, - "InsightSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.InsightSelector" - }, - "markdownDescription": "A JSON string that contains the Insights types you want to log on an event data store. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", - "title": "InsightSelectors", - "type": "array" - }, - "InsightsDestination": { - "markdownDescription": "The ARN (or ID suffix of the ARN) of the destination event data store that logs Insights events. For more information, see [Create an event data store for CloudTrail Insights events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-insights.html) .", - "title": "InsightsDestination", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "Specifies the AWS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by `alias/` , a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.\n\n> Disabling or deleting the KMS key, or removing CloudTrail permissions on the key, prevents CloudTrail from logging events to the event data store, and prevents users from querying the data in the event data store that was encrypted with the key. After you associate an event data store with a KMS key, the KMS key cannot be removed or changed. Before you disable or delete a KMS key that you are using with an event data store, delete or back up your event data store. \n\nCloudTrail also supports AWS multi-Region keys. For more information about multi-Region keys, see [Using multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *AWS Key Management Service Developer Guide* .\n\nExamples:\n\n- `alias/MyAliasName`\n- `arn:aws:kms:us-east-2:123456789012:alias/MyAliasName`\n- `arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012`\n- `12345678-1234-1234-1234-123456789012`", - "title": "KmsKeyId", - "type": "string" - }, - "MaxEventSize": { - "markdownDescription": "The maximum allowed size for events to be stored in the specified event data store. If you are using context key selectors, MaxEventSize must be set to Large.", - "title": "MaxEventSize", - "type": "string" - }, - "MultiRegionEnabled": { - "markdownDescription": "Specifies whether the event data store includes events from all Regions, or only from the Region in which the event data store is created.", - "title": "MultiRegionEnabled", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the event data store.", - "title": "Name", - "type": "string" - }, - "OrganizationEnabled": { - "markdownDescription": "Specifies whether an event data store collects events logged for an organization in AWS Organizations .", - "title": "OrganizationEnabled", - "type": "boolean" - }, - "RetentionPeriod": { - "markdownDescription": "The retention period of the event data store, in days. If `BillingMode` is set to `EXTENDABLE_RETENTION_PRICING` , you can set a retention period of up to 3653 days, the equivalent of 10 years. If `BillingMode` is set to `FIXED_RETENTION_PRICING` , you can set a retention period of up to 2557 days, the equivalent of seven years.\n\nCloudTrail Lake determines whether to retain an event by checking if the `eventTime` of the event is within the specified retention period. For example, if you set a retention period of 90 days, CloudTrail will remove events when the `eventTime` is older than 90 days.\n\n> If you plan to copy trail events to this event data store, we recommend that you consider both the age of the events that you want to copy as well as how long you want to keep the copied events in your event data store. For example, if you copy trail events that are 5 years old and specify a retention period of 7 years, the event data store will retain those events for two years.", - "title": "RetentionPeriod", - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags.", - "title": "Tags", - "type": "array" - }, - "TerminationProtectionEnabled": { - "markdownDescription": "Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled.", - "title": "TerminationProtectionEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudTrail::EventDataStore" - ], + "Id": { + "markdownDescription": "The origin group's ID.", + "title": "Id", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Members": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers", + "markdownDescription": "A complex type that contains information about the origins in an origin group.", + "title": "Members" + }, + "SelectionCriteria": { + "markdownDescription": "The selection criteria for the origin group. For more information, see [Create an origin group](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html#concept_origin_groups.creating) in the *Amazon CloudFront Developer Guide* .", + "title": "SelectionCriteria", "type": "string" } }, "required": [ - "Type" + "FailoverCriteria", + "Id", + "Members" ], "type": "object" }, - "AWS::CloudTrail::EventDataStore.AdvancedEventSelector": { + "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { "additionalProperties": false, "properties": { - "FieldSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.AdvancedFieldSelector" - }, - "markdownDescription": "Contains all selector statements in an advanced event selector.", - "title": "FieldSelectors", - "type": "array" - }, - "Name": { - "markdownDescription": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".", - "title": "Name", + "StatusCodes": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes", + "markdownDescription": "The status codes that, when returned from the primary origin, will trigger CloudFront to failover to the second origin.", + "title": "StatusCodes" + } + }, + "required": [ + "StatusCodes" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMember": { + "additionalProperties": false, + "properties": { + "OriginId": { + "markdownDescription": "The ID for an origin in an origin group.", + "title": "OriginId", "type": "string" } }, "required": [ - "FieldSelectors" + "OriginId" ], "type": "object" }, - "AWS::CloudTrail::EventDataStore.AdvancedFieldSelector": { + "AWS::CloudFront::Distribution.OriginGroupMembers": { "additionalProperties": false, "properties": { - "EndsWith": { + "Items": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" }, - "markdownDescription": "An operator that includes events that match the last few characters of the event record field specified as the value of `Field` .", - "title": "EndsWith", + "markdownDescription": "Items (origins) in an origin group.", + "title": "Items", "type": "array" }, - "Equals": { + "Quantity": { + "markdownDescription": "The number of origins in an origin group.", + "title": "Quantity", + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroups": { + "additionalProperties": false, + "properties": { + "Items": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" }, - "markdownDescription": "An operator that includes events that match the exact value of the event record field specified as the value of `Field` . This is the only valid operator that you can use with the `readOnly` , `eventCategory` , and `resources.type` fields.", - "title": "Equals", + "markdownDescription": "The items (origin groups) in a distribution.", + "title": "Items", "type": "array" }, - "Field": { - "markdownDescription": "A field in a CloudTrail event record on which to filter events to be logged. For event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the field is used only for selecting events as filtering is not supported.\n\nFor CloudTrail management events, supported fields include `eventCategory` (required), `eventSource` , and `readOnly` . The following additional fields are available for event data stores: `eventName` , `eventType` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail data events, supported fields include `eventCategory` (required), `eventName` , `eventSource` , `eventType` , `resources.type` (required), `readOnly` , `resources.ARN` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail network activity events, supported fields include `eventCategory` (required), `eventSource` (required), `eventName` , `errorCode` , and `vpcEndpointId` .\n\nFor event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the only supported field is `eventCategory` .\n\n> Selectors don't support the use of wildcards like `*` . To match multiple values with a single condition, you may use `StartsWith` , `EndsWith` , `NotStartsWith` , or `NotEndsWith` to explicitly match the beginning or end of the event field. \n\n- *`readOnly`* - This is an optional field that is only used for management events and data events. This field can be set to `Equals` with a value of `true` or `false` . If you do not add this field, CloudTrail logs both `read` and `write` events. A value of `true` logs only `read` events. A value of `false` logs only `write` events.\n- *`eventSource`* - This field is only used for management events, data events, and network activity events.\n\nFor management events for trails, this is an optional field that can be set to `NotEquals` `kms.amazonaws.com` to exclude KMS management events, or `NotEquals` `rdsdata.amazonaws.com` to exclude RDS management events.\n\nFor data events for trails, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor management and data events for event data stores, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor network activity events, this is a required field that only uses the `Equals` operator. Set this field to the event source for which you want to log network activity events. If you want to log network activity events for multiple event sources, you must create a separate field selector for each event source. For a list of services supporting network activity events, see [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .\n- *`eventName`* - This is an optional field that is only used for data events, management events (for event data stores only), and network activity events. You can use any operator with `eventName` . You can use it to \ufb01lter in or \ufb01lter out specific events. You can have multiple values for this \ufb01eld, separated by commas.\n- *`eventCategory`* - This field is required and must be set to `Equals` .\n\n- For CloudTrail management events, the value must be `Management` .\n- For CloudTrail data events, the value must be `Data` .\n- For CloudTrail network activity events, the value must be `NetworkActivity` .\n\nThe following are used only for event data stores:\n\n- For CloudTrail Insights events, the value must be `Insight` .\n- For AWS Config configuration items, the value must be `ConfigurationItem` .\n- For Audit Manager evidence, the value must be `Evidence` .\n- For events outside of AWS , the value must be `ActivityAuditLog` .\n- *`eventType`* - For event data stores, this is an optional field available for event data stores to filter management and data events on the event type. For trails, this is an optional field to filter data events on the event type. For information about available event types, see [CloudTrail record contents](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html#ct-event-type) in the *AWS CloudTrail user guide* .\n- *`errorCode`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This is the error code to filter on. Currently, the only valid `errorCode` is `VpceAccessDenied` . `errorCode` can only use the `Equals` operator.\n- *`sessionCredentialFromConsole`* - For event data stores, this is an optional field used to filter management and data events based on whether the events originated from an AWS Management Console session. For trails, this is an optional field used to filter data events. `sessionCredentialFromConsole` can only use the `Equals` and `NotEquals` operators.\n- *`resources.type`* - This \ufb01eld is required for CloudTrail data events. `resources.type` can only use the `Equals` operator.\n\nFor a list of available resource types for data events, see [Data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) in the *AWS CloudTrail User Guide* .\n\nYou can have only one `resources.type` \ufb01eld per selector. To log events on more than one resource type, add another selector.\n- *`resources.ARN`* - The `resources.ARN` is an optional field for data events. You can use any operator with `resources.ARN` , but if you use `Equals` or `NotEquals` , the value must exactly match the ARN of a valid resource of the type you've speci\ufb01ed in the template as the value of resources.type. To log all data events for all objects in a specific S3 bucket, use the `StartsWith` operator, and include only the bucket ARN as the matching value.\n\nFor more information about the ARN formats of data event resources, see [Actions, resources, and condition keys for AWS services](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) in the *Service Authorization Reference* .\n\n> You can't use the `resources.ARN` field to filter resource types that do not have ARNs.\n- *`userIdentity.arn`* - For event data stores, this is an optional field used to filter management and data events for actions taken by specific IAM identities. For trails, this is an optional field used to filter data events. You can use any operator with `userIdentity.arn` . For more information on the userIdentity element, see [CloudTrail userIdentity element](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html) in the *AWS CloudTrail User Guide* .\n- *`vpcEndpointId`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This field identifies the VPC endpoint that the request passed through. You can use any operator with `vpcEndpointId` .", - "title": "Field", + "Quantity": { + "markdownDescription": "The number of origin groups.", + "title": "Quantity", + "type": "number" + } + }, + "required": [ + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginMtlsConfig": { + "additionalProperties": false, + "properties": { + "ClientCertificateArn": { + "markdownDescription": "", + "title": "ClientCertificateArn", "type": "string" - }, - "NotEndsWith": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that excludes events that match the last few characters of the event record field specified as the value of `Field` .", - "title": "NotEndsWith", - "type": "array" - }, - "NotEquals": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that excludes events that match the exact value of the event record field specified as the value of `Field` .", - "title": "NotEquals", - "type": "array" - }, - "NotStartsWith": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that excludes events that match the first few characters of the event record field specified as the value of `Field` .", - "title": "NotStartsWith", - "type": "array" - }, - "StartsWith": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that includes events that match the first few characters of the event record field specified as the value of `Field` .", - "title": "StartsWith", - "type": "array" } }, "required": [ - "Field" + "ClientCertificateArn" ], "type": "object" }, - "AWS::CloudTrail::EventDataStore.ContextKeySelector": { + "AWS::CloudFront::Distribution.OriginShield": { "additionalProperties": false, "properties": { - "Equals": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of keys defined by Type to be included in CloudTrail enriched events.", - "title": "Equals", - "type": "array" + "Enabled": { + "markdownDescription": "A flag that specifies whether Origin Shield is enabled.\n\nWhen it's enabled, CloudFront routes all requests through Origin Shield, which can help protect your origin. When it's disabled, CloudFront might send requests directly to your origin from multiple edge locations or regional edge caches.", + "title": "Enabled", + "type": "boolean" }, - "Type": { - "markdownDescription": "Specifies the type of the event record field in ContextKeySelector. Valid values include RequestContext, TagContext.", - "title": "Type", + "OriginShieldRegion": { + "markdownDescription": "The AWS Region for Origin Shield.\n\nSpecify the AWS Region that has the lowest latency to your origin. To specify a region, use the region code, not the region name. For example, specify the US East (Ohio) region as `us-east-2` .\n\nWhen you enable CloudFront Origin Shield, you must specify the AWS Region for Origin Shield. For the list of AWS Regions that you can specify, and for help choosing the best Region for your origin, see [Choosing the AWS Region for Origin Shield](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html#choose-origin-shield-region) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginShieldRegion", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.ParameterDefinition": { + "additionalProperties": false, + "properties": { + "Definition": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Definition", + "markdownDescription": "The value that you assigned to the parameter.", + "title": "Definition" + }, + "Name": { + "markdownDescription": "The name of the parameter.", + "title": "Name", "type": "string" } }, "required": [ - "Equals", - "Type" + "Definition", + "Name" ], "type": "object" }, - "AWS::CloudTrail::EventDataStore.InsightSelector": { + "AWS::CloudFront::Distribution.Restrictions": { "additionalProperties": false, "properties": { - "InsightType": { - "markdownDescription": "The type of Insights events to log on an event data store. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", - "title": "InsightType", - "type": "string" + "GeoRestriction": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction", + "markdownDescription": "A complex type that controls the countries in which your content is distributed. CloudFront determines the location of your users using `MaxMind` GeoIP databases. To disable geo restriction, remove the [Restrictions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-restrictions) property from your stack template.", + "title": "GeoRestriction" } }, + "required": [ + "GeoRestriction" + ], "type": "object" }, - "AWS::CloudTrail::ResourcePolicy": { + "AWS::CloudFront::Distribution.S3OriginConfig": { "additionalProperties": false, "properties": { - "Condition": { + "OriginAccessIdentity": { + "markdownDescription": "> If you're using origin access control (OAC) instead of origin access identity, specify an empty `OriginAccessIdentity` element. For more information, see [Restricting access to an AWS](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-origin.html) in the *Amazon CloudFront Developer Guide* . \n\nThe CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can *only* access objects in an Amazon S3 bucket through CloudFront. The format of the value is:\n\n`origin-access-identity/cloudfront/ID-of-origin-access-identity`\n\nThe `*ID-of-origin-access-identity*` is the value that CloudFront returned in the `ID` element when you created the origin access identity.\n\nIf you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty `OriginAccessIdentity` element.\n\nTo delete the origin access identity from an existing distribution, update the distribution configuration and include an empty `OriginAccessIdentity` element.\n\nTo replace the origin access identity, update the distribution configuration and specify the new origin access identity.\n\nFor more information about the origin access identity, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginAccessIdentity", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "OriginReadTimeout": { + "markdownDescription": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n\nFor more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginReadTimeout", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.StatusCodes": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "type": "number" + }, + "markdownDescription": "The items (status codes) for an origin group.", + "title": "Items", + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Quantity": { + "markdownDescription": "The number of status codes.", + "title": "Quantity", + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.StringSchema": { + "additionalProperties": false, + "properties": { + "Comment": { + "markdownDescription": "", + "title": "Comment", + "type": "string" }, - "Metadata": { - "type": "object" + "DefaultValue": { + "markdownDescription": "", + "title": "DefaultValue", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the CloudTrail event data store, dashboard, or channel attached to the resource-based policy.\n\nExample event data store ARN format: `arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE`\n\nExample dashboard ARN format: `arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDash`\n\nExample channel ARN format: `arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890`", - "title": "ResourceArn", - "type": "string" - }, - "ResourcePolicy": { - "markdownDescription": "A JSON-formatted string for an AWS resource-based policy.\n\nFor example resource-based policies, see [CloudTrail resource-based policy examples](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/security_iam_resource-based-policy-examples.html) in the *CloudTrail User Guide* .", - "title": "ResourcePolicy", - "type": "object" - } + "Required": { + "markdownDescription": "", + "title": "Required", + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.TenantConfig": { + "additionalProperties": false, + "properties": { + "ParameterDefinitions": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ParameterDefinition" }, - "required": [ - "ResourceArn", - "ResourcePolicy" - ], - "type": "object" + "markdownDescription": "The parameters that you specify for a distribution tenant.", + "title": "ParameterDefinitions", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.TrustStoreConfig": { + "additionalProperties": false, + "properties": { + "AdvertiseTrustStoreCaNames": { + "markdownDescription": "The configuration to use to advertise trust store CA names.", + "title": "AdvertiseTrustStoreCaNames", + "type": "boolean" }, - "Type": { - "enum": [ - "AWS::CloudTrail::ResourcePolicy" - ], + "IgnoreCertificateExpiry": { + "markdownDescription": "The configuration to use to ignore certificate expiration.", + "title": "IgnoreCertificateExpiry", + "type": "boolean" + }, + "TrustStoreId": { + "markdownDescription": "The trust store ID.", + "title": "TrustStoreId", + "type": "string" + } + }, + "required": [ + "TrustStoreId" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.ViewerCertificate": { + "additionalProperties": false, + "properties": { + "AcmCertificateArn": { + "markdownDescription": "> In CloudFormation, this field name is `AcmCertificateArn` . Note the different capitalization. \n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in [Certificate Manager (ACM)](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) , provide the Amazon Resource Name (ARN) of the ACM certificate. CloudFront only supports ACM certificates in the US East (N. Virginia) Region ( `us-east-1` ).\n\nIf you specify an ACM certificate ARN, you must also specify values for `MinimumProtocolVersion` and `SSLSupportMethod` . (In CloudFormation, the field name is `SslSupportMethod` . Note the different capitalization.)", + "title": "AcmCertificateArn", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CloudFrontDefaultCertificate": { + "markdownDescription": "If the distribution uses the CloudFront domain name such as `d111111abcdef8.cloudfront.net` , set this field to `true` .\n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs), omit this field and specify values for the following fields:\n\n- `AcmCertificateArn` or `IamCertificateId` (specify a value for one, not both)\n- `MinimumProtocolVersion`\n- `SslSupportMethod`", + "title": "CloudFrontDefaultCertificate", + "type": "boolean" + }, + "IamCertificateId": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . > In CloudFormation, this field name is `IamCertificateId` . Note the different capitalization. \n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html) , provide the ID of the IAM certificate.\n\nIf you specify an IAM certificate ID, you must also specify values for `MinimumProtocolVersion` and `SSLSupportMethod` . (In CloudFormation, the field name is `SslSupportMethod` . Note the different capitalization.)", + "title": "IamCertificateId", + "type": "string" + }, + "MinimumProtocolVersion": { + "markdownDescription": "If the distribution uses `Aliases` (alternate domain names or CNAMEs), specify the security policy that you want CloudFront to use for HTTPS connections with viewers. The security policy determines two settings:\n\n- The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers.\n- The ciphers that CloudFront can use to encrypt the content that it returns to viewers.\n\nFor more information, see [Security Policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValues-security-policy) and [Supported Protocols and Ciphers Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html#secure-connections-supported-ciphers) in the *Amazon CloudFront Developer Guide* .\n\n> On the CloudFront console, this setting is called *Security Policy* . \n\nWhen you're using SNI only (you set `SSLSupportMethod` to `sni-only` ), you must specify `TLSv1` or higher. (In CloudFormation, the field name is `SslSupportMethod` . Note the different capitalization.)\n\nIf the distribution uses the CloudFront domain name such as `d111111abcdef8.cloudfront.net` (you set `CloudFrontDefaultCertificate` to `true` ), CloudFront automatically sets the security policy to `TLSv1` regardless of the value that you set here.", + "title": "MinimumProtocolVersion", + "type": "string" + }, + "SslSupportMethod": { + "markdownDescription": "> In CloudFormation, this field name is `SslSupportMethod` . Note the different capitalization. \n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs), specify which viewers the distribution accepts HTTPS connections from.\n\n- `sni-only` \u2013 The distribution accepts HTTPS connections from only viewers that support [server name indication (SNI)](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/Server_Name_Indication) . This is recommended. Most browsers and clients support SNI.\n- `vip` \u2013 The distribution accepts HTTPS connections from all viewers including those that don't support SNI. This is not recommended, and results in additional monthly charges from CloudFront.\n- `static-ip` - Do not specify this value unless your distribution has been enabled for this feature by the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact CloudFront through the [Support Center](https://docs.aws.amazon.com/support/home) .\n\nIf the distribution uses the CloudFront domain name such as `d111111abcdef8.cloudfront.net` , don't set a value for this field.", + "title": "SslSupportMethod", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.ViewerMtlsConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "markdownDescription": "The viewer mTLS mode.", + "title": "Mode", + "type": "string" + }, + "TrustStoreConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.TrustStoreConfig", + "markdownDescription": "The trust store configuration associated with the viewer mTLS configuration.", + "title": "TrustStoreConfig" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.VpcOriginConfig": { + "additionalProperties": false, + "properties": { + "OriginKeepaliveTimeout": { + "markdownDescription": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n\nFor more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginKeepaliveTimeout", + "type": "number" + }, + "OriginReadTimeout": { + "markdownDescription": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n\nFor more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginReadTimeout", + "type": "number" + }, + "OwnerAccountId": { + "markdownDescription": "The account ID of the AWS account that owns the VPC origin.", + "title": "OwnerAccountId", + "type": "string" + }, + "VpcOriginId": { + "markdownDescription": "The VPC origin ID.", + "title": "VpcOriginId", "type": "string" } }, "required": [ - "Type", - "Properties" + "VpcOriginId" ], "type": "object" }, - "AWS::CloudTrail::Trail": { + "AWS::CloudFront::DistributionTenant": { "additionalProperties": false, "properties": { "Condition": { @@ -73538,116 +75002,71 @@ "Properties": { "additionalProperties": false, "properties": { - "AdvancedEventSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.AdvancedEventSelector" - }, - "markdownDescription": "Specifies the settings for advanced event selectors. You can use advanced event selectors to log management events, data events for all resource types, and network activity events.\n\nYou can add advanced event selectors, and conditions for your advanced event selectors, up to a maximum of 500 values for all conditions and selectors on a trail. You can use either `AdvancedEventSelectors` or `EventSelectors` , but not both. If you apply `AdvancedEventSelectors` to a trail, any existing `EventSelectors` are overwritten. For more information about advanced event selectors, see [Logging data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) and [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .", - "title": "AdvancedEventSelectors", - "type": "array" - }, - "AggregationConfigurations": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.AggregationConfiguration" - }, - "markdownDescription": "", - "title": "AggregationConfigurations", - "type": "array" - }, - "CloudWatchLogsLogGroupArn": { - "markdownDescription": "Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs are delivered. You must use a log group that exists in your account.\n\nTo enable CloudWatch Logs delivery, you must provide values for `CloudWatchLogsLogGroupArn` and `CloudWatchLogsRoleArn` .\n\n> If you previously enabled CloudWatch Logs delivery and want to disable CloudWatch Logs delivery, you must set the values of the `CloudWatchLogsRoleArn` and `CloudWatchLogsLogGroupArn` fields to `\"\"` .", - "title": "CloudWatchLogsLogGroupArn", - "type": "string" - }, - "CloudWatchLogsRoleArn": { - "markdownDescription": "Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group. You must use a role that exists in your account.\n\nTo enable CloudWatch Logs delivery, you must provide values for `CloudWatchLogsLogGroupArn` and `CloudWatchLogsRoleArn` .\n\n> If you previously enabled CloudWatch Logs delivery and want to disable CloudWatch Logs delivery, you must set the values of the `CloudWatchLogsRoleArn` and `CloudWatchLogsLogGroupArn` fields to `\"\"` .", - "title": "CloudWatchLogsRoleArn", + "ConnectionGroupId": { + "markdownDescription": "The ID of the connection group for the distribution tenant. If you don't specify a connection group, CloudFront uses the default connection group.", + "title": "ConnectionGroupId", "type": "string" }, - "EnableLogFileValidation": { - "markdownDescription": "Specifies whether log file validation is enabled. The default is false.\n\n> When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail does not create digest files for log files that were delivered during a period in which log file integrity validation was disabled. For example, if you enable log file integrity validation at noon on January 1, disable it at noon on January 2, and re-enable it at noon on January 10, digest files will not be created for the log files delivered from noon on January 2 to noon on January 10. The same applies whenever you stop CloudTrail logging or delete a trail.", - "title": "EnableLogFileValidation", - "type": "boolean" - }, - "EventSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" - }, - "markdownDescription": "Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.\n\nYou can configure up to five event selectors for a trail.\n\nYou cannot apply both event selectors and advanced event selectors to a trail.", - "title": "EventSelectors", - "type": "array" + "Customizations": { + "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.Customizations", + "markdownDescription": "Customizations for the distribution tenant. For each distribution tenant, you can specify the geographic restrictions, and the Amazon Resource Names (ARNs) for the ACM certificate and AWS WAF web ACL. These are specific values that you can override or disable from the multi-tenant distribution that was used to create the distribution tenant.", + "title": "Customizations" }, - "IncludeGlobalServiceEvents": { - "markdownDescription": "Specifies whether the trail is publishing events from global services such as IAM to the log files.", - "title": "IncludeGlobalServiceEvents", - "type": "boolean" + "DistributionId": { + "markdownDescription": "The ID of the multi-tenant distribution.", + "title": "DistributionId", + "type": "string" }, - "InsightSelectors": { + "Domains": { "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.InsightSelector" + "type": "string" }, - "markdownDescription": "A JSON string that contains the Insights types you want to log on a trail. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", - "title": "InsightSelectors", + "markdownDescription": "The domains associated with the distribution tenant.", + "title": "Domains", "type": "array" }, - "IsLogging": { - "markdownDescription": "Whether the CloudTrail trail is currently logging AWS API calls.", - "title": "IsLogging", - "type": "boolean" - }, - "IsMultiRegionTrail": { - "markdownDescription": "Specifies whether the trail applies only to the current Region or to all Regions. The default is false. If the trail exists only in the current Region and this value is set to true, shadow trails (replications of the trail) will be created in the other Regions. If the trail exists in all Regions and this value is set to false, the trail will remain in the Region where it was created, and its shadow trails in other Regions will be deleted. As a best practice, consider using trails that log events in all Regions.", - "title": "IsMultiRegionTrail", - "type": "boolean" - }, - "IsOrganizationTrail": { - "markdownDescription": "Specifies whether the trail is applied to all accounts in an organization in AWS Organizations , or only for the current AWS account . The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the management account for an organization in AWS Organizations . If the trail is not an organization trail and this is set to `true` , the trail will be created in all AWS accounts that belong to the organization. If the trail is an organization trail and this is set to `false` , the trail will remain in the current AWS account but be deleted from all member accounts in the organization.\n\n> Only the management account for the organization can convert an organization trail to a non-organization trail, or convert a non-organization trail to an organization trail.", - "title": "IsOrganizationTrail", + "Enabled": { + "markdownDescription": "Indicates whether the distribution tenant is in an enabled state. If disabled, the distribution tenant won't serve traffic.", + "title": "Enabled", "type": "boolean" }, - "KMSKeyId": { - "markdownDescription": "Specifies the AWS key ID to use to encrypt the logs and digest files delivered by CloudTrail. The value can be an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.\n\nCloudTrail also supports AWS multi-Region keys. For more information about multi-Region keys, see [Using multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *AWS Key Management Service Developer Guide* .\n\nExamples:\n\n- alias/MyAliasName\n- arn:aws:kms:us-east-2:123456789012:alias/MyAliasName\n- arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012\n- 12345678-1234-1234-1234-123456789012", - "title": "KMSKeyId", - "type": "string" - }, - "S3BucketName": { - "markdownDescription": "Specifies the name of the Amazon S3 bucket designated for publishing log files. See [Amazon S3 Bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) .", - "title": "S3BucketName", - "type": "string" + "ManagedCertificateRequest": { + "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.ManagedCertificateRequest", + "markdownDescription": "An object that represents the request for the Amazon CloudFront managed ACM certificate.", + "title": "ManagedCertificateRequest" }, - "S3KeyPrefix": { - "markdownDescription": "Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see [Finding Your CloudTrail Log Files](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/get-and-view-cloudtrail-log-files.html#cloudtrail-find-log-files) . The maximum length is 200 characters.", - "title": "S3KeyPrefix", + "Name": { + "markdownDescription": "The name of the distribution tenant.", + "title": "Name", "type": "string" }, - "SnsTopicName": { - "markdownDescription": "Specifies the name or ARN of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.", - "title": "SnsTopicName", - "type": "string" + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.Parameter" + }, + "markdownDescription": "A list of parameter values to add to the resource. A parameter is specified as a key-value pair. A valid parameter value must exist for any parameter that is marked as required in the multi-tenant distribution.", + "title": "Parameters", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A custom set of tags (key-value pairs) for this trail.", + "markdownDescription": "A complex type that contains zero or more `Tag` elements.", "title": "Tags", "type": "array" - }, - "TrailName": { - "markdownDescription": "Specifies the name of the trail. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)\n- Start with a letter or number, and end with a letter or number\n- Be between 3 and 128 characters\n- Have no adjacent periods, underscores or dashes. Names like `my-_namespace` and `my--namespace` are not valid.\n- Not be in IP address format (for example, 192.168.5.4)", - "title": "TrailName", - "type": "string" } }, "required": [ - "IsLogging", - "S3BucketName" + "DistributionId", + "Domains", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudTrail::Trail" + "AWS::CloudFront::DistributionTenant" ], "type": "string" }, @@ -73666,187 +75085,127 @@ ], "type": "object" }, - "AWS::CloudTrail::Trail.AdvancedEventSelector": { + "AWS::CloudFront::DistributionTenant.Certificate": { "additionalProperties": false, "properties": { - "FieldSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.AdvancedFieldSelector" - }, - "markdownDescription": "Contains all selector statements in an advanced event selector.", - "title": "FieldSelectors", - "type": "array" - }, - "Name": { - "markdownDescription": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".", - "title": "Name", + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the ACM certificate.", + "title": "Arn", "type": "string" } }, - "required": [ - "FieldSelectors" - ], "type": "object" }, - "AWS::CloudTrail::Trail.AdvancedFieldSelector": { + "AWS::CloudFront::DistributionTenant.Customizations": { "additionalProperties": false, "properties": { - "EndsWith": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that includes events that match the last few characters of the event record field specified as the value of `Field` .", - "title": "EndsWith", - "type": "array" - }, - "Equals": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that includes events that match the exact value of the event record field specified as the value of `Field` . This is the only valid operator that you can use with the `readOnly` , `eventCategory` , and `resources.type` fields.", - "title": "Equals", - "type": "array" - }, - "Field": { - "markdownDescription": "A field in a CloudTrail event record on which to filter events to be logged. For event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the field is used only for selecting events as filtering is not supported.\n\nFor CloudTrail management events, supported fields include `eventCategory` (required), `eventSource` , and `readOnly` . The following additional fields are available for event data stores: `eventName` , `eventType` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail data events, supported fields include `eventCategory` (required), `eventName` , `eventSource` , `eventType` , `resources.type` (required), `readOnly` , `resources.ARN` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail network activity events, supported fields include `eventCategory` (required), `eventSource` (required), `eventName` , `errorCode` , and `vpcEndpointId` .\n\nFor event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the only supported field is `eventCategory` .\n\n> Selectors don't support the use of wildcards like `*` . To match multiple values with a single condition, you may use `StartsWith` , `EndsWith` , `NotStartsWith` , or `NotEndsWith` to explicitly match the beginning or end of the event field. \n\n- *`readOnly`* - This is an optional field that is only used for management events and data events. This field can be set to `Equals` with a value of `true` or `false` . If you do not add this field, CloudTrail logs both `read` and `write` events. A value of `true` logs only `read` events. A value of `false` logs only `write` events.\n- *`eventSource`* - This field is only used for management events, data events, and network activity events.\n\nFor management events for trails, this is an optional field that can be set to `NotEquals` `kms.amazonaws.com` to exclude KMS management events, or `NotEquals` `rdsdata.amazonaws.com` to exclude RDS management events.\n\nFor data events for trails, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor management and data events for event data stores, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor network activity events, this is a required field that only uses the `Equals` operator. Set this field to the event source for which you want to log network activity events. If you want to log network activity events for multiple event sources, you must create a separate field selector for each event source. For a list of services supporting network activity events, see [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .\n- *`eventName`* - This is an optional field that is only used for data events, management events (for event data stores only), and network activity events. You can use any operator with `eventName` . You can use it to \ufb01lter in or \ufb01lter out specific events. You can have multiple values for this \ufb01eld, separated by commas.\n- *`eventCategory`* - This field is required and must be set to `Equals` .\n\n- For CloudTrail management events, the value must be `Management` .\n- For CloudTrail data events, the value must be `Data` .\n- For CloudTrail network activity events, the value must be `NetworkActivity` .\n\nThe following are used only for event data stores:\n\n- For CloudTrail Insights events, the value must be `Insight` .\n- For AWS Config configuration items, the value must be `ConfigurationItem` .\n- For Audit Manager evidence, the value must be `Evidence` .\n- For events outside of AWS , the value must be `ActivityAuditLog` .\n- *`eventType`* - For event data stores, this is an optional field available for event data stores to filter management and data events on the event type. For trails, this is an optional field to filter data events on the event type. For information about available event types, see [CloudTrail record contents](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html#ct-event-type) in the *AWS CloudTrail user guide* .\n- *`errorCode`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This is the error code to filter on. Currently, the only valid `errorCode` is `VpceAccessDenied` . `errorCode` can only use the `Equals` operator.\n- *`sessionCredentialFromConsole`* - For event data stores, this is an optional field used to filter management and data events based on whether the events originated from an AWS Management Console session. For trails, this is an optional field used to filter data events. `sessionCredentialFromConsole` can only use the `Equals` and `NotEquals` operators.\n- *`resources.type`* - This \ufb01eld is required for CloudTrail data events. `resources.type` can only use the `Equals` operator.\n\nFor a list of available resource types for data events, see [Data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) in the *AWS CloudTrail User Guide* .\n\nYou can have only one `resources.type` \ufb01eld per selector. To log events on more than one resource type, add another selector.\n- *`resources.ARN`* - The `resources.ARN` is an optional field for data events. You can use any operator with `resources.ARN` , but if you use `Equals` or `NotEquals` , the value must exactly match the ARN of a valid resource of the type you've speci\ufb01ed in the template as the value of resources.type. To log all data events for all objects in a specific S3 bucket, use the `StartsWith` operator, and include only the bucket ARN as the matching value.\n\nFor more information about the ARN formats of data event resources, see [Actions, resources, and condition keys for AWS services](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) in the *Service Authorization Reference* .\n\n> You can't use the `resources.ARN` field to filter resource types that do not have ARNs.\n- *`userIdentity.arn`* - For event data stores, this is an optional field used to filter management and data events for actions taken by specific IAM identities. For trails, this is an optional field used to filter data events. You can use any operator with `userIdentity.arn` . For more information on the userIdentity element, see [CloudTrail userIdentity element](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html) in the *AWS CloudTrail User Guide* .\n- *`vpcEndpointId`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This field identifies the VPC endpoint that the request passed through. You can use any operator with `vpcEndpointId` .", - "title": "Field", - "type": "string" - }, - "NotEndsWith": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that excludes events that match the last few characters of the event record field specified as the value of `Field` .", - "title": "NotEndsWith", - "type": "array" - }, - "NotEquals": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that excludes events that match the exact value of the event record field specified as the value of `Field` .", - "title": "NotEquals", - "type": "array" + "Certificate": { + "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.Certificate", + "markdownDescription": "The Certificate Manager (ACM) certificate.", + "title": "Certificate" }, - "NotStartsWith": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that excludes events that match the first few characters of the event record field specified as the value of `Field` .", - "title": "NotStartsWith", - "type": "array" + "GeoRestrictions": { + "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.GeoRestrictionCustomization", + "markdownDescription": "The geographic restrictions.", + "title": "GeoRestrictions" }, - "StartsWith": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that includes events that match the first few characters of the event record field specified as the value of `Field` .", - "title": "StartsWith", - "type": "array" + "WebAcl": { + "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.WebAclCustomization", + "markdownDescription": "The AWS WAF web ACL.", + "title": "WebAcl" } }, - "required": [ - "Field" - ], "type": "object" }, - "AWS::CloudTrail::Trail.AggregationConfiguration": { + "AWS::CloudFront::DistributionTenant.DomainResult": { "additionalProperties": false, "properties": { - "EventCategory": { - "markdownDescription": "Specifies the event category for which aggregation should be performed.", - "title": "EventCategory", + "Domain": { + "markdownDescription": "The specified domain.", + "title": "Domain", "type": "string" }, - "Templates": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of aggregation templates that can be used to configure event aggregation.", - "title": "Templates", - "type": "array" + "Status": { + "markdownDescription": "Whether the domain is active or inactive.", + "title": "Status", + "type": "string" } }, - "required": [ - "EventCategory", - "Templates" - ], "type": "object" }, - "AWS::CloudTrail::Trail.DataResource": { + "AWS::CloudFront::DistributionTenant.GeoRestrictionCustomization": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "The resource type in which you want to log data events. You can specify the following *basic* event selector resource types:\n\n- `AWS::DynamoDB::Table`\n- `AWS::Lambda::Function`\n- `AWS::S3::Object`\n\nAdditional resource types are available through *advanced* event selectors. For more information, see [AdvancedEventSelector](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedEventSelector.html) .", - "title": "Type", - "type": "string" - }, - "Values": { + "Locations": { "items": { "type": "string" }, - "markdownDescription": "An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified resource type.\n\n- To log data events for all objects in all S3 buckets in your AWS account , specify the prefix as `arn:aws:s3` .\n\n> This also enables logging of data event activity performed by any user or role in your AWS account , even if that activity is performed on a bucket that belongs to another AWS account .\n- To log data events for all objects in an S3 bucket, specify the bucket and an empty object prefix such as `arn:aws:s3:::amzn-s3-demo-bucket1/` . The trail logs data events for all objects in this S3 bucket.\n- To log data events for specific objects, specify the S3 bucket and object prefix such as `arn:aws:s3:::amzn-s3-demo-bucket1/example-images` . The trail logs data events for objects in this S3 bucket that match the prefix.\n- To log data events for all Lambda functions in your AWS account , specify the prefix as `arn:aws:lambda` .\n\n> This also enables logging of `Invoke` activity performed by any user or role in your AWS account , even if that activity is performed on a function that belongs to another AWS account .\n- To log data events for a specific Lambda function, specify the function ARN.\n\n> Lambda function ARNs are exact. For example, if you specify a function ARN *arn:aws:lambda:us-west-2:111111111111:function:helloworld* , data events will only be logged for *arn:aws:lambda:us-west-2:111111111111:function:helloworld* . They will not be logged for *arn:aws:lambda:us-west-2:111111111111:function:helloworld2* .\n- To log data events for all DynamoDB tables in your AWS account , specify the prefix as `arn:aws:dynamodb` .", - "title": "Values", + "markdownDescription": "The locations for geographic restrictions.", + "title": "Locations", "type": "array" + }, + "RestrictionType": { + "markdownDescription": "The method that you want to use to restrict distribution of your content by country:\n\n- `none` : No geographic restriction is enabled, meaning access to content is not restricted by client geo location.\n- `blacklist` : The `Location` elements specify the countries in which you don't want CloudFront to distribute your content.\n- `whitelist` : The `Location` elements specify the countries in which you want CloudFront to distribute your content.", + "title": "RestrictionType", + "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::CloudTrail::Trail.EventSelector": { + "AWS::CloudFront::DistributionTenant.ManagedCertificateRequest": { "additionalProperties": false, "properties": { - "DataResources": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" - }, - "markdownDescription": "CloudTrail supports data event logging for Amazon S3 objects in standard S3 buckets, AWS Lambda functions, and Amazon DynamoDB tables with basic event selectors. You can specify up to 250 resources for an individual event selector, but the total number of data resources cannot exceed 250 across all event selectors in a trail. This limit does not apply if you configure resource logging for all data events.\n\nFor more information, see [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) and [Limits in AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) in the *AWS CloudTrail User Guide* .\n\n> To log data events for all other resource types including objects stored in [directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html) , you must use [AdvancedEventSelectors](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedEventSelector.html) . You must also use `AdvancedEventSelectors` if you want to filter on the `eventName` field.", - "title": "DataResources", - "type": "array" + "CertificateTransparencyLoggingPreference": { + "markdownDescription": "You can opt out of certificate transparency logging by specifying the `disabled` option. Opt in by specifying `enabled` . For more information, see [Certificate Transparency Logging](https://docs.aws.amazon.com/acm/latest/userguide/acm-concepts.html#concept-transparency) in the *Certificate Manager User Guide* .", + "title": "CertificateTransparencyLoggingPreference", + "type": "string" }, - "ExcludeManagementEventSources": { - "items": { - "type": "string" - }, - "markdownDescription": "An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service or Amazon RDS Data API events by containing `kms.amazonaws.com` or `rdsdata.amazonaws.com` . By default, `ExcludeManagementEventSources` is empty, and AWS and Amazon RDS Data API events are logged to your trail. You can exclude management event sources only in Regions that support the event source.", - "title": "ExcludeManagementEventSources", - "type": "array" + "PrimaryDomainName": { + "markdownDescription": "The primary domain name associated with the CloudFront managed ACM certificate.", + "title": "PrimaryDomainName", + "type": "string" }, - "IncludeManagementEvents": { - "markdownDescription": "Specify if you want your event selector to include management events for your trail.\n\nFor more information, see [Management Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .\n\nBy default, the value is `true` .\n\nThe first copy of management events is free. You are charged for additional copies of management events that you are logging on any subsequent trail in the same Region. For more information about CloudTrail pricing, see [AWS CloudTrail Pricing](https://docs.aws.amazon.com/cloudtrail/pricing/) .", - "title": "IncludeManagementEvents", - "type": "boolean" + "ValidationTokenHost": { + "markdownDescription": "Specify how the HTTP validation token will be served when requesting the CloudFront managed ACM certificate.\n\n- For `cloudfront` , CloudFront will automatically serve the validation token. Choose this mode if you can point the domain's DNS to CloudFront immediately.\n- For `self-hosted` , you serve the validation token from your existing infrastructure. Choose this mode when you need to maintain current traffic flow while your certificate is being issued. You can place the validation token at the well-known path on your existing web server, wait for ACM to validate and issue the certificate, and then update your DNS to point to CloudFront.", + "title": "ValidationTokenHost", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::DistributionTenant.Parameter": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The parameter name.", + "title": "Name", + "type": "string" }, - "ReadWriteType": { - "markdownDescription": "Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 `GetConsoleOutput` is a read-only API operation and `RunInstances` is a write-only API operation.\n\nBy default, the value is `All` .", - "title": "ReadWriteType", + "Value": { + "markdownDescription": "The parameter value.", + "title": "Value", "type": "string" } }, "type": "object" }, - "AWS::CloudTrail::Trail.InsightSelector": { + "AWS::CloudFront::DistributionTenant.WebAclCustomization": { "additionalProperties": false, "properties": { - "EventCategories": { - "items": { - "type": "string" - }, - "markdownDescription": "Select the event category on which Insights should be enabled.\n\n- If EventCategories is not provided, the specified Insights types are enabled on management API calls by default.\n- If EventCategories is provided, the given event categories will overwrite the existing ones. For example, if a trail already has Insights enabled on management events, and then a PutInsightSelectors request is made with only data events specified in EventCategories, Insights on management events will be disabled.", - "title": "EventCategories", - "type": "array" + "Action": { + "markdownDescription": "The action for the AWS WAF web ACL customization. You can specify `override` to specify a separate AWS WAF web ACL for the distribution tenant. If you specify `disable` , the distribution tenant won't have AWS WAF web ACL protections and won't inherit from the multi-tenant distribution.", + "title": "Action", + "type": "string" }, - "InsightType": { - "markdownDescription": "The type of Insights events to log on a trail. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", - "title": "InsightType", + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS WAF web ACL.", + "title": "Arn", "type": "string" } }, "type": "object" }, - "AWS::CloudWatch::Alarm": { + "AWS::CloudFront::FieldLevelEncryptionProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -73881,152 +75240,18 @@ "Properties": { "additionalProperties": false, "properties": { - "ActionsEnabled": { - "markdownDescription": "Indicates whether actions should be executed during any changes to the alarm state. The default is TRUE.", - "title": "ActionsEnabled", - "type": "boolean" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of actions to execute when this alarm transitions into an ALARM state from any other state. Specify each action as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) in the *Amazon CloudWatch API Reference* .", - "title": "AlarmActions", - "type": "array" - }, - "AlarmDescription": { - "markdownDescription": "The description of the alarm.", - "title": "AlarmDescription", - "type": "string" - }, - "AlarmName": { - "markdownDescription": "The name of the alarm. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the alarm name.\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "AlarmName", - "type": "string" - }, - "ComparisonOperator": { - "markdownDescription": "The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand.", - "title": "ComparisonOperator", - "type": "string" - }, - "DatapointsToAlarm": { - "markdownDescription": "The number of datapoints that must be breaching to trigger the alarm. This is used only if you are setting an \"M out of N\" alarm. In that case, this value is the M, and the value that you set for `EvaluationPeriods` is the N value. For more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *Amazon CloudWatch User Guide* .\n\nIf you omit this parameter, CloudWatch uses the same value here that you set for `EvaluationPeriods` , and the alarm goes to alarm state if that many consecutive periods are breaching.", - "title": "DatapointsToAlarm", - "type": "number" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" - }, - "markdownDescription": "The dimensions for the metric associated with the alarm. For an alarm based on a math expression, you can't specify `Dimensions` . Instead, you use `Metrics` .", - "title": "Dimensions", - "type": "array" - }, - "EvaluateLowSampleCountPercentile": { - "markdownDescription": "Used only for alarms based on percentiles. If `ignore` , the alarm state does not change during periods with too few data points to be statistically significant. If `evaluate` or this parameter is not used, the alarm is always evaluated and possibly changes state no matter how many data points are available.", - "title": "EvaluateLowSampleCountPercentile", - "type": "string" - }, - "EvaluationCriteria": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.EvaluationCriteria" - }, - "EvaluationInterval": { - "type": "number" - }, - "EvaluationPeriods": { - "markdownDescription": "The number of periods over which data is compared to the specified threshold. If you are setting an alarm that requires that a number of consecutive data points be breaching to trigger the alarm, this value specifies that number. If you are setting an \"M out of N\" alarm, this value is the N, and `DatapointsToAlarm` is the M.\n\nFor more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *Amazon CloudWatch User Guide* .", - "title": "EvaluationPeriods", - "type": "number" - }, - "EvaluationWindow": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.EvaluationWindow" - }, - "ExtendedStatistic": { - "markdownDescription": "The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.\n\nFor an alarm based on a metric, you must specify either `Statistic` or `ExtendedStatistic` but not both.\n\nFor an alarm based on a math expression, you can't specify `ExtendedStatistic` . Instead, you use `Metrics` .", - "title": "ExtendedStatistic", - "type": "string" - }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "markdownDescription": "The actions to execute when this alarm transitions to the `INSUFFICIENT_DATA` state from any other state. Each action is specified as an Amazon Resource Name (ARN).", - "title": "InsufficientDataActions", - "type": "array" - }, - "MetricName": { - "markdownDescription": "The name of the metric associated with the alarm. This is required for an alarm based on a metric. For an alarm based on a math expression, you use `Metrics` instead and you can't specify `MetricName` .", - "title": "MetricName", - "type": "string" - }, - "Metrics": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricDataQuery" - }, - "markdownDescription": "An array that enables you to create an alarm based on the result of a metric math expression. Each item in the array either retrieves a metric or performs a math expression.\n\nIf you specify the `Metrics` parameter, you cannot specify `MetricName` , `Dimensions` , `Period` , `Namespace` , `Statistic` , `ExtendedStatistic` , or `Unit` .", - "title": "Metrics", - "type": "array" - }, - "Namespace": { - "markdownDescription": "The namespace of the metric associated with the alarm. This is required for an alarm based on a metric. For an alarm based on a math expression, you can't specify `Namespace` and you use `Metrics` instead.\n\nFor a list of namespaces for metrics from AWS services, see [AWS Services That Publish CloudWatch Metrics.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)", - "title": "Namespace", - "type": "string" - }, - "OKActions": { - "items": { - "type": "string" - }, - "markdownDescription": "The actions to execute when this alarm transitions to the `OK` state from any other state. Each action is specified as an Amazon Resource Name (ARN).", - "title": "OKActions", - "type": "array" - }, - "Period": { - "markdownDescription": "The period, in seconds, over which the statistic is applied. This is required for an alarm based on a metric. Valid values are 10, 20, 30, 60, and any multiple of 60.\n\nFor an alarm based on a math expression, you can't specify `Period` , and instead you use the `Metrics` parameter.\n\n*Minimum:* 10", - "title": "Period", - "type": "number" - }, - "Statistic": { - "markdownDescription": "The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use `ExtendedStatistic` .\n\nFor an alarm based on a metric, you must specify either `Statistic` or `ExtendedStatistic` but not both.\n\nFor an alarm based on a math expression, you can't specify `Statistic` . Instead, you use `Metrics` .", - "title": "Statistic", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. To be able to associate tags with the alarm when you create the alarm, you must have the `cloudwatch:TagResource` permission.\n\nTags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.", - "title": "Tags", - "type": "array" - }, - "Threshold": { - "markdownDescription": "The value to compare with the specified statistic.", - "title": "Threshold", - "type": "number" - }, - "ThresholdMetricId": { - "markdownDescription": "In an alarm based on an anomaly detection model, this is the ID of the `ANOMALY_DETECTION_BAND` function used as the threshold for the alarm.", - "title": "ThresholdMetricId", - "type": "string" - }, - "TreatMissingData": { - "markdownDescription": "Sets how this alarm is to handle missing data points. Valid values are `breaching` , `notBreaching` , `ignore` , and `missing` . For more information, see [Configuring How CloudWatch Alarms Treat Missing Data](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) in the *Amazon CloudWatch User Guide* .\n\nIf you omit this parameter, the default behavior of `missing` is used.", - "title": "TreatMissingData", - "type": "string" - }, - "Unit": { - "markdownDescription": "The unit of the metric associated with the alarm. Specify this only if you are creating an alarm based on a single metric. Do not specify this if you are specifying a `Metrics` array.\n\nYou can specify the following values: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, or None.", - "title": "Unit", - "type": "string" - }, - "WarmUpConfiguration": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.WarmUpConfiguration" + "FieldLevelEncryptionProfileConfig": { + "$ref": "#/definitions/AWS::CloudFront::FieldLevelEncryptionProfile.FieldLevelEncryptionProfileConfig" } }, + "required": [ + "FieldLevelEncryptionProfileConfig" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::Alarm" + "AWS::CloudFront::FieldLevelEncryptionProfile" ], "type": "string" }, @@ -74040,187 +75265,61 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudWatch::Alarm.AlarmPromQLCriteria": { - "additionalProperties": false, - "properties": { - "PendingPeriod": { - "type": "number" - }, - "Query": { - "type": "string" - }, - "RecoveryPeriod": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm.Dimension": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the dimension, from 1\u2013255 characters in length. This dimension name must have been included when the metric was published.", - "title": "Name", - "type": "string" - }, - "Value": { - "markdownDescription": "The value for the dimension, from 1\u2013255 characters in length.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Name", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudWatch::Alarm.EvaluationCriteria": { - "additionalProperties": false, - "properties": { - "PromQLCriteria": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.AlarmPromQLCriteria" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm.EvaluationWindow": { - "additionalProperties": false, - "properties": { - "SlidingWindow": { - "type": "object" - }, - "WallClockWindow": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.WallClockWindow" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm.Metric": { + "AWS::CloudFront::FieldLevelEncryptionProfile.EncryptionEntity": { "additionalProperties": false, "properties": { - "Dimensions": { + "FieldPatterns": { "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" + "type": "string" }, - "markdownDescription": "The metric dimensions that you want to be used for the metric that the alarm will watch.", - "title": "Dimensions", "type": "array" }, - "MetricName": { - "markdownDescription": "The name of the metric that you want the alarm to watch. This is a required field.", - "title": "MetricName", - "type": "string" - }, - "Namespace": { - "markdownDescription": "The namespace of the metric that the alarm will watch.", - "title": "Namespace", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm.MetricDataQuery": { - "additionalProperties": false, - "properties": { - "AccountId": { - "markdownDescription": "The ID of the account where the metrics are located, if this is a cross-account alarm.", - "title": "AccountId", - "type": "string" - }, - "Expression": { - "markdownDescription": "The math expression to be performed on the returned data, if this object is performing a math expression. This expression can use the `Id` of the other metrics to refer to those metrics, and can also use the `Id` of other expressions to use the result of those expressions. For more information about metric math expressions, see [Metric Math Syntax and Functions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) in the *Amazon CloudWatch User Guide* .\n\nWithin each MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", - "title": "Expression", - "type": "string" - }, - "Id": { - "markdownDescription": "A short name used to tie this object to the results in the response. This name must be unique within a single call to `GetMetricData` . If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.", - "title": "Id", + "ProviderId": { "type": "string" }, - "Label": { - "markdownDescription": "A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If `Label` is omitted, CloudWatch generates a default.", - "title": "Label", + "PublicKeyId": { "type": "string" - }, - "MetricStat": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricStat", - "markdownDescription": "The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.\n\nWithin one MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", - "title": "MetricStat" - }, - "Period": { - "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` operation that includes a `StorageResolution of 1 second` .", - "title": "Period", - "type": "number" - }, - "ReturnData": { - "markdownDescription": "This option indicates whether to return the timestamps and raw data values of this metric.\n\nWhen you create an alarm based on a metric math expression, specify `True` for this value for only the one math expression that the alarm is based on. You must specify `False` for `ReturnData` for all the other metrics and expressions used in the alarm.\n\nThis field is required.", - "title": "ReturnData", - "type": "boolean" } }, "required": [ - "Id" + "FieldPatterns", + "ProviderId", + "PublicKeyId" ], "type": "object" }, - "AWS::CloudWatch::Alarm.MetricStat": { + "AWS::CloudFront::FieldLevelEncryptionProfile.FieldLevelEncryptionProfileConfig": { "additionalProperties": false, "properties": { - "Metric": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Metric", - "markdownDescription": "The metric to return, including the metric name, namespace, and dimensions.", - "title": "Metric" - }, - "Period": { - "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` call that includes a `StorageResolution` of 1 second.\n\nIf the `StartTime` parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:\n\n- Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).\n- Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).\n- Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).", - "title": "Period", - "type": "number" + "CallerReference": { + "type": "string" }, - "Stat": { - "markdownDescription": "The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* .", - "title": "Stat", + "Comment": { "type": "string" }, - "Unit": { - "markdownDescription": "The unit to use for the returned data points.\n\nValid values are: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, or None.", - "title": "Unit", + "EncryptionEntities": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::FieldLevelEncryptionProfile.EncryptionEntity" + }, + "type": "array" + }, + "Name": { "type": "string" } }, "required": [ - "Metric", - "Period", - "Stat" + "CallerReference", + "EncryptionEntities", + "Name" ], "type": "object" }, - "AWS::CloudWatch::Alarm.WallClockWindow": { - "additionalProperties": false, - "properties": { - "Timezone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm.WarmUpConfiguration": { - "additionalProperties": false, - "properties": { - "OnlyStartEvaluatingAfterWarmUpPeriodEnds": { - "type": "boolean" - }, - "WarmUpPeriodDurationInMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CloudWatch::AlarmMuteRule": { + "AWS::CloudFront::Function": { "additionalProperties": false, "properties": { "Condition": { @@ -74255,22 +75354,29 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "AutoPublish": { + "markdownDescription": "A flag that determines whether to automatically publish the function to the `LIVE` stage when it\u2019s created. To automatically publish to the `LIVE` stage, set this property to `true` .", + "title": "AutoPublish", + "type": "boolean" }, - "ExpireDate": { + "FunctionCode": { + "markdownDescription": "The function code. For more information about writing a CloudFront function, see [Writing function code for CloudFront Functions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html) in the *Amazon CloudFront Developer Guide* .", + "title": "FunctionCode", "type": "string" }, - "MuteTargets": { - "$ref": "#/definitions/AWS::CloudWatch::AlarmMuteRule.MuteTargets" - }, - "Name": { - "type": "string" + "FunctionConfig": { + "$ref": "#/definitions/AWS::CloudFront::Function.FunctionConfig", + "markdownDescription": "Contains configuration information about a CloudFront function.", + "title": "FunctionConfig" }, - "Rule": { - "$ref": "#/definitions/AWS::CloudWatch::AlarmMuteRule.Rule" + "FunctionMetadata": { + "$ref": "#/definitions/AWS::CloudFront::Function.FunctionMetadata", + "markdownDescription": "Contains metadata about a CloudFront function.", + "title": "FunctionMetadata" }, - "StartDate": { + "Name": { + "markdownDescription": "A name to identify the function.", + "title": "Name", "type": "string" }, "Tags": { @@ -74281,13 +75387,15 @@ } }, "required": [ - "Rule" + "FunctionCode", + "FunctionConfig", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::AlarmMuteRule" + "AWS::CloudFront::Function" ], "type": "string" }, @@ -74306,53 +75414,60 @@ ], "type": "object" }, - "AWS::CloudWatch::AlarmMuteRule.MuteTargets": { + "AWS::CloudFront::Function.FunctionConfig": { "additionalProperties": false, "properties": { - "AlarmNames": { + "Comment": { + "markdownDescription": "A comment to describe the function.", + "title": "Comment", + "type": "string" + }, + "KeyValueStoreAssociations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CloudFront::Function.KeyValueStoreAssociation" }, + "markdownDescription": "The configuration for the key value store associations.", + "title": "KeyValueStoreAssociations", "type": "array" + }, + "Runtime": { + "markdownDescription": "The function's runtime environment version.", + "title": "Runtime", + "type": "string" } }, "required": [ - "AlarmNames" + "Comment", + "Runtime" ], "type": "object" }, - "AWS::CloudWatch::AlarmMuteRule.Rule": { + "AWS::CloudFront::Function.FunctionMetadata": { "additionalProperties": false, "properties": { - "Schedule": { - "$ref": "#/definitions/AWS::CloudWatch::AlarmMuteRule.Schedule" + "FunctionARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies the function.", + "title": "FunctionARN", + "type": "string" } }, - "required": [ - "Schedule" - ], "type": "object" }, - "AWS::CloudWatch::AlarmMuteRule.Schedule": { + "AWS::CloudFront::Function.KeyValueStoreAssociation": { "additionalProperties": false, "properties": { - "Duration": { - "type": "string" - }, - "Expression": { - "type": "string" - }, - "Timezone": { + "KeyValueStoreARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the key value store association.", + "title": "KeyValueStoreARN", "type": "string" } }, "required": [ - "Duration", - "Expression" + "KeyValueStoreARN" ], "type": "object" }, - "AWS::CloudWatch::AnomalyDetector": { + "AWS::CloudFront::KeyGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -74387,55 +75502,20 @@ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Configuration", - "markdownDescription": "Specifies details about how the anomaly detection model is to be trained, including time ranges to exclude when training and updating the model. The configuration can also include the time zone to use for the metric.", - "title": "Configuration" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" - }, - "markdownDescription": "The dimensions of the metric associated with the anomaly detection band.", - "title": "Dimensions", - "type": "array" - }, - "MetricCharacteristics": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricCharacteristics", - "markdownDescription": "Use this object to include parameters to provide information about your metric to CloudWatch to help it build more accurate anomaly detection models. Currently, it includes the `PeriodicSpikes` parameter.", - "title": "MetricCharacteristics" - }, - "MetricMathAnomalyDetector": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricMathAnomalyDetector", - "markdownDescription": "The CloudWatch metric math expression for this anomaly detector.", - "title": "MetricMathAnomalyDetector" - }, - "MetricName": { - "markdownDescription": "The name of the metric associated with the anomaly detection band.", - "title": "MetricName", - "type": "string" - }, - "Namespace": { - "markdownDescription": "The namespace of the metric associated with the anomaly detection band.", - "title": "Namespace", - "type": "string" - }, - "SingleMetricAnomalyDetector": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.SingleMetricAnomalyDetector", - "markdownDescription": "The CloudWatch metric and statistic for this anomaly detector.", - "title": "SingleMetricAnomalyDetector" - }, - "Stat": { - "markdownDescription": "The statistic of the metric associated with the anomaly detection band.", - "title": "Stat", - "type": "string" + "KeyGroupConfig": { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig", + "markdownDescription": "The key group configuration.", + "title": "KeyGroupConfig" } }, + "required": [ + "KeyGroupConfig" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::AnomalyDetector" + "AWS::CloudFront::KeyGroup" ], "type": "string" }, @@ -74449,248 +75529,51 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudWatch::AnomalyDetector.Configuration": { + "AWS::CloudFront::KeyGroup.KeyGroupConfig": { "additionalProperties": false, "properties": { - "ExcludedTimeRanges": { + "Comment": { + "markdownDescription": "A comment to describe the key group. The comment cannot be longer than 128 characters.", + "title": "Comment", + "type": "string" + }, + "Items": { "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Range" + "type": "string" }, - "markdownDescription": "Specifies an array of time ranges to exclude from use when the anomaly detection model is trained and updated. Use this to make sure that events that could cause unusual values for the metric, such as deployments, aren't used when CloudWatch creates or updates the model.", - "title": "ExcludedTimeRanges", + "markdownDescription": "A list of the identifiers of the public keys in the key group.", + "title": "Items", "type": "array" }, - "MetricTimeZone": { - "markdownDescription": "The time zone to use for the metric. This is useful to enable the model to automatically account for daylight savings time changes if the metric is sensitive to such time changes.\n\nTo specify a time zone, use the name of the time zone as specified in the standard tz database. For more information, see [tz database](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/Tz_database) .", - "title": "MetricTimeZone", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Dimension": { - "additionalProperties": false, - "properties": { "Name": { - "markdownDescription": "The name of the dimension.", + "markdownDescription": "A name to identify the key group.", "title": "Name", "type": "string" - }, - "Value": { - "markdownDescription": "The value of the dimension. Dimension values must contain only ASCII characters and must include at least one non-whitespace character. ASCII control characters are not supported as part of dimension values.", - "title": "Value", - "type": "string" } }, "required": [ - "Name", - "Value" + "Items", + "Name" ], "type": "object" }, - "AWS::CloudWatch::AnomalyDetector.Metric": { + "AWS::CloudFront::KeyValueStore": { "additionalProperties": false, "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" - }, - "markdownDescription": "The dimensions for the metric.", - "title": "Dimensions", - "type": "array" + "Condition": { + "type": "string" }, - "MetricName": { - "markdownDescription": "The name of the metric. This is a required field.", - "title": "MetricName", - "type": "string" - }, - "Namespace": { - "markdownDescription": "The namespace of the metric.", - "title": "Namespace", - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.MetricCharacteristics": { - "additionalProperties": false, - "properties": { - "PeriodicSpikes": { - "markdownDescription": "Set this parameter to true if values for this metric consistently include spikes that should not be considered to be anomalies. With this set to true, CloudWatch will expect to see spikes that occurred consistently during the model training period, and won't flag future similar spikes as anomalies.", - "title": "PeriodicSpikes", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.MetricDataQueries": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.MetricDataQuery": { - "additionalProperties": false, - "properties": { - "AccountId": { - "markdownDescription": "The ID of the account where the metrics are located.\n\nIf you are performing a `GetMetricData` operation in a monitoring account, use this to specify which account to retrieve this metric from.\n\nIf you are performing a `PutMetricAlarm` operation, use this to specify which account contains the metric that the alarm is watching.", - "title": "AccountId", - "type": "string" - }, - "Expression": { - "markdownDescription": "This field can contain either a Metrics Insights query, or a metric math expression to be performed on the returned data. For more information about Metrics Insights queries, see [Metrics Insights query components and syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-metrics-insights-querylanguage) in the *Amazon CloudWatch User Guide* .\n\nA math expression can use the `Id` of the other metrics or queries to refer to those metrics, and can also use the `Id` of other expressions to use the result of those expressions. For more information about metric math expressions, see [Metric Math Syntax and Functions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) in the *Amazon CloudWatch User Guide* .\n\nWithin each MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", - "title": "Expression", - "type": "string" - }, - "Id": { - "markdownDescription": "A short name used to tie this object to the results in the response. This name must be unique within a single call to `GetMetricData` . If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.", - "title": "Id", - "type": "string" - }, - "Label": { - "markdownDescription": "A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If Label is omitted, CloudWatch generates a default.\n\nYou can put dynamic expressions into a label, so that it is more descriptive. For more information, see [Using Dynamic Labels](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html) .", - "title": "Label", - "type": "string" - }, - "MetricStat": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricStat", - "markdownDescription": "The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.\n\nWithin one MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", - "title": "MetricStat" - }, - "Period": { - "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` operation that includes a `StorageResolution of 1 second` .", - "title": "Period", - "type": "number" - }, - "ReturnData": { - "markdownDescription": "When used in `GetMetricData` , this option indicates whether to return the timestamps and raw data values of this metric. If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify `false` . If you omit this, the default of `true` is used.\n\nWhen used in `PutMetricAlarm` , specify `true` for the one expression result to use as the alarm. For all other metrics and expressions in the same `PutMetricAlarm` operation, specify `ReturnData` as False.", - "title": "ReturnData", - "type": "boolean" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.MetricMathAnomalyDetector": { - "additionalProperties": false, - "properties": { - "MetricDataQueries": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricDataQuery" - }, - "markdownDescription": "An array of metric data query structures that enables you to create an anomaly detector based on the result of a metric math expression. Each item in `MetricDataQueries` gets a metric or performs a math expression. One item in `MetricDataQueries` is the expression that provides the time series that the anomaly detector uses as input. Designate the expression by setting `ReturnData` to `true` for this object in the array. For all other expressions and metrics, set `ReturnData` to `false` . The designated expression must return a single time series.", - "title": "MetricDataQueries", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.MetricStat": { - "additionalProperties": false, - "properties": { - "Metric": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Metric", - "markdownDescription": "The metric to return, including the metric name, namespace, and dimensions.", - "title": "Metric" - }, - "Period": { - "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` call that includes a `StorageResolution` of 1 second.\n\nIf the `StartTime` parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:\n\n- Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).\n- Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).\n- Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).", - "title": "Period", - "type": "number" - }, - "Stat": { - "markdownDescription": "The statistic to return. It can include any CloudWatch statistic or extended statistic.", - "title": "Stat", - "type": "string" - }, - "Unit": { - "markdownDescription": "When you are using a `Put` operation, this defines what unit you want to use when storing the metric.\n\nIn a `Get` operation, if you omit `Unit` then all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.", - "title": "Unit", - "type": "string" - } - }, - "required": [ - "Metric", - "Period", - "Stat" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Range": { - "additionalProperties": false, - "properties": { - "EndTime": { - "markdownDescription": "The end time of the range to exclude. The format is `yyyy-MM-dd'T'HH:mm:ss` . For example, `2019-07-01T23:59:59` .", - "title": "EndTime", - "type": "string" - }, - "StartTime": { - "markdownDescription": "The start time of the range to exclude. The format is `yyyy-MM-dd'T'HH:mm:ss` . For example, `2019-07-01T23:59:59` .", - "title": "StartTime", - "type": "string" - } - }, - "required": [ - "EndTime", - "StartTime" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.SingleMetricAnomalyDetector": { - "additionalProperties": false, - "properties": { - "AccountId": { - "markdownDescription": "If the CloudWatch metric that provides the time series that the anomaly detector uses as input is in another account, specify that account ID here. If you omit this parameter, the current account is used.", - "title": "AccountId", - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" - }, - "markdownDescription": "The metric dimensions to create the anomaly detection model for.", - "title": "Dimensions", - "type": "array" - }, - "MetricName": { - "markdownDescription": "The name of the metric to create the anomaly detection model for.", - "title": "MetricName", - "type": "string" - }, - "Namespace": { - "markdownDescription": "The namespace of the metric to create the anomaly detection model for.", - "title": "Namespace", - "type": "string" - }, - "Stat": { - "markdownDescription": "The statistic to use for the metric and anomaly detection model.", - "title": "Stat", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::CompositeAlarm": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -74714,82 +75597,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ActionsEnabled": { - "markdownDescription": "Indicates whether actions should be executed during any changes to the alarm state of the composite alarm. The default is TRUE.", - "title": "ActionsEnabled", - "type": "boolean" - }, - "ActionsSuppressor": { - "markdownDescription": "Actions will be suppressed if the suppressor alarm is in the `ALARM` state. `ActionsSuppressor` can be an AlarmName or an Amazon Resource Name (ARN) from an existing alarm.", - "title": "ActionsSuppressor", - "type": "string" - }, - "ActionsSuppressorExtensionPeriod": { - "markdownDescription": "The maximum time in seconds that the composite alarm waits after suppressor alarm goes out of the `ALARM` state. After this time, the composite alarm performs its actions.\n\n> `ExtensionPeriod` is required only when `ActionsSuppressor` is specified.", - "title": "ActionsSuppressorExtensionPeriod", - "type": "number" - }, - "ActionsSuppressorWaitPeriod": { - "markdownDescription": "The maximum time in seconds that the composite alarm waits for the suppressor alarm to go into the `ALARM` state. After this time, the composite alarm performs its actions.\n\n> `WaitPeriod` is required only when `ActionsSuppressor` is specified.", - "title": "ActionsSuppressorWaitPeriod", - "type": "number" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "markdownDescription": "The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", - "title": "AlarmActions", - "type": "array" - }, - "AlarmDescription": { - "markdownDescription": "The description for the composite alarm.", - "title": "AlarmDescription", + "Comment": { + "markdownDescription": "A comment for the key value store.", + "title": "Comment", "type": "string" }, - "AlarmName": { - "markdownDescription": "The name for the composite alarm. This name must be unique within your AWS account.", - "title": "AlarmName", - "type": "string" + "ImportSource": { + "$ref": "#/definitions/AWS::CloudFront::KeyValueStore.ImportSource", + "markdownDescription": "The import source for the key value store.", + "title": "ImportSource" }, - "AlarmRule": { - "markdownDescription": "An expression that specifies which other alarms are to be evaluated to determine this composite alarm's state. For each alarm that you reference, you designate a function that specifies whether that alarm needs to be in ALARM state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and NOT) to combine multiple functions in a single expression. You can use parenthesis to logically group the functions in your expression.\n\nYou can use either alarm names or ARNs to reference the other alarms that are to be evaluated.\n\nFunctions can include the following:\n\n- ALARM(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in ALARM state.\n- OK(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in OK state.\n- INSUFFICIENT_DATA(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in INSUFFICIENT_DATA state.\n- TRUE always evaluates to TRUE.\n- FALSE always evaluates to FALSE.\n\nTRUE and FALSE are useful for testing a complex AlarmRule structure, and for testing your alarm actions.\n\nFor more information about `AlarmRule` syntax, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", - "title": "AlarmRule", + "Name": { + "markdownDescription": "The name of the key value store.", + "title": "Name", "type": "string" }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "markdownDescription": "The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", - "title": "InsufficientDataActions", - "type": "array" - }, - "OKActions": { - "items": { - "type": "string" - }, - "markdownDescription": "The actions to execute when this alarm transitions to the OK state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", - "title": "OKActions", - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. To be able to associate tags with the alarm when you create the alarm, you must have the `cloudwatch:TagResource` permission.\n\nTags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.", - "title": "Tags", "type": "array" } }, "required": [ - "AlarmRule" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::CompositeAlarm" + "AWS::CloudFront::KeyValueStore" ], "type": "string" }, @@ -74808,85 +75645,27 @@ ], "type": "object" }, - "AWS::CloudWatch::Dashboard": { + "AWS::CloudFront::KeyValueStore.ImportSource": { "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": { - "DashboardBody": { - "markdownDescription": "The detailed information about the dashboard in JSON format, including the widgets to include and their location on the dashboard. This parameter is required.\n\nFor more information about the syntax, see [Dashboard Body Structure and Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html) .", - "title": "DashboardBody", - "type": "string" - }, - "DashboardName": { - "markdownDescription": "The name of the dashboard. The name must be between 1 and 255 characters. If you do not specify a name, one will be generated automatically.", - "title": "DashboardName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DashboardBody" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::Dashboard" - ], + "SourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the import source for the key value store.", + "title": "SourceArn", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceType": { + "markdownDescription": "The source type of the import source for the key value store.", + "title": "SourceType", "type": "string" } }, "required": [ - "Type", - "Properties" + "SourceArn", + "SourceType" ], "type": "object" }, - "AWS::CloudWatch::InsightRule": { + "AWS::CloudFront::MonitoringSubscription": { "additionalProperties": false, "properties": { "Condition": { @@ -74921,45 +75700,26 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplyOnTransformedLogs": { - "markdownDescription": "Determines whether the rules is evaluated on transformed versions of logs. Valid values are `TRUE` and `FALSE` .", - "title": "ApplyOnTransformedLogs", - "type": "boolean" - }, - "RuleBody": { - "markdownDescription": "The definition of the rule, as a JSON object. For details about the syntax, see [Contributor Insights Rule Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html) in the *Amazon CloudWatch User Guide* .", - "title": "RuleBody", - "type": "string" - }, - "RuleName": { - "markdownDescription": "The name of the rule.", - "title": "RuleName", - "type": "string" - }, - "RuleState": { - "markdownDescription": "The current state of the rule. Valid values are `ENABLED` and `DISABLED` .", - "title": "RuleState", + "DistributionId": { + "markdownDescription": "The ID of the distribution that you are enabling metrics for.", + "title": "DistributionId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of key-value pairs to associate with the Contributor Insights rule. You can associate as many as 50 tags with a rule.\n\nTags can help you organize and categorize your resources. For more information, see [Tagging Your Amazon CloudWatch Resources](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Tagging.html) .\n\nTo be able to associate tags with a rule, you must have the `cloudwatch:TagResource` permission in addition to the `cloudwatch:PutInsightRule` permission.", - "title": "Tags", - "type": "array" + "MonitoringSubscription": { + "$ref": "#/definitions/AWS::CloudFront::MonitoringSubscription.MonitoringSubscription", + "markdownDescription": "A subscription configuration for additional CloudWatch metrics.", + "title": "MonitoringSubscription" } }, "required": [ - "RuleBody", - "RuleName", - "RuleState" + "DistributionId", + "MonitoringSubscription" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::InsightRule" + "AWS::CloudFront::MonitoringSubscription" ], "type": "string" }, @@ -74978,7 +75738,32 @@ ], "type": "object" }, - "AWS::CloudWatch::LogAlarm": { + "AWS::CloudFront::MonitoringSubscription.MonitoringSubscription": { + "additionalProperties": false, + "properties": { + "RealtimeMetricsSubscriptionConfig": { + "$ref": "#/definitions/AWS::CloudFront::MonitoringSubscription.RealtimeMetricsSubscriptionConfig", + "markdownDescription": "A subscription configuration for additional CloudWatch metrics.", + "title": "RealtimeMetricsSubscriptionConfig" + } + }, + "type": "object" + }, + "AWS::CloudFront::MonitoringSubscription.RealtimeMetricsSubscriptionConfig": { + "additionalProperties": false, + "properties": { + "RealtimeMetricsSubscriptionStatus": { + "markdownDescription": "A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution.", + "title": "RealtimeMetricsSubscriptionStatus", + "type": "string" + } + }, + "required": [ + "RealtimeMetricsSubscriptionStatus" + ], + "type": "object" + }, + "AWS::CloudFront::OriginAccessControl": { "additionalProperties": false, "properties": { "Condition": { @@ -75013,79 +75798,20 @@ "Properties": { "additionalProperties": false, "properties": { - "ActionLogLineCount": { - "type": "number" - }, - "ActionLogLineRoleArn": { - "type": "string" - }, - "ActionsEnabled": { - "type": "boolean" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AlarmDescription": { - "type": "string" - }, - "AlarmName": { - "type": "string" - }, - "ComparisonOperator": { - "type": "string" - }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OKActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QueryResultsToAlarm": { - "type": "number" - }, - "QueryResultsToEvaluate": { - "type": "number" - }, - "ScheduledQueryConfiguration": { - "$ref": "#/definitions/AWS::CloudWatch::LogAlarm.ScheduledQueryConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Threshold": { - "type": "number" - }, - "TreatMissingData": { - "type": "string" - }, - "WarmUpConfiguration": { - "$ref": "#/definitions/AWS::CloudWatch::LogAlarm.WarmUpConfiguration" + "OriginAccessControlConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginAccessControl.OriginAccessControlConfig", + "markdownDescription": "The origin access control.", + "title": "OriginAccessControlConfig" } }, "required": [ - "ComparisonOperator", - "QueryResultsToAlarm", - "QueryResultsToEvaluate", - "ScheduledQueryConfiguration", - "Threshold" + "OriginAccessControlConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::LogAlarm" + "AWS::CloudFront::OriginAccessControl" ], "type": "string" }, @@ -75104,74 +75830,44 @@ ], "type": "object" }, - "AWS::CloudWatch::LogAlarm.ScheduleConfiguration": { + "AWS::CloudFront::OriginAccessControl.OriginAccessControlConfig": { "additionalProperties": false, "properties": { - "EndTimeOffset": { - "type": "number" - }, - "ScheduleExpression": { + "Description": { + "markdownDescription": "A description of the origin access control.", + "title": "Description", "type": "string" }, - "StartTimeOffset": { - "type": "number" - } - }, - "required": [ - "ScheduleExpression", - "StartTimeOffset" - ], - "type": "object" - }, - "AWS::CloudWatch::LogAlarm.ScheduledQueryConfiguration": { - "additionalProperties": false, - "properties": { - "AggregationExpression": { + "Name": { + "markdownDescription": "A name to identify the origin access control. You can specify up to 64 characters.", + "title": "Name", "type": "string" }, - "LogGroupIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QueryString": { + "OriginAccessControlOriginType": { + "markdownDescription": "The type of origin that this origin access control is for.", + "title": "OriginAccessControlOriginType", "type": "string" }, - "ScheduleConfiguration": { - "$ref": "#/definitions/AWS::CloudWatch::LogAlarm.ScheduleConfiguration" - }, - "ScheduledQueryRoleARN": { + "SigningBehavior": { + "markdownDescription": "Specifies which requests CloudFront signs (adds authentication information to). Specify `always` for the most common use case. For more information, see [origin access control advanced settings](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html#oac-advanced-settings) in the *Amazon CloudFront Developer Guide* .\n\nThis field can have one of the following values:\n\n- `always` \u2013 CloudFront signs all origin requests, overwriting the `Authorization` header from the viewer request if one exists.\n- `never` \u2013 CloudFront doesn't sign any origin requests. This value turns off origin access control for all origins in all distributions that use this origin access control.\n- `no-override` \u2013 If the viewer request doesn't contain the `Authorization` header, then CloudFront signs the origin request. If the viewer request contains the `Authorization` header, then CloudFront doesn't sign the origin request and instead passes along the `Authorization` header from the viewer request. *WARNING: To pass along the `Authorization` header from the viewer request, you *must* add the `Authorization` header to a [cache policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html) for all cache behaviors that use origins associated with this origin access control.*", + "title": "SigningBehavior", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "SigningProtocol": { + "markdownDescription": "The signing protocol of the origin access control, which determines how CloudFront signs (authenticates) requests. The only valid value is `sigv4` .", + "title": "SigningProtocol", + "type": "string" } }, "required": [ - "AggregationExpression", - "QueryString", - "ScheduleConfiguration", - "ScheduledQueryRoleARN" + "Name", + "OriginAccessControlOriginType", + "SigningBehavior", + "SigningProtocol" ], "type": "object" }, - "AWS::CloudWatch::LogAlarm.WarmUpConfiguration": { - "additionalProperties": false, - "properties": { - "OnlyStartEvaluatingAfterWarmUpPeriodEnds": { - "type": "boolean" - }, - "WarmUpPeriodDurationInMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CloudWatch::MetricStream": { + "AWS::CloudFront::OriginRequestPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -75206,74 +75902,20 @@ "Properties": { "additionalProperties": false, "properties": { - "ExcludeFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" - }, - "markdownDescription": "If you specify this parameter, the stream sends metrics from all metric namespaces except for the namespaces that you specify here. You cannot specify both `IncludeFilters` and `ExcludeFilters` in the same metric stream.\n\nWhen you modify the `IncludeFilters` or `ExcludeFilters` of an existing metric stream in any way, the metric stream is effectively restarted, so after such a change you will get only the datapoints that have a timestamp after the time of the update.", - "title": "ExcludeFilters", - "type": "array" - }, - "FirehoseArn": { - "markdownDescription": "The ARN of the Amazon Kinesis Firehose delivery stream to use for this metric stream. This Amazon Kinesis Firehose delivery stream must already exist and must be in the same account as the metric stream.", - "title": "FirehoseArn", - "type": "string" - }, - "IncludeFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" - }, - "markdownDescription": "If you specify this parameter, the stream sends only the metrics from the metric namespaces that you specify here. You cannot specify both `IncludeFilters` and `ExcludeFilters` in the same metric stream.\n\nWhen you modify the `IncludeFilters` or `ExcludeFilters` of an existing metric stream in any way, the metric stream is effectively restarted, so after such a change you will get only the datapoints that have a timestamp after the time of the update.", - "title": "IncludeFilters", - "type": "array" - }, - "IncludeLinkedAccountsMetrics": { - "markdownDescription": "If you are creating a metric stream in a monitoring account, specify `true` to include metrics from source accounts that are linked to this monitoring account, in the metric stream. The default is `false` .\n\nFor more information about linking accounts, see [CloudWatch cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)", - "title": "IncludeLinkedAccountsMetrics", - "type": "boolean" - }, - "Name": { - "markdownDescription": "If you are creating a new metric stream, this is the name for the new stream. The name must be different than the names of other metric streams in this account and Region.\n\nIf you are updating a metric stream, specify the name of that stream here.", - "title": "Name", - "type": "string" - }, - "OutputFormat": { - "markdownDescription": "The output format for the stream. Valid values are `json` , `opentelemetry1.0` and `opentelemetry0.7` For more information about metric stream output formats, see [Metric streams output formats](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-formats.html) .\n\nThis parameter is required.", - "title": "OutputFormat", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The ARN of an IAM role that this metric stream will use to access Amazon Kinesis Firehose resources. This IAM role must already exist and must be in the same account as the metric stream. This IAM role must include the `firehose:PutRecord` and `firehose:PutRecordBatch` permissions.", - "title": "RoleArn", - "type": "string" - }, - "StatisticsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamStatisticsConfiguration" - }, - "markdownDescription": "By default, a metric stream always sends the MAX, MIN, SUM, and SAMPLECOUNT statistics for each metric that is streamed. You can use this parameter to have the metric stream also send additional statistics in the stream. This array can have up to 100 members.\n\nFor each entry in this array, you specify one or more metrics and the list of additional statistics to stream for those metrics. The additional statistics that you can stream depend on the stream's `OutputFormat` . If the `OutputFormat` is `json` , you can stream any additional statistic that is supported by CloudWatch , listed in [CloudWatch statistics definitions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html) . If the `OutputFormat` is OpenTelemetry, you can stream percentile statistics.", - "title": "StatisticsConfigurations", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to the metric stream.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", - "type": "array" + "OriginRequestPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig", + "markdownDescription": "The origin request policy configuration.", + "title": "OriginRequestPolicyConfig" } }, "required": [ - "FirehoseArn", - "OutputFormat", - "RoleArn" + "OriginRequestPolicyConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::MetricStream" + "AWS::CloudFront::OriginRequestPolicy" ], "type": "string" }, @@ -75292,132 +75934,110 @@ ], "type": "object" }, - "AWS::CloudWatch::MetricStream.MetricStreamFilter": { + "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { "additionalProperties": false, "properties": { - "MetricNames": { + "CookieBehavior": { + "markdownDescription": "Determines whether cookies in viewer requests are included in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No cookies in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to `none` , any cookies that are listed in a `CachePolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the cookies in viewer requests that are listed in the `CookieNames` type are included in requests that CloudFront sends to the origin.\n- `all` \u2013 All cookies in viewer requests are included in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All cookies in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the `CookieNames` type, which are not included.", + "title": "CookieBehavior", + "type": "string" + }, + "Cookies": { "items": { "type": "string" }, - "markdownDescription": "The names of the metrics to either include or exclude from the metric stream.\n\nIf you omit this parameter, all metrics in the namespace are included or excluded, depending on whether this filter is specified as an exclude filter or an include filter.\n\nEach metric name can contain only ASCII printable characters (ASCII range 32 through 126). Each metric name must contain at least one non-whitespace character.", - "title": "MetricNames", + "markdownDescription": "Contains a list of cookie names.", + "title": "Cookies", "type": "array" - }, - "Namespace": { - "markdownDescription": "The name of the metric namespace in the filter.\n\nThe namespace can contain only ASCII printable characters (ASCII range 32 through 126). It must contain at least one non-whitespace character.", - "title": "Namespace", - "type": "string" } }, "required": [ - "Namespace" + "CookieBehavior" ], "type": "object" }, - "AWS::CloudWatch::MetricStream.MetricStreamStatisticsConfiguration": { + "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { "additionalProperties": false, "properties": { - "AdditionalStatistics": { - "items": { - "type": "string" - }, - "markdownDescription": "The additional statistics to stream for the metrics listed in `IncludeMetrics` .", - "title": "AdditionalStatistics", - "type": "array" + "HeaderBehavior": { + "markdownDescription": "Determines whether any HTTP headers are included in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No HTTP headers in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to `none` , any headers that are listed in a `CachePolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the HTTP headers that are listed in the `Headers` type are included in requests that CloudFront sends to the origin.\n- `allViewer` \u2013 All HTTP headers in viewer requests are included in requests that CloudFront sends to the origin.\n- `allViewerAndWhitelistCloudFront` \u2013 All HTTP headers in viewer requests and the additional CloudFront headers that are listed in the `Headers` type are included in requests that CloudFront sends to the origin. The additional headers are added by CloudFront.\n- `allExcept` \u2013 All HTTP headers in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the `Headers` type, which are not included.", + "title": "HeaderBehavior", + "type": "string" }, - "IncludeMetrics": { + "Headers": { "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamStatisticsMetric" + "type": "string" }, - "markdownDescription": "An array that defines the metrics that are to have additional statistics streamed.", - "title": "IncludeMetrics", + "markdownDescription": "Contains a list of HTTP header names.", + "title": "Headers", "type": "array" } }, "required": [ - "AdditionalStatistics", - "IncludeMetrics" + "HeaderBehavior" ], "type": "object" }, - "AWS::CloudWatch::MetricStream.MetricStreamStatisticsMetric": { + "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { "additionalProperties": false, "properties": { - "MetricName": { - "markdownDescription": "The name of the metric.", - "title": "MetricName", + "Comment": { + "markdownDescription": "A comment to describe the origin request policy. The comment cannot be longer than 128 characters.", + "title": "Comment", "type": "string" }, - "Namespace": { - "markdownDescription": "The namespace of the metric.", - "title": "Namespace", + "CookiesConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig", + "markdownDescription": "The cookies from viewer requests to include in origin requests.", + "title": "CookiesConfig" + }, + "HeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig", + "markdownDescription": "The HTTP headers to include in origin requests. These can include headers from viewer requests and additional headers added by CloudFront.", + "title": "HeadersConfig" + }, + "Name": { + "markdownDescription": "A unique name to identify the origin request policy.", + "title": "Name", "type": "string" + }, + "QueryStringsConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig", + "markdownDescription": "The URL query strings from viewer requests to include in origin requests.", + "title": "QueryStringsConfig" } }, "required": [ - "MetricName", - "Namespace" + "CookiesConfig", + "HeadersConfig", + "Name", + "QueryStringsConfig" ], "type": "object" }, - "AWS::CloudWatch::OTelEnrichment": { + "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { "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::CloudWatch::OTelEnrichment" - ], + "QueryStringBehavior": { + "markdownDescription": "Determines whether any URL query strings in viewer requests are included in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No query strings in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to `none` , any query strings that are listed in a `CachePolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the query strings in viewer requests that are listed in the `QueryStringNames` type are included in requests that CloudFront sends to the origin.\n- `all` \u2013 All query strings in viewer requests are included in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All query strings in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the `QueryStringNames` type, which are not included.", + "title": "QueryStringBehavior", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "QueryStrings": { + "items": { + "type": "string" + }, + "markdownDescription": "Contains a list of query string names.", + "title": "QueryStrings", + "type": "array" } }, "required": [ - "Type" + "QueryStringBehavior" ], "type": "object" }, - "AWS::CodeArtifact::Domain": { + "AWS::CloudFront::PublicKey": { "additionalProperties": false, "properties": { "Condition": { @@ -75452,38 +76072,20 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "markdownDescription": "A string that specifies the name of the requested domain.", - "title": "DomainName", - "type": "string" - }, - "EncryptionKey": { - "markdownDescription": "The key used to encrypt the domain.", - "title": "EncryptionKey", - "type": "string" - }, - "PermissionsPolicyDocument": { - "markdownDescription": "The document that defines the resource policy that is set on a domain.", - "title": "PermissionsPolicyDocument", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags to be applied to the domain.", - "title": "Tags", - "type": "array" + "PublicKeyConfig": { + "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig", + "markdownDescription": "Configuration information about a public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) , or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html) .", + "title": "PublicKeyConfig" } }, "required": [ - "DomainName" + "PublicKeyConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeArtifact::Domain" + "AWS::CloudFront::PublicKey" ], "type": "string" }, @@ -75502,7 +76104,38 @@ ], "type": "object" }, - "AWS::CodeArtifact::Package": { + "AWS::CloudFront::PublicKey.PublicKeyConfig": { + "additionalProperties": false, + "properties": { + "CallerReference": { + "markdownDescription": "A string included in the request to help make sure that the request can't be replayed.", + "title": "CallerReference", + "type": "string" + }, + "Comment": { + "markdownDescription": "A comment to describe the public key. The comment cannot be longer than 128 characters.", + "title": "Comment", + "type": "string" + }, + "EncodedKey": { + "markdownDescription": "The public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) , or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html) .", + "title": "EncodedKey", + "type": "string" + }, + "Name": { + "markdownDescription": "A name to help identify the public key.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "CallerReference", + "EncodedKey", + "Name" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -75537,33 +76170,44 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "type": "string" + "EndPoints": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" + }, + "markdownDescription": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data for this real-time log configuration.", + "title": "EndPoints", + "type": "array" }, - "Format": { - "type": "string" + "Fields": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of fields that are included in each real-time log record. In an API response, the fields are provided in the same order in which they are sent to the Amazon Kinesis data stream.\n\nFor more information about fields, see [Real-time log configuration fields](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields) in the *Amazon CloudFront Developer Guide* .", + "title": "Fields", + "type": "array" }, "Name": { + "markdownDescription": "The unique name of this real-time log configuration.", + "title": "Name", "type": "string" }, - "Namespace": { - "type": "string" - }, - "Repository": { - "type": "string" + "SamplingRate": { + "markdownDescription": "The sampling rate for this real-time log configuration. The sampling rate determines the percentage of viewer requests that are represented in the real-time log data. The sampling rate is an integer between 1 and 100, inclusive.", + "title": "SamplingRate", + "type": "number" } }, "required": [ - "DomainName", - "Format", + "EndPoints", + "Fields", "Name", - "Repository" + "SamplingRate" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeArtifact::Package" + "AWS::CloudFront::RealtimeLogConfig" ], "type": "string" }, @@ -75582,28 +76226,47 @@ ], "type": "object" }, - "AWS::CodeArtifact::Package.OriginConfiguration": { + "AWS::CloudFront::RealtimeLogConfig.EndPoint": { "additionalProperties": false, "properties": { - "Restrictions": { - "$ref": "#/definitions/AWS::CodeArtifact::Package.Restrictions" + "KinesisStreamConfig": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig", + "markdownDescription": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data in a real-time log configuration.", + "title": "KinesisStreamConfig" + }, + "StreamType": { + "markdownDescription": "The type of data stream where you are sending real-time log data. The only valid value is `Kinesis` .", + "title": "StreamType", + "type": "string" } }, + "required": [ + "KinesisStreamConfig", + "StreamType" + ], "type": "object" }, - "AWS::CodeArtifact::Package.Restrictions": { + "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { "additionalProperties": false, "properties": { - "Publish": { + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that CloudFront can use to send real-time log data to your Kinesis data stream.\n\nFor more information the IAM role, see [Real-time log configuration IAM role](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-iam-role) in the *Amazon CloudFront Developer Guide* .", + "title": "RoleArn", "type": "string" }, - "Upstream": { + "StreamArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Kinesis data stream where you are sending real-time log data.", + "title": "StreamArn", "type": "string" } }, + "required": [ + "RoleArn", + "StreamArn" + ], "type": "object" }, - "AWS::CodeArtifact::PackageGroup": { + "AWS::CloudFront::ResponseHeadersPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -75638,54 +76301,20 @@ "Properties": { "additionalProperties": false, "properties": { - "ContactInfo": { - "markdownDescription": "The contact information of the package group.", - "title": "ContactInfo", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the package group.", - "title": "Description", - "type": "string" - }, - "DomainName": { - "markdownDescription": "The domain that contains the package group.", - "title": "DomainName", - "type": "string" - }, - "DomainOwner": { - "markdownDescription": "The 12-digit account number of the AWS account that owns the domain. It does not include dashes or spaces.", - "title": "DomainOwner", - "type": "string" - }, - "OriginConfiguration": { - "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.OriginConfiguration", - "markdownDescription": "Details about the package origin configuration of a package group.", - "title": "OriginConfiguration" - }, - "Pattern": { - "markdownDescription": "The pattern of the package group. The pattern determines which packages are associated with the package group.", - "title": "Pattern", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" + "ResponseHeadersPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ResponseHeadersPolicyConfig", + "markdownDescription": "A response headers policy configuration.", + "title": "ResponseHeadersPolicyConfig" } }, "required": [ - "DomainName", - "Pattern" + "ResponseHeadersPolicyConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeArtifact::PackageGroup" + "AWS::CloudFront::ResponseHeadersPolicy" ], "type": "string" }, @@ -75704,85 +76333,451 @@ ], "type": "object" }, - "AWS::CodeArtifact::PackageGroup.OriginConfiguration": { + "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowHeaders": { "additionalProperties": false, "properties": { - "Restrictions": { - "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.Restrictions", - "markdownDescription": "", - "title": "Restrictions" + "Items": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of HTTP header names. You can specify `*` to allow all headers.", + "title": "Items", + "type": "array" } }, "required": [ - "Restrictions" + "Items" ], "type": "object" }, - "AWS::CodeArtifact::PackageGroup.RestrictionType": { + "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowMethods": { "additionalProperties": false, "properties": { - "Repositories": { + "Items": { "items": { "type": "string" }, - "markdownDescription": "", - "title": "Repositories", + "markdownDescription": "The list of HTTP methods. Valid values are:\n\n- `GET`\n- `DELETE`\n- `HEAD`\n- `OPTIONS`\n- `PATCH`\n- `POST`\n- `PUT`\n- `ALL`\n\n`ALL` is a special value that includes all of the listed HTTP methods.", + "title": "Items", "type": "array" - }, - "RestrictionMode": { - "markdownDescription": "", - "title": "RestrictionMode", - "type": "string" } }, "required": [ - "RestrictionMode" + "Items" ], "type": "object" }, - "AWS::CodeArtifact::PackageGroup.Restrictions": { + "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowOrigins": { "additionalProperties": false, "properties": { - "ExternalUpstream": { - "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType", - "markdownDescription": "", - "title": "ExternalUpstream" - }, - "InternalUpstream": { - "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType", - "markdownDescription": "", - "title": "InternalUpstream" - }, - "Publish": { - "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType", - "markdownDescription": "", - "title": "Publish" + "Items": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of origins (domain names). You can specify `*` to allow all origins.", + "title": "Items", + "type": "array" } }, + "required": [ + "Items" + ], "type": "object" }, - "AWS::CodeArtifact::Repository": { + "AWS::CloudFront::ResponseHeadersPolicy.AccessControlExposeHeaders": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Items": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of HTTP headers. You can specify `*` to expose all headers.", + "title": "Items", + "type": "array" + } + }, + "required": [ + "Items" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.ContentSecurityPolicy": { + "additionalProperties": false, + "properties": { + "ContentSecurityPolicy": { + "markdownDescription": "The policy directives and their values that CloudFront includes as values for the `Content-Security-Policy` HTTP response header.", + "title": "ContentSecurityPolicy", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { + "Override": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides the `Content-Security-Policy` HTTP response header received from the origin with the one specified in this response headers policy.", + "title": "Override", + "type": "boolean" + } + }, + "required": [ + "ContentSecurityPolicy", + "Override" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.ContentTypeOptions": { + "additionalProperties": false, + "properties": { + "Override": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides the `X-Content-Type-Options` HTTP response header received from the origin with the one specified in this response headers policy.", + "title": "Override", + "type": "boolean" + } + }, + "required": [ + "Override" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.CorsConfig": { + "additionalProperties": false, + "properties": { + "AccessControlAllowCredentials": { + "markdownDescription": "A Boolean that CloudFront uses as the value for the `Access-Control-Allow-Credentials` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Credentials` HTTP response header, see [Access-Control-Allow-Credentials](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials) in the MDN Web Docs.", + "title": "AccessControlAllowCredentials", + "type": "boolean" + }, + "AccessControlAllowHeaders": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowHeaders", + "markdownDescription": "A list of HTTP header names that CloudFront includes as values for the `Access-Control-Allow-Headers` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Headers` HTTP response header, see [Access-Control-Allow-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) in the MDN Web Docs.", + "title": "AccessControlAllowHeaders" + }, + "AccessControlAllowMethods": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowMethods", + "markdownDescription": "A list of HTTP methods that CloudFront includes as values for the `Access-Control-Allow-Methods` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Methods` HTTP response header, see [Access-Control-Allow-Methods](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods) in the MDN Web Docs.", + "title": "AccessControlAllowMethods" + }, + "AccessControlAllowOrigins": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowOrigins", + "markdownDescription": "A list of origins (domain names) that CloudFront can use as the value for the `Access-Control-Allow-Origin` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Origin` HTTP response header, see [Access-Control-Allow-Origin](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin) in the MDN Web Docs.", + "title": "AccessControlAllowOrigins" + }, + "AccessControlExposeHeaders": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlExposeHeaders", + "markdownDescription": "A list of HTTP headers that CloudFront includes as values for the `Access-Control-Expose-Headers` HTTP response header.\n\nFor more information about the `Access-Control-Expose-Headers` HTTP response header, see [Access-Control-Expose-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers) in the MDN Web Docs.", + "title": "AccessControlExposeHeaders" + }, + "AccessControlMaxAgeSec": { + "markdownDescription": "A number that CloudFront uses as the value for the `Access-Control-Max-Age` HTTP response header.\n\nFor more information about the `Access-Control-Max-Age` HTTP response header, see [Access-Control-Max-Age](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age) in the MDN Web Docs.", + "title": "AccessControlMaxAgeSec", + "type": "number" + }, + "OriginOverride": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.", + "title": "OriginOverride", + "type": "boolean" + } + }, + "required": [ + "AccessControlAllowCredentials", + "AccessControlAllowHeaders", + "AccessControlAllowMethods", + "AccessControlAllowOrigins", + "OriginOverride" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.CustomHeader": { + "additionalProperties": false, + "properties": { + "Header": { + "markdownDescription": "The HTTP response header name.", + "title": "Header", + "type": "string" + }, + "Override": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides a response header with the same name received from the origin with the header specified here.", + "title": "Override", + "type": "boolean" + }, + "Value": { + "markdownDescription": "The value for the HTTP response header.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Header", + "Override", + "Value" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.CustomHeadersConfig": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CustomHeader" + }, + "markdownDescription": "The list of HTTP response headers and their values.", + "title": "Items", + "type": "array" + } + }, + "required": [ + "Items" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.FrameOptions": { + "additionalProperties": false, + "properties": { + "FrameOption": { + "markdownDescription": "The value of the `X-Frame-Options` HTTP response header. Valid values are `DENY` and `SAMEORIGIN` .\n\nFor more information about these values, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.", + "title": "FrameOption", + "type": "string" + }, + "Override": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides the `X-Frame-Options` HTTP response header received from the origin with the one specified in this response headers policy.", + "title": "Override", + "type": "boolean" + } + }, + "required": [ + "FrameOption", + "Override" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.ReferrerPolicy": { + "additionalProperties": false, + "properties": { + "Override": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides the `Referrer-Policy` HTTP response header received from the origin with the one specified in this response headers policy.", + "title": "Override", + "type": "boolean" + }, + "ReferrerPolicy": { + "markdownDescription": "The value of the `Referrer-Policy` HTTP response header. Valid values are:\n\n- `no-referrer`\n- `no-referrer-when-downgrade`\n- `origin`\n- `origin-when-cross-origin`\n- `same-origin`\n- `strict-origin`\n- `strict-origin-when-cross-origin`\n- `unsafe-url`\n\nFor more information about these values, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.", + "title": "ReferrerPolicy", + "type": "string" + } + }, + "required": [ + "Override", + "ReferrerPolicy" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.RemoveHeader": { + "additionalProperties": false, + "properties": { + "Header": { + "markdownDescription": "The HTTP header name.", + "title": "Header", + "type": "string" + } + }, + "required": [ + "Header" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.RemoveHeadersConfig": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.RemoveHeader" + }, + "markdownDescription": "The list of HTTP header names.", + "title": "Items", + "type": "array" + } + }, + "required": [ + "Items" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.ResponseHeadersPolicyConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "markdownDescription": "A comment to describe the response headers policy.\n\nThe comment cannot be longer than 128 characters.", + "title": "Comment", + "type": "string" + }, + "CorsConfig": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CorsConfig", + "markdownDescription": "A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).", + "title": "CorsConfig" + }, + "CustomHeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CustomHeadersConfig", + "markdownDescription": "A configuration for a set of custom HTTP response headers.", + "title": "CustomHeadersConfig" + }, + "Name": { + "markdownDescription": "A name to identify the response headers policy.\n\nThe name must be unique for response headers policies in this AWS account .", + "title": "Name", + "type": "string" + }, + "RemoveHeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.RemoveHeadersConfig", + "markdownDescription": "A configuration for a set of HTTP headers to remove from the HTTP response.", + "title": "RemoveHeadersConfig" + }, + "SecurityHeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.SecurityHeadersConfig", + "markdownDescription": "A configuration for a set of security-related HTTP response headers.", + "title": "SecurityHeadersConfig" + }, + "ServerTimingHeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ServerTimingHeadersConfig", + "markdownDescription": "A configuration for enabling the `Server-Timing` header in HTTP responses sent from CloudFront.", + "title": "ServerTimingHeadersConfig" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.SecurityHeadersConfig": { + "additionalProperties": false, + "properties": { + "ContentSecurityPolicy": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ContentSecurityPolicy", + "markdownDescription": "The policy directives and their values that CloudFront includes as values for the `Content-Security-Policy` HTTP response header.\n\nFor more information about the `Content-Security-Policy` HTTP response header, see [Content-Security-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) in the MDN Web Docs.", + "title": "ContentSecurityPolicy" + }, + "ContentTypeOptions": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ContentTypeOptions", + "markdownDescription": "Determines whether CloudFront includes the `X-Content-Type-Options` HTTP response header with its value set to `nosniff` .\n\nFor more information about the `X-Content-Type-Options` HTTP response header, see [X-Content-Type-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) in the MDN Web Docs.", + "title": "ContentTypeOptions" + }, + "FrameOptions": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.FrameOptions", + "markdownDescription": "Determines whether CloudFront includes the `X-Frame-Options` HTTP response header and the header's value.\n\nFor more information about the `X-Frame-Options` HTTP response header, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.", + "title": "FrameOptions" + }, + "ReferrerPolicy": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ReferrerPolicy", + "markdownDescription": "Determines whether CloudFront includes the `Referrer-Policy` HTTP response header and the header's value.\n\nFor more information about the `Referrer-Policy` HTTP response header, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.", + "title": "ReferrerPolicy" + }, + "StrictTransportSecurity": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.StrictTransportSecurity", + "markdownDescription": "Determines whether CloudFront includes the `Strict-Transport-Security` HTTP response header and the header's value.\n\nFor more information about the `Strict-Transport-Security` HTTP response header, see [Security headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html#understanding-response-headers-policies-security) in the *Amazon CloudFront Developer Guide* and [Strict-Transport-Security](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) in the MDN Web Docs.", + "title": "StrictTransportSecurity" + }, + "XSSProtection": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.XSSProtection", + "markdownDescription": "Determines whether CloudFront includes the `X-XSS-Protection` HTTP response header and the header's value.\n\nFor more information about the `X-XSS-Protection` HTTP response header, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", + "title": "XSSProtection" + } + }, + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.ServerTimingHeadersConfig": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "A Boolean that determines whether CloudFront adds the `Server-Timing` header to HTTP responses that it sends in response to requests that match a cache behavior that's associated with this response headers policy.", + "title": "Enabled", + "type": "boolean" + }, + "SamplingRate": { + "markdownDescription": "A number 0\u2013100 (inclusive) that specifies the percentage of responses that you want CloudFront to add the `Server-Timing` header to. When you set the sampling rate to 100, CloudFront adds the `Server-Timing` header to the HTTP response for every request that matches the cache behavior that this response headers policy is attached to. When you set it to 50, CloudFront adds the header to 50% of the responses for requests that match the cache behavior. You can set the sampling rate to any number 0\u2013100 with up to four decimal places.", + "title": "SamplingRate", + "type": "number" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.StrictTransportSecurity": { + "additionalProperties": false, + "properties": { + "AccessControlMaxAgeSec": { + "markdownDescription": "A number that CloudFront uses as the value for the `max-age` directive in the `Strict-Transport-Security` HTTP response header.", + "title": "AccessControlMaxAgeSec", + "type": "number" + }, + "IncludeSubdomains": { + "markdownDescription": "A Boolean that determines whether CloudFront includes the `includeSubDomains` directive in the `Strict-Transport-Security` HTTP response header.", + "title": "IncludeSubdomains", + "type": "boolean" + }, + "Override": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides the `Strict-Transport-Security` HTTP response header received from the origin with the one specified in this response headers policy.", + "title": "Override", + "type": "boolean" + }, + "Preload": { + "markdownDescription": "A Boolean that determines whether CloudFront includes the `preload` directive in the `Strict-Transport-Security` HTTP response header.", + "title": "Preload", + "type": "boolean" + } + }, + "required": [ + "AccessControlMaxAgeSec", + "Override" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.XSSProtection": { + "additionalProperties": false, + "properties": { + "ModeBlock": { + "markdownDescription": "A Boolean that determines whether CloudFront includes the `mode=block` directive in the `X-XSS-Protection` header.\n\nFor more information about this directive, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", + "title": "ModeBlock", + "type": "boolean" + }, + "Override": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides the `X-XSS-Protection` HTTP response header received from the origin with the one specified in this response headers policy.", + "title": "Override", + "type": "boolean" + }, + "Protection": { + "markdownDescription": "A Boolean that determines the value of the `X-XSS-Protection` HTTP response header. When this setting is `true` , the value of the `X-XSS-Protection` header is `1` . When this setting is `false` , the value of the `X-XSS-Protection` header is `0` .\n\nFor more information about these settings, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", + "title": "Protection", + "type": "boolean" + }, + "ReportUri": { + "markdownDescription": "A reporting URI, which CloudFront uses as the value of the `report` directive in the `X-XSS-Protection` header.\n\nYou cannot specify a `ReportUri` when `ModeBlock` is `true` .\n\nFor more information about using a reporting URL, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", + "title": "ReportUri", + "type": "string" + } + }, + "required": [ + "Override", + "Protection" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution": { + "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" }, @@ -75796,65 +76791,29 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A text description of the repository.", - "title": "Description", - "type": "string" - }, - "DomainName": { - "markdownDescription": "The name of the domain that contains the repository.", - "title": "DomainName", - "type": "string" - }, - "DomainOwner": { - "markdownDescription": "The 12-digit account number of the AWS account that owns the domain that contains the repository. It does not include dashes or spaces.", - "title": "DomainOwner", - "type": "string" - }, - "ExternalConnections": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of external connections associated with the repository. For more information, see [Supported external connection repositories](https://docs.aws.amazon.com/codeartifact/latest/ug/external-connection.html#supported-public-repositories) in the *CodeArtifact user guide* .", - "title": "ExternalConnections", - "type": "array" - }, - "PermissionsPolicyDocument": { - "markdownDescription": "The document that defines the resource policy that is set on a repository.", - "title": "PermissionsPolicyDocument", - "type": "object" - }, - "RepositoryName": { - "markdownDescription": "The name of an upstream repository.", - "title": "RepositoryName", - "type": "string" + "StreamingDistributionConfig": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig", + "markdownDescription": "The current configuration information for the RTMP distribution.", + "title": "StreamingDistributionConfig" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of tags to be applied to the repository.", + "markdownDescription": "A complex type that contains zero or more `Tag` elements.", "title": "Tags", "type": "array" - }, - "Upstreams": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of upstream repositories to associate with the repository. The order of the upstream repositories in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more information, see [Working with upstream repositories](https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html) .", - "title": "Upstreams", - "type": "array" } }, "required": [ - "DomainName", - "RepositoryName" + "StreamingDistributionConfig", + "Tags" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeArtifact::Repository" + "AWS::CloudFront::StreamingDistribution" ], "type": "string" }, @@ -75873,7 +76832,125 @@ ], "type": "object" }, - "AWS::CodeBuild::Build": { + "AWS::CloudFront::StreamingDistribution.Logging": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The Amazon S3 bucket to store the access logs in, for example, `amzn-s3-demo-bucket.s3.amazonaws.com` .", + "title": "Bucket", + "type": "string" + }, + "Enabled": { + "markdownDescription": "Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify `false` for `Enabled` , and specify `empty Bucket` and `Prefix` elements. If you specify `false` for `Enabled` but you specify values for `Bucket` and `Prefix` , the values are automatically deleted.", + "title": "Enabled", + "type": "boolean" + }, + "Prefix": { + "markdownDescription": "An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, `myprefix/` . If you want to enable logging, but you don't want to specify a prefix, you still must include an empty `Prefix` element in the `Logging` element.", + "title": "Prefix", + "type": "string" + } + }, + "required": [ + "Bucket", + "Enabled", + "Prefix" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.S3Origin": { + "additionalProperties": false, + "properties": { + "DomainName": { + "markdownDescription": "The DNS name of the Amazon S3 origin.", + "title": "DomainName", + "type": "string" + }, + "OriginAccessIdentity": { + "markdownDescription": "The CloudFront origin access identity to associate with the distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.\n\nIf you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty `OriginAccessIdentity` element.\n\nTo delete the origin access identity from an existing distribution, update the distribution configuration and include an empty `OriginAccessIdentity` element.\n\nTo replace the origin access identity, update the distribution configuration and specify the new origin access identity.\n\nFor more information, see [Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginAccessIdentity", + "type": "string" + } + }, + "required": [ + "DomainName", + "OriginAccessIdentity" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": { + "additionalProperties": false, + "properties": { + "Aliases": { + "items": { + "type": "string" + }, + "markdownDescription": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.", + "title": "Aliases", + "type": "array" + }, + "Comment": { + "markdownDescription": "Any comments you want to include about the streaming distribution.", + "title": "Comment", + "type": "string" + }, + "Enabled": { + "markdownDescription": "Whether the streaming distribution is enabled to accept user requests for content.", + "title": "Enabled", + "type": "boolean" + }, + "Logging": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.Logging", + "markdownDescription": "A complex type that controls whether access logs are written for the streaming distribution.", + "title": "Logging" + }, + "PriceClass": { + "markdownDescription": "A complex type that contains information about price class for this streaming distribution.", + "title": "PriceClass", + "type": "string" + }, + "S3Origin": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.S3Origin", + "markdownDescription": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", + "title": "S3Origin" + }, + "TrustedSigners": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.TrustedSigners", + "markdownDescription": "A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content. If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", + "title": "TrustedSigners" + } + }, + "required": [ + "Comment", + "Enabled", + "S3Origin", + "TrustedSigners" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.TrustedSigners": { + "additionalProperties": false, + "properties": { + "AwsAccountNumbers": { + "items": { + "type": "string" + }, + "markdownDescription": "An AWS account number that contains active CloudFront key pairs that CloudFront can use to verify the signatures of signed URLs and signed cookies. If the AWS account that owns the key pairs is the same account that owns the CloudFront distribution, the value of this field is `self` .", + "title": "AwsAccountNumbers", + "type": "array" + }, + "Enabled": { + "markdownDescription": "This field is `true` if any of the AWS accounts in the list are configured as trusted signers. If not, this field is `false` .", + "title": "Enabled", + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CloudFront::TrustStore": { "additionalProperties": false, "properties": { "Condition": { @@ -75908,15 +76985,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ProjectName": { + "CaCertificatesBundleSource": { + "$ref": "#/definitions/AWS::CloudFront::TrustStore.CaCertificatesBundleSource", + "markdownDescription": "A CA certificates bundle source.", + "title": "CaCertificatesBundleSource" + }, + "Name": { + "markdownDescription": "The trust store's name.", + "title": "Name", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A complex type that contains zero or more `Tag` elements.", + "title": "Tags", + "type": "array" + }, + "UseClientCertificateOCSPEndpoint": { + "type": "boolean" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeBuild::Build" + "AWS::CloudFront::TrustStore" ], "type": "string" }, @@ -75930,11 +77028,57 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CodeBuild::BuildBatch": { + "AWS::CloudFront::TrustStore.CaCertificatesBundleS3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The S3 bucket.", + "title": "Bucket", + "type": "string" + }, + "Key": { + "markdownDescription": "The location's key.", + "title": "Key", + "type": "string" + }, + "Region": { + "markdownDescription": "The location's Region.", + "title": "Region", + "type": "string" + }, + "Version": { + "markdownDescription": "The location's version.", + "title": "Version", + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "Region" + ], + "type": "object" + }, + "AWS::CloudFront::TrustStore.CaCertificatesBundleSource": { + "additionalProperties": false, + "properties": { + "CaCertificatesBundleS3Location": { + "$ref": "#/definitions/AWS::CloudFront::TrustStore.CaCertificatesBundleS3Location", + "markdownDescription": "The CA certificates bundle location in Amazon S3.", + "title": "CaCertificatesBundleS3Location" + } + }, + "required": [ + "CaCertificatesBundleS3Location" + ], + "type": "object" + }, + "AWS::CloudFront::VpcOrigin": { "additionalProperties": false, "properties": { "Condition": { @@ -75969,15 +77113,28 @@ "Properties": { "additionalProperties": false, "properties": { - "ProjectName": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A complex type that contains zero or more `Tag` elements.", + "title": "Tags", + "type": "array" + }, + "VpcOriginEndpointConfig": { + "$ref": "#/definitions/AWS::CloudFront::VpcOrigin.VpcOriginEndpointConfig", + "markdownDescription": "The VPC origin endpoint configuration.", + "title": "VpcOriginEndpointConfig" } }, + "required": [ + "VpcOriginEndpointConfig" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeBuild::BuildBatch" + "AWS::CloudFront::VpcOrigin" ], "type": "string" }, @@ -75991,11 +77148,58 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CodeBuild::Fleet": { + "AWS::CloudFront::VpcOrigin.VpcOriginEndpointConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The ARN of the CloudFront VPC origin endpoint configuration.", + "title": "Arn", + "type": "string" + }, + "HTTPPort": { + "markdownDescription": "The HTTP port for the CloudFront VPC origin endpoint configuration. The default value is `80` .", + "title": "HTTPPort", + "type": "number" + }, + "HTTPSPort": { + "markdownDescription": "The HTTPS port of the CloudFront VPC origin endpoint configuration. The default value is `443` .", + "title": "HTTPSPort", + "type": "number" + }, + "IpAddressType": { + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the CloudFront VPC origin endpoint configuration.", + "title": "Name", + "type": "string" + }, + "OriginProtocolPolicy": { + "markdownDescription": "The origin protocol policy for the CloudFront VPC origin endpoint configuration.", + "title": "OriginProtocolPolicy", + "type": "string" + }, + "OriginSSLProtocols": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your origin over HTTPS. Valid values include `SSLv3` , `TLSv1` , `TLSv1.1` , and `TLSv1.2` .\n\nFor more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginSSLProtocols) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginSSLProtocols", + "type": "array" + } + }, + "required": [ + "Arn", + "Name" + ], + "type": "object" + }, + "AWS::CloudHSM::Cluster": { "additionalProperties": false, "properties": { "Condition": { @@ -76030,75 +77234,39 @@ "Properties": { "additionalProperties": false, "properties": { - "BaseCapacity": { - "markdownDescription": "The initial number of machines allocated to the compute \ufb02eet, which de\ufb01nes the number of builds that can run in parallel.", - "title": "BaseCapacity", - "type": "number" - }, - "ComputeConfiguration": { - "$ref": "#/definitions/AWS::CodeBuild::Fleet.ComputeConfiguration", - "markdownDescription": "The compute configuration of the compute fleet. This is only required if `computeType` is set to `ATTRIBUTE_BASED_COMPUTE` or `CUSTOM_INSTANCE_TYPE` .", - "title": "ComputeConfiguration" - }, - "ComputeType": { - "markdownDescription": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine.\n\n> If you use `ATTRIBUTE_BASED_COMPUTE` , you must define your attributes by using `computeConfiguration` . AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types) in the *AWS CodeBuild User Guide* .\n- `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n- `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [On-demand environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types) in the *AWS CodeBuild User Guide.*", - "title": "ComputeType", - "type": "string" - }, - "EnvironmentType": { - "markdownDescription": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (S\u00e3o Paulo).\n- The environment type `ARM_EC2` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_EC2` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `MAC_ARM` is available only in regions US East (Ohio), US East (N. Virginia), US West (Oregon), Europe (Frankfurt), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_EC2` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (S\u00e3o Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* .", - "title": "EnvironmentType", - "type": "string" - }, - "FleetProxyConfiguration": { - "$ref": "#/definitions/AWS::CodeBuild::Fleet.ProxyConfiguration", - "markdownDescription": "Information about the proxy configurations that apply network access control to your reserved capacity instances.", - "title": "FleetProxyConfiguration" - }, - "FleetServiceRole": { - "markdownDescription": "The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* .", - "title": "FleetServiceRole", - "type": "string" - }, - "FleetVpcConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Fleet.VpcConfig", - "markdownDescription": "Information about the VPC configuration that AWS CodeBuild accesses.", - "title": "FleetVpcConfig" + "BackupRetentionPolicy": { + "$ref": "#/definitions/AWS::CloudHSM::Cluster.BackupRetentionPolicy" }, - "ImageId": { - "markdownDescription": "The Amazon Machine Image (AMI) of the compute fleet.", - "title": "ImageId", + "HsmType": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the compute fleet.", - "title": "Name", + "Mode": { "type": "string" }, - "OverflowBehavior": { - "markdownDescription": "The compute fleet overflow behavior.\n\n- For overflow behavior `QUEUE` , your overflow builds need to wait on the existing fleet instance to become available.\n- For overflow behavior `ON_DEMAND` , your overflow builds run on CodeBuild on-demand.\n\n> If you choose to set your overflow behavior to on-demand while creating a VPC-connected fleet, make sure that you add the required VPC permissions to your project service role. For more information, see [Example policy statement to allow CodeBuild access to AWS services required to create a VPC network interface](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-create-vpc-network-interface) .", - "title": "OverflowBehavior", + "NetworkType": { "type": "string" }, - "ScalingConfiguration": { - "$ref": "#/definitions/AWS::CodeBuild::Fleet.ScalingConfigurationInput", - "markdownDescription": "The scaling configuration of the compute fleet.", - "title": "ScalingConfiguration" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::CloudHSM::Cluster.TagsItems" }, - "markdownDescription": "A list of tag key and value pairs associated with this compute fleet.\n\nThese tags are available for use by AWS services that support AWS CodeBuild compute fleet tags.", - "title": "Tags", "type": "array" } }, + "required": [ + "HsmType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeBuild::Fleet" + "AWS::CloudHSM::Cluster" ], "type": "string" }, @@ -76112,152 +77280,201 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CodeBuild::Fleet.ComputeConfiguration": { + "AWS::CloudHSM::Cluster.BackupRetentionPolicy": { "additionalProperties": false, "properties": { - "disk": { - "markdownDescription": "The amount of disk space of the instance type included in your fleet.", - "title": "disk", - "type": "number" - }, - "instanceType": { - "markdownDescription": "The EC2 instance type to be launched in your fleet.", - "title": "instanceType", + "Type": { "type": "string" }, - "machineType": { - "markdownDescription": "The machine type of the instance type included in your fleet.", - "title": "machineType", + "Value": { "type": "string" - }, - "memory": { - "markdownDescription": "The amount of memory of the instance type included in your fleet.", - "title": "memory", - "type": "number" - }, - "vCpu": { - "markdownDescription": "The number of vCPUs of the instance type included in your fleet.", - "title": "vCpu", - "type": "number" } }, "type": "object" }, - "AWS::CodeBuild::Fleet.FleetProxyRule": { + "AWS::CloudHSM::Cluster.TagsItems": { "additionalProperties": false, "properties": { - "Effect": { - "markdownDescription": "The behavior of the proxy rule.", - "title": "Effect", + "Key": { "type": "string" }, - "Entities": { - "items": { - "type": "string" - }, - "markdownDescription": "The destination of the proxy rule.", - "title": "Entities", - "type": "array" - }, - "Type": { - "markdownDescription": "The type of proxy rule.", - "title": "Type", + "Value": { "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::CodeBuild::Fleet.ProxyConfiguration": { + "AWS::CloudHSMV2::Backup": { "additionalProperties": false, "properties": { - "DefaultBehavior": { - "markdownDescription": "The default behavior of outgoing traffic.", - "title": "DefaultBehavior", + "Condition": { "type": "string" }, - "OrderedProxyRules": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Fleet.FleetProxyRule" - }, - "markdownDescription": "An array of `FleetProxyRule` objects that represent the specified destination domains or IPs to allow or deny network access control to.", - "title": "OrderedProxyRules", - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::CodeBuild::Fleet.ScalingConfigurationInput": { + "AWS::CloudTrail::Channel": { "additionalProperties": false, "properties": { - "MaxCapacity": { - "markdownDescription": "The maximum number of instances in the \ufb02eet when auto-scaling.", - "title": "MaxCapacity", - "type": "number" + "Condition": { + "type": "string" }, - "ScalingType": { - "markdownDescription": "The scaling type for a compute fleet.", - "title": "ScalingType", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TargetTrackingScalingConfigs": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Fleet.TargetTrackingScalingConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Channel.Destination" + }, + "markdownDescription": "One or more event data stores to which events arriving through a channel will be logged.", + "title": "Destinations", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the channel.", + "title": "Name", + "type": "string" + }, + "Source": { + "markdownDescription": "The name of the partner or external event source. You cannot change this name after you create the channel. A maximum of one channel is allowed per source.\n\nA source can be either `Custom` for all valid non- AWS events, or the name of a partner event source. For information about the source names for available partners, see [Additional information about integration partners](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-integration.html#cloudtrail-lake-partner-information) in the CloudTrail User Guide.", + "title": "Source", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags.", + "title": "Tags", + "type": "array" + } }, - "markdownDescription": "A list of `TargetTrackingScalingConfiguration` objects.", - "title": "TargetTrackingScalingConfigs", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Fleet.TargetTrackingScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MetricType": { - "markdownDescription": "The metric type to determine auto-scaling.", - "title": "MetricType", + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudTrail::Channel" + ], "type": "string" }, - "TargetValue": { - "markdownDescription": "The value of `metricType` when to start scaling.", - "title": "TargetValue", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::CodeBuild::Fleet.VpcConfig": { + "AWS::CloudTrail::Channel.Destination": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of one or more security groups IDs in your Amazon VPC.", - "title": "SecurityGroupIds", - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of one or more subnet IDs in your Amazon VPC.", - "title": "Subnets", - "type": "array" + "Location": { + "markdownDescription": "For channels used for a CloudTrail Lake integration, the location is the ARN of an event data store that receives events from a channel. For service-linked channels, the location is the name of the AWS service.", + "title": "Location", + "type": "string" }, - "VpcId": { - "markdownDescription": "The ID of the Amazon VPC.", - "title": "VpcId", + "Type": { + "markdownDescription": "The type of destination for events arriving from a channel. For channels used for a CloudTrail Lake integration, the value is `EVENT_DATA_STORE` . For service-linked channels, the value is `AWS_SERVICE` .", + "title": "Type", "type": "string" } }, + "required": [ + "Location", + "Type" + ], "type": "object" }, - "AWS::CodeBuild::Project": { + "AWS::CloudTrail::Dashboard": { "additionalProperties": false, "properties": { "Condition": { @@ -76292,156 +77509,43 @@ "Properties": { "additionalProperties": false, "properties": { - "Artifacts": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts", - "markdownDescription": "`Artifacts` is a property of the [AWS::CodeBuild::Project](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html) resource that specifies output settings for artifacts generated by an AWS CodeBuild build.", - "title": "Artifacts" + "Name": { + "markdownDescription": "The name of the dashboard. The name must be unique to your account.\n\nTo create the Highlights dashboard, the name must be `AWSCloudTrail-Highlights` .", + "title": "Name", + "type": "string" }, - "AutoRetryLimit": { - "type": "number" + "RefreshSchedule": { + "$ref": "#/definitions/AWS::CloudTrail::Dashboard.RefreshSchedule", + "markdownDescription": "The schedule for a dashboard refresh.", + "title": "RefreshSchedule" }, - "BadgeEnabled": { - "markdownDescription": "Indicates whether AWS CodeBuild generates a publicly accessible URL for your project's build badge. For more information, see [Build Badges Sample](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-build-badges.html) in the *AWS CodeBuild User Guide* .\n\n> Including build badges with your project is currently not supported if the source type is CodePipeline. If you specify `CODEPIPELINE` for the `Source` property, do not specify the `BadgeEnabled` property.", - "title": "BadgeEnabled", + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags.", + "title": "Tags", + "type": "array" + }, + "TerminationProtectionEnabled": { + "markdownDescription": "Specifies whether termination protection is enabled for the dashboard. If termination protection is enabled, you cannot delete the dashboard until termination protection is disabled.", + "title": "TerminationProtectionEnabled", "type": "boolean" }, - "BuildBatchConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig", - "markdownDescription": "A `ProjectBuildBatchConfig` object that defines the batch build options for the project.", - "title": "BuildBatchConfig" - }, - "Cache": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache", - "markdownDescription": "Settings that AWS CodeBuild uses to store and reuse build dependencies.", - "title": "Cache" - }, - "ConcurrentBuildLimit": { - "markdownDescription": "The maximum number of concurrent builds that are allowed for this project.\n\nNew builds are only started if the current number of builds is less than or equal to this limit. If the current build count meets this limit, new builds are throttled and are not run.", - "title": "ConcurrentBuildLimit", - "type": "number" - }, - "Description": { - "markdownDescription": "A description that makes the build project easy to identify.", - "title": "Description", - "type": "string" - }, - "EncryptionKey": { - "markdownDescription": "The AWS Key Management Service customer master key (CMK) to be used for encrypting the build output artifacts.\n\n> You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key. \n\nYou can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format `alias/` ). If you don't specify a value, CodeBuild uses the managed CMK for Amazon Simple Storage Service (Amazon S3).", - "title": "EncryptionKey", - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Environment", - "markdownDescription": "The build environment settings for the project, such as the environment type or the environment variables to use for the build environment.", - "title": "Environment" - }, - "FileSystemLocations": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFileSystemLocation" - }, - "markdownDescription": "An array of `ProjectFileSystemLocation` objects for a CodeBuild build project. A `ProjectFileSystemLocation` object specifies the `identifier` , `location` , `mountOptions` , `mountPoint` , and `type` of a file system created using Amazon Elastic File System.", - "title": "FileSystemLocations", - "type": "array" - }, - "LogsConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.LogsConfig", - "markdownDescription": "Information about logs for the build project. A project can create logs in CloudWatch Logs, an S3 bucket, or both.", - "title": "LogsConfig" - }, - "Name": { - "markdownDescription": "The name of the build project. The name must be unique across all of the projects in your AWS account .", - "title": "Name", - "type": "string" - }, - "QueuedTimeoutInMinutes": { - "markdownDescription": "The number of minutes a build is allowed to be queued before it times out.", - "title": "QueuedTimeoutInMinutes", - "type": "number" - }, - "ResourceAccessRole": { - "markdownDescription": "The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds.", - "title": "ResourceAccessRole", - "type": "string" - }, - "SecondaryArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" - }, - "markdownDescription": "A list of `Artifacts` objects. Each artifacts object specifies output settings that the project generates during a build.", - "title": "SecondaryArtifacts", - "type": "array" - }, - "SecondarySourceVersions": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectSourceVersion" - }, - "markdownDescription": "An array of `ProjectSourceVersion` objects. If `secondarySourceVersions` is specified at the build level, then they take over these `secondarySourceVersions` (at the project level).", - "title": "SecondarySourceVersions", - "type": "array" - }, - "SecondarySources": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Source" - }, - "markdownDescription": "An array of `ProjectSource` objects.", - "title": "SecondarySources", - "type": "array" - }, - "ServiceRole": { - "markdownDescription": "The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.", - "title": "ServiceRole", - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Source", - "markdownDescription": "The source code settings for the project, such as the source code's repository type and location.", - "title": "Source" - }, - "SourceVersion": { - "markdownDescription": "A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:\n\n- For CodeCommit: the commit ID, branch, or Git tag to use.\n- For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format `pr/pull-request-ID` (for example `pr/25` ). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For GitLab: the commit ID, branch, or Git tag to use.\n- For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For Amazon S3: the version ID of the object that represents the build input ZIP file to use.\n\nIf `sourceVersion` is specified at the build level, then that version takes precedence over this `sourceVersion` (at the project level).\n\nFor more information, see [Source Version Sample with CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) in the *AWS CodeBuild User Guide* .", - "title": "SourceVersion", - "type": "string" - }, - "Tags": { + "Widgets": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::CloudTrail::Dashboard.Widget" }, - "markdownDescription": "An arbitrary set of tags (key-value pairs) for the AWS CodeBuild project.\n\nThese tags are available for use by AWS services that support AWS CodeBuild build project tags.", - "title": "Tags", + "markdownDescription": "An array of widgets for a custom dashboard. A custom dashboard can have a maximum of ten widgets.\n\nYou do not need to specify widgets for the Highlights dashboard.", + "title": "Widgets", "type": "array" - }, - "TimeoutInMinutes": { - "markdownDescription": "How long, in minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait before timing out any related build that did not get marked as completed. The default is 60 minutes.", - "title": "TimeoutInMinutes", - "type": "number" - }, - "Triggers": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers", - "markdownDescription": "For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, enables AWS CodeBuild to begin automatically rebuilding the source code every time a code change is pushed to the repository.", - "title": "Triggers" - }, - "Visibility": { - "markdownDescription": "Specifies the visibility of the project's builds. Possible values are:\n\n- **PUBLIC_READ** - The project builds are visible to the public.\n- **PRIVATE** - The project builds are not visible to the public.", - "title": "Visibility", - "type": "string" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig", - "markdownDescription": "`VpcConfig` specifies settings that enable AWS CodeBuild to access resources in an Amazon VPC. For more information, see [Use AWS CodeBuild with Amazon Virtual Private Cloud](https://docs.aws.amazon.com/codebuild/latest/userguide/vpc-support.html) in the *AWS CodeBuild User Guide* .", - "title": "VpcConfig" } }, - "required": [ - "Artifacts", - "Environment", - "ServiceRole", - "Source" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeBuild::Project" + "AWS::CloudTrail::Dashboard" ], "type": "string" }, @@ -76455,644 +77559,85 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Artifacts": { - "additionalProperties": false, - "properties": { - "ArtifactIdentifier": { - "markdownDescription": "An identifier for this artifact definition.", - "title": "ArtifactIdentifier", - "type": "string" - }, - "EncryptionDisabled": { - "markdownDescription": "Set to true if you do not want your output artifacts encrypted. This option is valid only if your artifacts type is Amazon Simple Storage Service (Amazon S3). If this is set with another artifacts type, an `invalidInputException` is thrown.", - "title": "EncryptionDisabled", - "type": "boolean" - }, - "Location": { - "markdownDescription": "Information about the build output artifact location:\n\n- If `type` is set to `CODEPIPELINE` , AWS CodePipeline ignores this value if specified. This is because CodePipeline manages its build output locations instead of CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , this is the name of the output bucket.\n\nIf you specify `CODEPIPELINE` or `NO_ARTIFACTS` for the `Type` property, don't specify this property. For all of the other types, you must specify this property.", - "title": "Location", - "type": "string" - }, - "Name": { - "markdownDescription": "Along with `path` and `namespaceType` , the pattern that AWS CodeBuild uses to name and store the output artifact:\n\n- If `type` is set to `CODEPIPELINE` , AWS CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , this is the name of the output artifact object. If you set the name to be a forward slash (\"/\"), the artifact is stored in the root of the output bucket.\n\nFor example:\n\n- If `path` is set to `MyArtifacts` , `namespaceType` is set to `BUILD_ID` , and `name` is set to `MyArtifact.zip` , then the output artifact is stored in `MyArtifacts/ *build-ID* /MyArtifact.zip` .\n- If `path` is empty, `namespaceType` is set to `NONE` , and `name` is set to \" `/` \", the output artifact is stored in the root of the output bucket.\n- If `path` is set to `MyArtifacts` , `namespaceType` is set to `BUILD_ID` , and `name` is set to \" `/` \", the output artifact is stored in `MyArtifacts/ *build-ID*` .\n\nIf you specify `CODEPIPELINE` or `NO_ARTIFACTS` for the `Type` property, don't specify this property. For all of the other types, you must specify this property.", - "title": "Name", - "type": "string" - }, - "NamespaceType": { - "markdownDescription": "Along with `path` and `name` , the pattern that AWS CodeBuild uses to determine the name and location to store the output artifact:\n\n- If `type` is set to `CODEPIPELINE` , CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , valid values include:\n\n- `BUILD_ID` : Include the build ID in the location of the build output artifact.\n- `NONE` : Do not include the build ID. This is the default if `namespaceType` is not specified.\n\nFor example, if `path` is set to `MyArtifacts` , `namespaceType` is set to `BUILD_ID` , and `name` is set to `MyArtifact.zip` , the output artifact is stored in `MyArtifacts//MyArtifact.zip` .", - "title": "NamespaceType", - "type": "string" - }, - "OverrideArtifactName": { - "markdownDescription": "If set to true a name specified in the buildspec file overrides the artifact name. The name specified in a buildspec file is calculated at build time and uses the Shell command language. For example, you can append a date and time to your artifact name so that it is always unique.", - "title": "OverrideArtifactName", - "type": "boolean" - }, - "Packaging": { - "markdownDescription": "The type of build output artifact to create:\n\n- If `type` is set to `CODEPIPELINE` , CodePipeline ignores this value if specified. This is because CodePipeline manages its build output artifacts instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , valid values include:\n\n- `NONE` : AWS CodeBuild creates in the output bucket a folder that contains the build output. This is the default if `packaging` is not specified.\n- `ZIP` : AWS CodeBuild creates in the output bucket a ZIP file that contains the build output.", - "title": "Packaging", - "type": "string" - }, - "Path": { - "markdownDescription": "Along with `namespaceType` and `name` , the pattern that AWS CodeBuild uses to name and store the output artifact:\n\n- If `type` is set to `CODEPIPELINE` , CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , this is the path to the output artifact. If `path` is not specified, `path` is not used.\n\nFor example, if `path` is set to `MyArtifacts` , `namespaceType` is set to `NONE` , and `name` is set to `MyArtifact.zip` , the output artifact is stored in the output bucket at `MyArtifacts/MyArtifact.zip` .", - "title": "Path", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of build output artifact. Valid values include:\n\n- `CODEPIPELINE` : The build project has build output generated through CodePipeline.\n\n> The `CODEPIPELINE` type is not supported for `secondaryArtifacts` .\n- `NO_ARTIFACTS` : The build project does not produce any build output.\n- `S3` : The build project stores build output in Amazon S3.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.BatchRestrictions": { - "additionalProperties": false, - "properties": { - "ComputeTypesAllowed": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of strings that specify the compute types that are allowed for the batch build. See [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide* for these values.", - "title": "ComputeTypesAllowed", - "type": "array" - }, - "MaximumBuildsAllowed": { - "markdownDescription": "Specifies the maximum number of builds allowed.", - "title": "MaximumBuildsAllowed", - "type": "number" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.BuildStatusConfig": { - "additionalProperties": false, - "properties": { - "Context": { - "markdownDescription": "Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.\n\n- **Bitbucket** - This parameter is used for the `name` parameter in the Bitbucket commit status. For more information, see [build](https://docs.aws.amazon.com/https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) in the Bitbucket API documentation.\n- **GitHub/GitHub Enterprise Server** - This parameter is used for the `context` parameter in the GitHub commit status. For more information, see [Create a commit status](https://docs.aws.amazon.com/https://developer.github.com/v3/repos/statuses/#create-a-commit-status) in the GitHub developer guide.", - "title": "Context", - "type": "string" - }, - "TargetUrl": { - "markdownDescription": "Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.\n\n- **Bitbucket** - This parameter is used for the `url` parameter in the Bitbucket commit status. For more information, see [build](https://docs.aws.amazon.com/https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) in the Bitbucket API documentation.\n- **GitHub/GitHub Enterprise Server** - This parameter is used for the `target_url` parameter in the GitHub commit status. For more information, see [Create a commit status](https://docs.aws.amazon.com/https://developer.github.com/v3/repos/statuses/#create-a-commit-status) in the GitHub developer guide.", - "title": "TargetUrl", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.CloudWatchLogsConfig": { - "additionalProperties": false, - "properties": { - "GroupName": { - "markdownDescription": "The group name of the logs in CloudWatch Logs. For more information, see [Working with Log Groups and Log Streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) .", - "title": "GroupName", - "type": "string" - }, - "Status": { - "markdownDescription": "The current status of the logs in CloudWatch Logs for a build project. Valid values are:\n\n- `ENABLED` : CloudWatch Logs are enabled for this build project.\n- `DISABLED` : CloudWatch Logs are not enabled for this build project.", - "title": "Status", - "type": "string" - }, - "StreamName": { - "markdownDescription": "The prefix of the stream name of the CloudWatch Logs. For more information, see [Working with Log Groups and Log Streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) .", - "title": "StreamName", - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.DockerServer": { - "additionalProperties": false, - "properties": { - "ComputeType": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ComputeType" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Environment": { - "additionalProperties": false, - "properties": { - "Certificate": { - "markdownDescription": "The ARN of the Amazon S3 bucket, path prefix, and object key that contains the PEM-encoded certificate for the build project. For more information, see [certificate](https://docs.aws.amazon.com/codebuild/latest/userguide/create-project-cli.html#cli.environment.certificate) in the *AWS CodeBuild User Guide* .", - "title": "Certificate", - "type": "string" - }, - "ComputeType": { - "markdownDescription": "The type of compute environment. This determines the number of CPU cores and memory the build environment uses. Available values include:\n\n- `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine.\n\n> If you use `ATTRIBUTE_BASED_COMPUTE` , you must define your attributes by using `computeConfiguration` . AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types) in the *AWS CodeBuild User Guide* .\n- `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n- `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [On-demand environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types) in the *AWS CodeBuild User Guide.*", - "title": "ComputeType", - "type": "string" - }, - "DockerServer": { - "$ref": "#/definitions/AWS::CodeBuild::Project.DockerServer" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" - }, - "markdownDescription": "A set of environment variables to make available to builds for this build project.", - "title": "EnvironmentVariables", - "type": "array" - }, - "Fleet": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFleet" - }, - "HostKernel": { - "type": "string" - }, - "Image": { - "markdownDescription": "The image tag or image digest that identifies the Docker image to use for this build project. Use the following formats:\n\n- For an image tag: `/:` . For example, in the Docker repository that CodeBuild uses to manage its Docker images, this would be `aws/codebuild/standard:4.0` .\n- For an image digest: `/@` . For example, to specify an image with the digest \"sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf,\" use `/@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf` .\n\nFor more information, see [Docker images provided by CodeBuild](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-available.html) in the *AWS CodeBuild user guide* .", - "title": "Image", - "type": "string" - }, - "ImagePullCredentialsType": { - "markdownDescription": "The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid values:\n\n- `CODEBUILD` specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust AWS CodeBuild service principal.\n- `SERVICE_ROLE` specifies that AWS CodeBuild uses your build project's service role.\n\nWhen you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD credentials.", - "title": "ImagePullCredentialsType", - "type": "string" - }, - "PrivilegedMode": { - "markdownDescription": "Enables running the Docker daemon inside a Docker container. Set to true only if the build project is used to build Docker images. Otherwise, a build that attempts to interact with the Docker daemon fails. The default setting is `false` .\n\nYou can initialize the Docker daemon during the install phase of your build by adding one of the following sets of commands to the install phase of your buildspec file:\n\nIf the operating system's base image is Ubuntu Linux:\n\n`- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&`\n\n`- timeout 15 sh -c \"until docker info; do echo .; sleep 1; done\"`\n\nIf the operating system's base image is Alpine Linux and the previous command does not work, add the `-t` argument to `timeout` :\n\n`- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&`\n\n`- timeout -t 15 sh -c \"until docker info; do echo .; sleep 1; done\"`", - "title": "PrivilegedMode", - "type": "boolean" - }, - "RegistryCredential": { - "$ref": "#/definitions/AWS::CodeBuild::Project.RegistryCredential", - "markdownDescription": "`RegistryCredential` is a property of the [AWS::CodeBuild::Project Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-environment) property that specifies information about credentials that provide access to a private Docker registry. When this is set:\n\n- `imagePullCredentialsType` must be set to `SERVICE_ROLE` .\n- images cannot be curated or an Amazon ECR image.", - "title": "RegistryCredential" - }, - "Type": { - "markdownDescription": "The type of build environment to use for related builds.\n\n> If you're using compute fleets during project creation, `type` will be ignored. \n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* .", - "title": "Type", - "type": "string" - } - }, - "required": [ - "ComputeType", - "Image", "Type" ], "type": "object" }, - "AWS::CodeBuild::Project.EnvironmentVariable": { + "AWS::CloudTrail::Dashboard.Frequency": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name or key of the environment variable.", - "title": "Name", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of environment variable. Valid values include:\n\n- `PARAMETER_STORE` : An environment variable stored in Systems Manager Parameter Store. For environment variables of this type, specify the name of the parameter as the `value` of the EnvironmentVariable. The parameter value will be substituted for the name at runtime. You can also define Parameter Store environment variables in the buildspec. To learn how to do so, see [env/parameter-store](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.parameter-store) in the *AWS CodeBuild User Guide* .\n- `PLAINTEXT` : An environment variable in plain text format. This is the default value.\n- `SECRETS_MANAGER` : An environment variable stored in AWS Secrets Manager . For environment variables of this type, specify the name of the secret as the `value` of the EnvironmentVariable. The secret value will be substituted for the name at runtime. You can also define AWS Secrets Manager environment variables in the buildspec. To learn how to do so, see [env/secrets-manager](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.secrets-manager) in the *AWS CodeBuild User Guide* .", - "title": "Type", + "Unit": { + "markdownDescription": "The unit to use for the refresh.\n\nFor custom dashboards, the unit can be `HOURS` or `DAYS` .\n\nFor the Highlights dashboard, the `Unit` must be `HOURS` .", + "title": "Unit", "type": "string" }, "Value": { - "markdownDescription": "The value of the environment variable.\n\n> We strongly discourage the use of `PLAINTEXT` environment variables to store sensitive values, especially AWS secret key IDs. `PLAINTEXT` environment variables can be displayed in plain text using the AWS CodeBuild console and the AWS CLI . For sensitive values, we recommend you use an environment variable of type `PARAMETER_STORE` or `SECRETS_MANAGER` .", + "markdownDescription": "The value for the refresh schedule.\n\nFor custom dashboards, the following values are valid when the unit is `HOURS` : `1` , `6` , `12` , `24`\n\nFor custom dashboards, the only valid value when the unit is `DAYS` is `1` .\n\nFor the Highlights dashboard, the `Value` must be `6` .", "title": "Value", - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.FilterGroup": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::CodeBuild::Project.GitSubmodulesConfig": { - "additionalProperties": false, - "properties": { - "FetchSubmodules": { - "markdownDescription": "Set to true to fetch Git submodules for your AWS CodeBuild build project.", - "title": "FetchSubmodules", - "type": "boolean" - } - }, - "required": [ - "FetchSubmodules" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.LogsConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::CodeBuild::Project.CloudWatchLogsConfig", - "markdownDescription": "Information about CloudWatch Logs for a build project. CloudWatch Logs are enabled by default.", - "title": "CloudWatchLogs" - }, - "S3Logs": { - "$ref": "#/definitions/AWS::CodeBuild::Project.S3LogsConfig", - "markdownDescription": "Information about logs built to an S3 bucket for a build project. S3 logs are not enabled by default.", - "title": "S3Logs" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { - "additionalProperties": false, - "properties": { - "BatchReportMode": { - "markdownDescription": "Specifies how build status reports are sent to the source provider for the batch build. This property is only used when the source provider for your project is Bitbucket, GitHub, or GitHub Enterprise, and your project is configured to report build statuses to the source provider.\n\n- **REPORT_AGGREGATED_BATCH** - (Default) Aggregate all of the build statuses into a single status report.\n- **REPORT_INDIVIDUAL_BUILDS** - Send a separate status report for each individual build.", - "title": "BatchReportMode", - "type": "string" - }, - "CombineArtifacts": { - "markdownDescription": "Specifies if the build artifacts for the batch build should be combined into a single artifact location.", - "title": "CombineArtifacts", - "type": "boolean" - }, - "Restrictions": { - "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions", - "markdownDescription": "A `BatchRestrictions` object that specifies the restrictions for the batch build.", - "title": "Restrictions" - }, - "ServiceRole": { - "markdownDescription": "Specifies the service role ARN for the batch build project.", - "title": "ServiceRole", - "type": "string" - }, - "TimeoutInMins": { - "markdownDescription": "Specifies the maximum amount of time, in minutes, that the batch build must be completed in.", - "title": "TimeoutInMins", "type": "number" } }, - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectCache": { - "additionalProperties": false, - "properties": { - "CacheNamespace": { - "markdownDescription": "Defines the scope of the cache. You can use this namespace to share a cache across multiple projects. For more information, see [Cache sharing between projects](https://docs.aws.amazon.com/codebuild/latest/userguide/caching-s3.html#caching-s3-sharing) in the *AWS CodeBuild User Guide* .", - "title": "CacheNamespace", - "type": "string" - }, - "Location": { - "markdownDescription": "Information about the cache location:\n\n- `NO_CACHE` or `LOCAL` : This value is ignored.\n- `S3` : This is the S3 bucket name/prefix.", - "title": "Location", - "type": "string" - }, - "Modes": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of strings that specify the local cache modes. You can use one or more local cache modes at the same time. This is only used for `LOCAL` cache types.\n\nPossible values are:\n\n- **LOCAL_SOURCE_CACHE** - Caches Git metadata for primary and secondary sources. After the cache is created, subsequent builds pull only the change between commits. This mode is a good choice for projects with a clean working directory and a source that is a large Git repository. If you choose this option and your project does not use a Git repository (GitHub, GitHub Enterprise, or Bitbucket), the option is ignored.\n- **LOCAL_DOCKER_LAYER_CACHE** - Caches existing Docker layers. This mode is a good choice for projects that build or pull large Docker images. It can prevent the performance issues caused by pulling large Docker images down from the network.\n\n> - You can use a Docker layer cache in the Linux environment only.\n> - The `privileged` flag must be set so that your project has the required Docker permissions.\n> - You should consider the security implications before you use a Docker layer cache.\n- **LOCAL_CUSTOM_CACHE** - Caches directories you specify in the buildspec file. This mode is a good choice if your build scenario is not suited to one of the other three local cache modes. If you use a custom cache:\n\n- Only directories can be specified for caching. You cannot specify individual files.\n- Symlinks are used to reference cached directories.\n- Cached directories are linked to your build before it downloads its project sources. Cached items are overridden if a source item has the same name. Directories are specified using cache paths in the buildspec file.", - "title": "Modes", - "type": "array" - }, - "Type": { - "markdownDescription": "The type of cache used by the build project. Valid values include:\n\n- `NO_CACHE` : The build project does not use any cache.\n- `S3` : The build project reads and writes from and to S3.\n- `LOCAL` : The build project stores a cache locally on a build host that is only available to that build host.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectFileSystemLocation": { - "additionalProperties": false, - "properties": { - "Identifier": { - "markdownDescription": "The name used to access a file system created by Amazon EFS. CodeBuild creates an environment variable by appending the `identifier` in all capital letters to `CODEBUILD_` . For example, if you specify `my_efs` for `identifier` , a new environment variable is create named `CODEBUILD_MY_EFS` .\n\nThe `identifier` is used to mount your file system.", - "title": "Identifier", - "type": "string" - }, - "Location": { - "markdownDescription": "A string that specifies the location of the file system created by Amazon EFS. Its format is `efs-dns-name:/directory-path` . You can find the DNS name of file system when you view it in the Amazon EFS console. The directory path is a path to a directory in the file system that CodeBuild mounts. For example, if the DNS name of a file system is `fs-abcd1234.efs.us-west-2.amazonaws.com` , and its mount directory is `my-efs-mount-directory` , then the `location` is `fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory` .\n\nThe directory path in the format `efs-dns-name:/directory-path` is optional. If you do not specify a directory path, the location is only the DNS name and CodeBuild mounts the entire file system.", - "title": "Location", - "type": "string" - }, - "MountOptions": { - "markdownDescription": "The mount options for a file system created by Amazon EFS. The default mount options used by CodeBuild are `nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2` . For more information, see [Recommended NFS Mount Options](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html) .", - "title": "MountOptions", - "type": "string" - }, - "MountPoint": { - "markdownDescription": "The location in the container where you mount the file system.", - "title": "MountPoint", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of the file system. The one supported type is `EFS` .", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Identifier", - "Location", - "MountPoint", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectFleet": { - "additionalProperties": false, - "properties": { - "FleetArn": { - "markdownDescription": "Specifies the compute fleet ARN for the build project.", - "title": "FleetArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectSourceVersion": { - "additionalProperties": false, - "properties": { - "SourceIdentifier": { - "markdownDescription": "An identifier for a source in the build project. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.", - "title": "SourceIdentifier", - "type": "string" - }, - "SourceVersion": { - "markdownDescription": "The source version for the corresponding source identifier. If specified, must be one of:\n\n- For CodeCommit: the commit ID, branch, or Git tag to use.\n- For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format `pr/pull-request-ID` (for example, `pr/25` ). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For GitLab: the commit ID, branch, or Git tag to use.\n- For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For Amazon S3: the version ID of the object that represents the build input ZIP file to use.\n\nFor more information, see [Source Version Sample with CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) in the *AWS CodeBuild User Guide* .", - "title": "SourceVersion", - "type": "string" - } - }, - "required": [ - "SourceIdentifier" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectTriggers": { - "additionalProperties": false, - "properties": { - "BuildType": { - "markdownDescription": "Specifies the type of build this webhook will trigger. Allowed values are:\n\n- **BUILD** - A single build\n- **BUILD_BATCH** - A batch build", - "title": "BuildType", - "type": "string" - }, - "FilterGroups": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.FilterGroup" - }, - "markdownDescription": "A list of lists of `WebhookFilter` objects used to determine which webhook events are triggered. At least one `WebhookFilter` in the array must specify `EVENT` as its type.", - "title": "FilterGroups", - "type": "array" - }, - "PullRequestBuildPolicy": { - "$ref": "#/definitions/AWS::CodeBuild::Project.PullRequestBuildPolicy" - }, - "ScopeConfiguration": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ScopeConfiguration", - "markdownDescription": "Contains configuration information about the scope for a webhook.", - "title": "ScopeConfiguration" - }, - "Webhook": { - "markdownDescription": "Specifies whether or not to begin automatically rebuilding the source code every time a code change is pushed to the repository.", - "title": "Webhook", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.PullRequestBuildPolicy": { - "additionalProperties": false, - "properties": { - "ApproverRoles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RequiresCommentApproval": { - "type": "string" - } - }, - "required": [ - "RequiresCommentApproval" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.RegistryCredential": { - "additionalProperties": false, - "properties": { - "Credential": { - "markdownDescription": "The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets Manager .\n\n> The `credential` can use the name of the credentials only if they exist in your current AWS Region .", - "title": "Credential", - "type": "string" - }, - "CredentialProvider": { - "markdownDescription": "The service that created the credentials to access a private Docker registry. The valid value, SECRETS_MANAGER, is for AWS Secrets Manager .", - "title": "CredentialProvider", - "type": "string" - } - }, "required": [ - "Credential", - "CredentialProvider" + "Unit", + "Value" ], "type": "object" }, - "AWS::CodeBuild::Project.S3LogsConfig": { + "AWS::CloudTrail::Dashboard.RefreshSchedule": { "additionalProperties": false, "properties": { - "EncryptionDisabled": { - "markdownDescription": "Set to true if you do not want your S3 build log output encrypted. By default S3 build logs are encrypted.", - "title": "EncryptionDisabled", - "type": "boolean" - }, - "Location": { - "markdownDescription": "The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 bucket name is `my-bucket` , and your path prefix is `build-log` , then acceptable formats are `my-bucket/build-log` or `arn:aws:s3:::my-bucket/build-log` .", - "title": "Location", - "type": "string" + "Frequency": { + "$ref": "#/definitions/AWS::CloudTrail::Dashboard.Frequency", + "markdownDescription": "The frequency at which you want the dashboard refreshed.", + "title": "Frequency" }, "Status": { - "markdownDescription": "The current status of the S3 build logs. Valid values are:\n\n- `ENABLED` : S3 build logs are enabled for this build project.\n- `DISABLED` : S3 build logs are not enabled for this build project.", + "markdownDescription": "Specifies whether the refresh schedule is enabled. Set the value to `ENABLED` to enable the refresh schedule, or to `DISABLED` to turn off the refresh schedule.", "title": "Status", "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ScopeConfiguration": { - "additionalProperties": false, - "properties": { - "Domain": { - "markdownDescription": "The domain of the GitHub Enterprise organization or the GitLab Self Managed group. Note that this parameter is only required if your project's source type is GITHUB_ENTERPRISE or GITLAB_SELF_MANAGED.", - "title": "Domain", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of either the enterprise or organization that will send webhook events to CodeBuild , depending on if the webhook is a global or organization webhook respectively.", - "title": "Name", - "type": "string" - }, - "Scope": { - "markdownDescription": "The type of scope for a GitHub or GitLab webhook. The scope default is GITHUB_ORGANIZATION.", - "title": "Scope", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Source": { - "additionalProperties": false, - "properties": { - "Auth": { - "$ref": "#/definitions/AWS::CodeBuild::Project.SourceAuth", - "markdownDescription": "Information about the authorization settings for AWS CodeBuild to access the source code to be built.", - "title": "Auth" - }, - "BuildSpec": { - "markdownDescription": "The build specification for the project. If this value is not provided, then the source code must contain a buildspec file named `buildspec.yml` at the root level. If this value is provided, it can be either a single string containing the entire build specification, or the path to an alternate buildspec file relative to the value of the built-in environment variable `CODEBUILD_SRC_DIR` . The alternate buildspec file can have a name other than `buildspec.yml` , for example `myspec.yml` or `build_spec_qa.yml` or similar. For more information, see the [Build Spec Reference](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-example) in the *AWS CodeBuild User Guide* .", - "title": "BuildSpec", - "type": "string" - }, - "BuildStatusConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig", - "markdownDescription": "Contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is `GITHUB` , `GITHUB_ENTERPRISE` , or `BITBUCKET` .", - "title": "BuildStatusConfig" - }, - "GitCloneDepth": { - "markdownDescription": "The depth of history to download. Minimum value is 0. If this value is 0, greater than 25, or not provided, then the full history is downloaded with each build project. If your source type is Amazon S3, this value is not supported.", - "title": "GitCloneDepth", - "type": "number" - }, - "GitSubmodulesConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig", - "markdownDescription": "Information about the Git submodules configuration for the build project.", - "title": "GitSubmodulesConfig" - }, - "InsecureSsl": { - "markdownDescription": "This is used with GitHub Enterprise only. Set to true to ignore SSL warnings while connecting to your GitHub Enterprise project repository. The default value is `false` . `InsecureSsl` should be used for testing purposes only. It should not be used in a production environment.", - "title": "InsecureSsl", - "type": "boolean" - }, - "Location": { - "markdownDescription": "Information about the location of the source code to be built. Valid values include:\n\n- For source code settings that are specified in the source action of a pipeline in CodePipeline, `location` should not be specified. If it is specified, CodePipeline ignores it. This is because CodePipeline uses the settings in a pipeline's source action instead of this value.\n- For source code in an CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the buildspec file (for example, `https://git-codecommit..amazonaws.com/v1/repos/` ).\n- For source code in an Amazon S3 input bucket, one of the following.\n\n- The path to the ZIP file that contains the source code (for example, `//.zip` ).\n- The path to the folder that contains the source code (for example, `///` ).\n- For source code in a GitHub repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your AWS account to your GitHub account. Use the AWS CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with GitHub, on the GitHub *Authorize application* page, for *Organization access* , choose *Request access* next to each repository you want to allow AWS CodeBuild to have access to, and then choose *Authorize application* . (After you have connected to your GitHub account, you do not need to finish creating the build project. You can leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this connection, in the `source` object, set the `auth` object's `type` value to `OAUTH` .\n- For source code in an GitLab or self-managed GitLab repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your AWS account to your GitLab account. Use the AWS CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with GitLab, on the Connections *Authorize application* page, choose *Authorize* . Then on the AWS CodeConnections *Create GitLab connection* page, choose *Connect to GitLab* . (After you have connected to your GitLab account, you do not need to finish creating the build project. You can leave the AWS CodeBuild console.) To instruct AWS CodeBuild to override the default connection and use this connection instead, set the `auth` object's `type` value to `CODECONNECTIONS` in the `source` object.\n- For source code in a Bitbucket repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your AWS account to your Bitbucket account. Use the AWS CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with Bitbucket, on the Bitbucket *Confirm access to your account* page, choose *Grant access* . (After you have connected to your Bitbucket account, you do not need to finish creating the build project. You can leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this connection, in the `source` object, set the `auth` object's `type` value to `OAUTH` .\n\nIf you specify `CODEPIPELINE` for the `Type` property, don't specify this property. For all of the other types, you must specify `Location` .", - "title": "Location", - "type": "string" - }, - "ReportBuildStatus": { - "markdownDescription": "Set to true to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. If this is set and you use a different source provider, an `invalidInputException` is thrown.", - "title": "ReportBuildStatus", - "type": "boolean" - }, - "SourceIdentifier": { - "markdownDescription": "An identifier for this project source. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.", - "title": "SourceIdentifier", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of repository that contains the source code to be built. Valid values include:\n\n- `BITBUCKET` : The source code is in a Bitbucket repository.\n- `CODECOMMIT` : The source code is in an CodeCommit repository.\n- `CODEPIPELINE` : The source code settings are specified in the source action of a pipeline in CodePipeline.\n- `GITHUB` : The source code is in a GitHub repository.\n- `GITHUB_ENTERPRISE` : The source code is in a GitHub Enterprise Server repository.\n- `GITLAB` : The source code is in a GitLab repository.\n- `GITLAB_SELF_MANAGED` : The source code is in a self-managed GitLab repository.\n- `NO_SOURCE` : The project does not have input source code.\n- `S3` : The source code is in an Amazon S3 bucket.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.SourceAuth": { - "additionalProperties": false, - "properties": { - "Resource": { - "markdownDescription": "The resource value that applies to the specified authorization type.", - "title": "Resource", - "type": "string" }, - "Type": { - "markdownDescription": "The authorization type to use. Valid options are OAUTH, CODECONNECTIONS, or SECRETS_MANAGER.", - "title": "Type", + "TimeOfDay": { + "markdownDescription": "The time of day in UTC to run the schedule; for hourly only refer to minutes; default is 00:00.", + "title": "TimeOfDay", "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::CodeBuild::Project.VpcConfig": { + "AWS::CloudTrail::Dashboard.Widget": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of one or more security groups IDs in your Amazon VPC. The maximum count is 5.", - "title": "SecurityGroupIds", - "type": "array" - }, - "Subnets": { + "QueryParameters": { "items": { "type": "string" }, - "markdownDescription": "A list of one or more subnet IDs in your Amazon VPC. The maximum count is 16.", - "title": "Subnets", + "markdownDescription": "The optional query parameters. The following query parameters are valid: `$StartTime$` , `$EndTime$` , and `$Period$` .", + "title": "QueryParameters", "type": "array" }, - "VpcId": { - "markdownDescription": "The ID of the Amazon VPC.", - "title": "VpcId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.WebhookFilter": { - "additionalProperties": false, - "properties": { - "ExcludeMatchedPattern": { - "markdownDescription": "Used to indicate that the `pattern` determines which webhook events do not trigger a build. If true, then a webhook event that does not match the `pattern` triggers a build. If false, then a webhook event that matches the `pattern` triggers a build.", - "title": "ExcludeMatchedPattern", - "type": "boolean" - }, - "Pattern": { - "markdownDescription": "For a `WebHookFilter` that uses `EVENT` type, a comma-separated string that specifies one or more events. For example, the webhook filter `PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED` allows all push, pull request created, and pull request updated events to trigger a build.\n\nFor a `WebHookFilter` that uses any of the other filter types, a regular expression pattern. For example, a `WebHookFilter` that uses `HEAD_REF` for its `type` and the pattern `^refs/heads/` triggers a build when the head reference is a branch with a reference name `refs/heads/branch-name` .", - "title": "Pattern", + "QueryStatement": { + "markdownDescription": "The query statement for the widget. For custom dashboard widgets, you can query across multiple event data stores as long as all event data stores exist in your account.\n\n> When a query uses `?` with `eventTime` , `?` must be surrounded by single quotes as follows: `'?'` .", + "title": "QueryStatement", "type": "string" }, - "Type": { - "markdownDescription": "The type of webhook filter. There are 11 webhook filter types: `EVENT` , `ACTOR_ACCOUNT_ID` , `HEAD_REF` , `BASE_REF` , `FILE_PATH` , `COMMIT_MESSAGE` , `TAG_NAME` , `RELEASE_NAME` , `REPOSITORY_NAME` , `ORGANIZATION_NAME` , and `WORKFLOW_NAME` .\n\n- EVENT\n\n- A webhook event triggers a build when the provided `pattern` matches one of nine event types: `PUSH` , `PULL_REQUEST_CREATED` , `PULL_REQUEST_UPDATED` , `PULL_REQUEST_CLOSED` , `PULL_REQUEST_REOPENED` , `PULL_REQUEST_MERGED` , `RELEASED` , `PRERELEASED` , and `WORKFLOW_JOB_QUEUED` . The `EVENT` patterns are specified as a comma-separated string. For example, `PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED` filters all push, pull request created, and pull request updated events.\n\n> Types `PULL_REQUEST_REOPENED` and `WORKFLOW_JOB_QUEUED` work with GitHub and GitHub Enterprise only. Types `RELEASED` and `PRERELEASED` work with GitHub only.\n- ACTOR_ACCOUNT_ID\n\n- A webhook event triggers a build when a GitHub, GitHub Enterprise, or Bitbucket account ID matches the regular expression `pattern` .\n- HEAD_REF\n\n- A webhook event triggers a build when the head reference matches the regular expression `pattern` . For example, `refs/heads/branch-name` and `refs/tags/tag-name` .\n\n> Works with GitHub and GitHub Enterprise push, GitHub and GitHub Enterprise pull request, Bitbucket push, and Bitbucket pull request events.\n- BASE_REF\n\n- A webhook event triggers a build when the base reference matches the regular expression `pattern` . For example, `refs/heads/branch-name` .\n\n> Works with pull request events only.\n- FILE_PATH\n\n- A webhook triggers a build when the path of a changed file matches the regular expression `pattern` .\n\n> Works with push and pull request events only.\n- COMMIT_MESSAGE\n\n- A webhook triggers a build when the head commit message matches the regular expression `pattern` .\n\n> Works with push and pull request events only.\n- TAG_NAME\n\n- A webhook triggers a build when the tag name of the release matches the regular expression `pattern` .\n\n> Works with `RELEASED` and `PRERELEASED` events only.\n- RELEASE_NAME\n\n- A webhook triggers a build when the release name matches the regular expression `pattern` .\n\n> Works with `RELEASED` and `PRERELEASED` events only.\n- REPOSITORY_NAME\n\n- A webhook triggers a build when the repository name matches the regular expression `pattern` .\n\n> Works with GitHub global or organization webhooks only.\n- ORGANIZATION_NAME\n\n- A webhook triggers a build when the organization name matches the regular expression `pattern` .\n\n> Works with GitHub global webhooks only.\n- WORKFLOW_NAME\n\n- A webhook triggers a build when the workflow name matches the regular expression `pattern` .\n\n> Works with `WORKFLOW_JOB_QUEUED` events only. > For CodeBuild-hosted Buildkite runner builds, WORKFLOW_NAME filters will filter by pipeline name.", - "title": "Type", - "type": "string" + "ViewProperties": { + "additionalProperties": true, + "markdownDescription": "The view properties for the widget. For more information about view properties, see [View properties for widgets](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-widget-properties.html) in the *AWS CloudTrail User Guide* .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ViewProperties", + "type": "object" } }, "required": [ - "Pattern", - "Type" + "QueryStatement" ], "type": "object" }, - "AWS::CodeBuild::ReportGroup": { + "AWS::CloudTrail::EventDataStore": { "additionalProperties": false, "properties": { "Condition": { @@ -77127,44 +77672,104 @@ "Properties": { "additionalProperties": false, "properties": { - "DeleteReports": { - "markdownDescription": "When deleting a report group, specifies if reports within the report group should be deleted.\n\n- **true** - Deletes any reports that belong to the report group before deleting the report group.\n- **false** - You must delete any reports in the report group. This is the default value. If you delete a report group that contains one or more reports, an exception is thrown.", - "title": "DeleteReports", + "AdvancedEventSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.AdvancedEventSelector" + }, + "markdownDescription": "The advanced event selectors to use to select the events for the data store. You can configure up to five advanced event selectors for each event data store.\n\nFor more information about how to use advanced event selectors to log CloudTrail events, see [Log events by using advanced event selectors](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced) in the CloudTrail User Guide.\n\nFor more information about how to use advanced event selectors to include AWS Config configuration items in your event data store, see [Create an event data store for AWS Config configuration items](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-eds-cli.html#lake-cli-create-eds-config) in the CloudTrail User Guide.\n\nFor more information about how to use advanced event selectors to include events outside of AWS events in your event data store, see [Create an integration to log events from outside AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-integrations-cli.html#lake-cli-create-integration) in the CloudTrail User Guide.", + "title": "AdvancedEventSelectors", + "type": "array" + }, + "BillingMode": { + "markdownDescription": "The billing mode for the event data store determines the cost for ingesting events and the default and maximum retention period for the event data store.\n\nThe following are the possible values:\n\n- `EXTENDABLE_RETENTION_PRICING` - This billing mode is generally recommended if you want a flexible retention period of up to 3653 days (about 10 years). The default retention period for this billing mode is 366 days.\n- `FIXED_RETENTION_PRICING` - This billing mode is recommended if you expect to ingest more than 25 TB of event data per month and need a retention period of up to 2557 days (about 7 years). The default retention period for this billing mode is 2557 days.\n\nThe default value is `EXTENDABLE_RETENTION_PRICING` .\n\nFor more information about CloudTrail pricing, see [AWS CloudTrail Pricing](https://docs.aws.amazon.com/cloudtrail/pricing/) and [Managing CloudTrail Lake costs](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html) .", + "title": "BillingMode", + "type": "string" + }, + "ContextKeySelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.ContextKeySelector" + }, + "markdownDescription": "The list of context key selectors that are configured for the event data store.", + "title": "ContextKeySelectors", + "type": "array" + }, + "FederationEnabled": { + "markdownDescription": "Indicates if [Lake query federation](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-federation.html) is enabled. By default, Lake query federation is disabled. You cannot delete an event data store if Lake query federation is enabled.", + "title": "FederationEnabled", "type": "boolean" }, - "ExportConfig": { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.ReportExportConfig", - "markdownDescription": "Information about the destination where the raw data of this `ReportGroup` is exported.", - "title": "ExportConfig" + "FederationRoleArn": { + "markdownDescription": "If Lake query federation is enabled, provides the ARN of the federation role used to access the resources for the federated event data store.\n\nThe federation role must exist in your account and provide the [required minimum permissions](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-federation.html#query-federation-permissions-role) .", + "title": "FederationRoleArn", + "type": "string" + }, + "IngestionEnabled": { + "markdownDescription": "Specifies whether the event data store should start ingesting live events. The default is true.", + "title": "IngestionEnabled", + "type": "boolean" + }, + "InsightSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.InsightSelector" + }, + "markdownDescription": "A JSON string that contains the Insights types you want to log on an event data store. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", + "title": "InsightSelectors", + "type": "array" + }, + "InsightsDestination": { + "markdownDescription": "The ARN (or ID suffix of the ARN) of the destination event data store that logs Insights events. For more information, see [Create an event data store for CloudTrail Insights events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-insights.html) .", + "title": "InsightsDestination", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "Specifies the AWS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by `alias/` , a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.\n\n> Disabling or deleting the KMS key, or removing CloudTrail permissions on the key, prevents CloudTrail from logging events to the event data store, and prevents users from querying the data in the event data store that was encrypted with the key. After you associate an event data store with a KMS key, the KMS key cannot be removed or changed. Before you disable or delete a KMS key that you are using with an event data store, delete or back up your event data store. \n\nCloudTrail also supports AWS multi-Region keys. For more information about multi-Region keys, see [Using multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *AWS Key Management Service Developer Guide* .\n\nExamples:\n\n- `alias/MyAliasName`\n- `arn:aws:kms:us-east-2:123456789012:alias/MyAliasName`\n- `arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012`\n- `12345678-1234-1234-1234-123456789012`", + "title": "KmsKeyId", + "type": "string" + }, + "MaxEventSize": { + "markdownDescription": "The maximum allowed size for events to be stored in the specified event data store. If you are using context key selectors, MaxEventSize must be set to Large.", + "title": "MaxEventSize", + "type": "string" + }, + "MultiRegionEnabled": { + "markdownDescription": "Specifies whether the event data store includes events from all Regions, or only from the Region in which the event data store is created.", + "title": "MultiRegionEnabled", + "type": "boolean" }, "Name": { - "markdownDescription": "The name of the `ReportGroup` .", + "markdownDescription": "The name of the event data store.", "title": "Name", "type": "string" }, + "OrganizationEnabled": { + "markdownDescription": "Specifies whether an event data store collects events logged for an organization in AWS Organizations .", + "title": "OrganizationEnabled", + "type": "boolean" + }, + "RetentionPeriod": { + "markdownDescription": "The retention period of the event data store, in days. If `BillingMode` is set to `EXTENDABLE_RETENTION_PRICING` , you can set a retention period of up to 3653 days, the equivalent of 10 years. If `BillingMode` is set to `FIXED_RETENTION_PRICING` , you can set a retention period of up to 2557 days, the equivalent of seven years.\n\nCloudTrail Lake determines whether to retain an event by checking if the `eventTime` of the event is within the specified retention period. For example, if you set a retention period of 90 days, CloudTrail will remove events when the `eventTime` is older than 90 days.\n\n> If you plan to copy trail events to this event data store, we recommend that you consider both the age of the events that you want to copy as well as how long you want to keep the copied events in your event data store. For example, if you copy trail events that are 5 years old and specify a retention period of 7 years, the event data store will retain those events for two years.", + "title": "RetentionPeriod", + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of tag key and value pairs associated with this report group.\n\nThese tags are available for use by AWS services that support AWS CodeBuild report group tags.", + "markdownDescription": "A list of tags.", "title": "Tags", "type": "array" }, - "Type": { - "markdownDescription": "The type of the `ReportGroup` . This can be one of the following values:\n\n- **CODE_COVERAGE** - The report group contains code coverage reports.\n- **TEST** - The report group contains test reports.", - "title": "Type", - "type": "string" + "TerminationProtectionEnabled": { + "markdownDescription": "Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled.", + "title": "TerminationProtectionEnabled", + "type": "boolean" } }, - "required": [ - "ExportConfig", - "Type" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeBuild::ReportGroup" + "AWS::CloudTrail::EventDataStore" ], "type": "string" }, @@ -77178,70 +77783,129 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::CodeBuild::ReportGroup.ReportExportConfig": { + "AWS::CloudTrail::EventDataStore.AdvancedEventSelector": { "additionalProperties": false, "properties": { - "ExportConfigType": { - "markdownDescription": "The export configuration type. Valid values are:\n\n- `S3` : The report results are exported to an S3 bucket.\n- `NO_EXPORT` : The report results are not exported.", - "title": "ExportConfigType", - "type": "string" + "FieldSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.AdvancedFieldSelector" + }, + "markdownDescription": "Contains all selector statements in an advanced event selector.", + "title": "FieldSelectors", + "type": "array" }, - "S3Destination": { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.S3ReportExportConfig", - "markdownDescription": "A `S3ReportExportConfig` object that contains information about the S3 bucket where the run of a report is exported.", - "title": "S3Destination" + "Name": { + "markdownDescription": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".", + "title": "Name", + "type": "string" } }, "required": [ - "ExportConfigType" + "FieldSelectors" ], "type": "object" }, - "AWS::CodeBuild::ReportGroup.S3ReportExportConfig": { + "AWS::CloudTrail::EventDataStore.AdvancedFieldSelector": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the S3 bucket where the raw data of a report are exported.", - "title": "Bucket", - "type": "string" + "EndsWith": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that includes events that match the last few characters of the event record field specified as the value of `Field` .", + "title": "EndsWith", + "type": "array" }, - "BucketOwner": { - "markdownDescription": "The AWS account identifier of the owner of the Amazon S3 bucket. This allows report data to be exported to an Amazon S3 bucket that is owned by an account other than the account running the build.", - "title": "BucketOwner", + "Equals": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that includes events that match the exact value of the event record field specified as the value of `Field` . This is the only valid operator that you can use with the `readOnly` , `eventCategory` , and `resources.type` fields.", + "title": "Equals", + "type": "array" + }, + "Field": { + "markdownDescription": "A field in a CloudTrail event record on which to filter events to be logged. For event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the field is used only for selecting events as filtering is not supported.\n\nFor CloudTrail management events, supported fields include `eventCategory` (required), `eventSource` , and `readOnly` . The following additional fields are available for event data stores: `eventName` , `eventType` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail data events, supported fields include `eventCategory` (required), `eventName` , `eventSource` , `eventType` , `resources.type` (required), `readOnly` , `resources.ARN` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail network activity events, supported fields include `eventCategory` (required), `eventSource` (required), `eventName` , `errorCode` , and `vpcEndpointId` .\n\nFor event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the only supported field is `eventCategory` .\n\n> Selectors don't support the use of wildcards like `*` . To match multiple values with a single condition, you may use `StartsWith` , `EndsWith` , `NotStartsWith` , or `NotEndsWith` to explicitly match the beginning or end of the event field. \n\n- *`readOnly`* - This is an optional field that is only used for management events and data events. This field can be set to `Equals` with a value of `true` or `false` . If you do not add this field, CloudTrail logs both `read` and `write` events. A value of `true` logs only `read` events. A value of `false` logs only `write` events.\n- *`eventSource`* - This field is only used for management events, data events, and network activity events.\n\nFor management events for trails, this is an optional field that can be set to `NotEquals` `kms.amazonaws.com` to exclude KMS management events, or `NotEquals` `rdsdata.amazonaws.com` to exclude RDS management events.\n\nFor data events for trails, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor management and data events for event data stores, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor network activity events, this is a required field that only uses the `Equals` operator. Set this field to the event source for which you want to log network activity events. If you want to log network activity events for multiple event sources, you must create a separate field selector for each event source. For a list of services supporting network activity events, see [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .\n- *`eventName`* - This is an optional field that is only used for data events, management events (for event data stores only), and network activity events. You can use any operator with `eventName` . You can use it to \ufb01lter in or \ufb01lter out specific events. You can have multiple values for this \ufb01eld, separated by commas.\n- *`eventCategory`* - This field is required and must be set to `Equals` .\n\n- For CloudTrail management events, the value must be `Management` .\n- For CloudTrail data events, the value must be `Data` .\n- For CloudTrail network activity events, the value must be `NetworkActivity` .\n\nThe following are used only for event data stores:\n\n- For CloudTrail Insights events, the value must be `Insight` .\n- For AWS Config configuration items, the value must be `ConfigurationItem` .\n- For Audit Manager evidence, the value must be `Evidence` .\n- For events outside of AWS , the value must be `ActivityAuditLog` .\n- *`eventType`* - For event data stores, this is an optional field available for event data stores to filter management and data events on the event type. For trails, this is an optional field to filter data events on the event type. For information about available event types, see [CloudTrail record contents](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html#ct-event-type) in the *AWS CloudTrail user guide* .\n- *`errorCode`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This is the error code to filter on. Currently, the only valid `errorCode` is `VpceAccessDenied` . `errorCode` can only use the `Equals` operator.\n- *`sessionCredentialFromConsole`* - For event data stores, this is an optional field used to filter management and data events based on whether the events originated from an AWS Management Console session. For trails, this is an optional field used to filter data events. `sessionCredentialFromConsole` can only use the `Equals` and `NotEquals` operators.\n- *`resources.type`* - This \ufb01eld is required for CloudTrail data events. `resources.type` can only use the `Equals` operator.\n\nFor a list of available resource types for data events, see [Data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) in the *AWS CloudTrail User Guide* .\n\nYou can have only one `resources.type` \ufb01eld per selector. To log events on more than one resource type, add another selector.\n- *`resources.ARN`* - The `resources.ARN` is an optional field for data events. You can use any operator with `resources.ARN` , but if you use `Equals` or `NotEquals` , the value must exactly match the ARN of a valid resource of the type you've speci\ufb01ed in the template as the value of resources.type. To log all data events for all objects in a specific S3 bucket, use the `StartsWith` operator, and include only the bucket ARN as the matching value.\n\nFor more information about the ARN formats of data event resources, see [Actions, resources, and condition keys for AWS services](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) in the *Service Authorization Reference* .\n\n> You can't use the `resources.ARN` field to filter resource types that do not have ARNs.\n- *`userIdentity.arn`* - For event data stores, this is an optional field used to filter management and data events for actions taken by specific IAM identities. For trails, this is an optional field used to filter data events. You can use any operator with `userIdentity.arn` . For more information on the userIdentity element, see [CloudTrail userIdentity element](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html) in the *AWS CloudTrail User Guide* .\n- *`vpcEndpointId`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This field identifies the VPC endpoint that the request passed through. You can use any operator with `vpcEndpointId` .", + "title": "Field", "type": "string" }, - "EncryptionDisabled": { - "markdownDescription": "A boolean value that specifies if the results of a report are encrypted.", - "title": "EncryptionDisabled", - "type": "boolean" + "NotEndsWith": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that excludes events that match the last few characters of the event record field specified as the value of `Field` .", + "title": "NotEndsWith", + "type": "array" }, - "EncryptionKey": { - "markdownDescription": "The encryption key for the report's encrypted raw data.", - "title": "EncryptionKey", - "type": "string" + "NotEquals": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that excludes events that match the exact value of the event record field specified as the value of `Field` .", + "title": "NotEquals", + "type": "array" }, - "Packaging": { - "markdownDescription": "The type of build output artifact to create. Valid values include:\n\n- `NONE` : CodeBuild creates the raw data in the output bucket. This is the default if packaging is not specified.\n- `ZIP` : CodeBuild creates a ZIP file with the raw data in the output bucket.", - "title": "Packaging", - "type": "string" + "NotStartsWith": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that excludes events that match the first few characters of the event record field specified as the value of `Field` .", + "title": "NotStartsWith", + "type": "array" }, - "Path": { - "markdownDescription": "The path to the exported report's raw data results.", - "title": "Path", + "StartsWith": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that includes events that match the first few characters of the event record field specified as the value of `Field` .", + "title": "StartsWith", + "type": "array" + } + }, + "required": [ + "Field" + ], + "type": "object" + }, + "AWS::CloudTrail::EventDataStore.ContextKeySelector": { + "additionalProperties": false, + "properties": { + "Equals": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of keys defined by Type to be included in CloudTrail enriched events.", + "title": "Equals", + "type": "array" + }, + "Type": { + "markdownDescription": "Specifies the type of the event record field in ContextKeySelector. Valid values include RequestContext, TagContext.", + "title": "Type", "type": "string" } }, "required": [ - "Bucket" + "Equals", + "Type" ], "type": "object" }, - "AWS::CodeBuild::Sandbox": { + "AWS::CloudTrail::EventDataStore.InsightSelector": { + "additionalProperties": false, + "properties": { + "InsightType": { + "markdownDescription": "The type of Insights events to log on an event data store. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", + "title": "InsightType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudTrail::ResourcePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -77276,15 +77940,26 @@ "Properties": { "additionalProperties": false, "properties": { - "ProjectName": { + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the CloudTrail event data store, dashboard, or channel attached to the resource-based policy.\n\nExample event data store ARN format: `arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE`\n\nExample dashboard ARN format: `arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDash`\n\nExample channel ARN format: `arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890`", + "title": "ResourceArn", "type": "string" + }, + "ResourcePolicy": { + "markdownDescription": "A JSON-formatted string for an AWS resource-based policy.\n\nFor example resource-based policies, see [CloudTrail resource-based policy examples](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/security_iam_resource-based-policy-examples.html) in the *CloudTrail User Guide* .", + "title": "ResourcePolicy", + "type": "object" } }, + "required": [ + "ResourceArn", + "ResourcePolicy" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeBuild::Sandbox" + "AWS::CloudTrail::ResourcePolicy" ], "type": "string" }, @@ -77298,11 +77973,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CodeBuild::SourceCredential": { + "AWS::CloudTrail::Trail": { "additionalProperties": false, "properties": { "Condition": { @@ -77337,135 +78013,116 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthType": { - "markdownDescription": "The type of authentication used by the credentials. Valid options are OAUTH, BASIC_AUTH, PERSONAL_ACCESS_TOKEN, CODECONNECTIONS, or SECRETS_MANAGER.", - "title": "AuthType", - "type": "string" - }, - "ServerType": { - "markdownDescription": "The type of source provider. The valid options are GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, or BITBUCKET.", - "title": "ServerType", - "type": "string" + "AdvancedEventSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.AdvancedEventSelector" + }, + "markdownDescription": "Specifies the settings for advanced event selectors. You can use advanced event selectors to log management events, data events for all resource types, and network activity events.\n\nYou can add advanced event selectors, and conditions for your advanced event selectors, up to a maximum of 500 values for all conditions and selectors on a trail. You can use either `AdvancedEventSelectors` or `EventSelectors` , but not both. If you apply `AdvancedEventSelectors` to a trail, any existing `EventSelectors` are overwritten. For more information about advanced event selectors, see [Logging data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) and [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .", + "title": "AdvancedEventSelectors", + "type": "array" }, - "Token": { - "markdownDescription": "For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket, this is either the access token or the app password. For the `authType` CODECONNECTIONS, this is the `connectionArn` . For the `authType` SECRETS_MANAGER, this is the `secretArn` .", - "title": "Token", - "type": "string" + "AggregationConfigurations": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.AggregationConfiguration" + }, + "markdownDescription": "", + "title": "AggregationConfigurations", + "type": "array" }, - "Username": { - "markdownDescription": "The Bitbucket username when the `authType` is BASIC_AUTH. This parameter is not valid for other types of source providers or connections.", - "title": "Username", + "CloudWatchLogsLogGroupArn": { + "markdownDescription": "Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs are delivered. You must use a log group that exists in your account.\n\nTo enable CloudWatch Logs delivery, you must provide values for `CloudWatchLogsLogGroupArn` and `CloudWatchLogsRoleArn` .\n\n> If you previously enabled CloudWatch Logs delivery and want to disable CloudWatch Logs delivery, you must set the values of the `CloudWatchLogsRoleArn` and `CloudWatchLogsLogGroupArn` fields to `\"\"` .", + "title": "CloudWatchLogsLogGroupArn", "type": "string" - } - }, - "required": [ - "AuthType", - "ServerType", - "Token" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::SourceCredential" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "CloudWatchLogsRoleArn": { + "markdownDescription": "Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group. You must use a role that exists in your account.\n\nTo enable CloudWatch Logs delivery, you must provide values for `CloudWatchLogsLogGroupArn` and `CloudWatchLogsRoleArn` .\n\n> If you previously enabled CloudWatch Logs delivery and want to disable CloudWatch Logs delivery, you must set the values of the `CloudWatchLogsRoleArn` and `CloudWatchLogsLogGroupArn` fields to `\"\"` .", + "title": "CloudWatchLogsRoleArn", "type": "string" }, - { + "EnableLogFileValidation": { + "markdownDescription": "Specifies whether log file validation is enabled. The default is false.\n\n> When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail does not create digest files for log files that were delivered during a period in which log file integrity validation was disabled. For example, if you enable log file integrity validation at noon on January 1, disable it at noon on January 2, and re-enable it at noon on January 10, digest files will not be created for the log files delivered from noon on January 2 to noon on January 10. The same applies whenever you stop CloudTrail logging or delete a trail.", + "title": "EnableLogFileValidation", + "type": "boolean" + }, + "EventSelectors": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" }, + "markdownDescription": "Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.\n\nYou can configure up to five event selectors for a trail.\n\nYou cannot apply both event selectors and advanced event selectors to a trail.", + "title": "EventSelectors", "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.Code", - "markdownDescription": "Information about code to be committed to a repository after it is created in an AWS CloudFormation stack. Information about code is only used in resource creation. Updates to a stack will not reflect changes made to code properties after initial resource creation.\n\n> You can only use this property to add code when creating a repository with a CloudFormation template at creation time. This property cannot be used for updating code to an existing repository.", - "title": "Code" }, - "KmsKeyId": { - "markdownDescription": "The ID of the AWS Key Management Service encryption key used to encrypt and decrypt the repository.\n\n> The input can be the full ARN, the key ID, or the key alias. For more information, see [Finding the key ID and key ARN](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html) .", - "title": "KmsKeyId", + "IncludeGlobalServiceEvents": { + "markdownDescription": "Specifies whether the trail is publishing events from global services such as IAM to the log files.", + "title": "IncludeGlobalServiceEvents", + "type": "boolean" + }, + "InsightSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.InsightSelector" + }, + "markdownDescription": "A JSON string that contains the Insights types you want to log on a trail. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", + "title": "InsightSelectors", + "type": "array" + }, + "IsLogging": { + "markdownDescription": "Whether the CloudTrail trail is currently logging AWS API calls.", + "title": "IsLogging", + "type": "boolean" + }, + "IsMultiRegionTrail": { + "markdownDescription": "Specifies whether the trail applies only to the current Region or to all Regions. The default is false. If the trail exists only in the current Region and this value is set to true, shadow trails (replications of the trail) will be created in the other Regions. If the trail exists in all Regions and this value is set to false, the trail will remain in the Region where it was created, and its shadow trails in other Regions will be deleted. As a best practice, consider using trails that log events in all Regions.", + "title": "IsMultiRegionTrail", + "type": "boolean" + }, + "IsOrganizationTrail": { + "markdownDescription": "Specifies whether the trail is applied to all accounts in an organization in AWS Organizations , or only for the current AWS account . The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the management account for an organization in AWS Organizations . If the trail is not an organization trail and this is set to `true` , the trail will be created in all AWS accounts that belong to the organization. If the trail is an organization trail and this is set to `false` , the trail will remain in the current AWS account but be deleted from all member accounts in the organization.\n\n> Only the management account for the organization can convert an organization trail to a non-organization trail, or convert a non-organization trail to an organization trail.", + "title": "IsOrganizationTrail", + "type": "boolean" + }, + "KMSKeyId": { + "markdownDescription": "Specifies the AWS key ID to use to encrypt the logs and digest files delivered by CloudTrail. The value can be an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.\n\nCloudTrail also supports AWS multi-Region keys. For more information about multi-Region keys, see [Using multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *AWS Key Management Service Developer Guide* .\n\nExamples:\n\n- alias/MyAliasName\n- arn:aws:kms:us-east-2:123456789012:alias/MyAliasName\n- arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012\n- 12345678-1234-1234-1234-123456789012", + "title": "KMSKeyId", "type": "string" }, - "RepositoryDescription": { - "markdownDescription": "A comment or description about the new repository.\n\n> The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage.", - "title": "RepositoryDescription", + "S3BucketName": { + "markdownDescription": "Specifies the name of the Amazon S3 bucket designated for publishing log files. See [Amazon S3 Bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) .", + "title": "S3BucketName", "type": "string" }, - "RepositoryName": { - "markdownDescription": "The name of the new repository to be created.\n\n> The repository name must be unique across the calling AWS account . Repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For more information about the limits on repository names, see [Quotas](https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html) in the *AWS CodeCommit User Guide* . The suffix .git is prohibited.", - "title": "RepositoryName", + "S3KeyPrefix": { + "markdownDescription": "Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see [Finding Your CloudTrail Log Files](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/get-and-view-cloudtrail-log-files.html#cloudtrail-find-log-files) . The maximum length is 200 characters.", + "title": "S3KeyPrefix", + "type": "string" + }, + "SnsTopicName": { + "markdownDescription": "Specifies the name or ARN of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.", + "title": "SnsTopicName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more tag key-value pairs to use when tagging this repository.", + "markdownDescription": "A custom set of tags (key-value pairs) for this trail.", "title": "Tags", "type": "array" }, - "Triggers": { - "items": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.RepositoryTrigger" - }, - "markdownDescription": "The JSON block of configuration information for each trigger.", - "title": "Triggers", - "type": "array" + "TrailName": { + "markdownDescription": "Specifies the name of the trail. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)\n- Start with a letter or number, and end with a letter or number\n- Be between 3 and 128 characters\n- Have no adjacent periods, underscores or dashes. Names like `my-_namespace` and `my--namespace` are not valid.\n- Not be in IP address format (for example, 192.168.5.4)", + "title": "TrailName", + "type": "string" } }, "required": [ - "RepositoryName" + "IsLogging", + "S3BucketName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeCommit::Repository" + "AWS::CloudTrail::Trail" ], "type": "string" }, @@ -77484,93 +78141,187 @@ ], "type": "object" }, - "AWS::CodeCommit::Repository.Code": { + "AWS::CloudTrail::Trail.AdvancedEventSelector": { "additionalProperties": false, "properties": { - "BranchName": { - "markdownDescription": "Optional. Specifies a branch name to be used as the default branch when importing code into a repository on initial creation. If this property is not set, the name *main* will be used for the default branch for the repository. Changes to this property are ignored after initial resource creation. We recommend using this parameter to set the name to *main* to align with the default behavior of CodeCommit unless another name is needed.", - "title": "BranchName", - "type": "string" + "FieldSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.AdvancedFieldSelector" + }, + "markdownDescription": "Contains all selector statements in an advanced event selector.", + "title": "FieldSelectors", + "type": "array" }, - "S3": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.S3", - "markdownDescription": "Information about the Amazon S3 bucket that contains a ZIP file of code to be committed to the repository. Changes to this property are ignored after initial resource creation.", - "title": "S3" + "Name": { + "markdownDescription": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".", + "title": "Name", + "type": "string" } }, "required": [ - "S3" + "FieldSelectors" ], "type": "object" }, - "AWS::CodeCommit::Repository.RepositoryTrigger": { + "AWS::CloudTrail::Trail.AdvancedFieldSelector": { "additionalProperties": false, "properties": { - "Branches": { + "EndsWith": { "items": { "type": "string" }, - "markdownDescription": "The branches to be included in the trigger configuration. If you specify an empty array, the trigger applies to all branches.\n\n> Although no content is required in the array, you must include the array itself.", - "title": "Branches", + "markdownDescription": "An operator that includes events that match the last few characters of the event record field specified as the value of `Field` .", + "title": "EndsWith", "type": "array" }, - "CustomData": { - "markdownDescription": "Any custom data associated with the trigger to be included in the information sent to the target of the trigger.", - "title": "CustomData", - "type": "string" + "Equals": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that includes events that match the exact value of the event record field specified as the value of `Field` . This is the only valid operator that you can use with the `readOnly` , `eventCategory` , and `resources.type` fields.", + "title": "Equals", + "type": "array" }, - "DestinationArn": { - "markdownDescription": "The ARN of the resource that is the target for a trigger (for example, the ARN of a topic in Amazon SNS).", - "title": "DestinationArn", + "Field": { + "markdownDescription": "A field in a CloudTrail event record on which to filter events to be logged. For event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the field is used only for selecting events as filtering is not supported.\n\nFor CloudTrail management events, supported fields include `eventCategory` (required), `eventSource` , and `readOnly` . The following additional fields are available for event data stores: `eventName` , `eventType` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail data events, supported fields include `eventCategory` (required), `eventName` , `eventSource` , `eventType` , `resources.type` (required), `readOnly` , `resources.ARN` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail network activity events, supported fields include `eventCategory` (required), `eventSource` (required), `eventName` , `errorCode` , and `vpcEndpointId` .\n\nFor event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the only supported field is `eventCategory` .\n\n> Selectors don't support the use of wildcards like `*` . To match multiple values with a single condition, you may use `StartsWith` , `EndsWith` , `NotStartsWith` , or `NotEndsWith` to explicitly match the beginning or end of the event field. \n\n- *`readOnly`* - This is an optional field that is only used for management events and data events. This field can be set to `Equals` with a value of `true` or `false` . If you do not add this field, CloudTrail logs both `read` and `write` events. A value of `true` logs only `read` events. A value of `false` logs only `write` events.\n- *`eventSource`* - This field is only used for management events, data events, and network activity events.\n\nFor management events for trails, this is an optional field that can be set to `NotEquals` `kms.amazonaws.com` to exclude KMS management events, or `NotEquals` `rdsdata.amazonaws.com` to exclude RDS management events.\n\nFor data events for trails, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor management and data events for event data stores, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor network activity events, this is a required field that only uses the `Equals` operator. Set this field to the event source for which you want to log network activity events. If you want to log network activity events for multiple event sources, you must create a separate field selector for each event source. For a list of services supporting network activity events, see [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .\n- *`eventName`* - This is an optional field that is only used for data events, management events (for event data stores only), and network activity events. You can use any operator with `eventName` . You can use it to \ufb01lter in or \ufb01lter out specific events. You can have multiple values for this \ufb01eld, separated by commas.\n- *`eventCategory`* - This field is required and must be set to `Equals` .\n\n- For CloudTrail management events, the value must be `Management` .\n- For CloudTrail data events, the value must be `Data` .\n- For CloudTrail network activity events, the value must be `NetworkActivity` .\n\nThe following are used only for event data stores:\n\n- For CloudTrail Insights events, the value must be `Insight` .\n- For AWS Config configuration items, the value must be `ConfigurationItem` .\n- For Audit Manager evidence, the value must be `Evidence` .\n- For events outside of AWS , the value must be `ActivityAuditLog` .\n- *`eventType`* - For event data stores, this is an optional field available for event data stores to filter management and data events on the event type. For trails, this is an optional field to filter data events on the event type. For information about available event types, see [CloudTrail record contents](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html#ct-event-type) in the *AWS CloudTrail user guide* .\n- *`errorCode`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This is the error code to filter on. Currently, the only valid `errorCode` is `VpceAccessDenied` . `errorCode` can only use the `Equals` operator.\n- *`sessionCredentialFromConsole`* - For event data stores, this is an optional field used to filter management and data events based on whether the events originated from an AWS Management Console session. For trails, this is an optional field used to filter data events. `sessionCredentialFromConsole` can only use the `Equals` and `NotEquals` operators.\n- *`resources.type`* - This \ufb01eld is required for CloudTrail data events. `resources.type` can only use the `Equals` operator.\n\nFor a list of available resource types for data events, see [Data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) in the *AWS CloudTrail User Guide* .\n\nYou can have only one `resources.type` \ufb01eld per selector. To log events on more than one resource type, add another selector.\n- *`resources.ARN`* - The `resources.ARN` is an optional field for data events. You can use any operator with `resources.ARN` , but if you use `Equals` or `NotEquals` , the value must exactly match the ARN of a valid resource of the type you've speci\ufb01ed in the template as the value of resources.type. To log all data events for all objects in a specific S3 bucket, use the `StartsWith` operator, and include only the bucket ARN as the matching value.\n\nFor more information about the ARN formats of data event resources, see [Actions, resources, and condition keys for AWS services](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) in the *Service Authorization Reference* .\n\n> You can't use the `resources.ARN` field to filter resource types that do not have ARNs.\n- *`userIdentity.arn`* - For event data stores, this is an optional field used to filter management and data events for actions taken by specific IAM identities. For trails, this is an optional field used to filter data events. You can use any operator with `userIdentity.arn` . For more information on the userIdentity element, see [CloudTrail userIdentity element](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html) in the *AWS CloudTrail User Guide* .\n- *`vpcEndpointId`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This field identifies the VPC endpoint that the request passed through. You can use any operator with `vpcEndpointId` .", + "title": "Field", "type": "string" }, - "Events": { + "NotEndsWith": { "items": { "type": "string" }, - "markdownDescription": "The repository events that cause the trigger to run actions in another service, such as sending a notification through Amazon SNS.\n\n> The valid value \"all\" cannot be used with any other values.", - "title": "Events", + "markdownDescription": "An operator that excludes events that match the last few characters of the event record field specified as the value of `Field` .", + "title": "NotEndsWith", "type": "array" }, - "Name": { - "markdownDescription": "The name of the trigger.", - "title": "Name", - "type": "string" + "NotEquals": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that excludes events that match the exact value of the event record field specified as the value of `Field` .", + "title": "NotEquals", + "type": "array" + }, + "NotStartsWith": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that excludes events that match the first few characters of the event record field specified as the value of `Field` .", + "title": "NotStartsWith", + "type": "array" + }, + "StartsWith": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that includes events that match the first few characters of the event record field specified as the value of `Field` .", + "title": "StartsWith", + "type": "array" } }, "required": [ - "DestinationArn", - "Events", - "Name" + "Field" ], "type": "object" }, - "AWS::CodeCommit::Repository.S3": { + "AWS::CloudTrail::Trail.AggregationConfiguration": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the Amazon S3 bucket that contains the ZIP file with the content that will be committed to the new repository. This can be specified using the name of the bucket in the AWS account . Changes to this property are ignored after initial resource creation.", - "title": "Bucket", + "EventCategory": { + "markdownDescription": "Specifies the event category for which aggregation should be performed.", + "title": "EventCategory", "type": "string" }, - "Key": { - "markdownDescription": "The key to use for accessing the Amazon S3 bucket. Changes to this property are ignored after initial resource creation. For more information, see [Creating object key names](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html) and [Uploading objects](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) in the Amazon S3 User Guide.", - "title": "Key", + "Templates": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of aggregation templates that can be used to configure event aggregation.", + "title": "Templates", + "type": "array" + } + }, + "required": [ + "EventCategory", + "Templates" + ], + "type": "object" + }, + "AWS::CloudTrail::Trail.DataResource": { + "additionalProperties": false, + "properties": { + "Type": { + "markdownDescription": "The resource type in which you want to log data events. You can specify the following *basic* event selector resource types:\n\n- `AWS::DynamoDB::Table`\n- `AWS::Lambda::Function`\n- `AWS::S3::Object`\n\nAdditional resource types are available through *advanced* event selectors. For more information, see [AdvancedEventSelector](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedEventSelector.html) .", + "title": "Type", "type": "string" }, - "ObjectVersion": { - "markdownDescription": "The object version of the ZIP file, if versioning is enabled for the Amazon S3 bucket. Changes to this property are ignored after initial resource creation.", - "title": "ObjectVersion", - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified resource type.\n\n- To log data events for all objects in all S3 buckets in your AWS account , specify the prefix as `arn:aws:s3` .\n\n> This also enables logging of data event activity performed by any user or role in your AWS account , even if that activity is performed on a bucket that belongs to another AWS account .\n- To log data events for all objects in an S3 bucket, specify the bucket and an empty object prefix such as `arn:aws:s3:::amzn-s3-demo-bucket1/` . The trail logs data events for all objects in this S3 bucket.\n- To log data events for specific objects, specify the S3 bucket and object prefix such as `arn:aws:s3:::amzn-s3-demo-bucket1/example-images` . The trail logs data events for objects in this S3 bucket that match the prefix.\n- To log data events for all Lambda functions in your AWS account , specify the prefix as `arn:aws:lambda` .\n\n> This also enables logging of `Invoke` activity performed by any user or role in your AWS account , even if that activity is performed on a function that belongs to another AWS account .\n- To log data events for a specific Lambda function, specify the function ARN.\n\n> Lambda function ARNs are exact. For example, if you specify a function ARN *arn:aws:lambda:us-west-2:111111111111:function:helloworld* , data events will only be logged for *arn:aws:lambda:us-west-2:111111111111:function:helloworld* . They will not be logged for *arn:aws:lambda:us-west-2:111111111111:function:helloworld2* .\n- To log data events for all DynamoDB tables in your AWS account , specify the prefix as `arn:aws:dynamodb` .", + "title": "Values", + "type": "array" } }, "required": [ - "Bucket", - "Key" + "Type" ], "type": "object" }, - "AWS::CodeConnections::Connection": { + "AWS::CloudTrail::Trail.EventSelector": { + "additionalProperties": false, + "properties": { + "DataResources": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" + }, + "markdownDescription": "CloudTrail supports data event logging for Amazon S3 objects in standard S3 buckets, AWS Lambda functions, and Amazon DynamoDB tables with basic event selectors. You can specify up to 250 resources for an individual event selector, but the total number of data resources cannot exceed 250 across all event selectors in a trail. This limit does not apply if you configure resource logging for all data events.\n\nFor more information, see [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) and [Limits in AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) in the *AWS CloudTrail User Guide* .\n\n> To log data events for all other resource types including objects stored in [directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html) , you must use [AdvancedEventSelectors](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedEventSelector.html) . You must also use `AdvancedEventSelectors` if you want to filter on the `eventName` field.", + "title": "DataResources", + "type": "array" + }, + "ExcludeManagementEventSources": { + "items": { + "type": "string" + }, + "markdownDescription": "An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service or Amazon RDS Data API events by containing `kms.amazonaws.com` or `rdsdata.amazonaws.com` . By default, `ExcludeManagementEventSources` is empty, and AWS and Amazon RDS Data API events are logged to your trail. You can exclude management event sources only in Regions that support the event source.", + "title": "ExcludeManagementEventSources", + "type": "array" + }, + "IncludeManagementEvents": { + "markdownDescription": "Specify if you want your event selector to include management events for your trail.\n\nFor more information, see [Management Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .\n\nBy default, the value is `true` .\n\nThe first copy of management events is free. You are charged for additional copies of management events that you are logging on any subsequent trail in the same Region. For more information about CloudTrail pricing, see [AWS CloudTrail Pricing](https://docs.aws.amazon.com/cloudtrail/pricing/) .", + "title": "IncludeManagementEvents", + "type": "boolean" + }, + "ReadWriteType": { + "markdownDescription": "Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 `GetConsoleOutput` is a read-only API operation and `RunInstances` is a write-only API operation.\n\nBy default, the value is `All` .", + "title": "ReadWriteType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudTrail::Trail.InsightSelector": { + "additionalProperties": false, + "properties": { + "EventCategories": { + "items": { + "type": "string" + }, + "markdownDescription": "Select the event category on which Insights should be enabled.\n\n- If EventCategories is not provided, the specified Insights types are enabled on management API calls by default.\n- If EventCategories is provided, the given event categories will overwrite the existing ones. For example, if a trail already has Insights enabled on management events, and then a PutInsightSelectors request is made with only data events specified in EventCategories, Insights on management events will be disabled.", + "title": "EventCategories", + "type": "array" + }, + "InsightType": { + "markdownDescription": "The type of Insights events to log on a trail. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", + "title": "InsightType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm": { "additionalProperties": false, "properties": { "Condition": { @@ -77605,38 +78356,152 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionName": { - "markdownDescription": "The name of the connection. Connection names must be unique in an AWS account .", - "title": "ConnectionName", + "ActionsEnabled": { + "markdownDescription": "Indicates whether actions should be executed during any changes to the alarm state. The default is TRUE.", + "title": "ActionsEnabled", + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of actions to execute when this alarm transitions into an ALARM state from any other state. Specify each action as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) in the *Amazon CloudWatch API Reference* .", + "title": "AlarmActions", + "type": "array" + }, + "AlarmDescription": { + "markdownDescription": "The description of the alarm.", + "title": "AlarmDescription", "type": "string" }, - "HostArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the host associated with the connection.", - "title": "HostArn", + "AlarmName": { + "markdownDescription": "The name of the alarm. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the alarm name.\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "AlarmName", "type": "string" }, - "ProviderType": { - "markdownDescription": "The name of the external provider where your third-party code repository is configured.", - "title": "ProviderType", + "ComparisonOperator": { + "markdownDescription": "The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand.", + "title": "ComparisonOperator", + "type": "string" + }, + "DatapointsToAlarm": { + "markdownDescription": "The number of datapoints that must be breaching to trigger the alarm. This is used only if you are setting an \"M out of N\" alarm. In that case, this value is the M, and the value that you set for `EvaluationPeriods` is the N value. For more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *Amazon CloudWatch User Guide* .\n\nIf you omit this parameter, CloudWatch uses the same value here that you set for `EvaluationPeriods` , and the alarm goes to alarm state if that many consecutive periods are breaching.", + "title": "DatapointsToAlarm", + "type": "number" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" + }, + "markdownDescription": "The dimensions for the metric associated with the alarm. For an alarm based on a math expression, you can't specify `Dimensions` . Instead, you use `Metrics` .", + "title": "Dimensions", + "type": "array" + }, + "EvaluateLowSampleCountPercentile": { + "markdownDescription": "Used only for alarms based on percentiles. If `ignore` , the alarm state does not change during periods with too few data points to be statistically significant. If `evaluate` or this parameter is not used, the alarm is always evaluated and possibly changes state no matter how many data points are available.", + "title": "EvaluateLowSampleCountPercentile", + "type": "string" + }, + "EvaluationCriteria": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.EvaluationCriteria" + }, + "EvaluationInterval": { + "type": "number" + }, + "EvaluationPeriods": { + "markdownDescription": "The number of periods over which data is compared to the specified threshold. If you are setting an alarm that requires that a number of consecutive data points be breaching to trigger the alarm, this value specifies that number. If you are setting an \"M out of N\" alarm, this value is the N, and `DatapointsToAlarm` is the M.\n\nFor more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *Amazon CloudWatch User Guide* .", + "title": "EvaluationPeriods", + "type": "number" + }, + "EvaluationWindow": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.EvaluationWindow" + }, + "ExtendedStatistic": { + "markdownDescription": "The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.\n\nFor an alarm based on a metric, you must specify either `Statistic` or `ExtendedStatistic` but not both.\n\nFor an alarm based on a math expression, you can't specify `ExtendedStatistic` . Instead, you use `Metrics` .", + "title": "ExtendedStatistic", + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "markdownDescription": "The actions to execute when this alarm transitions to the `INSUFFICIENT_DATA` state from any other state. Each action is specified as an Amazon Resource Name (ARN).", + "title": "InsufficientDataActions", + "type": "array" + }, + "MetricName": { + "markdownDescription": "The name of the metric associated with the alarm. This is required for an alarm based on a metric. For an alarm based on a math expression, you use `Metrics` instead and you can't specify `MetricName` .", + "title": "MetricName", + "type": "string" + }, + "Metrics": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricDataQuery" + }, + "markdownDescription": "An array that enables you to create an alarm based on the result of a metric math expression. Each item in the array either retrieves a metric or performs a math expression.\n\nIf you specify the `Metrics` parameter, you cannot specify `MetricName` , `Dimensions` , `Period` , `Namespace` , `Statistic` , `ExtendedStatistic` , or `Unit` .", + "title": "Metrics", + "type": "array" + }, + "Namespace": { + "markdownDescription": "The namespace of the metric associated with the alarm. This is required for an alarm based on a metric. For an alarm based on a math expression, you can't specify `Namespace` and you use `Metrics` instead.\n\nFor a list of namespaces for metrics from AWS services, see [AWS Services That Publish CloudWatch Metrics.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)", + "title": "Namespace", + "type": "string" + }, + "OKActions": { + "items": { + "type": "string" + }, + "markdownDescription": "The actions to execute when this alarm transitions to the `OK` state from any other state. Each action is specified as an Amazon Resource Name (ARN).", + "title": "OKActions", + "type": "array" + }, + "Period": { + "markdownDescription": "The period, in seconds, over which the statistic is applied. This is required for an alarm based on a metric. Valid values are 10, 20, 30, 60, and any multiple of 60.\n\nFor an alarm based on a math expression, you can't specify `Period` , and instead you use the `Metrics` parameter.\n\n*Minimum:* 10", + "title": "Period", + "type": "number" + }, + "Statistic": { + "markdownDescription": "The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use `ExtendedStatistic` .\n\nFor an alarm based on a metric, you must specify either `Statistic` or `ExtendedStatistic` but not both.\n\nFor an alarm based on a math expression, you can't specify `Statistic` . Instead, you use `Metrics` .", + "title": "Statistic", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. To be able to associate tags with the alarm when you create the alarm, you must have the `cloudwatch:TagResource` permission.\n\nTags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.", "title": "Tags", "type": "array" + }, + "Threshold": { + "markdownDescription": "The value to compare with the specified statistic.", + "title": "Threshold", + "type": "number" + }, + "ThresholdMetricId": { + "markdownDescription": "In an alarm based on an anomaly detection model, this is the ID of the `ANOMALY_DETECTION_BAND` function used as the threshold for the alarm.", + "title": "ThresholdMetricId", + "type": "string" + }, + "TreatMissingData": { + "markdownDescription": "Sets how this alarm is to handle missing data points. Valid values are `breaching` , `notBreaching` , `ignore` , and `missing` . For more information, see [Configuring How CloudWatch Alarms Treat Missing Data](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) in the *Amazon CloudWatch User Guide* .\n\nIf you omit this parameter, the default behavior of `missing` is used.", + "title": "TreatMissingData", + "type": "string" + }, + "Unit": { + "markdownDescription": "The unit of the metric associated with the alarm. Specify this only if you are creating an alarm based on a single metric. Do not specify this if you are specifying a `Metrics` array.\n\nYou can specify the following values: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, or None.", + "title": "Unit", + "type": "string" + }, + "WarmUpConfiguration": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.WarmUpConfiguration" } }, - "required": [ - "ConnectionName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeConnections::Connection" + "AWS::CloudWatch::Alarm" ], "type": "string" }, @@ -77650,123 +78515,187 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::CodeConnections::Host": { + "AWS::CloudWatch::Alarm.AlarmPromQLCriteria": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "PendingPeriod": { + "type": "number" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Query": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "RecoveryPeriod": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm.Dimension": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the dimension, from 1\u2013255 characters in length. This dimension name must have been included when the metric was published.", + "title": "Name", + "type": "string" }, - "Metadata": { + "Value": { + "markdownDescription": "The value for the dimension, from 1\u2013255 characters in length.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::CloudWatch::Alarm.EvaluationCriteria": { + "additionalProperties": false, + "properties": { + "PromQLCriteria": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.AlarmPromQLCriteria" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm.EvaluationWindow": { + "additionalProperties": false, + "properties": { + "SlidingWindow": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ProviderEndpoint": { - "type": "string" - }, - "ProviderType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::CodeConnections::Host.VpcConfiguration" - } + "WallClockWindow": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.WallClockWindow" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm.Metric": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" }, - "required": [ - "Name", - "ProviderEndpoint", - "ProviderType" - ], - "type": "object" + "markdownDescription": "The metric dimensions that you want to be used for the metric that the alarm will watch.", + "title": "Dimensions", + "type": "array" }, - "Type": { - "enum": [ - "AWS::CodeConnections::Host" - ], + "MetricName": { + "markdownDescription": "The name of the metric that you want the alarm to watch. This is a required field.", + "title": "MetricName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Namespace": { + "markdownDescription": "The namespace of the metric that the alarm will watch.", + "title": "Namespace", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm.MetricDataQuery": { + "additionalProperties": false, + "properties": { + "AccountId": { + "markdownDescription": "The ID of the account where the metrics are located, if this is a cross-account alarm.", + "title": "AccountId", + "type": "string" + }, + "Expression": { + "markdownDescription": "The math expression to be performed on the returned data, if this object is performing a math expression. This expression can use the `Id` of the other metrics to refer to those metrics, and can also use the `Id` of other expressions to use the result of those expressions. For more information about metric math expressions, see [Metric Math Syntax and Functions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) in the *Amazon CloudWatch User Guide* .\n\nWithin each MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", + "title": "Expression", + "type": "string" + }, + "Id": { + "markdownDescription": "A short name used to tie this object to the results in the response. This name must be unique within a single call to `GetMetricData` . If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.", + "title": "Id", + "type": "string" + }, + "Label": { + "markdownDescription": "A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If `Label` is omitted, CloudWatch generates a default.", + "title": "Label", "type": "string" + }, + "MetricStat": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricStat", + "markdownDescription": "The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.\n\nWithin one MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", + "title": "MetricStat" + }, + "Period": { + "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` operation that includes a `StorageResolution of 1 second` .", + "title": "Period", + "type": "number" + }, + "ReturnData": { + "markdownDescription": "This option indicates whether to return the timestamps and raw data values of this metric.\n\nWhen you create an alarm based on a metric math expression, specify `True` for this value for only the one math expression that the alarm is based on. You must specify `False` for `ReturnData` for all the other metrics and expressions used in the alarm.\n\nThis field is required.", + "title": "ReturnData", + "type": "boolean" } }, "required": [ - "Type", - "Properties" + "Id" ], "type": "object" }, - "AWS::CodeConnections::Host.VpcConfiguration": { + "AWS::CloudWatch::Alarm.MetricStat": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "Metric": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Metric", + "markdownDescription": "The metric to return, including the metric name, namespace, and dimensions.", + "title": "Metric" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "Period": { + "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` call that includes a `StorageResolution` of 1 second.\n\nIf the `StartTime` parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:\n\n- Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).\n- Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).\n- Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).", + "title": "Period", + "type": "number" }, - "TlsCertificate": { + "Stat": { + "markdownDescription": "The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* .", + "title": "Stat", "type": "string" }, - "VpcId": { + "Unit": { + "markdownDescription": "The unit to use for the returned data points.\n\nValid values are: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, or None.", + "title": "Unit", "type": "string" } }, "required": [ - "SecurityGroupIds", - "SubnetIds", - "VpcId" + "Metric", + "Period", + "Stat" ], "type": "object" }, - "AWS::CodeDeploy::Application": { + "AWS::CloudWatch::Alarm.WallClockWindow": { + "additionalProperties": false, + "properties": { + "Timezone": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm.WarmUpConfiguration": { + "additionalProperties": false, + "properties": { + "OnlyStartEvaluatingAfterWarmUpPeriodEnds": { + "type": "boolean" + }, + "WarmUpPeriodDurationInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CloudWatch::AlarmMuteRule": { "additionalProperties": false, "properties": { "Condition": { @@ -77801,30 +78730,39 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { - "markdownDescription": "A name for the application. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the application name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> Updates to `ApplicationName` are not supported.", - "title": "ApplicationName", + "Description": { "type": "string" }, - "ComputePlatform": { - "markdownDescription": "The compute platform that CodeDeploy deploys the application to.", - "title": "ComputePlatform", + "ExpireDate": { + "type": "string" + }, + "MuteTargets": { + "$ref": "#/definitions/AWS::CloudWatch::AlarmMuteRule.MuteTargets" + }, + "Name": { + "type": "string" + }, + "Rule": { + "$ref": "#/definitions/AWS::CloudWatch::AlarmMuteRule.Rule" + }, + "StartDate": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The metadata that you apply to CodeDeploy applications to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.", - "title": "Tags", "type": "array" } }, + "required": [ + "Rule" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeDeploy::Application" + "AWS::CloudWatch::AlarmMuteRule" ], "type": "string" }, @@ -77838,11 +78776,58 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CodeDeploy::DeploymentConfig": { + "AWS::CloudWatch::AlarmMuteRule.MuteTargets": { + "additionalProperties": false, + "properties": { + "AlarmNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AlarmNames" + ], + "type": "object" + }, + "AWS::CloudWatch::AlarmMuteRule.Rule": { + "additionalProperties": false, + "properties": { + "Schedule": { + "$ref": "#/definitions/AWS::CloudWatch::AlarmMuteRule.Schedule" + } + }, + "required": [ + "Schedule" + ], + "type": "object" + }, + "AWS::CloudWatch::AlarmMuteRule.Schedule": { + "additionalProperties": false, + "properties": { + "Duration": { + "type": "string" + }, + "Expression": { + "type": "string" + }, + "Timezone": { + "type": "string" + } + }, + "required": [ + "Duration", + "Expression" + ], + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector": { "additionalProperties": false, "properties": { "Condition": { @@ -77877,37 +78862,55 @@ "Properties": { "additionalProperties": false, "properties": { - "ComputePlatform": { - "markdownDescription": "The destination platform type for the deployment ( `Lambda` , `Server` , or `ECS` ).", - "title": "ComputePlatform", - "type": "string" + "Configuration": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Configuration", + "markdownDescription": "Specifies details about how the anomaly detection model is to be trained, including time ranges to exclude when training and updating the model. The configuration can also include the time zone to use for the metric.", + "title": "Configuration" }, - "DeploymentConfigName": { - "markdownDescription": "A name for the deployment configuration. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the deployment configuration name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "DeploymentConfigName", + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" + }, + "markdownDescription": "The dimensions of the metric associated with the anomaly detection band.", + "title": "Dimensions", + "type": "array" + }, + "MetricCharacteristics": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricCharacteristics", + "markdownDescription": "Use this object to include parameters to provide information about your metric to CloudWatch to help it build more accurate anomaly detection models. Currently, it includes the `PeriodicSpikes` parameter.", + "title": "MetricCharacteristics" + }, + "MetricMathAnomalyDetector": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricMathAnomalyDetector", + "markdownDescription": "The CloudWatch metric math expression for this anomaly detector.", + "title": "MetricMathAnomalyDetector" + }, + "MetricName": { + "markdownDescription": "The name of the metric associated with the anomaly detection band.", + "title": "MetricName", "type": "string" }, - "MinimumHealthyHosts": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts", - "markdownDescription": "The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value.\n\nThe type parameter takes either of the following values:\n\n- HOST_COUNT: The value parameter represents the minimum number of healthy instances as an absolute value.\n- FLEET_PERCENT: The value parameter represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances.\n\nThe value parameter takes an integer.\n\nFor example, to set a minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of 95.\n\nFor more information about instance health, see [CodeDeploy Instance Health](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-health.html) in the AWS CodeDeploy User Guide.", - "title": "MinimumHealthyHosts" + "Namespace": { + "markdownDescription": "The namespace of the metric associated with the anomaly detection band.", + "title": "Namespace", + "type": "string" }, - "TrafficRoutingConfig": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TrafficRoutingConfig", - "markdownDescription": "The configuration that specifies how the deployment traffic is routed.", - "title": "TrafficRoutingConfig" + "SingleMetricAnomalyDetector": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.SingleMetricAnomalyDetector", + "markdownDescription": "The CloudWatch metric and statistic for this anomaly detector.", + "title": "SingleMetricAnomalyDetector" }, - "ZonalConfig": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.ZonalConfig", - "markdownDescription": "Configure the `ZonalConfig` object if you want AWS CodeDeploy to deploy your application to one [Availability Zone](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones) at a time, within an AWS Region.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", - "title": "ZonalConfig" + "Stat": { + "markdownDescription": "The statistic of the metric associated with the anomaly detection band.", + "title": "Stat", + "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::CodeDeploy::DeploymentConfig" + "AWS::CloudWatch::AnomalyDetector" ], "type": "string" }, @@ -77925,138 +78928,239 @@ ], "type": "object" }, - "AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts": { + "AWS::CloudWatch::AnomalyDetector.Configuration": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "The minimum healthy instance type:\n\n- HOST_COUNT: The minimum number of healthy instance as an absolute value.\n- FLEET_PERCENT: The minimum number of healthy instance as a percentage of the total number of instance in the deployment.\n\nIn an example of nine instance, if a HOST_COUNT of six is specified, deploy to up to three instances at a time. The deployment is successful if six or more instances are deployed to successfully. Otherwise, the deployment fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instance at a time. The deployment is successful if four or more instance are deployed to successfully. Otherwise, the deployment fails.\n\n> In a call to `GetDeploymentConfig` , CodeDeployDefault.OneAtATime returns a minimum healthy instance type of MOST_CONCURRENCY and a value of 1. This means a deployment to only one instance at a time. (You cannot set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy attempts to ensure that all instances but one are kept in a healthy state during the deployment. Although this allows one instance at a time to be taken offline for a new deployment, it also means that if the deployment to the last instance fails, the overall deployment is still successful. \n\nFor more information, see [AWS CodeDeploy Instance Health](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html) in the *AWS CodeDeploy User Guide* .", - "title": "Type", - "type": "string" + "ExcludedTimeRanges": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Range" + }, + "markdownDescription": "Specifies an array of time ranges to exclude from use when the anomaly detection model is trained and updated. Use this to make sure that events that could cause unusual values for the metric, such as deployments, aren't used when CloudWatch creates or updates the model.", + "title": "ExcludedTimeRanges", + "type": "array" }, - "Value": { - "markdownDescription": "The minimum healthy instance value.", - "title": "Value", - "type": "number" + "MetricTimeZone": { + "markdownDescription": "The time zone to use for the metric. This is useful to enable the model to automatically account for daylight savings time changes if the metric is sensitive to such time changes.\n\nTo specify a time zone, use the name of the time zone as specified in the standard tz database. For more information, see [tz database](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/Tz_database) .", + "title": "MetricTimeZone", + "type": "string" } }, - "required": [ - "Type", - "Value" - ], "type": "object" }, - "AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHostsPerZone": { + "AWS::CloudWatch::AnomalyDetector.Dimension": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "The `type` associated with the `MinimumHealthyHostsPerZone` option.", - "title": "Type", + "Name": { + "markdownDescription": "The name of the dimension.", + "title": "Name", "type": "string" }, "Value": { - "markdownDescription": "The `value` associated with the `MinimumHealthyHostsPerZone` option.", + "markdownDescription": "The value of the dimension. Dimension values must contain only ASCII characters and must include at least one non-whitespace character. ASCII control characters are not supported as part of dimension values.", "title": "Value", - "type": "number" + "type": "string" } }, "required": [ - "Type", + "Name", "Value" ], "type": "object" }, - "AWS::CodeDeploy::DeploymentConfig.TimeBasedCanary": { + "AWS::CloudWatch::AnomalyDetector.Metric": { "additionalProperties": false, "properties": { - "CanaryInterval": { - "markdownDescription": "The number of minutes between the first and second traffic shifts of a `TimeBasedCanary` deployment.", - "title": "CanaryInterval", - "type": "number" + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" + }, + "markdownDescription": "The dimensions for the metric.", + "title": "Dimensions", + "type": "array" }, - "CanaryPercentage": { - "markdownDescription": "The percentage of traffic to shift in the first increment of a `TimeBasedCanary` deployment.", - "title": "CanaryPercentage", - "type": "number" + "MetricName": { + "markdownDescription": "The name of the metric. This is a required field.", + "title": "MetricName", + "type": "string" + }, + "Namespace": { + "markdownDescription": "The namespace of the metric.", + "title": "Namespace", + "type": "string" } }, "required": [ - "CanaryInterval", - "CanaryPercentage" + "MetricName", + "Namespace" ], "type": "object" }, - "AWS::CodeDeploy::DeploymentConfig.TimeBasedLinear": { + "AWS::CloudWatch::AnomalyDetector.MetricCharacteristics": { "additionalProperties": false, "properties": { - "LinearInterval": { - "markdownDescription": "The number of minutes between each incremental traffic shift of a `TimeBasedLinear` deployment.", - "title": "LinearInterval", - "type": "number" - }, - "LinearPercentage": { - "markdownDescription": "The percentage of traffic that is shifted at the start of each increment of a `TimeBasedLinear` deployment.", - "title": "LinearPercentage", - "type": "number" + "PeriodicSpikes": { + "markdownDescription": "Set this parameter to true if values for this metric consistently include spikes that should not be considered to be anomalies. With this set to true, CloudWatch will expect to see spikes that occurred consistently during the model training period, and won't flag future similar spikes as anomalies.", + "title": "PeriodicSpikes", + "type": "boolean" } }, - "required": [ - "LinearInterval", - "LinearPercentage" - ], "type": "object" }, - "AWS::CodeDeploy::DeploymentConfig.TrafficRoutingConfig": { + "AWS::CloudWatch::AnomalyDetector.MetricDataQueries": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.MetricDataQuery": { "additionalProperties": false, "properties": { - "TimeBasedCanary": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TimeBasedCanary", - "markdownDescription": "A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in two increments. The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.", - "title": "TimeBasedCanary" + "AccountId": { + "markdownDescription": "The ID of the account where the metrics are located.\n\nIf you are performing a `GetMetricData` operation in a monitoring account, use this to specify which account to retrieve this metric from.\n\nIf you are performing a `PutMetricAlarm` operation, use this to specify which account contains the metric that the alarm is watching.", + "title": "AccountId", + "type": "string" }, - "TimeBasedLinear": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TimeBasedLinear", - "markdownDescription": "A configuration that shifts traffic from one version of a Lambda function or Amazon ECS task set to another in equal increments, with an equal number of minutes between each increment. The original and target Lambda function versions or Amazon ECS task sets are specified in the deployment's AppSpec file.", - "title": "TimeBasedLinear" + "Expression": { + "markdownDescription": "This field can contain either a Metrics Insights query, or a metric math expression to be performed on the returned data. For more information about Metrics Insights queries, see [Metrics Insights query components and syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-metrics-insights-querylanguage) in the *Amazon CloudWatch User Guide* .\n\nA math expression can use the `Id` of the other metrics or queries to refer to those metrics, and can also use the `Id` of other expressions to use the result of those expressions. For more information about metric math expressions, see [Metric Math Syntax and Functions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) in the *Amazon CloudWatch User Guide* .\n\nWithin each MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", + "title": "Expression", + "type": "string" }, - "Type": { - "markdownDescription": "The type of traffic shifting ( `TimeBasedCanary` or `TimeBasedLinear` ) used by a deployment configuration.", - "title": "Type", + "Id": { + "markdownDescription": "A short name used to tie this object to the results in the response. This name must be unique within a single call to `GetMetricData` . If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.", + "title": "Id", + "type": "string" + }, + "Label": { + "markdownDescription": "A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If Label is omitted, CloudWatch generates a default.\n\nYou can put dynamic expressions into a label, so that it is more descriptive. For more information, see [Using Dynamic Labels](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html) .", + "title": "Label", "type": "string" + }, + "MetricStat": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricStat", + "markdownDescription": "The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.\n\nWithin one MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", + "title": "MetricStat" + }, + "Period": { + "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` operation that includes a `StorageResolution of 1 second` .", + "title": "Period", + "type": "number" + }, + "ReturnData": { + "markdownDescription": "When used in `GetMetricData` , this option indicates whether to return the timestamps and raw data values of this metric. If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify `false` . If you omit this, the default of `true` is used.\n\nWhen used in `PutMetricAlarm` , specify `true` for the one expression result to use as the alarm. For all other metrics and expressions in the same `PutMetricAlarm` operation, specify `ReturnData` as False.", + "title": "ReturnData", + "type": "boolean" } }, "required": [ - "Type" + "Id" ], "type": "object" }, - "AWS::CodeDeploy::DeploymentConfig.ZonalConfig": { + "AWS::CloudWatch::AnomalyDetector.MetricMathAnomalyDetector": { "additionalProperties": false, "properties": { - "FirstZoneMonitorDurationInSeconds": { - "markdownDescription": "The period of time, in seconds, that CodeDeploy must wait after completing a deployment to the *first* Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the second Availability Zone. You might set this option if you want to allow extra bake time for the first Availability Zone. If you don't specify a value for `firstZoneMonitorDurationInSeconds` , then CodeDeploy uses the `monitorDurationInSeconds` value for the first Availability Zone.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", - "title": "FirstZoneMonitorDurationInSeconds", - "type": "number" - }, - "MinimumHealthyHostsPerZone": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHostsPerZone", - "markdownDescription": "The number or percentage of instances that must remain available per Availability Zone during a deployment. This option works in conjunction with the `MinimumHealthyHosts` option. For more information, see [About the minimum number of healthy hosts per Availability Zone](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html#minimum-healthy-hosts-az) in the *CodeDeploy User Guide* .\n\nIf you don't specify the `minimumHealthyHostsPerZone` option, then CodeDeploy uses a default value of `0` percent.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", - "title": "MinimumHealthyHostsPerZone" - }, - "MonitorDurationInSeconds": { - "markdownDescription": "The period of time, in seconds, that CodeDeploy must wait after completing a deployment to an Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the next Availability Zone. Consider adding a monitor duration to give the deployment some time to prove itself (or 'bake') in one Availability Zone before it is released in the next zone. If you don't specify a `monitorDurationInSeconds` , CodeDeploy starts deploying to the next Availability Zone immediately.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", - "title": "MonitorDurationInSeconds", - "type": "number" + "MetricDataQueries": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricDataQuery" + }, + "markdownDescription": "An array of metric data query structures that enables you to create an anomaly detector based on the result of a metric math expression. Each item in `MetricDataQueries` gets a metric or performs a math expression. One item in `MetricDataQueries` is the expression that provides the time series that the anomaly detector uses as input. Designate the expression by setting `ReturnData` to `true` for this object in the array. For all other expressions and metrics, set `ReturnData` to `false` . The designated expression must return a single time series.", + "title": "MetricDataQueries", + "type": "array" } }, "type": "object" }, - "AWS::CodeDeploy::DeploymentGroup": { + "AWS::CloudWatch::AnomalyDetector.MetricStat": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Metric": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Metric", + "markdownDescription": "The metric to return, including the metric name, namespace, and dimensions.", + "title": "Metric" }, - "DeletionPolicy": { + "Period": { + "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` call that includes a `StorageResolution` of 1 second.\n\nIf the `StartTime` parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:\n\n- Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).\n- Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).\n- Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).", + "title": "Period", + "type": "number" + }, + "Stat": { + "markdownDescription": "The statistic to return. It can include any CloudWatch statistic or extended statistic.", + "title": "Stat", + "type": "string" + }, + "Unit": { + "markdownDescription": "When you are using a `Put` operation, this defines what unit you want to use when storing the metric.\n\nIn a `Get` operation, if you omit `Unit` then all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.", + "title": "Unit", + "type": "string" + } + }, + "required": [ + "Metric", + "Period", + "Stat" + ], + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.Range": { + "additionalProperties": false, + "properties": { + "EndTime": { + "markdownDescription": "The end time of the range to exclude. The format is `yyyy-MM-dd'T'HH:mm:ss` . For example, `2019-07-01T23:59:59` .", + "title": "EndTime", + "type": "string" + }, + "StartTime": { + "markdownDescription": "The start time of the range to exclude. The format is `yyyy-MM-dd'T'HH:mm:ss` . For example, `2019-07-01T23:59:59` .", + "title": "StartTime", + "type": "string" + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.SingleMetricAnomalyDetector": { + "additionalProperties": false, + "properties": { + "AccountId": { + "markdownDescription": "If the CloudWatch metric that provides the time series that the anomaly detector uses as input is in another account, specify that account ID here. If you omit this parameter, the current account is used.", + "title": "AccountId", + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" + }, + "markdownDescription": "The metric dimensions to create the anomaly detection model for.", + "title": "Dimensions", + "type": "array" + }, + "MetricName": { + "markdownDescription": "The name of the metric to create the anomaly detection model for.", + "title": "MetricName", + "type": "string" + }, + "Namespace": { + "markdownDescription": "The namespace of the metric to create the anomaly detection model for.", + "title": "Namespace", + "type": "string" + }, + "Stat": { + "markdownDescription": "The statistic to use for the metric and anomaly detection model.", + "title": "Stat", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::CompositeAlarm": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { "enum": [ "Delete", "Retain", @@ -78085,134 +79189,82 @@ "Properties": { "additionalProperties": false, "properties": { - "AlarmConfiguration": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration", - "markdownDescription": "Information about the Amazon CloudWatch alarms that are associated with the deployment group.", - "title": "AlarmConfiguration" + "ActionsEnabled": { + "markdownDescription": "Indicates whether actions should be executed during any changes to the alarm state of the composite alarm. The default is TRUE.", + "title": "ActionsEnabled", + "type": "boolean" }, - "ApplicationName": { - "markdownDescription": "The name of an existing CodeDeploy application to associate this deployment group with.", - "title": "ApplicationName", + "ActionsSuppressor": { + "markdownDescription": "Actions will be suppressed if the suppressor alarm is in the `ALARM` state. `ActionsSuppressor` can be an AlarmName or an Amazon Resource Name (ARN) from an existing alarm.", + "title": "ActionsSuppressor", "type": "string" }, - "AutoRollbackConfiguration": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration", - "markdownDescription": "Information about the automatic rollback configuration that is associated with the deployment group. If you specify this property, don't specify the `Deployment` property.", - "title": "AutoRollbackConfiguration" + "ActionsSuppressorExtensionPeriod": { + "markdownDescription": "The maximum time in seconds that the composite alarm waits after suppressor alarm goes out of the `ALARM` state. After this time, the composite alarm performs its actions.\n\n> `ExtensionPeriod` is required only when `ActionsSuppressor` is specified.", + "title": "ActionsSuppressorExtensionPeriod", + "type": "number" }, - "AutoScalingGroups": { + "ActionsSuppressorWaitPeriod": { + "markdownDescription": "The maximum time in seconds that the composite alarm waits for the suppressor alarm to go into the `ALARM` state. After this time, the composite alarm performs its actions.\n\n> `WaitPeriod` is required only when `ActionsSuppressor` is specified.", + "title": "ActionsSuppressorWaitPeriod", + "type": "number" + }, + "AlarmActions": { "items": { "type": "string" }, - "markdownDescription": "A list of associated Auto Scaling groups that CodeDeploy automatically deploys revisions to when new instances are created. Duplicates are not allowed.", - "title": "AutoScalingGroups", + "markdownDescription": "The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", + "title": "AlarmActions", "type": "array" }, - "BlueGreenDeploymentConfiguration": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.BlueGreenDeploymentConfiguration", - "markdownDescription": "Information about blue/green deployment options for a deployment group.", - "title": "BlueGreenDeploymentConfiguration" - }, - "Deployment": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Deployment", - "markdownDescription": "The application revision to deploy to this deployment group. If you specify this property, your target application revision is deployed as soon as the provisioning process is complete. If you specify this property, don't specify the `AutoRollbackConfiguration` property.", - "title": "Deployment" - }, - "DeploymentConfigName": { - "markdownDescription": "A deployment configuration name or a predefined configuration name. With predefined configurations, you can deploy application revisions to one instance at a time ( `CodeDeployDefault.OneAtATime` ), half of the instances at a time ( `CodeDeployDefault.HalfAtATime` ), or all the instances at once ( `CodeDeployDefault.AllAtOnce` ). For more information and valid values, see [Working with Deployment Configurations](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) in the *AWS CodeDeploy User Guide* .", - "title": "DeploymentConfigName", + "AlarmDescription": { + "markdownDescription": "The description for the composite alarm.", + "title": "AlarmDescription", "type": "string" }, - "DeploymentGroupName": { - "markdownDescription": "A name for the deployment group. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the deployment group name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "DeploymentGroupName", + "AlarmName": { + "markdownDescription": "The name for the composite alarm. This name must be unique within your AWS account.", + "title": "AlarmName", "type": "string" }, - "DeploymentStyle": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.DeploymentStyle", - "markdownDescription": "Attributes that determine the type of deployment to run and whether to route deployment traffic behind a load balancer.\n\nIf you specify this property with a blue/green deployment type, don't specify the `AutoScalingGroups` , `LoadBalancerInfo` , or `Deployment` properties.\n\n> For blue/green deployments, CloudFormation supports deployments on Lambda compute platforms only. You can perform Amazon ECS blue/green deployments using `AWS::CodeDeploy::BlueGreen` hook. See [Perform Amazon ECS blue/green deployments through CodeDeploy using CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html) for more information.", - "title": "DeploymentStyle" - }, - "ECSServices": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.ECSService" - }, - "markdownDescription": "The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format `:` .", - "title": "ECSServices", - "type": "array" + "AlarmRule": { + "markdownDescription": "An expression that specifies which other alarms are to be evaluated to determine this composite alarm's state. For each alarm that you reference, you designate a function that specifies whether that alarm needs to be in ALARM state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and NOT) to combine multiple functions in a single expression. You can use parenthesis to logically group the functions in your expression.\n\nYou can use either alarm names or ARNs to reference the other alarms that are to be evaluated.\n\nFunctions can include the following:\n\n- ALARM(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in ALARM state.\n- OK(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in OK state.\n- INSUFFICIENT_DATA(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in INSUFFICIENT_DATA state.\n- TRUE always evaluates to TRUE.\n- FALSE always evaluates to FALSE.\n\nTRUE and FALSE are useful for testing a complex AlarmRule structure, and for testing your alarm actions.\n\nFor more information about `AlarmRule` syntax, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", + "title": "AlarmRule", + "type": "string" }, - "Ec2TagFilters": { + "InsufficientDataActions": { "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagFilter" + "type": "string" }, - "markdownDescription": "The Amazon EC2 tags that are already applied to Amazon EC2 instances that you want to include in the deployment group. CodeDeploy includes all Amazon EC2 instances identified by any of the tags you specify in this deployment group. Duplicates are not allowed.\n\nYou can specify `EC2TagFilters` or `Ec2TagSet` , but not both.", - "title": "Ec2TagFilters", + "markdownDescription": "The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", + "title": "InsufficientDataActions", "type": "array" }, - "Ec2TagSet": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagSet", - "markdownDescription": "Information about groups of tags applied to Amazon EC2 instances. The deployment group includes only Amazon EC2 instances identified by all the tag groups. Cannot be used in the same call as `ec2TagFilter` .", - "title": "Ec2TagSet" - }, - "LoadBalancerInfo": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.LoadBalancerInfo", - "markdownDescription": "Information about the load balancer to use in a deployment. For more information, see [Integrating CodeDeploy with Elastic Load Balancing](https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-elastic-load-balancing.html) in the *AWS CodeDeploy User Guide* .", - "title": "LoadBalancerInfo" - }, - "OnPremisesInstanceTagFilters": { + "OKActions": { "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" + "type": "string" }, - "markdownDescription": "The on-premises instance tags already applied to on-premises instances that you want to include in the deployment group. CodeDeploy includes all on-premises instances identified by any of the tags you specify in this deployment group. To register on-premises instances with CodeDeploy , see [Working with On-Premises Instances for CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-on-premises.html) in the *AWS CodeDeploy User Guide* . Duplicates are not allowed.\n\nYou can specify `OnPremisesInstanceTagFilters` or `OnPremisesInstanceTagSet` , but not both.", - "title": "OnPremisesInstanceTagFilters", + "markdownDescription": "The actions to execute when this alarm transitions to the OK state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", + "title": "OKActions", "type": "array" }, - "OnPremisesTagSet": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet", - "markdownDescription": "Information about groups of tags applied to on-premises instances. The deployment group includes only on-premises instances identified by all the tag groups.\n\nYou can specify `OnPremisesInstanceTagFilters` or `OnPremisesInstanceTagSet` , but not both.", - "title": "OnPremisesTagSet" - }, - "OutdatedInstancesStrategy": { - "markdownDescription": "Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision.\n\nIf this option is set to `UPDATE` or is unspecified, CodeDeploy initiates one or more 'auto-update outdated instances' deployments to apply the deployed application revision to the new Amazon EC2 instances.\n\nIf this option is set to `IGNORE` , CodeDeploy does not initiate a deployment to update the new Amazon EC2 instances. This may result in instances having different revisions.", - "title": "OutdatedInstancesStrategy", - "type": "string" - }, - "ServiceRoleArn": { - "markdownDescription": "A service role Amazon Resource Name (ARN) that grants CodeDeploy permission to make calls to AWS services on your behalf. For more information, see [Create a Service Role for AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-create-service-role.html) in the *AWS CodeDeploy User Guide* .\n\n> In some cases, you might need to add a dependency on the service role's policy. For more information, see IAM role policy in [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) .", - "title": "ServiceRoleArn", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.", + "markdownDescription": "A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. To be able to associate tags with the alarm when you create the alarm, you must have the `cloudwatch:TagResource` permission.\n\nTags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.", "title": "Tags", "type": "array" - }, - "TerminationHookEnabled": { - "markdownDescription": "Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.\n\nFor more information about the termination hook, see [How Amazon EC2 Auto Scaling works with CodeDeploy](https://docs.aws.amazon.com//codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors) in the *AWS CodeDeploy User Guide* .", - "title": "TerminationHookEnabled", - "type": "boolean" - }, - "TriggerConfigurations": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" - }, - "markdownDescription": "Information about triggers associated with the deployment group. Duplicates are not allowed", - "title": "TriggerConfigurations", - "type": "array" } }, "required": [ - "ApplicationName", - "ServiceRoleArn" + "AlarmRule" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeDeploy::DeploymentGroup" + "AWS::CloudWatch::CompositeAlarm" ], "type": "string" }, @@ -78231,473 +79283,7 @@ ], "type": "object" }, - "AWS::CodeDeploy::DeploymentGroup.Alarm": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the alarm. Maximum length is 255 characters. Each alarm name can be used only once in a list of alarms.", - "title": "Name", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Alarm" - }, - "markdownDescription": "A list of alarms configured for the deployment or deployment group. A maximum of 10 alarms can be added.", - "title": "Alarms", - "type": "array" - }, - "Enabled": { - "markdownDescription": "Indicates whether the alarm configuration is enabled.", - "title": "Enabled", - "type": "boolean" - }, - "IgnorePollAlarmFailure": { - "markdownDescription": "Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from Amazon CloudWatch . The default value is `false` .\n\n- `true` : The deployment proceeds even if alarm status information can't be retrieved from CloudWatch .\n- `false` : The deployment stops if alarm status information can't be retrieved from CloudWatch .", - "title": "IgnorePollAlarmFailure", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "Indicates whether a defined automatic rollback configuration is currently enabled.", - "title": "Enabled", - "type": "boolean" - }, - "Events": { - "items": { - "type": "string" - }, - "markdownDescription": "The event type or types that trigger a rollback. Valid values are `DEPLOYMENT_FAILURE` , `DEPLOYMENT_STOP_ON_ALARM` , or `DEPLOYMENT_STOP_ON_REQUEST` .", - "title": "Events", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.BlueGreenDeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "DeploymentReadyOption": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.DeploymentReadyOption", - "markdownDescription": "Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment.", - "title": "DeploymentReadyOption" - }, - "GreenFleetProvisioningOption": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GreenFleetProvisioningOption", - "markdownDescription": "Information about how instances are provisioned for a replacement environment in a blue/green deployment.", - "title": "GreenFleetProvisioningOption" - }, - "TerminateBlueInstancesOnDeploymentSuccess": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.BlueInstanceTerminationOption", - "markdownDescription": "Information about whether to terminate instances in the original fleet during a blue/green deployment.", - "title": "TerminateBlueInstancesOnDeploymentSuccess" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.BlueInstanceTerminationOption": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "The action to take on instances in the original environment after a successful blue/green deployment.\n\n- `TERMINATE` : Instances are terminated after a specified wait time.\n- `KEEP_ALIVE` : Instances are left running after they are deregistered from the load balancer and removed from the deployment group.", - "title": "Action", - "type": "string" - }, - "TerminationWaitTimeInMinutes": { - "markdownDescription": "For an Amazon EC2 deployment, the number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.\n\nFor an Amazon ECS deployment, the number of minutes before deleting the original (blue) task set. During an Amazon ECS deployment, CodeDeploy shifts traffic from the original (blue) task set to a replacement (green) task set.\n\nThe maximum setting is 2880 minutes (2 days).", - "title": "TerminationWaitTimeInMinutes", - "type": "number" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.Deployment": { - "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "A comment about the deployment.", - "title": "Description", - "type": "string" - }, - "IgnoreApplicationStopFailures": { - "markdownDescription": "If true, then if an `ApplicationStop` , `BeforeBlockTraffic` , or `AfterBlockTraffic` deployment lifecycle event to an instance fails, then the deployment continues to the next deployment lifecycle event. For example, if `ApplicationStop` fails, the deployment continues with DownloadBundle. If `BeforeBlockTraffic` fails, the deployment continues with `BlockTraffic` . If `AfterBlockTraffic` fails, the deployment continues with `ApplicationStop` .\n\nIf false or not specified, then if a lifecycle event fails during a deployment to an instance, that deployment fails. If deployment to that instance is part of an overall deployment and the number of healthy hosts is not less than the minimum number of healthy hosts, then a deployment to the next instance is attempted.\n\nDuring a deployment, the AWS CodeDeploy agent runs the scripts specified for `ApplicationStop` , `BeforeBlockTraffic` , and `AfterBlockTraffic` in the AppSpec file from the previous successful deployment. (All other scripts are run from the AppSpec file in the current deployment.) If one of these scripts contains an error and does not run successfully, the deployment can fail.\n\nIf the cause of the failure is a script from the last successful deployment that will never run successfully, create a new deployment and use `ignoreApplicationStopFailures` to specify that the `ApplicationStop` , `BeforeBlockTraffic` , and `AfterBlockTraffic` failures should be ignored.", - "title": "IgnoreApplicationStopFailures", - "type": "boolean" - }, - "Revision": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.RevisionLocation", - "markdownDescription": "Information about the location of stored application artifacts and the service from which to retrieve them.", - "title": "Revision" - } - }, - "required": [ - "Revision" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.DeploymentReadyOption": { - "additionalProperties": false, - "properties": { - "ActionOnTimeout": { - "markdownDescription": "Information about when to reroute traffic from an original environment to a replacement environment in a blue/green deployment.\n\n- CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.\n- STOP_DEPLOYMENT: Do not register new instances with a load balancer unless traffic rerouting is started using [ContinueDeployment](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ContinueDeployment.html) . If traffic rerouting is not started before the end of the specified wait period, the deployment status is changed to Stopped.", - "title": "ActionOnTimeout", - "type": "string" - }, - "WaitTimeInMinutes": { - "markdownDescription": "The number of minutes to wait before the status of a blue/green deployment is changed to Stopped if rerouting is not started manually. Applies only to the `STOP_DEPLOYMENT` option for `actionOnTimeout` .", - "title": "WaitTimeInMinutes", - "type": "number" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.DeploymentStyle": { - "additionalProperties": false, - "properties": { - "DeploymentOption": { - "markdownDescription": "Indicates whether to route deployment traffic behind a load balancer.\n\n> An Amazon EC2 Application Load Balancer or Network Load Balancer is required for an Amazon ECS deployment.", - "title": "DeploymentOption", - "type": "string" - }, - "DeploymentType": { - "markdownDescription": "Indicates whether to run an in-place or blue/green deployment.", - "title": "DeploymentType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.EC2TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The tag filter key.", - "title": "Key", - "type": "string" - }, - "Type": { - "markdownDescription": "The tag filter type:\n\n- `KEY_ONLY` : Key only.\n- `VALUE_ONLY` : Value only.\n- `KEY_AND_VALUE` : Key and value.", - "title": "Type", - "type": "string" - }, - "Value": { - "markdownDescription": "The tag filter value.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.EC2TagSet": { - "additionalProperties": false, - "properties": { - "Ec2TagSetList": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagSetListObject" - }, - "markdownDescription": "The Amazon EC2 tags that are already applied to Amazon EC2 instances that you want to include in the deployment group. CodeDeploy includes all Amazon EC2 instances identified by any of the tags you specify in this deployment group.\n\nDuplicates are not allowed.", - "title": "Ec2TagSetList", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.EC2TagSetListObject": { - "additionalProperties": false, - "properties": { - "Ec2TagGroup": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagFilter" - }, - "markdownDescription": "A list that contains other lists of Amazon EC2 instance tag groups. For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list.", - "title": "Ec2TagGroup", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.ECSService": { - "additionalProperties": false, - "properties": { - "ClusterName": { - "markdownDescription": "The name of the cluster that the Amazon ECS service is associated with.", - "title": "ClusterName", - "type": "string" - }, - "ServiceName": { - "markdownDescription": "The name of the target Amazon ECS service.", - "title": "ServiceName", - "type": "string" - } - }, - "required": [ - "ClusterName", - "ServiceName" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.ELBInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "For blue/green deployments, the name of the load balancer that is used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment is complete.\n\n> CloudFormation supports blue/green deployments on AWS Lambda compute platforms only.", - "title": "Name", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.GitHubLocation": { - "additionalProperties": false, - "properties": { - "CommitId": { - "markdownDescription": "The SHA1 commit ID of the GitHub commit that represents the bundled artifacts for the application revision.", - "title": "CommitId", - "type": "string" - }, - "Repository": { - "markdownDescription": "The GitHub account and repository pair that stores a reference to the commit that represents the bundled artifacts for the application revision.\n\nSpecify the value as `account/repository` .", - "title": "Repository", - "type": "string" - } - }, - "required": [ - "CommitId", - "Repository" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.GreenFleetProvisioningOption": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "The method used to add instances to a replacement environment.\n\n- `DISCOVER_EXISTING` : Use instances that already exist or will be created manually.\n- `COPY_AUTO_SCALING_GROUP` : Use settings from a specified Auto Scaling group to define and create instances in a new Auto Scaling group.", - "title": "Action", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.LoadBalancerInfo": { - "additionalProperties": false, - "properties": { - "ElbInfoList": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.ELBInfo" - }, - "markdownDescription": "An array that contains information about the load balancers to use for load balancing in a deployment. If you're using Classic Load Balancers, specify those load balancers in this array.\n\n> You can add up to 10 load balancers to the array. > If you're using Application Load Balancers or Network Load Balancers, use the `targetGroupInfoList` array instead of this one.", - "title": "ElbInfoList", - "type": "array" - }, - "TargetGroupInfoList": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo" - }, - "markdownDescription": "An array that contains information about the target groups to use for load balancing in a deployment. If you're using Application Load Balancers and Network Load Balancers, specify their associated target groups in this array.\n\n> You can add up to 10 target groups to the array. > If you're using Classic Load Balancers, use the `elbInfoList` array instead of this one.", - "title": "TargetGroupInfoList", - "type": "array" - }, - "TargetGroupPairInfoList": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupPairInfo" - }, - "markdownDescription": "The target group pair information. This is an array of `TargeGroupPairInfo` objects with a maximum size of one.", - "title": "TargetGroupPairInfoList", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": { - "additionalProperties": false, - "properties": { - "OnPremisesTagSetList": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject" - }, - "markdownDescription": "A list that contains other lists of on-premises instance tag groups. For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list.\n\nDuplicates are not allowed.", - "title": "OnPremisesTagSetList", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": { - "additionalProperties": false, - "properties": { - "OnPremisesTagGroup": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" - }, - "markdownDescription": "Information about groups of on-premises instance tags.", - "title": "OnPremisesTagGroup", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.RevisionLocation": { - "additionalProperties": false, - "properties": { - "GitHubLocation": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GitHubLocation", - "markdownDescription": "Information about the location of application artifacts stored in GitHub.", - "title": "GitHubLocation" - }, - "RevisionType": { - "markdownDescription": "The type of application revision:\n\n- S3: An application revision stored in Amazon S3.\n- GitHub: An application revision stored in GitHub (EC2/On-premises deployments only).\n- String: A YAML-formatted or JSON-formatted string ( AWS Lambda deployments only).\n- AppSpecContent: An `AppSpecContent` object that contains the contents of an AppSpec file for an AWS Lambda or Amazon ECS deployment. The content is formatted as JSON or YAML stored as a RawString.", - "title": "RevisionType", - "type": "string" - }, - "S3Location": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.S3Location", - "markdownDescription": "Information about the location of a revision stored in Amazon S3.", - "title": "S3Location" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "markdownDescription": "The name of the Amazon S3 bucket where the application revision is stored.", - "title": "Bucket", - "type": "string" - }, - "BundleType": { - "markdownDescription": "The file type of the application revision. Must be one of the following:\n\n- JSON\n- tar: A tar archive file.\n- tgz: A compressed tar archive file.\n- YAML\n- zip: A zip archive file.", - "title": "BundleType", - "type": "string" - }, - "ETag": { - "markdownDescription": "The ETag of the Amazon S3 object that represents the bundled artifacts for the application revision.\n\nIf the ETag is not specified as an input parameter, ETag validation of the object is skipped.", - "title": "ETag", - "type": "string" - }, - "Key": { - "markdownDescription": "The name of the Amazon S3 object that represents the bundled artifacts for the application revision.", - "title": "Key", - "type": "string" - }, - "Version": { - "markdownDescription": "A specific version of the Amazon S3 object that represents the bundled artifacts for the application revision.\n\nIf the version is not specified, the system uses the most recent version by default.", - "title": "Version", - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The on-premises instance tag filter key.", - "title": "Key", - "type": "string" - }, - "Type": { - "markdownDescription": "The on-premises instance tag filter type:\n\n- KEY_ONLY: Key only.\n- VALUE_ONLY: Value only.\n- KEY_AND_VALUE: Key and value.", - "title": "Type", - "type": "string" - }, - "Value": { - "markdownDescription": "The on-premises instance tag filter value.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "For blue/green deployments, the name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes. No duplicates allowed.\n\n> CloudFormation supports blue/green deployments on AWS Lambda compute platforms only. \n\nThis value cannot exceed 32 characters, so you should use the `Name` property of the target group, or the `TargetGroupName` attribute with the `Fn::GetAtt` intrinsic function, as shown in the following example. Don't use the group's Amazon Resource Name (ARN) or `TargetGroupFullName` attribute.", - "title": "Name", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TargetGroupPairInfo": { - "additionalProperties": false, - "properties": { - "ProdTrafficRoute": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TrafficRoute", - "markdownDescription": "The path used by a load balancer to route production traffic when an Amazon ECS deployment is complete.", - "title": "ProdTrafficRoute" - }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo" - }, - "markdownDescription": "One pair of target groups. One is associated with the original task set. The second is associated with the task set that serves traffic after the deployment is complete.", - "title": "TargetGroups", - "type": "array" - }, - "TestTrafficRoute": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TrafficRoute", - "markdownDescription": "An optional path used by a load balancer to route test traffic after an Amazon ECS deployment. Validation can occur while test traffic is served during a deployment.", - "title": "TestTrafficRoute" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TrafficRoute": { - "additionalProperties": false, - "properties": { - "ListenerArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) of one listener. The listener identifies the route between a target group and a load balancer. This is an array of strings with a maximum size of one.", - "title": "ListenerArns", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": { - "additionalProperties": false, - "properties": { - "TriggerEvents": { - "items": { - "type": "string" - }, - "markdownDescription": "The event type or types that trigger notifications.", - "title": "TriggerEvents", - "type": "array" - }, - "TriggerName": { - "markdownDescription": "The name of the notification trigger.", - "title": "TriggerName", - "type": "string" - }, - "TriggerTargetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic through which notifications about deployment or instance events are sent.", - "title": "TriggerTargetArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeGuruProfiler::ProfilingGroup": { + "AWS::CloudWatch::Dashboard": { "additionalProperties": false, "properties": { "Condition": { @@ -78732,46 +79318,31 @@ "Properties": { "additionalProperties": false, "properties": { - "AgentPermissions": { - "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.AgentPermissions", - "markdownDescription": "The agent permissions attached to this profiling group. This action group grants `ConfigureAgent` and `PostAgentProfile` permissions to perform actions required by the profiling agent. The Json consists of key `Principals` .\n\n*Principals* : A list of string ARNs for the roles and users you want to grant access to the profiling group. Wildcards are not supported in the ARNs. You are allowed to provide up to 50 ARNs. An empty list is not permitted. This is a required key.\n\nFor more information, see [Resource-based policies in CodeGuru Profiler](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/resource-based-policies.html) in the *Amazon CodeGuru Profiler user guide* , [ConfigureAgent](https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html) , and [PostAgentProfile](https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PostAgentProfile.html) .", - "title": "AgentPermissions" - }, - "AnomalyDetectionNotificationConfiguration": { - "items": { - "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" - }, - "markdownDescription": "Adds anomaly notifications for a profiling group.", - "title": "AnomalyDetectionNotificationConfiguration", - "type": "array" - }, - "ComputePlatform": { - "markdownDescription": "The compute platform of the profiling group. Use `AWSLambda` if your application runs on AWS Lambda. Use `Default` if your application runs on a compute platform that is not AWS Lambda , such an Amazon EC2 instance, an on-premises server, or a different platform. If not specified, `Default` is used. This property is immutable.", - "title": "ComputePlatform", + "DashboardBody": { + "markdownDescription": "The detailed information about the dashboard in JSON format, including the widgets to include and their location on the dashboard. This parameter is required.\n\nFor more information about the syntax, see [Dashboard Body Structure and Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html) .", + "title": "DashboardBody", "type": "string" }, - "ProfilingGroupName": { - "markdownDescription": "The name of the profiling group.", - "title": "ProfilingGroupName", + "DashboardName": { + "markdownDescription": "The name of the dashboard. The name must be between 1 and 255 characters. If you do not specify a name, one will be generated automatically.", + "title": "DashboardName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of tags to add to the created profiling group.", - "title": "Tags", "type": "array" } }, "required": [ - "ProfilingGroupName" + "DashboardBody" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeGuruProfiler::ProfilingGroup" + "AWS::CloudWatch::Dashboard" ], "type": "string" }, @@ -78790,43 +79361,7 @@ ], "type": "object" }, - "AWS::CodeGuruProfiler::ProfilingGroup.AgentPermissions": { - "additionalProperties": false, - "properties": { - "Principals": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Principals", - "type": "array" - } - }, - "required": [ - "Principals" - ], - "type": "object" - }, - "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { - "additionalProperties": false, - "properties": { - "channelId": { - "markdownDescription": "The channel ID.", - "title": "channelId", - "type": "string" - }, - "channelUri": { - "markdownDescription": "The channel URI.", - "title": "channelUri", - "type": "string" - } - }, - "required": [ - "channelUri" - ], - "type": "object" - }, - "AWS::CodeGuruReviewer::RepositoryAssociation": { + "AWS::CloudWatch::InsightRule": { "additionalProperties": false, "properties": { "Condition": { @@ -78861,49 +79396,45 @@ "Properties": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The name of the bucket. This is required for your S3Bucket repository. The name must start with the prefix `codeguru-reviewer-*` .", - "title": "BucketName", - "type": "string" + "ApplyOnTransformedLogs": { + "markdownDescription": "Determines whether the rules is evaluated on transformed versions of logs. Valid values are `TRUE` and `FALSE` .", + "title": "ApplyOnTransformedLogs", + "type": "boolean" }, - "ConnectionArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is `arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id` . For more information, see [Connection](https://docs.aws.amazon.com/codestar-connections/latest/APIReference/API_Connection.html) in the *AWS CodeStar Connections API Reference* .\n\n`ConnectionArn` must be specified for Bitbucket and GitHub Enterprise Server repositories. It has no effect if it is specified for an AWS CodeCommit repository.", - "title": "ConnectionArn", + "RuleBody": { + "markdownDescription": "The definition of the rule, as a JSON object. For details about the syntax, see [Contributor Insights Rule Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html) in the *Amazon CloudWatch User Guide* .", + "title": "RuleBody", "type": "string" }, - "Name": { - "markdownDescription": "The name of the repository.", - "title": "Name", + "RuleName": { + "markdownDescription": "The name of the rule.", + "title": "RuleName", "type": "string" }, - "Owner": { - "markdownDescription": "The owner of the repository. For a GitHub Enterprise Server or Bitbucket repository, this is the username for the account that owns the repository.\n\n`Owner` must be specified for Bitbucket and GitHub Enterprise Server repositories. It has no effect if it is specified for an AWS CodeCommit repository.", - "title": "Owner", + "RuleState": { + "markdownDescription": "The current state of the rule. Valid values are `ENABLED` and `DISABLED` .", + "title": "RuleState", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts:\n\n- A *tag key* (for example, `CostCenter` , `Environment` , `Project` , or `Secret` ). Tag keys are case sensitive.\n- An optional field known as a *tag value* (for example, `111122223333` , `Production` , or a team name). Omitting the tag value is the same as using an empty string. Like tag keys, tag values are case sensitive.", + "markdownDescription": "A list of key-value pairs to associate with the Contributor Insights rule. You can associate as many as 50 tags with a rule.\n\nTags can help you organize and categorize your resources. For more information, see [Tagging Your Amazon CloudWatch Resources](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Tagging.html) .\n\nTo be able to associate tags with a rule, you must have the `cloudwatch:TagResource` permission in addition to the `cloudwatch:PutInsightRule` permission.", "title": "Tags", "type": "array" - }, - "Type": { - "markdownDescription": "The type of repository that contains the source code to be reviewed. The valid values are:\n\n- `CodeCommit`\n- `Bitbucket`\n- `GitHubEnterpriseServer`\n- `S3Bucket`", - "title": "Type", - "type": "string" } }, "required": [ - "Name", - "Type" + "RuleBody", + "RuleName", + "RuleState" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeGuruReviewer::RepositoryAssociation" + "AWS::CloudWatch::InsightRule" ], "type": "string" }, @@ -78922,7 +79453,7 @@ ], "type": "object" }, - "AWS::CodePipeline::CustomActionType": { + "AWS::CloudWatch::LogAlarm": { "additionalProperties": false, "properties": { "Condition": { @@ -78957,65 +79488,79 @@ "Properties": { "additionalProperties": false, "properties": { - "Category": { - "markdownDescription": "The category of the custom action, such as a build action or a test action.", - "title": "Category", + "ActionLogLineCount": { + "type": "number" + }, + "ActionLogLineRoleArn": { "type": "string" }, - "ConfigurationProperties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { "items": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ConfigurationProperties" + "type": "string" }, - "markdownDescription": "The configuration properties for the custom action.\n\n> You can refer to a name in the configuration properties of the custom action within the URL templates by following the format of {Config:name}, as long as the configuration property is both required and not secret. For more information, see [Create a Custom Action for a Pipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-create-custom-action.html) .", - "title": "ConfigurationProperties", "type": "array" }, - "InputArtifactDetails": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails", - "markdownDescription": "The details of the input artifact for the action, such as its commit ID.", - "title": "InputArtifactDetails" + "AlarmDescription": { + "type": "string" }, - "OutputArtifactDetails": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails", - "markdownDescription": "The details of the output artifact of the action, such as its commit ID.", - "title": "OutputArtifactDetails" + "AlarmName": { + "type": "string" }, - "Provider": { - "markdownDescription": "The provider of the service used in the custom action, such as CodeDeploy.", - "title": "Provider", + "ComparisonOperator": { "type": "string" }, - "Settings": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.Settings", - "markdownDescription": "URLs that provide users information about this custom action.", - "title": "Settings" + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QueryResultsToAlarm": { + "type": "number" + }, + "QueryResultsToEvaluate": { + "type": "number" + }, + "ScheduledQueryConfiguration": { + "$ref": "#/definitions/AWS::CloudWatch::LogAlarm.ScheduledQueryConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the custom action.", - "title": "Tags", "type": "array" }, - "Version": { - "markdownDescription": "The version identifier of the custom action.", - "title": "Version", + "Threshold": { + "type": "number" + }, + "TreatMissingData": { "type": "string" + }, + "WarmUpConfiguration": { + "$ref": "#/definitions/AWS::CloudWatch::LogAlarm.WarmUpConfiguration" } }, "required": [ - "Category", - "InputArtifactDetails", - "OutputArtifactDetails", - "Provider", - "Version" + "ComparisonOperator", + "QueryResultsToAlarm", + "QueryResultsToEvaluate", + "ScheduledQueryConfiguration", + "Threshold" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodePipeline::CustomActionType" + "AWS::CloudWatch::LogAlarm" ], "type": "string" }, @@ -79034,100 +79579,74 @@ ], "type": "object" }, - "AWS::CodePipeline::CustomActionType.ArtifactDetails": { + "AWS::CloudWatch::LogAlarm.ScheduleConfiguration": { "additionalProperties": false, "properties": { - "MaximumCount": { - "markdownDescription": "The maximum number of artifacts allowed for the action type.", - "title": "MaximumCount", + "EndTimeOffset": { "type": "number" }, - "MinimumCount": { - "markdownDescription": "The minimum number of artifacts allowed for the action type.", - "title": "MinimumCount", + "ScheduleExpression": { + "type": "string" + }, + "StartTimeOffset": { "type": "number" } }, "required": [ - "MaximumCount", - "MinimumCount" + "ScheduleExpression", + "StartTimeOffset" ], "type": "object" }, - "AWS::CodePipeline::CustomActionType.ConfigurationProperties": { + "AWS::CloudWatch::LogAlarm.ScheduledQueryConfiguration": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the action configuration property that is displayed to users.", - "title": "Description", + "AggregationExpression": { "type": "string" }, - "Key": { - "markdownDescription": "Whether the configuration property is a key.", - "title": "Key", - "type": "boolean" + "LogGroupIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" }, - "Name": { - "markdownDescription": "The name of the action configuration property.", - "title": "Name", + "QueryString": { "type": "string" }, - "Queryable": { - "markdownDescription": "Indicates that the property is used with `PollForJobs` . When creating a custom action, an action can have up to one queryable property. If it has one, that property must be both required and not secret.\n\nIf you create a pipeline with a custom action type, and that custom action contains a queryable property, the value for that configuration property is subject to other restrictions. The value must be less than or equal to twenty (20) characters. The value can contain only alphanumeric characters, underscores, and hyphens.", - "title": "Queryable", - "type": "boolean" - }, - "Required": { - "markdownDescription": "Whether the configuration property is a required value.", - "title": "Required", - "type": "boolean" - }, - "Secret": { - "markdownDescription": "Whether the configuration property is secret. Secrets are hidden from all calls except for `GetJobDetails` , `GetThirdPartyJobDetails` , `PollForJobs` , and `PollForThirdPartyJobs` .\n\nWhen updating a pipeline, passing * * * * * without changing any other values of the action preserves the previous value of the secret.", - "title": "Secret", - "type": "boolean" + "ScheduleConfiguration": { + "$ref": "#/definitions/AWS::CloudWatch::LogAlarm.ScheduleConfiguration" }, - "Type": { - "markdownDescription": "The type of the configuration property.", - "title": "Type", + "ScheduledQueryRoleARN": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Key", - "Name", - "Required", - "Secret" + "AggregationExpression", + "QueryString", + "ScheduleConfiguration", + "ScheduledQueryRoleARN" ], "type": "object" }, - "AWS::CodePipeline::CustomActionType.Settings": { + "AWS::CloudWatch::LogAlarm.WarmUpConfiguration": { "additionalProperties": false, "properties": { - "EntityUrlTemplate": { - "markdownDescription": "The URL returned to the CodePipeline console that provides a deep link to the resources of the external system, such as the configuration page for a CodeDeploy deployment group. This link is provided as part of the action display in the pipeline.", - "title": "EntityUrlTemplate", - "type": "string" - }, - "ExecutionUrlTemplate": { - "markdownDescription": "The URL returned to the CodePipeline console that contains a link to the top-level landing page for the external system, such as the console page for CodeDeploy. This link is shown on the pipeline view page in the CodePipeline console and provides a link to the execution entity of the external action.", - "title": "ExecutionUrlTemplate", - "type": "string" - }, - "RevisionUrlTemplate": { - "markdownDescription": "The URL returned to the CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action.", - "title": "RevisionUrlTemplate", - "type": "string" + "OnlyStartEvaluatingAfterWarmUpPeriodEnds": { + "type": "boolean" }, - "ThirdPartyConfigurationUrl": { - "markdownDescription": "The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service.", - "title": "ThirdPartyConfigurationUrl", - "type": "string" + "WarmUpPeriodDurationInMinutes": { + "type": "number" } }, "type": "object" }, - "AWS::CodePipeline::Pipeline": { + "AWS::CloudWatch::MetricStream": { "additionalProperties": false, "properties": { "Condition": { @@ -79162,94 +79681,74 @@ "Properties": { "additionalProperties": false, "properties": { - "ArtifactStore": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore", - "markdownDescription": "The S3 bucket where artifacts for the pipeline are stored.\n\n> You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` .", - "title": "ArtifactStore" - }, - "ArtifactStores": { + "ExcludeFilters": { "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStoreMap" + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" }, - "markdownDescription": "A mapping of `artifactStore` objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.\n\n> You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` .", - "title": "ArtifactStores", + "markdownDescription": "If you specify this parameter, the stream sends metrics from all metric namespaces except for the namespaces that you specify here. You cannot specify both `IncludeFilters` and `ExcludeFilters` in the same metric stream.\n\nWhen you modify the `IncludeFilters` or `ExcludeFilters` of an existing metric stream in any way, the metric stream is effectively restarted, so after such a change you will get only the datapoints that have a timestamp after the time of the update.", + "title": "ExcludeFilters", "type": "array" }, - "DisableInboundStageTransitions": { + "FirehoseArn": { + "markdownDescription": "The ARN of the Amazon Kinesis Firehose delivery stream to use for this metric stream. This Amazon Kinesis Firehose delivery stream must already exist and must be in the same account as the metric stream.", + "title": "FirehoseArn", + "type": "string" + }, + "IncludeFilters": { "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageTransition" + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" }, - "markdownDescription": "Represents the input of a `DisableStageTransition` action.", - "title": "DisableInboundStageTransitions", + "markdownDescription": "If you specify this parameter, the stream sends only the metrics from the metric namespaces that you specify here. You cannot specify both `IncludeFilters` and `ExcludeFilters` in the same metric stream.\n\nWhen you modify the `IncludeFilters` or `ExcludeFilters` of an existing metric stream in any way, the metric stream is effectively restarted, so after such a change you will get only the datapoints that have a timestamp after the time of the update.", + "title": "IncludeFilters", "type": "array" }, - "ExecutionMode": { - "markdownDescription": "The method that the pipeline will use to handle multiple executions. The default mode is SUPERSEDED.", - "title": "ExecutionMode", - "type": "string" + "IncludeLinkedAccountsMetrics": { + "markdownDescription": "If you are creating a metric stream in a monitoring account, specify `true` to include metrics from source accounts that are linked to this monitoring account, in the metric stream. The default is `false` .\n\nFor more information about linking accounts, see [CloudWatch cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)", + "title": "IncludeLinkedAccountsMetrics", + "type": "boolean" }, "Name": { - "markdownDescription": "The name of the pipeline.", + "markdownDescription": "If you are creating a new metric stream, this is the name for the new stream. The name must be different than the names of other metric streams in this account and Region.\n\nIf you are updating a metric stream, specify the name of that stream here.", "title": "Name", "type": "string" }, - "PipelineType": { - "markdownDescription": "CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.\n\n- V1 type pipelines have a JSON structure that contains standard pipeline, stage, and action-level parameters.\n- V2 type pipelines have the same structure as a V1 type, along with additional parameters for release safety and trigger configuration.\n\n> Including V2 parameters, such as triggers on Git tags, in the pipeline JSON when creating or updating a pipeline will result in the pipeline having the V2 type of pipeline and the associated costs. \n\nFor information about pricing for CodePipeline, see [Pricing](https://docs.aws.amazon.com/codepipeline/pricing/) .\n\nFor information about which type of pipeline to choose, see [What type of pipeline is right for me?](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html) .", - "title": "PipelineType", + "OutputFormat": { + "markdownDescription": "The output format for the stream. Valid values are `json` , `opentelemetry1.0` and `opentelemetry0.7` For more information about metric stream output formats, see [Metric streams output formats](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-formats.html) .\n\nThis parameter is required.", + "title": "OutputFormat", "type": "string" }, - "RestartExecutionOnUpdate": { - "markdownDescription": "Indicates whether to rerun the CodePipeline pipeline after you update it.", - "title": "RestartExecutionOnUpdate", - "type": "boolean" - }, "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for CodePipeline to use to either perform actions with no `actionRoleArn` , or to use to assume roles for actions with an `actionRoleArn` .", + "markdownDescription": "The ARN of an IAM role that this metric stream will use to access Amazon Kinesis Firehose resources. This IAM role must already exist and must be in the same account as the metric stream. This IAM role must include the `firehose:PutRecord` and `firehose:PutRecordBatch` permissions.", "title": "RoleArn", "type": "string" }, - "Stages": { + "StatisticsConfigurations": { "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageDeclaration" + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamStatisticsConfiguration" }, - "markdownDescription": "Represents information about a stage and its definition.", - "title": "Stages", + "markdownDescription": "By default, a metric stream always sends the MAX, MIN, SUM, and SAMPLECOUNT statistics for each metric that is streamed. You can use this parameter to have the metric stream also send additional statistics in the stream. This array can have up to 100 members.\n\nFor each entry in this array, you specify one or more metrics and the list of additional statistics to stream for those metrics. The additional statistics that you can stream depend on the stream's `OutputFormat` . If the `OutputFormat` is `json` , you can stream any additional statistic that is supported by CloudWatch , listed in [CloudWatch statistics definitions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html) . If the `OutputFormat` is OpenTelemetry, you can stream percentile statistics.", + "title": "StatisticsConfigurations", "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies the tags applied to the pipeline.", + "markdownDescription": "An array of key-value pairs to apply to the metric stream.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", "title": "Tags", "type": "array" - }, - "Triggers": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.PipelineTriggerDeclaration" - }, - "markdownDescription": "The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.\n\n> When a trigger configuration is specified, default change detection for repository and branch commits is disabled.", - "title": "Triggers", - "type": "array" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.VariableDeclaration" - }, - "markdownDescription": "A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match `[A-Za-z0-9@\\-_]+` .", - "title": "Variables", - "type": "array" } }, "required": [ - "RoleArn", - "Stages" + "FirehoseArn", + "OutputFormat", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodePipeline::Pipeline" + "AWS::CloudWatch::MetricStream" ], "type": "string" }, @@ -79268,680 +79767,132 @@ ], "type": "object" }, - "AWS::CodePipeline::Pipeline.ActionDeclaration": { + "AWS::CloudWatch::MetricStream.MetricStreamFilter": { "additionalProperties": false, "properties": { - "ActionTypeId": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionTypeId", - "markdownDescription": "Specifies the action type and the provider of the action.", - "title": "ActionTypeId" - }, - "Commands": { + "MetricNames": { "items": { "type": "string" }, - "markdownDescription": "The shell commands to run with your compute action in CodePipeline. All commands are supported except multi-line formats. While CodeBuild logs and permissions are used, you do not need to create any resources in CodeBuild.\n\n> Using compute time for this action will incur separate charges in AWS CodeBuild .", - "title": "Commands", - "type": "array" - }, - "Configuration": { - "markdownDescription": "The action's configuration. These are key-value pairs that specify input values for an action. For more information, see [Action Structure Requirements in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements) . For the list of configuration properties for the AWS CloudFormation action type in CodePipeline, see [Configuration Properties Reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html) in the *AWS CloudFormation User Guide* . For template snippets with examples, see [Using Parameter Override Functions with CodePipeline Pipelines](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html) in the *AWS CloudFormation User Guide* .\n\nThe values can be represented in either JSON or YAML format. For example, the JSON configuration item format is as follows:\n\n*JSON:*\n\n`\"Configuration\" : { Key : Value },`", - "title": "Configuration", - "type": "object" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EnvironmentVariable" - }, - "markdownDescription": "The environment variables for the action.", - "title": "EnvironmentVariables", - "type": "array" - }, - "InputArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" - }, - "markdownDescription": "The name or ID of the artifact consumed by the action, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of input artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* .\n\n> For a CodeBuild action with multiple input artifacts, one of your input sources must be designated the PrimarySource. For more information, see the [CodeBuild action reference page](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodeBuild.html) in the *AWS CodePipeline User Guide* .", - "title": "InputArtifacts", + "markdownDescription": "The names of the metrics to either include or exclude from the metric stream.\n\nIf you omit this parameter, all metrics in the namespace are included or excluded, depending on whether this filter is specified as an exclude filter or an include filter.\n\nEach metric name can contain only ASCII printable characters (ASCII range 32 through 126). Each metric name must contain at least one non-whitespace character.", + "title": "MetricNames", "type": "array" }, - "Name": { - "markdownDescription": "The action declaration's name.", - "title": "Name", - "type": "string" - }, "Namespace": { - "markdownDescription": "The variable namespace associated with the action. All variables produced as output by this action fall under this namespace.", + "markdownDescription": "The name of the metric namespace in the filter.\n\nThe namespace can contain only ASCII printable characters (ASCII range 32 through 126). It must contain at least one non-whitespace character.", "title": "Namespace", "type": "string" - }, - "OutputArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.OutputArtifact" - }, - "markdownDescription": "The name or ID of the result of the action declaration, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of output artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* .", - "title": "OutputArtifacts", - "type": "array" - }, - "OutputVariables": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of variables that are to be exported from the compute action. This is specifically CodeBuild environment variables as used for that action.", - "title": "OutputVariables", - "type": "array" - }, - "Region": { - "markdownDescription": "The action declaration's AWS Region, such as us-east-1.", - "title": "Region", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline.", - "title": "RoleArn", - "type": "string" - }, - "RunOrder": { - "markdownDescription": "The order in which actions are run.", - "title": "RunOrder", - "type": "number" - }, - "TimeoutInMinutes": { - "markdownDescription": "A timeout duration in minutes that can be applied against the ActionType\u2019s default timeout value specified in [Quotas for AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/limits.html) . This attribute is available only to the manual approval ActionType.", - "title": "TimeoutInMinutes", - "type": "number" - } - }, - "required": [ - "ActionTypeId", - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ActionTypeId": { - "additionalProperties": false, - "properties": { - "Category": { - "markdownDescription": "A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.\n\n- `Source`\n- `Build`\n- `Test`\n- `Deploy`\n- `Invoke`\n- `Approval`\n- `Compute`", - "title": "Category", - "type": "string" - }, - "Owner": { - "markdownDescription": "The creator of the action being called. There are three valid values for the `Owner` field in the action category section within your pipeline structure: `AWS` , `ThirdParty` , and `Custom` . For more information, see [Valid Action Types and Providers in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#actions-valid-providers) .", - "title": "Owner", - "type": "string" - }, - "Provider": { - "markdownDescription": "The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of CodeDeploy, which would be specified as `CodeDeploy` . For more information, see [Valid Action Types and Providers in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#actions-valid-providers) .", - "title": "Provider", - "type": "string" - }, - "Version": { - "markdownDescription": "A string that describes the action version.", - "title": "Version", - "type": "string" - } - }, - "required": [ - "Category", - "Owner", - "Provider", - "Version" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ArtifactStore": { - "additionalProperties": false, - "properties": { - "EncryptionKey": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EncryptionKey", - "markdownDescription": "The encryption key used to encrypt the data in the artifact store, such as an AWS Key Management Service ( AWS KMS) key. If this is undefined, the default key for Amazon S3 is used. To see an example artifact store encryption key field, see the example structure here: [AWS::CodePipeline::Pipeline](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html) .", - "title": "EncryptionKey" - }, - "Location": { - "markdownDescription": "The S3 bucket used for storing the artifacts for a pipeline. You can specify the name of an S3 bucket but not a folder in the bucket. A folder to contain the pipeline artifacts is created for you based on the name of the pipeline. You can use any S3 bucket in the same AWS Region as the pipeline to store your pipeline artifacts.", - "title": "Location", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of the artifact store, such as S3.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Location", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ArtifactStoreMap": { - "additionalProperties": false, - "properties": { - "ArtifactStore": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore", - "markdownDescription": "Represents information about the S3 bucket where artifacts are stored for the pipeline.\n\n> You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` .", - "title": "ArtifactStore" - }, - "Region": { - "markdownDescription": "The action declaration's AWS Region, such as us-east-1.", - "title": "Region", - "type": "string" - } - }, - "required": [ - "ArtifactStore", - "Region" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.BeforeEntryConditions": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.Condition" - }, - "markdownDescription": "The conditions that are configured as entry conditions.", - "title": "Conditions", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.BlockerDeclaration": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "Reserved for future use.", - "title": "Name", - "type": "string" - }, - "Type": { - "markdownDescription": "Reserved for future use.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.Condition": { - "additionalProperties": false, - "properties": { - "Result": { - "markdownDescription": "The action to be done when the condition is met. For example, rolling back an execution for a failure condition.", - "title": "Result", - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.RuleDeclaration" - }, - "markdownDescription": "The rules that make up the condition.", - "title": "Rules", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.EncryptionKey": { - "additionalProperties": false, - "properties": { - "Id": { - "markdownDescription": "The ID used to identify the key. For an AWS KMS key, you can use the key ID, the key ARN, or the alias ARN.\n\n> Aliases are recognized only in the account that created the AWS key. For cross-account actions, you can only use the key ID or key ARN to identify the key. Cross-account actions involve using the role from the other account (AccountB), so specifying the key ID will use the key from the other account (AccountB).", - "title": "Id", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of encryption key, such as an AWS KMS key. When creating or updating a pipeline, the value must be set to 'KMS'.", - "title": "Type", - "type": "string" } }, "required": [ - "Id", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The environment variable name in the key-value pair.", - "title": "Name", - "type": "string" - }, - "Type": { - "markdownDescription": "Specifies the type of use for the environment variable value. The value can be either `PLAINTEXT` or `SECRETS_MANAGER` . If the value is `SECRETS_MANAGER` , provide the Secrets reference in the EnvironmentVariable value.", - "title": "Type", - "type": "string" - }, - "Value": { - "markdownDescription": "The environment variable value in the key-value pair.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.FailureConditions": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.Condition" - }, - "markdownDescription": "The conditions that are configured as failure conditions. For more information about conditions, see [Stage conditions](https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html) and [How do stage conditions work?](https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html) .", - "title": "Conditions", - "type": "array" - }, - "Result": { - "markdownDescription": "The specified result for when the failure conditions are met, such as rolling back the stage.", - "title": "Result", - "type": "string" - }, - "RetryConfiguration": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.RetryConfiguration", - "markdownDescription": "The retry configuration specifies automatic retry for a failed stage, along with the configured retry mode.", - "title": "RetryConfiguration" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.GitBranchFilterCriteria": { - "additionalProperties": false, - "properties": { - "Excludes": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of patterns of Git branches that, when a commit is pushed, are to be excluded from starting the pipeline.", - "title": "Excludes", - "type": "array" - }, - "Includes": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of patterns of Git branches that, when a commit is pushed, are to be included as criteria that starts the pipeline.", - "title": "Includes", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.GitConfiguration": { - "additionalProperties": false, - "properties": { - "PullRequest": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitPullRequestFilter" - }, - "markdownDescription": "The field where the repository event that will start the pipeline is specified as pull requests.", - "title": "PullRequest", - "type": "array" - }, - "Push": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitPushFilter" - }, - "markdownDescription": "The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details.", - "title": "Push", - "type": "array" - }, - "SourceActionName": { - "markdownDescription": "The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only.\n\n> You can only specify one trigger configuration per source action.", - "title": "SourceActionName", - "type": "string" - } - }, - "required": [ - "SourceActionName" + "Namespace" ], "type": "object" }, - "AWS::CodePipeline::Pipeline.GitFilePathFilterCriteria": { - "additionalProperties": false, - "properties": { - "Excludes": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.", - "title": "Excludes", - "type": "array" - }, - "Includes": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.", - "title": "Includes", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.GitPullRequestFilter": { - "additionalProperties": false, - "properties": { - "Branches": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitBranchFilterCriteria", - "markdownDescription": "The field that specifies to filter on branches for the pull request trigger configuration.", - "title": "Branches" - }, - "Events": { - "items": { - "type": "string" - }, - "markdownDescription": "The field that specifies which pull request events to filter on (OPEN, UPDATED, CLOSED) for the trigger configuration.", - "title": "Events", - "type": "array" - }, - "FilePaths": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitFilePathFilterCriteria", - "markdownDescription": "The field that specifies to filter on file paths for the pull request trigger configuration.", - "title": "FilePaths" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.GitPushFilter": { - "additionalProperties": false, - "properties": { - "Branches": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitBranchFilterCriteria", - "markdownDescription": "The field that specifies to filter on branches for the push trigger configuration.", - "title": "Branches" - }, - "FilePaths": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitFilePathFilterCriteria", - "markdownDescription": "The field that specifies to filter on file paths for the push trigger configuration.", - "title": "FilePaths" - }, - "Tags": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitTagFilterCriteria", - "markdownDescription": "The field that contains the details for the Git tags trigger configuration.", - "title": "Tags" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.GitTagFilterCriteria": { + "AWS::CloudWatch::MetricStream.MetricStreamStatisticsConfiguration": { "additionalProperties": false, "properties": { - "Excludes": { + "AdditionalStatistics": { "items": { "type": "string" }, - "markdownDescription": "The list of patterns of Git tags that, when pushed, are to be excluded from starting the pipeline.", - "title": "Excludes", + "markdownDescription": "The additional statistics to stream for the metrics listed in `IncludeMetrics` .", + "title": "AdditionalStatistics", "type": "array" }, - "Includes": { + "IncludeMetrics": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamStatisticsMetric" }, - "markdownDescription": "The list of patterns of Git tags that, when pushed, are to be included as criteria that starts the pipeline.", - "title": "Includes", + "markdownDescription": "An array that defines the metrics that are to have additional statistics streamed.", + "title": "IncludeMetrics", "type": "array" } }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.InputArtifact": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the artifact to be worked on (for example, \"My App\").\n\nArtifacts are the files that are worked on by actions in the pipeline. See the action configuration for each action for details about artifact parameters. For example, the S3 source action input artifact is a file name (or file path), and the files are generally provided as a ZIP file. Example artifact name: SampleApp_Windows.zip\n\nThe input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.", - "title": "Name", - "type": "string" - } - }, "required": [ - "Name" + "AdditionalStatistics", + "IncludeMetrics" ], "type": "object" }, - "AWS::CodePipeline::Pipeline.OutputArtifact": { + "AWS::CloudWatch::MetricStream.MetricStreamStatisticsMetric": { "additionalProperties": false, "properties": { - "Files": { - "items": { - "type": "string" - }, - "markdownDescription": "The files that you want to associate with the output artifact that will be exported from the compute action.", - "title": "Files", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the output of an artifact, such as \"My App\".\n\nThe output artifact name must exactly match the input artifact declared for a downstream action. However, the downstream action's input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.\n\nOutput artifact names must be unique within a pipeline.", - "title": "Name", + "MetricName": { + "markdownDescription": "The name of the metric.", + "title": "MetricName", "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.PipelineTriggerDeclaration": { - "additionalProperties": false, - "properties": { - "GitConfiguration": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitConfiguration", - "markdownDescription": "Provides the filter criteria and the source stage for the repository event that starts the pipeline, such as Git tags.", - "title": "GitConfiguration" }, - "ProviderType": { - "markdownDescription": "The source provider for the event, such as connections configured for a repository with Git tags, for the specified trigger configuration.", - "title": "ProviderType", + "Namespace": { + "markdownDescription": "The namespace of the metric.", + "title": "Namespace", "type": "string" } }, "required": [ - "ProviderType" + "MetricName", + "Namespace" ], "type": "object" }, - "AWS::CodePipeline::Pipeline.RetryConfiguration": { - "additionalProperties": false, - "properties": { - "RetryMode": { - "markdownDescription": "The method that you want to configure for automatic stage retry on stage failure. You can specify to retry only failed action in the stage or all actions in the stage.", - "title": "RetryMode", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.RuleDeclaration": { - "additionalProperties": false, - "properties": { - "Commands": { - "items": { - "type": "string" - }, - "markdownDescription": "The shell commands to run with your commands rule in CodePipeline. All commands are supported except multi-line formats. While CodeBuild logs and permissions are used, you do not need to create any resources in CodeBuild.\n\n> Using compute time for this action will incur separate charges in AWS CodeBuild .", - "title": "Commands", - "type": "array" - }, - "Configuration": { - "markdownDescription": "The action configuration fields for the rule.", - "title": "Configuration", - "type": "object" - }, - "InputArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" - }, - "markdownDescription": "The input artifacts fields for the rule, such as specifying an input file for the rule.", - "title": "InputArtifacts", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the rule that is created for the condition, such as `VariableCheck` .", - "title": "Name", - "type": "string" - }, - "Region": { - "markdownDescription": "The Region for the condition associated with the rule.", - "title": "Region", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The pipeline role ARN associated with the rule.", - "title": "RoleArn", - "type": "string" - }, - "RuleTypeId": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.RuleTypeId", - "markdownDescription": "The ID for the rule type, which is made up of the combined values for category, owner, provider, and version.", - "title": "RuleTypeId" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.RuleTypeId": { + "AWS::CloudWatch::OTelEnrichment": { "additionalProperties": false, "properties": { - "Category": { - "markdownDescription": "A category defines what kind of rule can be run in the stage, and constrains the provider type for the rule. The valid category is `Rule` .", - "title": "Category", - "type": "string" - }, - "Owner": { - "markdownDescription": "The creator of the rule being called. The valid value for the `Owner` field in the rule category is `AWS` .", - "title": "Owner", - "type": "string" - }, - "Provider": { - "markdownDescription": "The rule provider, such as the `DeploymentWindow` rule. For a list of rule provider names, see the rules listed in the [AWS CodePipeline rule reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html) .", - "title": "Provider", - "type": "string" - }, - "Version": { - "markdownDescription": "A string that describes the rule version.", - "title": "Version", + "Condition": { "type": "string" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.StageDeclaration": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionDeclaration" - }, - "markdownDescription": "The actions included in a stage.", - "title": "Actions", - "type": "array" - }, - "BeforeEntry": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BeforeEntryConditions", - "markdownDescription": "The method to use when a stage allows entry. For example, configuring this field for conditions will allow entry to the stage when the conditions are met.", - "title": "BeforeEntry" - }, - "Blockers": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BlockerDeclaration" - }, - "markdownDescription": "Reserved for future use.", - "title": "Blockers", - "type": "array" }, - "Name": { - "markdownDescription": "The name of the stage.", - "title": "Name", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "OnFailure": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.FailureConditions", - "markdownDescription": "The method to use when a stage has not completed successfully. For example, configuring this field for rollback will roll back a failed stage automatically to the last successful pipeline execution in the stage.", - "title": "OnFailure" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "OnSuccess": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.SuccessConditions", - "markdownDescription": "The method to use when a stage has succeeded. For example, configuring this field for conditions will allow the stage to succeed when the conditions are met.", - "title": "OnSuccess" - } - }, - "required": [ - "Actions", - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.StageTransition": { - "additionalProperties": false, - "properties": { - "Reason": { - "markdownDescription": "The reason given to the user that a stage is disabled, such as waiting for manual approval or manual tests. This message is displayed in the pipeline console UI.", - "title": "Reason", - "type": "string" + "Metadata": { + "type": "object" }, - "StageName": { - "markdownDescription": "The name of the stage where you want to disable the inbound or outbound transition of artifacts.", - "title": "StageName", - "type": "string" - } - }, - "required": [ - "Reason", - "StageName" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.SuccessConditions": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.Condition" - }, - "markdownDescription": "The conditions that are success conditions.", - "title": "Conditions", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.VariableDeclaration": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "markdownDescription": "The value of a pipeline-level variable.", - "title": "DefaultValue", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" }, - "Description": { - "markdownDescription": "The description of a pipeline-level variable. It's used to add additional context about the variable, and not being used at time when pipeline executes.", - "title": "Description", + "Type": { + "enum": [ + "AWS::CloudWatch::OTelEnrichment" + ], "type": "string" }, - "Name": { - "markdownDescription": "The name of a pipeline-level variable.", - "title": "Name", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Name" + "Type" ], "type": "object" }, - "AWS::CodePipeline::Webhook": { + "AWS::CodeArtifact::Domain": { "additionalProperties": false, "properties": { "Condition": { @@ -79976,68 +79927,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Authentication": { - "markdownDescription": "Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.\n\n> When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities. > If a secret token was provided, it will be redacted in the response. \n\n- For information about the authentication scheme implemented by GITHUB_HMAC, see [Securing your webhooks](https://docs.aws.amazon.com/https://developer.github.com/webhooks/securing/) on the GitHub Developer website.\n- IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration.\n- UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.", - "title": "Authentication", + "DomainName": { + "markdownDescription": "A string that specifies the name of the requested domain.", + "title": "DomainName", "type": "string" }, - "AuthenticationConfiguration": { - "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookAuthConfiguration", - "markdownDescription": "Properties that configure the authentication applied to incoming webhook trigger requests. The required properties depend on the authentication type. For GITHUB_HMAC, only the `SecretToken` property must be set. For IP, only the `AllowedIPRange` property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set.", - "title": "AuthenticationConfiguration" - }, - "Filters": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookFilterRule" - }, - "markdownDescription": "A list of rules applied to the body/payload sent in the POST request to a webhook URL. All defined rules must pass for the request to be accepted and the pipeline started.", - "title": "Filters", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the webhook.", - "title": "Name", + "EncryptionKey": { + "markdownDescription": "The key used to encrypt the domain.", + "title": "EncryptionKey", "type": "string" }, - "RegisterWithThirdParty": { - "markdownDescription": "Configures a connection between the webhook that was created and the external tool with events to be detected.", - "title": "RegisterWithThirdParty", - "type": "boolean" + "PermissionsPolicyDocument": { + "markdownDescription": "The document that defines the resource policy that is set on a domain.", + "title": "PermissionsPolicyDocument", + "type": "object" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "A list of tags to be applied to the domain.", + "title": "Tags", "type": "array" - }, - "TargetAction": { - "markdownDescription": "The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline.", - "title": "TargetAction", - "type": "string" - }, - "TargetPipeline": { - "markdownDescription": "The name of the pipeline you want to connect to the webhook.", - "title": "TargetPipeline", - "type": "string" - }, - "TargetPipelineVersion": { - "markdownDescription": "The version number of the pipeline to be connected to the trigger request.\n\nRequired: Yes\n\nType: Integer\n\nUpdate requires: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)", - "title": "TargetPipelineVersion", - "type": "number" } }, "required": [ - "Authentication", - "AuthenticationConfiguration", - "Filters", - "TargetAction", - "TargetPipeline" + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodePipeline::Webhook" + "AWS::CodeArtifact::Domain" ], "type": "string" }, @@ -80056,42 +79977,7 @@ ], "type": "object" }, - "AWS::CodePipeline::Webhook.WebhookAuthConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedIPRange": { - "markdownDescription": "The property used to configure acceptance of webhooks in an IP address range. For IP, only the `AllowedIPRange` property must be set. This property must be set to a valid CIDR range.", - "title": "AllowedIPRange", - "type": "string" - }, - "SecretToken": { - "markdownDescription": "The property used to configure GitHub authentication. For GITHUB_HMAC, only the `SecretToken` property must be set.\n\n> When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities. > If a secret token was provided, it will be redacted in the response.", - "title": "SecretToken", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Webhook.WebhookFilterRule": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "markdownDescription": "A JsonPath expression that is applied to the body/payload of the webhook. The value selected by the JsonPath expression must match the value specified in the `MatchEquals` field. Otherwise, the request is ignored. For more information, see [Java JsonPath implementation](https://docs.aws.amazon.com/https://github.com/json-path/JsonPath) in GitHub.", - "title": "JsonPath", - "type": "string" - }, - "MatchEquals": { - "markdownDescription": "The value selected by the `JsonPath` expression must match what is supplied in the `MatchEquals` field. Otherwise, the request is ignored. Properties from the target action configuration can be included as placeholders in this value by surrounding the action configuration key with curly brackets. For example, if the value supplied here is \"refs/heads/{Branch}\" and the target action has an action configuration property called \"Branch\" with a value of \"main\", the `MatchEquals` value is evaluated as \"refs/heads/main\". For a list of action configuration properties for built-in action types, see [Pipeline Structure Reference Action Requirements](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements) .", - "title": "MatchEquals", - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::CodeStar::GitHubRepository": { + "AWS::CodeArtifact::Package": { "additionalProperties": false, "properties": { "Condition": { @@ -80126,56 +80012,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Code": { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code", - "markdownDescription": "Information about code to be committed to a repository after it is created in an CloudFormation stack.", - "title": "Code" - }, - "ConnectionArn": { - "markdownDescription": "", - "title": "ConnectionArn", + "DomainName": { "type": "string" }, - "EnableIssues": { - "markdownDescription": "Indicates whether to enable issues for the GitHub repository. You can use GitHub issues to track information and bugs for your repository.", - "title": "EnableIssues", - "type": "boolean" - }, - "IsPrivate": { - "markdownDescription": "Indicates whether the GitHub repository is a private repository. If so, you choose who can see and commit to this repository.", - "title": "IsPrivate", - "type": "boolean" - }, - "RepositoryAccessToken": { - "markdownDescription": "The GitHub user's personal access token for the GitHub repository.", - "title": "RepositoryAccessToken", + "Format": { "type": "string" }, - "RepositoryDescription": { - "markdownDescription": "A comment or description about the new repository. This description is displayed in GitHub after the repository is created.", - "title": "RepositoryDescription", + "Name": { "type": "string" }, - "RepositoryName": { - "markdownDescription": "The name of the repository you want to create in GitHub with CloudFormation stack creation.", - "title": "RepositoryName", + "Namespace": { "type": "string" }, - "RepositoryOwner": { - "markdownDescription": "The GitHub user name for the owner of the GitHub repository to be created. If this repository should be owned by a GitHub organization, provide its name.", - "title": "RepositoryOwner", + "Repository": { "type": "string" } }, "required": [ - "RepositoryName", - "RepositoryOwner" + "DomainName", + "Format", + "Name", + "Repository" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeStar::GitHubRepository" + "AWS::CodeArtifact::Package" ], "type": "string" }, @@ -80194,46 +80057,28 @@ ], "type": "object" }, - "AWS::CodeStar::GitHubRepository.Code": { + "AWS::CodeArtifact::Package.OriginConfiguration": { "additionalProperties": false, "properties": { - "S3": { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.S3", - "markdownDescription": "Information about the Amazon S3 bucket that contains a ZIP file of code to be committed to the repository.", - "title": "S3" + "Restrictions": { + "$ref": "#/definitions/AWS::CodeArtifact::Package.Restrictions" } }, - "required": [ - "S3" - ], "type": "object" }, - "AWS::CodeStar::GitHubRepository.S3": { + "AWS::CodeArtifact::Package.Restrictions": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the Amazon S3 bucket that contains the ZIP file with the content to be committed to the new repository.", - "title": "Bucket", - "type": "string" - }, - "Key": { - "markdownDescription": "The S3 object key or file name for the ZIP file.", - "title": "Key", + "Publish": { "type": "string" }, - "ObjectVersion": { - "markdownDescription": "The object version of the ZIP file, if versioning is enabled for the Amazon S3 bucket.", - "title": "ObjectVersion", + "Upstream": { "type": "string" } }, - "required": [ - "Bucket", - "Key" - ], "type": "object" }, - "AWS::CodeStarConnections::Connection": { + "AWS::CodeArtifact::PackageGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -80268,38 +80113,54 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionName": { - "markdownDescription": "The name of the connection. Connection names must be unique in an AWS account .", - "title": "ConnectionName", + "ContactInfo": { + "markdownDescription": "The contact information of the package group.", + "title": "ContactInfo", "type": "string" }, - "HostArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the host associated with the connection.", - "title": "HostArn", + "Description": { + "markdownDescription": "The description of the package group.", + "title": "Description", "type": "string" }, - "ProviderType": { - "markdownDescription": "The name of the external provider where your third-party code repository is configured.", - "title": "ProviderType", + "DomainName": { + "markdownDescription": "The domain that contains the package group.", + "title": "DomainName", + "type": "string" + }, + "DomainOwner": { + "markdownDescription": "The 12-digit account number of the AWS account that owns the domain. It does not include dashes or spaces.", + "title": "DomainOwner", + "type": "string" + }, + "OriginConfiguration": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.OriginConfiguration", + "markdownDescription": "Details about the package origin configuration of a package group.", + "title": "OriginConfiguration" + }, + "Pattern": { + "markdownDescription": "The pattern of the package group. The pattern determines which packages are associated with the package group.", + "title": "Pattern", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies the tags applied to the resource.", + "markdownDescription": "", "title": "Tags", "type": "array" } }, "required": [ - "ConnectionName" + "DomainName", + "Pattern" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeStarConnections::Connection" + "AWS::CodeArtifact::PackageGroup" ], "type": "string" }, @@ -80318,7 +80179,64 @@ ], "type": "object" }, - "AWS::CodeStarConnections::RepositoryLink": { + "AWS::CodeArtifact::PackageGroup.OriginConfiguration": { + "additionalProperties": false, + "properties": { + "Restrictions": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.Restrictions", + "markdownDescription": "", + "title": "Restrictions" + } + }, + "required": [ + "Restrictions" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.RestrictionType": { + "additionalProperties": false, + "properties": { + "Repositories": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Repositories", + "type": "array" + }, + "RestrictionMode": { + "markdownDescription": "", + "title": "RestrictionMode", + "type": "string" + } + }, + "required": [ + "RestrictionMode" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.Restrictions": { + "additionalProperties": false, + "properties": { + "ExternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType", + "markdownDescription": "", + "title": "ExternalUpstream" + }, + "InternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType", + "markdownDescription": "", + "title": "InternalUpstream" + }, + "Publish": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType", + "markdownDescription": "", + "title": "Publish" + } + }, + "type": "object" + }, + "AWS::CodeArtifact::Repository": { "additionalProperties": false, "properties": { "Condition": { @@ -80353,23 +80271,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the connection associated with the repository link.", - "title": "ConnectionArn", + "Description": { + "markdownDescription": "A text description of the repository.", + "title": "Description", "type": "string" }, - "EncryptionKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the encryption key for the repository associated with the repository link.", - "title": "EncryptionKeyArn", + "DomainName": { + "markdownDescription": "The name of the domain that contains the repository.", + "title": "DomainName", "type": "string" }, - "OwnerId": { - "markdownDescription": "The owner ID for the repository associated with the repository link, such as the owner ID in GitHub.", - "title": "OwnerId", + "DomainOwner": { + "markdownDescription": "The 12-digit account number of the AWS account that owns the domain that contains the repository. It does not include dashes or spaces.", + "title": "DomainOwner", "type": "string" }, + "ExternalConnections": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of external connections associated with the repository. For more information, see [Supported external connection repositories](https://docs.aws.amazon.com/codeartifact/latest/ug/external-connection.html#supported-public-repositories) in the *CodeArtifact user guide* .", + "title": "ExternalConnections", + "type": "array" + }, + "PermissionsPolicyDocument": { + "markdownDescription": "The document that defines the resource policy that is set on a repository.", + "title": "PermissionsPolicyDocument", + "type": "object" + }, "RepositoryName": { - "markdownDescription": "The name of the repository associated with the repository link.", + "markdownDescription": "The name of an upstream repository.", "title": "RepositoryName", "type": "string" }, @@ -80377,21 +80308,28 @@ "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the repository to be associated with the repository link.", + "markdownDescription": "A list of tags to be applied to the repository.", "title": "Tags", "type": "array" + }, + "Upstreams": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of upstream repositories to associate with the repository. The order of the upstream repositories in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more information, see [Working with upstream repositories](https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html) .", + "title": "Upstreams", + "type": "array" } }, "required": [ - "ConnectionArn", - "OwnerId", + "DomainName", "RepositoryName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeStarConnections::RepositoryLink" + "AWS::CodeArtifact::Repository" ], "type": "string" }, @@ -80410,7 +80348,7 @@ ], "type": "object" }, - "AWS::CodeStarConnections::SyncConfiguration": { + "AWS::CodeBuild::Build": { "additionalProperties": false, "properties": { "Condition": { @@ -80445,60 +80383,15 @@ "Properties": { "additionalProperties": false, "properties": { - "Branch": { - "markdownDescription": "The branch associated with a specific sync configuration.", - "title": "Branch", - "type": "string" - }, - "ConfigFile": { - "markdownDescription": "The file path to the configuration file associated with a specific sync configuration. The path should point to an actual file in the sync configurations linked repository.", - "title": "ConfigFile", - "type": "string" - }, - "PublishDeploymentStatus": { - "markdownDescription": "Whether to enable or disable publishing of deployment status to source providers.", - "title": "PublishDeploymentStatus", - "type": "string" - }, - "RepositoryLinkId": { - "markdownDescription": "The ID of the repository link associated with a specific sync configuration.", - "title": "RepositoryLinkId", - "type": "string" - }, - "ResourceName": { - "markdownDescription": "The name of the connection resource associated with a specific sync configuration.", - "title": "ResourceName", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role associated with a specific sync configuration.", - "title": "RoleArn", - "type": "string" - }, - "SyncType": { - "markdownDescription": "The type of sync for a specific sync configuration.", - "title": "SyncType", - "type": "string" - }, - "TriggerResourceUpdateOn": { - "markdownDescription": "When to trigger Git sync to begin the stack update.", - "title": "TriggerResourceUpdateOn", + "ProjectName": { "type": "string" } }, - "required": [ - "Branch", - "ConfigFile", - "RepositoryLinkId", - "ResourceName", - "RoleArn", - "SyncType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeStarConnections::SyncConfiguration" + "AWS::CodeBuild::Build" ], "type": "string" }, @@ -80512,12 +80405,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::CodeStarNotifications::NotificationRule": { + "AWS::CodeBuild::BuildBatch": { "additionalProperties": false, "properties": { "Condition": { @@ -80552,81 +80444,15 @@ "Properties": { "additionalProperties": false, "properties": { - "CreatedBy": { - "markdownDescription": "The name or email alias of the person who created the notification rule.", - "title": "CreatedBy", - "type": "string" - }, - "DetailType": { - "markdownDescription": "The level of detail to include in the notifications for this resource. `BASIC` will include only the contents of the event as it would appear in Amazon CloudWatch. `FULL` will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.", - "title": "DetailType", - "type": "string" - }, - "EventTypeId": { - "markdownDescription": "The event type associated with this notification rule. For a complete list of event types and IDs, see [Notification concepts](https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#concepts-api) in the *Developer Tools Console User Guide* .", - "title": "EventTypeId", - "type": "string" - }, - "EventTypeIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of event types associated with this notification rule. For a complete list of event types and IDs, see [Notification concepts](https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#concepts-api) in the *Developer Tools Console User Guide* .", - "title": "EventTypeIds", - "type": "array" - }, - "Name": { - "markdownDescription": "The name for the notification rule. Notification rule names must be unique in your AWS account .", - "title": "Name", - "type": "string" - }, - "Resource": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource to associate with the notification rule. Supported resources include pipelines in AWS CodePipeline , repositories in AWS CodeCommit , and build projects in AWS CodeBuild .", - "title": "Resource", - "type": "string" - }, - "Status": { - "markdownDescription": "The status of the notification rule. The default value is `ENABLED` . If the status is set to `DISABLED` , notifications aren't sent for the notification rule.", - "title": "Status", - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "A list of tags to apply to this notification rule. Key names cannot start with \" `aws` \".", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - }, - "TargetAddress": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon topic or client.", - "title": "TargetAddress", + "ProjectName": { "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule.Target" - }, - "markdownDescription": "A list of Amazon Resource Names (ARNs) of Amazon topics and clients to associate with the notification rule.", - "title": "Targets", - "type": "array" } }, - "required": [ - "DetailType", - "EventTypeIds", - "Name", - "Resource", - "Targets" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeStarNotifications::NotificationRule" + "AWS::CodeBuild::BuildBatch" ], "type": "string" }, @@ -80640,32 +80466,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeStarNotifications::NotificationRule.Target": { - "additionalProperties": false, - "properties": { - "TargetAddress": { - "markdownDescription": "The Amazon Resource Name (ARN) of the topic or client.", - "title": "TargetAddress", - "type": "string" - }, - "TargetType": { - "markdownDescription": "The target type. Can be an Amazon Simple Notification Service topic or client.\n\n- Amazon Simple Notification Service topics are specified as `SNS` .\n- clients are specified as `AWSChatbotSlack` .\n- clients for Microsoft Teams are specified as `AWSChatbotMicrosoftTeams` .", - "title": "TargetType", - "type": "string" - } - }, - "required": [ - "TargetAddress", - "TargetType" + "Type" ], "type": "object" }, - "AWS::Cognito::IdentityPool": { + "AWS::CodeBuild::Fleet": { "additionalProperties": false, "properties": { "Condition": { @@ -80700,87 +80505,75 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowClassicFlow": { - "markdownDescription": "Enables the Basic (Classic) authentication flow.", - "title": "AllowClassicFlow", - "type": "boolean" + "BaseCapacity": { + "markdownDescription": "The initial number of machines allocated to the compute \ufb02eet, which de\ufb01nes the number of builds that can run in parallel.", + "title": "BaseCapacity", + "type": "number" }, - "AllowUnauthenticatedIdentities": { - "markdownDescription": "Specifies whether the identity pool supports unauthenticated logins.", - "title": "AllowUnauthenticatedIdentities", - "type": "boolean" + "ComputeConfiguration": { + "$ref": "#/definitions/AWS::CodeBuild::Fleet.ComputeConfiguration", + "markdownDescription": "The compute configuration of the compute fleet. This is only required if `computeType` is set to `ATTRIBUTE_BASED_COMPUTE` or `CUSTOM_INSTANCE_TYPE` .", + "title": "ComputeConfiguration" }, - "CognitoEvents": { - "markdownDescription": "The events to configure.", - "title": "CognitoEvents", - "type": "object" + "ComputeType": { + "markdownDescription": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine.\n\n> If you use `ATTRIBUTE_BASED_COMPUTE` , you must define your attributes by using `computeConfiguration` . AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types) in the *AWS CodeBuild User Guide* .\n- `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n- `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [On-demand environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types) in the *AWS CodeBuild User Guide.*", + "title": "ComputeType", + "type": "string" }, - "CognitoIdentityProviders": { - "items": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoIdentityProvider" - }, - "markdownDescription": "The Amazon Cognito user pools and their client IDs.", - "title": "CognitoIdentityProviders", - "type": "array" + "EnvironmentType": { + "markdownDescription": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (S\u00e3o Paulo).\n- The environment type `ARM_EC2` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_EC2` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `MAC_ARM` is available only in regions US East (Ohio), US East (N. Virginia), US West (Oregon), Europe (Frankfurt), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_EC2` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (S\u00e3o Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* .", + "title": "EnvironmentType", + "type": "string" }, - "CognitoStreams": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoStreams", - "markdownDescription": "Configuration options for configuring Amazon Cognito streams.", - "title": "CognitoStreams" + "FleetProxyConfiguration": { + "$ref": "#/definitions/AWS::CodeBuild::Fleet.ProxyConfiguration", + "markdownDescription": "Information about the proxy configurations that apply network access control to your reserved capacity instances.", + "title": "FleetProxyConfiguration" }, - "DeveloperProviderName": { - "markdownDescription": "The \"domain\" Amazon Cognito uses when referencing your users. This name acts as a placeholder that allows your backend and the Amazon Cognito service to communicate about the developer provider. For the `DeveloperProviderName` , you can use letters and periods (.), underscores (_), and dashes (-).\n\n*Minimum length* : 1\n\n*Maximum length* : 100", - "title": "DeveloperProviderName", + "FleetServiceRole": { + "markdownDescription": "The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* .", + "title": "FleetServiceRole", "type": "string" }, - "IdentityPoolName": { - "markdownDescription": "The name of your Amazon Cognito identity pool.\n\n*Minimum length* : 1\n\n*Maximum length* : 128\n\n*Pattern* : `[\\w\\s+=,.@-]+`", - "title": "IdentityPoolName", + "FleetVpcConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Fleet.VpcConfig", + "markdownDescription": "Information about the VPC configuration that AWS CodeBuild accesses.", + "title": "FleetVpcConfig" + }, + "ImageId": { + "markdownDescription": "The Amazon Machine Image (AMI) of the compute fleet.", + "title": "ImageId", "type": "string" }, - "IdentityPoolTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.", - "title": "IdentityPoolTags", - "type": "array" + "Name": { + "markdownDescription": "The name of the compute fleet.", + "title": "Name", + "type": "string" }, - "OpenIdConnectProviderARNs": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the OpenID connect providers.", - "title": "OpenIdConnectProviderARNs", - "type": "array" + "OverflowBehavior": { + "markdownDescription": "The compute fleet overflow behavior.\n\n- For overflow behavior `QUEUE` , your overflow builds need to wait on the existing fleet instance to become available.\n- For overflow behavior `ON_DEMAND` , your overflow builds run on CodeBuild on-demand.\n\n> If you choose to set your overflow behavior to on-demand while creating a VPC-connected fleet, make sure that you add the required VPC permissions to your project service role. For more information, see [Example policy statement to allow CodeBuild access to AWS services required to create a VPC network interface](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-create-vpc-network-interface) .", + "title": "OverflowBehavior", + "type": "string" }, - "PushSync": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.PushSync", - "markdownDescription": "The configuration options to be applied to the identity pool.", - "title": "PushSync" + "ScalingConfiguration": { + "$ref": "#/definitions/AWS::CodeBuild::Fleet.ScalingConfigurationInput", + "markdownDescription": "The scaling configuration of the compute fleet.", + "title": "ScalingConfiguration" }, - "SamlProviderARNs": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the Security Assertion Markup Language (SAML) providers.", - "title": "SamlProviderARNs", + "markdownDescription": "A list of tag key and value pairs associated with this compute fleet.\n\nThese tags are available for use by AWS services that support AWS CodeBuild compute fleet tags.", + "title": "Tags", "type": "array" - }, - "SupportedLoginProviders": { - "markdownDescription": "Key-value pairs that map provider names to provider app IDs.", - "title": "SupportedLoginProviders", - "type": "object" } }, - "required": [ - "AllowUnauthenticatedIdentities" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::IdentityPool" + "AWS::CodeBuild::Fleet" ], "type": "string" }, @@ -80794,77 +80587,152 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Cognito::IdentityPool.CognitoIdentityProvider": { + "AWS::CodeBuild::Fleet.ComputeConfiguration": { "additionalProperties": false, "properties": { - "ClientId": { - "markdownDescription": "The client ID for the Amazon Cognito user pool.", - "title": "ClientId", + "disk": { + "markdownDescription": "The amount of disk space of the instance type included in your fleet.", + "title": "disk", + "type": "number" + }, + "instanceType": { + "markdownDescription": "The EC2 instance type to be launched in your fleet.", + "title": "instanceType", "type": "string" }, - "ProviderName": { - "markdownDescription": "The provider name for an Amazon Cognito user pool. For example: `cognito-idp.us-east-2.amazonaws.com/us-east-2_123456789` .", - "title": "ProviderName", + "machineType": { + "markdownDescription": "The machine type of the instance type included in your fleet.", + "title": "machineType", "type": "string" }, - "ServerSideTokenCheck": { - "markdownDescription": "TRUE if server-side token validation is enabled for the identity provider\u2019s token.\n\nAfter you set the `ServerSideTokenCheck` to TRUE for an identity pool, that identity pool checks with the integrated user pools to make sure the user has not been globally signed out or deleted before the identity pool provides an OIDC token or AWS credentials for the user.\n\nIf the user is signed out or deleted, the identity pool returns a 400 Not Authorized error.", - "title": "ServerSideTokenCheck", - "type": "boolean" + "memory": { + "markdownDescription": "The amount of memory of the instance type included in your fleet.", + "title": "memory", + "type": "number" + }, + "vCpu": { + "markdownDescription": "The number of vCPUs of the instance type included in your fleet.", + "title": "vCpu", + "type": "number" } }, - "required": [ - "ClientId", - "ProviderName" - ], "type": "object" }, - "AWS::Cognito::IdentityPool.CognitoStreams": { + "AWS::CodeBuild::Fleet.FleetProxyRule": { "additionalProperties": false, "properties": { - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role Amazon Cognito can assume to publish to the stream. This role must grant access to Amazon Cognito (cognito-sync) to invoke `PutRecord` on your Amazon Cognito stream.", - "title": "RoleArn", + "Effect": { + "markdownDescription": "The behavior of the proxy rule.", + "title": "Effect", "type": "string" }, - "StreamName": { - "markdownDescription": "The name of the Amazon Cognito stream to receive updates. This stream must be in the developer's account and in the same Region as the identity pool.", - "title": "StreamName", + "Entities": { + "items": { + "type": "string" + }, + "markdownDescription": "The destination of the proxy rule.", + "title": "Entities", + "type": "array" + }, + "Type": { + "markdownDescription": "The type of proxy rule.", + "title": "Type", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Fleet.ProxyConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultBehavior": { + "markdownDescription": "The default behavior of outgoing traffic.", + "title": "DefaultBehavior", "type": "string" }, - "StreamingStatus": { - "markdownDescription": "Status of the Amazon Cognito streams. Valid values are: `ENABLED` or `DISABLED` .", - "title": "StreamingStatus", + "OrderedProxyRules": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Fleet.FleetProxyRule" + }, + "markdownDescription": "An array of `FleetProxyRule` objects that represent the specified destination domains or IPs to allow or deny network access control to.", + "title": "OrderedProxyRules", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Fleet.ScalingConfigurationInput": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "markdownDescription": "The maximum number of instances in the \ufb02eet when auto-scaling.", + "title": "MaxCapacity", + "type": "number" + }, + "ScalingType": { + "markdownDescription": "The scaling type for a compute fleet.", + "title": "ScalingType", "type": "string" + }, + "TargetTrackingScalingConfigs": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Fleet.TargetTrackingScalingConfiguration" + }, + "markdownDescription": "A list of `TargetTrackingScalingConfiguration` objects.", + "title": "TargetTrackingScalingConfigs", + "type": "array" } }, "type": "object" }, - "AWS::Cognito::IdentityPool.PushSync": { + "AWS::CodeBuild::Fleet.TargetTrackingScalingConfiguration": { "additionalProperties": false, "properties": { - "ApplicationArns": { + "MetricType": { + "markdownDescription": "The metric type to determine auto-scaling.", + "title": "MetricType", + "type": "string" + }, + "TargetValue": { + "markdownDescription": "The value of `metricType` when to start scaling.", + "title": "TargetValue", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Fleet.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { "items": { "type": "string" }, - "markdownDescription": "The ARNs of the Amazon SNS platform applications that could be used by clients.", - "title": "ApplicationArns", + "markdownDescription": "A list of one or more security groups IDs in your Amazon VPC.", + "title": "SecurityGroupIds", "type": "array" }, - "RoleArn": { - "markdownDescription": "An IAM role configured to allow Amazon Cognito to call Amazon SNS on behalf of the developer.", - "title": "RoleArn", + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of one or more subnet IDs in your Amazon VPC.", + "title": "Subnets", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the Amazon VPC.", + "title": "VpcId", "type": "string" } }, "type": "object" }, - "AWS::Cognito::IdentityPoolPrincipalTag": { + "AWS::CodeBuild::Project": { "additionalProperties": false, "properties": { "Condition": { @@ -80899,36 +80767,156 @@ "Properties": { "additionalProperties": false, "properties": { - "IdentityPoolId": { - "markdownDescription": "The identity pool that you want to associate with this principal tag map.", - "title": "IdentityPoolId", + "Artifacts": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts", + "markdownDescription": "`Artifacts` is a property of the [AWS::CodeBuild::Project](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html) resource that specifies output settings for artifacts generated by an AWS CodeBuild build.", + "title": "Artifacts" + }, + "AutoRetryLimit": { + "type": "number" + }, + "BadgeEnabled": { + "markdownDescription": "Indicates whether AWS CodeBuild generates a publicly accessible URL for your project's build badge. For more information, see [Build Badges Sample](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-build-badges.html) in the *AWS CodeBuild User Guide* .\n\n> Including build badges with your project is currently not supported if the source type is CodePipeline. If you specify `CODEPIPELINE` for the `Source` property, do not specify the `BadgeEnabled` property.", + "title": "BadgeEnabled", + "type": "boolean" + }, + "BuildBatchConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig", + "markdownDescription": "A `ProjectBuildBatchConfig` object that defines the batch build options for the project.", + "title": "BuildBatchConfig" + }, + "Cache": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache", + "markdownDescription": "Settings that AWS CodeBuild uses to store and reuse build dependencies.", + "title": "Cache" + }, + "ConcurrentBuildLimit": { + "markdownDescription": "The maximum number of concurrent builds that are allowed for this project.\n\nNew builds are only started if the current number of builds is less than or equal to this limit. If the current build count meets this limit, new builds are throttled and are not run.", + "title": "ConcurrentBuildLimit", + "type": "number" + }, + "Description": { + "markdownDescription": "A description that makes the build project easy to identify.", + "title": "Description", "type": "string" }, - "IdentityProviderName": { - "markdownDescription": "The identity pool identity provider (IdP) that you want to associate with this principal tag map.", - "title": "IdentityProviderName", + "EncryptionKey": { + "markdownDescription": "The AWS Key Management Service customer master key (CMK) to be used for encrypting the build output artifacts.\n\n> You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key. \n\nYou can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format `alias/` ). If you don't specify a value, CodeBuild uses the managed CMK for Amazon Simple Storage Service (Amazon S3).", + "title": "EncryptionKey", "type": "string" }, - "PrincipalTags": { - "markdownDescription": "A JSON-formatted list of user claims and the principal tags that you want to associate with them. When Amazon Cognito requests credentials, it sets the value of the principal tag to the value of the user's claim.", - "title": "PrincipalTags", - "type": "object" + "Environment": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Environment", + "markdownDescription": "The build environment settings for the project, such as the environment type or the environment variables to use for the build environment.", + "title": "Environment" }, - "UseDefaults": { - "markdownDescription": "Use a default set of mappings between claims and tags for this provider, instead of a custom map.", - "title": "UseDefaults", - "type": "boolean" + "FileSystemLocations": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFileSystemLocation" + }, + "markdownDescription": "An array of `ProjectFileSystemLocation` objects for a CodeBuild build project. A `ProjectFileSystemLocation` object specifies the `identifier` , `location` , `mountOptions` , `mountPoint` , and `type` of a file system created using Amazon Elastic File System.", + "title": "FileSystemLocations", + "type": "array" + }, + "LogsConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.LogsConfig", + "markdownDescription": "Information about logs for the build project. A project can create logs in CloudWatch Logs, an S3 bucket, or both.", + "title": "LogsConfig" + }, + "Name": { + "markdownDescription": "The name of the build project. The name must be unique across all of the projects in your AWS account .", + "title": "Name", + "type": "string" + }, + "QueuedTimeoutInMinutes": { + "markdownDescription": "The number of minutes a build is allowed to be queued before it times out.", + "title": "QueuedTimeoutInMinutes", + "type": "number" + }, + "ResourceAccessRole": { + "markdownDescription": "The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds.", + "title": "ResourceAccessRole", + "type": "string" + }, + "SecondaryArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" + }, + "markdownDescription": "A list of `Artifacts` objects. Each artifacts object specifies output settings that the project generates during a build.", + "title": "SecondaryArtifacts", + "type": "array" + }, + "SecondarySourceVersions": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectSourceVersion" + }, + "markdownDescription": "An array of `ProjectSourceVersion` objects. If `secondarySourceVersions` is specified at the build level, then they take over these `secondarySourceVersions` (at the project level).", + "title": "SecondarySourceVersions", + "type": "array" + }, + "SecondarySources": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Source" + }, + "markdownDescription": "An array of `ProjectSource` objects.", + "title": "SecondarySources", + "type": "array" + }, + "ServiceRole": { + "markdownDescription": "The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.", + "title": "ServiceRole", + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Source", + "markdownDescription": "The source code settings for the project, such as the source code's repository type and location.", + "title": "Source" + }, + "SourceVersion": { + "markdownDescription": "A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:\n\n- For CodeCommit: the commit ID, branch, or Git tag to use.\n- For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format `pr/pull-request-ID` (for example `pr/25` ). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For GitLab: the commit ID, branch, or Git tag to use.\n- For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For Amazon S3: the version ID of the object that represents the build input ZIP file to use.\n\nIf `sourceVersion` is specified at the build level, then that version takes precedence over this `sourceVersion` (at the project level).\n\nFor more information, see [Source Version Sample with CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) in the *AWS CodeBuild User Guide* .", + "title": "SourceVersion", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An arbitrary set of tags (key-value pairs) for the AWS CodeBuild project.\n\nThese tags are available for use by AWS services that support AWS CodeBuild build project tags.", + "title": "Tags", + "type": "array" + }, + "TimeoutInMinutes": { + "markdownDescription": "How long, in minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait before timing out any related build that did not get marked as completed. The default is 60 minutes.", + "title": "TimeoutInMinutes", + "type": "number" + }, + "Triggers": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers", + "markdownDescription": "For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, enables AWS CodeBuild to begin automatically rebuilding the source code every time a code change is pushed to the repository.", + "title": "Triggers" + }, + "Visibility": { + "markdownDescription": "Specifies the visibility of the project's builds. Possible values are:\n\n- **PUBLIC_READ** - The project builds are visible to the public.\n- **PRIVATE** - The project builds are not visible to the public.", + "title": "Visibility", + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig", + "markdownDescription": "`VpcConfig` specifies settings that enable AWS CodeBuild to access resources in an Amazon VPC. For more information, see [Use AWS CodeBuild with Amazon Virtual Private Cloud](https://docs.aws.amazon.com/codebuild/latest/userguide/vpc-support.html) in the *AWS CodeBuild User Guide* .", + "title": "VpcConfig" } }, "required": [ - "IdentityPoolId", - "IdentityProviderName" + "Artifacts", + "Environment", + "ServiceRole", + "Source" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::IdentityPoolPrincipalTag" + "AWS::CodeBuild::Project" ], "type": "string" }, @@ -80947,389 +80935,678 @@ ], "type": "object" }, - "AWS::Cognito::IdentityPoolRoleAttachment": { + "AWS::CodeBuild::Project.Artifacts": { "additionalProperties": false, "properties": { - "Condition": { + "ArtifactIdentifier": { + "markdownDescription": "An identifier for this artifact definition.", + "title": "ArtifactIdentifier", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "EncryptionDisabled": { + "markdownDescription": "Set to true if you do not want your output artifacts encrypted. This option is valid only if your artifacts type is Amazon Simple Storage Service (Amazon S3). If this is set with another artifacts type, an `invalidInputException` is thrown.", + "title": "EncryptionDisabled", + "type": "boolean" + }, + "Location": { + "markdownDescription": "Information about the build output artifact location:\n\n- If `type` is set to `CODEPIPELINE` , AWS CodePipeline ignores this value if specified. This is because CodePipeline manages its build output locations instead of CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , this is the name of the output bucket.\n\nIf you specify `CODEPIPELINE` or `NO_ARTIFACTS` for the `Type` property, don't specify this property. For all of the other types, you must specify this property.", + "title": "Location", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Name": { + "markdownDescription": "Along with `path` and `namespaceType` , the pattern that AWS CodeBuild uses to name and store the output artifact:\n\n- If `type` is set to `CODEPIPELINE` , AWS CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , this is the name of the output artifact object. If you set the name to be a forward slash (\"/\"), the artifact is stored in the root of the output bucket.\n\nFor example:\n\n- If `path` is set to `MyArtifacts` , `namespaceType` is set to `BUILD_ID` , and `name` is set to `MyArtifact.zip` , then the output artifact is stored in `MyArtifacts/ *build-ID* /MyArtifact.zip` .\n- If `path` is empty, `namespaceType` is set to `NONE` , and `name` is set to \" `/` \", the output artifact is stored in the root of the output bucket.\n- If `path` is set to `MyArtifacts` , `namespaceType` is set to `BUILD_ID` , and `name` is set to \" `/` \", the output artifact is stored in `MyArtifacts/ *build-ID*` .\n\nIf you specify `CODEPIPELINE` or `NO_ARTIFACTS` for the `Type` property, don't specify this property. For all of the other types, you must specify this property.", + "title": "Name", + "type": "string" }, - "Metadata": { - "type": "object" + "NamespaceType": { + "markdownDescription": "Along with `path` and `name` , the pattern that AWS CodeBuild uses to determine the name and location to store the output artifact:\n\n- If `type` is set to `CODEPIPELINE` , CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , valid values include:\n\n- `BUILD_ID` : Include the build ID in the location of the build output artifact.\n- `NONE` : Do not include the build ID. This is the default if `namespaceType` is not specified.\n\nFor example, if `path` is set to `MyArtifacts` , `namespaceType` is set to `BUILD_ID` , and `name` is set to `MyArtifact.zip` , the output artifact is stored in `MyArtifacts//MyArtifact.zip` .", + "title": "NamespaceType", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "IdentityPoolId": { - "markdownDescription": "An identity pool ID in the format `REGION:GUID` .", - "title": "IdentityPoolId", - "type": "string" - }, - "RoleMappings": { - "additionalProperties": false, - "markdownDescription": "How users for a specific identity provider are mapped to roles. This is a string to the `RoleMapping` object map. The string identifies the identity provider. For example: `graph.facebook.com` or `cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id` .\n\nIf the `IdentityProvider` field isn't provided in this object, the string is used as the identity provider name.\n\nFor more information, see the [RoleMapping property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html) .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping" - } - }, - "title": "RoleMappings", - "type": "object" - }, - "Roles": { - "additionalProperties": true, - "markdownDescription": "The map of the roles associated with this pool. For a given role, the key is either \"authenticated\" or \"unauthenticated\". The value is the role ARN.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Roles", - "type": "object" - } - }, - "required": [ - "IdentityPoolId" - ], - "type": "object" + "OverrideArtifactName": { + "markdownDescription": "If set to true a name specified in the buildspec file overrides the artifact name. The name specified in a buildspec file is calculated at build time and uses the Shell command language. For example, you can append a date and time to your artifact name so that it is always unique.", + "title": "OverrideArtifactName", + "type": "boolean" }, - "Type": { - "enum": [ - "AWS::Cognito::IdentityPoolRoleAttachment" - ], + "Packaging": { + "markdownDescription": "The type of build output artifact to create:\n\n- If `type` is set to `CODEPIPELINE` , CodePipeline ignores this value if specified. This is because CodePipeline manages its build output artifacts instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , valid values include:\n\n- `NONE` : AWS CodeBuild creates in the output bucket a folder that contains the build output. This is the default if `packaging` is not specified.\n- `ZIP` : AWS CodeBuild creates in the output bucket a ZIP file that contains the build output.", + "title": "Packaging", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Path": { + "markdownDescription": "Along with `namespaceType` and `name` , the pattern that AWS CodeBuild uses to name and store the output artifact:\n\n- If `type` is set to `CODEPIPELINE` , CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , this is the path to the output artifact. If `path` is not specified, `path` is not used.\n\nFor example, if `path` is set to `MyArtifacts` , `namespaceType` is set to `NONE` , and `name` is set to `MyArtifact.zip` , the output artifact is stored in the output bucket at `MyArtifacts/MyArtifact.zip` .", + "title": "Path", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of build output artifact. Valid values include:\n\n- `CODEPIPELINE` : The build project has build output generated through CodePipeline.\n\n> The `CODEPIPELINE` type is not supported for `secondaryArtifacts` .\n- `NO_ARTIFACTS` : The build project does not produce any build output.\n- `S3` : The build project stores build output in Amazon S3.", + "title": "Type", "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Cognito::IdentityPoolRoleAttachment.MappingRule": { + "AWS::CodeBuild::Project.BatchRestrictions": { "additionalProperties": false, "properties": { - "Claim": { - "markdownDescription": "The claim name that must be present in the token. For example: \"isAdmin\" or \"paid\".", - "title": "Claim", - "type": "string" - }, - "MatchType": { - "markdownDescription": "The match condition that specifies how closely the claim value in the IdP token must match `Value` .\n\nValid values are: `Equals` , `Contains` , `StartsWith` , and `NotEqual` .", - "title": "MatchType", - "type": "string" + "ComputeTypesAllowed": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of strings that specify the compute types that are allowed for the batch build. See [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide* for these values.", + "title": "ComputeTypesAllowed", + "type": "array" }, - "RoleARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role.", - "title": "RoleARN", + "MaximumBuildsAllowed": { + "markdownDescription": "Specifies the maximum number of builds allowed.", + "title": "MaximumBuildsAllowed", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.BuildStatusConfig": { + "additionalProperties": false, + "properties": { + "Context": { + "markdownDescription": "Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.\n\n- **Bitbucket** - This parameter is used for the `name` parameter in the Bitbucket commit status. For more information, see [build](https://docs.aws.amazon.com/https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) in the Bitbucket API documentation.\n- **GitHub/GitHub Enterprise Server** - This parameter is used for the `context` parameter in the GitHub commit status. For more information, see [Create a commit status](https://docs.aws.amazon.com/https://developer.github.com/v3/repos/statuses/#create-a-commit-status) in the GitHub developer guide.", + "title": "Context", "type": "string" }, - "Value": { - "markdownDescription": "A brief string that the claim must match. For example, \"paid\" or \"yes\".", - "title": "Value", + "TargetUrl": { + "markdownDescription": "Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.\n\n- **Bitbucket** - This parameter is used for the `url` parameter in the Bitbucket commit status. For more information, see [build](https://docs.aws.amazon.com/https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) in the Bitbucket API documentation.\n- **GitHub/GitHub Enterprise Server** - This parameter is used for the `target_url` parameter in the GitHub commit status. For more information, see [Create a commit status](https://docs.aws.amazon.com/https://developer.github.com/v3/repos/statuses/#create-a-commit-status) in the GitHub developer guide.", + "title": "TargetUrl", "type": "string" } }, - "required": [ - "Claim", - "MatchType", - "RoleARN", - "Value" - ], "type": "object" }, - "AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": { + "AWS::CodeBuild::Project.CloudWatchLogsConfig": { "additionalProperties": false, "properties": { - "AmbiguousRoleResolution": { - "markdownDescription": "If you specify Token or Rules as the `Type` , `AmbiguousRoleResolution` is required.\n\nSpecifies the action to be taken if either no rules match the claim value for the `Rules` type, or there is no `cognito:preferred_role` claim and there are multiple `cognito:roles` matches for the `Token` type.", - "title": "AmbiguousRoleResolution", + "GroupName": { + "markdownDescription": "The group name of the logs in CloudWatch Logs. For more information, see [Working with Log Groups and Log Streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) .", + "title": "GroupName", "type": "string" }, - "IdentityProvider": { - "markdownDescription": "Identifier for the identity provider for which the role is mapped. For example: `graph.facebook.com` or `cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id (http://cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id)` . This is the identity provider that is used by the user for authentication.\n\nIf the identity provider property isn't provided, the key of the entry in the `RoleMappings` map is used as the identity provider.", - "title": "IdentityProvider", + "Status": { + "markdownDescription": "The current status of the logs in CloudWatch Logs for a build project. Valid values are:\n\n- `ENABLED` : CloudWatch Logs are enabled for this build project.\n- `DISABLED` : CloudWatch Logs are not enabled for this build project.", + "title": "Status", "type": "string" }, - "RulesConfiguration": { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType", - "markdownDescription": "The rules to be used for mapping users to roles. If you specify \"Rules\" as the role-mapping type, RulesConfiguration is required.", - "title": "RulesConfiguration" - }, - "Type": { - "markdownDescription": "The role mapping type. Token will use `cognito:roles` and `cognito:preferred_role` claims from the Cognito identity provider token to map groups to roles. Rules will attempt to match claims from the token to map to a role.", - "title": "Type", + "StreamName": { + "markdownDescription": "The prefix of the stream name of the CloudWatch Logs. For more information, see [Working with Log Groups and Log Streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) .", + "title": "StreamName", "type": "string" } }, "required": [ - "Type" + "Status" ], "type": "object" }, - "AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": { + "AWS::CodeBuild::Project.DockerServer": { "additionalProperties": false, "properties": { - "Rules": { + "ComputeType": { + "type": "string" + }, + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.MappingRule" + "type": "string" }, - "markdownDescription": "The rules. You can specify up to 25 rules per identity provider.", - "title": "Rules", "type": "array" } }, "required": [ - "Rules" + "ComputeType" ], "type": "object" }, - "AWS::Cognito::LogDeliveryConfiguration": { + "AWS::CodeBuild::Project.Environment": { "additionalProperties": false, "properties": { - "Condition": { + "Certificate": { + "markdownDescription": "The ARN of the Amazon S3 bucket, path prefix, and object key that contains the PEM-encoded certificate for the build project. For more information, see [certificate](https://docs.aws.amazon.com/codebuild/latest/userguide/create-project-cli.html#cli.environment.certificate) in the *AWS CodeBuild User Guide* .", + "title": "Certificate", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ComputeType": { + "markdownDescription": "The type of compute environment. This determines the number of CPU cores and memory the build environment uses. Available values include:\n\n- `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine.\n\n> If you use `ATTRIBUTE_BASED_COMPUTE` , you must define your attributes by using `computeConfiguration` . AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types) in the *AWS CodeBuild User Guide* .\n- `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n- `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [On-demand environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types) in the *AWS CodeBuild User Guide.*", + "title": "ComputeType", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "DockerServer": { + "$ref": "#/definitions/AWS::CodeBuild::Project.DockerServer" }, - "Properties": { - "additionalProperties": false, - "properties": { - "LogConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.LogConfiguration" - }, - "markdownDescription": "A logging destination of a user pool. User pools can have multiple logging destinations for message-delivery and user-activity logs.", - "title": "LogConfigurations", - "type": "array" - }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool where you configured logging.", - "title": "UserPoolId", - "type": "string" - } + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" }, - "required": [ - "UserPoolId" - ], - "type": "object" + "markdownDescription": "A set of environment variables to make available to builds for this build project.", + "title": "EnvironmentVariables", + "type": "array" }, - "Type": { - "enum": [ - "AWS::Cognito::LogDeliveryConfiguration" - ], + "Fleet": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFleet" + }, + "HostKernel": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Image": { + "markdownDescription": "The image tag or image digest that identifies the Docker image to use for this build project. Use the following formats:\n\n- For an image tag: `/:` . For example, in the Docker repository that CodeBuild uses to manage its Docker images, this would be `aws/codebuild/standard:4.0` .\n- For an image digest: `/@` . For example, to specify an image with the digest \"sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf,\" use `/@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf` .\n\nFor more information, see [Docker images provided by CodeBuild](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-available.html) in the *AWS CodeBuild user guide* .", + "title": "Image", + "type": "string" + }, + "ImagePullCredentialsType": { + "markdownDescription": "The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid values:\n\n- `CODEBUILD` specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust AWS CodeBuild service principal.\n- `SERVICE_ROLE` specifies that AWS CodeBuild uses your build project's service role.\n\nWhen you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD credentials.", + "title": "ImagePullCredentialsType", + "type": "string" + }, + "PrivilegedMode": { + "markdownDescription": "Enables running the Docker daemon inside a Docker container. Set to true only if the build project is used to build Docker images. Otherwise, a build that attempts to interact with the Docker daemon fails. The default setting is `false` .\n\nYou can initialize the Docker daemon during the install phase of your build by adding one of the following sets of commands to the install phase of your buildspec file:\n\nIf the operating system's base image is Ubuntu Linux:\n\n`- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&`\n\n`- timeout 15 sh -c \"until docker info; do echo .; sleep 1; done\"`\n\nIf the operating system's base image is Alpine Linux and the previous command does not work, add the `-t` argument to `timeout` :\n\n`- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&`\n\n`- timeout -t 15 sh -c \"until docker info; do echo .; sleep 1; done\"`", + "title": "PrivilegedMode", + "type": "boolean" + }, + "RegistryCredential": { + "$ref": "#/definitions/AWS::CodeBuild::Project.RegistryCredential", + "markdownDescription": "`RegistryCredential` is a property of the [AWS::CodeBuild::Project Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-environment) property that specifies information about credentials that provide access to a private Docker registry. When this is set:\n\n- `imagePullCredentialsType` must be set to `SERVICE_ROLE` .\n- images cannot be curated or an Amazon ECR image.", + "title": "RegistryCredential" + }, + "Type": { + "markdownDescription": "The type of build environment to use for related builds.\n\n> If you're using compute fleets during project creation, `type` will be ignored. \n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* .", + "title": "Type", "type": "string" } }, "required": [ - "Type", - "Properties" + "ComputeType", + "Image", + "Type" ], "type": "object" }, - "AWS::Cognito::LogDeliveryConfiguration.CloudWatchLogsConfiguration": { + "AWS::CodeBuild::Project.EnvironmentVariable": { "additionalProperties": false, "properties": { - "LogGroupArn": { - "markdownDescription": "The Amazon Resource Name (arn) of a CloudWatch Logs log group where your user pool sends logs. The log group must not be encrypted with AWS Key Management Service and must be in the same AWS account as your user pool.\n\nTo send logs to log groups with a resource policy of a size greater than 5120 characters, configure a log group with a path that starts with `/aws/vendedlogs` . For more information, see [Enabling logging from certain AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html) .", - "title": "LogGroupArn", + "Name": { + "markdownDescription": "The name or key of the environment variable.", + "title": "Name", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of environment variable. Valid values include:\n\n- `PARAMETER_STORE` : An environment variable stored in Systems Manager Parameter Store. For environment variables of this type, specify the name of the parameter as the `value` of the EnvironmentVariable. The parameter value will be substituted for the name at runtime. You can also define Parameter Store environment variables in the buildspec. To learn how to do so, see [env/parameter-store](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.parameter-store) in the *AWS CodeBuild User Guide* .\n- `PLAINTEXT` : An environment variable in plain text format. This is the default value.\n- `SECRETS_MANAGER` : An environment variable stored in AWS Secrets Manager . For environment variables of this type, specify the name of the secret as the `value` of the EnvironmentVariable. The secret value will be substituted for the name at runtime. You can also define AWS Secrets Manager environment variables in the buildspec. To learn how to do so, see [env/secrets-manager](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.secrets-manager) in the *AWS CodeBuild User Guide* .", + "title": "Type", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the environment variable.\n\n> We strongly discourage the use of `PLAINTEXT` environment variables to store sensitive values, especially AWS secret key IDs. `PLAINTEXT` environment variables can be displayed in plain text using the AWS CodeBuild console and the AWS CLI . For sensitive values, we recommend you use an environment variable of type `PARAMETER_STORE` or `SECRETS_MANAGER` .", + "title": "Value", "type": "string" } }, + "required": [ + "Name", + "Value" + ], "type": "object" }, - "AWS::Cognito::LogDeliveryConfiguration.FirehoseConfiguration": { + "AWS::CodeBuild::Project.FilterGroup": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::CodeBuild::Project.GitSubmodulesConfig": { "additionalProperties": false, "properties": { - "StreamArn": { - "markdownDescription": "The ARN of an Amazon Data Firehose stream that's the destination for threat protection log export.", - "title": "StreamArn", - "type": "string" + "FetchSubmodules": { + "markdownDescription": "Set to true to fetch Git submodules for your AWS CodeBuild build project.", + "title": "FetchSubmodules", + "type": "boolean" } }, + "required": [ + "FetchSubmodules" + ], "type": "object" }, - "AWS::Cognito::LogDeliveryConfiguration.LogConfiguration": { + "AWS::CodeBuild::Project.LogsConfig": { "additionalProperties": false, "properties": { - "CloudWatchLogsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.CloudWatchLogsConfiguration", - "markdownDescription": "Configuration for the CloudWatch log group destination of user pool detailed activity logging, or of user activity log export with advanced security features.", - "title": "CloudWatchLogsConfiguration" + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::CodeBuild::Project.CloudWatchLogsConfig", + "markdownDescription": "Information about CloudWatch Logs for a build project. CloudWatch Logs are enabled by default.", + "title": "CloudWatchLogs" }, - "EventSource": { - "markdownDescription": "The source of events that your user pool sends for logging. To send error-level logs about user notification activity, set to `userNotification` . To send info-level logs about threat-protection user activity in user pools with the Plus feature plan, set to `userAuthEvents` .", - "title": "EventSource", + "S3Logs": { + "$ref": "#/definitions/AWS::CodeBuild::Project.S3LogsConfig", + "markdownDescription": "Information about logs built to an S3 bucket for a build project. S3 logs are not enabled by default.", + "title": "S3Logs" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { + "additionalProperties": false, + "properties": { + "BatchReportMode": { + "markdownDescription": "Specifies how build status reports are sent to the source provider for the batch build. This property is only used when the source provider for your project is Bitbucket, GitHub, or GitHub Enterprise, and your project is configured to report build statuses to the source provider.\n\n- **REPORT_AGGREGATED_BATCH** - (Default) Aggregate all of the build statuses into a single status report.\n- **REPORT_INDIVIDUAL_BUILDS** - Send a separate status report for each individual build.", + "title": "BatchReportMode", "type": "string" }, - "FirehoseConfiguration": { - "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.FirehoseConfiguration", - "markdownDescription": "Configuration for the Amazon Data Firehose stream destination of user activity log export with threat protection.", - "title": "FirehoseConfiguration" + "CombineArtifacts": { + "markdownDescription": "Specifies if the build artifacts for the batch build should be combined into a single artifact location.", + "title": "CombineArtifacts", + "type": "boolean" }, - "LogLevel": { - "markdownDescription": "The `errorlevel` selection of logs that a user pool sends for detailed activity logging. To send `userNotification` activity with [information about message delivery](https://docs.aws.amazon.com/cognito/latest/developerguide/exporting-quotas-and-usage.html) , choose `ERROR` with `CloudWatchLogsConfiguration` . To send `userAuthEvents` activity with user logs from threat protection with the Plus feature plan, choose `INFO` with one of `CloudWatchLogsConfiguration` , `FirehoseConfiguration` , or `S3Configuration` .", - "title": "LogLevel", + "Restrictions": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions", + "markdownDescription": "A `BatchRestrictions` object that specifies the restrictions for the batch build.", + "title": "Restrictions" + }, + "ServiceRole": { + "markdownDescription": "Specifies the service role ARN for the batch build project.", + "title": "ServiceRole", "type": "string" }, - "S3Configuration": { - "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.S3Configuration", - "markdownDescription": "Configuration for the Amazon S3 bucket destination of user activity log export with threat protection.", - "title": "S3Configuration" + "TimeoutInMins": { + "markdownDescription": "Specifies the maximum amount of time, in minutes, that the batch build must be completed in.", + "title": "TimeoutInMins", + "type": "number" } }, "type": "object" }, - "AWS::Cognito::LogDeliveryConfiguration.S3Configuration": { + "AWS::CodeBuild::Project.ProjectCache": { "additionalProperties": false, "properties": { - "BucketArn": { - "markdownDescription": "The ARN of an Amazon S3 bucket that's the destination for threat protection log export.", - "title": "BucketArn", + "CacheNamespace": { + "markdownDescription": "Defines the scope of the cache. You can use this namespace to share a cache across multiple projects. For more information, see [Cache sharing between projects](https://docs.aws.amazon.com/codebuild/latest/userguide/caching-s3.html#caching-s3-sharing) in the *AWS CodeBuild User Guide* .", + "title": "CacheNamespace", + "type": "string" + }, + "Location": { + "markdownDescription": "Information about the cache location:\n\n- `NO_CACHE` or `LOCAL` : This value is ignored.\n- `S3` : This is the S3 bucket name/prefix.", + "title": "Location", + "type": "string" + }, + "Modes": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of strings that specify the local cache modes. You can use one or more local cache modes at the same time. This is only used for `LOCAL` cache types.\n\nPossible values are:\n\n- **LOCAL_SOURCE_CACHE** - Caches Git metadata for primary and secondary sources. After the cache is created, subsequent builds pull only the change between commits. This mode is a good choice for projects with a clean working directory and a source that is a large Git repository. If you choose this option and your project does not use a Git repository (GitHub, GitHub Enterprise, or Bitbucket), the option is ignored.\n- **LOCAL_DOCKER_LAYER_CACHE** - Caches existing Docker layers. This mode is a good choice for projects that build or pull large Docker images. It can prevent the performance issues caused by pulling large Docker images down from the network.\n\n> - You can use a Docker layer cache in the Linux environment only.\n> - The `privileged` flag must be set so that your project has the required Docker permissions.\n> - You should consider the security implications before you use a Docker layer cache.\n- **LOCAL_CUSTOM_CACHE** - Caches directories you specify in the buildspec file. This mode is a good choice if your build scenario is not suited to one of the other three local cache modes. If you use a custom cache:\n\n- Only directories can be specified for caching. You cannot specify individual files.\n- Symlinks are used to reference cached directories.\n- Cached directories are linked to your build before it downloads its project sources. Cached items are overridden if a source item has the same name. Directories are specified using cache paths in the buildspec file.", + "title": "Modes", + "type": "array" + }, + "Type": { + "markdownDescription": "The type of cache used by the build project. Valid values include:\n\n- `NO_CACHE` : The build project does not use any cache.\n- `S3` : The build project reads and writes from and to S3.\n- `LOCAL` : The build project stores a cache locally on a build host that is only available to that build host.", + "title": "Type", "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Cognito::ManagedLoginBranding": { + "AWS::CodeBuild::Project.ProjectFileSystemLocation": { "additionalProperties": false, "properties": { - "Condition": { + "Identifier": { + "markdownDescription": "The name used to access a file system created by Amazon EFS. CodeBuild creates an environment variable by appending the `identifier` in all capital letters to `CODEBUILD_` . For example, if you specify `my_efs` for `identifier` , a new environment variable is create named `CODEBUILD_MY_EFS` .\n\nThe `identifier` is used to mount your file system.", + "title": "Identifier", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Location": { + "markdownDescription": "A string that specifies the location of the file system created by Amazon EFS. Its format is `efs-dns-name:/directory-path` . You can find the DNS name of file system when you view it in the Amazon EFS console. The directory path is a path to a directory in the file system that CodeBuild mounts. For example, if the DNS name of a file system is `fs-abcd1234.efs.us-west-2.amazonaws.com` , and its mount directory is `my-efs-mount-directory` , then the `location` is `fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory` .\n\nThe directory path in the format `efs-dns-name:/directory-path` is optional. If you do not specify a directory path, the location is only the DNS name and CodeBuild mounts the entire file system.", + "title": "Location", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MountOptions": { + "markdownDescription": "The mount options for a file system created by Amazon EFS. The default mount options used by CodeBuild are `nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2` . For more information, see [Recommended NFS Mount Options](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html) .", + "title": "MountOptions", + "type": "string" }, - "Metadata": { - "type": "object" + "MountPoint": { + "markdownDescription": "The location in the container where you mount the file system.", + "title": "MountPoint", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Assets": { - "items": { - "$ref": "#/definitions/AWS::Cognito::ManagedLoginBranding.AssetType" - }, - "markdownDescription": "An array of image files that you want to apply to roles like backgrounds, logos, and icons. Each object must also indicate whether it is for dark mode, light mode, or browser-adaptive mode.", - "title": "Assets", - "type": "array" - }, - "ClientId": { - "markdownDescription": "The app client that you want to assign the branding style to. Each style is linked to an app client until you delete it.", - "title": "ClientId", + "Type": { + "markdownDescription": "The type of the file system. The one supported type is `EFS` .", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Identifier", + "Location", + "MountPoint", + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectFleet": { + "additionalProperties": false, + "properties": { + "FleetArn": { + "markdownDescription": "Specifies the compute fleet ARN for the build project.", + "title": "FleetArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectSourceVersion": { + "additionalProperties": false, + "properties": { + "SourceIdentifier": { + "markdownDescription": "An identifier for a source in the build project. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.", + "title": "SourceIdentifier", + "type": "string" + }, + "SourceVersion": { + "markdownDescription": "The source version for the corresponding source identifier. If specified, must be one of:\n\n- For CodeCommit: the commit ID, branch, or Git tag to use.\n- For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format `pr/pull-request-ID` (for example, `pr/25` ). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For GitLab: the commit ID, branch, or Git tag to use.\n- For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For Amazon S3: the version ID of the object that represents the build input ZIP file to use.\n\nFor more information, see [Source Version Sample with CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) in the *AWS CodeBuild User Guide* .", + "title": "SourceVersion", + "type": "string" + } + }, + "required": [ + "SourceIdentifier" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectTriggers": { + "additionalProperties": false, + "properties": { + "BuildType": { + "markdownDescription": "Specifies the type of build this webhook will trigger. Allowed values are:\n\n- **BUILD** - A single build\n- **BUILD_BATCH** - A batch build", + "title": "BuildType", + "type": "string" + }, + "FilterGroups": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.FilterGroup" + }, + "markdownDescription": "A list of lists of `WebhookFilter` objects used to determine which webhook events are triggered. At least one `WebhookFilter` in the array must specify `EVENT` as its type.", + "title": "FilterGroups", + "type": "array" + }, + "PullRequestBuildPolicy": { + "$ref": "#/definitions/AWS::CodeBuild::Project.PullRequestBuildPolicy" + }, + "ScopeConfiguration": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ScopeConfiguration", + "markdownDescription": "Contains configuration information about the scope for a webhook.", + "title": "ScopeConfiguration" + }, + "Webhook": { + "markdownDescription": "Specifies whether or not to begin automatically rebuilding the source code every time a code change is pushed to the repository.", + "title": "Webhook", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.PullRequestBuildPolicy": { + "additionalProperties": false, + "properties": { + "ApproverRoles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RequiresCommentApproval": { + "type": "string" + } + }, + "required": [ + "RequiresCommentApproval" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.RegistryCredential": { + "additionalProperties": false, + "properties": { + "Credential": { + "markdownDescription": "The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets Manager .\n\n> The `credential` can use the name of the credentials only if they exist in your current AWS Region .", + "title": "Credential", + "type": "string" + }, + "CredentialProvider": { + "markdownDescription": "The service that created the credentials to access a private Docker registry. The valid value, SECRETS_MANAGER, is for AWS Secrets Manager .", + "title": "CredentialProvider", + "type": "string" + } + }, + "required": [ + "Credential", + "CredentialProvider" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.S3LogsConfig": { + "additionalProperties": false, + "properties": { + "EncryptionDisabled": { + "markdownDescription": "Set to true if you do not want your S3 build log output encrypted. By default S3 build logs are encrypted.", + "title": "EncryptionDisabled", + "type": "boolean" + }, + "Location": { + "markdownDescription": "The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 bucket name is `my-bucket` , and your path prefix is `build-log` , then acceptable formats are `my-bucket/build-log` or `arn:aws:s3:::my-bucket/build-log` .", + "title": "Location", + "type": "string" + }, + "Status": { + "markdownDescription": "The current status of the S3 build logs. Valid values are:\n\n- `ENABLED` : S3 build logs are enabled for this build project.\n- `DISABLED` : S3 build logs are not enabled for this build project.", + "title": "Status", + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ScopeConfiguration": { + "additionalProperties": false, + "properties": { + "Domain": { + "markdownDescription": "The domain of the GitHub Enterprise organization or the GitLab Self Managed group. Note that this parameter is only required if your project's source type is GITHUB_ENTERPRISE or GITLAB_SELF_MANAGED.", + "title": "Domain", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of either the enterprise or organization that will send webhook events to CodeBuild , depending on if the webhook is a global or organization webhook respectively.", + "title": "Name", + "type": "string" + }, + "Scope": { + "markdownDescription": "The type of scope for a GitHub or GitLab webhook. The scope default is GITHUB_ORGANIZATION.", + "title": "Scope", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.Source": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::CodeBuild::Project.SourceAuth", + "markdownDescription": "Information about the authorization settings for AWS CodeBuild to access the source code to be built.", + "title": "Auth" + }, + "BuildSpec": { + "markdownDescription": "The build specification for the project. If this value is not provided, then the source code must contain a buildspec file named `buildspec.yml` at the root level. If this value is provided, it can be either a single string containing the entire build specification, or the path to an alternate buildspec file relative to the value of the built-in environment variable `CODEBUILD_SRC_DIR` . The alternate buildspec file can have a name other than `buildspec.yml` , for example `myspec.yml` or `build_spec_qa.yml` or similar. For more information, see the [Build Spec Reference](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-example) in the *AWS CodeBuild User Guide* .", + "title": "BuildSpec", + "type": "string" + }, + "BuildStatusConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig", + "markdownDescription": "Contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is `GITHUB` , `GITHUB_ENTERPRISE` , or `BITBUCKET` .", + "title": "BuildStatusConfig" + }, + "GitCloneDepth": { + "markdownDescription": "The depth of history to download. Minimum value is 0. If this value is 0, greater than 25, or not provided, then the full history is downloaded with each build project. If your source type is Amazon S3, this value is not supported.", + "title": "GitCloneDepth", + "type": "number" + }, + "GitSubmodulesConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig", + "markdownDescription": "Information about the Git submodules configuration for the build project.", + "title": "GitSubmodulesConfig" + }, + "InsecureSsl": { + "markdownDescription": "This is used with GitHub Enterprise only. Set to true to ignore SSL warnings while connecting to your GitHub Enterprise project repository. The default value is `false` . `InsecureSsl` should be used for testing purposes only. It should not be used in a production environment.", + "title": "InsecureSsl", + "type": "boolean" + }, + "Location": { + "markdownDescription": "Information about the location of the source code to be built. Valid values include:\n\n- For source code settings that are specified in the source action of a pipeline in CodePipeline, `location` should not be specified. If it is specified, CodePipeline ignores it. This is because CodePipeline uses the settings in a pipeline's source action instead of this value.\n- For source code in an CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the buildspec file (for example, `https://git-codecommit..amazonaws.com/v1/repos/` ).\n- For source code in an Amazon S3 input bucket, one of the following.\n\n- The path to the ZIP file that contains the source code (for example, `//.zip` ).\n- The path to the folder that contains the source code (for example, `///` ).\n- For source code in a GitHub repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your AWS account to your GitHub account. Use the AWS CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with GitHub, on the GitHub *Authorize application* page, for *Organization access* , choose *Request access* next to each repository you want to allow AWS CodeBuild to have access to, and then choose *Authorize application* . (After you have connected to your GitHub account, you do not need to finish creating the build project. You can leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this connection, in the `source` object, set the `auth` object's `type` value to `OAUTH` .\n- For source code in an GitLab or self-managed GitLab repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your AWS account to your GitLab account. Use the AWS CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with GitLab, on the Connections *Authorize application* page, choose *Authorize* . Then on the AWS CodeConnections *Create GitLab connection* page, choose *Connect to GitLab* . (After you have connected to your GitLab account, you do not need to finish creating the build project. You can leave the AWS CodeBuild console.) To instruct AWS CodeBuild to override the default connection and use this connection instead, set the `auth` object's `type` value to `CODECONNECTIONS` in the `source` object.\n- For source code in a Bitbucket repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your AWS account to your Bitbucket account. Use the AWS CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with Bitbucket, on the Bitbucket *Confirm access to your account* page, choose *Grant access* . (After you have connected to your Bitbucket account, you do not need to finish creating the build project. You can leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this connection, in the `source` object, set the `auth` object's `type` value to `OAUTH` .\n\nIf you specify `CODEPIPELINE` for the `Type` property, don't specify this property. For all of the other types, you must specify `Location` .", + "title": "Location", + "type": "string" + }, + "ReportBuildStatus": { + "markdownDescription": "Set to true to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. If this is set and you use a different source provider, an `invalidInputException` is thrown.", + "title": "ReportBuildStatus", + "type": "boolean" + }, + "SourceIdentifier": { + "markdownDescription": "An identifier for this project source. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.", + "title": "SourceIdentifier", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of repository that contains the source code to be built. Valid values include:\n\n- `BITBUCKET` : The source code is in a Bitbucket repository.\n- `CODECOMMIT` : The source code is in an CodeCommit repository.\n- `CODEPIPELINE` : The source code settings are specified in the source action of a pipeline in CodePipeline.\n- `GITHUB` : The source code is in a GitHub repository.\n- `GITHUB_ENTERPRISE` : The source code is in a GitHub Enterprise Server repository.\n- `GITLAB` : The source code is in a GitLab repository.\n- `GITLAB_SELF_MANAGED` : The source code is in a self-managed GitLab repository.\n- `NO_SOURCE` : The project does not have input source code.\n- `S3` : The source code is in an Amazon S3 bucket.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.SourceAuth": { + "additionalProperties": false, + "properties": { + "Resource": { + "markdownDescription": "The resource value that applies to the specified authorization type.", + "title": "Resource", + "type": "string" + }, + "Type": { + "markdownDescription": "The authorization type to use. Valid options are OAUTH, CODECONNECTIONS, or SECRETS_MANAGER.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of one or more security groups IDs in your Amazon VPC. The maximum count is 5.", + "title": "SecurityGroupIds", + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of one or more subnet IDs in your Amazon VPC. The maximum count is 16.", + "title": "Subnets", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the Amazon VPC.", + "title": "VpcId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.WebhookFilter": { + "additionalProperties": false, + "properties": { + "ExcludeMatchedPattern": { + "markdownDescription": "Used to indicate that the `pattern` determines which webhook events do not trigger a build. If true, then a webhook event that does not match the `pattern` triggers a build. If false, then a webhook event that matches the `pattern` triggers a build.", + "title": "ExcludeMatchedPattern", + "type": "boolean" + }, + "Pattern": { + "markdownDescription": "For a `WebHookFilter` that uses `EVENT` type, a comma-separated string that specifies one or more events. For example, the webhook filter `PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED` allows all push, pull request created, and pull request updated events to trigger a build.\n\nFor a `WebHookFilter` that uses any of the other filter types, a regular expression pattern. For example, a `WebHookFilter` that uses `HEAD_REF` for its `type` and the pattern `^refs/heads/` triggers a build when the head reference is a branch with a reference name `refs/heads/branch-name` .", + "title": "Pattern", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of webhook filter. There are 11 webhook filter types: `EVENT` , `ACTOR_ACCOUNT_ID` , `HEAD_REF` , `BASE_REF` , `FILE_PATH` , `COMMIT_MESSAGE` , `TAG_NAME` , `RELEASE_NAME` , `REPOSITORY_NAME` , `ORGANIZATION_NAME` , and `WORKFLOW_NAME` .\n\n- EVENT\n\n- A webhook event triggers a build when the provided `pattern` matches one of nine event types: `PUSH` , `PULL_REQUEST_CREATED` , `PULL_REQUEST_UPDATED` , `PULL_REQUEST_CLOSED` , `PULL_REQUEST_REOPENED` , `PULL_REQUEST_MERGED` , `RELEASED` , `PRERELEASED` , and `WORKFLOW_JOB_QUEUED` . The `EVENT` patterns are specified as a comma-separated string. For example, `PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED` filters all push, pull request created, and pull request updated events.\n\n> Types `PULL_REQUEST_REOPENED` and `WORKFLOW_JOB_QUEUED` work with GitHub and GitHub Enterprise only. Types `RELEASED` and `PRERELEASED` work with GitHub only.\n- ACTOR_ACCOUNT_ID\n\n- A webhook event triggers a build when a GitHub, GitHub Enterprise, or Bitbucket account ID matches the regular expression `pattern` .\n- HEAD_REF\n\n- A webhook event triggers a build when the head reference matches the regular expression `pattern` . For example, `refs/heads/branch-name` and `refs/tags/tag-name` .\n\n> Works with GitHub and GitHub Enterprise push, GitHub and GitHub Enterprise pull request, Bitbucket push, and Bitbucket pull request events.\n- BASE_REF\n\n- A webhook event triggers a build when the base reference matches the regular expression `pattern` . For example, `refs/heads/branch-name` .\n\n> Works with pull request events only.\n- FILE_PATH\n\n- A webhook triggers a build when the path of a changed file matches the regular expression `pattern` .\n\n> Works with push and pull request events only.\n- COMMIT_MESSAGE\n\n- A webhook triggers a build when the head commit message matches the regular expression `pattern` .\n\n> Works with push and pull request events only.\n- TAG_NAME\n\n- A webhook triggers a build when the tag name of the release matches the regular expression `pattern` .\n\n> Works with `RELEASED` and `PRERELEASED` events only.\n- RELEASE_NAME\n\n- A webhook triggers a build when the release name matches the regular expression `pattern` .\n\n> Works with `RELEASED` and `PRERELEASED` events only.\n- REPOSITORY_NAME\n\n- A webhook triggers a build when the repository name matches the regular expression `pattern` .\n\n> Works with GitHub global or organization webhooks only.\n- ORGANIZATION_NAME\n\n- A webhook triggers a build when the organization name matches the regular expression `pattern` .\n\n> Works with GitHub global webhooks only.\n- WORKFLOW_NAME\n\n- A webhook triggers a build when the workflow name matches the regular expression `pattern` .\n\n> Works with `WORKFLOW_JOB_QUEUED` events only. > For CodeBuild-hosted Buildkite runner builds, WORKFLOW_NAME filters will filter by pipeline name.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Pattern", + "Type" + ], + "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" }, - "ReturnMergedResources": { - "markdownDescription": "When `true` , returns values for branding options that are unchanged from Amazon Cognito defaults. When `false` or when you omit this parameter, returns only values that you customized in your branding style.", - "title": "ReturnMergedResources", - "type": "boolean" - }, - "Settings": { - "markdownDescription": "A JSON file, encoded as a `Document` type, with the the settings that you want to apply to your style.\n\nThe following components are not currently implemented and reserved for future use:\n\n- `signUp`\n- `instructions`\n- `sessionTimerDisplay`\n- `languageSelector` (for localization, see [Managed login localization)](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html#managed-login-localization)", - "title": "Settings", - "type": "object" - }, - "UseCognitoProvidedValues": { - "markdownDescription": "When true, applies the default branding style options. This option reverts to default style options that are managed by Amazon Cognito. You can modify them later in the branding editor.\n\nWhen you specify `true` for this option, you must also omit values for `Settings` and `Assets` in the request.", - "title": "UseCognitoProvidedValues", - "type": "boolean" - }, - "UserPoolId": { - "markdownDescription": "The user pool where the branding style is assigned.", - "title": "UserPoolId", - "type": "string" + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, - "required": [ - "UserPoolId" - ], + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::ManagedLoginBranding" + "AWS::CodeBuild::Report" ], "type": "string" }, @@ -81343,48 +81620,97 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Cognito::ManagedLoginBranding.AssetType": { + "AWS::CodeBuild::Report.CodeCoverageReportSummary": { "additionalProperties": false, "properties": { - "Bytes": { - "markdownDescription": "The image file, in Base64-encoded binary.", - "title": "Bytes", + "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" }, - "Category": { - "markdownDescription": "The category that the image corresponds to in your managed login configuration. Managed login has asset categories for different types of logos, backgrounds, and icons.", - "title": "Category", + "S3Destination": { + "$ref": "#/definitions/AWS::CodeBuild::Report.S3ReportExportConfig" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Report.S3ReportExportConfig": { + "additionalProperties": false, + "properties": { + "Bucket": { "type": "string" }, - "ColorMode": { - "markdownDescription": "The display-mode target of the asset: light, dark, or browser-adaptive. For example, Amazon Cognito displays a dark-mode image only when the browser or application is in dark mode, but displays a browser-adaptive file in all contexts.", - "title": "ColorMode", + "BucketOwner": { "type": "string" }, - "Extension": { - "markdownDescription": "The file type of the image file.", - "title": "Extension", + "EncryptionDisabled": { + "type": "boolean" + }, + "EncryptionKey": { "type": "string" }, - "ResourceId": { - "markdownDescription": "The ID of the asset.", - "title": "ResourceId", + "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": [ - "Category", - "ColorMode", - "Extension" + "DurationInNanoSeconds", + "StatusCounts", + "Total" ], "type": "object" }, - "AWS::Cognito::Terms": { + "AWS::CodeBuild::ReportGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -81419,55 +81745,44 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientId": { - "markdownDescription": "The ID of the app client that the terms documents are assigned to.", - "title": "ClientId", - "type": "string" - }, - "Enforcement": { - "markdownDescription": "This parameter is reserved for future use and currently accepts one value.", - "title": "Enforcement", - "type": "string" + "DeleteReports": { + "markdownDescription": "When deleting a report group, specifies if reports within the report group should be deleted.\n\n- **true** - Deletes any reports that belong to the report group before deleting the report group.\n- **false** - You must delete any reports in the report group. This is the default value. If you delete a report group that contains one or more reports, an exception is thrown.", + "title": "DeleteReports", + "type": "boolean" }, - "Links": { - "additionalProperties": true, - "markdownDescription": "A map of URLs to languages. For each localized language that will view the requested `TermsName` , assign a URL. A selection of `cognito:default` displays for all languages that don't have a language-specific URL.\n\nFor example, `\"cognito:default\": \"https://terms.example.com\", \"cognito:spanish\": \"https://terms.example.com/es\"` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Links", - "type": "object" + "ExportConfig": { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.ReportExportConfig", + "markdownDescription": "Information about the destination where the raw data of this `ReportGroup` is exported.", + "title": "ExportConfig" }, - "TermsName": { - "markdownDescription": "The type and friendly name of the terms documents.", - "title": "TermsName", + "Name": { + "markdownDescription": "The name of the `ReportGroup` .", + "title": "Name", "type": "string" }, - "TermsSource": { - "markdownDescription": "This parameter is reserved for future use and currently accepts one value.", - "title": "TermsSource", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tag key and value pairs associated with this report group.\n\nThese tags are available for use by AWS services that support AWS CodeBuild report group tags.", + "title": "Tags", + "type": "array" }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool that contains the terms documents.", - "title": "UserPoolId", + "Type": { + "markdownDescription": "The type of the `ReportGroup` . This can be one of the following values:\n\n- **CODE_COVERAGE** - The report group contains code coverage reports.\n- **TEST** - The report group contains test reports.", + "title": "Type", "type": "string" } }, "required": [ - "Enforcement", - "Links", - "TermsName", - "TermsSource", - "UserPoolId" + "ExportConfig", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::Terms" + "AWS::CodeBuild::ReportGroup" ], "type": "string" }, @@ -81486,7 +81801,65 @@ ], "type": "object" }, - "AWS::Cognito::UserPool": { + "AWS::CodeBuild::ReportGroup.ReportExportConfig": { + "additionalProperties": false, + "properties": { + "ExportConfigType": { + "markdownDescription": "The export configuration type. Valid values are:\n\n- `S3` : The report results are exported to an S3 bucket.\n- `NO_EXPORT` : The report results are not exported.", + "title": "ExportConfigType", + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.S3ReportExportConfig", + "markdownDescription": "A `S3ReportExportConfig` object that contains information about the S3 bucket where the run of a report is exported.", + "title": "S3Destination" + } + }, + "required": [ + "ExportConfigType" + ], + "type": "object" + }, + "AWS::CodeBuild::ReportGroup.S3ReportExportConfig": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The name of the S3 bucket where the raw data of a report are exported.", + "title": "Bucket", + "type": "string" + }, + "BucketOwner": { + "markdownDescription": "The AWS account identifier of the owner of the Amazon S3 bucket. This allows report data to be exported to an Amazon S3 bucket that is owned by an account other than the account running the build.", + "title": "BucketOwner", + "type": "string" + }, + "EncryptionDisabled": { + "markdownDescription": "A boolean value that specifies if the results of a report are encrypted.", + "title": "EncryptionDisabled", + "type": "boolean" + }, + "EncryptionKey": { + "markdownDescription": "The encryption key for the report's encrypted raw data.", + "title": "EncryptionKey", + "type": "string" + }, + "Packaging": { + "markdownDescription": "The type of build output artifact to create. Valid values include:\n\n- `NONE` : CodeBuild creates the raw data in the output bucket. This is the default if packaging is not specified.\n- `ZIP` : CodeBuild creates a ZIP file with the raw data in the output bucket.", + "title": "Packaging", + "type": "string" + }, + "Path": { + "markdownDescription": "The path to the exported report's raw data results.", + "title": "Path", + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::CodeBuild::Sandbox": { "additionalProperties": false, "properties": { "Condition": { @@ -81521,187 +81894,196 @@ "Properties": { "additionalProperties": false, "properties": { - "AccountRecoverySetting": { - "$ref": "#/definitions/AWS::Cognito::UserPool.AccountRecoverySetting", - "markdownDescription": "The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email.", - "title": "AccountRecoverySetting" - }, - "AdminCreateUserConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPool.AdminCreateUserConfig", - "markdownDescription": "The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire.", - "title": "AdminCreateUserConfig" - }, - "AliasAttributes": { - "items": { - "type": "string" - }, - "markdownDescription": "Attributes supported as an alias for this user pool. For more information about alias attributes, see [Customizing sign-in attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases) .", - "title": "AliasAttributes", - "type": "array" + "ProjectName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::Sandbox" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::SourceCredential": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "AutoVerifiedAttributes": { + { "items": { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "markdownDescription": "The attributes that you want your user pool to automatically verify. For more information, see [Verifying contact information at sign-up](https://docs.aws.amazon.com/cognito/latest/developerguide/signing-up-users-in-your-app.html#allowing-users-to-sign-up-and-confirm-themselves) .", - "title": "AutoVerifiedAttributes", "type": "array" - }, - "DeletionProtection": { - "markdownDescription": "When active, `DeletionProtection` prevents accidental deletion of your user\npool. Before you can delete a user pool that you have protected against deletion, you\nmust deactivate this feature.\n\nWhen you try to delete a protected user pool in a `DeleteUserPool` API request, Amazon Cognito returns an `InvalidParameterException` error. To delete a protected user pool, send a new `DeleteUserPool` request after you deactivate deletion protection in an `UpdateUserPool` API request.", - "title": "DeletionProtection", + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthType": { + "markdownDescription": "The type of authentication used by the credentials. Valid options are OAUTH, BASIC_AUTH, PERSONAL_ACCESS_TOKEN, CODECONNECTIONS, or SECRETS_MANAGER.", + "title": "AuthType", "type": "string" }, - "DeviceConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.DeviceConfiguration", - "markdownDescription": "The device-remembering configuration for a user pool. Device remembering or device tracking is a \"Remember me on this device\" option for user pools that perform authentication with the device key of a trusted device in the back end, instead of a user-provided MFA code. For more information about device authentication, see [Working with user devices in your user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-device-tracking.html) . A null value indicates that you have deactivated device remembering in your user pool.\n\n> When you provide a value for any `DeviceConfiguration` field, you activate the Amazon Cognito device-remembering feature. For more information, see [Working with devices](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-device-tracking.html) .", - "title": "DeviceConfiguration" - }, - "EmailAuthenticationMessage": { - "markdownDescription": "", - "title": "EmailAuthenticationMessage", + "ServerType": { + "markdownDescription": "The type of source provider. The valid options are GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, or BITBUCKET.", + "title": "ServerType", "type": "string" }, - "EmailAuthenticationSubject": { - "markdownDescription": "", - "title": "EmailAuthenticationSubject", + "Token": { + "markdownDescription": "For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket, this is either the access token or the app password. For the `authType` CODECONNECTIONS, this is the `connectionArn` . For the `authType` SECRETS_MANAGER, this is the `secretArn` .", + "title": "Token", "type": "string" }, - "EmailConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.EmailConfiguration", - "markdownDescription": "The email configuration of your user pool. The email configuration type sets your preferred sending method, AWS Region, and sender for messages from your user pool.", - "title": "EmailConfiguration" - }, - "EmailVerificationMessage": { - "markdownDescription": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) .", - "title": "EmailVerificationMessage", + "Username": { + "markdownDescription": "The Bitbucket username when the `authType` is BASIC_AUTH. This parameter is not valid for other types of source providers or connections.", + "title": "Username", "type": "string" - }, - "EmailVerificationSubject": { - "markdownDescription": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) .", - "title": "EmailVerificationSubject", + } + }, + "required": [ + "AuthType", + "ServerType", + "Token" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::SourceCredential" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "EnabledMfas": { + { "items": { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "markdownDescription": "Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values:\n\n- `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` .\n- `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool.\n- `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` .\n\nAllowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP`", - "title": "EnabledMfas", - "type": "array" - }, - "IssuerConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.IssuerConfiguration" - }, - "KeyConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.KeyConfiguration" - }, - "LambdaConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig", - "markdownDescription": "A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them.", - "title": "LambdaConfig" - }, - "MfaConfiguration": { - "markdownDescription": "Displays the state of multi-factor authentication (MFA) as on, off, or optional. When `ON` , all users must set up MFA before they can sign in. When `OPTIONAL` , your application must make a client-side determination of whether a user wants to register an MFA device. For user pools with adaptive authentication with threat protection, choose `OPTIONAL` .\n\nWhen `MfaConfiguration` is `OPTIONAL` , managed login doesn't automatically prompt users to set up MFA. Amazon Cognito generates MFA prompts in API responses and in managed login for users who have chosen and configured a preferred MFA factor.", - "title": "MfaConfiguration", - "type": "string" - }, - "Policies": { - "$ref": "#/definitions/AWS::Cognito::UserPool.Policies", - "markdownDescription": "A list of user pool policies. Contains the policy that sets password-complexity requirements.", - "title": "Policies" - }, - "Schema": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPool.SchemaAttribute" - }, - "markdownDescription": "An array of attributes for the new user pool. You can add custom attributes and modify the properties of default attributes. The specifications in this parameter set the required attributes in your user pool. For more information, see [Working with user attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html) .", - "title": "Schema", "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.Code", + "markdownDescription": "Information about code to be committed to a repository after it is created in an AWS CloudFormation stack. Information about code is only used in resource creation. Updates to a stack will not reflect changes made to code properties after initial resource creation.\n\n> You can only use this property to add code when creating a repository with a CloudFormation template at creation time. This property cannot be used for updating code to an existing repository.", + "title": "Code" }, - "SmsAuthenticationMessage": { - "markdownDescription": "The contents of the SMS authentication message.", - "title": "SmsAuthenticationMessage", + "KmsKeyId": { + "markdownDescription": "The ID of the AWS Key Management Service encryption key used to encrypt and decrypt the repository.\n\n> The input can be the full ARN, the key ID, or the key alias. For more information, see [Finding the key ID and key ARN](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html) .", + "title": "KmsKeyId", "type": "string" }, - "SmsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.SmsConfiguration", - "markdownDescription": "The settings for your Amazon Cognito user pool to send SMS messages with Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the AWS Region that you want, the Amazon Cognito user pool uses an AWS Identity and Access Management (IAM) role in your AWS account . For more information see [SMS message settings](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sms-settings.html) .", - "title": "SmsConfiguration" - }, - "SmsVerificationMessage": { - "markdownDescription": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) .", - "title": "SmsVerificationMessage", + "RepositoryDescription": { + "markdownDescription": "A comment or description about the new repository.\n\n> The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage.", + "title": "RepositoryDescription", "type": "string" }, - "UserAttributeUpdateSettings": { - "$ref": "#/definitions/AWS::Cognito::UserPool.UserAttributeUpdateSettings", - "markdownDescription": "The settings for updates to user attributes. These settings include the property `AttributesRequireVerificationBeforeUpdate` ,\na user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For\nmore information, see [Verifying updates to email addresses and phone numbers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates) .", - "title": "UserAttributeUpdateSettings" - }, - "UserPoolAddOns": { - "$ref": "#/definitions/AWS::Cognito::UserPool.UserPoolAddOns", - "markdownDescription": "Contains settings for activation of threat protection, including the operating mode and additional authentication types. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to potentially unwanted traffic to your user pool, set to `ENFORCED` .\n\nFor more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) .", - "title": "UserPoolAddOns" - }, - "UserPoolName": { - "markdownDescription": "A friendly name for your user pool.", - "title": "UserPoolName", + "RepositoryName": { + "markdownDescription": "The name of the new repository to be created.\n\n> The repository name must be unique across the calling AWS account . Repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For more information about the limits on repository names, see [Quotas](https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html) in the *AWS CodeCommit User Guide* . The suffix .git is prohibited.", + "title": "RepositoryName", "type": "string" }, - "UserPoolTags": { - "additionalProperties": true, - "markdownDescription": "The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "Tags": { + "items": { + "$ref": "#/definitions/Tag" }, - "title": "UserPoolTags", - "type": "object" - }, - "UserPoolTier": { - "markdownDescription": "The user pool [feature plan](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html) , or tier. This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection. Defaults to `ESSENTIALS` .", - "title": "UserPoolTier", - "type": "string" + "markdownDescription": "One or more tag key-value pairs to use when tagging this repository.", + "title": "Tags", + "type": "array" }, - "UsernameAttributes": { + "Triggers": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CodeCommit::Repository.RepositoryTrigger" }, - "markdownDescription": "Specifies whether a user can use an email address or phone number as a username when they sign up.", - "title": "UsernameAttributes", + "markdownDescription": "The JSON block of configuration information for each trigger.", + "title": "Triggers", "type": "array" - }, - "UsernameConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.UsernameConfiguration", - "markdownDescription": "Sets the case sensitivity option for sign-in usernames. When `CaseSensitive` is `false` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `false` as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user.\n\nWhen `CaseSensitive` is `true` (case sensitive), Amazon Cognito interprets `USERNAME` and `UserName` as distinct users.\n\nThis configuration is immutable after you set it.", - "title": "UsernameConfiguration" - }, - "VerificationMessageTemplate": { - "$ref": "#/definitions/AWS::Cognito::UserPool.VerificationMessageTemplate", - "markdownDescription": "The template for the verification message that your user pool delivers to users who set an email address or phone number attribute.\n\nSet the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error.", - "title": "VerificationMessageTemplate" - }, - "WebAuthnFactorConfiguration": { - "type": "string" - }, - "WebAuthnRelyingPartyID": { - "markdownDescription": "Sets or displays the authentication domain, typically your user pool domain, that passkey providers must use as a relying party (RP) in their configuration.\n\nUnder the following conditions, the passkey relying party ID must be the fully-qualified domain name of your custom domain:\n\n- The user pool is configured for passkey authentication.\n- The user pool has a custom domain, whether or not it also has a prefix domain.\n- Your application performs authentication with managed login or the classic hosted UI.", - "title": "WebAuthnRelyingPartyID", - "type": "string" - }, - "WebAuthnUserVerification": { - "markdownDescription": "When `required` , users can only register and sign in users with passkeys that are capable of [user verification](https://docs.aws.amazon.com/https://www.w3.org/TR/webauthn-2/#enum-userVerificationRequirement) . When `preferred` , your user pool doesn't require the use of authenticators with user verification but encourages it.", - "title": "WebAuthnUserVerification", - "type": "string" } }, + "required": [ + "RepositoryName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPool" + "AWS::CodeCommit::Repository" ], "type": "string" }, @@ -81715,590 +82097,109 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Cognito::UserPool.AccountRecoverySetting": { - "additionalProperties": false, - "properties": { - "RecoveryMechanisms": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPool.RecoveryOption" - }, - "markdownDescription": "The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators.", - "title": "RecoveryMechanisms", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.AdminCreateUserConfig": { - "additionalProperties": false, - "properties": { - "AllowAdminCreateUserOnly": { - "markdownDescription": "The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the `SignUp` operation.", - "title": "AllowAdminCreateUserOnly", - "type": "boolean" - }, - "InviteMessageTemplate": { - "$ref": "#/definitions/AWS::Cognito::UserPool.InviteMessageTemplate", - "markdownDescription": "The template for the welcome message to new users. This template must include the `{####}` temporary password placeholder if you are creating users with passwords. If your users don't have passwords, you can omit the placeholder.\n\nSee also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) .", - "title": "InviteMessageTemplate" - }, - "UnusedAccountValidityDays": { - "markdownDescription": "This parameter is no longer in use.\n\nThe password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter.\n\nThe default value for this parameter is 7.", - "title": "UnusedAccountValidityDays", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.AdvancedSecurityAdditionalFlows": { - "additionalProperties": false, - "properties": { - "CustomAuthMode": { - "markdownDescription": "The operating mode of threat protection in custom authentication with [Custom authentication challenge Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", - "title": "CustomAuthMode", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.CustomEmailSender": { + "AWS::CodeCommit::Repository.Code": { "additionalProperties": false, "properties": { - "LambdaArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.", - "title": "LambdaArn", + "BranchName": { + "markdownDescription": "Optional. Specifies a branch name to be used as the default branch when importing code into a repository on initial creation. If this property is not set, the name *main* will be used for the default branch for the repository. Changes to this property are ignored after initial resource creation. We recommend using this parameter to set the name to *main* to align with the default behavior of CodeCommit unless another name is needed.", + "title": "BranchName", "type": "string" }, - "LambdaVersion": { - "markdownDescription": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.\n\nYou must use a `LambdaVersion` of `V1_0` with a custom sender function.", - "title": "LambdaVersion", - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.S3", + "markdownDescription": "Information about the Amazon S3 bucket that contains a ZIP file of code to be committed to the repository. Changes to this property are ignored after initial resource creation.", + "title": "S3" } }, + "required": [ + "S3" + ], "type": "object" }, - "AWS::Cognito::UserPool.CustomSMSSender": { + "AWS::CodeCommit::Repository.RepositoryTrigger": { "additionalProperties": false, "properties": { - "LambdaArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.", - "title": "LambdaArn", + "Branches": { + "items": { + "type": "string" + }, + "markdownDescription": "The branches to be included in the trigger configuration. If you specify an empty array, the trigger applies to all branches.\n\n> Although no content is required in the array, you must include the array itself.", + "title": "Branches", + "type": "array" + }, + "CustomData": { + "markdownDescription": "Any custom data associated with the trigger to be included in the information sent to the target of the trigger.", + "title": "CustomData", "type": "string" }, - "LambdaVersion": { - "markdownDescription": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.\n\nYou must use a `LambdaVersion` of `V1_0` with a custom sender function.", - "title": "LambdaVersion", + "DestinationArn": { + "markdownDescription": "The ARN of the resource that is the target for a trigger (for example, the ARN of a topic in Amazon SNS).", + "title": "DestinationArn", "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.DeviceConfiguration": { - "additionalProperties": false, - "properties": { - "ChallengeRequiredOnNewDevice": { - "markdownDescription": "When true, a remembered device can sign in with device authentication instead of SMS and time-based one-time password (TOTP) factors for multi-factor authentication (MFA).\n\n> Whether or not `ChallengeRequiredOnNewDevice` is true, users who sign in with devices that have not been confirmed or remembered must still provide a second factor in a user pool that requires MFA.", - "title": "ChallengeRequiredOnNewDevice", - "type": "boolean" }, - "DeviceOnlyRememberedOnUserPrompt": { - "markdownDescription": "When true, Amazon Cognito doesn't automatically remember a user's device when your app sends a `ConfirmDevice` API request. In your app, create a prompt for your user to choose whether they want to remember their device. Return the user's choice in an `UpdateDeviceStatus` API request.\n\nWhen `DeviceOnlyRememberedOnUserPrompt` is `false` , Amazon Cognito immediately remembers devices that you register in a `ConfirmDevice` API request.", - "title": "DeviceOnlyRememberedOnUserPrompt", - "type": "boolean" + "Events": { + "items": { + "type": "string" + }, + "markdownDescription": "The repository events that cause the trigger to run actions in another service, such as sending a notification through Amazon SNS.\n\n> The valid value \"all\" cannot be used with any other values.", + "title": "Events", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the trigger.", + "title": "Name", + "type": "string" } }, + "required": [ + "DestinationArn", + "Events", + "Name" + ], "type": "object" }, - "AWS::Cognito::UserPool.EmailConfiguration": { + "AWS::CodeCommit::Repository.S3": { "additionalProperties": false, "properties": { - "ConfigurationSet": { - "markdownDescription": "The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:\n\n- **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch\n- **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets.", - "title": "ConfigurationSet", - "type": "string" - }, - "EmailSendingAccount": { - "markdownDescription": "Specifies whether Amazon Cognito uses its built-in functionality to send your users email messages, or uses your Amazon Simple Email Service email configuration. Specify one of the following values:\n\n- **COGNITO_DEFAULT** - When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. For typical production environments, the default email limit is less than the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email configuration.\n\nTo look up the email delivery limit for the default option, see [Limits](https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html) in the *Amazon Cognito Developer Guide* .\n\nThe default FROM address is `no-reply@verificationemail.com` . To customize the FROM address, provide the Amazon Resource Name (ARN) of an Amazon SES verified email address for the `SourceArn` parameter.\n- **DEVELOPER** - When Amazon Cognito emails your users, it uses your Amazon SES configuration. Amazon Cognito calls Amazon SES on your behalf to send email from your verified email address. When you use this option, the email delivery limits are the same limits that apply to your Amazon SES verified email address in your AWS account .\n\nIf you use this option, provide the ARN of an Amazon SES verified email address for the `SourceArn` parameter.\n\nBefore Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a *service-linked role* , which is a type of role in your AWS account . This role contains the permissions that allow you to access Amazon SES and send email messages from your email address. For more information about the service-linked role that Amazon Cognito creates, see [Using Service-Linked Roles for Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/using-service-linked-roles.html) in the *Amazon Cognito Developer Guide* .", - "title": "EmailSendingAccount", - "type": "string" - }, - "From": { - "markdownDescription": "Either the sender\u2019s email address or the sender\u2019s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email.", - "title": "From", + "Bucket": { + "markdownDescription": "The name of the Amazon S3 bucket that contains the ZIP file with the content that will be committed to the new repository. This can be specified using the name of the bucket in the AWS account . Changes to this property are ignored after initial resource creation.", + "title": "Bucket", "type": "string" }, - "ReplyToEmailAddress": { - "markdownDescription": "The destination to which the receiver of the email should reply.", - "title": "ReplyToEmailAddress", + "Key": { + "markdownDescription": "The key to use for accessing the Amazon S3 bucket. Changes to this property are ignored after initial resource creation. For more information, see [Creating object key names](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html) and [Uploading objects](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) in the Amazon S3 User Guide.", + "title": "Key", "type": "string" }, - "SourceArn": { - "markdownDescription": "The ARN of a verified email address or an address from a verified domain in Amazon SES. You can set a `SourceArn` email from a verified domain only with an API request. You can set a verified email address, but not an address in a verified domain, in the Amazon Cognito console. Amazon Cognito uses the email address that you provide in one of the following ways, depending on the value that you specify for the `EmailSendingAccount` parameter:\n\n- If you specify `COGNITO_DEFAULT` , Amazon Cognito uses this address as the custom FROM address when it emails your users using its built-in email account.\n- If you specify `DEVELOPER` , Amazon Cognito emails your users with this address by calling Amazon SES on your behalf.\n\nThe Region value of the `SourceArn` parameter must indicate a supported AWS Region of your user pool. Typically, the Region in the `SourceArn` and the user pool Region are the same. For more information, see [Amazon SES email configuration regions](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-email.html#user-pool-email-developer-region-mapping) in the [Amazon Cognito Developer Guide](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html) .", - "title": "SourceArn", + "ObjectVersion": { + "markdownDescription": "The object version of the ZIP file, if versioning is enabled for the Amazon S3 bucket. Changes to this property are ignored after initial resource creation.", + "title": "ObjectVersion", "type": "string" } }, + "required": [ + "Bucket", + "Key" + ], "type": "object" }, - "AWS::Cognito::UserPool.EumsSmsConfiguration": { + "AWS::CodeConnections::Connection": { "additionalProperties": false, "properties": { - "CallerArn": { - "type": "string" - }, - "ConfigurationSetName": { - "type": "string" - }, - "ExternalId": { - "type": "string" - }, - "InEntityId": { + "Condition": { "type": "string" }, - "InTemplateId": { - "type": "string" - }, - "OriginationIdentity": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "CallerArn" - ], - "type": "object" - }, - "AWS::Cognito::UserPool.InboundFederation": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.InviteMessageTemplate": { - "additionalProperties": false, - "properties": { - "EmailMessage": { - "markdownDescription": "The message template for email messages. EmailMessage is allowed only if [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is DEVELOPER.", - "title": "EmailMessage", - "type": "string" - }, - "EmailSubject": { - "markdownDescription": "The subject line for email messages. EmailSubject is allowed only if [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is DEVELOPER.", - "title": "EmailSubject", - "type": "string" - }, - "SMSMessage": { - "markdownDescription": "The message template for SMS messages.", - "title": "SMSMessage", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.IssuerConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.KeyConfiguration": { - "additionalProperties": false, - "properties": { - "KeyType": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.LambdaConfig": { - "additionalProperties": false, - "properties": { - "CreateAuthChallenge": { - "markdownDescription": "The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", - "title": "CreateAuthChallenge", - "type": "string" - }, - "CustomEmailSender": { - "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender", - "markdownDescription": "The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic.", - "title": "CustomEmailSender" - }, - "CustomMessage": { - "markdownDescription": "A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user.", - "title": "CustomMessage", - "type": "string" - }, - "CustomSMSSender": { - "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender", - "markdownDescription": "The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic.", - "title": "CustomSMSSender" - }, - "DefineAuthChallenge": { - "markdownDescription": "The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", - "title": "DefineAuthChallenge", - "type": "string" - }, - "InboundFederation": { - "$ref": "#/definitions/AWS::Cognito::UserPool.InboundFederation" - }, - "KMSKeyID": { - "markdownDescription": "The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers.", - "title": "KMSKeyID", - "type": "string" - }, - "PostAuthentication": { - "markdownDescription": "The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in.", - "title": "PostAuthentication", - "type": "string" - }, - "PostConfirmation": { - "markdownDescription": "The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number.", - "title": "PostConfirmation", - "type": "string" - }, - "PreAuthentication": { - "markdownDescription": "The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events.", - "title": "PreAuthentication", - "type": "string" - }, - "PreSignUp": { - "markdownDescription": "The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests.", - "title": "PreSignUp", - "type": "string" - }, - "PreTokenGeneration": { - "markdownDescription": "The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool.\n\nSet this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` .", - "title": "PreTokenGeneration", - "type": "string" - }, - "PreTokenGenerationConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPool.PreTokenGenerationConfig", - "markdownDescription": "The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` .", - "title": "PreTokenGenerationConfig" - }, - "UserMigration": { - "markdownDescription": "The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet.", - "title": "UserMigration", - "type": "string" - }, - "VerifyAuthChallengeResponse": { - "markdownDescription": "The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", - "title": "VerifyAuthChallengeResponse", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.NumberAttributeConstraints": { - "additionalProperties": false, - "properties": { - "MaxValue": { - "markdownDescription": "The maximum length of a number attribute value. Must be a number less than or equal to `2^1023` , represented as a string with a length of 131072 characters or fewer.", - "title": "MaxValue", - "type": "string" - }, - "MinValue": { - "markdownDescription": "The minimum value of an attribute that is of the number data type.", - "title": "MinValue", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.PasswordPolicy": { - "additionalProperties": false, - "properties": { - "MinimumLength": { - "markdownDescription": "The minimum length of the password in the policy that you have set. This value can't be less than 6.", - "title": "MinimumLength", - "type": "number" - }, - "PasswordHistorySize": { - "markdownDescription": "The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` .", - "title": "PasswordHistorySize", - "type": "number" - }, - "RequireLowercase": { - "markdownDescription": "The requirement in a password policy that users must include at least one lowercase letter in their password.", - "title": "RequireLowercase", - "type": "boolean" - }, - "RequireNumbers": { - "markdownDescription": "The requirement in a password policy that users must include at least one number in their password.", - "title": "RequireNumbers", - "type": "boolean" - }, - "RequireSymbols": { - "markdownDescription": "The requirement in a password policy that users must include at least one symbol in their password.", - "title": "RequireSymbols", - "type": "boolean" - }, - "RequireUppercase": { - "markdownDescription": "The requirement in a password policy that users must include at least one uppercase letter in their password.", - "title": "RequireUppercase", - "type": "boolean" - }, - "TemporaryPasswordValidityDays": { - "markdownDescription": "The number of days a temporary password is valid in the password policy. If the user doesn't sign in during this time, an administrator must reset their password. Defaults to `7` . If you submit a value of `0` , Amazon Cognito treats it as a null value and sets `TemporaryPasswordValidityDays` to its default value.\n\n> When you set `TemporaryPasswordValidityDays` for a user pool, you can no longer set a value for the legacy `UnusedAccountValidityDays` parameter in that user pool.", - "title": "TemporaryPasswordValidityDays", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.Policies": { - "additionalProperties": false, - "properties": { - "PasswordPolicy": { - "$ref": "#/definitions/AWS::Cognito::UserPool.PasswordPolicy", - "markdownDescription": "The password policy settings for a user pool, including complexity, history, and length requirements.", - "title": "PasswordPolicy" - }, - "SignInPolicy": { - "$ref": "#/definitions/AWS::Cognito::UserPool.SignInPolicy", - "markdownDescription": "The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.", - "title": "SignInPolicy" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.PreTokenGenerationConfig": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.\n\nThis parameter and the `PreTokenGeneration` property of `LambdaConfig` have the same value. For new instances of pre token generation triggers, set `LambdaArn` .", - "title": "LambdaArn", - "type": "string" - }, - "LambdaVersion": { - "markdownDescription": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.", - "title": "LambdaVersion", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.RecoveryOption": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The recovery method that this object sets a recovery option for.", - "title": "Name", - "type": "string" - }, - "Priority": { - "markdownDescription": "Your priority preference for using the specified attribute in account recovery. The highest priority is `1` .", - "title": "Priority", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.SchemaAttribute": { - "additionalProperties": false, - "properties": { - "AttributeDataType": { - "markdownDescription": "The data format of the values for your attribute. When you choose an `AttributeDataType` , Amazon Cognito validates the input against the data type. A custom attribute value in your user's ID token is always a string, for example `\"custom:isMember\" : \"true\"` or `\"custom:YearsAsMember\" : \"12\"` .", - "title": "AttributeDataType", - "type": "string" - }, - "DeveloperOnlyAttribute": { - "markdownDescription": "> You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . \n\nSpecifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes.", - "title": "DeveloperOnlyAttribute", - "type": "boolean" - }, - "Mutable": { - "markdownDescription": "Specifies whether the value of the attribute can be changed.\n\nAny user pool attribute whose value you map from an IdP attribute must be mutable, with a parameter value of `true` . Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If an attribute is immutable, Amazon Cognito throws an error when it attempts to update the attribute. For more information, see [Specifying Identity Provider Attribute Mappings for Your User Pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html) .", - "title": "Mutable", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of your user pool attribute. When you create or update a user pool, adding a schema attribute creates a custom or developer-only attribute. When you add an attribute with a `Name` value of `MyAttribute` , Amazon Cognito creates the custom attribute `custom:MyAttribute` . When `DeveloperOnlyAttribute` is `true` , Amazon Cognito creates your attribute as `dev:MyAttribute` . In an operation that describes a user pool, Amazon Cognito returns this value as `value` for standard attributes, `custom:value` for custom attributes, and `dev:value` for developer-only attributes..", - "title": "Name", - "type": "string" - }, - "NumberAttributeConstraints": { - "$ref": "#/definitions/AWS::Cognito::UserPool.NumberAttributeConstraints", - "markdownDescription": "Specifies the constraints for an attribute of the number type.", - "title": "NumberAttributeConstraints" - }, - "Required": { - "markdownDescription": "Specifies whether a user pool attribute is required. If the attribute is required and the user doesn't provide a value, registration or sign-in will fail.", - "title": "Required", - "type": "boolean" - }, - "StringAttributeConstraints": { - "$ref": "#/definitions/AWS::Cognito::UserPool.StringAttributeConstraints", - "markdownDescription": "Specifies the constraints for an attribute of the string type.", - "title": "StringAttributeConstraints" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.SignInPolicy": { - "additionalProperties": false, - "properties": { - "AllowedFirstAuthFactors": { - "items": { - "type": "string" - }, - "markdownDescription": "The sign-in methods that a user pool supports as the first factor. You can permit users to start authentication with a standard username and password, or with other one-time password and hardware factors.\n\nSupports values of `EMAIL_OTP` , `SMS_OTP` , `WEB_AUTHN` and `PASSWORD` ,", - "title": "AllowedFirstAuthFactors", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.SmsConfiguration": { - "additionalProperties": false, - "properties": { - "EumsSms": { - "$ref": "#/definitions/AWS::Cognito::UserPool.EumsSmsConfiguration" - }, - "ExternalId": { - "markdownDescription": "The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` .\n\nFor more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) .", - "title": "ExternalId", - "type": "string" - }, - "SnsCallerArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS caller. This is the ARN of the IAM role in your AWS account that Amazon Cognito will use to send SMS messages. SMS messages are subject to a [spending limit](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html) .", - "title": "SnsCallerArn", - "type": "string" - }, - "SnsRegion": { - "markdownDescription": "The AWS Region to use with Amazon SNS integration. You can choose the same Region as your user pool, or a supported *Legacy Amazon SNS alternate Region* .\n\nAmazon Cognito resources in the Asia Pacific (Seoul) AWS Region must use your Amazon SNS configuration in the Asia Pacific (Tokyo) Region. For more information, see [SMS message settings for Amazon Cognito user pools](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sms-settings.html) .", - "title": "SnsRegion", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.StringAttributeConstraints": { - "additionalProperties": false, - "properties": { - "MaxLength": { - "markdownDescription": "The maximum length of a string attribute value. Must be a number less than or equal to `2^1023` , represented as a string with a length of 131072 characters or fewer.", - "title": "MaxLength", - "type": "string" - }, - "MinLength": { - "markdownDescription": "The minimum length of a string attribute value.", - "title": "MinLength", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.UserAttributeUpdateSettings": { - "additionalProperties": false, - "properties": { - "AttributesRequireVerificationBeforeUpdate": { - "items": { - "type": "string" - }, - "markdownDescription": "Requires that your user verifies their email address, phone number, or both before Amazon Cognito updates the value of that attribute. When you update a user attribute that has this option activated, Amazon Cognito sends a verification message to the new phone number or email address. Amazon Cognito doesn\u2019t change the value of the attribute until your user responds to the verification message and confirms the new value.\n\nWhen `AttributesRequireVerificationBeforeUpdate` is false, your user pool doesn't require that your users verify attribute changes before Amazon Cognito updates them. In a user pool where `AttributesRequireVerificationBeforeUpdate` is false, API operations that change attribute values can immediately update a user\u2019s `email` or `phone_number` attribute.", - "title": "AttributesRequireVerificationBeforeUpdate", - "type": "array" - } - }, - "required": [ - "AttributesRequireVerificationBeforeUpdate" - ], - "type": "object" - }, - "AWS::Cognito::UserPool.UserPoolAddOns": { - "additionalProperties": false, - "properties": { - "AdvancedSecurityAdditionalFlows": { - "$ref": "#/definitions/AWS::Cognito::UserPool.AdvancedSecurityAdditionalFlows", - "markdownDescription": "Threat protection configuration options for additional authentication types in your user pool, including custom authentication.", - "title": "AdvancedSecurityAdditionalFlows" - }, - "AdvancedSecurityMode": { - "markdownDescription": "The operating mode of threat protection for standard authentication types in your user pool, including username-password and secure remote password (SRP) authentication.", - "title": "AdvancedSecurityMode", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.UsernameConfiguration": { - "additionalProperties": false, - "properties": { - "CaseSensitive": { - "markdownDescription": "Specifies whether user name case sensitivity will be applied for all users in the user pool through Amazon Cognito APIs. For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, users can sign in as the same user when they enter a different capitalization of their user name.\n\nValid values include:\n\n- **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as \u201cUserName\u201d. This is the default value.\n- **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute.", - "title": "CaseSensitive", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.VerificationMessageTemplate": { - "additionalProperties": false, - "properties": { - "DefaultEmailOption": { - "markdownDescription": "The configuration of verification emails to contain a clickable link or a verification code.\n\nFor link, your template body must contain link text in the format `{##Click here##}` . \"Click here\" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` .", - "title": "DefaultEmailOption", - "type": "string" - }, - "EmailMessage": { - "markdownDescription": "The template for email messages that Amazon Cognito sends to your users. You can set an `EmailMessage` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", - "title": "EmailMessage", - "type": "string" - }, - "EmailMessageByLink": { - "markdownDescription": "The email message template for sending a confirmation link to the user. You can set an `EmailMessageByLink` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", - "title": "EmailMessageByLink", - "type": "string" - }, - "EmailSubject": { - "markdownDescription": "The subject line for the email message template. You can set an `EmailSubject` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", - "title": "EmailSubject", - "type": "string" - }, - "EmailSubjectByLink": { - "markdownDescription": "The subject line for the email message template for sending a confirmation link to the user. You can set an `EmailSubjectByLink` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", - "title": "EmailSubjectByLink", - "type": "string" - }, - "SmsMessage": { - "markdownDescription": "The template for SMS messages that Amazon Cognito sends to your users.", - "title": "SmsMessage", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolClient": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -82322,154 +82223,38 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessTokenValidity": { - "markdownDescription": "The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with\ntheir access token for 10 hours.\n\nThe default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your access\ntokens are valid for one hour.", - "title": "AccessTokenValidity", - "type": "number" - }, - "AllowedOAuthFlows": { - "items": { - "type": "string" - }, - "markdownDescription": "The OAuth grant types that you want your app client to generate for clients in managed login authentication. To create an app client that generates client credentials grants, you must add `client_credentials` as the only allowed OAuth flow.\n\n- **code** - Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the `/oauth2/token` endpoint.\n- **implicit** - Issue the access token, and the ID token when scopes like `openid` and `profile` are requested, directly to your user.\n- **client_credentials** - Issue the access token from the `/oauth2/token` endpoint directly to a non-person user, authorized by a combination of the client ID and client secret.", - "title": "AllowedOAuthFlows", - "type": "array" - }, - "AllowedOAuthFlowsUserPoolClient": { - "markdownDescription": "Set to `true` to use OAuth 2.0 authorization server features in your app client.\n\nThis parameter must have a value of `true` before you can configure the following features in your app client.\n\n- `CallBackURLs` : Callback URLs.\n- `LogoutURLs` : Sign-out redirect URLs.\n- `AllowedOAuthScopes` : OAuth 2.0 scopes.\n- `AllowedOAuthFlows` : Support for authorization code, implicit, and client credentials OAuth 2.0 grants.\n\nTo use authorization server features, configure one of these features in the Amazon Cognito console or set `AllowedOAuthFlowsUserPoolClient` to `true` in a `CreateUserPoolClient` or `UpdateUserPoolClient` API request. If you don't set a value for `AllowedOAuthFlowsUserPoolClient` in a request with the AWS CLI or SDKs, it defaults to `false` . When `false` , only SDK-based API sign-in is permitted.", - "title": "AllowedOAuthFlowsUserPoolClient", - "type": "boolean" - }, - "AllowedOAuthScopes": { - "items": { - "type": "string" - }, - "markdownDescription": "The OAuth, OpenID Connect (OIDC), and custom scopes that you want to permit your app client to authorize access with. Scopes govern access control to user pool self-service API operations, user data from the `userInfo` endpoint, and third-party APIs. Scope values include `phone` , `email` , `openid` , and `profile` . The `aws.cognito.signin.user.admin` scope authorizes user self-service operations. Custom scopes with resource servers authorize access to external APIs.", - "title": "AllowedOAuthScopes", - "type": "array" - }, - "AnalyticsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolClient.AnalyticsConfiguration", - "markdownDescription": "The user pool analytics configuration for collecting metrics and sending them to your Amazon Pinpoint campaign.\n\nIn AWS Regions where Amazon Pinpoint isn't available, user pools might not have access to analytics or might be configurable with campaigns in the US East (N. Virginia) Region. For more information, see [Using Amazon Pinpoint analytics](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-pinpoint-integration.html) .", - "title": "AnalyticsConfiguration" - }, - "AuthSessionValidity": { - "markdownDescription": "Amazon Cognito creates a session token for each API request in an authentication flow. `AuthSessionValidity` is the duration, in minutes, of that session token. Your user pool native user must respond to each authentication challenge before the session expires.", - "title": "AuthSessionValidity", - "type": "number" - }, - "CallbackURLs": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of allowed redirect, or callback, URLs for managed login authentication. These URLs are the paths where you want to send your users' browsers after they complete authentication with managed login or a third-party IdP. Typically, callback URLs are the home of an application that uses OAuth or OIDC libraries to process authentication outcomes.\n\nA redirect URI must meet the following requirements:\n\n- Be an absolute URI.\n- Be registered with the authorization server. Amazon Cognito doesn't accept authorization requests with `redirect_uri` values that aren't in the list of `CallbackURLs` that you provide in this parameter.\n- Not include a fragment component.\n\nSee [OAuth 2.0 - Redirection Endpoint](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2) .\n\nAmazon Cognito requires HTTPS over HTTP except for callback URLs to `http://localhost` , `http://127.0.0.1` and `http://[::1]` . These callback URLs are for testing purposes only. You can specify custom TCP ports for your callback URLs.\n\nApp callback URLs such as `myapp://example` are also supported.", - "title": "CallbackURLs", - "type": "array" - }, - "ClientName": { - "markdownDescription": "A friendly name for the app client that you want to create.", - "title": "ClientName", - "type": "string" - }, - "DefaultRedirectURI": { - "markdownDescription": "The default redirect URI. In app clients with one assigned IdP, replaces `redirect_uri` in authentication requests. Must be in the `CallbackURLs` list.", - "title": "DefaultRedirectURI", + "ConnectionName": { + "markdownDescription": "The name of the connection. Connection names must be unique in an AWS account .", + "title": "ConnectionName", "type": "string" }, - "EnablePropagateAdditionalUserContextData": { - "markdownDescription": "When `true` , your application can include additional `UserContextData` in authentication requests. This data includes the IP address, and contributes to analysis by threat protection features. For more information about propagation of user context data, see [Adding session data to API requests](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-adaptive-authentication.html#user-pool-settings-adaptive-authentication-device-fingerprint) . If you don\u2019t include this parameter, you can't send the source IP address to Amazon Cognito threat protection features. You can only activate `EnablePropagateAdditionalUserContextData` in an app client that has a client secret.", - "title": "EnablePropagateAdditionalUserContextData", - "type": "boolean" - }, - "EnableTokenRevocation": { - "markdownDescription": "Activates or deactivates token revocation.\n\nIf you don't include this parameter, token revocation is automatically activated for the new user pool client.", - "title": "EnableTokenRevocation", - "type": "boolean" - }, - "ExplicitAuthFlows": { - "items": { - "type": "string" - }, - "markdownDescription": "The [authentication flows](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow-methods.html) that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.\n\n> If you don't specify a value for `ExplicitAuthFlows` , your app client supports `ALLOW_REFRESH_TOKEN_AUTH` , `ALLOW_USER_SRP_AUTH` , and `ALLOW_CUSTOM_AUTH` . \n\nThe values for authentication flow options include the following.\n\n- `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` .\n\nTo activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.\n- `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.\n- `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication.\n- `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.\n- `ALLOW_USER_SRP_AUTH` : Enable SRP-based authentication.\n- `ALLOW_REFRESH_TOKEN_AUTH` : Enable authflow to refresh tokens.\n\nIn some environments, you will see the values `ADMIN_NO_SRP_AUTH` , `CUSTOM_AUTH_FLOW_ONLY` , or `USER_PASSWORD_AUTH` . You can't assign these legacy `ExplicitAuthFlows` values to user pool clients at the same time as values that begin with `ALLOW_` ,\nlike `ALLOW_USER_SRP_AUTH` .", - "title": "ExplicitAuthFlows", - "type": "array" - }, - "GenerateSecret": { - "markdownDescription": "When `true` , generates a client secret for the app client. Client secrets are used with server-side and machine-to-machine applications. Client secrets are automatically generated; you can't specify a secret value. For more information, see [App client types](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-client-apps.html#user-pool-settings-client-app-client-types) .", - "title": "GenerateSecret", - "type": "boolean" - }, - "IdTokenValidity": { - "markdownDescription": "The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for `IdTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours.\n\nThe default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your ID\ntokens are valid for one hour.", - "title": "IdTokenValidity", - "type": "number" - }, - "LogoutURLs": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of allowed logout URLs for managed login authentication. When you pass `logout_uri` and `client_id` parameters to `/logout` , Amazon Cognito signs out your user and redirects them to the logout URL. This parameter describes the URLs that you want to be the permitted targets of `logout_uri` . A typical use of these URLs is when a user selects \"Sign out\" and you redirect them to your public homepage. For more information, see [Logout endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/logout-endpoint.html) .", - "title": "LogoutURLs", - "type": "array" - }, - "PreventUserExistenceErrors": { - "markdownDescription": "Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool.\n\nValid values include:\n\n- `ENABLED` - This prevents user existence-related errors.\n- `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented.\n\nDefaults to `LEGACY` when you don't provide a value.", - "title": "PreventUserExistenceErrors", + "HostArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the host associated with the connection.", + "title": "HostArn", "type": "string" }, - "ReadAttributes": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information.\n\nWhen you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes.", - "title": "ReadAttributes", - "type": "array" - }, - "RefreshTokenRotation": { - "$ref": "#/definitions/AWS::Cognito::UserPoolClient.RefreshTokenRotation", - "markdownDescription": "The configuration of your app client for refresh token rotation. When enabled, your app client issues new ID, access, and refresh tokens when users renew their sessions with refresh tokens. When disabled, token refresh issues only ID and access tokens.", - "title": "RefreshTokenRotation" - }, - "RefreshTokenValidity": { - "markdownDescription": "The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session\nand retrieve new access and ID tokens for 10 days.\n\nThe default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your refresh\ntokens are valid for 30 days.", - "title": "RefreshTokenValidity", - "type": "number" - }, - "SupportedIdentityProviders": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: `COGNITO` , `Facebook` , `Google` , `SignInWithApple` , and `LoginWithAmazon` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example `MySAMLIdP` or `MyOIDCIdP` .\n\nThis parameter sets the IdPs that [managed login](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html) will display on the login page for your app client. The removal of `COGNITO` from this list doesn't prevent authentication operations for local users with the user pools API in an AWS SDK. The only way to prevent SDK-based authentication is to block access with a [AWS WAF rule](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-waf.html) .", - "title": "SupportedIdentityProviders", - "type": "array" - }, - "TokenValidityUnits": { - "$ref": "#/definitions/AWS::Cognito::UserPoolClient.TokenValidityUnits", - "markdownDescription": "The units that validity times are represented in. The default unit for refresh tokens is days, and the default for ID and access tokens are hours.", - "title": "TokenValidityUnits" - }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool where you want to create an app client.", - "title": "UserPoolId", + "ProviderType": { + "markdownDescription": "The name of the external provider where your third-party code repository is configured.", + "title": "ProviderType", "type": "string" }, - "WriteAttributes": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The list of user attributes that you want your app client to have write access to. After your user authenticates in your app, their access token authorizes them to set or modify their own attribute value for any attribute in this list.\n\nWhen you don't specify the `WriteAttributes` for your app client, your app can write the values of the Standard attributes of your user pool. When your user pool has write access to these default attributes, `WriteAttributes` doesn't return any information. Amazon Cognito only populates `WriteAttributes` in the API response if you have specified your own custom set of write attributes.\n\nIf your app client allows users to sign in through an IdP, this array must include all attributes that you have mapped to IdP attributes. Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If your app client does not have write access to a mapped attribute, Amazon Cognito throws an error when it tries to update the attribute. For more information, see [Specifying IdP Attribute Mappings for Your user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html) .", - "title": "WriteAttributes", + "markdownDescription": "", + "title": "Tags", "type": "array" } }, "required": [ - "UserPoolId" + "ConnectionName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolClient" + "AWS::CodeConnections::Connection" ], "type": "string" }, @@ -82488,75 +82273,7 @@ ], "type": "object" }, - "AWS::Cognito::UserPoolClient.AnalyticsConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications", - "title": "ApplicationArn", - "type": "string" - }, - "ApplicationId": { - "markdownDescription": "Your Amazon Pinpoint project ID.", - "title": "ApplicationId", - "type": "string" - }, - "ExternalId": { - "markdownDescription": "The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint.", - "title": "ExternalId", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics.", - "title": "RoleArn", - "type": "string" - }, - "UserDataShared": { - "markdownDescription": "If `UserDataShared` is `true` , Amazon Cognito includes user data in the events that it publishes to Amazon Pinpoint analytics.", - "title": "UserDataShared", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolClient.RefreshTokenRotation": { - "additionalProperties": false, - "properties": { - "Feature": { - "markdownDescription": "The state of refresh token rotation for the current app client.", - "title": "Feature", - "type": "string" - }, - "RetryGracePeriodSeconds": { - "markdownDescription": "When you request a token refresh with `GetTokensFromRefreshToken` , the original refresh token that you're rotating out can remain valid for a period of time of up to 60 seconds. This allows for client-side retries. When `RetryGracePeriodSeconds` is `0` , the grace period is disabled and a successful request immediately invalidates the submitted refresh token.", - "title": "RetryGracePeriodSeconds", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolClient.TokenValidityUnits": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "markdownDescription": "A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day.", - "title": "AccessToken", - "type": "string" - }, - "IdToken": { - "markdownDescription": "A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day.", - "title": "IdToken", - "type": "string" - }, - "RefreshToken": { - "markdownDescription": "A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years.", - "title": "RefreshToken", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolDomain": { + "AWS::CodeConnections::Host": { "additionalProperties": false, "properties": { "Condition": { @@ -82591,39 +82308,35 @@ "Properties": { "additionalProperties": false, "properties": { - "CustomDomainConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType", - "markdownDescription": "The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM.\n\nWhen you create a custom domain, the passkey RP ID defaults to the custom domain. If you had a prefix domain active, this will cause passkey integration for your prefix domain to stop working due to a mismatch in RP ID. To keep the prefix domain passkey integration working, you can explicitly set RP ID to the prefix domain.", - "title": "CustomDomainConfig" + "Name": { + "type": "string" }, - "Domain": { - "markdownDescription": "The name of the domain that you want to update. For custom domains, this is the fully-qualified domain name, for example `auth.example.com` . For prefix domains, this is the prefix alone, such as `myprefix` .", - "title": "Domain", + "ProviderEndpoint": { "type": "string" }, - "ManagedLoginVersion": { - "markdownDescription": "A version number that indicates the state of managed login for your domain. Version `1` is hosted UI (classic). Version `2` is the newer managed login with the branding editor. For more information, see [Managed login](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html) .", - "title": "ManagedLoginVersion", - "type": "number" + "ProviderType": { + "type": "string" }, - "Routing": { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.RoutingType" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool that is associated with the domain you're updating.", - "title": "UserPoolId", - "type": "string" + "VpcConfiguration": { + "$ref": "#/definitions/AWS::CodeConnections::Host.VpcConfiguration" } }, "required": [ - "Domain", - "UserPoolId" + "Name", + "ProviderEndpoint", + "ProviderType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolDomain" + "AWS::CodeConnections::Host" ], "type": "string" }, @@ -82642,46 +82355,36 @@ ], "type": "object" }, - "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { + "AWS::CodeConnections::Host.VpcConfiguration": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an Certificate Manager SSL certificate. You use this certificate for the subdomain of your custom domain.", - "title": "CertificateArn", - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "SecurityPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolDomain.FailoverType": { - "additionalProperties": false, - "properties": { - "PrimaryRoute53HealthCheckId": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TlsCertificate": { "type": "string" }, - "SecondaryRegion": { + "VpcId": { "type": "string" } }, "required": [ - "PrimaryRoute53HealthCheckId", - "SecondaryRegion" + "SecurityGroupIds", + "SubnetIds", + "VpcId" ], "type": "object" }, - "AWS::Cognito::UserPoolDomain.RoutingType": { - "additionalProperties": false, - "properties": { - "Failover": { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.FailoverType" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolGroup": { + "AWS::CodeDeploy::Application": { "additionalProperties": false, "properties": { "Condition": { @@ -82716,40 +82419,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description of the group that you're creating.", - "title": "Description", - "type": "string" - }, - "GroupName": { - "markdownDescription": "A name for the group. This name must be unique in your user pool.", - "title": "GroupName", + "ApplicationName": { + "markdownDescription": "A name for the application. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the application name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> Updates to `ApplicationName` are not supported.", + "title": "ApplicationName", "type": "string" }, - "Precedence": { - "markdownDescription": "A non-negative integer value that specifies the precedence of this group relative to the other groups that a user can belong to in the user pool. Zero is the highest precedence value. Groups with lower `Precedence` values take precedence over groups with higher or null `Precedence` values. If a user belongs to two or more groups, it is the group with the lowest precedence value whose role ARN is given in the user's tokens for the `cognito:roles` and `cognito:preferred_role` claims.\n\nTwo groups can have the same `Precedence` value. If this happens, neither group takes precedence over the other. If two groups with the same `Precedence` have the same role ARN, that role is used in the `cognito:preferred_role` claim in tokens for users in each group. If the two groups have different role ARNs, the `cognito:preferred_role` claim isn't set in users' tokens.\n\nThe default `Precedence` value is null. The maximum `Precedence` value is `2^31-1` .", - "title": "Precedence", - "type": "number" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the IAM role that you want to associate with the group. A group role primarily declares a preferred role for the credentials that you get from an identity pool. Amazon Cognito ID tokens have a `cognito:preferred_role` claim that presents the highest-precedence group that a user belongs to. Both ID and access tokens also contain a `cognito:groups` claim that list all the groups that a user is a member of.", - "title": "RoleArn", + "ComputePlatform": { + "markdownDescription": "The compute platform that CodeDeploy deploys the application to.", + "title": "ComputePlatform", "type": "string" }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool where you want to create a user group.", - "title": "UserPoolId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The metadata that you apply to CodeDeploy applications to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.", + "title": "Tags", + "type": "array" } }, - "required": [ - "UserPoolId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolGroup" + "AWS::CodeDeploy::Application" ], "type": "string" }, @@ -82763,12 +82456,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Cognito::UserPoolIdentityProvider": { + "AWS::CodeDeploy::DeploymentConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -82803,63 +82495,37 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributeMapping": { - "additionalProperties": true, - "markdownDescription": "A mapping of IdP attributes to standard and custom user pool attributes. Specify a user pool attribute as the key of the key-value pair, and the IdP attribute claim name as the value.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "AttributeMapping", - "type": "object" - }, - "IdpIdentifiers": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of IdP identifiers, for example `\"IdPIdentifiers\": [ \"MyIdP\", \"MyIdP2\" ]` . Identifiers are friendly names that you can pass in the `idp_identifier` query parameter of requests to the [Authorize endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html) to silently redirect to sign-in with the associated IdP. Identifiers in a domain format also enable the use of [email-address matching with SAML providers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managing-saml-idp-naming.html) .", - "title": "IdpIdentifiers", - "type": "array" - }, - "ProviderDetails": { - "additionalProperties": true, - "markdownDescription": "The scopes, URLs, and identifiers for your external identity provider. The following\nexamples describe the provider detail keys for each IdP type. These values and their\nschema are subject to change. Social IdP `authorize_scopes` values must match\nthe values listed here.\n\n- **OpenID Connect (OIDC)** - Amazon Cognito accepts the following elements when it can't discover endpoint URLs from `oidc_issuer` : `attributes_url` , `authorize_url` , `jwks_uri` , `token_url` .\n\nCreate or update request: `\"ProviderDetails\": { \"attributes_request_method\": \"GET\", \"attributes_url\": \"https://auth.example.com/userInfo\", \"authorize_scopes\": \"openid profile email\", \"authorize_url\": \"https://auth.example.com/authorize\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"jwks_uri\": \"https://auth.example.com/.well-known/jwks.json\", \"oidc_issuer\": \"https://auth.example.com\", \"token_url\": \"https://example.com/token\" }`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_request_method\": \"GET\", \"attributes_url\": \"https://auth.example.com/userInfo\", \"attributes_url_add_attributes\": \"false\", \"authorize_scopes\": \"openid profile email\", \"authorize_url\": \"https://auth.example.com/authorize\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"jwks_uri\": \"https://auth.example.com/.well-known/jwks.json\", \"oidc_issuer\": \"https://auth.example.com\", \"token_url\": \"https://example.com/token\" }`\n- **SAML** - Create or update request with Metadata URL: `\"ProviderDetails\": { \"IDPInit\": \"true\", \"IDPSignout\": \"true\", \"EncryptedResponses\" : \"true\", \"MetadataURL\": \"https://auth.example.com/sso/saml/metadata\", \"RequestSigningAlgorithm\": \"rsa-sha256\" }`\n\nCreate or update request with Metadata file: `\"ProviderDetails\": { \"IDPInit\": \"true\", \"IDPSignout\": \"true\", \"EncryptedResponses\" : \"true\", \"MetadataFile\": \"[metadata XML]\", \"RequestSigningAlgorithm\": \"rsa-sha256\" }`\n\nThe value of `MetadataFile` must be the plaintext metadata document with all quote (\") characters escaped by backslashes.\n\nDescribe response: `\"ProviderDetails\": { \"IDPInit\": \"true\", \"IDPSignout\": \"true\", \"EncryptedResponses\" : \"true\", \"ActiveEncryptionCertificate\": \"[certificate]\", \"MetadataURL\": \"https://auth.example.com/sso/saml/metadata\", \"RequestSigningAlgorithm\": \"rsa-sha256\", \"SLORedirectBindingURI\": \"https://auth.example.com/slo/saml\", \"SSORedirectBindingURI\": \"https://auth.example.com/sso/saml\" }`\n- **LoginWithAmazon** - Create or update request: `\"ProviderDetails\": { \"authorize_scopes\": \"profile postal_code\", \"client_id\": \"amzn1.application-oa2-client.1example23456789\", \"client_secret\": \"provider-app-client-secret\"`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_url\": \"https://api.amazon.com/user/profile\", \"attributes_url_add_attributes\": \"false\", \"authorize_scopes\": \"profile postal_code\", \"authorize_url\": \"https://www.amazon.com/ap/oa\", \"client_id\": \"amzn1.application-oa2-client.1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"token_request_method\": \"POST\", \"token_url\": \"https://api.amazon.com/auth/o2/token\" }`\n- **Google** - Create or update request: `\"ProviderDetails\": { \"authorize_scopes\": \"email profile openid\", \"client_id\": \"1example23456789.apps.googleusercontent.com\", \"client_secret\": \"provider-app-client-secret\" }`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_url\": \"https://people.googleapis.com/v1/people/me?personFields=\", \"attributes_url_add_attributes\": \"true\", \"authorize_scopes\": \"email profile openid\", \"authorize_url\": \"https://accounts.google.com/o/oauth2/v2/auth\", \"client_id\": \"1example23456789.apps.googleusercontent.com\", \"client_secret\": \"provider-app-client-secret\", \"oidc_issuer\": \"https://accounts.google.com\", \"token_request_method\": \"POST\", \"token_url\": \"https://www.googleapis.com/oauth2/v4/token\" }`\n- **SignInWithApple** - Create or update request: `\"ProviderDetails\": { \"authorize_scopes\": \"email name\", \"client_id\": \"com.example.cognito\", \"private_key\": \"1EXAMPLE\", \"key_id\": \"2EXAMPLE\", \"team_id\": \"3EXAMPLE\" }`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_url_add_attributes\": \"false\", \"authorize_scopes\": \"email name\", \"authorize_url\": \"https://appleid.apple.com/auth/authorize\", \"client_id\": \"com.example.cognito\", \"key_id\": \"1EXAMPLE\", \"oidc_issuer\": \"https://appleid.apple.com\", \"team_id\": \"2EXAMPLE\", \"token_request_method\": \"POST\", \"token_url\": \"https://appleid.apple.com/auth/token\" }`\n- **Facebook** - Create or update request: `\"ProviderDetails\": { \"api_version\": \"v17.0\", \"authorize_scopes\": \"public_profile, email\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\" }`\n\nDescribe response: `\"ProviderDetails\": { \"api_version\": \"v17.0\", \"attributes_url\": \"https://graph.facebook.com/v17.0/me?fields=\", \"attributes_url_add_attributes\": \"true\", \"authorize_scopes\": \"public_profile, email\", \"authorize_url\": \"https://www.facebook.com/v17.0/dialog/oauth\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"token_request_method\": \"GET\", \"token_url\": \"https://graph.facebook.com/v17.0/oauth/access_token\" }`", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ProviderDetails", - "type": "object" - }, - "ProviderName": { - "markdownDescription": "The name that you want to assign to the IdP. You can pass the identity provider name in the `identity_provider` query parameter of requests to the [Authorize endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html) to silently redirect to sign-in with the associated IdP.", - "title": "ProviderName", + "ComputePlatform": { + "markdownDescription": "The destination platform type for the deployment ( `Lambda` , `Server` , or `ECS` ).", + "title": "ComputePlatform", "type": "string" }, - "ProviderType": { - "markdownDescription": "The type of IdP that you want to add. Amazon Cognito supports OIDC, SAML 2.0, Login With Amazon, Sign In With Apple, Google, and Facebook IdPs.", - "title": "ProviderType", + "DeploymentConfigName": { + "markdownDescription": "A name for the deployment configuration. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the deployment configuration name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "DeploymentConfigName", "type": "string" }, - "UserPoolId": { - "markdownDescription": "The Id of the user pool where you want to create an IdP.", - "title": "UserPoolId", - "type": "string" + "MinimumHealthyHosts": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts", + "markdownDescription": "The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value.\n\nThe type parameter takes either of the following values:\n\n- HOST_COUNT: The value parameter represents the minimum number of healthy instances as an absolute value.\n- FLEET_PERCENT: The value parameter represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances.\n\nThe value parameter takes an integer.\n\nFor example, to set a minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of 95.\n\nFor more information about instance health, see [CodeDeploy Instance Health](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-health.html) in the AWS CodeDeploy User Guide.", + "title": "MinimumHealthyHosts" + }, + "TrafficRoutingConfig": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TrafficRoutingConfig", + "markdownDescription": "The configuration that specifies how the deployment traffic is routed.", + "title": "TrafficRoutingConfig" + }, + "ZonalConfig": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.ZonalConfig", + "markdownDescription": "Configure the `ZonalConfig` object if you want AWS CodeDeploy to deploy your application to one [Availability Zone](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones) at a time, within an AWS Region.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", + "title": "ZonalConfig" } }, - "required": [ - "ProviderDetails", - "ProviderName", - "ProviderType", - "UserPoolId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolIdentityProvider" + "AWS::CodeDeploy::DeploymentConfig" ], "type": "string" }, @@ -82873,266 +82539,136 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment": { + "AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts": { "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": { - "EmailConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.EmailConfiguration" - }, - "LambdaConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.LambdaConfig" - }, - "SmsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.SmsConfiguration" - }, - "Status": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - }, - "UserPoolTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, "Type": { - "enum": [ - "AWS::Cognito::UserPoolRegionalConfigurationAttachment" - ], + "markdownDescription": "The minimum healthy instance type:\n\n- HOST_COUNT: The minimum number of healthy instance as an absolute value.\n- FLEET_PERCENT: The minimum number of healthy instance as a percentage of the total number of instance in the deployment.\n\nIn an example of nine instance, if a HOST_COUNT of six is specified, deploy to up to three instances at a time. The deployment is successful if six or more instances are deployed to successfully. Otherwise, the deployment fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instance at a time. The deployment is successful if four or more instance are deployed to successfully. Otherwise, the deployment fails.\n\n> In a call to `GetDeploymentConfig` , CodeDeployDefault.OneAtATime returns a minimum healthy instance type of MOST_CONCURRENCY and a value of 1. This means a deployment to only one instance at a time. (You cannot set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy attempts to ensure that all instances but one are kept in a healthy state during the deployment. Although this allows one instance at a time to be taken offline for a new deployment, it also means that if the deployment to the last instance fails, the overall deployment is still successful. \n\nFor more information, see [AWS CodeDeploy Instance Health](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html) in the *AWS CodeDeploy User Guide* .", + "title": "Type", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Value": { + "markdownDescription": "The minimum healthy instance value.", + "title": "Value", + "type": "number" } }, "required": [ "Type", - "Properties" + "Value" ], "type": "object" }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomEmailSender": { + "AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHostsPerZone": { "additionalProperties": false, "properties": { - "LambdaArn": { + "Type": { + "markdownDescription": "The `type` associated with the `MinimumHealthyHostsPerZone` option.", + "title": "Type", "type": "string" }, - "LambdaVersion": { - "type": "string" + "Value": { + "markdownDescription": "The `value` associated with the `MinimumHealthyHostsPerZone` option.", + "title": "Value", + "type": "number" } }, + "required": [ + "Type", + "Value" + ], "type": "object" }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomSMSSender": { + "AWS::CodeDeploy::DeploymentConfig.TimeBasedCanary": { "additionalProperties": false, "properties": { - "LambdaArn": { - "type": "string" + "CanaryInterval": { + "markdownDescription": "The number of minutes between the first and second traffic shifts of a `TimeBasedCanary` deployment.", + "title": "CanaryInterval", + "type": "number" }, - "LambdaVersion": { - "type": "string" + "CanaryPercentage": { + "markdownDescription": "The percentage of traffic to shift in the first increment of a `TimeBasedCanary` deployment.", + "title": "CanaryPercentage", + "type": "number" } }, + "required": [ + "CanaryInterval", + "CanaryPercentage" + ], "type": "object" }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.EmailConfiguration": { + "AWS::CodeDeploy::DeploymentConfig.TimeBasedLinear": { "additionalProperties": false, "properties": { - "ConfigurationSet": { - "type": "string" - }, - "EmailSendingAccount": { - "type": "string" - }, - "From": { - "type": "string" - }, - "ReplyToEmailAddress": { - "type": "string" + "LinearInterval": { + "markdownDescription": "The number of minutes between each incremental traffic shift of a `TimeBasedLinear` deployment.", + "title": "LinearInterval", + "type": "number" }, - "SourceArn": { - "type": "string" + "LinearPercentage": { + "markdownDescription": "The percentage of traffic that is shifted at the start of each increment of a `TimeBasedLinear` deployment.", + "title": "LinearPercentage", + "type": "number" } }, + "required": [ + "LinearInterval", + "LinearPercentage" + ], "type": "object" }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.EumsSmsConfiguration": { + "AWS::CodeDeploy::DeploymentConfig.TrafficRoutingConfig": { "additionalProperties": false, "properties": { - "CallerArn": { - "type": "string" - }, - "ConfigurationSetName": { - "type": "string" - }, - "ExternalId": { - "type": "string" - }, - "InEntityId": { - "type": "string" - }, - "InTemplateId": { - "type": "string" + "TimeBasedCanary": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TimeBasedCanary", + "markdownDescription": "A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in two increments. The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.", + "title": "TimeBasedCanary" }, - "OriginationIdentity": { - "type": "string" + "TimeBasedLinear": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TimeBasedLinear", + "markdownDescription": "A configuration that shifts traffic from one version of a Lambda function or Amazon ECS task set to another in equal increments, with an equal number of minutes between each increment. The original and target Lambda function versions or Amazon ECS task sets are specified in the deployment's AppSpec file.", + "title": "TimeBasedLinear" }, - "Region": { + "Type": { + "markdownDescription": "The type of traffic shifting ( `TimeBasedCanary` or `TimeBasedLinear` ) used by a deployment configuration.", + "title": "Type", "type": "string" } }, "required": [ - "CallerArn" + "Type" ], "type": "object" }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.InboundFederation": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.LambdaConfig": { - "additionalProperties": false, - "properties": { - "CreateAuthChallenge": { - "type": "string" - }, - "CustomEmailSender": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomEmailSender" - }, - "CustomMessage": { - "type": "string" - }, - "CustomSMSSender": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomSMSSender" - }, - "DefineAuthChallenge": { - "type": "string" - }, - "InboundFederation": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.InboundFederation" - }, - "KMSKeyID": { - "type": "string" - }, - "PostAuthentication": { - "type": "string" - }, - "PostConfirmation": { - "type": "string" - }, - "PreAuthentication": { - "type": "string" - }, - "PreSignUp": { - "type": "string" - }, - "PreTokenGeneration": { - "type": "string" - }, - "PreTokenGenerationConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.PreTokenGenerationConfig" - }, - "UserMigration": { - "type": "string" - }, - "VerifyAuthChallengeResponse": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.PreTokenGenerationConfig": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.SmsConfiguration": { + "AWS::CodeDeploy::DeploymentConfig.ZonalConfig": { "additionalProperties": false, "properties": { - "EumsSms": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.EumsSmsConfiguration" - }, - "ExternalId": { - "type": "string" + "FirstZoneMonitorDurationInSeconds": { + "markdownDescription": "The period of time, in seconds, that CodeDeploy must wait after completing a deployment to the *first* Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the second Availability Zone. You might set this option if you want to allow extra bake time for the first Availability Zone. If you don't specify a value for `firstZoneMonitorDurationInSeconds` , then CodeDeploy uses the `monitorDurationInSeconds` value for the first Availability Zone.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", + "title": "FirstZoneMonitorDurationInSeconds", + "type": "number" }, - "SnsCallerArn": { - "type": "string" + "MinimumHealthyHostsPerZone": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHostsPerZone", + "markdownDescription": "The number or percentage of instances that must remain available per Availability Zone during a deployment. This option works in conjunction with the `MinimumHealthyHosts` option. For more information, see [About the minimum number of healthy hosts per Availability Zone](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html#minimum-healthy-hosts-az) in the *CodeDeploy User Guide* .\n\nIf you don't specify the `minimumHealthyHostsPerZone` option, then CodeDeploy uses a default value of `0` percent.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", + "title": "MinimumHealthyHostsPerZone" }, - "SnsRegion": { - "type": "string" + "MonitorDurationInSeconds": { + "markdownDescription": "The period of time, in seconds, that CodeDeploy must wait after completing a deployment to an Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the next Availability Zone. Consider adding a monitor duration to give the deployment some time to prove itself (or 'bake') in one Availability Zone before it is released in the next zone. If you don't specify a `monitorDurationInSeconds` , CodeDeploy starts deploying to the next Availability Zone immediately.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", + "title": "MonitorDurationInSeconds", + "type": "number" } }, "type": "object" }, - "AWS::Cognito::UserPoolReplica": { + "AWS::CodeDeploy::DeploymentGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -83167,31 +82703,134 @@ "Properties": { "additionalProperties": false, "properties": { - "RegionName": { + "AlarmConfiguration": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration", + "markdownDescription": "Information about the Amazon CloudWatch alarms that are associated with the deployment group.", + "title": "AlarmConfiguration" + }, + "ApplicationName": { + "markdownDescription": "The name of an existing CodeDeploy application to associate this deployment group with.", + "title": "ApplicationName", "type": "string" }, - "UserPoolId": { + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration", + "markdownDescription": "Information about the automatic rollback configuration that is associated with the deployment group. If you specify this property, don't specify the `Deployment` property.", + "title": "AutoRollbackConfiguration" + }, + "AutoScalingGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of associated Auto Scaling groups that CodeDeploy automatically deploys revisions to when new instances are created. Duplicates are not allowed.", + "title": "AutoScalingGroups", + "type": "array" + }, + "BlueGreenDeploymentConfiguration": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.BlueGreenDeploymentConfiguration", + "markdownDescription": "Information about blue/green deployment options for a deployment group.", + "title": "BlueGreenDeploymentConfiguration" + }, + "Deployment": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Deployment", + "markdownDescription": "The application revision to deploy to this deployment group. If you specify this property, your target application revision is deployed as soon as the provisioning process is complete. If you specify this property, don't specify the `AutoRollbackConfiguration` property.", + "title": "Deployment" + }, + "DeploymentConfigName": { + "markdownDescription": "A deployment configuration name or a predefined configuration name. With predefined configurations, you can deploy application revisions to one instance at a time ( `CodeDeployDefault.OneAtATime` ), half of the instances at a time ( `CodeDeployDefault.HalfAtATime` ), or all the instances at once ( `CodeDeployDefault.AllAtOnce` ). For more information and valid values, see [Working with Deployment Configurations](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) in the *AWS CodeDeploy User Guide* .", + "title": "DeploymentConfigName", "type": "string" }, - "UserPoolTagsAtCreate": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "DeploymentGroupName": { + "markdownDescription": "A name for the deployment group. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the deployment group name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "DeploymentGroupName", + "type": "string" + }, + "DeploymentStyle": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.DeploymentStyle", + "markdownDescription": "Attributes that determine the type of deployment to run and whether to route deployment traffic behind a load balancer.\n\nIf you specify this property with a blue/green deployment type, don't specify the `AutoScalingGroups` , `LoadBalancerInfo` , or `Deployment` properties.\n\n> For blue/green deployments, CloudFormation supports deployments on Lambda compute platforms only. You can perform Amazon ECS blue/green deployments using `AWS::CodeDeploy::BlueGreen` hook. See [Perform Amazon ECS blue/green deployments through CodeDeploy using CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html) for more information.", + "title": "DeploymentStyle" + }, + "ECSServices": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.ECSService" }, - "type": "object" + "markdownDescription": "The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format `:` .", + "title": "ECSServices", + "type": "array" + }, + "Ec2TagFilters": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagFilter" + }, + "markdownDescription": "The Amazon EC2 tags that are already applied to Amazon EC2 instances that you want to include in the deployment group. CodeDeploy includes all Amazon EC2 instances identified by any of the tags you specify in this deployment group. Duplicates are not allowed.\n\nYou can specify `EC2TagFilters` or `Ec2TagSet` , but not both.", + "title": "Ec2TagFilters", + "type": "array" + }, + "Ec2TagSet": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagSet", + "markdownDescription": "Information about groups of tags applied to Amazon EC2 instances. The deployment group includes only Amazon EC2 instances identified by all the tag groups. Cannot be used in the same call as `ec2TagFilter` .", + "title": "Ec2TagSet" + }, + "LoadBalancerInfo": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.LoadBalancerInfo", + "markdownDescription": "Information about the load balancer to use in a deployment. For more information, see [Integrating CodeDeploy with Elastic Load Balancing](https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-elastic-load-balancing.html) in the *AWS CodeDeploy User Guide* .", + "title": "LoadBalancerInfo" + }, + "OnPremisesInstanceTagFilters": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" + }, + "markdownDescription": "The on-premises instance tags already applied to on-premises instances that you want to include in the deployment group. CodeDeploy includes all on-premises instances identified by any of the tags you specify in this deployment group. To register on-premises instances with CodeDeploy , see [Working with On-Premises Instances for CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-on-premises.html) in the *AWS CodeDeploy User Guide* . Duplicates are not allowed.\n\nYou can specify `OnPremisesInstanceTagFilters` or `OnPremisesInstanceTagSet` , but not both.", + "title": "OnPremisesInstanceTagFilters", + "type": "array" + }, + "OnPremisesTagSet": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet", + "markdownDescription": "Information about groups of tags applied to on-premises instances. The deployment group includes only on-premises instances identified by all the tag groups.\n\nYou can specify `OnPremisesInstanceTagFilters` or `OnPremisesInstanceTagSet` , but not both.", + "title": "OnPremisesTagSet" + }, + "OutdatedInstancesStrategy": { + "markdownDescription": "Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision.\n\nIf this option is set to `UPDATE` or is unspecified, CodeDeploy initiates one or more 'auto-update outdated instances' deployments to apply the deployed application revision to the new Amazon EC2 instances.\n\nIf this option is set to `IGNORE` , CodeDeploy does not initiate a deployment to update the new Amazon EC2 instances. This may result in instances having different revisions.", + "title": "OutdatedInstancesStrategy", + "type": "string" + }, + "ServiceRoleArn": { + "markdownDescription": "A service role Amazon Resource Name (ARN) that grants CodeDeploy permission to make calls to AWS services on your behalf. For more information, see [Create a Service Role for AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-create-service-role.html) in the *AWS CodeDeploy User Guide* .\n\n> In some cases, you might need to add a dependency on the service role's policy. For more information, see IAM role policy in [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) .", + "title": "ServiceRoleArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.", + "title": "Tags", + "type": "array" + }, + "TerminationHookEnabled": { + "markdownDescription": "Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.\n\nFor more information about the termination hook, see [How Amazon EC2 Auto Scaling works with CodeDeploy](https://docs.aws.amazon.com//codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors) in the *AWS CodeDeploy User Guide* .", + "title": "TerminationHookEnabled", + "type": "boolean" + }, + "TriggerConfigurations": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" + }, + "markdownDescription": "Information about triggers associated with the deployment group. Duplicates are not allowed", + "title": "TriggerConfigurations", + "type": "array" } }, "required": [ - "RegionName", - "UserPoolId" + "ApplicationName", + "ServiceRoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolReplica" + "AWS::CodeDeploy::DeploymentGroup" ], "type": "string" }, @@ -83210,383 +82849,473 @@ ], "type": "object" }, - "AWS::Cognito::UserPoolResourceServer": { + "AWS::CodeDeploy::DeploymentGroup.Alarm": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "markdownDescription": "The name of the alarm. Maximum length is 255 characters. Each alarm name can be used only once in a list of alarms.", + "title": "Name", "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Alarm" + }, + "markdownDescription": "A list of alarms configured for the deployment or deployment group. A maximum of 10 alarms can be added.", + "title": "Alarms", + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Enabled": { + "markdownDescription": "Indicates whether the alarm configuration is enabled.", + "title": "Enabled", + "type": "boolean" }, - "Metadata": { - "type": "object" + "IgnorePollAlarmFailure": { + "markdownDescription": "Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from Amazon CloudWatch . The default value is `false` .\n\n- `true` : The deployment proceeds even if alarm status information can't be retrieved from CloudWatch .\n- `false` : The deployment stops if alarm status information can't be retrieved from CloudWatch .", + "title": "IgnorePollAlarmFailure", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "Indicates whether a defined automatic rollback configuration is currently enabled.", + "title": "Enabled", + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Identifier": { - "markdownDescription": "A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier.\n\nAmazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens.", - "title": "Identifier", - "type": "string" - }, - "Name": { - "markdownDescription": "A friendly name for the resource server.", - "title": "Name", - "type": "string" - }, - "Scopes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" - }, - "markdownDescription": "A list of scopes. Each scope is a map with keys `ScopeName` and `ScopeDescription` .", - "title": "Scopes", - "type": "array" - }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool where you want to create a resource server.", - "title": "UserPoolId", - "type": "string" - } + "Events": { + "items": { + "type": "string" }, - "required": [ - "Identifier", - "Name", - "UserPoolId" - ], - "type": "object" + "markdownDescription": "The event type or types that trigger a rollback. Valid values are `DEPLOYMENT_FAILURE` , `DEPLOYMENT_STOP_ON_ALARM` , or `DEPLOYMENT_STOP_ON_REQUEST` .", + "title": "Events", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.BlueGreenDeploymentConfiguration": { + "additionalProperties": false, + "properties": { + "DeploymentReadyOption": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.DeploymentReadyOption", + "markdownDescription": "Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment.", + "title": "DeploymentReadyOption" }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolResourceServer" - ], - "type": "string" + "GreenFleetProvisioningOption": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GreenFleetProvisioningOption", + "markdownDescription": "Information about how instances are provisioned for a replacement environment in a blue/green deployment.", + "title": "GreenFleetProvisioningOption" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "TerminateBlueInstancesOnDeploymentSuccess": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.BlueInstanceTerminationOption", + "markdownDescription": "Information about whether to terminate instances in the original fleet during a blue/green deployment.", + "title": "TerminateBlueInstancesOnDeploymentSuccess" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { + "AWS::CodeDeploy::DeploymentGroup.BlueInstanceTerminationOption": { "additionalProperties": false, "properties": { - "ScopeDescription": { - "markdownDescription": "A friendly description of a custom scope.", - "title": "ScopeDescription", + "Action": { + "markdownDescription": "The action to take on instances in the original environment after a successful blue/green deployment.\n\n- `TERMINATE` : Instances are terminated after a specified wait time.\n- `KEEP_ALIVE` : Instances are left running after they are deregistered from the load balancer and removed from the deployment group.", + "title": "Action", "type": "string" }, - "ScopeName": { - "markdownDescription": "The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` .", - "title": "ScopeName", + "TerminationWaitTimeInMinutes": { + "markdownDescription": "For an Amazon EC2 deployment, the number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.\n\nFor an Amazon ECS deployment, the number of minutes before deleting the original (blue) task set. During an Amazon ECS deployment, CodeDeploy shifts traffic from the original (blue) task set to a replacement (green) task set.\n\nThe maximum setting is 2880 minutes (2 days).", + "title": "TerminationWaitTimeInMinutes", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.Deployment": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "A comment about the deployment.", + "title": "Description", "type": "string" + }, + "IgnoreApplicationStopFailures": { + "markdownDescription": "If true, then if an `ApplicationStop` , `BeforeBlockTraffic` , or `AfterBlockTraffic` deployment lifecycle event to an instance fails, then the deployment continues to the next deployment lifecycle event. For example, if `ApplicationStop` fails, the deployment continues with DownloadBundle. If `BeforeBlockTraffic` fails, the deployment continues with `BlockTraffic` . If `AfterBlockTraffic` fails, the deployment continues with `ApplicationStop` .\n\nIf false or not specified, then if a lifecycle event fails during a deployment to an instance, that deployment fails. If deployment to that instance is part of an overall deployment and the number of healthy hosts is not less than the minimum number of healthy hosts, then a deployment to the next instance is attempted.\n\nDuring a deployment, the AWS CodeDeploy agent runs the scripts specified for `ApplicationStop` , `BeforeBlockTraffic` , and `AfterBlockTraffic` in the AppSpec file from the previous successful deployment. (All other scripts are run from the AppSpec file in the current deployment.) If one of these scripts contains an error and does not run successfully, the deployment can fail.\n\nIf the cause of the failure is a script from the last successful deployment that will never run successfully, create a new deployment and use `ignoreApplicationStopFailures` to specify that the `ApplicationStop` , `BeforeBlockTraffic` , and `AfterBlockTraffic` failures should be ignored.", + "title": "IgnoreApplicationStopFailures", + "type": "boolean" + }, + "Revision": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.RevisionLocation", + "markdownDescription": "Information about the location of stored application artifacts and the service from which to retrieve them.", + "title": "Revision" } }, "required": [ - "ScopeDescription", - "ScopeName" + "Revision" ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment": { + "AWS::CodeDeploy::DeploymentGroup.DeploymentReadyOption": { "additionalProperties": false, "properties": { - "Condition": { + "ActionOnTimeout": { + "markdownDescription": "Information about when to reroute traffic from an original environment to a replacement environment in a blue/green deployment.\n\n- CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.\n- STOP_DEPLOYMENT: Do not register new instances with a load balancer unless traffic rerouting is started using [ContinueDeployment](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ContinueDeployment.html) . If traffic rerouting is not started before the end of the specified wait period, the deployment status is changed to Stopped.", + "title": "ActionOnTimeout", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "WaitTimeInMinutes": { + "markdownDescription": "The number of minutes to wait before the status of a blue/green deployment is changed to Stopped if rerouting is not started manually. Applies only to the `STOP_DEPLOYMENT` option for `actionOnTimeout` .", + "title": "WaitTimeInMinutes", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.DeploymentStyle": { + "additionalProperties": false, + "properties": { + "DeploymentOption": { + "markdownDescription": "Indicates whether to route deployment traffic behind a load balancer.\n\n> An Amazon EC2 Application Load Balancer or Network Load Balancer is required for an Amazon ECS deployment.", + "title": "DeploymentOption", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountTakeoverRiskConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType", - "markdownDescription": "The settings for automated responses and notification templates for adaptive authentication with threat protection.", - "title": "AccountTakeoverRiskConfiguration" - }, - "ClientId": { - "markdownDescription": "The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings.", - "title": "ClientId", - "type": "string" - }, - "CompromisedCredentialsRiskConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType", - "markdownDescription": "Settings for compromised-credentials actions and authentication types with threat protection in full-function `ENFORCED` mode.", - "title": "CompromisedCredentialsRiskConfiguration" - }, - "RiskExceptionConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType", - "markdownDescription": "Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges.", - "title": "RiskExceptionConfiguration" - }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool that has the risk configuration applied.", - "title": "UserPoolId", - "type": "string" - } - }, - "required": [ - "ClientId", - "UserPoolId" - ], - "type": "object" + "DeploymentType": { + "markdownDescription": "Indicates whether to run an in-place or blue/green deployment.", + "title": "DeploymentType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.EC2TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The tag filter key.", + "title": "Key", + "type": "string" }, "Type": { - "enum": [ - "AWS::Cognito::UserPoolRiskConfigurationAttachment" - ], + "markdownDescription": "The tag filter type:\n\n- `KEY_ONLY` : Key only.\n- `VALUE_ONLY` : Value only.\n- `KEY_AND_VALUE` : Key and value.", + "title": "Type", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { + "markdownDescription": "The tag filter value.", + "title": "Value", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { + "AWS::CodeDeploy::DeploymentGroup.EC2TagSet": { "additionalProperties": false, "properties": { - "EventAction": { - "markdownDescription": "The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows:\n\n- `BLOCK` : Block the request.\n- `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request.\n- `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor.\n- `NO_ACTION` : Take no action. Permit sign-in.", - "title": "EventAction", + "Ec2TagSetList": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagSetListObject" + }, + "markdownDescription": "The Amazon EC2 tags that are already applied to Amazon EC2 instances that you want to include in the deployment group. CodeDeploy includes all Amazon EC2 instances identified by any of the tags you specify in this deployment group.\n\nDuplicates are not allowed.", + "title": "Ec2TagSetList", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.EC2TagSetListObject": { + "additionalProperties": false, + "properties": { + "Ec2TagGroup": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagFilter" + }, + "markdownDescription": "A list that contains other lists of Amazon EC2 instance tag groups. For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list.", + "title": "Ec2TagGroup", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.ECSService": { + "additionalProperties": false, + "properties": { + "ClusterName": { + "markdownDescription": "The name of the cluster that the Amazon ECS service is associated with.", + "title": "ClusterName", "type": "string" }, - "Notify": { - "markdownDescription": "Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level.", - "title": "Notify", - "type": "boolean" + "ServiceName": { + "markdownDescription": "The name of the target Amazon ECS service.", + "title": "ServiceName", + "type": "string" } }, "required": [ - "EventAction", - "Notify" + "ClusterName", + "ServiceName" ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { + "AWS::CodeDeploy::DeploymentGroup.ELBInfo": { "additionalProperties": false, "properties": { - "HighAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType", - "markdownDescription": "The action that you assign to a high-risk assessment by threat protection.", - "title": "HighAction" - }, - "LowAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType", - "markdownDescription": "The action that you assign to a low-risk assessment by threat protection.", - "title": "LowAction" - }, - "MediumAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType", - "markdownDescription": "The action that you assign to a medium-risk assessment by threat protection.", - "title": "MediumAction" + "Name": { + "markdownDescription": "For blue/green deployments, the name of the load balancer that is used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment is complete.\n\n> CloudFormation supports blue/green deployments on AWS Lambda compute platforms only.", + "title": "Name", + "type": "string" } }, "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { + "AWS::CodeDeploy::DeploymentGroup.GitHubLocation": { "additionalProperties": false, "properties": { - "Actions": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType", - "markdownDescription": "A list of account-takeover actions for each level of risk that Amazon Cognito might assess with threat protection.", - "title": "Actions" + "CommitId": { + "markdownDescription": "The SHA1 commit ID of the GitHub commit that represents the bundled artifacts for the application revision.", + "title": "CommitId", + "type": "string" }, - "NotifyConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType", - "markdownDescription": "The settings for composing and sending an email message when threat protection assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type.", - "title": "NotifyConfiguration" + "Repository": { + "markdownDescription": "The GitHub account and repository pair that stores a reference to the commit that represents the bundled artifacts for the application revision.\n\nSpecify the value as `account/repository` .", + "title": "Repository", + "type": "string" } }, "required": [ - "Actions" + "CommitId", + "Repository" ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { + "AWS::CodeDeploy::DeploymentGroup.GreenFleetProvisioningOption": { "additionalProperties": false, "properties": { - "EventAction": { - "markdownDescription": "The action that Amazon Cognito takes when it detects compromised credentials.", - "title": "EventAction", + "Action": { + "markdownDescription": "The method used to add instances to a replacement environment.\n\n- `DISCOVER_EXISTING` : Use instances that already exist or will be created manually.\n- `COPY_AUTO_SCALING_GROUP` : Use settings from a specified Auto Scaling group to define and create instances in a new Auto Scaling group.", + "title": "Action", "type": "string" } }, - "required": [ - "EventAction" - ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { + "AWS::CodeDeploy::DeploymentGroup.LoadBalancerInfo": { "additionalProperties": false, "properties": { - "Actions": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType", - "markdownDescription": "Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials.", - "title": "Actions" + "ElbInfoList": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.ELBInfo" + }, + "markdownDescription": "An array that contains information about the load balancers to use for load balancing in a deployment. If you're using Classic Load Balancers, specify those load balancers in this array.\n\n> You can add up to 10 load balancers to the array. > If you're using Application Load Balancers or Network Load Balancers, use the `targetGroupInfoList` array instead of this one.", + "title": "ElbInfoList", + "type": "array" }, - "EventFilter": { + "TargetGroupInfoList": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo" }, - "markdownDescription": "Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events.", - "title": "EventFilter", + "markdownDescription": "An array that contains information about the target groups to use for load balancing in a deployment. If you're using Application Load Balancers and Network Load Balancers, specify their associated target groups in this array.\n\n> You can add up to 10 target groups to the array. > If you're using Classic Load Balancers, use the `elbInfoList` array instead of this one.", + "title": "TargetGroupInfoList", + "type": "array" + }, + "TargetGroupPairInfoList": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupPairInfo" + }, + "markdownDescription": "The target group pair information. This is an array of `TargeGroupPairInfo` objects with a maximum size of one.", + "title": "TargetGroupPairInfoList", "type": "array" } }, - "required": [ - "Actions" - ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { + "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": { "additionalProperties": false, "properties": { - "BlockEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType", - "markdownDescription": "The template for the email message that your user pool sends when a detected risk event is blocked.", - "title": "BlockEmail" + "OnPremisesTagSetList": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject" + }, + "markdownDescription": "A list that contains other lists of on-premises instance tag groups. For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list.\n\nDuplicates are not allowed.", + "title": "OnPremisesTagSetList", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": { + "additionalProperties": false, + "properties": { + "OnPremisesTagGroup": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" + }, + "markdownDescription": "Information about groups of on-premises instance tags.", + "title": "OnPremisesTagGroup", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.RevisionLocation": { + "additionalProperties": false, + "properties": { + "GitHubLocation": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GitHubLocation", + "markdownDescription": "Information about the location of application artifacts stored in GitHub.", + "title": "GitHubLocation" }, - "From": { - "markdownDescription": "The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES.", - "title": "From", + "RevisionType": { + "markdownDescription": "The type of application revision:\n\n- S3: An application revision stored in Amazon S3.\n- GitHub: An application revision stored in GitHub (EC2/On-premises deployments only).\n- String: A YAML-formatted or JSON-formatted string ( AWS Lambda deployments only).\n- AppSpecContent: An `AppSpecContent` object that contains the contents of an AppSpec file for an AWS Lambda or Amazon ECS deployment. The content is formatted as JSON or YAML stored as a RawString.", + "title": "RevisionType", "type": "string" }, - "MfaEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType", - "markdownDescription": "The template for the email message that your user pool sends when MFA is challenged in response to a detected risk.", - "title": "MfaEmail" + "S3Location": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.S3Location", + "markdownDescription": "Information about the location of a revision stored in Amazon S3.", + "title": "S3Location" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The name of the Amazon S3 bucket where the application revision is stored.", + "title": "Bucket", + "type": "string" }, - "NoActionEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType", - "markdownDescription": "The template for the email message that your user pool sends when no action is taken in response to a detected risk.", - "title": "NoActionEmail" + "BundleType": { + "markdownDescription": "The file type of the application revision. Must be one of the following:\n\n- JSON\n- tar: A tar archive file.\n- tgz: A compressed tar archive file.\n- YAML\n- zip: A zip archive file.", + "title": "BundleType", + "type": "string" }, - "ReplyTo": { - "markdownDescription": "The reply-to email address of an email template. Can be an email address in the format `admin@example.com` or `Administrator ` .", - "title": "ReplyTo", + "ETag": { + "markdownDescription": "The ETag of the Amazon S3 object that represents the bundled artifacts for the application revision.\n\nIf the ETag is not specified as an input parameter, ETag validation of the object is skipped.", + "title": "ETag", "type": "string" }, - "SourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the identity that is associated with the sending authorization policy. This identity permits Amazon Cognito to send for the email address specified in the `From` parameter.", - "title": "SourceArn", + "Key": { + "markdownDescription": "The name of the Amazon S3 object that represents the bundled artifacts for the application revision.", + "title": "Key", + "type": "string" + }, + "Version": { + "markdownDescription": "A specific version of the Amazon S3 object that represents the bundled artifacts for the application revision.\n\nIf the version is not specified, the system uses the most recent version by default.", + "title": "Version", "type": "string" } }, "required": [ - "SourceArn" + "Bucket", + "Key" ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { + "AWS::CodeDeploy::DeploymentGroup.TagFilter": { "additionalProperties": false, "properties": { - "HtmlBody": { - "markdownDescription": "The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively.", - "title": "HtmlBody", + "Key": { + "markdownDescription": "The on-premises instance tag filter key.", + "title": "Key", "type": "string" }, - "Subject": { - "markdownDescription": "The subject of the threat protection email notification.", - "title": "Subject", + "Type": { + "markdownDescription": "The on-premises instance tag filter type:\n\n- KEY_ONLY: Key only.\n- VALUE_ONLY: Value only.\n- KEY_AND_VALUE: Key and value.", + "title": "Type", "type": "string" }, - "TextBody": { - "markdownDescription": "The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively.", - "title": "TextBody", + "Value": { + "markdownDescription": "The on-premises instance tag filter value.", + "title": "Value", "type": "string" } }, - "required": [ - "Subject" - ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { + "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": { "additionalProperties": false, "properties": { - "BlockedIPRangeList": { + "Name": { + "markdownDescription": "For blue/green deployments, the name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes. No duplicates allowed.\n\n> CloudFormation supports blue/green deployments on AWS Lambda compute platforms only. \n\nThis value cannot exceed 32 characters, so you should use the `Name` property of the target group, or the `TargetGroupName` attribute with the `Fn::GetAtt` intrinsic function, as shown in the following example. Don't use the group's Amazon Resource Name (ARN) or `TargetGroupFullName` attribute.", + "title": "Name", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TargetGroupPairInfo": { + "additionalProperties": false, + "properties": { + "ProdTrafficRoute": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TrafficRoute", + "markdownDescription": "The path used by a load balancer to route production traffic when an Amazon ECS deployment is complete.", + "title": "ProdTrafficRoute" + }, + "TargetGroups": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo" }, - "markdownDescription": "An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation.", - "title": "BlockedIPRangeList", + "markdownDescription": "One pair of target groups. One is associated with the original task set. The second is associated with the task set that serves traffic after the deployment is complete.", + "title": "TargetGroups", "type": "array" }, - "SkippedIPRangeList": { + "TestTrafficRoute": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TrafficRoute", + "markdownDescription": "An optional path used by a load balancer to route test traffic after an Amazon ECS deployment. Validation can occur while test traffic is served during a deployment.", + "title": "TestTrafficRoute" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TrafficRoute": { + "additionalProperties": false, + "properties": { + "ListenerArns": { "items": { "type": "string" }, - "markdownDescription": "An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation.", - "title": "SkippedIPRangeList", + "markdownDescription": "The Amazon Resource Name (ARN) of one listener. The listener identifies the route between a target group and a load balancer. This is an array of strings with a maximum size of one.", + "title": "ListenerArns", "type": "array" } }, "type": "object" }, - "AWS::Cognito::UserPoolUICustomizationAttachment": { + "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": { + "additionalProperties": false, + "properties": { + "TriggerEvents": { + "items": { + "type": "string" + }, + "markdownDescription": "The event type or types that trigger notifications.", + "title": "TriggerEvents", + "type": "array" + }, + "TriggerName": { + "markdownDescription": "The name of the notification trigger.", + "title": "TriggerName", + "type": "string" + }, + "TriggerTargetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic through which notifications about deployment or instance events are sent.", + "title": "TriggerTargetArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeGuruProfiler::ProfilingGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -83621,31 +83350,46 @@ "Properties": { "additionalProperties": false, "properties": { - "CSS": { - "markdownDescription": "A plaintext CSS file that contains the custom fields that you want to apply to your user pool or app client. To download a template, go to the Amazon Cognito console. Navigate to your user pool *App clients* tab, select *Login pages* , edit *Hosted UI (classic) style* , and select the link to `CSS template.css` .", - "title": "CSS", - "type": "string" + "AgentPermissions": { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.AgentPermissions", + "markdownDescription": "The agent permissions attached to this profiling group. This action group grants `ConfigureAgent` and `PostAgentProfile` permissions to perform actions required by the profiling agent. The Json consists of key `Principals` .\n\n*Principals* : A list of string ARNs for the roles and users you want to grant access to the profiling group. Wildcards are not supported in the ARNs. You are allowed to provide up to 50 ARNs. An empty list is not permitted. This is a required key.\n\nFor more information, see [Resource-based policies in CodeGuru Profiler](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/resource-based-policies.html) in the *Amazon CodeGuru Profiler user guide* , [ConfigureAgent](https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html) , and [PostAgentProfile](https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PostAgentProfile.html) .", + "title": "AgentPermissions" }, - "ClientId": { - "markdownDescription": "The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings..", - "title": "ClientId", + "AnomalyDetectionNotificationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" + }, + "markdownDescription": "Adds anomaly notifications for a profiling group.", + "title": "AnomalyDetectionNotificationConfiguration", + "type": "array" + }, + "ComputePlatform": { + "markdownDescription": "The compute platform of the profiling group. Use `AWSLambda` if your application runs on AWS Lambda. Use `Default` if your application runs on a compute platform that is not AWS Lambda , such an Amazon EC2 instance, an on-premises server, or a different platform. If not specified, `Default` is used. This property is immutable.", + "title": "ComputePlatform", "type": "string" }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool where you want to apply branding to the classic hosted UI.", - "title": "UserPoolId", + "ProfilingGroupName": { + "markdownDescription": "The name of the profiling group.", + "title": "ProfilingGroupName", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags to add to the created profiling group.", + "title": "Tags", + "type": "array" } }, "required": [ - "ClientId", - "UserPoolId" + "ProfilingGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolUICustomizationAttachment" + "AWS::CodeGuruProfiler::ProfilingGroup" ], "type": "string" }, @@ -83664,7 +83408,43 @@ ], "type": "object" }, - "AWS::Cognito::UserPoolUser": { + "AWS::CodeGuruProfiler::ProfilingGroup.AgentPermissions": { + "additionalProperties": false, + "properties": { + "Principals": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Principals", + "type": "array" + } + }, + "required": [ + "Principals" + ], + "type": "object" + }, + "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { + "additionalProperties": false, + "properties": { + "channelId": { + "markdownDescription": "The channel ID.", + "title": "channelId", + "type": "string" + }, + "channelUri": { + "markdownDescription": "The channel URI.", + "title": "channelUri", + "type": "string" + } + }, + "required": [ + "channelUri" + ], + "type": "object" + }, + "AWS::CodeGuruReviewer::RepositoryAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -83699,70 +83479,49 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientMetadata": { - "additionalProperties": true, - "markdownDescription": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n\nWhen Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a `clientMetadata` attribute that provides the data that you assigned to the ClientMetadata parameter in your request. In your function code, you can process the `clientMetadata` value to enhance your workflow for your specific needs.\n\nTo review the Lambda trigger types that Amazon Cognito invokes at runtime with API requests, see [Connecting API actions to Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-working-with-lambda-triggers.html#lambda-triggers-by-event) in the *Amazon Cognito Developer Guide* .\n\n> When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following:\n> \n> - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose.\n> - Validate the `ClientMetadata` value.\n> - Encrypt the `ClientMetadata` value. Don't send sensitive information in this parameter.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ClientMetadata", - "type": "object" - }, - "DesiredDeliveryMediums": { - "items": { - "type": "string" - }, - "markdownDescription": "Specify `EMAIL` if email will be used to send the welcome message. Specify `SMS` if the phone number will be used. The default value is `SMS` . You can specify more than one value.", - "title": "DesiredDeliveryMediums", - "type": "array" - }, - "ForceAliasCreation": { - "markdownDescription": "This parameter is used only if the `phone_number_verified` or `email_verified` attribute is set to `True` . Otherwise, it is ignored.\n\nIf this parameter is set to `True` and the phone number or email address specified in the `UserAttributes` parameter already exists as an alias with a different user, this request migrates the alias from the previous user to the newly-created user. The previous user will no longer be able to log in using that alias.\n\nIf this parameter is set to `False` , the API throws an `AliasExistsException` error if the alias already exists. The default value is `False` .", - "title": "ForceAliasCreation", - "type": "boolean" - }, - "MessageAction": { - "markdownDescription": "Set to `RESEND` to resend the invitation message to a user that already exists, and to reset the temporary-password duration with a new temporary password. Set to `SUPPRESS` to suppress sending the message. You can specify only one value.", - "title": "MessageAction", + "BucketName": { + "markdownDescription": "The name of the bucket. This is required for your S3Bucket repository. The name must start with the prefix `codeguru-reviewer-*` .", + "title": "BucketName", "type": "string" }, - "UserAttributes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "markdownDescription": "An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message).\n\nFor custom attributes, you must prepend the `custom:` prefix to the attribute name.\n\nTo send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools.\n\nYou must also provide an email address or phone number when you expect the user to do passwordless sign-in with an email or SMS OTP. These attributes must be provided when passwordless options are the only available, or when you don't submit a `TemporaryPassword` .\n\nIn your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` .\n\n- *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `\"EMAIL\"` is specified in the `DesiredDeliveryMediums` parameter.\n- *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `\"SMS\"` is specified in the `DesiredDeliveryMediums` parameter.", - "title": "UserAttributes", - "type": "array" + "ConnectionArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is `arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id` . For more information, see [Connection](https://docs.aws.amazon.com/codestar-connections/latest/APIReference/API_Connection.html) in the *AWS CodeStar Connections API Reference* .\n\n`ConnectionArn` must be specified for Bitbucket and GitHub Enterprise Server repositories. It has no effect if it is specified for an AWS CodeCommit repository.", + "title": "ConnectionArn", + "type": "string" }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool where you want to create a user.", - "title": "UserPoolId", + "Name": { + "markdownDescription": "The name of the repository.", + "title": "Name", "type": "string" }, - "Username": { - "markdownDescription": "The value that you want to set as the username sign-in attribute. The following conditions apply to the username parameter.\n\n- The username can't be a duplicate of another username in the same user pool.\n- You can't change the value of a username after you create it.\n- You can only provide a value if usernames are a valid sign-in attribute for your user pool. If your user pool only supports phone numbers or email addresses as sign-in attributes, Amazon Cognito automatically generates a username value. For more information, see [Customizing sign-in attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases) .", - "title": "Username", + "Owner": { + "markdownDescription": "The owner of the repository. For a GitHub Enterprise Server or Bitbucket repository, this is the username for the account that owns the repository.\n\n`Owner` must be specified for Bitbucket and GitHub Enterprise Server repositories. It has no effect if it is specified for an AWS CodeCommit repository.", + "title": "Owner", "type": "string" }, - "ValidationData": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "Temporary user attributes that contribute to the outcomes of your pre sign-up Lambda trigger. This set of key-value pairs are for custom validation of information that you collect from your users but don't need to retain.\n\nYour Lambda function can analyze this additional data and act on it. Your function can automatically confirm and verify select users or perform external API operations like logging user attributes and validation data to Amazon CloudWatch Logs.\n\nFor more information about the pre sign-up Lambda trigger, see [Pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) .", - "title": "ValidationData", + "markdownDescription": "An array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts:\n\n- A *tag key* (for example, `CostCenter` , `Environment` , `Project` , or `Secret` ). Tag keys are case sensitive.\n- An optional field known as a *tag value* (for example, `111122223333` , `Production` , or a team name). Omitting the tag value is the same as using an empty string. Like tag keys, tag values are case sensitive.", + "title": "Tags", "type": "array" + }, + "Type": { + "markdownDescription": "The type of repository that contains the source code to be reviewed. The valid values are:\n\n- `CodeCommit`\n- `Bitbucket`\n- `GitHubEnterpriseServer`\n- `S3Bucket`", + "title": "Type", + "type": "string" } }, "required": [ - "UserPoolId" + "Name", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolUser" + "AWS::CodeGuruReviewer::RepositoryAssociation" ], "type": "string" }, @@ -83781,23 +83540,7 @@ ], "type": "object" }, - "AWS::Cognito::UserPoolUser.AttributeType": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the attribute.", - "title": "Name", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of the attribute.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolUserToGroupAttachment": { + "AWS::CodePipeline::CustomActionType": { "additionalProperties": false, "properties": { "Condition": { @@ -83832,32 +83575,65 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupName": { - "markdownDescription": "The name of the group that you want to add your user to.", - "title": "GroupName", + "Category": { + "markdownDescription": "The category of the custom action, such as a build action or a test action.", + "title": "Category", "type": "string" }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool that contains the group that you want to add the user to.", - "title": "UserPoolId", - "type": "string" + "ConfigurationProperties": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ConfigurationProperties" + }, + "markdownDescription": "The configuration properties for the custom action.\n\n> You can refer to a name in the configuration properties of the custom action within the URL templates by following the format of {Config:name}, as long as the configuration property is both required and not secret. For more information, see [Create a Custom Action for a Pipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-create-custom-action.html) .", + "title": "ConfigurationProperties", + "type": "array" }, - "Username": { - "markdownDescription": "The user's username.", - "title": "Username", - "type": "string" - } - }, - "required": [ - "GroupName", - "UserPoolId", - "Username" + "InputArtifactDetails": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails", + "markdownDescription": "The details of the input artifact for the action, such as its commit ID.", + "title": "InputArtifactDetails" + }, + "OutputArtifactDetails": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails", + "markdownDescription": "The details of the output artifact of the action, such as its commit ID.", + "title": "OutputArtifactDetails" + }, + "Provider": { + "markdownDescription": "The provider of the service used in the custom action, such as CodeDeploy.", + "title": "Provider", + "type": "string" + }, + "Settings": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.Settings", + "markdownDescription": "URLs that provide users information about this custom action.", + "title": "Settings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the custom action.", + "title": "Tags", + "type": "array" + }, + "Version": { + "markdownDescription": "The version identifier of the custom action.", + "title": "Version", + "type": "string" + } + }, + "required": [ + "Category", + "InputArtifactDetails", + "OutputArtifactDetails", + "Provider", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolUserToGroupAttachment" + "AWS::CodePipeline::CustomActionType" ], "type": "string" }, @@ -83876,183 +83652,100 @@ ], "type": "object" }, - "AWS::CognitoSync::Dataset": { + "AWS::CodePipeline::CustomActionType.ArtifactDetails": { "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": { - "DatasetName": { - "type": "string" - }, - "IdentityId": { - "type": "string" - }, - "IdentityPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CognitoSync::Dataset" - ], - "type": "string" + "MaximumCount": { + "markdownDescription": "The maximum number of artifacts allowed for the action type.", + "title": "MaximumCount", + "type": "number" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "MinimumCount": { + "markdownDescription": "The minimum number of artifacts allowed for the action type.", + "title": "MinimumCount", + "type": "number" } }, "required": [ - "Type" + "MaximumCount", + "MinimumCount" ], "type": "object" }, - "AWS::Comprehend::DocumentClassificationJob": { + "AWS::CodePipeline::CustomActionType.ConfigurationProperties": { "additionalProperties": false, "properties": { - "Condition": { + "Description": { + "markdownDescription": "The description of the action configuration property that is displayed to users.", + "title": "Description", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Key": { + "markdownDescription": "Whether the configuration property is a key.", + "title": "Key", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the action configuration property.", + "title": "Name", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Queryable": { + "markdownDescription": "Indicates that the property is used with `PollForJobs` . When creating a custom action, an action can have up to one queryable property. If it has one, that property must be both required and not secret.\n\nIf you create a pipeline with a custom action type, and that custom action contains a queryable property, the value for that configuration property is subject to other restrictions. The value must be less than or equal to twenty (20) characters. The value can contain only alphanumeric characters, underscores, and hyphens.", + "title": "Queryable", + "type": "boolean" }, - "Metadata": { - "type": "object" + "Required": { + "markdownDescription": "Whether the configuration property is a required value.", + "title": "Required", + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataAccessRoleArn": { - "type": "string" - }, - "DocumentClassifierArn": { - "type": "string" - }, - "InputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassificationJob.InputDataConfig" - }, - "JobName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DataAccessRoleArn", - "DocumentClassifierArn", - "InputDataConfig" - ], - "type": "object" + "Secret": { + "markdownDescription": "Whether the configuration property is secret. Secrets are hidden from all calls except for `GetJobDetails` , `GetThirdPartyJobDetails` , `PollForJobs` , and `PollForThirdPartyJobs` .\n\nWhen updating a pipeline, passing * * * * * without changing any other values of the action preserves the previous value of the secret.", + "title": "Secret", + "type": "boolean" }, "Type": { - "enum": [ - "AWS::Comprehend::DocumentClassificationJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "markdownDescription": "The type of the configuration property.", + "title": "Type", "type": "string" } }, "required": [ - "Type", - "Properties" + "Key", + "Name", + "Required", + "Secret" ], "type": "object" }, - "AWS::Comprehend::DocumentClassificationJob.InputDataConfig": { + "AWS::CodePipeline::CustomActionType.Settings": { "additionalProperties": false, "properties": { - "InputFormat": { + "EntityUrlTemplate": { + "markdownDescription": "The URL returned to the CodePipeline console that provides a deep link to the resources of the external system, such as the configuration page for a CodeDeploy deployment group. This link is provided as part of the action display in the pipeline.", + "title": "EntityUrlTemplate", "type": "string" }, - "S3Uri": { + "ExecutionUrlTemplate": { + "markdownDescription": "The URL returned to the CodePipeline console that contains a link to the top-level landing page for the external system, such as the console page for CodeDeploy. This link is shown on the pipeline view page in the CodePipeline console and provides a link to the execution entity of the external action.", + "title": "ExecutionUrlTemplate", "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::DocumentClassificationJob.OutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3Uri": { + }, + "RevisionUrlTemplate": { + "markdownDescription": "The URL returned to the CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action.", + "title": "RevisionUrlTemplate", + "type": "string" + }, + "ThirdPartyConfigurationUrl": { + "markdownDescription": "The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service.", + "title": "ThirdPartyConfigurationUrl", "type": "string" } }, - "required": [ - "S3Uri" - ], "type": "object" }, - "AWS::Comprehend::DocumentClassifier": { + "AWS::CodePipeline::Pipeline": { "additionalProperties": false, "properties": { "Condition": { @@ -84087,81 +83780,94 @@ "Properties": { "additionalProperties": false, "properties": { - "DataAccessRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data.", - "title": "DataAccessRoleArn", - "type": "string" + "ArtifactStore": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore", + "markdownDescription": "The S3 bucket where artifacts for the pipeline are stored.\n\n> You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` .", + "title": "ArtifactStore" }, - "DocumentClassifierName": { - "markdownDescription": "The name of the document classifier.", - "title": "DocumentClassifierName", - "type": "string" + "ArtifactStores": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStoreMap" + }, + "markdownDescription": "A mapping of `artifactStore` objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.\n\n> You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` .", + "title": "ArtifactStores", + "type": "array" }, - "InputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierInputDataConfig", - "markdownDescription": "Specifies the format and location of the input data for the job.", - "title": "InputDataConfig" + "DisableInboundStageTransitions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageTransition" + }, + "markdownDescription": "Represents the input of a `DisableStageTransition` action.", + "title": "DisableInboundStageTransitions", + "type": "array" }, - "LanguageCode": { - "markdownDescription": "The language of the input documents. You can specify any of the languages supported by Amazon Comprehend. All documents must be in the same language.", - "title": "LanguageCode", + "ExecutionMode": { + "markdownDescription": "The method that the pipeline will use to handle multiple executions. The default mode is SUPERSEDED.", + "title": "ExecutionMode", "type": "string" }, - "Mode": { - "markdownDescription": "Indicates the mode in which the classifier will be trained. The classifier can be trained in multi-class (single-label) mode or multi-label mode. Multi-class mode identifies a single class label for each document and multi-label mode identifies one or more class labels for each document. Multiple labels for an individual document are separated by a delimiter. The default delimiter between labels is a pipe (|).", - "title": "Mode", + "Name": { + "markdownDescription": "The name of the pipeline.", + "title": "Name", "type": "string" }, - "ModelKmsKeyId": { - "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`", - "title": "ModelKmsKeyId", + "PipelineType": { + "markdownDescription": "CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.\n\n- V1 type pipelines have a JSON structure that contains standard pipeline, stage, and action-level parameters.\n- V2 type pipelines have the same structure as a V1 type, along with additional parameters for release safety and trigger configuration.\n\n> Including V2 parameters, such as triggers on Git tags, in the pipeline JSON when creating or updating a pipeline will result in the pipeline having the V2 type of pipeline and the associated costs. \n\nFor information about pricing for CodePipeline, see [Pricing](https://docs.aws.amazon.com/codepipeline/pricing/) .\n\nFor information about which type of pipeline to choose, see [What type of pipeline is right for me?](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html) .", + "title": "PipelineType", "type": "string" }, - "ModelPolicy": { - "markdownDescription": "The resource-based policy to attach to your custom document classifier model. You can use this policy to allow another AWS account to import your custom model.\n\nProvide your policy as a JSON body that you enter as a UTF-8 encoded string without line breaks. To provide valid JSON, enclose the attribute names and values in double quotes. If the JSON body is also enclosed in double quotes, then you must escape the double quotes that are inside the policy:\n\n`\"{\\\"attribute\\\": \\\"value\\\", \\\"attribute\\\": [\\\"value\\\"]}\"`\n\nTo avoid escaping quotes, you can use single quotes to enclose the policy and double quotes to enclose the JSON names and values:\n\n`'{\"attribute\": \"value\", \"attribute\": [\"value\"]}'`", - "title": "ModelPolicy", + "RestartExecutionOnUpdate": { + "markdownDescription": "Indicates whether to rerun the CodePipeline pipeline after you update it.", + "title": "RestartExecutionOnUpdate", + "type": "boolean" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for CodePipeline to use to either perform actions with no `actionRoleArn` , or to use to assume roles for actions with an `actionRoleArn` .", + "title": "RoleArn", "type": "string" }, - "OutputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierOutputDataConfig", - "markdownDescription": "Provides output results configuration parameters for custom classifier jobs.", - "title": "OutputDataConfig" + "Stages": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageDeclaration" + }, + "markdownDescription": "Represents information about a stage and its definition.", + "title": "Stages", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Tags to associate with the document classifier. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.", + "markdownDescription": "Specifies the tags applied to the pipeline.", "title": "Tags", "type": "array" }, - "VersionName": { - "markdownDescription": "The version name given to the newly created classifier. Version names can have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The version name must be unique among all models with the same classifier name in the AWS account / AWS Region .", - "title": "VersionName", - "type": "string" - }, - "VolumeKmsKeyId": { - "markdownDescription": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`", - "title": "VolumeKmsKeyId", - "type": "string" + "Triggers": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.PipelineTriggerDeclaration" + }, + "markdownDescription": "The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.\n\n> When a trigger configuration is specified, default change detection for repository and branch commits is disabled.", + "title": "Triggers", + "type": "array" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.VpcConfig", - "markdownDescription": "Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your custom classifier. For more information, see [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) .", - "title": "VpcConfig" + "Variables": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.VariableDeclaration" + }, + "markdownDescription": "A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match `[A-Za-z0-9@\\-_]+` .", + "title": "Variables", + "type": "array" } }, "required": [ - "DataAccessRoleArn", - "DocumentClassifierName", - "InputDataConfig", - "LanguageCode" + "RoleArn", + "Stages" ], "type": "object" }, "Type": { "enum": [ - "AWS::Comprehend::DocumentClassifier" + "AWS::CodePipeline::Pipeline" ], "type": "string" }, @@ -84180,701 +83886,680 @@ ], "type": "object" }, - "AWS::Comprehend::DocumentClassifier.AugmentedManifestsListItem": { + "AWS::CodePipeline::Pipeline.ActionDeclaration": { "additionalProperties": false, "properties": { - "AttributeNames": { + "ActionTypeId": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionTypeId", + "markdownDescription": "Specifies the action type and the provider of the action.", + "title": "ActionTypeId" + }, + "Commands": { "items": { "type": "string" }, - "markdownDescription": "The JSON attribute that contains the annotations for your training documents. The number of attribute names that you specify depends on whether your augmented manifest file is the output of a single labeling job or a chained labeling job.\n\nIf your file is the output of a single labeling job, specify the LabelAttributeName key that was used when the job was created in Ground Truth.\n\nIf your file is the output of a chained labeling job, specify the LabelAttributeName key for one or more jobs in the chain. Each LabelAttributeName key provides the annotations from an individual job.", - "title": "AttributeNames", + "markdownDescription": "The shell commands to run with your compute action in CodePipeline. All commands are supported except multi-line formats. While CodeBuild logs and permissions are used, you do not need to create any resources in CodeBuild.\n\n> Using compute time for this action will incur separate charges in AWS CodeBuild .", + "title": "Commands", "type": "array" }, - "S3Uri": { - "markdownDescription": "The Amazon S3 location of the augmented manifest file.", - "title": "S3Uri", + "Configuration": { + "markdownDescription": "The action's configuration. These are key-value pairs that specify input values for an action. For more information, see [Action Structure Requirements in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements) . For the list of configuration properties for the AWS CloudFormation action type in CodePipeline, see [Configuration Properties Reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html) in the *AWS CloudFormation User Guide* . For template snippets with examples, see [Using Parameter Override Functions with CodePipeline Pipelines](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html) in the *AWS CloudFormation User Guide* .\n\nThe values can be represented in either JSON or YAML format. For example, the JSON configuration item format is as follows:\n\n*JSON:*\n\n`\"Configuration\" : { Key : Value },`", + "title": "Configuration", + "type": "object" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EnvironmentVariable" + }, + "markdownDescription": "The environment variables for the action.", + "title": "EnvironmentVariables", + "type": "array" + }, + "InputArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" + }, + "markdownDescription": "The name or ID of the artifact consumed by the action, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of input artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* .\n\n> For a CodeBuild action with multiple input artifacts, one of your input sources must be designated the PrimarySource. For more information, see the [CodeBuild action reference page](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodeBuild.html) in the *AWS CodePipeline User Guide* .", + "title": "InputArtifacts", + "type": "array" + }, + "Name": { + "markdownDescription": "The action declaration's name.", + "title": "Name", "type": "string" }, - "Split": { - "markdownDescription": "The purpose of the data you've provided in the augmented manifest. You can either train or test this data. If you don't specify, the default is train.\n\nTRAIN - all of the documents in the manifest will be used for training. If no test documents are provided, Amazon Comprehend will automatically reserve a portion of the training documents for testing.\n\nTEST - all of the documents in the manifest will be used for testing.", - "title": "Split", + "Namespace": { + "markdownDescription": "The variable namespace associated with the action. All variables produced as output by this action fall under this namespace.", + "title": "Namespace", "type": "string" - } - }, - "required": [ - "AttributeNames", - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::DocumentClassifier.DocumentClassifierDocuments": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "markdownDescription": "The S3 URI location of the training documents specified in the S3Uri CSV file.", - "title": "S3Uri", + }, + "OutputArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.OutputArtifact" + }, + "markdownDescription": "The name or ID of the result of the action declaration, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of output artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* .", + "title": "OutputArtifacts", + "type": "array" + }, + "OutputVariables": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of variables that are to be exported from the compute action. This is specifically CodeBuild environment variables as used for that action.", + "title": "OutputVariables", + "type": "array" + }, + "Region": { + "markdownDescription": "The action declaration's AWS Region, such as us-east-1.", + "title": "Region", "type": "string" }, - "TestS3Uri": { - "markdownDescription": "The S3 URI location of the test documents included in the TestS3Uri CSV file. This field is not required if you do not specify a test CSV file.", - "title": "TestS3Uri", + "RoleArn": { + "markdownDescription": "The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline.", + "title": "RoleArn", "type": "string" + }, + "RunOrder": { + "markdownDescription": "The order in which actions are run.", + "title": "RunOrder", + "type": "number" + }, + "TimeoutInMinutes": { + "markdownDescription": "A timeout duration in minutes that can be applied against the ActionType\u2019s default timeout value specified in [Quotas for AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/limits.html) . This attribute is available only to the manual approval ActionType.", + "title": "TimeoutInMinutes", + "type": "number" } }, "required": [ - "S3Uri" + "ActionTypeId", + "Name" ], "type": "object" }, - "AWS::Comprehend::DocumentClassifier.DocumentClassifierInputDataConfig": { + "AWS::CodePipeline::Pipeline.ActionTypeId": { "additionalProperties": false, "properties": { - "AugmentedManifests": { - "items": { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.AugmentedManifestsListItem" - }, - "markdownDescription": "A list of augmented manifest files that provide training data for your custom model. An augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground Truth.\n\nThis parameter is required if you set `DataFormat` to `AUGMENTED_MANIFEST` .", - "title": "AugmentedManifests", - "type": "array" - }, - "DataFormat": { - "markdownDescription": "The format of your training data:\n\n- `COMPREHEND_CSV` : A two-column CSV file, where labels are provided in the first column, and documents are provided in the second. If you use this value, you must provide the `S3Uri` parameter in your request.\n- `AUGMENTED_MANIFEST` : A labeled dataset that is produced by Amazon SageMaker Ground Truth. This file is in JSON lines format. Each line is a complete JSON object that contains a training document and its associated labels.\n\nIf you use this value, you must provide the `AugmentedManifests` parameter in your request.\n\nIf you don't specify a value, Amazon Comprehend uses `COMPREHEND_CSV` as the default.", - "title": "DataFormat", - "type": "string" - }, - "DocumentReaderConfig": { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentReaderConfig", - "markdownDescription": "", - "title": "DocumentReaderConfig" - }, - "DocumentType": { - "markdownDescription": "The type of input documents for training the model. Provide plain-text documents to create a plain-text model, and provide semi-structured documents to create a native document model.", - "title": "DocumentType", + "Category": { + "markdownDescription": "A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.\n\n- `Source`\n- `Build`\n- `Test`\n- `Deploy`\n- `Invoke`\n- `Approval`\n- `Compute`", + "title": "Category", "type": "string" }, - "Documents": { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierDocuments", - "markdownDescription": "The S3 location of the training documents. This parameter is required in a request to create a native document model.", - "title": "Documents" - }, - "LabelDelimiter": { - "markdownDescription": "Indicates the delimiter used to separate each label for training a multi-label classifier. The default delimiter between labels is a pipe (|). You can use a different character as a delimiter (if it's an allowed character) by specifying it under Delimiter for labels. If the training documents use a delimiter other than the default or the delimiter you specify, the labels on that line will be combined to make a single unique label, such as LABELLABELLABEL.", - "title": "LabelDelimiter", + "Owner": { + "markdownDescription": "The creator of the action being called. There are three valid values for the `Owner` field in the action category section within your pipeline structure: `AWS` , `ThirdParty` , and `Custom` . For more information, see [Valid Action Types and Providers in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#actions-valid-providers) .", + "title": "Owner", "type": "string" }, - "S3Uri": { - "markdownDescription": "The Amazon S3 URI for the input data. The S3 bucket must be in the same Region as the API endpoint that you are calling. The URI can point to a single input file or it can provide the prefix for a collection of input files.\n\nFor example, if you use the URI `S3://bucketName/prefix` , if the prefix is a single file, Amazon Comprehend uses that file as input. If more than one file begins with the prefix, Amazon Comprehend uses all of them as input.\n\nThis parameter is required if you set `DataFormat` to `COMPREHEND_CSV` .", - "title": "S3Uri", + "Provider": { + "markdownDescription": "The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of CodeDeploy, which would be specified as `CodeDeploy` . For more information, see [Valid Action Types and Providers in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#actions-valid-providers) .", + "title": "Provider", "type": "string" }, - "TestS3Uri": { - "markdownDescription": "This specifies the Amazon S3 location that contains the test annotations for the document classifier. The URI must be in the same AWS Region as the API endpoint that you are calling.", - "title": "TestS3Uri", + "Version": { + "markdownDescription": "A string that describes the action version.", + "title": "Version", "type": "string" } }, + "required": [ + "Category", + "Owner", + "Provider", + "Version" + ], "type": "object" }, - "AWS::Comprehend::DocumentClassifier.DocumentClassifierOutputDataConfig": { + "AWS::CodePipeline::Pipeline.ArtifactStore": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the output results from an analysis job. The KmsKeyId can be one of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- KMS Key Alias: `\"alias/ExampleAlias\"`\n- ARN of a KMS Key Alias: `\"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"`", - "title": "KmsKeyId", + "EncryptionKey": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EncryptionKey", + "markdownDescription": "The encryption key used to encrypt the data in the artifact store, such as an AWS Key Management Service ( AWS KMS) key. If this is undefined, the default key for Amazon S3 is used. To see an example artifact store encryption key field, see the example structure here: [AWS::CodePipeline::Pipeline](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html) .", + "title": "EncryptionKey" + }, + "Location": { + "markdownDescription": "The S3 bucket used for storing the artifacts for a pipeline. You can specify the name of an S3 bucket but not a folder in the bucket. A folder to contain the pipeline artifacts is created for you based on the name of the pipeline. You can use any S3 bucket in the same AWS Region as the pipeline to store your pipeline artifacts.", + "title": "Location", "type": "string" }, - "S3Uri": { - "markdownDescription": "When you use the `OutputDataConfig` object while creating a custom classifier, you specify the Amazon S3 location where you want to write the confusion matrix and other output files. The URI must be in the same Region as the API endpoint that you are calling. The location is used as the prefix for the actual location of this output file.\n\nWhen the custom classifier job is finished, the service creates the output file in a directory specific to the job. The `S3Uri` field contains the location of the output file, called `output.tar.gz` . It is a compressed archive that contains the confusion matrix.", - "title": "S3Uri", + "Type": { + "markdownDescription": "The type of the artifact store, such as S3.", + "title": "Type", "type": "string" } }, + "required": [ + "Location", + "Type" + ], "type": "object" }, - "AWS::Comprehend::DocumentClassifier.DocumentReaderConfig": { + "AWS::CodePipeline::Pipeline.ArtifactStoreMap": { "additionalProperties": false, "properties": { - "DocumentReadAction": { - "markdownDescription": "This field defines the Amazon Textract API operation that Amazon Comprehend uses to extract text from PDF files and image files. Enter one of the following values:\n\n- `TEXTRACT_DETECT_DOCUMENT_TEXT` - The Amazon Comprehend service uses the `DetectDocumentText` API operation.\n- `TEXTRACT_ANALYZE_DOCUMENT` - The Amazon Comprehend service uses the `AnalyzeDocument` API operation.", - "title": "DocumentReadAction", - "type": "string" + "ArtifactStore": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore", + "markdownDescription": "Represents information about the S3 bucket where artifacts are stored for the pipeline.\n\n> You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` .", + "title": "ArtifactStore" }, - "DocumentReadMode": { - "markdownDescription": "Determines the text extraction actions for PDF files. Enter one of the following values:\n\n- `SERVICE_DEFAULT` - use the Amazon Comprehend service defaults for PDF files.\n- `FORCE_DOCUMENT_READ_ACTION` - Amazon Comprehend uses the Textract API specified by DocumentReadAction for all PDF files, including digital PDF files.", - "title": "DocumentReadMode", + "Region": { + "markdownDescription": "The action declaration's AWS Region, such as us-east-1.", + "title": "Region", "type": "string" - }, - "FeatureTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the type of Amazon Textract features to apply. If you chose `TEXTRACT_ANALYZE_DOCUMENT` as the read action, you must specify one or both of the following values:\n\n- `TABLES` - Returns additional information about any tables that are detected in the input document.\n- `FORMS` - Returns additional information about any forms that are detected in the input document.", - "title": "FeatureTypes", - "type": "array" } }, "required": [ - "DocumentReadAction" + "ArtifactStore", + "Region" ], "type": "object" }, - "AWS::Comprehend::DocumentClassifier.VpcConfig": { + "AWS::CodePipeline::Pipeline.BeforeEntryConditions": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The ID number for a security group on an instance of your private VPC. Security groups on your VPC function serve as a virtual firewall to control inbound and outbound traffic and provides security for the resources that you\u2019ll be accessing on the VPC. This ID number is preceded by \"sg-\", for instance: \"sg-03b388029b0a285ea\". For more information, see [Security Groups for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) .", - "title": "SecurityGroupIds", - "type": "array" - }, - "Subnets": { + "Conditions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.Condition" }, - "markdownDescription": "The ID for each subnet being used in your private VPC. This subnet is a subset of the a range of IPv4 addresses used by the VPC and is specific to a given availability zone in the VPC\u2019s Region. This ID number is preceded by \"subnet-\", for instance: \"subnet-04ccf456919e69055\". For more information, see [VPCs and Subnets](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) .", - "title": "Subnets", + "markdownDescription": "The conditions that are configured as entry conditions.", + "title": "Conditions", "type": "array" } }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], "type": "object" }, - "AWS::Comprehend::DominantLanguageDetectionJob": { + "AWS::CodePipeline::Pipeline.BlockerDeclaration": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "markdownDescription": "Reserved for future use.", + "title": "Name", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "InputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::DominantLanguageDetectionJob.InputDataConfig" - }, - "JobName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VolumeKmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, "Type": { - "enum": [ - "AWS::Comprehend::DominantLanguageDetectionJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "markdownDescription": "Reserved for future use.", + "title": "Type", "type": "string" } }, "required": [ + "Name", "Type" ], "type": "object" }, - "AWS::Comprehend::DominantLanguageDetectionJob.InputDataConfig": { + "AWS::CodePipeline::Pipeline.Condition": { "additionalProperties": false, "properties": { - "InputFormat": { + "Result": { + "markdownDescription": "The action to be done when the condition is met. For example, rolling back an execution for a failure condition.", + "title": "Result", "type": "string" }, - "S3Uri": { - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.RuleDeclaration" + }, + "markdownDescription": "The rules that make up the condition.", + "title": "Rules", + "type": "array" } }, - "required": [ - "S3Uri" - ], "type": "object" }, - "AWS::Comprehend::DominantLanguageDetectionJob.OutputDataConfig": { + "AWS::CodePipeline::Pipeline.EncryptionKey": { "additionalProperties": false, "properties": { - "KmsKeyId": { + "Id": { + "markdownDescription": "The ID used to identify the key. For an AWS KMS key, you can use the key ID, the key ARN, or the alias ARN.\n\n> Aliases are recognized only in the account that created the AWS key. For cross-account actions, you can only use the key ID or key ARN to identify the key. Cross-account actions involve using the role from the other account (AccountB), so specifying the key ID will use the key from the other account (AccountB).", + "title": "Id", "type": "string" }, - "S3Uri": { + "Type": { + "markdownDescription": "The type of encryption key, such as an AWS KMS key. When creating or updating a pipeline, the value must be set to 'KMS'.", + "title": "Type", "type": "string" } }, "required": [ - "S3Uri" + "Id", + "Type" ], "type": "object" }, - "AWS::Comprehend::EntitiesDetectionJob": { + "AWS::CodePipeline::Pipeline.EnvironmentVariable": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "markdownDescription": "The environment variable name in the key-value pair.", + "title": "Name", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "InputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::EntitiesDetectionJob.InputDataConfig" - }, - "JobName": { - "type": "string" - }, - "LanguageCode": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DataAccessRoleArn", - "InputDataConfig", - "LanguageCode" - ], - "type": "object" - }, "Type": { - "enum": [ - "AWS::Comprehend::EntitiesDetectionJob" - ], + "markdownDescription": "Specifies the type of use for the environment variable value. The value can be either `PLAINTEXT` or `SECRETS_MANAGER` . If the value is `SECRETS_MANAGER` , provide the Secrets reference in the EnvironmentVariable value.", + "title": "Type", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { + "markdownDescription": "The environment variable value in the key-value pair.", + "title": "Value", "type": "string" } }, "required": [ - "Type", - "Properties" + "Name", + "Value" ], "type": "object" }, - "AWS::Comprehend::EntitiesDetectionJob.InputDataConfig": { + "AWS::CodePipeline::Pipeline.FailureConditions": { "additionalProperties": false, "properties": { - "InputFormat": { - "type": "string" + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.Condition" + }, + "markdownDescription": "The conditions that are configured as failure conditions. For more information about conditions, see [Stage conditions](https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html) and [How do stage conditions work?](https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html) .", + "title": "Conditions", + "type": "array" }, - "S3Uri": { + "Result": { + "markdownDescription": "The specified result for when the failure conditions are met, such as rolling back the stage.", + "title": "Result", "type": "string" + }, + "RetryConfiguration": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.RetryConfiguration", + "markdownDescription": "The retry configuration specifies automatic retry for a failed stage, along with the configured retry mode.", + "title": "RetryConfiguration" } }, - "required": [ - "S3Uri" - ], "type": "object" }, - "AWS::Comprehend::EntitiesDetectionJob.OutputDataConfig": { + "AWS::CodePipeline::Pipeline.GitBranchFilterCriteria": { "additionalProperties": false, "properties": { - "S3Uri": { - "type": "string" + "Excludes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of patterns of Git branches that, when a commit is pushed, are to be excluded from starting the pipeline.", + "title": "Excludes", + "type": "array" + }, + "Includes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of patterns of Git branches that, when a commit is pushed, are to be included as criteria that starts the pipeline.", + "title": "Includes", + "type": "array" } }, - "required": [ - "S3Uri" - ], "type": "object" }, - "AWS::Comprehend::Flywheel": { + "AWS::CodePipeline::Pipeline.GitConfiguration": { "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": { - "ActiveModelArn": { - "markdownDescription": "The Amazon Resource Number (ARN) of the active model version.", - "title": "ActiveModelArn", - "type": "string" - }, - "DataAccessRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend permission to access the flywheel data.", - "title": "DataAccessRoleArn", - "type": "string" - }, - "DataLakeS3Uri": { - "markdownDescription": "Amazon S3 URI of the data lake location.", - "title": "DataLakeS3Uri", - "type": "string" - }, - "DataSecurityConfig": { - "$ref": "#/definitions/AWS::Comprehend::Flywheel.DataSecurityConfig", - "markdownDescription": "Data security configuration.", - "title": "DataSecurityConfig" - }, - "FlywheelName": { - "markdownDescription": "Name for the flywheel.", - "title": "FlywheelName", - "type": "string" - }, - "ModelType": { - "markdownDescription": "Model type of the flywheel's model.", - "title": "ModelType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with \"Sales\" as the key might be added to an endpoint to indicate its use by the sales department.", - "title": "Tags", - "type": "array" - }, - "TaskConfig": { - "$ref": "#/definitions/AWS::Comprehend::Flywheel.TaskConfig", - "markdownDescription": "Configuration about the model associated with a flywheel.", - "title": "TaskConfig" - } + "PullRequest": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitPullRequestFilter" }, - "required": [ - "DataAccessRoleArn", - "DataLakeS3Uri", - "FlywheelName" - ], - "type": "object" + "markdownDescription": "The field where the repository event that will start the pipeline is specified as pull requests.", + "title": "PullRequest", + "type": "array" }, - "Type": { - "enum": [ - "AWS::Comprehend::Flywheel" - ], - "type": "string" + "Push": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitPushFilter" + }, + "markdownDescription": "The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details.", + "title": "Push", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceActionName": { + "markdownDescription": "The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only.\n\n> You can only specify one trigger configuration per source action.", + "title": "SourceActionName", "type": "string" } }, "required": [ - "Type", - "Properties" + "SourceActionName" ], "type": "object" }, - "AWS::Comprehend::Flywheel.DataSecurityConfig": { + "AWS::CodePipeline::Pipeline.GitFilePathFilterCriteria": { "additionalProperties": false, "properties": { - "DataLakeKmsKeyId": { - "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt the data in the data lake.", - "title": "DataLakeKmsKeyId", - "type": "string" - }, - "ModelKmsKeyId": { - "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`", - "title": "ModelKmsKeyId", - "type": "string" - }, - "VolumeKmsKeyId": { - "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt the volume.", - "title": "VolumeKmsKeyId", - "type": "string" + "Excludes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.", + "title": "Excludes", + "type": "array" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Comprehend::Flywheel.VpcConfig", - "markdownDescription": "Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for the job. For more information, see [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) .", - "title": "VpcConfig" + "Includes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.", + "title": "Includes", + "type": "array" } }, "type": "object" }, - "AWS::Comprehend::Flywheel.DocumentClassificationConfig": { + "AWS::CodePipeline::Pipeline.GitPullRequestFilter": { "additionalProperties": false, "properties": { - "Labels": { + "Branches": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitBranchFilterCriteria", + "markdownDescription": "The field that specifies to filter on branches for the pull request trigger configuration.", + "title": "Branches" + }, + "Events": { "items": { "type": "string" }, - "markdownDescription": "One or more labels to associate with the custom classifier.", - "title": "Labels", + "markdownDescription": "The field that specifies which pull request events to filter on (OPEN, UPDATED, CLOSED) for the trigger configuration.", + "title": "Events", "type": "array" }, - "Mode": { - "markdownDescription": "Classification mode indicates whether the documents are `MULTI_CLASS` or `MULTI_LABEL` .", - "title": "Mode", - "type": "string" + "FilePaths": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitFilePathFilterCriteria", + "markdownDescription": "The field that specifies to filter on file paths for the pull request trigger configuration.", + "title": "FilePaths" } }, - "required": [ - "Mode" - ], "type": "object" }, - "AWS::Comprehend::Flywheel.EntityRecognitionConfig": { + "AWS::CodePipeline::Pipeline.GitPushFilter": { "additionalProperties": false, "properties": { - "EntityTypes": { + "Branches": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitBranchFilterCriteria", + "markdownDescription": "The field that specifies to filter on branches for the push trigger configuration.", + "title": "Branches" + }, + "FilePaths": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitFilePathFilterCriteria", + "markdownDescription": "The field that specifies to filter on file paths for the push trigger configuration.", + "title": "FilePaths" + }, + "Tags": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitTagFilterCriteria", + "markdownDescription": "The field that contains the details for the Git tags trigger configuration.", + "title": "Tags" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Pipeline.GitTagFilterCriteria": { + "additionalProperties": false, + "properties": { + "Excludes": { "items": { - "$ref": "#/definitions/AWS::Comprehend::Flywheel.EntityTypesListItem" + "type": "string" }, - "markdownDescription": "Up to 25 entity types that the model is trained to recognize.", - "title": "EntityTypes", + "markdownDescription": "The list of patterns of Git tags that, when pushed, are to be excluded from starting the pipeline.", + "title": "Excludes", + "type": "array" + }, + "Includes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of patterns of Git tags that, when pushed, are to be included as criteria that starts the pipeline.", + "title": "Includes", "type": "array" } }, "type": "object" }, - "AWS::Comprehend::Flywheel.EntityTypesListItem": { + "AWS::CodePipeline::Pipeline.InputArtifact": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "An entity type within a labeled training dataset that Amazon Comprehend uses to train a custom entity recognizer.\n\nEntity types must not contain the following invalid characters: \\n (line break), \\\\n (escaped line break, \\r (carriage return), \\\\r (escaped carriage return), \\t (tab), \\\\t (escaped tab), and , (comma).", - "title": "Type", + "Name": { + "markdownDescription": "The name of the artifact to be worked on (for example, \"My App\").\n\nArtifacts are the files that are worked on by actions in the pipeline. See the action configuration for each action for details about artifact parameters. For example, the S3 source action input artifact is a file name (or file path), and the files are generally provided as a ZIP file. Example artifact name: SampleApp_Windows.zip\n\nThe input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.", + "title": "Name", "type": "string" } }, "required": [ - "Type" + "Name" ], "type": "object" }, - "AWS::Comprehend::Flywheel.TaskConfig": { + "AWS::CodePipeline::Pipeline.OutputArtifact": { "additionalProperties": false, "properties": { - "DocumentClassificationConfig": { - "$ref": "#/definitions/AWS::Comprehend::Flywheel.DocumentClassificationConfig", - "markdownDescription": "Configuration required for a document classification model.", - "title": "DocumentClassificationConfig" + "Files": { + "items": { + "type": "string" + }, + "markdownDescription": "The files that you want to associate with the output artifact that will be exported from the compute action.", + "title": "Files", + "type": "array" }, - "EntityRecognitionConfig": { - "$ref": "#/definitions/AWS::Comprehend::Flywheel.EntityRecognitionConfig", - "markdownDescription": "Configuration required for an entity recognition model.", - "title": "EntityRecognitionConfig" + "Name": { + "markdownDescription": "The name of the output of an artifact, such as \"My App\".\n\nThe output artifact name must exactly match the input artifact declared for a downstream action. However, the downstream action's input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.\n\nOutput artifact names must be unique within a pipeline.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.PipelineTriggerDeclaration": { + "additionalProperties": false, + "properties": { + "GitConfiguration": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitConfiguration", + "markdownDescription": "Provides the filter criteria and the source stage for the repository event that starts the pipeline, such as Git tags.", + "title": "GitConfiguration" }, - "LanguageCode": { - "markdownDescription": "Language code for the language that the model supports.", - "title": "LanguageCode", + "ProviderType": { + "markdownDescription": "The source provider for the event, such as connections configured for a repository with Git tags, for the specified trigger configuration.", + "title": "ProviderType", "type": "string" } }, "required": [ - "LanguageCode" + "ProviderType" ], "type": "object" }, - "AWS::Comprehend::Flywheel.VpcConfig": { + "AWS::CodePipeline::Pipeline.RetryConfiguration": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { + "RetryMode": { + "markdownDescription": "The method that you want to configure for automatic stage retry on stage failure. You can specify to retry only failed action in the stage or all actions in the stage.", + "title": "RetryMode", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Pipeline.RuleDeclaration": { + "additionalProperties": false, + "properties": { + "Commands": { "items": { "type": "string" }, - "markdownDescription": "The ID number for a security group on an instance of your private VPC. Security groups on your VPC function serve as a virtual firewall to control inbound and outbound traffic and provides security for the resources that you\u2019ll be accessing on the VPC. This ID number is preceded by \"sg-\", for instance: \"sg-03b388029b0a285ea\". For more information, see [Security Groups for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) .", - "title": "SecurityGroupIds", + "markdownDescription": "The shell commands to run with your commands rule in CodePipeline. All commands are supported except multi-line formats. While CodeBuild logs and permissions are used, you do not need to create any resources in CodeBuild.\n\n> Using compute time for this action will incur separate charges in AWS CodeBuild .", + "title": "Commands", "type": "array" }, - "Subnets": { + "Configuration": { + "markdownDescription": "The action configuration fields for the rule.", + "title": "Configuration", + "type": "object" + }, + "InputArtifacts": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" }, - "markdownDescription": "The ID for each subnet being used in your private VPC. This subnet is a subset of the a range of IPv4 addresses used by the VPC and is specific to a given availability zone in the VPC\u2019s Region. This ID number is preceded by \"subnet-\", for instance: \"subnet-04ccf456919e69055\". For more information, see [VPCs and Subnets](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) .", - "title": "Subnets", + "markdownDescription": "The input artifacts fields for the rule, such as specifying an input file for the rule.", + "title": "InputArtifacts", "type": "array" + }, + "Name": { + "markdownDescription": "The name of the rule that is created for the condition, such as `VariableCheck` .", + "title": "Name", + "type": "string" + }, + "Region": { + "markdownDescription": "The Region for the condition associated with the rule.", + "title": "Region", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The pipeline role ARN associated with the rule.", + "title": "RoleArn", + "type": "string" + }, + "RuleTypeId": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.RuleTypeId", + "markdownDescription": "The ID for the rule type, which is made up of the combined values for category, owner, provider, and version.", + "title": "RuleTypeId" } }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], "type": "object" }, - "AWS::Comprehend::FlywheelDataset": { + "AWS::CodePipeline::Pipeline.RuleTypeId": { "additionalProperties": false, "properties": { - "Condition": { + "Category": { + "markdownDescription": "A category defines what kind of rule can be run in the stage, and constrains the provider type for the rule. The valid category is `Rule` .", + "title": "Category", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Owner": { + "markdownDescription": "The creator of the rule being called. The valid value for the `Owner` field in the rule category is `AWS` .", + "title": "Owner", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Provider": { + "markdownDescription": "The rule provider, such as the `DeploymentWindow` rule. For a list of rule provider names, see the rules listed in the [AWS CodePipeline rule reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html) .", + "title": "Provider", + "type": "string" }, - "Metadata": { - "type": "object" + "Version": { + "markdownDescription": "A string that describes the rule version.", + "title": "Version", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Pipeline.StageDeclaration": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionDeclaration" + }, + "markdownDescription": "The actions included in a stage.", + "title": "Actions", + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - }, - "DatasetType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FlywheelArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "BeforeEntry": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BeforeEntryConditions", + "markdownDescription": "The method to use when a stage allows entry. For example, configuring this field for conditions will allow entry to the stage when the conditions are met.", + "title": "BeforeEntry" + }, + "Blockers": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BlockerDeclaration" }, - "required": [ - "DatasetName", - "FlywheelArn" - ], - "type": "object" + "markdownDescription": "Reserved for future use.", + "title": "Blockers", + "type": "array" }, - "Type": { - "enum": [ - "AWS::Comprehend::FlywheelDataset" - ], + "Name": { + "markdownDescription": "The name of the stage.", + "title": "Name", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "OnFailure": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.FailureConditions", + "markdownDescription": "The method to use when a stage has not completed successfully. For example, configuring this field for rollback will roll back a failed stage automatically to the last successful pipeline execution in the stage.", + "title": "OnFailure" + }, + "OnSuccess": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.SuccessConditions", + "markdownDescription": "The method to use when a stage has succeeded. For example, configuring this field for conditions will allow the stage to succeed when the conditions are met.", + "title": "OnSuccess" + } + }, + "required": [ + "Actions", + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.StageTransition": { + "additionalProperties": false, + "properties": { + "Reason": { + "markdownDescription": "The reason given to the user that a stage is disabled, such as waiting for manual approval or manual tests. This message is displayed in the pipeline console UI.", + "title": "Reason", + "type": "string" + }, + "StageName": { + "markdownDescription": "The name of the stage where you want to disable the inbound or outbound transition of artifacts.", + "title": "StageName", "type": "string" } }, "required": [ - "Type", - "Properties" + "Reason", + "StageName" ], "type": "object" }, - "AWS::Comprehend::SentimentDetectionJob": { + "AWS::CodePipeline::Pipeline.SuccessConditions": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.Condition" + }, + "markdownDescription": "The conditions that are success conditions.", + "title": "Conditions", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Pipeline.VariableDeclaration": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "markdownDescription": "The value of a pipeline-level variable.", + "title": "DefaultValue", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of a pipeline-level variable. It's used to add additional context about the variable, and not being used at time when pipeline executes.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of a pipeline-level variable.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Webhook": { "additionalProperties": false, "properties": { "Condition": { @@ -84909,35 +84594,68 @@ "Properties": { "additionalProperties": false, "properties": { - "DataAccessRoleArn": { + "Authentication": { + "markdownDescription": "Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.\n\n> When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities. > If a secret token was provided, it will be redacted in the response. \n\n- For information about the authentication scheme implemented by GITHUB_HMAC, see [Securing your webhooks](https://docs.aws.amazon.com/https://developer.github.com/webhooks/securing/) on the GitHub Developer website.\n- IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration.\n- UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.", + "title": "Authentication", "type": "string" }, - "InputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::SentimentDetectionJob.InputDataConfig" + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookAuthConfiguration", + "markdownDescription": "Properties that configure the authentication applied to incoming webhook trigger requests. The required properties depend on the authentication type. For GITHUB_HMAC, only the `SecretToken` property must be set. For IP, only the `AllowedIPRange` property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set.", + "title": "AuthenticationConfiguration" }, - "JobName": { - "type": "string" + "Filters": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookFilterRule" + }, + "markdownDescription": "A list of rules applied to the body/payload sent in the POST request to a webhook URL. All defined rules must pass for the request to be accepted and the pipeline started.", + "title": "Filters", + "type": "array" }, - "LanguageCode": { + "Name": { + "markdownDescription": "The name of the webhook.", + "title": "Name", "type": "string" }, + "RegisterWithThirdParty": { + "markdownDescription": "Configures a connection between the webhook that was created and the external tool with events to be detected.", + "title": "RegisterWithThirdParty", + "type": "boolean" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TargetAction": { + "markdownDescription": "The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline.", + "title": "TargetAction", + "type": "string" + }, + "TargetPipeline": { + "markdownDescription": "The name of the pipeline you want to connect to the webhook.", + "title": "TargetPipeline", + "type": "string" + }, + "TargetPipelineVersion": { + "markdownDescription": "The version number of the pipeline to be connected to the trigger request.\n\nRequired: Yes\n\nType: Integer\n\nUpdate requires: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)", + "title": "TargetPipelineVersion", + "type": "number" } }, "required": [ - "DataAccessRoleArn", - "InputDataConfig", - "LanguageCode" + "Authentication", + "AuthenticationConfiguration", + "Filters", + "TargetAction", + "TargetPipeline" ], "type": "object" }, "Type": { "enum": [ - "AWS::Comprehend::SentimentDetectionJob" + "AWS::CodePipeline::Webhook" ], "type": "string" }, @@ -84956,22 +84674,42 @@ ], "type": "object" }, - "AWS::Comprehend::SentimentDetectionJob.InputDataConfig": { + "AWS::CodePipeline::Webhook.WebhookAuthConfiguration": { "additionalProperties": false, "properties": { - "InputFormat": { + "AllowedIPRange": { + "markdownDescription": "The property used to configure acceptance of webhooks in an IP address range. For IP, only the `AllowedIPRange` property must be set. This property must be set to a valid CIDR range.", + "title": "AllowedIPRange", "type": "string" }, - "S3Uri": { + "SecretToken": { + "markdownDescription": "The property used to configure GitHub authentication. For GITHUB_HMAC, only the `SecretToken` property must be set.\n\n> When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities. > If a secret token was provided, it will be redacted in the response.", + "title": "SecretToken", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Webhook.WebhookFilterRule": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "markdownDescription": "A JsonPath expression that is applied to the body/payload of the webhook. The value selected by the JsonPath expression must match the value specified in the `MatchEquals` field. Otherwise, the request is ignored. For more information, see [Java JsonPath implementation](https://docs.aws.amazon.com/https://github.com/json-path/JsonPath) in GitHub.", + "title": "JsonPath", + "type": "string" + }, + "MatchEquals": { + "markdownDescription": "The value selected by the `JsonPath` expression must match what is supplied in the `MatchEquals` field. Otherwise, the request is ignored. Properties from the target action configuration can be included as placeholders in this value by surrounding the action configuration key with curly brackets. For example, if the value supplied here is \"refs/heads/{Branch}\" and the target action has an action configuration property called \"Branch\" with a value of \"main\", the `MatchEquals` value is evaluated as \"refs/heads/main\". For a list of action configuration properties for built-in action types, see [Pipeline Structure Reference Action Requirements](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements) .", + "title": "MatchEquals", "type": "string" } }, "required": [ - "S3Uri" + "JsonPath" ], "type": "object" }, - "AWS::Comprehend::TargetedSentimentDetectionJob": { + "AWS::CodeStar::GitHubRepository": { "additionalProperties": false, "properties": { "Condition": { @@ -85006,38 +84744,56 @@ "Properties": { "additionalProperties": false, "properties": { - "DataAccessRoleArn": { + "Code": { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code", + "markdownDescription": "Information about code to be committed to a repository after it is created in an CloudFormation stack.", + "title": "Code" + }, + "ConnectionArn": { + "markdownDescription": "", + "title": "ConnectionArn", "type": "string" }, - "InputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::TargetedSentimentDetectionJob.InputDataConfig" + "EnableIssues": { + "markdownDescription": "Indicates whether to enable issues for the GitHub repository. You can use GitHub issues to track information and bugs for your repository.", + "title": "EnableIssues", + "type": "boolean" }, - "JobName": { + "IsPrivate": { + "markdownDescription": "Indicates whether the GitHub repository is a private repository. If so, you choose who can see and commit to this repository.", + "title": "IsPrivate", + "type": "boolean" + }, + "RepositoryAccessToken": { + "markdownDescription": "The GitHub user's personal access token for the GitHub repository.", + "title": "RepositoryAccessToken", "type": "string" }, - "LanguageCode": { + "RepositoryDescription": { + "markdownDescription": "A comment or description about the new repository. This description is displayed in GitHub after the repository is created.", + "title": "RepositoryDescription", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::Comprehend::TargetedSentimentDetectionJob.TagsItems" - }, - "type": "array" + "RepositoryName": { + "markdownDescription": "The name of the repository you want to create in GitHub with CloudFormation stack creation.", + "title": "RepositoryName", + "type": "string" }, - "VolumeKmsKeyId": { + "RepositoryOwner": { + "markdownDescription": "The GitHub user name for the owner of the GitHub repository to be created. If this repository should be owned by a GitHub organization, provide its name.", + "title": "RepositoryOwner", "type": "string" } }, "required": [ - "DataAccessRoleArn", - "InputDataConfig", - "LanguageCode" + "RepositoryName", + "RepositoryOwner" ], "type": "object" }, "Type": { "enum": [ - "AWS::Comprehend::TargetedSentimentDetectionJob" + "AWS::CodeStar::GitHubRepository" ], "type": "string" }, @@ -85056,53 +84812,46 @@ ], "type": "object" }, - "AWS::Comprehend::TargetedSentimentDetectionJob.InputDataConfig": { + "AWS::CodeStar::GitHubRepository.Code": { "additionalProperties": false, "properties": { - "InputFormat": { - "type": "string" - }, - "S3Uri": { - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.S3", + "markdownDescription": "Information about the Amazon S3 bucket that contains a ZIP file of code to be committed to the repository.", + "title": "S3" } }, "required": [ - "S3Uri" + "S3" ], "type": "object" }, - "AWS::Comprehend::TargetedSentimentDetectionJob.OutputDataConfig": { + "AWS::CodeStar::GitHubRepository.S3": { "additionalProperties": false, "properties": { - "KmsKeyId": { + "Bucket": { + "markdownDescription": "The name of the Amazon S3 bucket that contains the ZIP file with the content to be committed to the new repository.", + "title": "Bucket", "type": "string" }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::TargetedSentimentDetectionJob.TagsItems": { - "additionalProperties": false, - "properties": { "Key": { + "markdownDescription": "The S3 object key or file name for the ZIP file.", + "title": "Key", "type": "string" }, - "Value": { + "ObjectVersion": { + "markdownDescription": "The object version of the ZIP file, if versioning is enabled for the Amazon S3 bucket.", + "title": "ObjectVersion", "type": "string" } }, "required": [ - "Key", - "Value" + "Bucket", + "Key" ], "type": "object" }, - "AWS::ComputeOptimizer::AutomationRule": { + "AWS::CodeStarConnections::Connection": { "additionalProperties": false, "properties": { "Condition": { @@ -85137,55 +84886,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Criteria": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.Criteria" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OrganizationConfiguration": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.OrganizationConfiguration" - }, - "Priority": { + "ConnectionName": { + "markdownDescription": "The name of the connection. Connection names must be unique in an AWS account .", + "title": "ConnectionName", "type": "string" }, - "RecommendedActionTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RuleType": { + "HostArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the host associated with the connection.", + "title": "HostArn", "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.Schedule" - }, - "Status": { + "ProviderType": { + "markdownDescription": "The name of the external provider where your third-party code repository is configured.", + "title": "ProviderType", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "Specifies the tags applied to the resource.", + "title": "Tags", "type": "array" } }, "required": [ - "Name", - "RecommendedActionTypes", - "RuleType", - "Schedule", - "Status" + "ConnectionName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ComputeOptimizer::AutomationRule" + "AWS::CodeStarConnections::Connection" ], "type": "string" }, @@ -85204,154 +84936,7 @@ ], "type": "object" }, - "AWS::ComputeOptimizer::AutomationRule.Criteria": { - "additionalProperties": false, - "properties": { - "EbsVolumeSizeInGib": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition" - }, - "type": "array" - }, - "EbsVolumeType": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" - }, - "type": "array" - }, - "EstimatedMonthlySavings": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.DoubleCriteriaCondition" - }, - "type": "array" - }, - "LookBackPeriodInDays": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition" - }, - "type": "array" - }, - "Region": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" - }, - "type": "array" - }, - "ResourceArn": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" - }, - "type": "array" - }, - "ResourceTag": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.ResourceTagsCriteriaCondition" - }, - "type": "array" - }, - "RestartNeeded": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ComputeOptimizer::AutomationRule.DoubleCriteriaCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ComputeOptimizer::AutomationRule.OrganizationConfiguration": { - "additionalProperties": false, - "properties": { - "AccountIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RuleApplyOrder": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ComputeOptimizer::AutomationRule.ResourceTagsCriteriaCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ComputeOptimizer::AutomationRule.Schedule": { - "additionalProperties": false, - "properties": { - "ExecutionWindowInMinutes": { - "type": "number" - }, - "ScheduleExpression": { - "type": "string" - }, - "ScheduleExpressionTimezone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Config::AggregationAuthorization": { + "AWS::CodeStarConnections::RepositoryLink": { "additionalProperties": false, "properties": { "Condition": { @@ -85386,34 +84971,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthorizedAccountId": { - "markdownDescription": "The 12-digit account ID of the account authorized to aggregate data.", - "title": "AuthorizedAccountId", + "ConnectionArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the connection associated with the repository link.", + "title": "ConnectionArn", "type": "string" }, - "AuthorizedAwsRegion": { - "markdownDescription": "The region authorized to collect aggregated data.", - "title": "AuthorizedAwsRegion", + "EncryptionKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the encryption key for the repository associated with the repository link.", + "title": "EncryptionKeyArn", + "type": "string" + }, + "OwnerId": { + "markdownDescription": "The owner ID for the repository associated with the repository link, such as the owner ID in GitHub.", + "title": "OwnerId", + "type": "string" + }, + "RepositoryName": { + "markdownDescription": "The name of the repository associated with the repository link.", + "title": "RepositoryName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of tag object.", + "markdownDescription": "The tags for the repository to be associated with the repository link.", "title": "Tags", "type": "array" } }, "required": [ - "AuthorizedAccountId", - "AuthorizedAwsRegion" + "ConnectionArn", + "OwnerId", + "RepositoryName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::AggregationAuthorization" + "AWS::CodeStarConnections::RepositoryLink" ], "type": "string" }, @@ -85432,7 +85028,7 @@ ], "type": "object" }, - "AWS::Config::ConfigRule": { + "AWS::CodeStarConnections::SyncConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -85467,58 +85063,60 @@ "Properties": { "additionalProperties": false, "properties": { - "Compliance": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Compliance", - "markdownDescription": "Indicates whether an AWS resource or AWS Config rule is compliant and provides the number of contributors that affect the compliance.", - "title": "Compliance" + "Branch": { + "markdownDescription": "The branch associated with a specific sync configuration.", + "title": "Branch", + "type": "string" }, - "ConfigRuleName": { - "markdownDescription": "A name for the AWS Config rule. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the rule name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .", - "title": "ConfigRuleName", + "ConfigFile": { + "markdownDescription": "The file path to the configuration file associated with a specific sync configuration. The path should point to an actual file in the sync configurations linked repository.", + "title": "ConfigFile", "type": "string" }, - "Description": { - "markdownDescription": "The description that you provide for the AWS Config rule.", - "title": "Description", + "PublishDeploymentStatus": { + "markdownDescription": "Whether to enable or disable publishing of deployment status to source providers.", + "title": "PublishDeploymentStatus", "type": "string" }, - "EvaluationModes": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigRule.EvaluationModeConfiguration" - }, - "markdownDescription": "The modes the AWS Config rule can be evaluated in. The valid values are distinct objects. By default, the value is Detective evaluation mode only.", - "title": "EvaluationModes", - "type": "array" + "RepositoryLinkId": { + "markdownDescription": "The ID of the repository link associated with a specific sync configuration.", + "title": "RepositoryLinkId", + "type": "string" }, - "InputParameters": { - "markdownDescription": "A string, in JSON format, that is passed to the AWS Config rule Lambda function.", - "title": "InputParameters", - "type": "object" + "ResourceName": { + "markdownDescription": "The name of the connection resource associated with a specific sync configuration.", + "title": "ResourceName", + "type": "string" }, - "MaximumExecutionFrequency": { - "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for `MaximumExecutionFrequency` when:\n\n- You are using an AWS managed rule that is triggered at a periodic frequency.\n- Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see [ConfigSnapshotDeliveryProperties](https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigSnapshotDeliveryProperties.html) .\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.", - "title": "MaximumExecutionFrequency", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role associated with a specific sync configuration.", + "title": "RoleArn", "type": "string" }, - "Scope": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Scope", - "markdownDescription": "Defines which resources can trigger an evaluation for the rule. The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes.", - "title": "Scope" + "SyncType": { + "markdownDescription": "The type of sync for a specific sync configuration.", + "title": "SyncType", + "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Source", - "markdownDescription": "Provides the rule owner ( `AWS` for managed rules, `CUSTOM_POLICY` for Custom Policy rules, and `CUSTOM_LAMBDA` for Custom Lambda rules), the rule identifier, and the notifications that cause the function to evaluate your AWS resources.", - "title": "Source" + "TriggerResourceUpdateOn": { + "markdownDescription": "When to trigger Git sync to begin the stack update.", + "title": "TriggerResourceUpdateOn", + "type": "string" } }, "required": [ - "Source" + "Branch", + "ConfigFile", + "RepositoryLinkId", + "ResourceName", + "RoleArn", + "SyncType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::ConfigRule" + "AWS::CodeStarConnections::SyncConfiguration" ], "type": "string" }, @@ -85537,136 +85135,7 @@ ], "type": "object" }, - "AWS::Config::ConfigRule.Compliance": { - "additionalProperties": false, - "properties": { - "Type": { - "markdownDescription": "Indicates whether an AWS resource or AWS Config rule is compliant.\n\nA resource is compliant if it complies with all of the AWS Config rules that evaluate it. A resource is noncompliant if it does not comply with one or more of these rules.\n\nA rule is compliant if all of the resources that the rule evaluates comply with it. A rule is noncompliant if any of these resources do not comply.\n\nAWS Config returns the `INSUFFICIENT_DATA` value when no evaluation results are available for the AWS resource or AWS Config rule.\n\nFor the `Compliance` data type, AWS Config supports only `COMPLIANT` , `NON_COMPLIANT` , and `INSUFFICIENT_DATA` values. AWS Config does not support the `NOT_APPLICABLE` value for the `Compliance` data type.", - "title": "Type", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.CustomPolicyDetails": { - "additionalProperties": false, - "properties": { - "EnableDebugLogDelivery": { - "markdownDescription": "The boolean expression for enabling debug logging for your AWS Config Custom Policy rule. The default value is `false` .", - "title": "EnableDebugLogDelivery", - "type": "boolean" - }, - "PolicyRuntime": { - "markdownDescription": "The runtime system for your AWS Config Custom Policy rule. Guard is a policy-as-code language that allows you to write policies that are enforced by AWS Config Custom Policy rules. For more information about Guard, see the [Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard) .", - "title": "PolicyRuntime", - "type": "string" - }, - "PolicyText": { - "markdownDescription": "The policy definition containing the logic for your AWS Config Custom Policy rule.", - "title": "PolicyText", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.EvaluationModeConfiguration": { - "additionalProperties": false, - "properties": { - "Mode": { - "markdownDescription": "The mode of an evaluation. The valid values are Detective or Proactive.", - "title": "Mode", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.Scope": { - "additionalProperties": false, - "properties": { - "ComplianceResourceId": { - "markdownDescription": "The ID of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for `ComplianceResourceTypes` .", - "title": "ComplianceResourceId", - "type": "string" - }, - "ComplianceResourceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The resource types of only those AWS resources that you want to trigger an evaluation for the rule. You can only specify one type if you also specify a resource ID for `ComplianceResourceId` .", - "title": "ComplianceResourceTypes", - "type": "array" - }, - "TagKey": { - "markdownDescription": "The tag key that is applied to only those AWS resources that you want to trigger an evaluation for the rule.", - "title": "TagKey", - "type": "string" - }, - "TagValue": { - "markdownDescription": "The tag value applied to only those AWS resources that you want to trigger an evaluation for the rule. If you specify a value for `TagValue` , you must also specify a value for `TagKey` .", - "title": "TagValue", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.Source": { - "additionalProperties": false, - "properties": { - "CustomPolicyDetails": { - "$ref": "#/definitions/AWS::Config::ConfigRule.CustomPolicyDetails", - "markdownDescription": "Provides the runtime system, policy definition, and whether debug logging is enabled. Required when owner is set to `CUSTOM_POLICY` .", - "title": "CustomPolicyDetails" - }, - "Owner": { - "markdownDescription": "Indicates whether AWS or the customer owns and manages the AWS Config rule.\n\nAWS Config Managed Rules are predefined rules owned by AWS . For more information, see [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) in the *AWS Config developer guide* .\n\nAWS Config Custom Rules are rules that you can develop either with Guard ( `CUSTOM_POLICY` ) or AWS Lambda ( `CUSTOM_LAMBDA` ). For more information, see [AWS Config Custom Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html) in the *AWS Config developer guide* .", - "title": "Owner", - "type": "string" - }, - "SourceDetails": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" - }, - "markdownDescription": "Provides the source and the message types that cause AWS Config to evaluate your AWS resources against a rule. It also provides the frequency with which you want AWS Config to run evaluations for the rule if the trigger type is periodic.\n\nIf the owner is set to `CUSTOM_POLICY` , the only acceptable values for the AWS Config rule trigger message type are `ConfigurationItemChangeNotification` and `OversizedConfigurationItemChangeNotification` .", - "title": "SourceDetails", - "type": "array" - }, - "SourceIdentifier": { - "markdownDescription": "For AWS Config Managed rules, a predefined identifier from a list. For example, `IAM_PASSWORD_POLICY` is a managed rule. To reference a managed rule, see [List of AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) .\n\nFor AWS Config Custom Lambda rules, the identifier is the Amazon Resource Name (ARN) of the rule's AWS Lambda function, such as `arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name` .\n\nFor AWS Config Custom Policy rules, this field will be ignored.", - "title": "SourceIdentifier", - "type": "string" - } - }, - "required": [ - "Owner" - ], - "type": "object" - }, - "AWS::Config::ConfigRule.SourceDetail": { - "additionalProperties": false, - "properties": { - "EventSource": { - "markdownDescription": "The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources.", - "title": "EventSource", - "type": "string" - }, - "MaximumExecutionFrequency": { - "markdownDescription": "The frequency at which you want AWS Config to run evaluations for a custom rule with a periodic trigger. If you specify a value for `MaximumExecutionFrequency` , then `MessageType` must use the `ScheduledNotification` value.\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.\n> \n> Based on the valid value you choose, AWS Config runs evaluations once for each valid value. For example, if you choose `Three_Hours` , AWS Config runs evaluations once every three hours. In this case, `Three_Hours` is the frequency of this rule.", - "title": "MaximumExecutionFrequency", - "type": "string" - }, - "MessageType": { - "markdownDescription": "The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:\n\n- `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change.\n- `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.\n- `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `MaximumExecutionFrequency` .\n- `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot.\n\nIf you want your custom rule to be triggered by configuration changes, specify two SourceDetail objects, one for `ConfigurationItemChangeNotification` and one for `OversizedConfigurationItemChangeNotification` .", - "title": "MessageType", - "type": "string" - } - }, - "required": [ - "EventSource", - "MessageType" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator": { + "AWS::CodeStarNotifications::NotificationRule": { "additionalProperties": false, "properties": { "Condition": { @@ -85701,38 +85170,81 @@ "Properties": { "additionalProperties": false, "properties": { - "AccountAggregationSources": { + "CreatedBy": { + "markdownDescription": "The name or email alias of the person who created the notification rule.", + "title": "CreatedBy", + "type": "string" + }, + "DetailType": { + "markdownDescription": "The level of detail to include in the notifications for this resource. `BASIC` will include only the contents of the event as it would appear in Amazon CloudWatch. `FULL` will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.", + "title": "DetailType", + "type": "string" + }, + "EventTypeId": { + "markdownDescription": "The event type associated with this notification rule. For a complete list of event types and IDs, see [Notification concepts](https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#concepts-api) in the *Developer Tools Console User Guide* .", + "title": "EventTypeId", + "type": "string" + }, + "EventTypeIds": { "items": { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.AccountAggregationSource" + "type": "string" }, - "markdownDescription": "Provides a list of source accounts and regions to be aggregated.", - "title": "AccountAggregationSources", + "markdownDescription": "A list of event types associated with this notification rule. For a complete list of event types and IDs, see [Notification concepts](https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#concepts-api) in the *Developer Tools Console User Guide* .", + "title": "EventTypeIds", "type": "array" }, - "ConfigurationAggregatorName": { - "markdownDescription": "The name of the aggregator.", - "title": "ConfigurationAggregatorName", + "Name": { + "markdownDescription": "The name for the notification rule. Notification rule names must be unique in your AWS account .", + "title": "Name", "type": "string" }, - "OrganizationAggregationSource": { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.OrganizationAggregationSource", - "markdownDescription": "Provides an organization and list of regions to be aggregated.", - "title": "OrganizationAggregationSource" + "Resource": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource to associate with the notification rule. Supported resources include pipelines in AWS CodePipeline , repositories in AWS CodeCommit , and build projects in AWS CodeBuild .", + "title": "Resource", + "type": "string" + }, + "Status": { + "markdownDescription": "The status of the notification rule. The default value is `ENABLED` . If the status is set to `DISABLED` , notifications aren't sent for the notification rule.", + "title": "Status", + "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "A list of tags to apply to this notification rule. Key names cannot start with \" `aws` \".", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "An array of tag object.", "title": "Tags", + "type": "object" + }, + "TargetAddress": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon topic or client.", + "title": "TargetAddress", + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule.Target" + }, + "markdownDescription": "A list of Amazon Resource Names (ARNs) of Amazon topics and clients to associate with the notification rule.", + "title": "Targets", "type": "array" } }, + "required": [ + "DetailType", + "EventTypeIds", + "Name", + "Resource", + "Targets" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::ConfigurationAggregator" + "AWS::CodeStarNotifications::NotificationRule" ], "type": "string" }, @@ -85746,68 +85258,32 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator.AccountAggregationSource": { - "additionalProperties": false, - "properties": { - "AccountIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The 12-digit account ID of the account being aggregated.", - "title": "AccountIds", - "type": "array" - }, - "AllAwsRegions": { - "markdownDescription": "If true, aggregate existing AWS Config regions and future regions.", - "title": "AllAwsRegions", - "type": "boolean" - }, - "AwsRegions": { - "items": { - "type": "string" - }, - "markdownDescription": "The source regions being aggregated.", - "title": "AwsRegions", - "type": "array" - } - }, - "required": [ - "AccountIds" + "Type", + "Properties" ], "type": "object" }, - "AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": { + "AWS::CodeStarNotifications::NotificationRule.Target": { "additionalProperties": false, "properties": { - "AllAwsRegions": { - "markdownDescription": "If true, aggregate existing AWS Config regions and future regions.", - "title": "AllAwsRegions", - "type": "boolean" - }, - "AwsRegions": { - "items": { - "type": "string" - }, - "markdownDescription": "The source regions being aggregated.", - "title": "AwsRegions", - "type": "array" + "TargetAddress": { + "markdownDescription": "The Amazon Resource Name (ARN) of the topic or client.", + "title": "TargetAddress", + "type": "string" }, - "RoleArn": { - "markdownDescription": "ARN of the IAM role used to retrieve AWS Organizations details associated with the aggregator account.", - "title": "RoleArn", + "TargetType": { + "markdownDescription": "The target type. Can be an Amazon Simple Notification Service topic or client.\n\n- Amazon Simple Notification Service topics are specified as `SNS` .\n- clients are specified as `AWSChatbotSlack` .\n- clients for Microsoft Teams are specified as `AWSChatbotMicrosoftTeams` .", + "title": "TargetType", "type": "string" } }, "required": [ - "RoleArn" + "TargetAddress", + "TargetType" ], "type": "object" }, - "AWS::Config::ConfigurationRecorder": { + "AWS::Cognito::IdentityPool": { "additionalProperties": false, "properties": { "Condition": { @@ -85842,35 +85318,87 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the configuration recorder. AWS Config automatically assigns the name of \"default\" when creating the configuration recorder.\n\nYou cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.", - "title": "Name", - "type": "string" + "AllowClassicFlow": { + "markdownDescription": "Enables the Basic (Classic) authentication flow.", + "title": "AllowClassicFlow", + "type": "boolean" }, - "RecordingGroup": { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingGroup", - "markdownDescription": "Specifies which resource types AWS Config records for configuration changes.\n\n> *High Number of AWS Config Evaluations*\n> \n> You may notice increased activity in your account during your initial month recording with AWS Config when compared to subsequent months. During the initial bootstrapping process, AWS Config runs evaluations on all the resources in your account that you have selected for AWS Config to record.\n> \n> If you are running ephemeral workloads, you may see increased activity from AWS Config as it records configuration changes associated with creating and deleting these temporary resources. An *ephemeral workload* is a temporary use of computing resources that are loaded and run when needed. Examples include Amazon Elastic Compute Cloud ( Amazon EC2 ) Spot Instances, Amazon EMR jobs, and AWS Auto Scaling . If you want to avoid the increased activity from running ephemeral workloads, you can run these types of workloads in a separate account with AWS Config turned off to avoid increased configuration recording and rule evaluations.", - "title": "RecordingGroup" + "AllowUnauthenticatedIdentities": { + "markdownDescription": "Specifies whether the identity pool supports unauthenticated logins.", + "title": "AllowUnauthenticatedIdentities", + "type": "boolean" }, - "RecordingMode": { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingMode", - "markdownDescription": "Specifies the default recording frequency for the configuration recorder. AWS Config supports *Continuous recording* and *Daily recording* .\n\n- Continuous recording allows you to record configuration changes continuously whenever a change occurs.\n- Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it\u2019s different from the previous CI recorded.\n\n> *Some resource types require continuous recording*\n> \n> AWS Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous. \n\nYou can also override the recording frequency for specific resource types.", - "title": "RecordingMode" + "CognitoEvents": { + "markdownDescription": "The events to configure.", + "title": "CognitoEvents", + "type": "object" }, - "RoleARN": { - "markdownDescription": "Amazon Resource Name (ARN) of the IAM role assumed by AWS Config and used by the configuration recorder. For more information, see [Permissions for the IAM Role Assigned](https://docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html) to AWS Config in the AWS Config Developer Guide.\n\n> *Pre-existing AWS Config role*\n> \n> If you have used an AWS service that uses AWS Config , such as AWS Security Hub CSPM or AWS Control Tower , and an AWS Config role has already been created, make sure that the IAM role that you use when setting up AWS Config keeps the same minimum permissions as the already created AWS Config role. You must do this so that the other AWS service continues to run as expected.\n> \n> For example, if AWS Control Tower has an IAM role that allows AWS Config to read Amazon Simple Storage Service ( Amazon S3 ) objects, make sure that the same permissions are granted within the IAM role you use when setting up AWS Config . Otherwise, it may interfere with how AWS Control Tower operates. For more information about IAM roles for AWS Config , see [*Identity and Access Management for AWS Config*](https://docs.aws.amazon.com/config/latest/developerguide/security-iam.html) in the *AWS Config Developer Guide* .", - "title": "RoleARN", + "CognitoIdentityProviders": { + "items": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoIdentityProvider" + }, + "markdownDescription": "The Amazon Cognito user pools and their client IDs.", + "title": "CognitoIdentityProviders", + "type": "array" + }, + "CognitoStreams": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoStreams", + "markdownDescription": "Configuration options for configuring Amazon Cognito streams.", + "title": "CognitoStreams" + }, + "DeveloperProviderName": { + "markdownDescription": "The \"domain\" Amazon Cognito uses when referencing your users. This name acts as a placeholder that allows your backend and the Amazon Cognito service to communicate about the developer provider. For the `DeveloperProviderName` , you can use letters and periods (.), underscores (_), and dashes (-).\n\n*Minimum length* : 1\n\n*Maximum length* : 100", + "title": "DeveloperProviderName", + "type": "string" + }, + "IdentityPoolName": { + "markdownDescription": "The name of your Amazon Cognito identity pool.\n\n*Minimum length* : 1\n\n*Maximum length* : 128\n\n*Pattern* : `[\\w\\s+=,.@-]+`", + "title": "IdentityPoolName", "type": "string" + }, + "IdentityPoolTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to assign to the identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.", + "title": "IdentityPoolTags", + "type": "array" + }, + "OpenIdConnectProviderARNs": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the OpenID connect providers.", + "title": "OpenIdConnectProviderARNs", + "type": "array" + }, + "PushSync": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.PushSync", + "markdownDescription": "The configuration options to be applied to the identity pool.", + "title": "PushSync" + }, + "SamlProviderARNs": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the Security Assertion Markup Language (SAML) providers.", + "title": "SamlProviderARNs", + "type": "array" + }, + "SupportedLoginProviders": { + "markdownDescription": "Key-value pairs that map provider names to provider app IDs.", + "title": "SupportedLoginProviders", + "type": "object" } }, "required": [ - "RoleARN" + "AllowUnauthenticatedIdentities" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::ConfigurationRecorder" + "AWS::Cognito::IdentityPool" ], "type": "string" }, @@ -85889,122 +85417,72 @@ ], "type": "object" }, - "AWS::Config::ConfigurationRecorder.ExclusionByResourceTypes": { - "additionalProperties": false, - "properties": { - "ResourceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A comma-separated list of resource types to exclude from recording by the configuration recorder.", - "title": "ResourceTypes", - "type": "array" - } - }, - "required": [ - "ResourceTypes" - ], - "type": "object" - }, - "AWS::Config::ConfigurationRecorder.RecordingGroup": { + "AWS::Cognito::IdentityPool.CognitoIdentityProvider": { "additionalProperties": false, "properties": { - "AllSupported": { - "markdownDescription": "Specifies whether AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types.\n\nIf you set this field to `true` , when AWS Config adds support for a new resource type, AWS Config starts recording resources of that type automatically.\n\nIf you set this field to `true` , you cannot enumerate specific resource types to record in the `resourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) , or to exclude in the `resourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) .\n\n> *Region availability*\n> \n> Check [Resource Coverage by Region Availability](https://docs.aws.amazon.com/config/latest/developerguide/what-is-resource-config-coverage.html) to see if a resource type is supported in the AWS Region where you set up AWS Config .", - "title": "AllSupported", - "type": "boolean" - }, - "ExclusionByResourceTypes": { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.ExclusionByResourceTypes", - "markdownDescription": "An object that specifies how AWS Config excludes resource types from being recorded by the configuration recorder.\n\nTo use this option, you must set the `useOnly` field of [AWS::Config::ConfigurationRecorder RecordingStrategy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingstrategy.html) to `EXCLUSION_BY_RESOURCE_TYPES` .", - "title": "ExclusionByResourceTypes" - }, - "IncludeGlobalResourceTypes": { - "markdownDescription": "This option is a bundle which only applies to the global IAM resource types: IAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded by AWS Config in Regions where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:\n\n- Asia Pacific (Hyderabad)\n- Asia Pacific (Melbourne)\n- Canada West (Calgary)\n- Europe (Spain)\n- Europe (Zurich)\n- Israel (Tel Aviv)\n- Middle East (UAE)\n\n> *Aurora global clusters are recorded in all enabled Regions*\n> \n> The `AWS::RDS::GlobalCluster` resource type will be recorded in all supported AWS Config Regions where the configuration recorder is enabled, even if `IncludeGlobalResourceTypes` is set to `false` . The `IncludeGlobalResourceTypes` option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.\n> \n> If you do not want to record `AWS::RDS::GlobalCluster` in all enabled Regions, use one of the following recording strategies:\n> \n> - *Record all current and future resource types with exclusions* ( `EXCLUSION_BY_RESOURCE_TYPES` ), or\n> - *Record specific resource types* ( `INCLUSION_BY_RESOURCE_TYPES` ).\n> \n> For more information, see [Selecting Which Resources are Recorded](https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html#select-resources-all) in the *AWS Config developer guide* . > *IncludeGlobalResourceTypes and the exclusion recording strategy*\n> \n> The `IncludeGlobalResourceTypes` field has no impact on the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy. This means that the global IAM resource types ( IAM users, groups, roles, and customer managed policies) will not be automatically added as exclusions for `ExclusionByResourceTypes` when `IncludeGlobalResourceTypes` is set to `false` .\n> \n> The `IncludeGlobalResourceTypes` field should only be used to modify the `AllSupported` field, as the default for the `AllSupported` field is to record configuration changes for all supported resource types excluding the global IAM resource types. To include the global IAM resource types when `AllSupported` is set to `true` , make sure to set `IncludeGlobalResourceTypes` to `true` .\n> \n> To exclude the global IAM resource types for the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy, you need to manually add them to the `ResourceTypes` field of `ExclusionByResourceTypes` . > *Required and optional fields*\n> \n> Before you set this field to `true` , set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` . Optionally, you can set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `ALL_SUPPORTED_RESOURCE_TYPES` . > *Overriding fields*\n> \n> If you set this field to `false` but list global IAM resource types in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) , AWS Config will still record configuration changes for those specified resource types *regardless* of if you set the `IncludeGlobalResourceTypes` field to false.\n> \n> If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the `ResourceTypes` field in addition to setting the `IncludeGlobalResourceTypes` field to false.", - "title": "IncludeGlobalResourceTypes", - "type": "boolean" - }, - "RecordingStrategy": { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingStrategy", - "markdownDescription": "An object that specifies the recording strategy for the configuration recorder.\n\n- If you set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `ALL_SUPPORTED_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` . When AWS Config adds support for a new resource type, AWS Config automatically starts recording resources of that type.\n- If you set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `INCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for only the resource types you specify in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n- If you set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `EXCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types except the resource types that you specify to exclude from being recorded in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) .\n\n> *Required and optional fields*\n> \n> The `recordingStrategy` field is optional when you set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` .\n> \n> The `recordingStrategy` field is optional when you list resource types in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n> \n> The `recordingStrategy` field is required if you list resource types to exclude from recording in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) . > *Overriding fields*\n> \n> If you choose `EXCLUSION_BY_RESOURCE_TYPES` for the recording strategy, the `ExclusionByResourceTypes` field will override other properties in the request.\n> \n> For example, even if you set `IncludeGlobalResourceTypes` to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the `ResourceTypes` field of `ExclusionByResourceTypes` . > *Global resources types and the resource exclusion recording strategy*\n> \n> By default, if you choose the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy, when AWS Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, AWS Config starts recording resources of that type automatically.\n> \n> Unless specifically listed as exclusions, `AWS::RDS::GlobalCluster` will be recorded automatically in all supported AWS Config Regions were the configuration recorder is enabled.\n> \n> IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:\n> \n> - Asia Pacific (Hyderabad)\n> - Asia Pacific (Melbourne)\n> - Canada West (Calgary)\n> - Europe (Spain)\n> - Europe (Zurich)\n> - Israel (Tel Aviv)\n> - Middle East (UAE)", - "title": "RecordingStrategy" + "ClientId": { + "markdownDescription": "The client ID for the Amazon Cognito user pool.", + "title": "ClientId", + "type": "string" }, - "ResourceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A comma-separated list that specifies which resource types AWS Config records.\n\nFor a list of valid `ResourceTypes` values, see the *Resource Type Value* column in [Supported AWS resource Types](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources) in the *AWS Config developer guide* .\n\n> *Required and optional fields*\n> \n> Optionally, you can set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `INCLUSION_BY_RESOURCE_TYPES` .\n> \n> To record all configuration changes, set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` , and either omit this field or don't specify any resource types in this field. If you set the `AllSupported` field to `false` and specify values for `ResourceTypes` , when AWS Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group. > *Region availability*\n> \n> Before specifying a resource type for AWS Config to track, check [Resource Coverage by Region Availability](https://docs.aws.amazon.com/config/latest/developerguide/what-is-resource-config-coverage.html) to see if the resource type is supported in the AWS Region where you set up AWS Config . If a resource type is supported by AWS Config in at least one Region, you can enable the recording of that resource type in all Regions supported by AWS Config , even if the specified resource type is not supported in the AWS Region where you set up AWS Config .", - "title": "ResourceTypes", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Config::ConfigurationRecorder.RecordingMode": { - "additionalProperties": false, - "properties": { - "RecordingFrequency": { - "markdownDescription": "The default recording frequency that AWS Config uses to record configuration changes.\n\n> Daily recording cannot be specified for the following resource types:\n> \n> - `AWS::Config::ResourceCompliance`\n> - `AWS::Config::ConformancePackCompliance`\n> - `AWS::Config::ConfigurationRecorder`\n> \n> For the *allSupported* ( `ALL_SUPPORTED_RESOURCE_TYPES` ) recording strategy, these resource types will be set to Continuous recording.", - "title": "RecordingFrequency", + "ProviderName": { + "markdownDescription": "The provider name for an Amazon Cognito user pool. For example: `cognito-idp.us-east-2.amazonaws.com/us-east-2_123456789` .", + "title": "ProviderName", "type": "string" }, - "RecordingModeOverrides": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingModeOverride" - }, - "markdownDescription": "An array of `recordingModeOverride` objects for you to specify your overrides for the recording mode. The `recordingModeOverride` object in the `recordingModeOverrides` array consists of three fields: a `description` , the new `recordingFrequency` , and an array of `resourceTypes` to override.", - "title": "RecordingModeOverrides", - "type": "array" + "ServerSideTokenCheck": { + "markdownDescription": "TRUE if server-side token validation is enabled for the identity provider\u2019s token.\n\nAfter you set the `ServerSideTokenCheck` to TRUE for an identity pool, that identity pool checks with the integrated user pools to make sure the user has not been globally signed out or deleted before the identity pool provides an OIDC token or AWS credentials for the user.\n\nIf the user is signed out or deleted, the identity pool returns a 400 Not Authorized error.", + "title": "ServerSideTokenCheck", + "type": "boolean" } }, "required": [ - "RecordingFrequency" + "ClientId", + "ProviderName" ], "type": "object" }, - "AWS::Config::ConfigurationRecorder.RecordingModeOverride": { + "AWS::Cognito::IdentityPool.CognitoStreams": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description that you provide for the override.", - "title": "Description", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role Amazon Cognito can assume to publish to the stream. This role must grant access to Amazon Cognito (cognito-sync) to invoke `PutRecord` on your Amazon Cognito stream.", + "title": "RoleArn", "type": "string" }, - "RecordingFrequency": { - "markdownDescription": "The recording frequency that will be applied to all the resource types specified in the override.\n\n- Continuous recording allows you to record configuration changes continuously whenever a change occurs.\n- Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it\u2019s different from the previous CI recorded.\n\n> AWS Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.", - "title": "RecordingFrequency", + "StreamName": { + "markdownDescription": "The name of the Amazon Cognito stream to receive updates. This stream must be in the developer's account and in the same Region as the identity pool.", + "title": "StreamName", "type": "string" }, - "ResourceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A comma-separated list that specifies which resource types AWS Config includes in the override.\n\n> Daily recording cannot be specified for the following resource types:\n> \n> - `AWS::Config::ResourceCompliance`\n> - `AWS::Config::ConformancePackCompliance`\n> - `AWS::Config::ConfigurationRecorder`", - "title": "ResourceTypes", - "type": "array" + "StreamingStatus": { + "markdownDescription": "Status of the Amazon Cognito streams. Valid values are: `ENABLED` or `DISABLED` .", + "title": "StreamingStatus", + "type": "string" } }, - "required": [ - "RecordingFrequency", - "ResourceTypes" - ], "type": "object" }, - "AWS::Config::ConfigurationRecorder.RecordingStrategy": { + "AWS::Cognito::IdentityPool.PushSync": { "additionalProperties": false, "properties": { - "UseOnly": { - "markdownDescription": "The recording strategy for the configuration recorder.\n\n- If you set this option to `ALL_SUPPORTED_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` . When AWS Config adds support for a new resource type, AWS Config automatically starts recording resources of that type. For a list of supported resource types, see [Supported Resource Types](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources) in the *AWS Config developer guide* .\n- If you set this option to `INCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for only the resource types that you specify in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n- If you set this option to `EXCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) .\n\n> *Required and optional fields*\n> \n> The `recordingStrategy` field is optional when you set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` .\n> \n> The `recordingStrategy` field is optional when you list resource types in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n> \n> The `recordingStrategy` field is required if you list resource types to exclude from recording in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) . > *Overriding fields*\n> \n> If you choose `EXCLUSION_BY_RESOURCE_TYPES` for the recording strategy, the `ExclusionByResourceTypes` field will override other properties in the request.\n> \n> For example, even if you set `IncludeGlobalResourceTypes` to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the `ResourceTypes` field of `ExclusionByResourceTypes` . > *Global resource types and the exclusion recording strategy*\n> \n> By default, if you choose the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy, when AWS Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, AWS Config starts recording resources of that type automatically.\n> \n> Unless specifically listed as exclusions, `AWS::RDS::GlobalCluster` will be recorded automatically in all supported AWS Config Regions were the configuration recorder is enabled.\n> \n> IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:\n> \n> - Asia Pacific (Hyderabad)\n> - Asia Pacific (Melbourne)\n> - Canada West (Calgary)\n> - Europe (Spain)\n> - Europe (Zurich)\n> - Israel (Tel Aviv)\n> - Middle East (UAE)", - "title": "UseOnly", + "ApplicationArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The ARNs of the Amazon SNS platform applications that could be used by clients.", + "title": "ApplicationArns", + "type": "array" + }, + "RoleArn": { + "markdownDescription": "An IAM role configured to allow Amazon Cognito to call Amazon SNS on behalf of the developer.", + "title": "RoleArn", "type": "string" } }, - "required": [ - "UseOnly" - ], "type": "object" }, - "AWS::Config::ConformancePack": { + "AWS::Cognito::IdentityPoolPrincipalTag": { "additionalProperties": false, "properties": { "Condition": { @@ -86039,59 +85517,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ConformancePackInputParameters": { - "items": { - "$ref": "#/definitions/AWS::Config::ConformancePack.ConformancePackInputParameter" - }, - "markdownDescription": "A list of ConformancePackInputParameter objects.", - "title": "ConformancePackInputParameters", - "type": "array" - }, - "ConformancePackName": { - "markdownDescription": "Name of the conformance pack you want to create.", - "title": "ConformancePackName", - "type": "string" - }, - "DeliveryS3Bucket": { - "markdownDescription": "The name of the Amazon S3 bucket where AWS Config stores conformance pack templates.", - "title": "DeliveryS3Bucket", - "type": "string" - }, - "DeliveryS3KeyPrefix": { - "markdownDescription": "The prefix for the Amazon S3 bucket.", - "title": "DeliveryS3KeyPrefix", + "IdentityPoolId": { + "markdownDescription": "The identity pool that you want to associate with this principal tag map.", + "title": "IdentityPoolId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateBody": { - "markdownDescription": "A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.\n\n> You can only use a YAML template with two resource types: config rule ( `AWS::Config::ConfigRule` ) and a remediation action ( `AWS::Config::RemediationConfiguration` ).", - "title": "TemplateBody", + "IdentityProviderName": { + "markdownDescription": "The identity pool identity provider (IdP) that you want to associate with this principal tag map.", + "title": "IdentityProviderName", "type": "string" }, - "TemplateS3Uri": { - "markdownDescription": "Location of file containing the template body (s3://bucketname/prefix). The uri must point to the conformance pack template (max size: 300 KB) that is located in an Amazon S3 bucket.\n\n> You must have access to read Amazon S3 bucket.", - "title": "TemplateS3Uri", - "type": "string" + "PrincipalTags": { + "markdownDescription": "A JSON-formatted list of user claims and the principal tags that you want to associate with them. When Amazon Cognito requests credentials, it sets the value of the principal tag to the value of the user's claim.", + "title": "PrincipalTags", + "type": "object" }, - "TemplateSSMDocumentDetails": { - "$ref": "#/definitions/AWS::Config::ConformancePack.TemplateSSMDocumentDetails", - "markdownDescription": "An object that contains the name or Amazon Resource Name (ARN) of the AWS Systems Manager document (SSM document) and the version of the SSM document that is used to create a conformance pack.", - "title": "TemplateSSMDocumentDetails" + "UseDefaults": { + "markdownDescription": "Use a default set of mappings between claims and tags for this provider, instead of a custom map.", + "title": "UseDefaults", + "type": "boolean" } }, "required": [ - "ConformancePackName" + "IdentityPoolId", + "IdentityProviderName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::ConformancePack" + "AWS::Cognito::IdentityPoolPrincipalTag" ], "type": "string" }, @@ -86110,43 +85565,7 @@ ], "type": "object" }, - "AWS::Config::ConformancePack.ConformancePackInputParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "markdownDescription": "One part of a key-value pair.", - "title": "ParameterName", - "type": "string" - }, - "ParameterValue": { - "markdownDescription": "Another part of the key-value pair.", - "title": "ParameterValue", - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Config::ConformancePack.TemplateSSMDocumentDetails": { - "additionalProperties": false, - "properties": { - "DocumentName": { - "markdownDescription": "The name or Amazon Resource Name (ARN) of the SSM document to use to create a conformance pack. If you use the document name, AWS Config checks only your account and AWS Region for the SSM document.", - "title": "DocumentName", - "type": "string" - }, - "DocumentVersion": { - "markdownDescription": "The version of the SSM document to use to create a conformance pack. By default, AWS Config uses the latest version.\n\n> This field is optional.", - "title": "DocumentVersion", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::Connector": { + "AWS::Cognito::IdentityPoolRoleAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -86181,24 +85600,42 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectorConfiguration": { - "$ref": "#/definitions/AWS::Config::Connector.ConnectorConfiguration" + "IdentityPoolId": { + "markdownDescription": "An identity pool ID in the format `REGION:GUID` .", + "title": "IdentityPoolId", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "RoleMappings": { + "additionalProperties": false, + "markdownDescription": "How users for a specific identity provider are mapped to roles. This is a string to the `RoleMapping` object map. The string identifies the identity provider. For example: `graph.facebook.com` or `cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id` .\n\nIf the `IdentityProvider` field isn't provided in this object, the string is used as the identity provider name.\n\nFor more information, see the [RoleMapping property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html) .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping" + } }, - "type": "array" + "title": "RoleMappings", + "type": "object" + }, + "Roles": { + "additionalProperties": true, + "markdownDescription": "The map of the roles associated with this pool. For a given role, the key is either \"authenticated\" or \"unauthenticated\". The value is the role ARN.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Roles", + "type": "object" } }, "required": [ - "ConnectorConfiguration" + "IdentityPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::Connector" + "AWS::Cognito::IdentityPoolRoleAttachment" ], "type": "string" }, @@ -86217,135 +85654,85 @@ ], "type": "object" }, - "AWS::Config::Connector.AzureConnectorConfiguration": { + "AWS::Cognito::IdentityPoolRoleAttachment.MappingRule": { "additionalProperties": false, "properties": { - "ClientIdentifier": { + "Claim": { + "markdownDescription": "The claim name that must be present in the token. For example: \"isAdmin\" or \"paid\".", + "title": "Claim", "type": "string" }, - "TenantIdentifier": { + "MatchType": { + "markdownDescription": "The match condition that specifies how closely the claim value in the IdP token must match `Value` .\n\nValid values are: `Equals` , `Contains` , `StartsWith` , and `NotEqual` .", + "title": "MatchType", + "type": "string" + }, + "RoleARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role.", + "title": "RoleARN", + "type": "string" + }, + "Value": { + "markdownDescription": "A brief string that the claim must match. For example, \"paid\" or \"yes\".", + "title": "Value", "type": "string" } }, "required": [ - "ClientIdentifier", - "TenantIdentifier" + "Claim", + "MatchType", + "RoleARN", + "Value" ], "type": "object" }, - "AWS::Config::Connector.ConnectorConfiguration": { - "additionalProperties": false, - "properties": { - "Azure": { - "$ref": "#/definitions/AWS::Config::Connector.AzureConnectorConfiguration" - } - }, - "type": "object" - }, - "AWS::Config::DeliveryChannel": { + "AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": { "additionalProperties": false, "properties": { - "Condition": { + "AmbiguousRoleResolution": { + "markdownDescription": "If you specify Token or Rules as the `Type` , `AmbiguousRoleResolution` is required.\n\nSpecifies the action to be taken if either no rules match the claim value for the `Rules` type, or there is no `cognito:preferred_role` claim and there are multiple `cognito:roles` matches for the `Token` type.", + "title": "AmbiguousRoleResolution", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "IdentityProvider": { + "markdownDescription": "Identifier for the identity provider for which the role is mapped. For example: `graph.facebook.com` or `cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id (http://cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id)` . This is the identity provider that is used by the user for authentication.\n\nIf the identity provider property isn't provided, the key of the entry in the `RoleMappings` map is used as the identity provider.", + "title": "IdentityProvider", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigSnapshotDeliveryProperties": { - "$ref": "#/definitions/AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties", - "markdownDescription": "The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket.", - "title": "ConfigSnapshotDeliveryProperties" - }, - "Name": { - "markdownDescription": "A name for the delivery channel. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the delivery channel name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\nUpdates are not supported. To change the name, you must run two separate updates. In the first update, delete this resource, and then recreate it with a new name in the second update.", - "title": "Name", - "type": "string" - }, - "S3BucketName": { - "markdownDescription": "The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files.\n\nIf you specify a bucket that belongs to another AWS account , that bucket must have policies that grant access permissions to AWS Config . For more information, see [Permissions for the Amazon S3 Bucket](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy.html) in the *AWS Config Developer Guide* .", - "title": "S3BucketName", - "type": "string" - }, - "S3KeyPrefix": { - "markdownDescription": "The prefix for the specified Amazon S3 bucket.", - "title": "S3KeyPrefix", - "type": "string" - }, - "S3KmsKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service ( AWS ) AWS KMS key (KMS key) used to encrypt objects delivered by AWS Config . Must belong to the same Region as the destination S3 bucket.", - "title": "S3KmsKeyArn", - "type": "string" - }, - "SnsTopicARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.\n\nIf you choose a topic from another account, the topic must have policies that grant access permissions to AWS Config . For more information, see [Permissions for the Amazon SNS Topic](https://docs.aws.amazon.com/config/latest/developerguide/sns-topic-policy.html) in the *AWS Config Developer Guide* .", - "title": "SnsTopicARN", - "type": "string" - } - }, - "required": [ - "S3BucketName" - ], - "type": "object" + "RulesConfiguration": { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType", + "markdownDescription": "The rules to be used for mapping users to roles. If you specify \"Rules\" as the role-mapping type, RulesConfiguration is required.", + "title": "RulesConfiguration" }, "Type": { - "enum": [ - "AWS::Config::DeliveryChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "markdownDescription": "The role mapping type. Token will use `cognito:roles` and `cognito:preferred_role` claims from the Cognito identity provider token to map groups to roles. Rules will attempt to match claims from the token to map to a role.", + "title": "Type", "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": { + "AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": { "additionalProperties": false, "properties": { - "DeliveryFrequency": { - "markdownDescription": "The frequency with which AWS Config delivers configuration snapshots.", - "title": "DeliveryFrequency", - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.MappingRule" + }, + "markdownDescription": "The rules. You can specify up to 25 rules per identity provider.", + "title": "Rules", + "type": "array" } }, + "required": [ + "Rules" + ], "type": "object" }, - "AWS::Config::OrganizationConfigRule": { + "AWS::Cognito::LogDeliveryConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -86380,43 +85767,28 @@ "Properties": { "additionalProperties": false, "properties": { - "ExcludedAccounts": { + "LogConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.LogConfiguration" }, - "markdownDescription": "A comma-separated list of accounts excluded from organization AWS Config rule.", - "title": "ExcludedAccounts", + "markdownDescription": "A logging destination of a user pool. User pools can have multiple logging destinations for message-delivery and user-activity logs.", + "title": "LogConfigurations", "type": "array" }, - "OrganizationConfigRuleName": { - "markdownDescription": "The name that you assign to organization AWS Config rule.", - "title": "OrganizationConfigRuleName", + "UserPoolId": { + "markdownDescription": "The ID of the user pool where you configured logging.", + "title": "UserPoolId", "type": "string" - }, - "OrganizationCustomPolicyRuleMetadata": { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomPolicyRuleMetadata", - "markdownDescription": "An object that specifies metadata for your organization's AWS Config Custom Policy rule. The metadata includes the runtime system in use, which accounts have debug logging enabled, and other custom rule metadata, such as resource type, resource ID of AWS resource, and organization trigger types that initiate AWS Config to evaluate AWS resources against a rule.", - "title": "OrganizationCustomPolicyRuleMetadata" - }, - "OrganizationCustomRuleMetadata": { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata", - "markdownDescription": "An `OrganizationCustomRuleMetadata` object.", - "title": "OrganizationCustomRuleMetadata" - }, - "OrganizationManagedRuleMetadata": { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata", - "markdownDescription": "An `OrganizationManagedRuleMetadata` object.", - "title": "OrganizationManagedRuleMetadata" } }, "required": [ - "OrganizationConfigRuleName" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::OrganizationConfigRule" + "AWS::Cognito::LogDeliveryConfiguration" ], "type": "string" }, @@ -86435,194 +85807,71 @@ ], "type": "object" }, - "AWS::Config::OrganizationConfigRule.OrganizationCustomPolicyRuleMetadata": { + "AWS::Cognito::LogDeliveryConfiguration.CloudWatchLogsConfiguration": { "additionalProperties": false, "properties": { - "DebugLogDeliveryAccounts": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of accounts that you can enable debug logging for your organization AWS Config Custom Policy rule. List is null when debug logging is enabled for all accounts.", - "title": "DebugLogDeliveryAccounts", - "type": "array" - }, - "Description": { - "markdownDescription": "The description that you provide for your organization AWS Config Custom Policy rule.", - "title": "Description", - "type": "string" - }, - "InputParameters": { - "markdownDescription": "A string, in JSON format, that is passed to your organization AWS Config Custom Policy rule.", - "title": "InputParameters", - "type": "string" - }, - "MaximumExecutionFrequency": { - "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. Your AWS Config Custom Policy rule is triggered when AWS Config delivers the configuration snapshot. For more information, see `ConfigSnapshotDeliveryProperties` .", - "title": "MaximumExecutionFrequency", - "type": "string" - }, - "OrganizationConfigRuleTriggerTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The type of notification that initiates AWS Config to run an evaluation for a rule. For AWS Config Custom Policy rules, AWS Config supports change-initiated notification types:\n\n- `ConfigurationItemChangeNotification` - Initiates an evaluation when AWS Config delivers a configuration item as a result of a resource change.\n- `OversizedConfigurationItemChangeNotification` - Initiates an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.", - "title": "OrganizationConfigRuleTriggerTypes", - "type": "array" - }, - "PolicyText": { - "markdownDescription": "The policy definition containing the logic for your organization AWS Config Custom Policy rule.", - "title": "PolicyText", - "type": "string" - }, - "ResourceIdScope": { - "markdownDescription": "The ID of the AWS resource that was evaluated.", - "title": "ResourceIdScope", - "type": "string" - }, - "ResourceTypesScope": { - "items": { - "type": "string" - }, - "markdownDescription": "The type of the AWS resource that was evaluated.", - "title": "ResourceTypesScope", - "type": "array" - }, - "Runtime": { - "markdownDescription": "The runtime system for your organization AWS Config Custom Policy rules. Guard is a policy-as-code language that allows you to write policies that are enforced by AWS Config Custom Policy rules. For more information about Guard, see the [Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard) .", - "title": "Runtime", - "type": "string" - }, - "TagKeyScope": { - "markdownDescription": "One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.", - "title": "TagKeyScope", - "type": "string" - }, - "TagValueScope": { - "markdownDescription": "The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).", - "title": "TagValueScope", + "LogGroupArn": { + "markdownDescription": "The Amazon Resource Name (arn) of a CloudWatch Logs log group where your user pool sends logs. The log group must not be encrypted with AWS Key Management Service and must be in the same AWS account as your user pool.\n\nTo send logs to log groups with a resource policy of a size greater than 5120 characters, configure a log group with a path that starts with `/aws/vendedlogs` . For more information, see [Enabling logging from certain AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html) .", + "title": "LogGroupArn", "type": "string" } }, - "required": [ - "PolicyText", - "Runtime" - ], "type": "object" }, - "AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": { + "AWS::Cognito::LogDeliveryConfiguration.FirehoseConfiguration": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description that you provide for your organization AWS Config rule.", - "title": "Description", - "type": "string" - }, - "InputParameters": { - "markdownDescription": "A string, in JSON format, that is passed to your organization AWS Config rule Lambda function.", - "title": "InputParameters", - "type": "string" - }, - "LambdaFunctionArn": { - "markdownDescription": "The lambda function ARN.", - "title": "LambdaFunctionArn", - "type": "string" - }, - "MaximumExecutionFrequency": { - "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see `ConfigSnapshotDeliveryProperties` .\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.", - "title": "MaximumExecutionFrequency", - "type": "string" - }, - "OrganizationConfigRuleTriggerTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:\n\n- `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change.\n- `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.\n- `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `MaximumExecutionFrequency` .", - "title": "OrganizationConfigRuleTriggerTypes", - "type": "array" - }, - "ResourceIdScope": { - "markdownDescription": "The ID of the AWS resource that was evaluated.", - "title": "ResourceIdScope", - "type": "string" - }, - "ResourceTypesScope": { - "items": { - "type": "string" - }, - "markdownDescription": "The type of the AWS resource that was evaluated.", - "title": "ResourceTypesScope", - "type": "array" - }, - "TagKeyScope": { - "markdownDescription": "One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.", - "title": "TagKeyScope", - "type": "string" - }, - "TagValueScope": { - "markdownDescription": "The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).", - "title": "TagValueScope", + "StreamArn": { + "markdownDescription": "The ARN of an Amazon Data Firehose stream that's the destination for threat protection log export.", + "title": "StreamArn", "type": "string" } }, - "required": [ - "LambdaFunctionArn", - "OrganizationConfigRuleTriggerTypes" - ], "type": "object" }, - "AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": { + "AWS::Cognito::LogDeliveryConfiguration.LogConfiguration": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description that you provide for your organization AWS Config rule.", - "title": "Description", - "type": "string" - }, - "InputParameters": { - "markdownDescription": "A string, in JSON format, that is passed to your organization AWS Config rule Lambda function.", - "title": "InputParameters", - "type": "string" - }, - "MaximumExecutionFrequency": { - "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. This is for an AWS Config managed rule that is triggered at a periodic frequency.\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.", - "title": "MaximumExecutionFrequency", - "type": "string" + "CloudWatchLogsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.CloudWatchLogsConfiguration", + "markdownDescription": "Configuration for the CloudWatch log group destination of user pool detailed activity logging, or of user activity log export with advanced security features.", + "title": "CloudWatchLogsConfiguration" }, - "ResourceIdScope": { - "markdownDescription": "The ID of the AWS resource that was evaluated.", - "title": "ResourceIdScope", + "EventSource": { + "markdownDescription": "The source of events that your user pool sends for logging. To send error-level logs about user notification activity, set to `userNotification` . To send info-level logs about threat-protection user activity in user pools with the Plus feature plan, set to `userAuthEvents` .", + "title": "EventSource", "type": "string" }, - "ResourceTypesScope": { - "items": { - "type": "string" - }, - "markdownDescription": "The type of the AWS resource that was evaluated.", - "title": "ResourceTypesScope", - "type": "array" - }, - "RuleIdentifier": { - "markdownDescription": "For organization config managed rules, a predefined identifier from a list. For example, `IAM_PASSWORD_POLICY` is a managed rule. To reference a managed rule, see [Using AWS Config managed rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) .", - "title": "RuleIdentifier", - "type": "string" + "FirehoseConfiguration": { + "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.FirehoseConfiguration", + "markdownDescription": "Configuration for the Amazon Data Firehose stream destination of user activity log export with threat protection.", + "title": "FirehoseConfiguration" }, - "TagKeyScope": { - "markdownDescription": "One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.", - "title": "TagKeyScope", + "LogLevel": { + "markdownDescription": "The `errorlevel` selection of logs that a user pool sends for detailed activity logging. To send `userNotification` activity with [information about message delivery](https://docs.aws.amazon.com/cognito/latest/developerguide/exporting-quotas-and-usage.html) , choose `ERROR` with `CloudWatchLogsConfiguration` . To send `userAuthEvents` activity with user logs from threat protection with the Plus feature plan, choose `INFO` with one of `CloudWatchLogsConfiguration` , `FirehoseConfiguration` , or `S3Configuration` .", + "title": "LogLevel", "type": "string" }, - "TagValueScope": { - "markdownDescription": "The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).", - "title": "TagValueScope", + "S3Configuration": { + "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.S3Configuration", + "markdownDescription": "Configuration for the Amazon S3 bucket destination of user activity log export with threat protection.", + "title": "S3Configuration" + } + }, + "type": "object" + }, + "AWS::Cognito::LogDeliveryConfiguration.S3Configuration": { + "additionalProperties": false, + "properties": { + "BucketArn": { + "markdownDescription": "The ARN of an Amazon S3 bucket that's the destination for threat protection log export.", + "title": "BucketArn", "type": "string" } }, - "required": [ - "RuleIdentifier" - ], "type": "object" }, - "AWS::Config::OrganizationConformancePack": { + "AWS::Cognito::ManagedLoginBranding": { "additionalProperties": false, "properties": { "Condition": { @@ -86657,62 +85906,48 @@ "Properties": { "additionalProperties": false, "properties": { - "ConformancePackInputParameters": { + "Assets": { "items": { - "$ref": "#/definitions/AWS::Config::OrganizationConformancePack.ConformancePackInputParameter" + "$ref": "#/definitions/AWS::Cognito::ManagedLoginBranding.AssetType" }, - "markdownDescription": "A list of `ConformancePackInputParameter` objects.", - "title": "ConformancePackInputParameters", + "markdownDescription": "An array of image files that you want to apply to roles like backgrounds, logos, and icons. Each object must also indicate whether it is for dark mode, light mode, or browser-adaptive mode.", + "title": "Assets", "type": "array" }, - "DeliveryS3Bucket": { - "markdownDescription": "The name of the Amazon S3 bucket where AWS Config stores conformance pack templates.\n\n> This field is optional.", - "title": "DeliveryS3Bucket", - "type": "string" - }, - "DeliveryS3KeyPrefix": { - "markdownDescription": "Any folder structure you want to add to an Amazon S3 bucket.\n\n> This field is optional.", - "title": "DeliveryS3KeyPrefix", + "ClientId": { + "markdownDescription": "The app client that you want to assign the branding style to. Each style is linked to an app client until you delete it.", + "title": "ClientId", "type": "string" }, - "ExcludedAccounts": { - "items": { - "type": "string" - }, - "markdownDescription": "A comma-separated list of accounts excluded from organization conformance pack.", - "title": "ExcludedAccounts", - "type": "array" - }, - "OrganizationConformancePackName": { - "markdownDescription": "The name you assign to an organization conformance pack.", - "title": "OrganizationConformancePackName", - "type": "string" + "ReturnMergedResources": { + "markdownDescription": "When `true` , returns values for branding options that are unchanged from Amazon Cognito defaults. When `false` or when you omit this parameter, returns only values that you customized in your branding style.", + "title": "ReturnMergedResources", + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Settings": { + "markdownDescription": "A JSON file, encoded as a `Document` type, with the the settings that you want to apply to your style.\n\nThe following components are not currently implemented and reserved for future use:\n\n- `signUp`\n- `instructions`\n- `sessionTimerDisplay`\n- `languageSelector` (for localization, see [Managed login localization)](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html#managed-login-localization)", + "title": "Settings", + "type": "object" }, - "TemplateBody": { - "markdownDescription": "A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.", - "title": "TemplateBody", - "type": "string" + "UseCognitoProvidedValues": { + "markdownDescription": "When true, applies the default branding style options. This option reverts to default style options that are managed by Amazon Cognito. You can modify them later in the branding editor.\n\nWhen you specify `true` for this option, you must also omit values for `Settings` and `Assets` in the request.", + "title": "UseCognitoProvidedValues", + "type": "boolean" }, - "TemplateS3Uri": { - "markdownDescription": "Location of file containing the template body. The uri must point to the conformance pack template (max size: 300 KB).", - "title": "TemplateS3Uri", + "UserPoolId": { + "markdownDescription": "The user pool where the branding style is assigned.", + "title": "UserPoolId", "type": "string" } }, "required": [ - "OrganizationConformancePackName" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::OrganizationConformancePack" + "AWS::Cognito::ManagedLoginBranding" ], "type": "string" }, @@ -86731,27 +85966,43 @@ ], "type": "object" }, - "AWS::Config::OrganizationConformancePack.ConformancePackInputParameter": { + "AWS::Cognito::ManagedLoginBranding.AssetType": { "additionalProperties": false, "properties": { - "ParameterName": { - "markdownDescription": "One part of a key-value pair.", - "title": "ParameterName", + "Bytes": { + "markdownDescription": "The image file, in Base64-encoded binary.", + "title": "Bytes", "type": "string" }, - "ParameterValue": { - "markdownDescription": "One part of a key-value pair.", - "title": "ParameterValue", + "Category": { + "markdownDescription": "The category that the image corresponds to in your managed login configuration. Managed login has asset categories for different types of logos, backgrounds, and icons.", + "title": "Category", + "type": "string" + }, + "ColorMode": { + "markdownDescription": "The display-mode target of the asset: light, dark, or browser-adaptive. For example, Amazon Cognito displays a dark-mode image only when the browser or application is in dark mode, but displays a browser-adaptive file in all contexts.", + "title": "ColorMode", + "type": "string" + }, + "Extension": { + "markdownDescription": "The file type of the image file.", + "title": "Extension", + "type": "string" + }, + "ResourceId": { + "markdownDescription": "The ID of the asset.", + "title": "ResourceId", "type": "string" } }, "required": [ - "ParameterName", - "ParameterValue" + "Category", + "ColorMode", + "Extension" ], "type": "object" }, - "AWS::Config::RemediationConfiguration": { + "AWS::Cognito::Terms": { "additionalProperties": false, "properties": { "Condition": { @@ -86786,67 +86037,55 @@ "Properties": { "additionalProperties": false, "properties": { - "Automatic": { - "markdownDescription": "The remediation is triggered automatically.", - "title": "Automatic", - "type": "boolean" - }, - "ConfigRuleName": { - "markdownDescription": "The name of the AWS Config rule.", - "title": "ConfigRuleName", + "ClientId": { + "markdownDescription": "The ID of the app client that the terms documents are assigned to.", + "title": "ClientId", "type": "string" }, - "ExecutionControls": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ExecutionControls", - "markdownDescription": "An ExecutionControls object.", - "title": "ExecutionControls" - }, - "MaximumAutomaticAttempts": { - "markdownDescription": "The maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.\n\nFor example, if you specify MaximumAutomaticAttempts as 5 with RetryAttemptSeconds as 50 seconds, AWS Config will put a RemediationException on your behalf for the failing resource after the 5th failed attempt within 50 seconds.", - "title": "MaximumAutomaticAttempts", - "type": "number" - }, - "Parameters": { - "markdownDescription": "An object of the RemediationParameterValue. For more information, see [RemediationParameterValue](https://docs.aws.amazon.com/config/latest/APIReference/API_RemediationParameterValue.html) .\n\n> The type is a map of strings to RemediationParameterValue.", - "title": "Parameters", - "type": "object" - }, - "ResourceType": { - "markdownDescription": "The type of a resource.", - "title": "ResourceType", + "Enforcement": { + "markdownDescription": "This parameter is reserved for future use and currently accepts one value.", + "title": "Enforcement", "type": "string" }, - "RetryAttemptSeconds": { - "markdownDescription": "Time window to determine whether or not to add a remediation exception to prevent infinite remediation attempts. If `MaximumAutomaticAttempts` remediation attempts have been made under `RetryAttemptSeconds` , a remediation exception will be added to the resource. If you do not select a number, the default is 60 seconds.\n\nFor example, if you specify `RetryAttemptSeconds` as 50 seconds and `MaximumAutomaticAttempts` as 5, AWS Config will run auto-remediations 5 times within 50 seconds before adding a remediation exception to the resource.", - "title": "RetryAttemptSeconds", - "type": "number" + "Links": { + "additionalProperties": true, + "markdownDescription": "A map of URLs to languages. For each localized language that will view the requested `TermsName` , assign a URL. A selection of `cognito:default` displays for all languages that don't have a language-specific URL.\n\nFor example, `\"cognito:default\": \"https://terms.example.com\", \"cognito:spanish\": \"https://terms.example.com/es\"` .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Links", + "type": "object" }, - "TargetId": { - "markdownDescription": "Target ID is the name of the SSM document.", - "title": "TargetId", + "TermsName": { + "markdownDescription": "The type and friendly name of the terms documents.", + "title": "TermsName", "type": "string" }, - "TargetType": { - "markdownDescription": "The type of the target. Target executes remediation. For example, SSM document.", - "title": "TargetType", + "TermsSource": { + "markdownDescription": "This parameter is reserved for future use and currently accepts one value.", + "title": "TermsSource", "type": "string" }, - "TargetVersion": { - "markdownDescription": "Version of the target. For example, version of the SSM document.\n\n> If you make backward incompatible changes to the SSM document, you must call PutRemediationConfiguration API again to ensure the remediations can run.", - "title": "TargetVersion", + "UserPoolId": { + "markdownDescription": "The ID of the user pool that contains the terms documents.", + "title": "UserPoolId", "type": "string" } }, "required": [ - "ConfigRuleName", - "TargetId", - "TargetType" + "Enforcement", + "Links", + "TermsName", + "TermsSource", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::RemediationConfiguration" + "AWS::Cognito::Terms" ], "type": "string" }, @@ -86865,34 +86104,7 @@ ], "type": "object" }, - "AWS::Config::RemediationConfiguration.ExecutionControls": { - "additionalProperties": false, - "properties": { - "SsmControls": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.SsmControls", - "markdownDescription": "A SsmControls object.", - "title": "SsmControls" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.SsmControls": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutionRatePercentage": { - "markdownDescription": "The maximum percentage of remediation actions allowed to run in parallel on the non-compliant resources for that specific rule. You can specify a percentage, such as 10%. The default value is 10.", - "title": "ConcurrentExecutionRatePercentage", - "type": "number" - }, - "ErrorPercentage": { - "markdownDescription": "The percentage of errors that are allowed before SSM stops running automations on non-compliant resources for that specific rule. You can specify a percentage of errors, for example 10%. If you do not specifiy a percentage, the default is 50%. For example, if you set the ErrorPercentage to 40% for 10 non-compliant resources, then SSM stops running the automations when the fifth error is received.", - "title": "ErrorPercentage", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Config::StoredQuery": { + "AWS::Cognito::UserPool": { "additionalProperties": false, "properties": { "Condition": { @@ -86927,146 +86139,187 @@ "Properties": { "additionalProperties": false, "properties": { - "QueryDescription": { - "markdownDescription": "A unique description for the query.", - "title": "QueryDescription", - "type": "string" - }, - "QueryExpression": { - "markdownDescription": "The expression of the query. For example, `SELECT resourceId, resourceType, supplementaryConfiguration.BucketVersioningConfiguration.status WHERE resourceType = 'AWS::S3::Bucket' AND supplementaryConfiguration.BucketVersioningConfiguration.status = 'Off'.`", - "title": "QueryExpression", - "type": "string" + "AccountRecoverySetting": { + "$ref": "#/definitions/AWS::Cognito::UserPool.AccountRecoverySetting", + "markdownDescription": "The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email.", + "title": "AccountRecoverySetting" }, - "QueryName": { - "markdownDescription": "The name of the query.", - "title": "QueryName", - "type": "string" + "AdminCreateUserConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPool.AdminCreateUserConfig", + "markdownDescription": "The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire.", + "title": "AdminCreateUserConfig" }, - "Tags": { + "AliasAttributes": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", + "markdownDescription": "Attributes supported as an alias for this user pool. For more information about alias attributes, see [Customizing sign-in attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases) .", + "title": "AliasAttributes", "type": "array" - } - }, - "required": [ - "QueryExpression", - "QueryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::StoredQuery" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Connect::AgentStatus": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" }, - { + "AutoVerifiedAttributes": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, + "markdownDescription": "The attributes that you want your user pool to automatically verify. For more information, see [Verifying contact information at sign-up](https://docs.aws.amazon.com/cognito/latest/developerguide/signing-up-users-in-your-app.html#allowing-users-to-sign-up-and-confirm-themselves) .", + "title": "AutoVerifiedAttributes", "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "The description of the agent status.", - "title": "Description", + }, + "DeletionProtection": { + "markdownDescription": "When active, `DeletionProtection` prevents accidental deletion of your user\npool. Before you can delete a user pool that you have protected against deletion, you\nmust deactivate this feature.\n\nWhen you try to delete a protected user pool in a `DeleteUserPool` API request, Amazon Cognito returns an `InvalidParameterException` error. To delete a protected user pool, send a new `DeleteUserPool` request after you deactivate deletion protection in an `UpdateUserPool` API request.", + "title": "DeletionProtection", "type": "string" }, - "DisplayOrder": { - "markdownDescription": "The display order of the agent status.", - "title": "DisplayOrder", - "type": "number" + "DeviceConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.DeviceConfiguration", + "markdownDescription": "The device-remembering configuration for a user pool. Device remembering or device tracking is a \"Remember me on this device\" option for user pools that perform authentication with the device key of a trusted device in the back end, instead of a user-provided MFA code. For more information about device authentication, see [Working with user devices in your user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-device-tracking.html) . A null value indicates that you have deactivated device remembering in your user pool.\n\n> When you provide a value for any `DeviceConfiguration` field, you activate the Amazon Cognito device-remembering feature. For more information, see [Working with devices](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-device-tracking.html) .", + "title": "DeviceConfiguration" }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "EmailAuthenticationMessage": { + "markdownDescription": "", + "title": "EmailAuthenticationMessage", "type": "string" }, - "Name": { - "markdownDescription": "The name of the agent status.", - "title": "Name", + "EmailAuthenticationSubject": { + "markdownDescription": "", + "title": "EmailAuthenticationSubject", "type": "string" }, - "ResetOrderNumber": { - "markdownDescription": "A number indicating the reset order of the agent status.", - "title": "ResetOrderNumber", - "type": "boolean" + "EmailConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.EmailConfiguration", + "markdownDescription": "The email configuration of your user pool. The email configuration type sets your preferred sending method, AWS Region, and sender for messages from your user pool.", + "title": "EmailConfiguration" }, - "State": { - "markdownDescription": "The state of the agent status.", - "title": "State", + "EmailVerificationMessage": { + "markdownDescription": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) .", + "title": "EmailVerificationMessage", "type": "string" }, - "Tags": { + "EmailVerificationSubject": { + "markdownDescription": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) .", + "title": "EmailVerificationSubject", + "type": "string" + }, + "EnabledMfas": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", + "markdownDescription": "Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values:\n\n- `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` .\n- `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool.\n- `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` .\n\nAllowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP`", + "title": "EnabledMfas", "type": "array" }, - "Type": { - "markdownDescription": "The type of agent status.", - "title": "Type", + "IssuerConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.IssuerConfiguration" + }, + "KeyConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.KeyConfiguration" + }, + "LambdaConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig", + "markdownDescription": "A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them.", + "title": "LambdaConfig" + }, + "MfaConfiguration": { + "markdownDescription": "Displays the state of multi-factor authentication (MFA) as on, off, or optional. When `ON` , all users must set up MFA before they can sign in. When `OPTIONAL` , your application must make a client-side determination of whether a user wants to register an MFA device. For user pools with adaptive authentication with threat protection, choose `OPTIONAL` .\n\nWhen `MfaConfiguration` is `OPTIONAL` , managed login doesn't automatically prompt users to set up MFA. Amazon Cognito generates MFA prompts in API responses and in managed login for users who have chosen and configured a preferred MFA factor.", + "title": "MfaConfiguration", + "type": "string" + }, + "Policies": { + "$ref": "#/definitions/AWS::Cognito::UserPool.Policies", + "markdownDescription": "A list of user pool policies. Contains the policy that sets password-complexity requirements.", + "title": "Policies" + }, + "Schema": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPool.SchemaAttribute" + }, + "markdownDescription": "An array of attributes for the new user pool. You can add custom attributes and modify the properties of default attributes. The specifications in this parameter set the required attributes in your user pool. For more information, see [Working with user attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html) .", + "title": "Schema", + "type": "array" + }, + "SmsAuthenticationMessage": { + "markdownDescription": "The contents of the SMS authentication message.", + "title": "SmsAuthenticationMessage", + "type": "string" + }, + "SmsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.SmsConfiguration", + "markdownDescription": "The settings for your Amazon Cognito user pool to send SMS messages with Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the AWS Region that you want, the Amazon Cognito user pool uses an AWS Identity and Access Management (IAM) role in your AWS account . For more information see [SMS message settings](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sms-settings.html) .", + "title": "SmsConfiguration" + }, + "SmsVerificationMessage": { + "markdownDescription": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) .", + "title": "SmsVerificationMessage", + "type": "string" + }, + "UserAttributeUpdateSettings": { + "$ref": "#/definitions/AWS::Cognito::UserPool.UserAttributeUpdateSettings", + "markdownDescription": "The settings for updates to user attributes. These settings include the property `AttributesRequireVerificationBeforeUpdate` ,\na user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For\nmore information, see [Verifying updates to email addresses and phone numbers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates) .", + "title": "UserAttributeUpdateSettings" + }, + "UserPoolAddOns": { + "$ref": "#/definitions/AWS::Cognito::UserPool.UserPoolAddOns", + "markdownDescription": "Contains settings for activation of threat protection, including the operating mode and additional authentication types. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to potentially unwanted traffic to your user pool, set to `ENFORCED` .\n\nFor more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) .", + "title": "UserPoolAddOns" + }, + "UserPoolName": { + "markdownDescription": "A friendly name for your user pool.", + "title": "UserPoolName", + "type": "string" + }, + "UserPoolTags": { + "additionalProperties": true, + "markdownDescription": "The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "UserPoolTags", + "type": "object" + }, + "UserPoolTier": { + "markdownDescription": "The user pool [feature plan](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html) , or tier. This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection. Defaults to `ESSENTIALS` .", + "title": "UserPoolTier", + "type": "string" + }, + "UsernameAttributes": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies whether a user can use an email address or phone number as a username when they sign up.", + "title": "UsernameAttributes", + "type": "array" + }, + "UsernameConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.UsernameConfiguration", + "markdownDescription": "Sets the case sensitivity option for sign-in usernames. When `CaseSensitive` is `false` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `false` as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user.\n\nWhen `CaseSensitive` is `true` (case sensitive), Amazon Cognito interprets `USERNAME` and `UserName` as distinct users.\n\nThis configuration is immutable after you set it.", + "title": "UsernameConfiguration" + }, + "VerificationMessageTemplate": { + "$ref": "#/definitions/AWS::Cognito::UserPool.VerificationMessageTemplate", + "markdownDescription": "The template for the verification message that your user pool delivers to users who set an email address or phone number attribute.\n\nSet the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error.", + "title": "VerificationMessageTemplate" + }, + "WebAuthnFactorConfiguration": { + "type": "string" + }, + "WebAuthnRelyingPartyID": { + "markdownDescription": "Sets or displays the authentication domain, typically your user pool domain, that passkey providers must use as a relying party (RP) in their configuration.\n\nUnder the following conditions, the passkey relying party ID must be the fully-qualified domain name of your custom domain:\n\n- The user pool is configured for passkey authentication.\n- The user pool has a custom domain, whether or not it also has a prefix domain.\n- Your application performs authentication with managed login or the classic hosted UI.", + "title": "WebAuthnRelyingPartyID", + "type": "string" + }, + "WebAuthnUserVerification": { + "markdownDescription": "When `required` , users can only register and sign in users with passkeys that are capable of [user verification](https://docs.aws.amazon.com/https://www.w3.org/TR/webauthn-2/#enum-userVerificationRequirement) . When `preferred` , your user pool doesn't require the use of authenticators with user verification but encourages it.", + "title": "WebAuthnUserVerification", "type": "string" } }, - "required": [ - "InstanceArn", - "Name", - "State" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::AgentStatus" + "AWS::Cognito::UserPool" ], "type": "string" }, @@ -87080,12 +86333,579 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Connect::ApprovedOrigin": { + "AWS::Cognito::UserPool.AccountRecoverySetting": { + "additionalProperties": false, + "properties": { + "RecoveryMechanisms": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPool.RecoveryOption" + }, + "markdownDescription": "The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators.", + "title": "RecoveryMechanisms", + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.AdminCreateUserConfig": { + "additionalProperties": false, + "properties": { + "AllowAdminCreateUserOnly": { + "markdownDescription": "The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the `SignUp` operation.", + "title": "AllowAdminCreateUserOnly", + "type": "boolean" + }, + "InviteMessageTemplate": { + "$ref": "#/definitions/AWS::Cognito::UserPool.InviteMessageTemplate", + "markdownDescription": "The template for the welcome message to new users. This template must include the `{####}` temporary password placeholder if you are creating users with passwords. If your users don't have passwords, you can omit the placeholder.\n\nSee also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) .", + "title": "InviteMessageTemplate" + }, + "UnusedAccountValidityDays": { + "markdownDescription": "This parameter is no longer in use.\n\nThe password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter.\n\nThe default value for this parameter is 7.", + "title": "UnusedAccountValidityDays", + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.AdvancedSecurityAdditionalFlows": { + "additionalProperties": false, + "properties": { + "CustomAuthMode": { + "markdownDescription": "The operating mode of threat protection in custom authentication with [Custom authentication challenge Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", + "title": "CustomAuthMode", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomEmailSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.", + "title": "LambdaArn", + "type": "string" + }, + "LambdaVersion": { + "markdownDescription": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.\n\nYou must use a `LambdaVersion` of `V1_0` with a custom sender function.", + "title": "LambdaVersion", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomSMSSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.", + "title": "LambdaArn", + "type": "string" + }, + "LambdaVersion": { + "markdownDescription": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.\n\nYou must use a `LambdaVersion` of `V1_0` with a custom sender function.", + "title": "LambdaVersion", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.DeviceConfiguration": { + "additionalProperties": false, + "properties": { + "ChallengeRequiredOnNewDevice": { + "markdownDescription": "When true, a remembered device can sign in with device authentication instead of SMS and time-based one-time password (TOTP) factors for multi-factor authentication (MFA).\n\n> Whether or not `ChallengeRequiredOnNewDevice` is true, users who sign in with devices that have not been confirmed or remembered must still provide a second factor in a user pool that requires MFA.", + "title": "ChallengeRequiredOnNewDevice", + "type": "boolean" + }, + "DeviceOnlyRememberedOnUserPrompt": { + "markdownDescription": "When true, Amazon Cognito doesn't automatically remember a user's device when your app sends a `ConfirmDevice` API request. In your app, create a prompt for your user to choose whether they want to remember their device. Return the user's choice in an `UpdateDeviceStatus` API request.\n\nWhen `DeviceOnlyRememberedOnUserPrompt` is `false` , Amazon Cognito immediately remembers devices that you register in a `ConfirmDevice` API request.", + "title": "DeviceOnlyRememberedOnUserPrompt", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.EmailConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationSet": { + "markdownDescription": "The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:\n\n- **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch\n- **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets.", + "title": "ConfigurationSet", + "type": "string" + }, + "EmailSendingAccount": { + "markdownDescription": "Specifies whether Amazon Cognito uses its built-in functionality to send your users email messages, or uses your Amazon Simple Email Service email configuration. Specify one of the following values:\n\n- **COGNITO_DEFAULT** - When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. For typical production environments, the default email limit is less than the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email configuration.\n\nTo look up the email delivery limit for the default option, see [Limits](https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html) in the *Amazon Cognito Developer Guide* .\n\nThe default FROM address is `no-reply@verificationemail.com` . To customize the FROM address, provide the Amazon Resource Name (ARN) of an Amazon SES verified email address for the `SourceArn` parameter.\n- **DEVELOPER** - When Amazon Cognito emails your users, it uses your Amazon SES configuration. Amazon Cognito calls Amazon SES on your behalf to send email from your verified email address. When you use this option, the email delivery limits are the same limits that apply to your Amazon SES verified email address in your AWS account .\n\nIf you use this option, provide the ARN of an Amazon SES verified email address for the `SourceArn` parameter.\n\nBefore Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a *service-linked role* , which is a type of role in your AWS account . This role contains the permissions that allow you to access Amazon SES and send email messages from your email address. For more information about the service-linked role that Amazon Cognito creates, see [Using Service-Linked Roles for Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/using-service-linked-roles.html) in the *Amazon Cognito Developer Guide* .", + "title": "EmailSendingAccount", + "type": "string" + }, + "From": { + "markdownDescription": "Either the sender\u2019s email address or the sender\u2019s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email.", + "title": "From", + "type": "string" + }, + "ReplyToEmailAddress": { + "markdownDescription": "The destination to which the receiver of the email should reply.", + "title": "ReplyToEmailAddress", + "type": "string" + }, + "SourceArn": { + "markdownDescription": "The ARN of a verified email address or an address from a verified domain in Amazon SES. You can set a `SourceArn` email from a verified domain only with an API request. You can set a verified email address, but not an address in a verified domain, in the Amazon Cognito console. Amazon Cognito uses the email address that you provide in one of the following ways, depending on the value that you specify for the `EmailSendingAccount` parameter:\n\n- If you specify `COGNITO_DEFAULT` , Amazon Cognito uses this address as the custom FROM address when it emails your users using its built-in email account.\n- If you specify `DEVELOPER` , Amazon Cognito emails your users with this address by calling Amazon SES on your behalf.\n\nThe Region value of the `SourceArn` parameter must indicate a supported AWS Region of your user pool. Typically, the Region in the `SourceArn` and the user pool Region are the same. For more information, see [Amazon SES email configuration regions](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-email.html#user-pool-email-developer-region-mapping) in the [Amazon Cognito Developer Guide](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html) .", + "title": "SourceArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.EumsSmsConfiguration": { + "additionalProperties": false, + "properties": { + "CallerArn": { + "type": "string" + }, + "ConfigurationSetName": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "InEntityId": { + "type": "string" + }, + "InTemplateId": { + "type": "string" + }, + "OriginationIdentity": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "CallerArn" + ], + "type": "object" + }, + "AWS::Cognito::UserPool.InboundFederation": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.InviteMessageTemplate": { + "additionalProperties": false, + "properties": { + "EmailMessage": { + "markdownDescription": "The message template for email messages. EmailMessage is allowed only if [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is DEVELOPER.", + "title": "EmailMessage", + "type": "string" + }, + "EmailSubject": { + "markdownDescription": "The subject line for email messages. EmailSubject is allowed only if [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is DEVELOPER.", + "title": "EmailSubject", + "type": "string" + }, + "SMSMessage": { + "markdownDescription": "The message template for SMS messages.", + "title": "SMSMessage", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.IssuerConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.KeyConfiguration": { + "additionalProperties": false, + "properties": { + "KeyType": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.LambdaConfig": { + "additionalProperties": false, + "properties": { + "CreateAuthChallenge": { + "markdownDescription": "The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", + "title": "CreateAuthChallenge", + "type": "string" + }, + "CustomEmailSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender", + "markdownDescription": "The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic.", + "title": "CustomEmailSender" + }, + "CustomMessage": { + "markdownDescription": "A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user.", + "title": "CustomMessage", + "type": "string" + }, + "CustomSMSSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender", + "markdownDescription": "The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic.", + "title": "CustomSMSSender" + }, + "DefineAuthChallenge": { + "markdownDescription": "The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", + "title": "DefineAuthChallenge", + "type": "string" + }, + "InboundFederation": { + "$ref": "#/definitions/AWS::Cognito::UserPool.InboundFederation" + }, + "KMSKeyID": { + "markdownDescription": "The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers.", + "title": "KMSKeyID", + "type": "string" + }, + "PostAuthentication": { + "markdownDescription": "The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in.", + "title": "PostAuthentication", + "type": "string" + }, + "PostConfirmation": { + "markdownDescription": "The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number.", + "title": "PostConfirmation", + "type": "string" + }, + "PreAuthentication": { + "markdownDescription": "The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events.", + "title": "PreAuthentication", + "type": "string" + }, + "PreSignUp": { + "markdownDescription": "The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests.", + "title": "PreSignUp", + "type": "string" + }, + "PreTokenGeneration": { + "markdownDescription": "The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool.\n\nSet this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` .", + "title": "PreTokenGeneration", + "type": "string" + }, + "PreTokenGenerationConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPool.PreTokenGenerationConfig", + "markdownDescription": "The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` .", + "title": "PreTokenGenerationConfig" + }, + "UserMigration": { + "markdownDescription": "The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet.", + "title": "UserMigration", + "type": "string" + }, + "VerifyAuthChallengeResponse": { + "markdownDescription": "The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", + "title": "VerifyAuthChallengeResponse", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.NumberAttributeConstraints": { + "additionalProperties": false, + "properties": { + "MaxValue": { + "markdownDescription": "The maximum length of a number attribute value. Must be a number less than or equal to `2^1023` , represented as a string with a length of 131072 characters or fewer.", + "title": "MaxValue", + "type": "string" + }, + "MinValue": { + "markdownDescription": "The minimum value of an attribute that is of the number data type.", + "title": "MinValue", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.PasswordPolicy": { + "additionalProperties": false, + "properties": { + "MinimumLength": { + "markdownDescription": "The minimum length of the password in the policy that you have set. This value can't be less than 6.", + "title": "MinimumLength", + "type": "number" + }, + "PasswordHistorySize": { + "markdownDescription": "The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` .", + "title": "PasswordHistorySize", + "type": "number" + }, + "RequireLowercase": { + "markdownDescription": "The requirement in a password policy that users must include at least one lowercase letter in their password.", + "title": "RequireLowercase", + "type": "boolean" + }, + "RequireNumbers": { + "markdownDescription": "The requirement in a password policy that users must include at least one number in their password.", + "title": "RequireNumbers", + "type": "boolean" + }, + "RequireSymbols": { + "markdownDescription": "The requirement in a password policy that users must include at least one symbol in their password.", + "title": "RequireSymbols", + "type": "boolean" + }, + "RequireUppercase": { + "markdownDescription": "The requirement in a password policy that users must include at least one uppercase letter in their password.", + "title": "RequireUppercase", + "type": "boolean" + }, + "TemporaryPasswordValidityDays": { + "markdownDescription": "The number of days a temporary password is valid in the password policy. If the user doesn't sign in during this time, an administrator must reset their password. Defaults to `7` . If you submit a value of `0` , Amazon Cognito treats it as a null value and sets `TemporaryPasswordValidityDays` to its default value.\n\n> When you set `TemporaryPasswordValidityDays` for a user pool, you can no longer set a value for the legacy `UnusedAccountValidityDays` parameter in that user pool.", + "title": "TemporaryPasswordValidityDays", + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.Policies": { + "additionalProperties": false, + "properties": { + "PasswordPolicy": { + "$ref": "#/definitions/AWS::Cognito::UserPool.PasswordPolicy", + "markdownDescription": "The password policy settings for a user pool, including complexity, history, and length requirements.", + "title": "PasswordPolicy" + }, + "SignInPolicy": { + "$ref": "#/definitions/AWS::Cognito::UserPool.SignInPolicy", + "markdownDescription": "The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.", + "title": "SignInPolicy" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.PreTokenGenerationConfig": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.\n\nThis parameter and the `PreTokenGeneration` property of `LambdaConfig` have the same value. For new instances of pre token generation triggers, set `LambdaArn` .", + "title": "LambdaArn", + "type": "string" + }, + "LambdaVersion": { + "markdownDescription": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.", + "title": "LambdaVersion", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.RecoveryOption": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The recovery method that this object sets a recovery option for.", + "title": "Name", + "type": "string" + }, + "Priority": { + "markdownDescription": "Your priority preference for using the specified attribute in account recovery. The highest priority is `1` .", + "title": "Priority", + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.SchemaAttribute": { + "additionalProperties": false, + "properties": { + "AttributeDataType": { + "markdownDescription": "The data format of the values for your attribute. When you choose an `AttributeDataType` , Amazon Cognito validates the input against the data type. A custom attribute value in your user's ID token is always a string, for example `\"custom:isMember\" : \"true\"` or `\"custom:YearsAsMember\" : \"12\"` .", + "title": "AttributeDataType", + "type": "string" + }, + "DeveloperOnlyAttribute": { + "markdownDescription": "> You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . \n\nSpecifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes.", + "title": "DeveloperOnlyAttribute", + "type": "boolean" + }, + "Mutable": { + "markdownDescription": "Specifies whether the value of the attribute can be changed.\n\nAny user pool attribute whose value you map from an IdP attribute must be mutable, with a parameter value of `true` . Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If an attribute is immutable, Amazon Cognito throws an error when it attempts to update the attribute. For more information, see [Specifying Identity Provider Attribute Mappings for Your User Pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html) .", + "title": "Mutable", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of your user pool attribute. When you create or update a user pool, adding a schema attribute creates a custom or developer-only attribute. When you add an attribute with a `Name` value of `MyAttribute` , Amazon Cognito creates the custom attribute `custom:MyAttribute` . When `DeveloperOnlyAttribute` is `true` , Amazon Cognito creates your attribute as `dev:MyAttribute` . In an operation that describes a user pool, Amazon Cognito returns this value as `value` for standard attributes, `custom:value` for custom attributes, and `dev:value` for developer-only attributes..", + "title": "Name", + "type": "string" + }, + "NumberAttributeConstraints": { + "$ref": "#/definitions/AWS::Cognito::UserPool.NumberAttributeConstraints", + "markdownDescription": "Specifies the constraints for an attribute of the number type.", + "title": "NumberAttributeConstraints" + }, + "Required": { + "markdownDescription": "Specifies whether a user pool attribute is required. If the attribute is required and the user doesn't provide a value, registration or sign-in will fail.", + "title": "Required", + "type": "boolean" + }, + "StringAttributeConstraints": { + "$ref": "#/definitions/AWS::Cognito::UserPool.StringAttributeConstraints", + "markdownDescription": "Specifies the constraints for an attribute of the string type.", + "title": "StringAttributeConstraints" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.SignInPolicy": { + "additionalProperties": false, + "properties": { + "AllowedFirstAuthFactors": { + "items": { + "type": "string" + }, + "markdownDescription": "The sign-in methods that a user pool supports as the first factor. You can permit users to start authentication with a standard username and password, or with other one-time password and hardware factors.\n\nSupports values of `EMAIL_OTP` , `SMS_OTP` , `WEB_AUTHN` and `PASSWORD` ,", + "title": "AllowedFirstAuthFactors", + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.SmsConfiguration": { + "additionalProperties": false, + "properties": { + "EumsSms": { + "$ref": "#/definitions/AWS::Cognito::UserPool.EumsSmsConfiguration" + }, + "ExternalId": { + "markdownDescription": "The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` .\n\nFor more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) .", + "title": "ExternalId", + "type": "string" + }, + "SnsCallerArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS caller. This is the ARN of the IAM role in your AWS account that Amazon Cognito will use to send SMS messages. SMS messages are subject to a [spending limit](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html) .", + "title": "SnsCallerArn", + "type": "string" + }, + "SnsRegion": { + "markdownDescription": "The AWS Region to use with Amazon SNS integration. You can choose the same Region as your user pool, or a supported *Legacy Amazon SNS alternate Region* .\n\nAmazon Cognito resources in the Asia Pacific (Seoul) AWS Region must use your Amazon SNS configuration in the Asia Pacific (Tokyo) Region. For more information, see [SMS message settings for Amazon Cognito user pools](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sms-settings.html) .", + "title": "SnsRegion", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.StringAttributeConstraints": { + "additionalProperties": false, + "properties": { + "MaxLength": { + "markdownDescription": "The maximum length of a string attribute value. Must be a number less than or equal to `2^1023` , represented as a string with a length of 131072 characters or fewer.", + "title": "MaxLength", + "type": "string" + }, + "MinLength": { + "markdownDescription": "The minimum length of a string attribute value.", + "title": "MinLength", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.UserAttributeUpdateSettings": { + "additionalProperties": false, + "properties": { + "AttributesRequireVerificationBeforeUpdate": { + "items": { + "type": "string" + }, + "markdownDescription": "Requires that your user verifies their email address, phone number, or both before Amazon Cognito updates the value of that attribute. When you update a user attribute that has this option activated, Amazon Cognito sends a verification message to the new phone number or email address. Amazon Cognito doesn\u2019t change the value of the attribute until your user responds to the verification message and confirms the new value.\n\nWhen `AttributesRequireVerificationBeforeUpdate` is false, your user pool doesn't require that your users verify attribute changes before Amazon Cognito updates them. In a user pool where `AttributesRequireVerificationBeforeUpdate` is false, API operations that change attribute values can immediately update a user\u2019s `email` or `phone_number` attribute.", + "title": "AttributesRequireVerificationBeforeUpdate", + "type": "array" + } + }, + "required": [ + "AttributesRequireVerificationBeforeUpdate" + ], + "type": "object" + }, + "AWS::Cognito::UserPool.UserPoolAddOns": { + "additionalProperties": false, + "properties": { + "AdvancedSecurityAdditionalFlows": { + "$ref": "#/definitions/AWS::Cognito::UserPool.AdvancedSecurityAdditionalFlows", + "markdownDescription": "Threat protection configuration options for additional authentication types in your user pool, including custom authentication.", + "title": "AdvancedSecurityAdditionalFlows" + }, + "AdvancedSecurityMode": { + "markdownDescription": "The operating mode of threat protection for standard authentication types in your user pool, including username-password and secure remote password (SRP) authentication.", + "title": "AdvancedSecurityMode", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.UsernameConfiguration": { + "additionalProperties": false, + "properties": { + "CaseSensitive": { + "markdownDescription": "Specifies whether user name case sensitivity will be applied for all users in the user pool through Amazon Cognito APIs. For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, users can sign in as the same user when they enter a different capitalization of their user name.\n\nValid values include:\n\n- **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as \u201cUserName\u201d. This is the default value.\n- **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute.", + "title": "CaseSensitive", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.VerificationMessageTemplate": { + "additionalProperties": false, + "properties": { + "DefaultEmailOption": { + "markdownDescription": "The configuration of verification emails to contain a clickable link or a verification code.\n\nFor link, your template body must contain link text in the format `{##Click here##}` . \"Click here\" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` .", + "title": "DefaultEmailOption", + "type": "string" + }, + "EmailMessage": { + "markdownDescription": "The template for email messages that Amazon Cognito sends to your users. You can set an `EmailMessage` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", + "title": "EmailMessage", + "type": "string" + }, + "EmailMessageByLink": { + "markdownDescription": "The email message template for sending a confirmation link to the user. You can set an `EmailMessageByLink` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", + "title": "EmailMessageByLink", + "type": "string" + }, + "EmailSubject": { + "markdownDescription": "The subject line for the email message template. You can set an `EmailSubject` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", + "title": "EmailSubject", + "type": "string" + }, + "EmailSubjectByLink": { + "markdownDescription": "The subject line for the email message template for sending a confirmation link to the user. You can set an `EmailSubjectByLink` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", + "title": "EmailSubjectByLink", + "type": "string" + }, + "SmsMessage": { + "markdownDescription": "The template for SMS messages that Amazon Cognito sends to your users.", + "title": "SmsMessage", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolClient": { "additionalProperties": false, "properties": { "Condition": { @@ -87120,26 +86940,154 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `100`", - "title": "InstanceId", + "AccessTokenValidity": { + "markdownDescription": "The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with\ntheir access token for 10 hours.\n\nThe default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your access\ntokens are valid for one hour.", + "title": "AccessTokenValidity", + "type": "number" + }, + "AllowedOAuthFlows": { + "items": { + "type": "string" + }, + "markdownDescription": "The OAuth grant types that you want your app client to generate for clients in managed login authentication. To create an app client that generates client credentials grants, you must add `client_credentials` as the only allowed OAuth flow.\n\n- **code** - Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the `/oauth2/token` endpoint.\n- **implicit** - Issue the access token, and the ID token when scopes like `openid` and `profile` are requested, directly to your user.\n- **client_credentials** - Issue the access token from the `/oauth2/token` endpoint directly to a non-person user, authorized by a combination of the client ID and client secret.", + "title": "AllowedOAuthFlows", + "type": "array" + }, + "AllowedOAuthFlowsUserPoolClient": { + "markdownDescription": "Set to `true` to use OAuth 2.0 authorization server features in your app client.\n\nThis parameter must have a value of `true` before you can configure the following features in your app client.\n\n- `CallBackURLs` : Callback URLs.\n- `LogoutURLs` : Sign-out redirect URLs.\n- `AllowedOAuthScopes` : OAuth 2.0 scopes.\n- `AllowedOAuthFlows` : Support for authorization code, implicit, and client credentials OAuth 2.0 grants.\n\nTo use authorization server features, configure one of these features in the Amazon Cognito console or set `AllowedOAuthFlowsUserPoolClient` to `true` in a `CreateUserPoolClient` or `UpdateUserPoolClient` API request. If you don't set a value for `AllowedOAuthFlowsUserPoolClient` in a request with the AWS CLI or SDKs, it defaults to `false` . When `false` , only SDK-based API sign-in is permitted.", + "title": "AllowedOAuthFlowsUserPoolClient", + "type": "boolean" + }, + "AllowedOAuthScopes": { + "items": { + "type": "string" + }, + "markdownDescription": "The OAuth, OpenID Connect (OIDC), and custom scopes that you want to permit your app client to authorize access with. Scopes govern access control to user pool self-service API operations, user data from the `userInfo` endpoint, and third-party APIs. Scope values include `phone` , `email` , `openid` , and `profile` . The `aws.cognito.signin.user.admin` scope authorizes user self-service operations. Custom scopes with resource servers authorize access to external APIs.", + "title": "AllowedOAuthScopes", + "type": "array" + }, + "AnalyticsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolClient.AnalyticsConfiguration", + "markdownDescription": "The user pool analytics configuration for collecting metrics and sending them to your Amazon Pinpoint campaign.\n\nIn AWS Regions where Amazon Pinpoint isn't available, user pools might not have access to analytics or might be configurable with campaigns in the US East (N. Virginia) Region. For more information, see [Using Amazon Pinpoint analytics](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-pinpoint-integration.html) .", + "title": "AnalyticsConfiguration" + }, + "AuthSessionValidity": { + "markdownDescription": "Amazon Cognito creates a session token for each API request in an authentication flow. `AuthSessionValidity` is the duration, in minutes, of that session token. Your user pool native user must respond to each authentication challenge before the session expires.", + "title": "AuthSessionValidity", + "type": "number" + }, + "CallbackURLs": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of allowed redirect, or callback, URLs for managed login authentication. These URLs are the paths where you want to send your users' browsers after they complete authentication with managed login or a third-party IdP. Typically, callback URLs are the home of an application that uses OAuth or OIDC libraries to process authentication outcomes.\n\nA redirect URI must meet the following requirements:\n\n- Be an absolute URI.\n- Be registered with the authorization server. Amazon Cognito doesn't accept authorization requests with `redirect_uri` values that aren't in the list of `CallbackURLs` that you provide in this parameter.\n- Not include a fragment component.\n\nSee [OAuth 2.0 - Redirection Endpoint](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2) .\n\nAmazon Cognito requires HTTPS over HTTP except for callback URLs to `http://localhost` , `http://127.0.0.1` and `http://[::1]` . These callback URLs are for testing purposes only. You can specify custom TCP ports for your callback URLs.\n\nApp callback URLs such as `myapp://example` are also supported.", + "title": "CallbackURLs", + "type": "array" + }, + "ClientName": { + "markdownDescription": "A friendly name for the app client that you want to create.", + "title": "ClientName", "type": "string" }, - "Origin": { - "markdownDescription": "Domain name to be added to the allow-list of the instance.\n\n*Maximum* : `267`", - "title": "Origin", + "DefaultRedirectURI": { + "markdownDescription": "The default redirect URI. In app clients with one assigned IdP, replaces `redirect_uri` in authentication requests. Must be in the `CallbackURLs` list.", + "title": "DefaultRedirectURI", + "type": "string" + }, + "EnablePropagateAdditionalUserContextData": { + "markdownDescription": "When `true` , your application can include additional `UserContextData` in authentication requests. This data includes the IP address, and contributes to analysis by threat protection features. For more information about propagation of user context data, see [Adding session data to API requests](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-adaptive-authentication.html#user-pool-settings-adaptive-authentication-device-fingerprint) . If you don\u2019t include this parameter, you can't send the source IP address to Amazon Cognito threat protection features. You can only activate `EnablePropagateAdditionalUserContextData` in an app client that has a client secret.", + "title": "EnablePropagateAdditionalUserContextData", + "type": "boolean" + }, + "EnableTokenRevocation": { + "markdownDescription": "Activates or deactivates token revocation.\n\nIf you don't include this parameter, token revocation is automatically activated for the new user pool client.", + "title": "EnableTokenRevocation", + "type": "boolean" + }, + "ExplicitAuthFlows": { + "items": { + "type": "string" + }, + "markdownDescription": "The [authentication flows](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow-methods.html) that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.\n\n> If you don't specify a value for `ExplicitAuthFlows` , your app client supports `ALLOW_REFRESH_TOKEN_AUTH` , `ALLOW_USER_SRP_AUTH` , and `ALLOW_CUSTOM_AUTH` . \n\nThe values for authentication flow options include the following.\n\n- `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` .\n\nTo activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.\n- `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.\n- `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication.\n- `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.\n- `ALLOW_USER_SRP_AUTH` : Enable SRP-based authentication.\n- `ALLOW_REFRESH_TOKEN_AUTH` : Enable authflow to refresh tokens.\n\nIn some environments, you will see the values `ADMIN_NO_SRP_AUTH` , `CUSTOM_AUTH_FLOW_ONLY` , or `USER_PASSWORD_AUTH` . You can't assign these legacy `ExplicitAuthFlows` values to user pool clients at the same time as values that begin with `ALLOW_` ,\nlike `ALLOW_USER_SRP_AUTH` .", + "title": "ExplicitAuthFlows", + "type": "array" + }, + "GenerateSecret": { + "markdownDescription": "When `true` , generates a client secret for the app client. Client secrets are used with server-side and machine-to-machine applications. Client secrets are automatically generated; you can't specify a secret value. For more information, see [App client types](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-client-apps.html#user-pool-settings-client-app-client-types) .", + "title": "GenerateSecret", + "type": "boolean" + }, + "IdTokenValidity": { + "markdownDescription": "The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for `IdTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours.\n\nThe default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your ID\ntokens are valid for one hour.", + "title": "IdTokenValidity", + "type": "number" + }, + "LogoutURLs": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of allowed logout URLs for managed login authentication. When you pass `logout_uri` and `client_id` parameters to `/logout` , Amazon Cognito signs out your user and redirects them to the logout URL. This parameter describes the URLs that you want to be the permitted targets of `logout_uri` . A typical use of these URLs is when a user selects \"Sign out\" and you redirect them to your public homepage. For more information, see [Logout endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/logout-endpoint.html) .", + "title": "LogoutURLs", + "type": "array" + }, + "PreventUserExistenceErrors": { + "markdownDescription": "Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool.\n\nValid values include:\n\n- `ENABLED` - This prevents user existence-related errors.\n- `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented.\n\nDefaults to `LEGACY` when you don't provide a value.", + "title": "PreventUserExistenceErrors", + "type": "string" + }, + "ReadAttributes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information.\n\nWhen you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes.", + "title": "ReadAttributes", + "type": "array" + }, + "RefreshTokenRotation": { + "$ref": "#/definitions/AWS::Cognito::UserPoolClient.RefreshTokenRotation", + "markdownDescription": "The configuration of your app client for refresh token rotation. When enabled, your app client issues new ID, access, and refresh tokens when users renew their sessions with refresh tokens. When disabled, token refresh issues only ID and access tokens.", + "title": "RefreshTokenRotation" + }, + "RefreshTokenValidity": { + "markdownDescription": "The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session\nand retrieve new access and ID tokens for 10 days.\n\nThe default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your refresh\ntokens are valid for 30 days.", + "title": "RefreshTokenValidity", + "type": "number" + }, + "SupportedIdentityProviders": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: `COGNITO` , `Facebook` , `Google` , `SignInWithApple` , and `LoginWithAmazon` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example `MySAMLIdP` or `MyOIDCIdP` .\n\nThis parameter sets the IdPs that [managed login](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html) will display on the login page for your app client. The removal of `COGNITO` from this list doesn't prevent authentication operations for local users with the user pools API in an AWS SDK. The only way to prevent SDK-based authentication is to block access with a [AWS WAF rule](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-waf.html) .", + "title": "SupportedIdentityProviders", + "type": "array" + }, + "TokenValidityUnits": { + "$ref": "#/definitions/AWS::Cognito::UserPoolClient.TokenValidityUnits", + "markdownDescription": "The units that validity times are represented in. The default unit for refresh tokens is days, and the default for ID and access tokens are hours.", + "title": "TokenValidityUnits" + }, + "UserPoolId": { + "markdownDescription": "The ID of the user pool where you want to create an app client.", + "title": "UserPoolId", "type": "string" + }, + "WriteAttributes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of user attributes that you want your app client to have write access to. After your user authenticates in your app, their access token authorizes them to set or modify their own attribute value for any attribute in this list.\n\nWhen you don't specify the `WriteAttributes` for your app client, your app can write the values of the Standard attributes of your user pool. When your user pool has write access to these default attributes, `WriteAttributes` doesn't return any information. Amazon Cognito only populates `WriteAttributes` in the API response if you have specified your own custom set of write attributes.\n\nIf your app client allows users to sign in through an IdP, this array must include all attributes that you have mapped to IdP attributes. Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If your app client does not have write access to a mapped attribute, Amazon Cognito throws an error when it tries to update the attribute. For more information, see [Specifying IdP Attribute Mappings for Your user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html) .", + "title": "WriteAttributes", + "type": "array" } }, "required": [ - "InstanceId", - "Origin" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::ApprovedOrigin" + "AWS::Cognito::UserPoolClient" ], "type": "string" }, @@ -87158,7 +87106,75 @@ ], "type": "object" }, - "AWS::Connect::ContactFlow": { + "AWS::Cognito::UserPoolClient.AnalyticsConfiguration": { + "additionalProperties": false, + "properties": { + "ApplicationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications", + "title": "ApplicationArn", + "type": "string" + }, + "ApplicationId": { + "markdownDescription": "Your Amazon Pinpoint project ID.", + "title": "ApplicationId", + "type": "string" + }, + "ExternalId": { + "markdownDescription": "The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint.", + "title": "ExternalId", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics.", + "title": "RoleArn", + "type": "string" + }, + "UserDataShared": { + "markdownDescription": "If `UserDataShared` is `true` , Amazon Cognito includes user data in the events that it publishes to Amazon Pinpoint analytics.", + "title": "UserDataShared", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolClient.RefreshTokenRotation": { + "additionalProperties": false, + "properties": { + "Feature": { + "markdownDescription": "The state of refresh token rotation for the current app client.", + "title": "Feature", + "type": "string" + }, + "RetryGracePeriodSeconds": { + "markdownDescription": "When you request a token refresh with `GetTokensFromRefreshToken` , the original refresh token that you're rotating out can remain valid for a period of time of up to 60 seconds. This allows for client-side retries. When `RetryGracePeriodSeconds` is `0` , the grace period is disabled and a successful request immediately invalidates the submitted refresh token.", + "title": "RetryGracePeriodSeconds", + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolClient.TokenValidityUnits": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "markdownDescription": "A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day.", + "title": "AccessToken", + "type": "string" + }, + "IdToken": { + "markdownDescription": "A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day.", + "title": "IdToken", + "type": "string" + }, + "RefreshToken": { + "markdownDescription": "A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years.", + "title": "RefreshToken", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolDomain": { "additionalProperties": false, "properties": { "Condition": { @@ -87193,56 +87209,39 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "markdownDescription": "The content of the flow.\n\nFor more information, see [Connect Customer Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html) in the *Connect Customer Administrator Guide* .", - "title": "Content", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the flow.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Connect Customer instance.", - "title": "InstanceArn", - "type": "string" + "CustomDomainConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType", + "markdownDescription": "The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM.\n\nWhen you create a custom domain, the passkey RP ID defaults to the custom domain. If you had a prefix domain active, this will cause passkey integration for your prefix domain to stop working due to a mismatch in RP ID. To keep the prefix domain passkey integration working, you can explicitly set RP ID to the prefix domain.", + "title": "CustomDomainConfig" }, - "Name": { - "markdownDescription": "The name of the flow.", - "title": "Name", + "Domain": { + "markdownDescription": "The name of the domain that you want to update. For custom domains, this is the fully-qualified domain name, for example `auth.example.com` . For prefix domains, this is the prefix alone, such as `myprefix` .", + "title": "Domain", "type": "string" }, - "State": { - "markdownDescription": "The state of the flow.", - "title": "State", - "type": "string" + "ManagedLoginVersion": { + "markdownDescription": "A version number that indicates the state of managed login for your domain. Version `1` is hosted UI (classic). Version `2` is the newer managed login with the branding editor. For more information, see [Managed login](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html) .", + "title": "ManagedLoginVersion", + "type": "number" }, - "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" + "Routing": { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.RoutingType" }, - "Type": { - "markdownDescription": "The type of the flow. For descriptions of the available types, see [Choose a flow type](https://docs.aws.amazon.com/connect/latest/adminguide/create-contact-flow.html#contact-flow-types) in the *Amazon Connect Administrator Guide* .", - "title": "Type", + "UserPoolId": { + "markdownDescription": "The ID of the user pool that is associated with the domain you're updating.", + "title": "UserPoolId", "type": "string" } }, "required": [ - "Content", - "InstanceArn", - "Name", - "Type" + "Domain", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::ContactFlow" + "AWS::Cognito::UserPoolDomain" ], "type": "string" }, @@ -87261,7 +87260,46 @@ ], "type": "object" }, - "AWS::Connect::ContactFlowModule": { + "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an Certificate Manager SSL certificate. You use this certificate for the subdomain of your custom domain.", + "title": "CertificateArn", + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolDomain.FailoverType": { + "additionalProperties": false, + "properties": { + "PrimaryRoute53HealthCheckId": { + "type": "string" + }, + "SecondaryRegion": { + "type": "string" + } + }, + "required": [ + "PrimaryRoute53HealthCheckId", + "SecondaryRegion" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolDomain.RoutingType": { + "additionalProperties": false, + "properties": { + "Failover": { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.FailoverType" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -87296,60 +87334,40 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "markdownDescription": "The content of the flow module.", - "title": "Content", + "Description": { + "markdownDescription": "A description of the group that you're creating.", + "title": "Description", "type": "string" }, - "Description": { - "markdownDescription": "The description of the flow module.", - "title": "Description", - "type": "string" - }, - "ExternalInvocationConfiguration": { - "$ref": "#/definitions/AWS::Connect::ContactFlowModule.ExternalInvocationConfiguration", - "markdownDescription": "The external invocation configuration for the flow module", - "title": "ExternalInvocationConfiguration" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Connect Customer instance.", - "title": "InstanceArn", + "GroupName": { + "markdownDescription": "A name for the group. This name must be unique in your user pool.", + "title": "GroupName", "type": "string" }, - "Name": { - "markdownDescription": "The name of the flow module.", - "title": "Name", - "type": "string" + "Precedence": { + "markdownDescription": "A non-negative integer value that specifies the precedence of this group relative to the other groups that a user can belong to in the user pool. Zero is the highest precedence value. Groups with lower `Precedence` values take precedence over groups with higher or null `Precedence` values. If a user belongs to two or more groups, it is the group with the lowest precedence value whose role ARN is given in the user's tokens for the `cognito:roles` and `cognito:preferred_role` claims.\n\nTwo groups can have the same `Precedence` value. If this happens, neither group takes precedence over the other. If two groups with the same `Precedence` have the same role ARN, that role is used in the `cognito:preferred_role` claim in tokens for users in each group. If the two groups have different role ARNs, the `cognito:preferred_role` claim isn't set in users' tokens.\n\nThe default `Precedence` value is null. The maximum `Precedence` value is `2^31-1` .", + "title": "Precedence", + "type": "number" }, - "Settings": { - "markdownDescription": "The configuration settings for the flow module.", - "title": "Settings", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the IAM role that you want to associate with the group. A group role primarily declares a preferred role for the credentials that you get from an identity pool. Amazon Cognito ID tokens have a `cognito:preferred_role` claim that presents the highest-precedence group that a user belongs to. Both ID and access tokens also contain a `cognito:groups` claim that list all the groups that a user is a member of.", + "title": "RoleArn", "type": "string" }, - "State": { - "markdownDescription": "The state of the flow module.", - "title": "State", + "UserPoolId": { + "markdownDescription": "The ID of the user pool where you want to create a user group.", + "title": "UserPoolId", "type": "string" - }, - "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": [ - "Content", - "InstanceArn", - "Name" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::ContactFlowModule" + "AWS::Cognito::UserPoolGroup" ], "type": "string" }, @@ -87368,18 +87386,7 @@ ], "type": "object" }, - "AWS::Connect::ContactFlowModule.ExternalInvocationConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "Enable external invocation.", - "title": "Enabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Connect::ContactFlowModuleAlias": { + "AWS::Cognito::UserPoolIdentityProvider": { "additionalProperties": false, "properties": { "Condition": { @@ -87414,29 +87421,63 @@ "Properties": { "additionalProperties": false, "properties": { - "ContactFlowModuleId": { - "type": "string" + "AttributeMapping": { + "additionalProperties": true, + "markdownDescription": "A mapping of IdP attributes to standard and custom user pool attributes. Specify a user pool attribute as the key of the key-value pair, and the IdP attribute claim name as the value.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "AttributeMapping", + "type": "object" }, - "ContactFlowModuleVersion": { - "type": "number" + "IdpIdentifiers": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of IdP identifiers, for example `\"IdPIdentifiers\": [ \"MyIdP\", \"MyIdP2\" ]` . Identifiers are friendly names that you can pass in the `idp_identifier` query parameter of requests to the [Authorize endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html) to silently redirect to sign-in with the associated IdP. Identifiers in a domain format also enable the use of [email-address matching with SAML providers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managing-saml-idp-naming.html) .", + "title": "IdpIdentifiers", + "type": "array" }, - "Description": { + "ProviderDetails": { + "additionalProperties": true, + "markdownDescription": "The scopes, URLs, and identifiers for your external identity provider. The following\nexamples describe the provider detail keys for each IdP type. These values and their\nschema are subject to change. Social IdP `authorize_scopes` values must match\nthe values listed here.\n\n- **OpenID Connect (OIDC)** - Amazon Cognito accepts the following elements when it can't discover endpoint URLs from `oidc_issuer` : `attributes_url` , `authorize_url` , `jwks_uri` , `token_url` .\n\nCreate or update request: `\"ProviderDetails\": { \"attributes_request_method\": \"GET\", \"attributes_url\": \"https://auth.example.com/userInfo\", \"authorize_scopes\": \"openid profile email\", \"authorize_url\": \"https://auth.example.com/authorize\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"jwks_uri\": \"https://auth.example.com/.well-known/jwks.json\", \"oidc_issuer\": \"https://auth.example.com\", \"token_url\": \"https://example.com/token\" }`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_request_method\": \"GET\", \"attributes_url\": \"https://auth.example.com/userInfo\", \"attributes_url_add_attributes\": \"false\", \"authorize_scopes\": \"openid profile email\", \"authorize_url\": \"https://auth.example.com/authorize\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"jwks_uri\": \"https://auth.example.com/.well-known/jwks.json\", \"oidc_issuer\": \"https://auth.example.com\", \"token_url\": \"https://example.com/token\" }`\n- **SAML** - Create or update request with Metadata URL: `\"ProviderDetails\": { \"IDPInit\": \"true\", \"IDPSignout\": \"true\", \"EncryptedResponses\" : \"true\", \"MetadataURL\": \"https://auth.example.com/sso/saml/metadata\", \"RequestSigningAlgorithm\": \"rsa-sha256\" }`\n\nCreate or update request with Metadata file: `\"ProviderDetails\": { \"IDPInit\": \"true\", \"IDPSignout\": \"true\", \"EncryptedResponses\" : \"true\", \"MetadataFile\": \"[metadata XML]\", \"RequestSigningAlgorithm\": \"rsa-sha256\" }`\n\nThe value of `MetadataFile` must be the plaintext metadata document with all quote (\") characters escaped by backslashes.\n\nDescribe response: `\"ProviderDetails\": { \"IDPInit\": \"true\", \"IDPSignout\": \"true\", \"EncryptedResponses\" : \"true\", \"ActiveEncryptionCertificate\": \"[certificate]\", \"MetadataURL\": \"https://auth.example.com/sso/saml/metadata\", \"RequestSigningAlgorithm\": \"rsa-sha256\", \"SLORedirectBindingURI\": \"https://auth.example.com/slo/saml\", \"SSORedirectBindingURI\": \"https://auth.example.com/sso/saml\" }`\n- **LoginWithAmazon** - Create or update request: `\"ProviderDetails\": { \"authorize_scopes\": \"profile postal_code\", \"client_id\": \"amzn1.application-oa2-client.1example23456789\", \"client_secret\": \"provider-app-client-secret\"`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_url\": \"https://api.amazon.com/user/profile\", \"attributes_url_add_attributes\": \"false\", \"authorize_scopes\": \"profile postal_code\", \"authorize_url\": \"https://www.amazon.com/ap/oa\", \"client_id\": \"amzn1.application-oa2-client.1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"token_request_method\": \"POST\", \"token_url\": \"https://api.amazon.com/auth/o2/token\" }`\n- **Google** - Create or update request: `\"ProviderDetails\": { \"authorize_scopes\": \"email profile openid\", \"client_id\": \"1example23456789.apps.googleusercontent.com\", \"client_secret\": \"provider-app-client-secret\" }`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_url\": \"https://people.googleapis.com/v1/people/me?personFields=\", \"attributes_url_add_attributes\": \"true\", \"authorize_scopes\": \"email profile openid\", \"authorize_url\": \"https://accounts.google.com/o/oauth2/v2/auth\", \"client_id\": \"1example23456789.apps.googleusercontent.com\", \"client_secret\": \"provider-app-client-secret\", \"oidc_issuer\": \"https://accounts.google.com\", \"token_request_method\": \"POST\", \"token_url\": \"https://www.googleapis.com/oauth2/v4/token\" }`\n- **SignInWithApple** - Create or update request: `\"ProviderDetails\": { \"authorize_scopes\": \"email name\", \"client_id\": \"com.example.cognito\", \"private_key\": \"1EXAMPLE\", \"key_id\": \"2EXAMPLE\", \"team_id\": \"3EXAMPLE\" }`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_url_add_attributes\": \"false\", \"authorize_scopes\": \"email name\", \"authorize_url\": \"https://appleid.apple.com/auth/authorize\", \"client_id\": \"com.example.cognito\", \"key_id\": \"1EXAMPLE\", \"oidc_issuer\": \"https://appleid.apple.com\", \"team_id\": \"2EXAMPLE\", \"token_request_method\": \"POST\", \"token_url\": \"https://appleid.apple.com/auth/token\" }`\n- **Facebook** - Create or update request: `\"ProviderDetails\": { \"api_version\": \"v17.0\", \"authorize_scopes\": \"public_profile, email\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\" }`\n\nDescribe response: `\"ProviderDetails\": { \"api_version\": \"v17.0\", \"attributes_url\": \"https://graph.facebook.com/v17.0/me?fields=\", \"attributes_url_add_attributes\": \"true\", \"authorize_scopes\": \"public_profile, email\", \"authorize_url\": \"https://www.facebook.com/v17.0/dialog/oauth\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"token_request_method\": \"GET\", \"token_url\": \"https://graph.facebook.com/v17.0/oauth/access_token\" }`", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ProviderDetails", + "type": "object" + }, + "ProviderName": { + "markdownDescription": "The name that you want to assign to the IdP. You can pass the identity provider name in the `identity_provider` query parameter of requests to the [Authorize endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html) to silently redirect to sign-in with the associated IdP.", + "title": "ProviderName", "type": "string" }, - "Name": { + "ProviderType": { + "markdownDescription": "The type of IdP that you want to add. Amazon Cognito supports OIDC, SAML 2.0, Login With Amazon, Sign In With Apple, Google, and Facebook IdPs.", + "title": "ProviderType", + "type": "string" + }, + "UserPoolId": { + "markdownDescription": "The Id of the user pool where you want to create an IdP.", + "title": "UserPoolId", "type": "string" } }, "required": [ - "ContactFlowModuleId", - "ContactFlowModuleVersion", - "Name" + "ProviderDetails", + "ProviderName", + "ProviderType", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::ContactFlowModuleAlias" + "AWS::Cognito::UserPoolIdentityProvider" ], "type": "string" }, @@ -87455,7 +87496,7 @@ ], "type": "object" }, - "AWS::Connect::ContactFlowModuleVersion": { + "AWS::Cognito::UserPoolRegionalConfigurationAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -87490,21 +87531,39 @@ "Properties": { "additionalProperties": false, "properties": { - "ContactFlowModuleId": { + "EmailConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.EmailConfiguration" + }, + "LambdaConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.LambdaConfig" + }, + "SmsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.SmsConfiguration" + }, + "Status": { "type": "string" }, - "Description": { + "UserPoolId": { "type": "string" + }, + "UserPoolTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "ContactFlowModuleId" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::ContactFlowModuleVersion" + "AWS::Cognito::UserPoolRegionalConfigurationAttachment" ], "type": "string" }, @@ -87523,79 +87582,175 @@ ], "type": "object" }, - "AWS::Connect::ContactFlowVersion": { + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomEmailSender": { "additionalProperties": false, "properties": { - "Condition": { + "LambdaArn": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomSMSSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.EmailConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationSet": { + "type": "string" }, - "Metadata": { - "type": "object" + "EmailSendingAccount": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContactFlowId": { - "markdownDescription": "The identifier of the flow.", - "title": "ContactFlowId", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the flow version.", - "title": "Description", - "type": "string" - } - }, - "required": [ - "ContactFlowId" - ], - "type": "object" + "From": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Connect::ContactFlowVersion" - ], + "ReplyToEmailAddress": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.EumsSmsConfiguration": { + "additionalProperties": false, + "properties": { + "CallerArn": { + "type": "string" + }, + "ConfigurationSetName": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "InEntityId": { + "type": "string" + }, + "InTemplateId": { + "type": "string" + }, + "OriginationIdentity": { + "type": "string" + }, + "Region": { "type": "string" } }, "required": [ - "Type", - "Properties" + "CallerArn" ], "type": "object" }, - "AWS::Connect::DataLakeAssociation": { + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.InboundFederation": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.LambdaConfig": { + "additionalProperties": false, + "properties": { + "CreateAuthChallenge": { + "type": "string" + }, + "CustomEmailSender": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomEmailSender" + }, + "CustomMessage": { + "type": "string" + }, + "CustomSMSSender": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomSMSSender" + }, + "DefineAuthChallenge": { + "type": "string" + }, + "InboundFederation": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.InboundFederation" + }, + "KMSKeyID": { + "type": "string" + }, + "PostAuthentication": { + "type": "string" + }, + "PostConfirmation": { + "type": "string" + }, + "PreAuthentication": { + "type": "string" + }, + "PreSignUp": { + "type": "string" + }, + "PreTokenGeneration": { + "type": "string" + }, + "PreTokenGenerationConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.PreTokenGenerationConfig" + }, + "UserMigration": { + "type": "string" + }, + "VerifyAuthChallengeResponse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.PreTokenGenerationConfig": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.SmsConfiguration": { + "additionalProperties": false, + "properties": { + "EumsSms": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.EumsSmsConfiguration" + }, + "ExternalId": { + "type": "string" + }, + "SnsCallerArn": { + "type": "string" + }, + "SnsRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolReplica": { "additionalProperties": false, "properties": { "Condition": { @@ -87630,25 +87785,31 @@ "Properties": { "additionalProperties": false, "properties": { - "DataSetId": { + "RegionName": { "type": "string" }, - "InstanceId": { + "UserPoolId": { "type": "string" }, - "TargetAccountId": { - "type": "string" + "UserPoolTagsAtCreate": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "DataSetId", - "InstanceId" + "RegionName", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::DataLakeAssociation" + "AWS::Cognito::UserPoolReplica" ], "type": "string" }, @@ -87667,7 +87828,7 @@ ], "type": "object" }, - "AWS::Connect::DataTable": { + "AWS::Cognito::UserPoolResourceServer": { "additionalProperties": false, "properties": { "Condition": { @@ -87702,57 +87863,40 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "An optional description of the data table's purpose and contents.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "Identifier": { + "markdownDescription": "A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier.\n\nAmazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens.", + "title": "Identifier", "type": "string" }, "Name": { - "markdownDescription": "The human-readable name of the data table. Must be unique within the instance and conform to Connect naming standards.", + "markdownDescription": "A friendly name for the resource server.", "title": "Name", "type": "string" }, - "Status": { - "markdownDescription": "The current status of the data table. One of PUBLISHED or SAVED.", - "title": "Status", - "type": "string" - }, - "Tags": { + "Scopes": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" }, - "markdownDescription": "Key-value pairs for attribute based access control (TBAC or ABAC) and organization.", - "title": "Tags", + "markdownDescription": "A list of scopes. Each scope is a map with keys `ScopeName` and `ScopeDescription` .", + "title": "Scopes", "type": "array" }, - "TimeZone": { - "markdownDescription": "The IANA timezone identifier used when resolving time based dynamic values. Required even if no time slices are specified.", - "title": "TimeZone", - "type": "string" - }, - "ValueLockLevel": { - "markdownDescription": "The data level that concurrent value edits are locked on. One of DATA_TABLE, PRIMARY_VALUE, ATTRIBUTE, VALUE, and NONE. Determines how concurrent edits are handled when multiple users attempt to modify values simultaneously.", - "title": "ValueLockLevel", + "UserPoolId": { + "markdownDescription": "The ID of the user pool where you want to create a resource server.", + "title": "UserPoolId", "type": "string" } }, "required": [ - "InstanceArn", + "Identifier", "Name", - "Status", - "TimeZone", - "ValueLockLevel" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::DataTable" + "AWS::Cognito::UserPoolResourceServer" ], "type": "string" }, @@ -87771,18 +87915,27 @@ ], "type": "object" }, - "AWS::Connect::DataTable.LockVersion": { + "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { "additionalProperties": false, "properties": { - "DataTable": { - "markdownDescription": "", - "title": "DataTable", + "ScopeDescription": { + "markdownDescription": "A friendly description of a custom scope.", + "title": "ScopeDescription", + "type": "string" + }, + "ScopeName": { + "markdownDescription": "The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` .", + "title": "ScopeName", "type": "string" } }, + "required": [ + "ScopeDescription", + "ScopeName" + ], "type": "object" }, - "AWS::Connect::DataTableAttribute": { + "AWS::Cognito::UserPoolRiskConfigurationAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -87817,53 +87970,41 @@ "Properties": { "additionalProperties": false, "properties": { - "DataTableArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the data table that contains this attribute.", - "title": "DataTableArn", - "type": "string" - }, - "Description": { - "markdownDescription": "An optional description explaining the purpose and usage of this attribute.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", - "type": "string" + "AccountTakeoverRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType", + "markdownDescription": "The settings for automated responses and notification templates for adaptive authentication with threat protection.", + "title": "AccountTakeoverRiskConfiguration" }, - "Name": { - "markdownDescription": "The human-readable name of the attribute. Must be unique within the data table and conform to Connect naming standards.", - "title": "Name", + "ClientId": { + "markdownDescription": "The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings.", + "title": "ClientId", "type": "string" }, - "Primary": { - "markdownDescription": "Boolean indicating whether this attribute is used as a primary key for record identification. Primary attributes must have unique value combinations and cannot contain expressions.", - "title": "Primary", - "type": "boolean" + "CompromisedCredentialsRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType", + "markdownDescription": "Settings for compromised-credentials actions and authentication types with threat protection in full-function `ENFORCED` mode.", + "title": "CompromisedCredentialsRiskConfiguration" }, - "Validation": { - "$ref": "#/definitions/AWS::Connect::DataTableAttribute.Validation", - "markdownDescription": "The validation rules applied to values of this attribute. Based on JSON Schema Draft 2020-12 with additional Connect-specific validations for data integrity.", - "title": "Validation" + "RiskExceptionConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType", + "markdownDescription": "Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges.", + "title": "RiskExceptionConfiguration" }, - "ValueType": { - "markdownDescription": "The type of value allowed for this attribute. Must be one of TEXT, TEXT_LIST, NUMBER, NUMBER_LIST, or BOOLEAN. Determines how values are validated and processed.", - "title": "ValueType", + "UserPoolId": { + "markdownDescription": "The ID of the user pool that has the risk configuration applied.", + "title": "UserPoolId", "type": "string" } }, "required": [ - "DataTableArn", - "InstanceArn", - "Name", - "ValueType" + "ClientId", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::DataTableAttribute" + "AWS::Cognito::UserPoolRiskConfigurationAttachment" ], "type": "string" }, @@ -87882,98 +88023,188 @@ ], "type": "object" }, - "AWS::Connect::DataTableAttribute.Enum": { + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { "additionalProperties": false, "properties": { - "Strict": { - "markdownDescription": "", - "title": "Strict", + "EventAction": { + "markdownDescription": "The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows:\n\n- `BLOCK` : Block the request.\n- `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request.\n- `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor.\n- `NO_ACTION` : Take no action. Permit sign-in.", + "title": "EventAction", + "type": "string" + }, + "Notify": { + "markdownDescription": "Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level.", + "title": "Notify", "type": "boolean" + } + }, + "required": [ + "EventAction", + "Notify" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { + "additionalProperties": false, + "properties": { + "HighAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType", + "markdownDescription": "The action that you assign to a high-risk assessment by threat protection.", + "title": "HighAction" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Values", - "type": "array" + "LowAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType", + "markdownDescription": "The action that you assign to a low-risk assessment by threat protection.", + "title": "LowAction" + }, + "MediumAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType", + "markdownDescription": "The action that you assign to a medium-risk assessment by threat protection.", + "title": "MediumAction" } }, "type": "object" }, - "AWS::Connect::DataTableAttribute.LockVersion": { + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { "additionalProperties": false, "properties": { - "Attribute": { - "markdownDescription": "", - "title": "Attribute", - "type": "string" + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType", + "markdownDescription": "A list of account-takeover actions for each level of risk that Amazon Cognito might assess with threat protection.", + "title": "Actions" }, - "DataTable": { - "markdownDescription": "", - "title": "DataTable", + "NotifyConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType", + "markdownDescription": "The settings for composing and sending an email message when threat protection assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type.", + "title": "NotifyConfiguration" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "markdownDescription": "The action that Amazon Cognito takes when it detects compromised credentials.", + "title": "EventAction", "type": "string" } }, + "required": [ + "EventAction" + ], "type": "object" }, - "AWS::Connect::DataTableAttribute.Validation": { + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { "additionalProperties": false, "properties": { - "Enum": { - "$ref": "#/definitions/AWS::Connect::DataTableAttribute.Enum", - "markdownDescription": "Defines enumeration constraints for attribute values. Can specify a list of allowed values and whether custom values are permitted beyond the enumerated list.", - "title": "Enum" + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType", + "markdownDescription": "Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials.", + "title": "Actions" }, - "ExclusiveMaximum": { - "markdownDescription": "The largest exclusive numeric value for NUMBER value type. Can be provided alongside Maximum where both operate independently. Must be greater than ExclusiveMinimum and Minimum. Applies to NUMBER and values within NUMBER_LIST.", - "title": "ExclusiveMaximum", - "type": "number" + "EventFilter": { + "items": { + "type": "string" + }, + "markdownDescription": "Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events.", + "title": "EventFilter", + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType", + "markdownDescription": "The template for the email message that your user pool sends when a detected risk event is blocked.", + "title": "BlockEmail" }, - "ExclusiveMinimum": { - "markdownDescription": "The smallest exclusive numeric value for NUMBER value type. Can be provided alongside Minimum where both operate independently. Must be less than ExclusiveMaximum and Maximum. Applies to NUMBER and values within NUMBER_LIST.", - "title": "ExclusiveMinimum", - "type": "number" + "From": { + "markdownDescription": "The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES.", + "title": "From", + "type": "string" }, - "MaxLength": { - "markdownDescription": "The maximum number of characters a text value can contain. Applies to TEXT value type and values within a TEXT_LIST. Must be greater than or equal to MinLength.", - "title": "MaxLength", - "type": "number" + "MfaEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType", + "markdownDescription": "The template for the email message that your user pool sends when MFA is challenged in response to a detected risk.", + "title": "MfaEmail" }, - "MaxValues": { - "markdownDescription": "The maximum number of values in a list. Must be an integer greater than or equal to 0 and greater than or equal to MinValues. Applies to all list types.", - "title": "MaxValues", - "type": "number" + "NoActionEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType", + "markdownDescription": "The template for the email message that your user pool sends when no action is taken in response to a detected risk.", + "title": "NoActionEmail" }, - "Maximum": { - "markdownDescription": "The largest inclusive numeric value for NUMBER value type. Can be provided alongside ExclusiveMaximum where both operate independently. Must be greater than or equal to Minimum and greater than ExclusiveMinimum. Applies to NUMBER and values within NUMBER_LIST.", - "title": "Maximum", - "type": "number" + "ReplyTo": { + "markdownDescription": "The reply-to email address of an email template. Can be an email address in the format `admin@example.com` or `Administrator ` .", + "title": "ReplyTo", + "type": "string" }, - "MinLength": { - "markdownDescription": "The minimum number of characters a text value can contain. Applies to TEXT value type and values within a TEXT_LIST. Must be less than or equal to MaxLength.", - "title": "MinLength", - "type": "number" + "SourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the identity that is associated with the sending authorization policy. This identity permits Amazon Cognito to send for the email address specified in the `From` parameter.", + "title": "SourceArn", + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { + "additionalProperties": false, + "properties": { + "HtmlBody": { + "markdownDescription": "The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively.", + "title": "HtmlBody", + "type": "string" }, - "MinValues": { - "markdownDescription": "The minimum number of values in a list. Must be an integer greater than or equal to 0 and less than or equal to MaxValues. Applies to all list types.", - "title": "MinValues", - "type": "number" + "Subject": { + "markdownDescription": "The subject of the threat protection email notification.", + "title": "Subject", + "type": "string" }, - "Minimum": { - "markdownDescription": "The smallest inclusive numeric value for NUMBER value type. Cannot be provided when ExclusiveMinimum is also provided. Must be less than or equal to Maximum and less than ExclusiveMaximum. Applies to NUMBER and values within NUMBER_LIST.", - "title": "Minimum", - "type": "number" + "TextBody": { + "markdownDescription": "The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively.", + "title": "TextBody", + "type": "string" + } + }, + "required": [ + "Subject" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockedIPRangeList": { + "items": { + "type": "string" + }, + "markdownDescription": "An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation.", + "title": "BlockedIPRangeList", + "type": "array" }, - "MultipleOf": { - "markdownDescription": "Specifies that numeric values must be multiples of this number. Must be greater than 0. The result of dividing a value by this multiple must result in an integer. Applies to NUMBER and values within NUMBER_LIST.", - "title": "MultipleOf", - "type": "number" + "SkippedIPRangeList": { + "items": { + "type": "string" + }, + "markdownDescription": "An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation.", + "title": "SkippedIPRangeList", + "type": "array" } }, "type": "object" }, - "AWS::Connect::DataTableRecord": { + "AWS::Cognito::UserPoolUICustomizationAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -88008,32 +88239,31 @@ "Properties": { "additionalProperties": false, "properties": { - "DataTableArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the data table. Does not include version aliases.", - "title": "DataTableArn", + "CSS": { + "markdownDescription": "A plaintext CSS file that contains the custom fields that you want to apply to your user pool or app client. To download a template, go to the Amazon Cognito console. Navigate to your user pool *App clients* tab, select *Login pages* , edit *Hosted UI (classic) style* , and select the link to `CSS template.css` .", + "title": "CSS", "type": "string" }, - "DataTableRecord": { - "$ref": "#/definitions/AWS::Connect::DataTableRecord.DataTableRecord", - "markdownDescription": "", - "title": "DataTableRecord" + "ClientId": { + "markdownDescription": "The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings..", + "title": "ClientId", + "type": "string" }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "UserPoolId": { + "markdownDescription": "The ID of the user pool where you want to apply branding to the classic hosted UI.", + "title": "UserPoolId", "type": "string" } }, "required": [ - "DataTableArn", - "DataTableRecord", - "InstanceArn" + "ClientId", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::DataTableRecord" + "AWS::Cognito::UserPoolUICustomizationAttachment" ], "type": "string" }, @@ -88052,48 +88282,7 @@ ], "type": "object" }, - "AWS::Connect::DataTableRecord.DataTableRecord": { - "additionalProperties": false, - "properties": { - "PrimaryValues": { - "items": { - "$ref": "#/definitions/AWS::Connect::DataTableRecord.Value" - }, - "markdownDescription": "", - "title": "PrimaryValues", - "type": "array" - }, - "Values": { - "items": { - "$ref": "#/definitions/AWS::Connect::DataTableRecord.Value" - }, - "markdownDescription": "", - "title": "Values", - "type": "array" - } - }, - "required": [ - "Values" - ], - "type": "object" - }, - "AWS::Connect::DataTableRecord.Value": { - "additionalProperties": false, - "properties": { - "AttributeId": { - "markdownDescription": "", - "title": "AttributeId", - "type": "string" - }, - "AttributeValue": { - "markdownDescription": "", - "title": "AttributeValue", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::EmailAddress": { + "AWS::Cognito::UserPoolUser": { "additionalProperties": false, "properties": { "Condition": { @@ -88128,52 +88317,70 @@ "Properties": { "additionalProperties": false, "properties": { - "AliasConfigurations": { + "ClientMetadata": { + "additionalProperties": true, + "markdownDescription": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n\nWhen Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a `clientMetadata` attribute that provides the data that you assigned to the ClientMetadata parameter in your request. In your function code, you can process the `clientMetadata` value to enhance your workflow for your specific needs.\n\nTo review the Lambda trigger types that Amazon Cognito invokes at runtime with API requests, see [Connecting API actions to Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-working-with-lambda-triggers.html#lambda-triggers-by-event) in the *Amazon Cognito Developer Guide* .\n\n> When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following:\n> \n> - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose.\n> - Validate the `ClientMetadata` value.\n> - Encrypt the `ClientMetadata` value. Don't send sensitive information in this parameter.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ClientMetadata", + "type": "object" + }, + "DesiredDeliveryMediums": { "items": { - "$ref": "#/definitions/AWS::Connect::EmailAddress.AliasConfiguration" + "type": "string" }, - "markdownDescription": "A list of alias configurations for this email address, showing which email addresses forward to this primary address. Each configuration contains the email address ID of an alias that forwards emails to this address.", - "title": "AliasConfigurations", + "markdownDescription": "Specify `EMAIL` if email will be used to send the welcome message. Specify `SMS` if the phone number will be used. The default value is `SMS` . You can specify more than one value.", + "title": "DesiredDeliveryMediums", "type": "array" }, - "Description": { - "markdownDescription": "The description of the email address.", - "title": "Description", - "type": "string" + "ForceAliasCreation": { + "markdownDescription": "This parameter is used only if the `phone_number_verified` or `email_verified` attribute is set to `True` . Otherwise, it is ignored.\n\nIf this parameter is set to `True` and the phone number or email address specified in the `UserAttributes` parameter already exists as an alias with a different user, this request migrates the alias from the previous user to the newly-created user. The previous user will no longer be able to log in using that alias.\n\nIf this parameter is set to `False` , the API throws an `AliasExistsException` error if the alias already exists. The default value is `False` .", + "title": "ForceAliasCreation", + "type": "boolean" }, - "DisplayName": { - "markdownDescription": "The display name of email address.", - "title": "DisplayName", + "MessageAction": { + "markdownDescription": "Set to `RESEND` to resend the invitation message to a user that already exists, and to reset the temporary-password duration with a new temporary password. Set to `SUPPRESS` to suppress sending the message. You can specify only one value.", + "title": "MessageAction", "type": "string" }, - "EmailAddress": { - "markdownDescription": "The email address, including the domain.", - "title": "EmailAddress", + "UserAttributes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "markdownDescription": "An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message).\n\nFor custom attributes, you must prepend the `custom:` prefix to the attribute name.\n\nTo send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools.\n\nYou must also provide an email address or phone number when you expect the user to do passwordless sign-in with an email or SMS OTP. These attributes must be provided when passwordless options are the only available, or when you don't submit a `TemporaryPassword` .\n\nIn your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` .\n\n- *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `\"EMAIL\"` is specified in the `DesiredDeliveryMediums` parameter.\n- *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `\"SMS\"` is specified in the `DesiredDeliveryMediums` parameter.", + "title": "UserAttributes", + "type": "array" + }, + "UserPoolId": { + "markdownDescription": "The ID of the user pool where you want to create a user.", + "title": "UserPoolId", "type": "string" }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "Username": { + "markdownDescription": "The value that you want to set as the username sign-in attribute. The following conditions apply to the username parameter.\n\n- The username can't be a duplicate of another username in the same user pool.\n- You can't change the value of a username after you create it.\n- You can only provide a value if usernames are a valid sign-in attribute for your user pool. If your user pool only supports phone numbers or email addresses as sign-in attributes, Amazon Cognito automatically generates a username value. For more information, see [Customizing sign-in attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases) .", + "title": "Username", "type": "string" }, - "Tags": { + "ValidationData": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", + "markdownDescription": "Temporary user attributes that contribute to the outcomes of your pre sign-up Lambda trigger. This set of key-value pairs are for custom validation of information that you collect from your users but don't need to retain.\n\nYour Lambda function can analyze this additional data and act on it. Your function can automatically confirm and verify select users or perform external API operations like logging user attributes and validation data to Amazon CloudWatch Logs.\n\nFor more information about the pre sign-up Lambda trigger, see [Pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) .", + "title": "ValidationData", "type": "array" } }, "required": [ - "EmailAddress", - "InstanceArn" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::EmailAddress" + "AWS::Cognito::UserPoolUser" ], "type": "string" }, @@ -88192,21 +88399,23 @@ ], "type": "object" }, - "AWS::Connect::EmailAddress.AliasConfiguration": { + "AWS::Cognito::UserPoolUser.AttributeType": { "additionalProperties": false, "properties": { - "EmailAddressArn": { - "markdownDescription": "", - "title": "EmailAddressArn", + "Name": { + "markdownDescription": "The name of the attribute.", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the attribute.", + "title": "Value", "type": "string" } }, - "required": [ - "EmailAddressArn" - ], "type": "object" }, - "AWS::Connect::EvaluationForm": { + "AWS::Cognito::UserPoolUserToGroupAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -88241,77 +88450,32 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoEvaluationConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutoEvaluationConfiguration", - "markdownDescription": "The automatic evaluation configuration of an evaluation form.", - "title": "AutoEvaluationConfiguration" - }, - "Description": { - "markdownDescription": "The description of the evaluation form.\n\n*Length Constraints* : Minimum length of 0. Maximum length of 1024.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The identifier of the Amazon Connect instance.", - "title": "InstanceArn", + "GroupName": { + "markdownDescription": "The name of the group that you want to add your user to.", + "title": "GroupName", "type": "string" }, - "Items": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormBaseItem" - }, - "markdownDescription": "Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.\n\n*Minimum size* : 1\n\n*Maximum size* : 100", - "title": "Items", - "type": "array" - }, - "LanguageConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormLanguageConfiguration", - "markdownDescription": "Configuration for language settings of this evaluation form.", - "title": "LanguageConfiguration" - }, - "ReviewConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationReviewConfiguration" - }, - "ScoringStrategy": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.ScoringStrategy", - "markdownDescription": "A scoring strategy of the evaluation form.", - "title": "ScoringStrategy" - }, - "Status": { - "markdownDescription": "The status of the evaluation form.\n\n*Allowed values* : `DRAFT` | `ACTIVE`", - "title": "Status", + "UserPoolId": { + "markdownDescription": "The ID of the user pool that contains the group that you want to add the user to.", + "title": "UserPoolId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" - }, - "TargetConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormTargetConfiguration", - "markdownDescription": "Configuration that specifies the target for this evaluation form.", - "title": "TargetConfiguration" - }, - "Title": { - "markdownDescription": "A title of the evaluation form.", - "title": "Title", + "Username": { + "markdownDescription": "The user's username.", + "title": "Username", "type": "string" } }, "required": [ - "InstanceArn", - "Items", - "Status", - "Title" + "GroupName", + "UserPoolId", + "Username" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::EvaluationForm" + "AWS::Cognito::UserPoolUserToGroupAttachment" ], "type": "string" }, @@ -88330,863 +88494,1011 @@ ], "type": "object" }, - "AWS::Connect::EvaluationForm.AutoEvaluationConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "", - "title": "Enabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.AutomaticFailConfiguration": { + "AWS::CognitoSync::Dataset": { "additionalProperties": false, "properties": { - "TargetSection": { - "markdownDescription": "The referenceId of the target section for auto failure.", - "title": "TargetSection", + "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": { + "DatasetName": { + "type": "string" + }, + "IdentityId": { + "type": "string" + }, + "IdentityPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CognitoSync::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.EvaluationFormBaseItem": { - "additionalProperties": false, - "properties": { - "Section": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSection", - "markdownDescription": "A subsection or inner section of an item.", - "title": "Section" } }, "required": [ - "Section" + "Type" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormItem": { + "AWS::Comprehend::DocumentClassificationJob": { "additionalProperties": false, "properties": { - "Question": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestion", - "markdownDescription": "The information of the question.", - "title": "Question" + "Condition": { + "type": "string" }, - "Section": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSection", - "markdownDescription": "The information of the section.", - "title": "Section" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "DocumentClassifierArn": { + "type": "string" + }, + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassificationJob.InputDataConfig" + }, + "JobName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataAccessRoleArn", + "DocumentClassifierArn", + "InputDataConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Comprehend::DocumentClassificationJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementCondition": { + "AWS::Comprehend::DocumentClassificationJob.InputDataConfig": { "additionalProperties": false, "properties": { - "Operands": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConditionOperand" - }, - "markdownDescription": "Operands of the enablement condition.", - "title": "Operands", - "type": "array" + "InputFormat": { + "type": "string" }, - "Operator": { - "markdownDescription": "The operator to be used to be applied to operands if more than one provided.", - "title": "Operator", + "S3Uri": { "type": "string" } }, "required": [ - "Operands" + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConditionOperand": { + "AWS::Comprehend::DocumentClassificationJob.OutputDataConfig": { "additionalProperties": false, "properties": { - "Expression": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementExpression", - "markdownDescription": "An expression of the enablement condition.", - "title": "Expression" + "S3Uri": { + "type": "string" } }, + "required": [ + "S3Uri" + ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConfiguration": { + "AWS::Comprehend::DocumentClassifier": { "additionalProperties": false, "properties": { - "Action": { - "markdownDescription": "An enablement action that if condition is satisfied.", - "title": "Action", + "Condition": { "type": "string" }, - "Condition": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementCondition", - "markdownDescription": "A condition for item enablement configuration.", - "title": "Condition" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "DefaultAction": { - "markdownDescription": "An enablement action that if condition is not satisfied.", - "title": "DefaultAction", + "DependsOn": { + "anyOf": [ + { + "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": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data.", + "title": "DataAccessRoleArn", + "type": "string" + }, + "DocumentClassifierName": { + "markdownDescription": "The name of the document classifier.", + "title": "DocumentClassifierName", + "type": "string" + }, + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierInputDataConfig", + "markdownDescription": "Specifies the format and location of the input data for the job.", + "title": "InputDataConfig" + }, + "LanguageCode": { + "markdownDescription": "The language of the input documents. You can specify any of the languages supported by Amazon Comprehend. All documents must be in the same language.", + "title": "LanguageCode", + "type": "string" + }, + "Mode": { + "markdownDescription": "Indicates the mode in which the classifier will be trained. The classifier can be trained in multi-class (single-label) mode or multi-label mode. Multi-class mode identifies a single class label for each document and multi-label mode identifies one or more class labels for each document. Multiple labels for an individual document are separated by a delimiter. The default delimiter between labels is a pipe (|).", + "title": "Mode", + "type": "string" + }, + "ModelKmsKeyId": { + "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`", + "title": "ModelKmsKeyId", + "type": "string" + }, + "ModelPolicy": { + "markdownDescription": "The resource-based policy to attach to your custom document classifier model. You can use this policy to allow another AWS account to import your custom model.\n\nProvide your policy as a JSON body that you enter as a UTF-8 encoded string without line breaks. To provide valid JSON, enclose the attribute names and values in double quotes. If the JSON body is also enclosed in double quotes, then you must escape the double quotes that are inside the policy:\n\n`\"{\\\"attribute\\\": \\\"value\\\", \\\"attribute\\\": [\\\"value\\\"]}\"`\n\nTo avoid escaping quotes, you can use single quotes to enclose the policy and double quotes to enclose the JSON names and values:\n\n`'{\"attribute\": \"value\", \"attribute\": [\"value\"]}'`", + "title": "ModelPolicy", + "type": "string" + }, + "OutputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierOutputDataConfig", + "markdownDescription": "Provides output results configuration parameters for custom classifier jobs.", + "title": "OutputDataConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to associate with the document classifier. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.", + "title": "Tags", + "type": "array" + }, + "VersionName": { + "markdownDescription": "The version name given to the newly created classifier. Version names can have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The version name must be unique among all models with the same classifier name in the AWS account / AWS Region .", + "title": "VersionName", + "type": "string" + }, + "VolumeKmsKeyId": { + "markdownDescription": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`", + "title": "VolumeKmsKeyId", + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.VpcConfig", + "markdownDescription": "Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your custom classifier. For more information, see [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) .", + "title": "VpcConfig" + } + }, + "required": [ + "DataAccessRoleArn", + "DocumentClassifierName", + "InputDataConfig", + "LanguageCode" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Comprehend::DocumentClassifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Action", - "Condition" + "Type", + "Properties" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementExpression": { + "AWS::Comprehend::DocumentClassifier.AugmentedManifestsListItem": { "additionalProperties": false, "properties": { - "Comparator": { - "markdownDescription": "A comparator to be used against list of values.", - "title": "Comparator", - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSource", - "markdownDescription": "A source item of enablement expression.", - "title": "Source" - }, - "Values": { + "AttributeNames": { "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSourceValue" + "type": "string" }, - "markdownDescription": "A list of values from source item.", - "title": "Values", + "markdownDescription": "The JSON attribute that contains the annotations for your training documents. The number of attribute names that you specify depends on whether your augmented manifest file is the output of a single labeling job or a chained labeling job.\n\nIf your file is the output of a single labeling job, specify the LabelAttributeName key that was used when the job was created in Ground Truth.\n\nIf your file is the output of a chained labeling job, specify the LabelAttributeName key for one or more jobs in the chain. Each LabelAttributeName key provides the annotations from an individual job.", + "title": "AttributeNames", "type": "array" + }, + "S3Uri": { + "markdownDescription": "The Amazon S3 location of the augmented manifest file.", + "title": "S3Uri", + "type": "string" + }, + "Split": { + "markdownDescription": "The purpose of the data you've provided in the augmented manifest. You can either train or test this data. If you don't specify, the default is train.\n\nTRAIN - all of the documents in the manifest will be used for training. If no test documents are provided, Amazon Comprehend will automatically reserve a portion of the training documents for testing.\n\nTEST - all of the documents in the manifest will be used for testing.", + "title": "Split", + "type": "string" } }, "required": [ - "Comparator", - "Source", - "Values" + "AttributeNames", + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSource": { + "AWS::Comprehend::DocumentClassifier.DocumentClassifierDocuments": { "additionalProperties": false, "properties": { - "RefId": { - "markdownDescription": "A referenceId of the source item.", - "title": "RefId", + "S3Uri": { + "markdownDescription": "The S3 URI location of the training documents specified in the S3Uri CSV file.", + "title": "S3Uri", "type": "string" }, - "Type": { - "markdownDescription": "A type of source item.", - "title": "Type", + "TestS3Uri": { + "markdownDescription": "The S3 URI location of the test documents included in the TestS3Uri CSV file. This field is not required if you do not specify a test CSV file.", + "title": "TestS3Uri", "type": "string" } }, "required": [ - "Type" + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSourceValue": { + "AWS::Comprehend::DocumentClassifier.DocumentClassifierInputDataConfig": { "additionalProperties": false, "properties": { - "RefId": { - "markdownDescription": "A referenceId of the source value.", - "title": "RefId", + "AugmentedManifests": { + "items": { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.AugmentedManifestsListItem" + }, + "markdownDescription": "A list of augmented manifest files that provide training data for your custom model. An augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground Truth.\n\nThis parameter is required if you set `DataFormat` to `AUGMENTED_MANIFEST` .", + "title": "AugmentedManifests", + "type": "array" + }, + "DataFormat": { + "markdownDescription": "The format of your training data:\n\n- `COMPREHEND_CSV` : A two-column CSV file, where labels are provided in the first column, and documents are provided in the second. If you use this value, you must provide the `S3Uri` parameter in your request.\n- `AUGMENTED_MANIFEST` : A labeled dataset that is produced by Amazon SageMaker Ground Truth. This file is in JSON lines format. Each line is a complete JSON object that contains a training document and its associated labels.\n\nIf you use this value, you must provide the `AugmentedManifests` parameter in your request.\n\nIf you don't specify a value, Amazon Comprehend uses `COMPREHEND_CSV` as the default.", + "title": "DataFormat", "type": "string" }, - "Type": { - "markdownDescription": "A type of source item value.", - "title": "Type", + "DocumentReaderConfig": { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentReaderConfig", + "markdownDescription": "", + "title": "DocumentReaderConfig" + }, + "DocumentType": { + "markdownDescription": "The type of input documents for training the model. Provide plain-text documents to create a plain-text model, and provide semi-structured documents to create a native document model.", + "title": "DocumentType", + "type": "string" + }, + "Documents": { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierDocuments", + "markdownDescription": "The S3 location of the training documents. This parameter is required in a request to create a native document model.", + "title": "Documents" + }, + "LabelDelimiter": { + "markdownDescription": "Indicates the delimiter used to separate each label for training a multi-label classifier. The default delimiter between labels is a pipe (|). You can use a different character as a delimiter (if it's an allowed character) by specifying it under Delimiter for labels. If the training documents use a delimiter other than the default or the delimiter you specify, the labels on that line will be combined to make a single unique label, such as LABELLABELLABEL.", + "title": "LabelDelimiter", + "type": "string" + }, + "S3Uri": { + "markdownDescription": "The Amazon S3 URI for the input data. The S3 bucket must be in the same Region as the API endpoint that you are calling. The URI can point to a single input file or it can provide the prefix for a collection of input files.\n\nFor example, if you use the URI `S3://bucketName/prefix` , if the prefix is a single file, Amazon Comprehend uses that file as input. If more than one file begins with the prefix, Amazon Comprehend uses all of them as input.\n\nThis parameter is required if you set `DataFormat` to `COMPREHEND_CSV` .", + "title": "S3Uri", + "type": "string" + }, + "TestS3Uri": { + "markdownDescription": "This specifies the Amazon S3 location that contains the test annotations for the document classifier. The URI must be in the same AWS Region as the API endpoint that you are calling.", + "title": "TestS3Uri", "type": "string" } }, "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormLanguageConfiguration": { + "AWS::Comprehend::DocumentClassifier.DocumentClassifierOutputDataConfig": { "additionalProperties": false, "properties": { - "FormLanguage": { - "markdownDescription": "The language for the evaluation form.", - "title": "FormLanguage", + "KmsKeyId": { + "markdownDescription": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the output results from an analysis job. The KmsKeyId can be one of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- KMS Key Alias: `\"alias/ExampleAlias\"`\n- ARN of a KMS Key Alias: `\"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"`", + "title": "KmsKeyId", + "type": "string" + }, + "S3Uri": { + "markdownDescription": "When you use the `OutputDataConfig` object while creating a custom classifier, you specify the Amazon S3 location where you want to write the confusion matrix and other output files. The URI must be in the same Region as the API endpoint that you are calling. The location is used as the prefix for the actual location of this output file.\n\nWhen the custom classifier job is finished, the service creates the output file in a directory specific to the job. The `S3Uri` field contains the location of the output file, called `output.tar.gz` . It is a compressed archive that contains the confusion matrix.", + "title": "S3Uri", "type": "string" } }, "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomation": { + "AWS::Comprehend::DocumentClassifier.DocumentReaderConfig": { "additionalProperties": false, "properties": { - "AnswerSource": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", - "markdownDescription": "", - "title": "AnswerSource" + "DocumentReadAction": { + "markdownDescription": "This field defines the Amazon Textract API operation that Amazon Comprehend uses to extract text from PDF files and image files. Enter one of the following values:\n\n- `TEXTRACT_DETECT_DOCUMENT_TEXT` - The Amazon Comprehend service uses the `DetectDocumentText` API operation.\n- `TEXTRACT_ANALYZE_DOCUMENT` - The Amazon Comprehend service uses the `AnalyzeDocument` API operation.", + "title": "DocumentReadAction", + "type": "string" }, - "DefaultOptionRefIds": { - "items": { - "type": "string" - }, - "markdownDescription": "Reference IDs of default options.", - "title": "DefaultOptionRefIds", - "type": "array" + "DocumentReadMode": { + "markdownDescription": "Determines the text extraction actions for PDF files. Enter one of the following values:\n\n- `SERVICE_DEFAULT` - use the Amazon Comprehend service defaults for PDF files.\n- `FORCE_DOCUMENT_READ_ACTION` - Amazon Comprehend uses the Textract API specified by DocumentReadAction for all PDF files, including digital PDF files.", + "title": "DocumentReadMode", + "type": "string" }, - "Options": { + "FeatureTypes": { "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomationOption" + "type": "string" }, - "markdownDescription": "Automation options for the multi-select question.", - "title": "Options", + "markdownDescription": "Specifies the type of Amazon Textract features to apply. If you chose `TEXTRACT_ANALYZE_DOCUMENT` as the read action, you must specify one or both of the following values:\n\n- `TABLES` - Returns additional information about any tables that are detected in the input document.\n- `FORMS` - Returns additional information about any forms that are detected in the input document.", + "title": "FeatureTypes", "type": "array" } }, + "required": [ + "DocumentReadAction" + ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomationOption": { + "AWS::Comprehend::DocumentClassifier.VpcConfig": { "additionalProperties": false, "properties": { - "RuleCategory": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.MultiSelectQuestionRuleCategoryAutomation", - "markdownDescription": "Rule category configuration for this automation option.", - "title": "RuleCategory" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The ID number for a security group on an instance of your private VPC. Security groups on your VPC function serve as a virtual firewall to control inbound and outbound traffic and provides security for the resources that you\u2019ll be accessing on the VPC. This ID number is preceded by \"sg-\", for instance: \"sg-03b388029b0a285ea\". For more information, see [Security Groups for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) .", + "title": "SecurityGroupIds", + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "The ID for each subnet being used in your private VPC. This subnet is a subset of the a range of IPv4 addresses used by the VPC and is specific to a given availability zone in the VPC\u2019s Region. This ID number is preceded by \"subnet-\", for instance: \"subnet-04ccf456919e69055\". For more information, see [VPCs and Subnets](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) .", + "title": "Subnets", + "type": "array" } }, "required": [ - "RuleCategory" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionOption": { + "AWS::Comprehend::DocumentClassifierEndpoint": { "additionalProperties": false, "properties": { - "AutomaticFail": { - "type": "boolean" + "Condition": { + "type": "string" }, - "AutomaticFailConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutomaticFailConfiguration" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "PointsConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RefId": { - "markdownDescription": "Reference identifier for this option.", - "title": "RefId", - "type": "string" + "Metadata": { + "type": "object" }, - "Score": { - "type": "number" + "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" }, - "Text": { - "markdownDescription": "Display text for this option.", - "title": "Text", + "Type": { + "enum": [ + "AWS::Comprehend::DocumentClassifierEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "RefId", - "Text" + "Type", + "Properties" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionProperties": { + "AWS::Comprehend::DominantLanguageDetectionJob": { "additionalProperties": false, "properties": { - "Automation": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomation", - "markdownDescription": "Automation configuration for this multi-select question.", - "title": "Automation" + "Condition": { + "type": "string" }, - "DisplayAs": { - "markdownDescription": "Display format for the multi-select question.", - "title": "DisplayAs", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Options": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionOption" + "DependsOn": { + "anyOf": [ + { + "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" + }, + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::DominantLanguageDetectionJob.InputDataConfig" + }, + "JobName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VolumeKmsKeyId": { + "type": "string" + } }, - "markdownDescription": "Options available for this multi-select question.", - "title": "Options", - "type": "array" + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Comprehend::DominantLanguageDetectionJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Options" + "Type" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionAutomation": { - "additionalProperties": false, - "properties": { - "AnswerSource": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", - "markdownDescription": "A source of automation answer for numeric question.", - "title": "AnswerSource" - }, - "PropertyValue": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.NumericQuestionPropertyValueAutomation", - "markdownDescription": "The property value of the automation.", - "title": "PropertyValue" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionOption": { + "AWS::Comprehend::DominantLanguageDetectionJob.InputDataConfig": { "additionalProperties": false, "properties": { - "AutomaticFail": { - "markdownDescription": "The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.", - "title": "AutomaticFail", - "type": "boolean" - }, - "AutomaticFailConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutomaticFailConfiguration", - "markdownDescription": "A configuration for automatic fail.", - "title": "AutomaticFailConfiguration" - }, - "MaxValue": { - "markdownDescription": "The maximum answer value of the range option.", - "title": "MaxValue", - "type": "number" - }, - "MinValue": { - "markdownDescription": "The minimum answer value of the range option.", - "title": "MinValue", - "type": "number" - }, - "PointsConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration" + "InputFormat": { + "type": "string" }, - "Score": { - "markdownDescription": "The score assigned to answer values within the range option.\n\n*Minimum* : 0\n\n*Maximum* : 10", - "title": "Score", - "type": "number" + "S3Uri": { + "type": "string" } }, "required": [ - "MaxValue", - "MinValue" + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionProperties": { + "AWS::Comprehend::DominantLanguageDetectionJob.OutputDataConfig": { "additionalProperties": false, "properties": { - "Automation": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionAutomation", - "markdownDescription": "The automation properties of the numeric question.", - "title": "Automation" - }, - "MaxValue": { - "markdownDescription": "The maximum answer value.", - "title": "MaxValue", - "type": "number" - }, - "MinValue": { - "markdownDescription": "The minimum answer value.", - "title": "MinValue", - "type": "number" + "KmsKeyId": { + "type": "string" }, - "Options": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionOption" - }, - "markdownDescription": "The scoring options of the numeric question.", - "title": "Options", - "type": "array" + "S3Uri": { + "type": "string" } }, "required": [ - "MaxValue", - "MinValue" + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormQuestion": { + "AWS::Comprehend::EntitiesDetectionJob": { "additionalProperties": false, "properties": { - "Enablement": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConfiguration", - "markdownDescription": "A question conditional enablement.", - "title": "Enablement" - }, - "Instructions": { - "markdownDescription": "The instructions of the section.\n\n*Length Constraints* : Minimum length of 0. Maximum length of 1024.", - "title": "Instructions", + "Condition": { "type": "string" }, - "NotApplicableEnabled": { - "markdownDescription": "The flag to enable not applicable answers to the question.", - "title": "NotApplicableEnabled", - "type": "boolean" - }, - "QuestionType": { - "markdownDescription": "The type of the question.\n\n*Allowed values* : `NUMERIC` | `SINGLESELECT` | `TEXT`", - "title": "QuestionType", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "QuestionTypeProperties": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionTypeProperties", - "markdownDescription": "The properties of the type of question. Text questions do not have to define question type properties.", - "title": "QuestionTypeProperties" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RefId": { - "markdownDescription": "The identifier of the question. An identifier must be unique within the evaluation form.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", - "title": "RefId", - "type": "string" + "Metadata": { + "type": "object" }, - "ScoringConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionScoringConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "DataAccessRoleArn": { + "type": "string" + }, + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::EntitiesDetectionJob.InputDataConfig" + }, + "JobName": { + "type": "string" + }, + "LanguageCode": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataAccessRoleArn", + "InputDataConfig", + "LanguageCode" + ], + "type": "object" }, - "Title": { - "markdownDescription": "The title of the question.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 350.", - "title": "Title", + "Type": { + "enum": [ + "AWS::Comprehend::EntitiesDetectionJob" + ], "type": "string" }, - "Weight": { - "markdownDescription": "The scoring weight of the section.\n\n*Minimum* : 0\n\n*Maximum* : 100", - "title": "Weight", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "QuestionType", - "RefId", - "Title" + "Type", + "Properties" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource": { + "AWS::Comprehend::EntitiesDetectionJob.InputDataConfig": { "additionalProperties": false, "properties": { - "SourceType": { - "markdownDescription": "The automation answer source type.", - "title": "SourceType", + "InputFormat": { + "type": "string" + }, + "S3Uri": { "type": "string" } }, "required": [ - "SourceType" + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormQuestionScoringConfiguration": { + "AWS::Comprehend::EntitiesDetectionJob.OutputDataConfig": { "additionalProperties": false, "properties": { - "IsExcludedFromScoring": { - "type": "boolean" - }, - "PointsConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionPointsConfiguration" - }, - "ScoreThresholds": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold" - }, - "type": "array" + "S3Uri": { + "type": "string" } }, + "required": [ + "S3Uri" + ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormQuestionTypeProperties": { + "AWS::Comprehend::EntityRecognizer": { "additionalProperties": false, "properties": { - "MultiSelect": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionProperties", - "markdownDescription": "Properties for multi-select question types.", - "title": "MultiSelect" + "Condition": { + "type": "string" }, - "Numeric": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionProperties", - "markdownDescription": "The properties of the numeric question.", - "title": "Numeric" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "SingleSelect": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionProperties", - "markdownDescription": "The properties of the numeric question.", - "title": "SingleSelect" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Text": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormTextQuestionProperties", - "markdownDescription": "The properties of the text question.", - "title": "Text" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold": { - "additionalProperties": false, - "properties": { - "MaxScorePercentage": { - "type": "number" + "Metadata": { + "type": "object" }, - "MinScorePercentage": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "DataAccessRoleArn": { + "type": "string" + }, + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer.EntityRecognizerInputDataConfig" + }, + "LanguageCode": { + "type": "string" + }, + "ModelKmsKeyId": { + "type": "string" + }, + "ModelPolicy": { + "type": "string" + }, + "RecognizerName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VersionName": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer.VpcConfig" + } + }, + "required": [ + "DataAccessRoleArn", + "InputDataConfig", + "LanguageCode", + "RecognizerName" + ], + "type": "object" }, - "PerformanceCategory": { + "Type": { + "enum": [ + "AWS::Comprehend::EntityRecognizer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PerformanceCategory" + "Type", + "Properties" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormSection": { + "AWS::Comprehend::EntityRecognizer.AugmentedManifestsListItem": { "additionalProperties": false, "properties": { - "Instructions": { - "markdownDescription": "The instructions of the section.", - "title": "Instructions", + "AnnotationDataS3Uri": { "type": "string" }, - "IsExcludedFromScoring": { - "type": "boolean" - }, - "Items": { + "AttributeNames": { "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItem" + "type": "string" }, - "markdownDescription": "The items of the section.\n\n*Minimum* : 1", - "title": "Items", "type": "array" }, - "RefId": { - "markdownDescription": "The identifier of the section. An identifier must be unique within the evaluation form.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", - "title": "RefId", + "DocumentType": { "type": "string" }, - "ScoreThresholds": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold" - }, - "type": "array" + "S3Uri": { + "type": "string" }, - "Title": { - "markdownDescription": "The title of the section.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 128.", - "title": "Title", + "SourceDocumentsS3Uri": { "type": "string" }, - "Weight": { - "markdownDescription": "The scoring weight of the section.\n\n*Minimum* : 0\n\n*Maximum* : 100", - "title": "Weight", - "type": "number" + "Split": { + "type": "string" } }, "required": [ - "RefId", - "Title" + "AttributeNames", + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomation": { + "AWS::Comprehend::EntityRecognizer.EntityRecognizerAnnotations": { "additionalProperties": false, "properties": { - "AnswerSource": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", - "markdownDescription": "Automation answer source.", - "title": "AnswerSource" - }, - "DefaultOptionRefId": { - "markdownDescription": "The identifier of the default answer option, when none of the automation options match the criteria.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", - "title": "DefaultOptionRefId", + "S3Uri": { "type": "string" }, - "Options": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomationOption" - }, - "markdownDescription": "The automation options of the single select question.\n\n*Minimum* : 1\n\n*Maximum* : 20", - "title": "Options", - "type": "array" + "TestS3Uri": { + "type": "string" } }, + "required": [ + "S3Uri" + ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomationOption": { + "AWS::Comprehend::EntityRecognizer.EntityRecognizerDocuments": { "additionalProperties": false, "properties": { - "RuleCategory": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.SingleSelectQuestionRuleCategoryAutomation", - "markdownDescription": "The automation option based on a rule category for the single select question.", - "title": "RuleCategory" + "InputFormat": { + "type": "string" + }, + "S3Uri": { + "type": "string" + }, + "TestS3Uri": { + "type": "string" } }, "required": [ - "RuleCategory" + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionOption": { + "AWS::Comprehend::EntityRecognizer.EntityRecognizerEntityList": { "additionalProperties": false, "properties": { - "AutomaticFail": { - "markdownDescription": "The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.", - "title": "AutomaticFail", - "type": "boolean" - }, - "AutomaticFailConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutomaticFailConfiguration", - "markdownDescription": "Whether automatic fail is configured on a single select question.", - "title": "AutomaticFailConfiguration" - }, - "PointsConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration" - }, - "RefId": { - "markdownDescription": "The identifier of the answer option. An identifier must be unique within the question.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", - "title": "RefId", - "type": "string" - }, - "Score": { - "markdownDescription": "The score assigned to the answer option.\n\n*Minimum* : 0\n\n*Maximum* : 10", - "title": "Score", - "type": "number" - }, - "Text": { - "markdownDescription": "The title of the answer option.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 128.", - "title": "Text", + "S3Uri": { "type": "string" } }, "required": [ - "RefId", - "Text" + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionProperties": { + "AWS::Comprehend::EntityRecognizer.EntityRecognizerInputDataConfig": { "additionalProperties": false, "properties": { - "Automation": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomation", - "markdownDescription": "The display mode of the single select question.", - "title": "Automation" + "Annotations": { + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer.EntityRecognizerAnnotations" }, - "DisplayAs": { - "markdownDescription": "The display mode of the single select question.\n\n*Allowed values* : `DROPDOWN` | `RADIO`", - "title": "DisplayAs", + "AugmentedManifests": { + "items": { + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer.AugmentedManifestsListItem" + }, + "type": "array" + }, + "DataFormat": { "type": "string" }, - "Options": { + "Documents": { + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer.EntityRecognizerDocuments" + }, + "EntityList": { + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer.EntityRecognizerEntityList" + }, + "EntityTypes": { "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionOption" + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer.EntityTypesListItem" }, - "markdownDescription": "The answer options of the single select question.\n\n*Minimum* : 2\n\n*Maximum* : 256", - "title": "Options", "type": "array" } }, "required": [ - "Options" + "EntityTypes" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormTargetConfiguration": { + "AWS::Comprehend::EntityRecognizer.EntityTypesListItem": { "additionalProperties": false, "properties": { - "ContactInteractionType": { - "markdownDescription": "The contact interaction type for this evaluation form.", - "title": "ContactInteractionType", + "Type": { "type": "string" } }, "required": [ - "ContactInteractionType" + "Type" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormTextQuestionAutomation": { - "additionalProperties": false, - "properties": { - "AnswerSource": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", - "markdownDescription": "Automation answer source.", - "title": "AnswerSource" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.EvaluationFormTextQuestionProperties": { + "AWS::Comprehend::EntityRecognizer.VpcConfig": { "additionalProperties": false, "properties": { - "Automation": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormTextQuestionAutomation", - "markdownDescription": "The automation properties of the text question.", - "title": "Automation" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.EvaluationReviewConfiguration": { - "additionalProperties": false, - "properties": { - "EligibilityDays": { - "type": "number" - }, - "ReviewNotificationRecipients": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipient" - }, - "type": "array" - } - }, - "required": [ - "ReviewNotificationRecipients" - ], - "type": "object" - }, - "AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipient": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipientValue" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipientValue": { - "additionalProperties": false, - "properties": { - "UserId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.MultiSelectQuestionRuleCategoryAutomation": { - "additionalProperties": false, - "properties": { - "Category": { - "markdownDescription": "The category name for this automation rule.", - "title": "Category", - "type": "string" - }, - "Condition": { - "markdownDescription": "The condition for this automation rule.", - "title": "Condition", - "type": "string" - }, - "OptionRefIds": { + "SecurityGroupIds": { "items": { "type": "string" }, - "markdownDescription": "Reference IDs of options for this automation rule.", - "title": "OptionRefIds", "type": "array" - } - }, - "required": [ - "Category", - "Condition", - "OptionRefIds" - ], - "type": "object" - }, - "AWS::Connect::EvaluationForm.NumericQuestionPropertyValueAutomation": { - "additionalProperties": false, - "properties": { - "Label": { - "markdownDescription": "The property label of the automation.", - "title": "Label", - "type": "string" - } - }, - "required": [ - "Label" - ], - "type": "object" - }, - "AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration": { - "additionalProperties": false, - "properties": { - "IsBonus": { - "type": "boolean" - }, - "PointValue": { - "type": "number" - } - }, - "required": [ - "PointValue" - ], - "type": "object" - }, - "AWS::Connect::EvaluationForm.QuestionPointsConfiguration": { - "additionalProperties": false, - "properties": { - "IsBonus": { - "type": "boolean" - }, - "MaxPointValue": { - "type": "number" }, - "MinPointValue": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.ScoringStrategy": { - "additionalProperties": false, - "properties": { - "Mode": { - "markdownDescription": "The scoring mode of the evaluation form.\n\n*Allowed values* : `QUESTION_ONLY` | `SECTION_ONLY`", - "title": "Mode", - "type": "string" - }, - "ScoreThresholds": { + "Subnets": { "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold" + "type": "string" }, "type": "array" - }, - "Status": { - "markdownDescription": "The scoring status of the evaluation form.\n\n*Allowed values* : `ENABLED` | `DISABLED`", - "title": "Status", - "type": "string" - } - }, - "required": [ - "Mode", - "Status" - ], - "type": "object" - }, - "AWS::Connect::EvaluationForm.SingleSelectQuestionRuleCategoryAutomation": { - "additionalProperties": false, - "properties": { - "Category": { - "markdownDescription": "The category name, as defined in Rules.\n\n*Minimum* : 1\n\n*Maximum* : 50", - "title": "Category", - "type": "string" - }, - "Condition": { - "markdownDescription": "The condition to apply for the automation option. If the condition is PRESENT, then the option is applied when the contact data includes the category. Similarly, if the condition is NOT_PRESENT, then the option is applied when the contact data does not include the category.\n\n*Allowed values* : `PRESENT` | `NOT_PRESENT`\n\n*Maximum* : 50", - "title": "Condition", - "type": "string" - }, - "OptionRefId": { - "markdownDescription": "The identifier of the answer option. An identifier must be unique within the question.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", - "title": "OptionRefId", - "type": "string" } }, "required": [ - "Category", - "Condition", - "OptionRefId" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::Connect::HoursOfOperation": { + "AWS::Comprehend::Flywheel": { "additionalProperties": false, "properties": { "Condition": { @@ -89221,78 +89533,60 @@ "Properties": { "additionalProperties": false, "properties": { - "ChildHoursOfOperations": { - "items": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationsIdentifier" - }, - "markdownDescription": "", - "title": "ChildHoursOfOperations", - "type": "array" + "ActiveModelArn": { + "markdownDescription": "The Amazon Resource Number (ARN) of the active model version.", + "title": "ActiveModelArn", + "type": "string" }, - "Config": { - "items": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationConfig" - }, - "markdownDescription": "Configuration information for the hours of operation.", - "title": "Config", - "type": "array" + "DataAccessRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend permission to access the flywheel data.", + "title": "DataAccessRoleArn", + "type": "string" }, - "Description": { - "markdownDescription": "The description for the hours of operation.", - "title": "Description", + "DataLakeS3Uri": { + "markdownDescription": "Amazon S3 URI of the data lake location.", + "title": "DataLakeS3Uri", "type": "string" }, - "HoursOfOperationOverrides": { - "items": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationOverride" - }, - "markdownDescription": "", - "title": "HoursOfOperationOverrides", - "type": "array" + "DataSecurityConfig": { + "$ref": "#/definitions/AWS::Comprehend::Flywheel.DataSecurityConfig", + "markdownDescription": "Data security configuration.", + "title": "DataSecurityConfig" }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "FlywheelName": { + "markdownDescription": "Name for the flywheel.", + "title": "FlywheelName", "type": "string" }, - "Name": { - "markdownDescription": "The name for the hours of operation.", - "title": "Name", + "ModelType": { + "markdownDescription": "Model type of the flywheel's model.", + "title": "ModelType", "type": "string" }, - "ParentHoursOfOperations": { - "items": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationsIdentifier" - }, - "markdownDescription": "", - "title": "ParentHoursOfOperations", - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with \"Sales\" as the key might be added to an endpoint to indicate its use by the sales department.", "title": "Tags", "type": "array" }, - "TimeZone": { - "markdownDescription": "The time zone for the hours of operation.", - "title": "TimeZone", - "type": "string" + "TaskConfig": { + "$ref": "#/definitions/AWS::Comprehend::Flywheel.TaskConfig", + "markdownDescription": "Configuration about the model associated with a flywheel.", + "title": "TaskConfig" } }, "required": [ - "Config", - "InstanceArn", - "Name", - "TimeZone" + "DataAccessRoleArn", + "DataLakeS3Uri", + "FlywheelName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::HoursOfOperation" + "AWS::Comprehend::Flywheel" ], "type": "string" }, @@ -89311,227 +89605,133 @@ ], "type": "object" }, - "AWS::Connect::HoursOfOperation.HoursOfOperationConfig": { + "AWS::Comprehend::Flywheel.DataSecurityConfig": { "additionalProperties": false, "properties": { - "Day": { - "markdownDescription": "The day that the hours of operation applies to.", - "title": "Day", + "DataLakeKmsKeyId": { + "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt the data in the data lake.", + "title": "DataLakeKmsKeyId", "type": "string" }, - "EndTime": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice", - "markdownDescription": "The end time that your contact center closes.", - "title": "EndTime" + "ModelKmsKeyId": { + "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`", + "title": "ModelKmsKeyId", + "type": "string" }, - "StartTime": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice", - "markdownDescription": "The start time that your contact center opens.", - "title": "StartTime" + "VolumeKmsKeyId": { + "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt the volume.", + "title": "VolumeKmsKeyId", + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Comprehend::Flywheel.VpcConfig", + "markdownDescription": "Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for the job. For more information, see [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) .", + "title": "VpcConfig" } }, - "required": [ - "Day", - "EndTime", - "StartTime" - ], "type": "object" }, - "AWS::Connect::HoursOfOperation.HoursOfOperationOverride": { + "AWS::Comprehend::Flywheel.DocumentClassificationConfig": { "additionalProperties": false, "properties": { - "EffectiveFrom": { - "markdownDescription": "The date from which the hours of operation override would be effective.", - "title": "EffectiveFrom", - "type": "string" - }, - "EffectiveTill": { - "markdownDescription": "The date until the hours of operation override is effective.", - "title": "EffectiveTill", - "type": "string" - }, - "HoursOfOperationOverrideId": { - "markdownDescription": "The identifier for the hours of operation override.", - "title": "HoursOfOperationOverrideId", - "type": "string" - }, - "OverrideConfig": { + "Labels": { "items": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationOverrideConfig" + "type": "string" }, - "markdownDescription": "", - "title": "OverrideConfig", + "markdownDescription": "One or more labels to associate with the custom classifier.", + "title": "Labels", "type": "array" }, - "OverrideDescription": { - "markdownDescription": "", - "title": "OverrideDescription", - "type": "string" - }, - "OverrideName": { - "markdownDescription": "", - "title": "OverrideName", - "type": "string" - }, - "OverrideType": { - "markdownDescription": "", - "title": "OverrideType", - "type": "string" - }, - "RecurrenceConfig": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.RecurrenceConfig", - "markdownDescription": "", - "title": "RecurrenceConfig" - } - }, - "required": [ - "EffectiveFrom", - "EffectiveTill", - "OverrideConfig", - "OverrideName" - ], - "type": "object" - }, - "AWS::Connect::HoursOfOperation.HoursOfOperationOverrideConfig": { - "additionalProperties": false, - "properties": { - "Day": { - "markdownDescription": "The day that the hours of operation override applies to.", - "title": "Day", + "Mode": { + "markdownDescription": "Classification mode indicates whether the documents are `MULTI_CLASS` or `MULTI_LABEL` .", + "title": "Mode", "type": "string" - }, - "EndTime": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.OverrideTimeSlice", - "markdownDescription": "The end time that your contact center closes if overrides are applied.", - "title": "EndTime" - }, - "StartTime": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.OverrideTimeSlice", - "markdownDescription": "The start time when your contact center opens if overrides are applied.", - "title": "StartTime" } }, "required": [ - "Day", - "EndTime", - "StartTime" + "Mode" ], "type": "object" }, - "AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice": { + "AWS::Comprehend::Flywheel.EntityRecognitionConfig": { "additionalProperties": false, "properties": { - "Hours": { - "markdownDescription": "The hours.", - "title": "Hours", - "type": "number" - }, - "Minutes": { - "markdownDescription": "The minutes.", - "title": "Minutes", - "type": "number" + "EntityTypes": { + "items": { + "$ref": "#/definitions/AWS::Comprehend::Flywheel.EntityTypesListItem" + }, + "markdownDescription": "Up to 25 entity types that the model is trained to recognize.", + "title": "EntityTypes", + "type": "array" } }, - "required": [ - "Hours", - "Minutes" - ], "type": "object" }, - "AWS::Connect::HoursOfOperation.HoursOfOperationsIdentifier": { + "AWS::Comprehend::Flywheel.EntityTypesListItem": { "additionalProperties": false, "properties": { - "Id": { - "markdownDescription": "", - "title": "Id", - "type": "string" - }, - "Name": { - "markdownDescription": "", - "title": "Name", + "Type": { + "markdownDescription": "An entity type within a labeled training dataset that Amazon Comprehend uses to train a custom entity recognizer.\n\nEntity types must not contain the following invalid characters: \\n (line break), \\\\n (escaped line break, \\r (carriage return), \\\\r (escaped carriage return), \\t (tab), \\\\t (escaped tab), and , (comma).", + "title": "Type", "type": "string" } }, "required": [ - "Id" + "Type" ], "type": "object" }, - "AWS::Connect::HoursOfOperation.OverrideTimeSlice": { + "AWS::Comprehend::Flywheel.TaskConfig": { "additionalProperties": false, "properties": { - "Hours": { - "markdownDescription": "The hours.", - "title": "Hours", - "type": "number" + "DocumentClassificationConfig": { + "$ref": "#/definitions/AWS::Comprehend::Flywheel.DocumentClassificationConfig", + "markdownDescription": "Configuration required for a document classification model.", + "title": "DocumentClassificationConfig" }, - "Minutes": { - "markdownDescription": "The minutes.", - "title": "Minutes", - "type": "number" - } - }, - "required": [ - "Hours", - "Minutes" - ], - "type": "object" - }, - "AWS::Connect::HoursOfOperation.RecurrenceConfig": { - "additionalProperties": false, - "properties": { - "RecurrencePattern": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.RecurrencePattern", - "markdownDescription": "", - "title": "RecurrencePattern" + "EntityRecognitionConfig": { + "$ref": "#/definitions/AWS::Comprehend::Flywheel.EntityRecognitionConfig", + "markdownDescription": "Configuration required for an entity recognition model.", + "title": "EntityRecognitionConfig" + }, + "LanguageCode": { + "markdownDescription": "Language code for the language that the model supports.", + "title": "LanguageCode", + "type": "string" } }, "required": [ - "RecurrencePattern" + "LanguageCode" ], "type": "object" }, - "AWS::Connect::HoursOfOperation.RecurrencePattern": { + "AWS::Comprehend::Flywheel.VpcConfig": { "additionalProperties": false, "properties": { - "ByMonth": { - "items": { - "type": "number" - }, - "markdownDescription": "", - "title": "ByMonth", - "type": "array" - }, - "ByMonthDay": { + "SecurityGroupIds": { "items": { - "type": "number" + "type": "string" }, - "markdownDescription": "", - "title": "ByMonthDay", + "markdownDescription": "The ID number for a security group on an instance of your private VPC. Security groups on your VPC function serve as a virtual firewall to control inbound and outbound traffic and provides security for the resources that you\u2019ll be accessing on the VPC. This ID number is preceded by \"sg-\", for instance: \"sg-03b388029b0a285ea\". For more information, see [Security Groups for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) .", + "title": "SecurityGroupIds", "type": "array" }, - "ByWeekdayOccurrence": { + "Subnets": { "items": { - "type": "number" + "type": "string" }, - "markdownDescription": "", - "title": "ByWeekdayOccurrence", + "markdownDescription": "The ID for each subnet being used in your private VPC. This subnet is a subset of the a range of IPv4 addresses used by the VPC and is specific to a given availability zone in the VPC\u2019s Region. This ID number is preceded by \"subnet-\", for instance: \"subnet-04ccf456919e69055\". For more information, see [VPCs and Subnets](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) .", + "title": "Subnets", "type": "array" - }, - "Frequency": { - "markdownDescription": "", - "title": "Frequency", - "type": "string" - }, - "Interval": { - "markdownDescription": "", - "title": "Interval", - "type": "number" } }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], "type": "object" }, - "AWS::Connect::Instance": { + "AWS::Comprehend::FlywheelDataset": { "additionalProperties": false, "properties": { "Condition": { @@ -89566,44 +89766,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Attributes": { - "$ref": "#/definitions/AWS::Connect::Instance.Attributes", - "markdownDescription": "A toggle for an individual feature at the instance level.", - "title": "Attributes" + "DatasetName": { + "type": "string" }, - "DirectoryId": { - "markdownDescription": "The identifier for the directory.", - "title": "DirectoryId", + "DatasetType": { "type": "string" }, - "IdentityManagementType": { - "markdownDescription": "The identity management type.", - "title": "IdentityManagementType", + "Description": { "type": "string" }, - "InstanceAlias": { - "markdownDescription": "The alias of instance. `InstanceAlias` is only required when `IdentityManagementType` is `CONNECT_MANAGED` or `SAML` . `InstanceAlias` is not required when `IdentityManagementType` is `EXISTING_DIRECTORY` .", - "title": "InstanceAlias", + "FlywheelArn": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "Attributes", - "IdentityManagementType" + "DatasetName", + "FlywheelArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::Instance" + "AWS::Comprehend::FlywheelDataset" ], "type": "string" }, @@ -89622,80 +89812,7 @@ ], "type": "object" }, - "AWS::Connect::Instance.Attributes": { - "additionalProperties": false, - "properties": { - "AutoResolveBestVoices": { - "markdownDescription": "", - "title": "AutoResolveBestVoices", - "type": "boolean" - }, - "ContactLens": { - "markdownDescription": "", - "title": "ContactLens", - "type": "boolean" - }, - "ContactflowLogs": { - "markdownDescription": "", - "title": "ContactflowLogs", - "type": "boolean" - }, - "EarlyMedia": { - "markdownDescription": "", - "title": "EarlyMedia", - "type": "boolean" - }, - "EnhancedChatMonitoring": { - "markdownDescription": "", - "title": "EnhancedChatMonitoring", - "type": "boolean" - }, - "EnhancedContactMonitoring": { - "markdownDescription": "", - "title": "EnhancedContactMonitoring", - "type": "boolean" - }, - "HighVolumeOutBound": { - "markdownDescription": "", - "title": "HighVolumeOutBound", - "type": "boolean" - }, - "InboundCalls": { - "markdownDescription": "", - "title": "InboundCalls", - "type": "boolean" - }, - "MessageStreaming": { - "type": "boolean" - }, - "MultiPartyChatConference": { - "markdownDescription": "", - "title": "MultiPartyChatConference", - "type": "boolean" - }, - "MultiPartyConference": { - "markdownDescription": "", - "title": "MultiPartyConference", - "type": "boolean" - }, - "OutboundCalls": { - "markdownDescription": "", - "title": "OutboundCalls", - "type": "boolean" - }, - "UseCustomTTSVoices": { - "markdownDescription": "", - "title": "UseCustomTTSVoices", - "type": "boolean" - } - }, - "required": [ - "InboundCalls", - "OutboundCalls" - ], - "type": "object" - }, - "AWS::Connect::InstanceStorageConfig": { + "AWS::Comprehend::PiiEntitiesDetectionJob": { "additionalProperties": false, "properties": { "Condition": { @@ -89730,52 +89847,42 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "DataAccessRoleArn": { "type": "string" }, - "KinesisFirehoseConfig": { - "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisFirehoseConfig", - "markdownDescription": "The configuration of the Kinesis Firehose delivery stream.", - "title": "KinesisFirehoseConfig" + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob.InputDataConfig" }, - "KinesisStreamConfig": { - "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisStreamConfig", - "markdownDescription": "The configuration of the Kinesis data stream.", - "title": "KinesisStreamConfig" + "JobName": { + "type": "string" }, - "KinesisVideoStreamConfig": { - "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisVideoStreamConfig", - "markdownDescription": "The configuration of the Kinesis video stream.", - "title": "KinesisVideoStreamConfig" + "LanguageCode": { + "type": "string" }, - "ResourceType": { - "markdownDescription": "A valid resource type. Following are the valid resource types: `CHAT_TRANSCRIPTS` | `CALL_RECORDINGS` | `SCHEDULED_REPORTS` | `MEDIA_STREAMS` | `CONTACT_TRACE_RECORDS` | `AGENT_EVENTS`", - "title": "ResourceType", + "Mode": { "type": "string" }, - "S3Config": { - "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.S3Config", - "markdownDescription": "The S3 bucket configuration.", - "title": "S3Config" + "RedactionConfig": { + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob.RedactionConfig" }, - "StorageType": { - "markdownDescription": "A valid storage type.", - "title": "StorageType", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob.TagsItems" + }, + "type": "array" } }, "required": [ - "InstanceArn", - "ResourceType", - "StorageType" + "DataAccessRoleArn", + "InputDataConfig", + "LanguageCode", + "Mode" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::InstanceStorageConfig" + "AWS::Comprehend::PiiEntitiesDetectionJob" ], "type": "string" }, @@ -89794,106 +89901,68 @@ ], "type": "object" }, - "AWS::Connect::InstanceStorageConfig.EncryptionConfig": { + "AWS::Comprehend::PiiEntitiesDetectionJob.InputDataConfig": { "additionalProperties": false, "properties": { - "EncryptionType": { - "markdownDescription": "The type of encryption.", - "title": "EncryptionType", + "InputFormat": { "type": "string" }, - "KeyId": { - "markdownDescription": "The full ARN of the encryption key.\n\n> Be sure to provide the full ARN of the encryption key, not just the ID.\n> \n> Amazon Connect supports only KMS keys with the default key spec of [`SYMMETRIC_DEFAULT`](https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-symmetric-default) .", - "title": "KeyId", + "S3Uri": { "type": "string" } }, "required": [ - "EncryptionType", - "KeyId" + "S3Uri" ], "type": "object" }, - "AWS::Connect::InstanceStorageConfig.KinesisFirehoseConfig": { + "AWS::Comprehend::PiiEntitiesDetectionJob.OutputDataConfig": { "additionalProperties": false, "properties": { - "FirehoseArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the delivery stream.", - "title": "FirehoseArn", + "S3Uri": { "type": "string" } }, "required": [ - "FirehoseArn" + "S3Uri" ], "type": "object" }, - "AWS::Connect::InstanceStorageConfig.KinesisStreamConfig": { + "AWS::Comprehend::PiiEntitiesDetectionJob.RedactionConfig": { "additionalProperties": false, "properties": { - "StreamArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the data stream.", - "title": "StreamArn", + "MaskCharacter": { "type": "string" - } - }, - "required": [ - "StreamArn" - ], - "type": "object" - }, - "AWS::Connect::InstanceStorageConfig.KinesisVideoStreamConfig": { - "additionalProperties": false, - "properties": { - "EncryptionConfig": { - "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.EncryptionConfig", - "markdownDescription": "The encryption configuration.", - "title": "EncryptionConfig" }, - "Prefix": { - "markdownDescription": "The prefix of the video stream.", - "title": "Prefix", + "MaskMode": { "type": "string" }, - "RetentionPeriodHours": { - "markdownDescription": "The number of hours data is retained in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream.\n\nThe default value is 0, indicating that the stream does not persist data.", - "title": "RetentionPeriodHours", - "type": "number" + "PiiEntityTypes": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "EncryptionConfig", - "Prefix", - "RetentionPeriodHours" - ], "type": "object" }, - "AWS::Connect::InstanceStorageConfig.S3Config": { + "AWS::Comprehend::PiiEntitiesDetectionJob.TagsItems": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The S3 bucket name.", - "title": "BucketName", + "Key": { "type": "string" }, - "BucketPrefix": { - "markdownDescription": "The S3 bucket prefix.", - "title": "BucketPrefix", + "Value": { "type": "string" - }, - "EncryptionConfig": { - "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.EncryptionConfig", - "markdownDescription": "The Amazon S3 encryption configuration.", - "title": "EncryptionConfig" } }, "required": [ - "BucketName", - "BucketPrefix" + "Key", + "Value" ], "type": "object" }, - "AWS::Connect::IntegrationAssociation": { + "AWS::Comprehend::SentimentDetectionJob": { "additionalProperties": false, "properties": { "Condition": { @@ -89928,19 +89997,16 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `100`", - "title": "InstanceId", + "DataAccessRoleArn": { "type": "string" }, - "IntegrationArn": { - "markdownDescription": "ARN of the integration being associated with the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `140`", - "title": "IntegrationArn", + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::SentimentDetectionJob.InputDataConfig" + }, + "JobName": { "type": "string" }, - "IntegrationType": { - "markdownDescription": "Specifies the integration type to be associated with the instance.\n\n*Allowed Values* : `LEX_BOT` | `LAMBDA_FUNCTION`", - "title": "IntegrationType", + "LanguageCode": { "type": "string" }, "Tags": { @@ -89951,15 +90017,15 @@ } }, "required": [ - "InstanceId", - "IntegrationArn", - "IntegrationType" + "DataAccessRoleArn", + "InputDataConfig", + "LanguageCode" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::IntegrationAssociation" + "AWS::Comprehend::SentimentDetectionJob" ], "type": "string" }, @@ -89978,7 +90044,22 @@ ], "type": "object" }, - "AWS::Connect::Metric": { + "AWS::Comprehend::SentimentDetectionJob.InputDataConfig": { + "additionalProperties": false, + "properties": { + "InputFormat": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::Comprehend::TargetedSentimentDetectionJob": { "additionalProperties": false, "properties": { "Condition": { @@ -90013,42 +90094,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InstanceArn": { + "DataAccessRoleArn": { "type": "string" }, - "MetricCalculation": { - "$ref": "#/definitions/AWS::Connect::Metric.MetricCalculation" - }, - "Name": { - "type": "string" + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::TargetedSentimentDetectionJob.InputDataConfig" }, - "PositiveTrendIndicator": { + "JobName": { "type": "string" }, - "Status": { + "LanguageCode": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Comprehend::TargetedSentimentDetectionJob.TagsItems" }, "type": "array" }, - "Unit": { + "VolumeKmsKeyId": { "type": "string" } }, "required": [ - "InstanceArn" + "DataAccessRoleArn", + "InputDataConfig", + "LanguageCode" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::Metric" + "AWS::Comprehend::TargetedSentimentDetectionJob" ], "type": "string" }, @@ -90067,152 +90144,53 @@ ], "type": "object" }, - "AWS::Connect::Metric.AvailableFilter": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Id", - "Type" - ], - "type": "object" - }, - "AWS::Connect::Metric.CalculationComponent": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "MetricFilters": { - "items": { - "$ref": "#/definitions/AWS::Connect::Metric.MetricFilter" - }, - "type": "array" - }, - "MetricId": { - "type": "string" - }, - "MetricName": { - "type": "string" - } - }, - "required": [ - "Alias" - ], - "type": "object" - }, - "AWS::Connect::Metric.CreatedByInfo": { + "AWS::Comprehend::TargetedSentimentDetectionJob.InputDataConfig": { "additionalProperties": false, "properties": { - "AWSIdentityArn": { + "InputFormat": { "type": "string" }, - "ConnectUserArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::Metric.MetricCalculation": { - "additionalProperties": false, - "properties": { - "Calculation": { + "S3Uri": { "type": "string" - }, - "CalculationComponents": { - "items": { - "$ref": "#/definitions/AWS::Connect::Metric.CalculationComponent" - }, - "type": "array" } }, "required": [ - "Calculation", - "CalculationComponents" + "S3Uri" ], "type": "object" }, - "AWS::Connect::Metric.MetricFilter": { + "AWS::Comprehend::TargetedSentimentDetectionJob.OutputDataConfig": { "additionalProperties": false, "properties": { - "BooleanCondition": { - "$ref": "#/definitions/AWS::Connect::Metric.MetricFilterBooleanCondition" - }, - "MetricFilterKey": { + "KmsKeyId": { "type": "string" }, - "Negate": { - "type": "boolean" - }, - "NumberCondition": { - "$ref": "#/definitions/AWS::Connect::Metric.MetricFilterNumberCondition" - }, - "StringCondition": { - "$ref": "#/definitions/AWS::Connect::Metric.MetricFilterStringCondition" - } - }, - "required": [ - "MetricFilterKey" - ], - "type": "object" - }, - "AWS::Connect::Metric.MetricFilterBooleanCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { + "S3Uri": { "type": "string" } }, "required": [ - "Comparison" + "S3Uri" ], "type": "object" }, - "AWS::Connect::Metric.MetricFilterNumberCondition": { + "AWS::Comprehend::TargetedSentimentDetectionJob.TagsItems": { "additionalProperties": false, "properties": { - "Comparison": { + "Key": { "type": "string" }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Comparison", - "Values" - ], - "type": "object" - }, - "AWS::Connect::Metric.MetricFilterStringCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { + "Value": { "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "Comparison", - "Values" + "Key", + "Value" ], "type": "object" }, - "AWS::Connect::Notification": { + "AWS::ComputeOptimizer::AutomationRule": { "additionalProperties": false, "properties": { "Condition": { @@ -90247,24 +90225,36 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "$ref": "#/definitions/AWS::Connect::Notification.NotificationContent" + "Criteria": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.Criteria" }, - "ExpiresAt": { + "Description": { "type": "string" }, - "InstanceArn": { + "Name": { "type": "string" }, + "OrganizationConfiguration": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.OrganizationConfiguration" + }, "Priority": { "type": "string" }, - "Recipients": { + "RecommendedActionTypes": { "items": { "type": "string" }, "type": "array" }, + "RuleType": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.Schedule" + }, + "Status": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -90273,14 +90263,17 @@ } }, "required": [ - "Content", - "InstanceArn" + "Name", + "RecommendedActionTypes", + "RuleType", + "Schedule", + "Status" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::Notification" + "AWS::ComputeOptimizer::AutomationRule" ], "type": "string" }, @@ -90299,54 +90292,162 @@ ], "type": "object" }, - "AWS::Connect::Notification.NotificationContent": { + "AWS::ComputeOptimizer::AutomationRule.Criteria": { "additionalProperties": false, "properties": { - "DeDE": { - "type": "string" + "EbsVolumeSizeInGib": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition" + }, + "type": "array" }, - "EnUS": { - "type": "string" + "EbsVolumeType": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" + }, + "type": "array" }, - "EsES": { - "type": "string" + "EstimatedMonthlySavings": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.DoubleCriteriaCondition" + }, + "type": "array" }, - "FrFR": { - "type": "string" + "LookBackPeriodInDays": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition" + }, + "type": "array" }, - "IdID": { - "type": "string" + "Region": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" + }, + "type": "array" }, - "ItIT": { - "type": "string" + "ResourceArn": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" + }, + "type": "array" }, - "JaJP": { - "type": "string" + "ResourceTag": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.ResourceTagsCriteriaCondition" + }, + "type": "array" }, - "KoKR": { + "RestartNeeded": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ComputeOptimizer::AutomationRule.DoubleCriteriaCondition": { + "additionalProperties": false, + "properties": { + "Comparison": { "type": "string" }, - "PtBR": { + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition": { + "additionalProperties": false, + "properties": { + "Comparison": { "type": "string" }, - "ZhCN": { - "type": "string" + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ComputeOptimizer::AutomationRule.OrganizationConfiguration": { + "additionalProperties": false, + "properties": { + "AccountIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "ZhTW": { + "RuleApplyOrder": { "type": "string" } }, "type": "object" }, - "AWS::Connect::PhoneNumber": { + "AWS::ComputeOptimizer::AutomationRule.ResourceTagsCriteriaCondition": { "additionalProperties": false, "properties": { - "Condition": { + "Comparison": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ComputeOptimizer::AutomationRule.Schedule": { + "additionalProperties": false, + "properties": { + "ExecutionWindowInMinutes": { + "type": "number" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleExpressionTimezone": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Config::AggregationAuthorization": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", "Retain", "Snapshot" ], @@ -90373,53 +90474,34 @@ "Properties": { "additionalProperties": false, "properties": { - "CountryCode": { - "markdownDescription": "The ISO country code.", - "title": "CountryCode", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the phone number.", - "title": "Description", - "type": "string" - }, - "Prefix": { - "markdownDescription": "The prefix of the phone number. If provided, it must contain `+` as part of the country code.\n\n*Pattern* : `^\\\\+[0-9]{1,15}`", - "title": "Prefix", + "AuthorizedAccountId": { + "markdownDescription": "The 12-digit account ID of the account authorized to aggregate data.", + "title": "AuthorizedAccountId", "type": "string" }, - "SourcePhoneNumberArn": { - "markdownDescription": "The claimed phone number ARN that was previously imported from the external service, such as AWS End User Messaging. If it is from AWS End User Messaging, it looks like the ARN of the phone number that was imported from AWS End User Messaging.", - "title": "SourcePhoneNumberArn", + "AuthorizedAwsRegion": { + "markdownDescription": "The region authorized to collect aggregated data.", + "title": "AuthorizedAwsRegion", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "An array of tag object.", "title": "Tags", "type": "array" - }, - "TargetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for Connect Customer instances or traffic distribution group that phone numbers are claimed to.", - "title": "TargetArn", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of phone number.", - "title": "Type", - "type": "string" } }, "required": [ - "TargetArn" + "AuthorizedAccountId", + "AuthorizedAwsRegion" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::PhoneNumber" + "AWS::Config::AggregationAuthorization" ], "type": "string" }, @@ -90438,7 +90520,7 @@ ], "type": "object" }, - "AWS::Connect::PredefinedAttribute": { + "AWS::Config::ConfigRule": { "additionalProperties": false, "properties": { "Condition": { @@ -90473,44 +90555,58 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributeConfiguration": { - "$ref": "#/definitions/AWS::Connect::PredefinedAttribute.AttributeConfiguration", - "markdownDescription": "Custom metadata that is associated to predefined attributes to control behavior in upstream services, such as controlling how a predefined attribute should be displayed in the Amazon Connect admin website.", - "title": "AttributeConfiguration" + "Compliance": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Compliance", + "markdownDescription": "Indicates whether an AWS resource or AWS Config rule is compliant and provides the number of contributors that affect the compliance.", + "title": "Compliance" }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "ConfigRuleName": { + "markdownDescription": "A name for the AWS Config rule. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the rule name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .", + "title": "ConfigRuleName", "type": "string" }, - "Name": { - "markdownDescription": "The name of the predefined attribute.", - "title": "Name", + "Description": { + "markdownDescription": "The description that you provide for the AWS Config rule.", + "title": "Description", "type": "string" }, - "Purposes": { + "EvaluationModes": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Config::ConfigRule.EvaluationModeConfiguration" }, - "markdownDescription": "Values that enable you to categorize your predefined attributes. You can use them in custom UI elements across the Amazon Connect admin website.", - "title": "Purposes", + "markdownDescription": "The modes the AWS Config rule can be evaluated in. The valid values are distinct objects. By default, the value is Detective evaluation mode only.", + "title": "EvaluationModes", "type": "array" }, - "Values": { - "$ref": "#/definitions/AWS::Connect::PredefinedAttribute.Values", - "markdownDescription": "The values of a predefined attribute.", - "title": "Values" + "InputParameters": { + "markdownDescription": "A string, in JSON format, that is passed to the AWS Config rule Lambda function.", + "title": "InputParameters", + "type": "object" + }, + "MaximumExecutionFrequency": { + "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for `MaximumExecutionFrequency` when:\n\n- You are using an AWS managed rule that is triggered at a periodic frequency.\n- Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see [ConfigSnapshotDeliveryProperties](https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigSnapshotDeliveryProperties.html) .\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.", + "title": "MaximumExecutionFrequency", + "type": "string" + }, + "Scope": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Scope", + "markdownDescription": "Defines which resources can trigger an evaluation for the rule. The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes.", + "title": "Scope" + }, + "Source": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Source", + "markdownDescription": "Provides the rule owner ( `AWS` for managed rules, `CUSTOM_POLICY` for Custom Policy rules, and `CUSTOM_LAMBDA` for Custom Lambda rules), the rule identifier, and the notifications that cause the function to evaluate your AWS resources.", + "title": "Source" } }, "required": [ - "InstanceArn", - "Name" + "Source" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::PredefinedAttribute" + "AWS::Config::ConfigRule" ], "type": "string" }, @@ -90529,37 +90625,136 @@ ], "type": "object" }, - "AWS::Connect::PredefinedAttribute.AttributeConfiguration": { + "AWS::Config::ConfigRule.Compliance": { "additionalProperties": false, "properties": { - "EnableValueValidationOnAssociation": { - "markdownDescription": "", - "title": "EnableValueValidationOnAssociation", + "Type": { + "markdownDescription": "Indicates whether an AWS resource or AWS Config rule is compliant.\n\nA resource is compliant if it complies with all of the AWS Config rules that evaluate it. A resource is noncompliant if it does not comply with one or more of these rules.\n\nA rule is compliant if all of the resources that the rule evaluates comply with it. A rule is noncompliant if any of these resources do not comply.\n\nAWS Config returns the `INSUFFICIENT_DATA` value when no evaluation results are available for the AWS resource or AWS Config rule.\n\nFor the `Compliance` data type, AWS Config supports only `COMPLIANT` , `NON_COMPLIANT` , and `INSUFFICIENT_DATA` values. AWS Config does not support the `NOT_APPLICABLE` value for the `Compliance` data type.", + "title": "Type", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::ConfigRule.CustomPolicyDetails": { + "additionalProperties": false, + "properties": { + "EnableDebugLogDelivery": { + "markdownDescription": "The boolean expression for enabling debug logging for your AWS Config Custom Policy rule. The default value is `false` .", + "title": "EnableDebugLogDelivery", "type": "boolean" }, - "IsReadOnly": { - "markdownDescription": "", - "title": "IsReadOnly", - "type": "boolean" + "PolicyRuntime": { + "markdownDescription": "The runtime system for your AWS Config Custom Policy rule. Guard is a policy-as-code language that allows you to write policies that are enforced by AWS Config Custom Policy rules. For more information about Guard, see the [Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard) .", + "title": "PolicyRuntime", + "type": "string" + }, + "PolicyText": { + "markdownDescription": "The policy definition containing the logic for your AWS Config Custom Policy rule.", + "title": "PolicyText", + "type": "string" } }, "type": "object" }, - "AWS::Connect::PredefinedAttribute.Values": { + "AWS::Config::ConfigRule.EvaluationModeConfiguration": { "additionalProperties": false, "properties": { - "StringList": { + "Mode": { + "markdownDescription": "The mode of an evaluation. The valid values are Detective or Proactive.", + "title": "Mode", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::ConfigRule.Scope": { + "additionalProperties": false, + "properties": { + "ComplianceResourceId": { + "markdownDescription": "The ID of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for `ComplianceResourceTypes` .", + "title": "ComplianceResourceId", + "type": "string" + }, + "ComplianceResourceTypes": { "items": { "type": "string" }, - "markdownDescription": "Predefined attribute values of type string list.", - "title": "StringList", + "markdownDescription": "The resource types of only those AWS resources that you want to trigger an evaluation for the rule. You can only specify one type if you also specify a resource ID for `ComplianceResourceId` .", + "title": "ComplianceResourceTypes", "type": "array" + }, + "TagKey": { + "markdownDescription": "The tag key that is applied to only those AWS resources that you want to trigger an evaluation for the rule.", + "title": "TagKey", + "type": "string" + }, + "TagValue": { + "markdownDescription": "The tag value applied to only those AWS resources that you want to trigger an evaluation for the rule. If you specify a value for `TagValue` , you must also specify a value for `TagKey` .", + "title": "TagValue", + "type": "string" } }, "type": "object" }, - "AWS::Connect::Prompt": { + "AWS::Config::ConfigRule.Source": { + "additionalProperties": false, + "properties": { + "CustomPolicyDetails": { + "$ref": "#/definitions/AWS::Config::ConfigRule.CustomPolicyDetails", + "markdownDescription": "Provides the runtime system, policy definition, and whether debug logging is enabled. Required when owner is set to `CUSTOM_POLICY` .", + "title": "CustomPolicyDetails" + }, + "Owner": { + "markdownDescription": "Indicates whether AWS or the customer owns and manages the AWS Config rule.\n\nAWS Config Managed Rules are predefined rules owned by AWS . For more information, see [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) in the *AWS Config developer guide* .\n\nAWS Config Custom Rules are rules that you can develop either with Guard ( `CUSTOM_POLICY` ) or AWS Lambda ( `CUSTOM_LAMBDA` ). For more information, see [AWS Config Custom Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html) in the *AWS Config developer guide* .", + "title": "Owner", + "type": "string" + }, + "SourceDetails": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" + }, + "markdownDescription": "Provides the source and the message types that cause AWS Config to evaluate your AWS resources against a rule. It also provides the frequency with which you want AWS Config to run evaluations for the rule if the trigger type is periodic.\n\nIf the owner is set to `CUSTOM_POLICY` , the only acceptable values for the AWS Config rule trigger message type are `ConfigurationItemChangeNotification` and `OversizedConfigurationItemChangeNotification` .", + "title": "SourceDetails", + "type": "array" + }, + "SourceIdentifier": { + "markdownDescription": "For AWS Config Managed rules, a predefined identifier from a list. For example, `IAM_PASSWORD_POLICY` is a managed rule. To reference a managed rule, see [List of AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) .\n\nFor AWS Config Custom Lambda rules, the identifier is the Amazon Resource Name (ARN) of the rule's AWS Lambda function, such as `arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name` .\n\nFor AWS Config Custom Policy rules, this field will be ignored.", + "title": "SourceIdentifier", + "type": "string" + } + }, + "required": [ + "Owner" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.SourceDetail": { + "additionalProperties": false, + "properties": { + "EventSource": { + "markdownDescription": "The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources.", + "title": "EventSource", + "type": "string" + }, + "MaximumExecutionFrequency": { + "markdownDescription": "The frequency at which you want AWS Config to run evaluations for a custom rule with a periodic trigger. If you specify a value for `MaximumExecutionFrequency` , then `MessageType` must use the `ScheduledNotification` value.\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.\n> \n> Based on the valid value you choose, AWS Config runs evaluations once for each valid value. For example, if you choose `Three_Hours` , AWS Config runs evaluations once every three hours. In this case, `Three_Hours` is the frequency of this rule.", + "title": "MaximumExecutionFrequency", + "type": "string" + }, + "MessageType": { + "markdownDescription": "The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:\n\n- `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change.\n- `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.\n- `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `MaximumExecutionFrequency` .\n- `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot.\n\nIf you want your custom rule to be triggered by configuration changes, specify two SourceDetail objects, one for `ConfigurationItemChangeNotification` and one for `OversizedConfigurationItemChangeNotification` .", + "title": "MessageType", + "type": "string" + } + }, + "required": [ + "EventSource", + "MessageType" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator": { "additionalProperties": false, "properties": { "Condition": { @@ -90594,44 +90789,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the prompt.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The identifier of the Connect Customer instance.", - "title": "InstanceArn", - "type": "string" + "AccountAggregationSources": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.AccountAggregationSource" + }, + "markdownDescription": "Provides a list of source accounts and regions to be aggregated.", + "title": "AccountAggregationSources", + "type": "array" }, - "Name": { - "markdownDescription": "The name of the prompt.", - "title": "Name", + "ConfigurationAggregatorName": { + "markdownDescription": "The name of the aggregator.", + "title": "ConfigurationAggregatorName", "type": "string" }, - "S3Uri": { - "markdownDescription": "The URI for the S3 bucket where the prompt is stored. This property is required when you create a prompt.", - "title": "S3Uri", - "type": "string" + "OrganizationAggregationSource": { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.OrganizationAggregationSource", + "markdownDescription": "Provides an organization and list of regions to be aggregated.", + "title": "OrganizationAggregationSource" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "An array of tag object.", "title": "Tags", "type": "array" } }, - "required": [ - "InstanceArn", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::Prompt" + "AWS::Config::ConfigurationAggregator" ], "type": "string" }, @@ -90645,12 +90834,68 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Connect::Queue": { + "AWS::Config::ConfigurationAggregator.AccountAggregationSource": { + "additionalProperties": false, + "properties": { + "AccountIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The 12-digit account ID of the account being aggregated.", + "title": "AccountIds", + "type": "array" + }, + "AllAwsRegions": { + "markdownDescription": "If true, aggregate existing AWS Config regions and future regions.", + "title": "AllAwsRegions", + "type": "boolean" + }, + "AwsRegions": { + "items": { + "type": "string" + }, + "markdownDescription": "The source regions being aggregated.", + "title": "AwsRegions", + "type": "array" + } + }, + "required": [ + "AccountIds" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": { + "additionalProperties": false, + "properties": { + "AllAwsRegions": { + "markdownDescription": "If true, aggregate existing AWS Config regions and future regions.", + "title": "AllAwsRegions", + "type": "boolean" + }, + "AwsRegions": { + "items": { + "type": "string" + }, + "markdownDescription": "The source regions being aggregated.", + "title": "AwsRegions", + "type": "array" + }, + "RoleArn": { + "markdownDescription": "ARN of the IAM role used to retrieve AWS Organizations details associated with the aggregator account.", + "title": "RoleArn", + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Config::ConfigurationRecorder": { "additionalProperties": false, "properties": { "Condition": { @@ -90685,79 +90930,38 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalEmailAddresses": { - "items": { - "$ref": "#/definitions/AWS::Connect::Queue.EmailAddress" - }, - "type": "array" - }, - "Description": { - "markdownDescription": "The description of the queue.", - "title": "Description", - "type": "string" - }, - "HoursOfOperationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the hours of operation.", - "title": "HoursOfOperationArn", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The identifier of the Connect Customer instance.", - "title": "InstanceArn", - "type": "string" - }, - "MaxContacts": { - "markdownDescription": "The maximum number of contacts that can be in the queue before it is considered full.", - "title": "MaxContacts", - "type": "number" - }, "Name": { - "markdownDescription": "The name of the queue.", + "markdownDescription": "The name of the configuration recorder. AWS Config automatically assigns the name of \"default\" when creating the configuration recorder.\n\nYou cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.", "title": "Name", "type": "string" }, - "OutboundCallerConfig": { - "$ref": "#/definitions/AWS::Connect::Queue.OutboundCallerConfig", - "markdownDescription": "The outbound caller ID name, number, and outbound whisper flow.", - "title": "OutboundCallerConfig" - }, - "OutboundEmailConfig": { - "$ref": "#/definitions/AWS::Connect::Queue.OutboundEmailConfig", - "markdownDescription": "The outbound email address ID for a specified queue.", - "title": "OutboundEmailConfig" + "RecordingGroup": { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingGroup", + "markdownDescription": "Specifies which resource types AWS Config records for configuration changes.\n\n> *High Number of AWS Config Evaluations*\n> \n> You may notice increased activity in your account during your initial month recording with AWS Config when compared to subsequent months. During the initial bootstrapping process, AWS Config runs evaluations on all the resources in your account that you have selected for AWS Config to record.\n> \n> If you are running ephemeral workloads, you may see increased activity from AWS Config as it records configuration changes associated with creating and deleting these temporary resources. An *ephemeral workload* is a temporary use of computing resources that are loaded and run when needed. Examples include Amazon Elastic Compute Cloud ( Amazon EC2 ) Spot Instances, Amazon EMR jobs, and AWS Auto Scaling . If you want to avoid the increased activity from running ephemeral workloads, you can run these types of workloads in a separate account with AWS Config turned off to avoid increased configuration recording and rule evaluations.", + "title": "RecordingGroup" }, - "QuickConnectArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARN) of the of the quick connects available to agents who are working the queue.", - "title": "QuickConnectArns", - "type": "array" + "RecordingMode": { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingMode", + "markdownDescription": "Specifies the default recording frequency for the configuration recorder. AWS Config supports *Continuous recording* and *Daily recording* .\n\n- Continuous recording allows you to record configuration changes continuously whenever a change occurs.\n- Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it\u2019s different from the previous CI recorded.\n\n> *Some resource types require continuous recording*\n> \n> AWS Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous. \n\nYou can also override the recording frequency for specific resource types.", + "title": "RecordingMode" }, - "Status": { - "markdownDescription": "The status of the queue.", - "title": "Status", + "RoleARN": { + "markdownDescription": "Amazon Resource Name (ARN) of the IAM role assumed by AWS Config and used by the configuration recorder. For more information, see [Permissions for the IAM Role Assigned](https://docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html) to AWS Config in the AWS Config Developer Guide.\n\n> *Pre-existing AWS Config role*\n> \n> If you have used an AWS service that uses AWS Config , such as AWS Security Hub CSPM or AWS Control Tower , and an AWS Config role has already been created, make sure that the IAM role that you use when setting up AWS Config keeps the same minimum permissions as the already created AWS Config role. You must do this so that the other AWS service continues to run as expected.\n> \n> For example, if AWS Control Tower has an IAM role that allows AWS Config to read Amazon Simple Storage Service ( Amazon S3 ) objects, make sure that the same permissions are granted within the IAM role you use when setting up AWS Config . Otherwise, it may interfere with how AWS Control Tower operates. For more information about IAM roles for AWS Config , see [*Identity and Access Management for AWS Config*](https://docs.aws.amazon.com/config/latest/developerguide/security-iam.html) in the *AWS Config Developer Guide* .", + "title": "RoleARN", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" + "StartedOnCreate": { + "type": "boolean" } }, "required": [ - "HoursOfOperationArn", - "InstanceArn", - "Name" + "RoleARN" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::Queue" + "AWS::Config::ConfigurationRecorder" ], "type": "string" }, @@ -90776,51 +90980,122 @@ ], "type": "object" }, - "AWS::Connect::Queue.EmailAddress": { + "AWS::Config::ConfigurationRecorder.ExclusionByResourceTypes": { "additionalProperties": false, "properties": { - "EmailAddressArn": { - "type": "string" + "ResourceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A comma-separated list of resource types to exclude from recording by the configuration recorder.", + "title": "ResourceTypes", + "type": "array" } }, "required": [ - "EmailAddressArn" + "ResourceTypes" ], "type": "object" }, - "AWS::Connect::Queue.OutboundCallerConfig": { + "AWS::Config::ConfigurationRecorder.RecordingGroup": { "additionalProperties": false, "properties": { - "OutboundCallerIdName": { - "markdownDescription": "The caller ID name.", - "title": "OutboundCallerIdName", + "AllSupported": { + "markdownDescription": "Specifies whether AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types.\n\nIf you set this field to `true` , when AWS Config adds support for a new resource type, AWS Config starts recording resources of that type automatically.\n\nIf you set this field to `true` , you cannot enumerate specific resource types to record in the `resourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) , or to exclude in the `resourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) .\n\n> *Region availability*\n> \n> Check [Resource Coverage by Region Availability](https://docs.aws.amazon.com/config/latest/developerguide/what-is-resource-config-coverage.html) to see if a resource type is supported in the AWS Region where you set up AWS Config .", + "title": "AllSupported", + "type": "boolean" + }, + "ExclusionByResourceTypes": { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.ExclusionByResourceTypes", + "markdownDescription": "An object that specifies how AWS Config excludes resource types from being recorded by the configuration recorder.\n\nTo use this option, you must set the `useOnly` field of [AWS::Config::ConfigurationRecorder RecordingStrategy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingstrategy.html) to `EXCLUSION_BY_RESOURCE_TYPES` .", + "title": "ExclusionByResourceTypes" + }, + "IncludeGlobalResourceTypes": { + "markdownDescription": "This option is a bundle which only applies to the global IAM resource types: IAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded by AWS Config in Regions where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:\n\n- Asia Pacific (Hyderabad)\n- Asia Pacific (Melbourne)\n- Canada West (Calgary)\n- Europe (Spain)\n- Europe (Zurich)\n- Israel (Tel Aviv)\n- Middle East (UAE)\n\n> *Aurora global clusters are recorded in all enabled Regions*\n> \n> The `AWS::RDS::GlobalCluster` resource type will be recorded in all supported AWS Config Regions where the configuration recorder is enabled, even if `IncludeGlobalResourceTypes` is set to `false` . The `IncludeGlobalResourceTypes` option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.\n> \n> If you do not want to record `AWS::RDS::GlobalCluster` in all enabled Regions, use one of the following recording strategies:\n> \n> - *Record all current and future resource types with exclusions* ( `EXCLUSION_BY_RESOURCE_TYPES` ), or\n> - *Record specific resource types* ( `INCLUSION_BY_RESOURCE_TYPES` ).\n> \n> For more information, see [Selecting Which Resources are Recorded](https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html#select-resources-all) in the *AWS Config developer guide* . > *IncludeGlobalResourceTypes and the exclusion recording strategy*\n> \n> The `IncludeGlobalResourceTypes` field has no impact on the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy. This means that the global IAM resource types ( IAM users, groups, roles, and customer managed policies) will not be automatically added as exclusions for `ExclusionByResourceTypes` when `IncludeGlobalResourceTypes` is set to `false` .\n> \n> The `IncludeGlobalResourceTypes` field should only be used to modify the `AllSupported` field, as the default for the `AllSupported` field is to record configuration changes for all supported resource types excluding the global IAM resource types. To include the global IAM resource types when `AllSupported` is set to `true` , make sure to set `IncludeGlobalResourceTypes` to `true` .\n> \n> To exclude the global IAM resource types for the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy, you need to manually add them to the `ResourceTypes` field of `ExclusionByResourceTypes` . > *Required and optional fields*\n> \n> Before you set this field to `true` , set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` . Optionally, you can set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `ALL_SUPPORTED_RESOURCE_TYPES` . > *Overriding fields*\n> \n> If you set this field to `false` but list global IAM resource types in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) , AWS Config will still record configuration changes for those specified resource types *regardless* of if you set the `IncludeGlobalResourceTypes` field to false.\n> \n> If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the `ResourceTypes` field in addition to setting the `IncludeGlobalResourceTypes` field to false.", + "title": "IncludeGlobalResourceTypes", + "type": "boolean" + }, + "RecordingStrategy": { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingStrategy", + "markdownDescription": "An object that specifies the recording strategy for the configuration recorder.\n\n- If you set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `ALL_SUPPORTED_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` . When AWS Config adds support for a new resource type, AWS Config automatically starts recording resources of that type.\n- If you set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `INCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for only the resource types you specify in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n- If you set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `EXCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types except the resource types that you specify to exclude from being recorded in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) .\n\n> *Required and optional fields*\n> \n> The `recordingStrategy` field is optional when you set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` .\n> \n> The `recordingStrategy` field is optional when you list resource types in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n> \n> The `recordingStrategy` field is required if you list resource types to exclude from recording in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) . > *Overriding fields*\n> \n> If you choose `EXCLUSION_BY_RESOURCE_TYPES` for the recording strategy, the `ExclusionByResourceTypes` field will override other properties in the request.\n> \n> For example, even if you set `IncludeGlobalResourceTypes` to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the `ResourceTypes` field of `ExclusionByResourceTypes` . > *Global resources types and the resource exclusion recording strategy*\n> \n> By default, if you choose the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy, when AWS Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, AWS Config starts recording resources of that type automatically.\n> \n> Unless specifically listed as exclusions, `AWS::RDS::GlobalCluster` will be recorded automatically in all supported AWS Config Regions were the configuration recorder is enabled.\n> \n> IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:\n> \n> - Asia Pacific (Hyderabad)\n> - Asia Pacific (Melbourne)\n> - Canada West (Calgary)\n> - Europe (Spain)\n> - Europe (Zurich)\n> - Israel (Tel Aviv)\n> - Middle East (UAE)", + "title": "RecordingStrategy" + }, + "ResourceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A comma-separated list that specifies which resource types AWS Config records.\n\nFor a list of valid `ResourceTypes` values, see the *Resource Type Value* column in [Supported AWS resource Types](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources) in the *AWS Config developer guide* .\n\n> *Required and optional fields*\n> \n> Optionally, you can set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `INCLUSION_BY_RESOURCE_TYPES` .\n> \n> To record all configuration changes, set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` , and either omit this field or don't specify any resource types in this field. If you set the `AllSupported` field to `false` and specify values for `ResourceTypes` , when AWS Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group. > *Region availability*\n> \n> Before specifying a resource type for AWS Config to track, check [Resource Coverage by Region Availability](https://docs.aws.amazon.com/config/latest/developerguide/what-is-resource-config-coverage.html) to see if the resource type is supported in the AWS Region where you set up AWS Config . If a resource type is supported by AWS Config in at least one Region, you can enable the recording of that resource type in all Regions supported by AWS Config , even if the specified resource type is not supported in the AWS Region where you set up AWS Config .", + "title": "ResourceTypes", + "type": "array" + } + }, + "type": "object" + }, + "AWS::Config::ConfigurationRecorder.RecordingMode": { + "additionalProperties": false, + "properties": { + "RecordingFrequency": { + "markdownDescription": "The default recording frequency that AWS Config uses to record configuration changes.\n\n> Daily recording cannot be specified for the following resource types:\n> \n> - `AWS::Config::ResourceCompliance`\n> - `AWS::Config::ConformancePackCompliance`\n> - `AWS::Config::ConfigurationRecorder`\n> \n> For the *allSupported* ( `ALL_SUPPORTED_RESOURCE_TYPES` ) recording strategy, these resource types will be set to Continuous recording.", + "title": "RecordingFrequency", "type": "string" }, - "OutboundCallerIdNumberArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the outbound caller ID number.\n\n> Only use the phone number ARN format that doesn't contain `instance` in the path, for example, `arn:aws:connect:us-east-1:1234567890:phone-number/uuid` . This is the same ARN format that is returned when you create a phone number using CloudFormation , or when you call the [ListPhoneNumbersV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_ListPhoneNumbersV2.html) API.", - "title": "OutboundCallerIdNumberArn", + "RecordingModeOverrides": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingModeOverride" + }, + "markdownDescription": "An array of `recordingModeOverride` objects for you to specify your overrides for the recording mode. The `recordingModeOverride` object in the `recordingModeOverrides` array consists of three fields: a `description` , the new `recordingFrequency` , and an array of `resourceTypes` to override.", + "title": "RecordingModeOverrides", + "type": "array" + } + }, + "required": [ + "RecordingFrequency" + ], + "type": "object" + }, + "AWS::Config::ConfigurationRecorder.RecordingModeOverride": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "A description that you provide for the override.", + "title": "Description", "type": "string" }, - "OutboundFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the outbound flow.", - "title": "OutboundFlowArn", + "RecordingFrequency": { + "markdownDescription": "The recording frequency that will be applied to all the resource types specified in the override.\n\n- Continuous recording allows you to record configuration changes continuously whenever a change occurs.\n- Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it\u2019s different from the previous CI recorded.\n\n> AWS Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.", + "title": "RecordingFrequency", "type": "string" + }, + "ResourceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A comma-separated list that specifies which resource types AWS Config includes in the override.\n\n> Daily recording cannot be specified for the following resource types:\n> \n> - `AWS::Config::ResourceCompliance`\n> - `AWS::Config::ConformancePackCompliance`\n> - `AWS::Config::ConfigurationRecorder`", + "title": "ResourceTypes", + "type": "array" } }, + "required": [ + "RecordingFrequency", + "ResourceTypes" + ], "type": "object" }, - "AWS::Connect::Queue.OutboundEmailConfig": { + "AWS::Config::ConfigurationRecorder.RecordingStrategy": { "additionalProperties": false, "properties": { - "OutboundEmailAddressId": { - "markdownDescription": "The identifier of the email address.", - "title": "OutboundEmailAddressId", + "UseOnly": { + "markdownDescription": "The recording strategy for the configuration recorder.\n\n- If you set this option to `ALL_SUPPORTED_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` . When AWS Config adds support for a new resource type, AWS Config automatically starts recording resources of that type. For a list of supported resource types, see [Supported Resource Types](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources) in the *AWS Config developer guide* .\n- If you set this option to `INCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for only the resource types that you specify in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n- If you set this option to `EXCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) .\n\n> *Required and optional fields*\n> \n> The `recordingStrategy` field is optional when you set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` .\n> \n> The `recordingStrategy` field is optional when you list resource types in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n> \n> The `recordingStrategy` field is required if you list resource types to exclude from recording in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) . > *Overriding fields*\n> \n> If you choose `EXCLUSION_BY_RESOURCE_TYPES` for the recording strategy, the `ExclusionByResourceTypes` field will override other properties in the request.\n> \n> For example, even if you set `IncludeGlobalResourceTypes` to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the `ResourceTypes` field of `ExclusionByResourceTypes` . > *Global resource types and the exclusion recording strategy*\n> \n> By default, if you choose the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy, when AWS Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, AWS Config starts recording resources of that type automatically.\n> \n> Unless specifically listed as exclusions, `AWS::RDS::GlobalCluster` will be recorded automatically in all supported AWS Config Regions were the configuration recorder is enabled.\n> \n> IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:\n> \n> - Asia Pacific (Hyderabad)\n> - Asia Pacific (Melbourne)\n> - Canada West (Calgary)\n> - Europe (Spain)\n> - Europe (Zurich)\n> - Israel (Tel Aviv)\n> - Middle East (UAE)", + "title": "UseOnly", "type": "string" } }, + "required": [ + "UseOnly" + ], "type": "object" }, - "AWS::Connect::QuickConnect": { + "AWS::Config::ConformancePack": { "additionalProperties": false, "properties": { "Condition": { @@ -90855,45 +91130,59 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the quick connect.", - "title": "Description", - "type": "string" + "ConformancePackInputParameters": { + "items": { + "$ref": "#/definitions/AWS::Config::ConformancePack.ConformancePackInputParameter" + }, + "markdownDescription": "A list of ConformancePackInputParameter objects.", + "title": "ConformancePackInputParameters", + "type": "array" }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "ConformancePackName": { + "markdownDescription": "Name of the conformance pack you want to create.", + "title": "ConformancePackName", "type": "string" }, - "Name": { - "markdownDescription": "The name of the quick connect.", - "title": "Name", + "DeliveryS3Bucket": { + "markdownDescription": "The name of the Amazon S3 bucket where AWS Config stores conformance pack templates.", + "title": "DeliveryS3Bucket", "type": "string" }, - "QuickConnectConfig": { - "$ref": "#/definitions/AWS::Connect::QuickConnect.QuickConnectConfig", - "markdownDescription": "Contains information about the quick connect.", - "title": "QuickConnectConfig" + "DeliveryS3KeyPrefix": { + "markdownDescription": "The prefix for the Amazon S3 bucket.", + "title": "DeliveryS3KeyPrefix", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", "type": "array" + }, + "TemplateBody": { + "markdownDescription": "A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.\n\n> You can only use a YAML template with two resource types: config rule ( `AWS::Config::ConfigRule` ) and a remediation action ( `AWS::Config::RemediationConfiguration` ).", + "title": "TemplateBody", + "type": "string" + }, + "TemplateS3Uri": { + "markdownDescription": "Location of file containing the template body (s3://bucketname/prefix). The uri must point to the conformance pack template (max size: 300 KB) that is located in an Amazon S3 bucket.\n\n> You must have access to read Amazon S3 bucket.", + "title": "TemplateS3Uri", + "type": "string" + }, + "TemplateSSMDocumentDetails": { + "$ref": "#/definitions/AWS::Config::ConformancePack.TemplateSSMDocumentDetails", + "markdownDescription": "An object that contains the name or Amazon Resource Name (ARN) of the AWS Systems Manager document (SSM document) and the version of the SSM document that is used to create a conformance pack.", + "title": "TemplateSSMDocumentDetails" } }, "required": [ - "InstanceArn", - "Name", - "QuickConnectConfig" + "ConformancePackName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::QuickConnect" + "AWS::Config::ConformancePack" ], "type": "string" }, @@ -90912,105 +91201,43 @@ ], "type": "object" }, - "AWS::Connect::QuickConnect.FlowQuickConnectConfig": { - "additionalProperties": false, - "properties": { - "ContactFlowArn": { - "type": "string" - } - }, - "required": [ - "ContactFlowArn" - ], - "type": "object" - }, - "AWS::Connect::QuickConnect.PhoneNumberQuickConnectConfig": { - "additionalProperties": false, - "properties": { - "PhoneNumber": { - "markdownDescription": "The phone number in E.164 format.", - "title": "PhoneNumber", - "type": "string" - } - }, - "required": [ - "PhoneNumber" - ], - "type": "object" - }, - "AWS::Connect::QuickConnect.QueueQuickConnectConfig": { + "AWS::Config::ConformancePack.ConformancePackInputParameter": { "additionalProperties": false, "properties": { - "ContactFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", - "title": "ContactFlowArn", - "type": "string" - }, - "QueueArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the queue.", - "title": "QueueArn", + "ParameterName": { + "markdownDescription": "One part of a key-value pair.", + "title": "ParameterName", "type": "string" - } - }, - "required": [ - "ContactFlowArn", - "QueueArn" - ], - "type": "object" - }, - "AWS::Connect::QuickConnect.QuickConnectConfig": { - "additionalProperties": false, - "properties": { - "FlowConfig": { - "$ref": "#/definitions/AWS::Connect::QuickConnect.FlowQuickConnectConfig" - }, - "PhoneConfig": { - "$ref": "#/definitions/AWS::Connect::QuickConnect.PhoneNumberQuickConnectConfig", - "markdownDescription": "The phone configuration. This is required only if QuickConnectType is PHONE_NUMBER.", - "title": "PhoneConfig" - }, - "QueueConfig": { - "$ref": "#/definitions/AWS::Connect::QuickConnect.QueueQuickConnectConfig", - "markdownDescription": "The queue configuration. This is required only if QuickConnectType is QUEUE.", - "title": "QueueConfig" }, - "QuickConnectType": { - "markdownDescription": "The type of quick connect. In the Connect Customer console, when you create a quick connect, you are prompted to assign one of the following types: Agent (USER), External (PHONE_NUMBER), or Queue (QUEUE).", - "title": "QuickConnectType", + "ParameterValue": { + "markdownDescription": "Another part of the key-value pair.", + "title": "ParameterValue", "type": "string" - }, - "UserConfig": { - "$ref": "#/definitions/AWS::Connect::QuickConnect.UserQuickConnectConfig", - "markdownDescription": "The user configuration. This is required only if QuickConnectType is USER.", - "title": "UserConfig" } }, "required": [ - "QuickConnectType" + "ParameterName", + "ParameterValue" ], "type": "object" }, - "AWS::Connect::QuickConnect.UserQuickConnectConfig": { + "AWS::Config::ConformancePack.TemplateSSMDocumentDetails": { "additionalProperties": false, "properties": { - "ContactFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", - "title": "ContactFlowArn", + "DocumentName": { + "markdownDescription": "The name or Amazon Resource Name (ARN) of the SSM document to use to create a conformance pack. If you use the document name, AWS Config checks only your account and AWS Region for the SSM document.", + "title": "DocumentName", "type": "string" }, - "UserArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the user.", - "title": "UserArn", + "DocumentVersion": { + "markdownDescription": "The version of the SSM document to use to create a conformance pack. By default, AWS Config uses the latest version.\n\n> This field is optional.", + "title": "DocumentVersion", "type": "string" } }, - "required": [ - "ContactFlowArn", - "UserArn" - ], "type": "object" }, - "AWS::Connect::RoutingProfile": { + "AWS::Config::Connector": { "additionalProperties": false, "properties": { "Condition": { @@ -91045,76 +91272,24 @@ "Properties": { "additionalProperties": false, "properties": { - "AgentAvailabilityTimer": { - "markdownDescription": "Whether agents with this routing profile will have their routing order calculated based on *time since their last inbound contact* or *longest idle time* .", - "title": "AgentAvailabilityTimer", - "type": "string" - }, - "DefaultOutboundQueueArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the default outbound queue for the routing profile.", - "title": "DefaultOutboundQueueArn", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the routing profile.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The identifier of the Connect Customer instance.", - "title": "InstanceArn", - "type": "string" - }, - "ManualAssignmentQueueConfigs": { - "items": { - "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileManualAssignmentQueueConfig" - }, - "markdownDescription": "Contains information about the queue and channel for manual assignment behaviour can be enabled.", - "title": "ManualAssignmentQueueConfigs", - "type": "array" - }, - "MediaConcurrencies": { - "items": { - "$ref": "#/definitions/AWS::Connect::RoutingProfile.MediaConcurrency" - }, - "markdownDescription": "The channels agents can handle in the Contact Control Panel (CCP) for this routing profile.", - "title": "MediaConcurrencies", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the routing profile.", - "title": "Name", - "type": "string" - }, - "QueueConfigs": { - "items": { - "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileQueueConfig" - }, - "markdownDescription": "The inbound queues associated with the routing profile. If no queue is added, the agent can make only outbound calls.", - "title": "QueueConfigs", - "type": "array" + "ConnectorConfiguration": { + "$ref": "#/definitions/AWS::Config::Connector.ConnectorConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", "type": "array" } }, "required": [ - "DefaultOutboundQueueArn", - "Description", - "InstanceArn", - "MediaConcurrencies", - "Name" + "ConnectorConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::RoutingProfile" + "AWS::Config::Connector" ], "type": "string" }, @@ -91133,106 +91308,135 @@ ], "type": "object" }, - "AWS::Connect::RoutingProfile.CrossChannelBehavior": { - "additionalProperties": false, - "properties": { - "BehaviorType": { - "markdownDescription": "Specifies the other channels that can be routed to an agent handling their current channel.", - "title": "BehaviorType", - "type": "string" - } - }, - "required": [ - "BehaviorType" - ], - "type": "object" - }, - "AWS::Connect::RoutingProfile.MediaConcurrency": { + "AWS::Config::Connector.AzureConnectorConfiguration": { "additionalProperties": false, "properties": { - "Channel": { - "markdownDescription": "The channels that agents can handle in the Contact Control Panel (CCP).", - "title": "Channel", + "ClientIdentifier": { "type": "string" }, - "Concurrency": { - "markdownDescription": "The number of contacts an agent can have on a channel simultaneously.\n\nValid Range for `VOICE` : Minimum value of 1. Maximum value of 1.\n\nValid Range for `CHAT` : Minimum value of 1. Maximum value of 10.\n\nValid Range for `TASK` : Minimum value of 1. Maximum value of 10.", - "title": "Concurrency", - "type": "number" - }, - "CrossChannelBehavior": { - "$ref": "#/definitions/AWS::Connect::RoutingProfile.CrossChannelBehavior", - "markdownDescription": "Defines the cross-channel routing behavior for each channel that is enabled for this Routing Profile. For example, this allows you to offer an agent a different contact from another channel when they are currently working with a contact from a Voice channel.", - "title": "CrossChannelBehavior" + "TenantIdentifier": { + "type": "string" } }, "required": [ - "Channel", - "Concurrency" + "ClientIdentifier", + "TenantIdentifier" ], "type": "object" }, - "AWS::Connect::RoutingProfile.RoutingProfileManualAssignmentQueueConfig": { + "AWS::Config::Connector.ConnectorConfiguration": { "additionalProperties": false, "properties": { - "QueueReference": { - "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileQueueReference", - "markdownDescription": "Contains information about a queue resource.", - "title": "QueueReference" + "Azure": { + "$ref": "#/definitions/AWS::Config::Connector.AzureConnectorConfiguration" } }, - "required": [ - "QueueReference" - ], "type": "object" }, - "AWS::Connect::RoutingProfile.RoutingProfileQueueConfig": { + "AWS::Config::DeliveryChannel": { "additionalProperties": false, "properties": { - "Delay": { - "markdownDescription": "The delay, in seconds, a contact should be in the queue before they are routed to an available agent. For more information, see [Queues: priority and delay](https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html) in the *Amazon Connect Administrator Guide* .", - "title": "Delay", - "type": "number" + "Condition": { + "type": "string" }, - "Priority": { - "markdownDescription": "The order in which contacts are to be handled for the queue. For more information, see [Queues: priority and delay](https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html) .", - "title": "Priority", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "QueueReference": { - "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileQueueReference", - "markdownDescription": "Contains information about a queue resource.", - "title": "QueueReference" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigSnapshotDeliveryProperties": { + "$ref": "#/definitions/AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties", + "markdownDescription": "The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket.", + "title": "ConfigSnapshotDeliveryProperties" + }, + "Name": { + "markdownDescription": "A name for the delivery channel. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the delivery channel name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\nUpdates are not supported. To change the name, you must run two separate updates. In the first update, delete this resource, and then recreate it with a new name in the second update.", + "title": "Name", + "type": "string" + }, + "S3BucketName": { + "markdownDescription": "The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files.\n\nIf you specify a bucket that belongs to another AWS account , that bucket must have policies that grant access permissions to AWS Config . For more information, see [Permissions for the Amazon S3 Bucket](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy.html) in the *AWS Config Developer Guide* .", + "title": "S3BucketName", + "type": "string" + }, + "S3KeyPrefix": { + "markdownDescription": "The prefix for the specified Amazon S3 bucket.", + "title": "S3KeyPrefix", + "type": "string" + }, + "S3KmsKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service ( AWS ) AWS KMS key (KMS key) used to encrypt objects delivered by AWS Config . Must belong to the same Region as the destination S3 bucket.", + "title": "S3KmsKeyArn", + "type": "string" + }, + "SnsTopicARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.\n\nIf you choose a topic from another account, the topic must have policies that grant access permissions to AWS Config . For more information, see [Permissions for the Amazon SNS Topic](https://docs.aws.amazon.com/config/latest/developerguide/sns-topic-policy.html) in the *AWS Config Developer Guide* .", + "title": "SnsTopicARN", + "type": "string" + } + }, + "required": [ + "S3BucketName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::DeliveryChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Delay", - "Priority", - "QueueReference" + "Type", + "Properties" ], "type": "object" }, - "AWS::Connect::RoutingProfile.RoutingProfileQueueReference": { + "AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": { "additionalProperties": false, "properties": { - "Channel": { - "markdownDescription": "The channels agents can handle in the Contact Control Panel (CCP) for this routing profile.", - "title": "Channel", - "type": "string" - }, - "QueueArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the queue.", - "title": "QueueArn", + "DeliveryFrequency": { + "markdownDescription": "The frequency with which AWS Config delivers configuration snapshots.", + "title": "DeliveryFrequency", "type": "string" } }, - "required": [ - "Channel", - "QueueArn" - ], "type": "object" }, - "AWS::Connect::Rule": { + "AWS::Config::OrganizationConfigRule": { "additionalProperties": false, "properties": { "Condition": { @@ -91267,58 +91471,43 @@ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "$ref": "#/definitions/AWS::Connect::Rule.Actions", - "markdownDescription": "A list of actions to be run when the rule is triggered.", - "title": "Actions" - }, - "Function": { - "markdownDescription": "The conditions of the rule.", - "title": "Function", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", - "type": "string" + "ExcludedAccounts": { + "items": { + "type": "string" + }, + "markdownDescription": "A comma-separated list of accounts excluded from organization AWS Config rule.", + "title": "ExcludedAccounts", + "type": "array" }, - "Name": { - "markdownDescription": "The name of the rule.", - "title": "Name", + "OrganizationConfigRuleName": { + "markdownDescription": "The name that you assign to organization AWS Config rule.", + "title": "OrganizationConfigRuleName", "type": "string" }, - "PublishStatus": { - "markdownDescription": "The publish status of the rule.\n\n*Allowed values* : `DRAFT` | `PUBLISHED`", - "title": "PublishStatus", - "type": "string" + "OrganizationCustomPolicyRuleMetadata": { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomPolicyRuleMetadata", + "markdownDescription": "An object that specifies metadata for your organization's AWS Config Custom Policy rule. The metadata includes the runtime system in use, which accounts have debug logging enabled, and other custom rule metadata, such as resource type, resource ID of AWS resource, and organization trigger types that initiate AWS Config to evaluate AWS resources against a rule.", + "title": "OrganizationCustomPolicyRuleMetadata" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" + "OrganizationCustomRuleMetadata": { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata", + "markdownDescription": "An `OrganizationCustomRuleMetadata` object.", + "title": "OrganizationCustomRuleMetadata" }, - "TriggerEventSource": { - "$ref": "#/definitions/AWS::Connect::Rule.RuleTriggerEventSource", - "markdownDescription": "The event source to trigger the rule.", - "title": "TriggerEventSource" + "OrganizationManagedRuleMetadata": { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata", + "markdownDescription": "An `OrganizationManagedRuleMetadata` object.", + "title": "OrganizationManagedRuleMetadata" } }, "required": [ - "Actions", - "Function", - "InstanceArn", - "Name", - "PublishStatus", - "TriggerEventSource" + "OrganizationConfigRuleName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::Rule" + "AWS::Config::OrganizationConfigRule" ], "type": "string" }, @@ -91337,391 +91526,194 @@ ], "type": "object" }, - "AWS::Connect::Rule.Actions": { + "AWS::Config::OrganizationConfigRule.OrganizationCustomPolicyRuleMetadata": { "additionalProperties": false, "properties": { - "AssignContactCategoryActions": { + "DebugLogDeliveryAccounts": { "items": { - "type": "object" + "type": "string" }, - "markdownDescription": "Information about the contact category action. The syntax can be empty, for example, `{}` .", - "title": "AssignContactCategoryActions", + "markdownDescription": "A list of accounts that you can enable debug logging for your organization AWS Config Custom Policy rule. List is null when debug logging is enabled for all accounts.", + "title": "DebugLogDeliveryAccounts", "type": "array" }, - "AssignSlaActions": { + "Description": { + "markdownDescription": "The description that you provide for your organization AWS Config Custom Policy rule.", + "title": "Description", + "type": "string" + }, + "InputParameters": { + "markdownDescription": "A string, in JSON format, that is passed to your organization AWS Config Custom Policy rule.", + "title": "InputParameters", + "type": "string" + }, + "MaximumExecutionFrequency": { + "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. Your AWS Config Custom Policy rule is triggered when AWS Config delivers the configuration snapshot. For more information, see `ConfigSnapshotDeliveryProperties` .", + "title": "MaximumExecutionFrequency", + "type": "string" + }, + "OrganizationConfigRuleTriggerTypes": { "items": { - "$ref": "#/definitions/AWS::Connect::Rule.AssignSlaAction" + "type": "string" }, + "markdownDescription": "The type of notification that initiates AWS Config to run an evaluation for a rule. For AWS Config Custom Policy rules, AWS Config supports change-initiated notification types:\n\n- `ConfigurationItemChangeNotification` - Initiates an evaluation when AWS Config delivers a configuration item as a result of a resource change.\n- `OversizedConfigurationItemChangeNotification` - Initiates an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.", + "title": "OrganizationConfigRuleTriggerTypes", "type": "array" }, - "CreateCaseActions": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.CreateCaseAction" - }, - "markdownDescription": "", - "title": "CreateCaseActions", - "type": "array" - }, - "EndAssociatedTasksActions": { - "items": { - "type": "object" - }, - "markdownDescription": "", - "title": "EndAssociatedTasksActions", - "type": "array" - }, - "EventBridgeActions": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.EventBridgeAction" - }, - "markdownDescription": "Information about the EventBridge action.", - "title": "EventBridgeActions", - "type": "array" + "PolicyText": { + "markdownDescription": "The policy definition containing the logic for your organization AWS Config Custom Policy rule.", + "title": "PolicyText", + "type": "string" }, - "SendNotificationActions": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.SendNotificationAction" - }, - "markdownDescription": "Information about the send notification action.", - "title": "SendNotificationActions", - "type": "array" + "ResourceIdScope": { + "markdownDescription": "The ID of the AWS resource that was evaluated.", + "title": "ResourceIdScope", + "type": "string" }, - "SubmitAutoEvaluationActions": { + "ResourceTypesScope": { "items": { - "$ref": "#/definitions/AWS::Connect::Rule.SubmitAutoEvaluationAction" + "type": "string" }, - "markdownDescription": "", - "title": "SubmitAutoEvaluationActions", + "markdownDescription": "The type of the AWS resource that was evaluated.", + "title": "ResourceTypesScope", "type": "array" }, - "TaskActions": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.TaskAction" - }, - "markdownDescription": "Information about the task action. This field is required if `TriggerEventSource` is one of the following values: `OnZendeskTicketCreate` | `OnZendeskTicketStatusUpdate` | `OnSalesforceCaseCreate`", - "title": "TaskActions", - "type": "array" + "Runtime": { + "markdownDescription": "The runtime system for your organization AWS Config Custom Policy rules. Guard is a policy-as-code language that allows you to write policies that are enforced by AWS Config Custom Policy rules. For more information about Guard, see the [Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard) .", + "title": "Runtime", + "type": "string" }, - "UpdateCaseActions": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.UpdateCaseAction" - }, - "markdownDescription": "", - "title": "UpdateCaseActions", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Connect::Rule.AssignSlaAction": { - "additionalProperties": false, - "properties": { - "CaseSlaConfiguration": { - "$ref": "#/definitions/AWS::Connect::Rule.CaseSlaConfiguration" + "TagKeyScope": { + "markdownDescription": "One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.", + "title": "TagKeyScope", + "type": "string" }, - "SlaAssignmentType": { + "TagValueScope": { + "markdownDescription": "The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).", + "title": "TagValueScope", "type": "string" } }, "required": [ - "CaseSlaConfiguration", - "SlaAssignmentType" + "PolicyText", + "Runtime" ], "type": "object" }, - "AWS::Connect::Rule.CaseSlaConfiguration": { + "AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": { "additionalProperties": false, "properties": { - "FieldId": { + "Description": { + "markdownDescription": "The description that you provide for your organization AWS Config rule.", + "title": "Description", "type": "string" }, - "Name": { + "InputParameters": { + "markdownDescription": "A string, in JSON format, that is passed to your organization AWS Config rule Lambda function.", + "title": "InputParameters", "type": "string" }, - "TargetFieldValues": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.SlaTargetFieldValue" - }, - "type": "array" - }, - "TargetSlaMinutes": { - "type": "number" + "LambdaFunctionArn": { + "markdownDescription": "The lambda function ARN.", + "title": "LambdaFunctionArn", + "type": "string" }, - "Type": { + "MaximumExecutionFrequency": { + "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see `ConfigSnapshotDeliveryProperties` .\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.", + "title": "MaximumExecutionFrequency", "type": "string" - } - }, - "required": [ - "Name", - "TargetSlaMinutes", - "Type" - ], - "type": "object" - }, - "AWS::Connect::Rule.CreateCaseAction": { - "additionalProperties": false, - "properties": { - "Fields": { + }, + "OrganizationConfigRuleTriggerTypes": { "items": { - "$ref": "#/definitions/AWS::Connect::Rule.Field" + "type": "string" }, - "markdownDescription": "", - "title": "Fields", + "markdownDescription": "The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:\n\n- `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change.\n- `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.\n- `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `MaximumExecutionFrequency` .", + "title": "OrganizationConfigRuleTriggerTypes", "type": "array" }, - "TemplateId": { - "markdownDescription": "", - "title": "TemplateId", - "type": "string" - } - }, - "required": [ - "Fields", - "TemplateId" - ], - "type": "object" - }, - "AWS::Connect::Rule.EventBridgeAction": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Connect::Rule.Field": { - "additionalProperties": false, - "properties": { - "Id": { - "markdownDescription": "", - "title": "Id", + "ResourceIdScope": { + "markdownDescription": "The ID of the AWS resource that was evaluated.", + "title": "ResourceIdScope", "type": "string" }, - "Value": { - "$ref": "#/definitions/AWS::Connect::Rule.FieldValue", - "markdownDescription": "", - "title": "Value" - } - }, - "required": [ - "Id", - "Value" - ], - "type": "object" - }, - "AWS::Connect::Rule.FieldValue": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "markdownDescription": "", - "title": "BooleanValue", - "type": "boolean" - }, - "DoubleValue": { - "markdownDescription": "", - "title": "DoubleValue", - "type": "number" - }, - "EmptyValue": { - "markdownDescription": "", - "title": "EmptyValue", - "type": "object" - }, - "StringValue": { - "markdownDescription": "", - "title": "StringValue", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::Rule.NotificationRecipientType": { - "additionalProperties": false, - "properties": { - "UserArns": { + "ResourceTypesScope": { "items": { "type": "string" }, - "markdownDescription": "The Amazon Resource Name (ARN) of the user account.", - "title": "UserArns", + "markdownDescription": "The type of the AWS resource that was evaluated.", + "title": "ResourceTypesScope", "type": "array" }, - "UserTags": { - "additionalProperties": true, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }. Connect Customer users with the specified tags will be notified.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "UserTags", - "type": "object" - } - }, - "type": "object" - }, - "AWS::Connect::Rule.Reference": { - "additionalProperties": false, - "properties": { - "Type": { - "markdownDescription": "The type of the reference. `DATE` must be of type Epoch timestamp.\n\n*Allowed values* : `URL` | `ATTACHMENT` | `NUMBER` | `STRING` | `DATE` | `EMAIL`", - "title": "Type", + "TagKeyScope": { + "markdownDescription": "One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.", + "title": "TagKeyScope", "type": "string" }, - "Value": { - "markdownDescription": "A valid value for the reference. For example, for a URL reference, a formatted URL that is displayed to an agent in the Contact Control Panel (CCP).", - "title": "Value", + "TagValueScope": { + "markdownDescription": "The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).", + "title": "TagValueScope", "type": "string" } }, "required": [ - "Type", - "Value" + "LambdaFunctionArn", + "OrganizationConfigRuleTriggerTypes" ], "type": "object" }, - "AWS::Connect::Rule.RuleTriggerEventSource": { + "AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": { "additionalProperties": false, "properties": { - "EventSourceName": { - "markdownDescription": "The name of the event source.", - "title": "EventSourceName", + "Description": { + "markdownDescription": "The description that you provide for your organization AWS Config rule.", + "title": "Description", "type": "string" }, - "IntegrationAssociationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the integration association. `IntegrationAssociationArn` is required if `TriggerEventSource` is one of the following values: `OnZendeskTicketCreate` | `OnZendeskTicketStatusUpdate` | `OnSalesforceCaseCreate`", - "title": "IntegrationAssociationArn", - "type": "string" - } - }, - "required": [ - "EventSourceName" - ], - "type": "object" - }, - "AWS::Connect::Rule.SendNotificationAction": { - "additionalProperties": false, - "properties": { - "Content": { - "markdownDescription": "Notification content. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", - "title": "Content", + "InputParameters": { + "markdownDescription": "A string, in JSON format, that is passed to your organization AWS Config rule Lambda function.", + "title": "InputParameters", "type": "string" }, - "ContentType": { - "markdownDescription": "Content type format.\n\n*Allowed value* : `PLAIN_TEXT`", - "title": "ContentType", + "MaximumExecutionFrequency": { + "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. This is for an AWS Config managed rule that is triggered at a periodic frequency.\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.", + "title": "MaximumExecutionFrequency", "type": "string" }, - "DeliveryMethod": { - "markdownDescription": "Notification delivery method.\n\n*Allowed value* : `EMAIL`", - "title": "DeliveryMethod", + "ResourceIdScope": { + "markdownDescription": "The ID of the AWS resource that was evaluated.", + "title": "ResourceIdScope", "type": "string" }, - "Exclusion": { - "$ref": "#/definitions/AWS::Connect::Rule.NotificationRecipientType" - }, - "Recipient": { - "$ref": "#/definitions/AWS::Connect::Rule.NotificationRecipientType", - "markdownDescription": "Notification recipient.", - "title": "Recipient" + "ResourceTypesScope": { + "items": { + "type": "string" + }, + "markdownDescription": "The type of the AWS resource that was evaluated.", + "title": "ResourceTypesScope", + "type": "array" }, - "Subject": { - "markdownDescription": "The subject of the email if the delivery method is `EMAIL` . Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", - "title": "Subject", - "type": "string" - } - }, - "required": [ - "Content", - "ContentType", - "DeliveryMethod", - "Recipient" - ], - "type": "object" - }, - "AWS::Connect::Rule.SlaTargetFieldValue": { - "additionalProperties": false, - "properties": { - "StringValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::Rule.SubmitAutoEvaluationAction": { - "additionalProperties": false, - "properties": { - "EvaluationFormArn": { - "markdownDescription": "", - "title": "EvaluationFormArn", - "type": "string" - } - }, - "required": [ - "EvaluationFormArn" - ], - "type": "object" - }, - "AWS::Connect::Rule.TaskAction": { - "additionalProperties": false, - "properties": { - "ContactFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", - "title": "ContactFlowArn", + "RuleIdentifier": { + "markdownDescription": "For organization config managed rules, a predefined identifier from a list. For example, `IAM_PASSWORD_POLICY` is a managed rule. To reference a managed rule, see [Using AWS Config managed rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) .", + "title": "RuleIdentifier", "type": "string" }, - "Description": { - "markdownDescription": "The description. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", - "title": "Description", + "TagKeyScope": { + "markdownDescription": "One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.", + "title": "TagKeyScope", "type": "string" }, - "Name": { - "markdownDescription": "The name. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", - "title": "Name", + "TagValueScope": { + "markdownDescription": "The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).", + "title": "TagValueScope", "type": "string" - }, - "References": { - "additionalProperties": false, - "markdownDescription": "Information about the reference when the `referenceType` is `URL` . Otherwise, null. `URL` is the only accepted type. (Supports variable injection in the `Value` field.)", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Connect::Rule.Reference" - } - }, - "title": "References", - "type": "object" - } - }, - "required": [ - "ContactFlowArn", - "Name" - ], - "type": "object" - }, - "AWS::Connect::Rule.UpdateCaseAction": { - "additionalProperties": false, - "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.Field" - }, - "markdownDescription": "", - "title": "Fields", - "type": "array" } }, "required": [ - "Fields" + "RuleIdentifier" ], "type": "object" }, - "AWS::Connect::SecurityKey": { + "AWS::Config::OrganizationConformancePack": { "additionalProperties": false, "properties": { "Condition": { @@ -91756,26 +91748,62 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `100`", - "title": "InstanceId", + "ConformancePackInputParameters": { + "items": { + "$ref": "#/definitions/AWS::Config::OrganizationConformancePack.ConformancePackInputParameter" + }, + "markdownDescription": "A list of `ConformancePackInputParameter` objects.", + "title": "ConformancePackInputParameters", + "type": "array" + }, + "DeliveryS3Bucket": { + "markdownDescription": "The name of the Amazon S3 bucket where AWS Config stores conformance pack templates.\n\n> This field is optional.", + "title": "DeliveryS3Bucket", "type": "string" }, - "Key": { - "markdownDescription": "A valid security key in PEM format. For example:\n\n`\"-----BEGIN PUBLIC KEY-----\\ [a lot of characters] ----END PUBLIC KEY-----\"`\n\n*Minimum* : `1`\n\n*Maximum* : `1024`", - "title": "Key", + "DeliveryS3KeyPrefix": { + "markdownDescription": "Any folder structure you want to add to an Amazon S3 bucket.\n\n> This field is optional.", + "title": "DeliveryS3KeyPrefix", + "type": "string" + }, + "ExcludedAccounts": { + "items": { + "type": "string" + }, + "markdownDescription": "A comma-separated list of accounts excluded from organization conformance pack.", + "title": "ExcludedAccounts", + "type": "array" + }, + "OrganizationConformancePackName": { + "markdownDescription": "The name you assign to an organization conformance pack.", + "title": "OrganizationConformancePackName", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "markdownDescription": "A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.", + "title": "TemplateBody", + "type": "string" + }, + "TemplateS3Uri": { + "markdownDescription": "Location of file containing the template body. The uri must point to the conformance pack template (max size: 300 KB).", + "title": "TemplateS3Uri", "type": "string" } }, "required": [ - "InstanceId", - "Key" + "OrganizationConformancePackName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::SecurityKey" + "AWS::Config::OrganizationConformancePack" ], "type": "string" }, @@ -91794,7 +91822,27 @@ ], "type": "object" }, - "AWS::Connect::SecurityProfile": { + "AWS::Config::OrganizationConformancePack.ConformancePackInputParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "markdownDescription": "One part of a key-value pair.", + "title": "ParameterName", + "type": "string" + }, + "ParameterValue": { + "markdownDescription": "One part of a key-value pair.", + "title": "ParameterValue", + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Config::RemediationConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -91829,95 +91877,67 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowedAccessControlHierarchyGroupId": { - "markdownDescription": "The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.", - "title": "AllowedAccessControlHierarchyGroupId", + "Automatic": { + "markdownDescription": "The remediation is triggered automatically.", + "title": "Automatic", + "type": "boolean" + }, + "ConfigRuleName": { + "markdownDescription": "The name of the AWS Config rule.", + "title": "ConfigRuleName", "type": "string" }, - "AllowedAccessControlTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The list of tags that a security profile uses to restrict access to resources in Amazon Connect.", - "title": "AllowedAccessControlTags", - "type": "array" + "ExecutionControls": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ExecutionControls", + "markdownDescription": "An ExecutionControls object.", + "title": "ExecutionControls" }, - "AllowedFlowModules": { - "items": { - "$ref": "#/definitions/AWS::Connect::SecurityProfile.FlowModule" - }, - "type": "array" + "MaximumAutomaticAttempts": { + "markdownDescription": "The maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.\n\nFor example, if you specify MaximumAutomaticAttempts as 5 with RetryAttemptSeconds as 50 seconds, AWS Config will put a RemediationException on your behalf for the failing resource after the 5th failed attempt within 50 seconds.", + "title": "MaximumAutomaticAttempts", + "type": "number" }, - "Applications": { - "items": { - "$ref": "#/definitions/AWS::Connect::SecurityProfile.Application" - }, - "markdownDescription": "", - "title": "Applications", - "type": "array" + "Parameters": { + "markdownDescription": "An object of the RemediationParameterValue. For more information, see [RemediationParameterValue](https://docs.aws.amazon.com/config/latest/APIReference/API_RemediationParameterValue.html) .\n\n> The type is a map of strings to RemediationParameterValue.", + "title": "Parameters", + "type": "object" }, - "Description": { - "markdownDescription": "The description of the security profile.", - "title": "Description", + "ResourceType": { + "markdownDescription": "The type of a resource.", + "title": "ResourceType", "type": "string" }, - "GranularAccessControlConfiguration": { - "$ref": "#/definitions/AWS::Connect::SecurityProfile.GranularAccessControlConfiguration", - "markdownDescription": "The granular access control configuration for the security profile, including data table permissions.", - "title": "GranularAccessControlConfiguration" - }, - "HierarchyRestrictedResources": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: `User` .", - "title": "HierarchyRestrictedResources", - "type": "array" + "RetryAttemptSeconds": { + "markdownDescription": "Time window to determine whether or not to add a remediation exception to prevent infinite remediation attempts. If `MaximumAutomaticAttempts` remediation attempts have been made under `RetryAttemptSeconds` , a remediation exception will be added to the resource. If you do not select a number, the default is 60 seconds.\n\nFor example, if you specify `RetryAttemptSeconds` as 50 seconds and `MaximumAutomaticAttempts` as 5, AWS Config will run auto-remediations 5 times within 50 seconds before adding a remediation exception to the resource.", + "title": "RetryAttemptSeconds", + "type": "number" }, - "InstanceArn": { - "markdownDescription": "The identifier of the Connect Customer instance.", - "title": "InstanceArn", + "TargetId": { + "markdownDescription": "Target ID is the name of the SSM document.", + "title": "TargetId", "type": "string" }, - "Permissions": { - "items": { - "type": "string" - }, - "markdownDescription": "Permissions assigned to the security profile. For a list of valid permissions, see [List of security profile permissions](https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-list.html) .", - "title": "Permissions", - "type": "array" - }, - "SecurityProfileName": { - "markdownDescription": "The name for the security profile.", - "title": "SecurityProfileName", + "TargetType": { + "markdownDescription": "The type of the target. Target executes remediation. For example, SSM document.", + "title": "TargetType", "type": "string" }, - "TagRestrictedResources": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of resources that a security profile applies tag restrictions to in Amazon Connect.", - "title": "TagRestrictedResources", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" + "TargetVersion": { + "markdownDescription": "Version of the target. For example, version of the SSM document.\n\n> If you make backward incompatible changes to the SSM document, you must call PutRemediationConfiguration API again to ensure the remediations can run.", + "title": "TargetVersion", + "type": "string" } }, "required": [ - "InstanceArn", - "SecurityProfileName" + "ConfigRuleName", + "TargetId", + "TargetType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::SecurityProfile" + "AWS::Config::RemediationConfiguration" ], "type": "string" }, @@ -91936,101 +91956,34 @@ ], "type": "object" }, - "AWS::Connect::SecurityProfile.Application": { - "additionalProperties": false, - "properties": { - "ApplicationPermissions": { - "items": { - "type": "string" - }, - "markdownDescription": "The permissions that the agent is granted on the application. For third-party applications, only the `ACCESS` permission is supported. For MCP Servers, the permissions are tool Identifiers accepted by MCP Server.", - "title": "ApplicationPermissions", - "type": "array" - }, - "Namespace": { - "markdownDescription": "Namespace of the application that you want to give access to.", - "title": "Namespace", - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::SecurityProfile.DataTableAccessControlConfiguration": { - "additionalProperties": false, - "properties": { - "PrimaryAttributeAccessControlConfiguration": { - "$ref": "#/definitions/AWS::Connect::SecurityProfile.PrimaryAttributeAccessControlConfigurationItem", - "markdownDescription": "The configuration's primary attribute access control configuration.", - "title": "PrimaryAttributeAccessControlConfiguration" - } - }, - "type": "object" - }, - "AWS::Connect::SecurityProfile.FlowModule": { - "additionalProperties": false, - "properties": { - "FlowModuleId": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::SecurityProfile.GranularAccessControlConfiguration": { - "additionalProperties": false, - "properties": { - "DataTableAccessControlConfiguration": { - "$ref": "#/definitions/AWS::Connect::SecurityProfile.DataTableAccessControlConfiguration", - "markdownDescription": "The access control configuration for data tables.", - "title": "DataTableAccessControlConfiguration" - } - }, - "type": "object" - }, - "AWS::Connect::SecurityProfile.PrimaryAttributeAccessControlConfigurationItem": { + "AWS::Config::RemediationConfiguration.ExecutionControls": { "additionalProperties": false, "properties": { - "PrimaryAttributeValues": { - "items": { - "$ref": "#/definitions/AWS::Connect::SecurityProfile.PrimaryAttributeValue" - }, - "markdownDescription": "The item's primary attribute values.", - "title": "PrimaryAttributeValues", - "type": "array" + "SsmControls": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.SsmControls", + "markdownDescription": "A SsmControls object.", + "title": "SsmControls" } }, "type": "object" }, - "AWS::Connect::SecurityProfile.PrimaryAttributeValue": { + "AWS::Config::RemediationConfiguration.SsmControls": { "additionalProperties": false, "properties": { - "AccessType": { - "markdownDescription": "The value's access type.", - "title": "AccessType", - "type": "string" - }, - "AttributeName": { - "markdownDescription": "The value's attribute name.", - "title": "AttributeName", - "type": "string" + "ConcurrentExecutionRatePercentage": { + "markdownDescription": "The maximum percentage of remediation actions allowed to run in parallel on the non-compliant resources for that specific rule. You can specify a percentage, such as 10%. The default value is 10.", + "title": "ConcurrentExecutionRatePercentage", + "type": "number" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The value's values.", - "title": "Values", - "type": "array" + "ErrorPercentage": { + "markdownDescription": "The percentage of errors that are allowed before SSM stops running automations on non-compliant resources for that specific rule. You can specify a percentage of errors, for example 10%. If you do not specifiy a percentage, the default is 50%. For example, if you set the ErrorPercentage to 40% for 10 non-compliant resources, then SSM stops running the automations when the fifth error is received.", + "title": "ErrorPercentage", + "type": "number" } }, "type": "object" }, - "AWS::Connect::TaskTemplate": { + "AWS::Config::StoredQuery": { "additionalProperties": false, "properties": { "Condition": { @@ -92065,79 +92018,39 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientToken": { - "markdownDescription": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", - "title": "ClientToken", - "type": "string" - }, - "Constraints": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.Constraints", - "markdownDescription": "Constraints that are applicable to the fields listed.\n\nThe values can be represented in either JSON or YAML format. For an example of the JSON configuration, see *Examples* at the bottom of this page.", - "title": "Constraints" - }, - "ContactFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the flow that runs by default when a task is created by referencing this template. `ContactFlowArn` is not required when there is a field with `fieldType` = `QUICK_CONNECT` .", - "title": "ContactFlowArn", - "type": "string" - }, - "Defaults": { - "items": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.DefaultFieldValue" - }, - "markdownDescription": "The default values for fields when a task is created by referencing this template.", - "title": "Defaults", - "type": "array" - }, - "Description": { - "markdownDescription": "The description of the task template.", - "title": "Description", - "type": "string" - }, - "Fields": { - "items": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.Field" - }, - "markdownDescription": "Fields that are part of the template. A template requires at least one field that has type `Name` .", - "title": "Fields", - "type": "array" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Connect Customer instance.", - "title": "InstanceArn", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the task template.", - "title": "Name", + "QueryDescription": { + "markdownDescription": "A unique description for the query.", + "title": "QueryDescription", "type": "string" }, - "SelfAssignContactFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", - "title": "SelfAssignContactFlowArn", + "QueryExpression": { + "markdownDescription": "The expression of the query. For example, `SELECT resourceId, resourceType, supplementaryConfiguration.BucketVersioningConfiguration.status WHERE resourceType = 'AWS::S3::Bucket' AND supplementaryConfiguration.BucketVersioningConfiguration.status = 'Off'.`", + "title": "QueryExpression", "type": "string" }, - "Status": { - "markdownDescription": "The status of the task template.", - "title": "Status", + "QueryName": { + "markdownDescription": "The name of the query.", + "title": "QueryName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource.", + "markdownDescription": "An array of key-value pairs to apply to this resource.", "title": "Tags", "type": "array" } }, "required": [ - "InstanceArn" + "QueryExpression", + "QueryName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::TaskTemplate" + "AWS::Config::StoredQuery" ], "type": "string" }, @@ -92156,146 +92069,7 @@ ], "type": "object" }, - "AWS::Connect::TaskTemplate.Constraints": { - "additionalProperties": false, - "properties": { - "InvisibleFields": { - "items": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.InvisibleFieldInfo" - }, - "markdownDescription": "Lists the fields that are invisible to agents.", - "title": "InvisibleFields", - "type": "array" - }, - "ReadOnlyFields": { - "items": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.ReadOnlyFieldInfo" - }, - "markdownDescription": "Lists the fields that are read-only to agents, and cannot be edited.", - "title": "ReadOnlyFields", - "type": "array" - }, - "RequiredFields": { - "items": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.RequiredFieldInfo" - }, - "markdownDescription": "Lists the fields that are required to be filled by agents.", - "title": "RequiredFields", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Connect::TaskTemplate.DefaultFieldValue": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "markdownDescription": "Default value for the field.", - "title": "DefaultValue", - "type": "string" - }, - "Id": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", - "markdownDescription": "Identifier of a field.", - "title": "Id" - } - }, - "required": [ - "DefaultValue", - "Id" - ], - "type": "object" - }, - "AWS::Connect::TaskTemplate.Field": { - "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "The description of the field.", - "title": "Description", - "type": "string" - }, - "Id": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", - "markdownDescription": "The unique identifier for the field.", - "title": "Id" - }, - "SingleSelectOptions": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of options for a single select field.", - "title": "SingleSelectOptions", - "type": "array" - }, - "Type": { - "markdownDescription": "Indicates the type of field. Following are the valid field types: `NAME` `DESCRIPTION` | `SCHEDULED_TIME` | `QUICK_CONNECT` | `URL` | `NUMBER` | `TEXT` | `TEXT_AREA` | `DATE_TIME` | `BOOLEAN` | `SINGLE_SELECT` | `EMAIL`", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Id", - "Type" - ], - "type": "object" - }, - "AWS::Connect::TaskTemplate.FieldIdentifier": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the task template field.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Connect::TaskTemplate.InvisibleFieldInfo": { - "additionalProperties": false, - "properties": { - "Id": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", - "markdownDescription": "Identifier of the invisible field.", - "title": "Id" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::Connect::TaskTemplate.ReadOnlyFieldInfo": { - "additionalProperties": false, - "properties": { - "Id": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", - "markdownDescription": "Identifier of the read-only field.", - "title": "Id" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::Connect::TaskTemplate.RequiredFieldInfo": { - "additionalProperties": false, - "properties": { - "Id": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", - "markdownDescription": "The unique identifier for the field.", - "title": "Id" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::Connect::TestCase": { + "AWS::Connect::AgentStatus": { "additionalProperties": false, "properties": { "Condition": { @@ -92330,44 +92104,60 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "type": "string" - }, "Description": { + "markdownDescription": "The description of the agent status.", + "title": "Description", "type": "string" }, - "EntryPoint": { - "$ref": "#/definitions/AWS::Connect::TestCase.EntryPoint" - }, - "InitializationData": { - "type": "string" + "DisplayOrder": { + "markdownDescription": "The display order of the agent status.", + "title": "DisplayOrder", + "type": "number" }, "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", "type": "string" }, "Name": { + "markdownDescription": "The name of the agent status.", + "title": "Name", "type": "string" }, - "Status": { + "ResetOrderNumber": { + "markdownDescription": "A number indicating the reset order of the agent status.", + "title": "ResetOrderNumber", + "type": "boolean" + }, + "State": { + "markdownDescription": "The state of the agent status.", + "title": "State", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", "type": "array" + }, + "Type": { + "markdownDescription": "The type of agent status.", + "title": "Type", + "type": "string" } }, "required": [ - "Content", "InstanceArn", - "Name" + "Name", + "State" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::TestCase" + "AWS::Connect::AgentStatus" ], "type": "string" }, @@ -92386,46 +92176,7 @@ ], "type": "object" }, - "AWS::Connect::TestCase.ChatEntryPointParameters": { - "additionalProperties": false, - "properties": { - "FlowId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::TestCase.EntryPoint": { - "additionalProperties": false, - "properties": { - "ChatEntryPointParameters": { - "$ref": "#/definitions/AWS::Connect::TestCase.ChatEntryPointParameters" - }, - "Type": { - "type": "string" - }, - "VoiceCallEntryPointParameters": { - "$ref": "#/definitions/AWS::Connect::TestCase.VoiceCallEntryPointParameters" - } - }, - "type": "object" - }, - "AWS::Connect::TestCase.VoiceCallEntryPointParameters": { - "additionalProperties": false, - "properties": { - "DestinationPhoneNumber": { - "type": "string" - }, - "FlowId": { - "type": "string" - }, - "SourcePhoneNumber": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::TrafficDistributionGroup": { + "AWS::Connect::ApprovedOrigin": { "additionalProperties": false, "properties": { "Condition": { @@ -92460,39 +92211,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the traffic distribution group.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN).", - "title": "InstanceArn", + "InstanceId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `100`", + "title": "InstanceId", "type": "string" }, - "Name": { - "markdownDescription": "The name of the traffic distribution group.", - "title": "Name", + "Origin": { + "markdownDescription": "Domain name to be added to the allow-list of the instance.\n\n*Maximum* : `267`", + "title": "Origin", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, {\"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" } }, "required": [ - "InstanceArn", - "Name" + "InstanceId", + "Origin" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::TrafficDistributionGroup" + "AWS::Connect::ApprovedOrigin" ], "type": "string" }, @@ -92511,7 +92249,7 @@ ], "type": "object" }, - "AWS::Connect::User": { + "AWS::Connect::ContactFlow": { "additionalProperties": false, "properties": { "Condition": { @@ -92546,112 +92284,56 @@ "Properties": { "additionalProperties": false, "properties": { - "AfterContactWorkConfigs": { - "items": { - "$ref": "#/definitions/AWS::Connect::User.AfterContactWorkConfigPerChannel" - }, - "type": "array" - }, - "AutoAcceptConfigs": { - "items": { - "$ref": "#/definitions/AWS::Connect::User.AutoAcceptConfig" - }, - "type": "array" - }, - "DirectoryUserId": { - "markdownDescription": "The identifier of the user account in the directory used for identity management.", - "title": "DirectoryUserId", + "Content": { + "markdownDescription": "The content of the flow.\n\nFor more information, see [Connect Customer Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html) in the *Connect Customer Administrator Guide* .", + "title": "Content", "type": "string" }, - "HierarchyGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the user's hierarchy group.", - "title": "HierarchyGroupArn", + "Description": { + "markdownDescription": "The description of the flow.", + "title": "Description", "type": "string" }, - "IdentityInfo": { - "$ref": "#/definitions/AWS::Connect::User.UserIdentityInfo", - "markdownDescription": "Information about the user identity.", - "title": "IdentityInfo" - }, "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "markdownDescription": "The Amazon Resource Name (ARN) of the Connect Customer instance.", "title": "InstanceArn", "type": "string" }, - "Password": { - "markdownDescription": "The user's password.", - "title": "Password", + "Name": { + "markdownDescription": "The name of the flow.", + "title": "Name", "type": "string" }, - "PersistentConnectionConfigs": { - "items": { - "$ref": "#/definitions/AWS::Connect::User.PersistentConnectionConfig" - }, - "type": "array" - }, - "PhoneConfig": { - "$ref": "#/definitions/AWS::Connect::User.UserPhoneConfig", - "markdownDescription": "Information about the phone configuration for the user.", - "title": "PhoneConfig" - }, - "PhoneNumberConfigs": { - "items": { - "$ref": "#/definitions/AWS::Connect::User.PhoneNumberConfig" - }, - "type": "array" - }, - "RoutingProfileArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the user's routing profile.", - "title": "RoutingProfileArn", + "State": { + "markdownDescription": "The state of the flow.", + "title": "State", "type": "string" }, - "SecurityProfileArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) of the user's security profile.", - "title": "SecurityProfileArns", - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags.", + "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" }, - "UserProficiencies": { - "items": { - "$ref": "#/definitions/AWS::Connect::User.UserProficiency" - }, - "markdownDescription": "One or more predefined attributes assigned to a user, with a numeric value that indicates how their level of skill in a specified area.", - "title": "UserProficiencies", - "type": "array" - }, - "Username": { - "markdownDescription": "The user name assigned to the user account.", - "title": "Username", + "Type": { + "markdownDescription": "The type of the flow. For descriptions of the available types, see [Choose a flow type](https://docs.aws.amazon.com/connect/latest/adminguide/create-contact-flow.html#contact-flow-types) in the *Amazon Connect Administrator Guide* .", + "title": "Type", "type": "string" - }, - "VoiceEnhancementConfigs": { - "items": { - "$ref": "#/definitions/AWS::Connect::User.VoiceEnhancementConfig" - }, - "type": "array" } }, "required": [ + "Content", "InstanceArn", - "RoutingProfileArn", - "SecurityProfileArns", - "Username" + "Name", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::User" + "AWS::Connect::ContactFlow" ], "type": "string" }, @@ -92670,196 +92352,7 @@ ], "type": "object" }, - "AWS::Connect::User.AfterContactWorkConfig": { - "additionalProperties": false, - "properties": { - "AfterContactWorkMode": { - "type": "string" - }, - "AfterContactWorkTimeLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Connect::User.AfterContactWorkConfigPerChannel": { - "additionalProperties": false, - "properties": { - "AfterContactWorkConfig": { - "$ref": "#/definitions/AWS::Connect::User.AfterContactWorkConfig" - }, - "AgentFirstCallbackAfterContactWorkConfig": { - "$ref": "#/definitions/AWS::Connect::User.AfterContactWorkConfig" - }, - "Channel": { - "type": "string" - } - }, - "required": [ - "AfterContactWorkConfig", - "Channel" - ], - "type": "object" - }, - "AWS::Connect::User.AutoAcceptConfig": { - "additionalProperties": false, - "properties": { - "AgentFirstCallbackAutoAccept": { - "type": "boolean" - }, - "AutoAccept": { - "type": "boolean" - }, - "Channel": { - "type": "string" - } - }, - "required": [ - "AutoAccept", - "Channel" - ], - "type": "object" - }, - "AWS::Connect::User.PersistentConnectionConfig": { - "additionalProperties": false, - "properties": { - "Channel": { - "type": "string" - }, - "PersistentConnection": { - "type": "boolean" - } - }, - "required": [ - "Channel", - "PersistentConnection" - ], - "type": "object" - }, - "AWS::Connect::User.PhoneNumberConfig": { - "additionalProperties": false, - "properties": { - "Channel": { - "type": "string" - }, - "PhoneNumber": { - "type": "string" - }, - "PhoneType": { - "type": "string" - } - }, - "required": [ - "Channel", - "PhoneType" - ], - "type": "object" - }, - "AWS::Connect::User.UserIdentityInfo": { - "additionalProperties": false, - "properties": { - "Email": { - "markdownDescription": "The email address. If you are using SAML for identity management and include this parameter, an error is returned.", - "title": "Email", - "type": "string" - }, - "FirstName": { - "markdownDescription": "The first name. This is required if you are using Amazon Connect or SAML for identity management. Inputs must be in Unicode Normalization Form C (NFC). Text containing characters in a non-NFC form (for example, decomposed characters or combining marks) are not accepted.", - "title": "FirstName", - "type": "string" - }, - "LastName": { - "markdownDescription": "The last name. This is required if you are using Amazon Connect or SAML for identity management. Inputs must be in Unicode Normalization Form C (NFC). Text containing characters in a non-NFC form (for example, decomposed characters or combining marks) are not accepted.", - "title": "LastName", - "type": "string" - }, - "Mobile": { - "markdownDescription": "The user's mobile number.", - "title": "Mobile", - "type": "string" - }, - "SecondaryEmail": { - "markdownDescription": "The user's secondary email address. If you provide a secondary email, the user receives email notifications -- other than password reset notifications -- to this email address instead of to their primary email address.\n\n*Pattern* : `(?=^.{0,265}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,63}`", - "title": "SecondaryEmail", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::User.UserPhoneConfig": { - "additionalProperties": false, - "properties": { - "AfterContactWorkTimeLimit": { - "markdownDescription": "The After Call Work (ACW) timeout setting, in seconds. This parameter has a minimum value of 0 and a maximum value of 2,000,000 seconds (24 days). Enter 0 if you don't want to allocate a specific amount of ACW time. It essentially means an indefinite amount of time. When the conversation ends, ACW starts; the agent must choose Close contact to end ACW.\n\n> When returned by a `SearchUsers` call, `AfterContactWorkTimeLimit` is returned in milliseconds.", - "title": "AfterContactWorkTimeLimit", - "type": "number" - }, - "AutoAccept": { - "markdownDescription": "The Auto accept setting.", - "title": "AutoAccept", - "type": "boolean" - }, - "DeskPhoneNumber": { - "markdownDescription": "The phone number for the user's desk phone.", - "title": "DeskPhoneNumber", - "type": "string" - }, - "PersistentConnection": { - "markdownDescription": "The persistent connection setting for the user.", - "title": "PersistentConnection", - "type": "boolean" - }, - "PhoneType": { - "markdownDescription": "The phone type.", - "title": "PhoneType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::User.UserProficiency": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "markdownDescription": "The name of user\u2019s proficiency. You must use a predefined attribute name that is present in the Amazon Connect instance.", - "title": "AttributeName", - "type": "string" - }, - "AttributeValue": { - "markdownDescription": "The value of user\u2019s proficiency. You must use a predefined attribute value that is present in the Amazon Connect instance.", - "title": "AttributeValue", - "type": "string" - }, - "Level": { - "markdownDescription": "The level of the proficiency. The valid values are 1, 2, 3, 4 and 5.", - "title": "Level", - "type": "number" - } - }, - "required": [ - "AttributeName", - "AttributeValue", - "Level" - ], - "type": "object" - }, - "AWS::Connect::User.VoiceEnhancementConfig": { - "additionalProperties": false, - "properties": { - "Channel": { - "type": "string" - }, - "VoiceEnhancementMode": { - "type": "string" - } - }, - "required": [ - "Channel", - "VoiceEnhancementMode" - ], - "type": "object" - }, - "AWS::Connect::UserHierarchyGroup": { + "AWS::Connect::ContactFlowModule": { "additionalProperties": false, "properties": { "Condition": { @@ -92894,31 +92387,52 @@ "Properties": { "additionalProperties": false, "properties": { + "Content": { + "markdownDescription": "The content of the flow module.", + "title": "Content", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the flow module.", + "title": "Description", + "type": "string" + }, + "ExternalInvocationConfiguration": { + "$ref": "#/definitions/AWS::Connect::ContactFlowModule.ExternalInvocationConfiguration", + "markdownDescription": "The external invocation configuration for the flow module", + "title": "ExternalInvocationConfiguration" + }, "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the user hierarchy group.", + "markdownDescription": "The Amazon Resource Name (ARN) of the Connect Customer instance.", "title": "InstanceArn", "type": "string" }, "Name": { - "markdownDescription": "The name of the user hierarchy group.", + "markdownDescription": "The name of the flow module.", "title": "Name", "type": "string" }, - "ParentGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the parent group.", - "title": "ParentGroupArn", + "Settings": { + "markdownDescription": "The configuration settings for the flow module.", + "title": "Settings", + "type": "string" + }, + "State": { + "markdownDescription": "The state of the flow module.", + "title": "State", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", + "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": [ + "Content", "InstanceArn", "Name" ], @@ -92926,7 +92440,7 @@ }, "Type": { "enum": [ - "AWS::Connect::UserHierarchyGroup" + "AWS::Connect::ContactFlowModule" ], "type": "string" }, @@ -92945,7 +92459,18 @@ ], "type": "object" }, - "AWS::Connect::UserHierarchyStructure": { + "AWS::Connect::ContactFlowModule.ExternalInvocationConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "Enable external invocation.", + "title": "Enabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Connect::ContactFlowModuleAlias": { "additionalProperties": false, "properties": { "Condition": { @@ -92980,25 +92505,29 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "ContactFlowModuleId": { "type": "string" }, - "UserHierarchyStructure": { - "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.UserHierarchyStructure", - "markdownDescription": "Contains information about a hierarchy structure.", - "title": "UserHierarchyStructure" + "ContactFlowModuleVersion": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" } }, "required": [ - "InstanceArn" + "ContactFlowModuleId", + "ContactFlowModuleVersion", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::UserHierarchyStructure" + "AWS::Connect::ContactFlowModuleAlias" ], "type": "string" }, @@ -93017,158 +92546,75 @@ ], "type": "object" }, - "AWS::Connect::UserHierarchyStructure.LevelFive": { - "additionalProperties": false, - "properties": { - "HierarchyLevelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", - "title": "HierarchyLevelArn", - "type": "string" - }, - "HierarchyLevelId": { - "markdownDescription": "The identifier of the hierarchy level.", - "title": "HierarchyLevelId", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the hierarchy level.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Connect::UserHierarchyStructure.LevelFour": { - "additionalProperties": false, - "properties": { - "HierarchyLevelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", - "title": "HierarchyLevelArn", - "type": "string" - }, - "HierarchyLevelId": { - "markdownDescription": "The identifier of the hierarchy level.", - "title": "HierarchyLevelId", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the hierarchy level.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Connect::UserHierarchyStructure.LevelOne": { + "AWS::Connect::ContactFlowModuleVersion": { "additionalProperties": false, "properties": { - "HierarchyLevelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", - "title": "HierarchyLevelArn", + "Condition": { "type": "string" }, - "HierarchyLevelId": { - "markdownDescription": "The identifier of the hierarchy level.", - "title": "HierarchyLevelId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Name": { - "markdownDescription": "The name of the hierarchy level.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Connect::UserHierarchyStructure.LevelThree": { - "additionalProperties": false, - "properties": { - "HierarchyLevelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", - "title": "HierarchyLevelArn", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "HierarchyLevelId": { - "markdownDescription": "", - "title": "HierarchyLevelId", - "type": "string" + "Metadata": { + "type": "object" }, - "Name": { - "markdownDescription": "The name of the hierarchy level.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Connect::UserHierarchyStructure.LevelTwo": { - "additionalProperties": false, - "properties": { - "HierarchyLevelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", - "title": "HierarchyLevelArn", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ContactFlowModuleId": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "ContactFlowModuleId" + ], + "type": "object" }, - "HierarchyLevelId": { - "markdownDescription": "The identifier of the hierarchy level.", - "title": "HierarchyLevelId", + "Type": { + "enum": [ + "AWS::Connect::ContactFlowModuleVersion" + ], "type": "string" }, - "Name": { - "markdownDescription": "The name of the hierarchy level.", - "title": "Name", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Name" + "Type", + "Properties" ], "type": "object" }, - "AWS::Connect::UserHierarchyStructure.UserHierarchyStructure": { - "additionalProperties": false, - "properties": { - "LevelFive": { - "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelFive", - "markdownDescription": "", - "title": "LevelFive" - }, - "LevelFour": { - "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelFour", - "markdownDescription": "The update for level four.", - "title": "LevelFour" - }, - "LevelOne": { - "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelOne", - "markdownDescription": "The update for level one.", - "title": "LevelOne" - }, - "LevelThree": { - "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelThree", - "markdownDescription": "The update for level three.", - "title": "LevelThree" - }, - "LevelTwo": { - "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelTwo", - "markdownDescription": "The update for level two.", - "title": "LevelTwo" - } - }, - "type": "object" - }, - "AWS::Connect::View": { + "AWS::Connect::ContactFlowVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -93203,54 +92649,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of actions possible from the view.", - "title": "Actions", - "type": "array" + "ContactFlowId": { + "markdownDescription": "The identifier of the flow.", + "title": "ContactFlowId", + "type": "string" }, "Description": { - "markdownDescription": "The description of the view.", + "markdownDescription": "The description of the flow version.", "title": "Description", "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the view.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags associated with the view resource (not specific to view version).", - "title": "Tags", - "type": "array" - }, - "Template": { - "markdownDescription": "The view template representing the structure of the view.", - "title": "Template", - "type": "object" } }, "required": [ - "Actions", - "InstanceArn", - "Name", - "Template" + "ContactFlowId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::View" + "AWS::Connect::ContactFlowVersion" ], "type": "string" }, @@ -93269,7 +92686,7 @@ ], "type": "object" }, - "AWS::Connect::ViewVersion": { + "AWS::Connect::DataLakeAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -93304,30 +92721,25 @@ "Properties": { "additionalProperties": false, "properties": { - "VersionDescription": { - "markdownDescription": "The description of the view version.", - "title": "VersionDescription", + "DataSetId": { "type": "string" }, - "ViewArn": { - "markdownDescription": "The unqualified Amazon Resource Name (ARN) of the view.\n\nFor example:\n\n`arn::connect:::instance/00000000-0000-0000-0000-000000000000/view/00000000-0000-0000-0000-000000000000`", - "title": "ViewArn", + "InstanceId": { "type": "string" }, - "ViewContentSha256": { - "markdownDescription": "Indicates the checksum value of the latest published view content.", - "title": "ViewContentSha256", + "TargetAccountId": { "type": "string" } }, "required": [ - "ViewArn" + "DataSetId", + "InstanceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::ViewVersion" + "AWS::Connect::DataLakeAssociation" ], "type": "string" }, @@ -93346,7 +92758,7 @@ ], "type": "object" }, - "AWS::Connect::Workspace": { + "AWS::Connect::DataTable": { "additionalProperties": false, "properties": { "Condition": { @@ -93381,16 +92793,8 @@ "Properties": { "additionalProperties": false, "properties": { - "Associations": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Associations", - "type": "array" - }, "Description": { - "markdownDescription": "The description of the workspace.", + "markdownDescription": "An optional description of the data table's purpose and contents.", "title": "Description", "type": "string" }, @@ -93399,60 +92803,47 @@ "title": "InstanceArn", "type": "string" }, - "Media": { - "items": { - "$ref": "#/definitions/AWS::Connect::Workspace.MediaItem" - }, - "markdownDescription": "", - "title": "Media", - "type": "array" - }, "Name": { - "markdownDescription": "The name of the workspace.", + "markdownDescription": "The human-readable name of the data table. Must be unique within the instance and conform to Connect naming standards.", "title": "Name", "type": "string" }, - "Pages": { - "items": { - "$ref": "#/definitions/AWS::Connect::Workspace.WorkspacePage" - }, - "markdownDescription": "", - "title": "Pages", - "type": "array" + "Status": { + "markdownDescription": "The current status of the data table. One of PUBLISHED or SAVED.", + "title": "Status", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for the workspace.", + "markdownDescription": "Key-value pairs for attribute based access control (TBAC or ABAC) and organization.", "title": "Tags", "type": "array" }, - "Theme": { - "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceTheme", - "markdownDescription": "The theme configuration for the workspace, including colors and styling.", - "title": "Theme" - }, - "Title": { - "markdownDescription": "The title displayed for the workspace.", - "title": "Title", + "TimeZone": { + "markdownDescription": "The IANA timezone identifier used when resolving time based dynamic values. Required even if no time slices are specified.", + "title": "TimeZone", "type": "string" }, - "Visibility": { - "markdownDescription": "Controls who can access the workspace. Valid values are: `ALL` (all users), `ASSIGNED` (only assigned users and routing profiles), and `NONE` (not visible).", - "title": "Visibility", + "ValueLockLevel": { + "markdownDescription": "The data level that concurrent value edits are locked on. One of DATA_TABLE, PRIMARY_VALUE, ATTRIBUTE, VALUE, and NONE. Determines how concurrent edits are handled when multiple users attempt to modify values simultaneously.", + "title": "ValueLockLevel", "type": "string" } }, "required": [ "InstanceArn", - "Name" + "Name", + "Status", + "TimeZone", + "ValueLockLevel" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::Workspace" + "AWS::Connect::DataTable" ], "type": "string" }, @@ -93471,245 +92862,209 @@ ], "type": "object" }, - "AWS::Connect::Workspace.FontFamily": { + "AWS::Connect::DataTable.LockVersion": { "additionalProperties": false, "properties": { - "Default": { - "markdownDescription": "The default font family to use in the workspace theme.", - "title": "Default", + "DataTable": { + "markdownDescription": "", + "title": "DataTable", "type": "string" } }, "type": "object" }, - "AWS::Connect::Workspace.MediaItem": { + "AWS::Connect::DataTableAttribute": { "additionalProperties": false, "properties": { - "Source": { - "markdownDescription": "The source URL or data for the media asset.", - "title": "Source", + "Condition": { "type": "string" }, - "Type": { - "markdownDescription": "The type of media. Valid values are: `IMAGE_LOGO_FAVICON` and `IMAGE_LOGO_HORIZONTAL` .", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Connect::Workspace.PaletteCanvas": { - "additionalProperties": false, - "properties": { - "ActiveBackground": { - "markdownDescription": "The background color for active elements.", - "title": "ActiveBackground", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerBackground": { - "markdownDescription": "The background color for container elements.", - "title": "ContainerBackground", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "PageBackground": { - "markdownDescription": "The background color for page elements.", - "title": "PageBackground", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::Workspace.PaletteHeader": { - "additionalProperties": false, - "properties": { - "Background": { - "markdownDescription": "The background color of the header.", - "title": "Background", - "type": "string" + "Metadata": { + "type": "object" }, - "InvertActionsColors": { - "markdownDescription": "Whether to invert the colors of action buttons in the header.", - "title": "InvertActionsColors", - "type": "boolean" + "Properties": { + "additionalProperties": false, + "properties": { + "DataTableArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the data table that contains this attribute.", + "title": "DataTableArn", + "type": "string" + }, + "Description": { + "markdownDescription": "An optional description explaining the purpose and usage of this attribute.", + "title": "Description", + "type": "string" + }, + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The human-readable name of the attribute. Must be unique within the data table and conform to Connect naming standards.", + "title": "Name", + "type": "string" + }, + "Primary": { + "markdownDescription": "Boolean indicating whether this attribute is used as a primary key for record identification. Primary attributes must have unique value combinations and cannot contain expressions.", + "title": "Primary", + "type": "boolean" + }, + "Validation": { + "$ref": "#/definitions/AWS::Connect::DataTableAttribute.Validation", + "markdownDescription": "The validation rules applied to values of this attribute. Based on JSON Schema Draft 2020-12 with additional Connect-specific validations for data integrity.", + "title": "Validation" + }, + "ValueType": { + "markdownDescription": "The type of value allowed for this attribute. Must be one of TEXT, TEXT_LIST, NUMBER, NUMBER_LIST, or BOOLEAN. Determines how values are validated and processed.", + "title": "ValueType", + "type": "string" + } + }, + "required": [ + "DataTableArn", + "InstanceArn", + "Name", + "ValueType" + ], + "type": "object" }, - "Text": { - "markdownDescription": "The text color in the header.", - "title": "Text", + "Type": { + "enum": [ + "AWS::Connect::DataTableAttribute" + ], "type": "string" }, - "TextHover": { - "markdownDescription": "The text color when hovering over header elements.", - "title": "TextHover", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Connect::Workspace.PaletteNavigation": { + "AWS::Connect::DataTableAttribute.Enum": { "additionalProperties": false, "properties": { - "Background": { - "markdownDescription": "The background color of the navigation area.", - "title": "Background", - "type": "string" - }, - "InvertActionsColors": { - "markdownDescription": "Whether to invert the colors of action buttons in the navigation area.", - "title": "InvertActionsColors", + "Strict": { + "markdownDescription": "", + "title": "Strict", "type": "boolean" }, - "Text": { - "markdownDescription": "The text color in the navigation area.", - "title": "Text", - "type": "string" - }, - "TextActive": { - "markdownDescription": "The text color for active navigation items.", - "title": "TextActive", - "type": "string" - }, - "TextBackgroundActive": { - "markdownDescription": "The background color for active navigation items.", - "title": "TextBackgroundActive", - "type": "string" - }, - "TextBackgroundHover": { - "markdownDescription": "The background color when hovering over navigation text.", - "title": "TextBackgroundHover", - "type": "string" - }, - "TextHover": { - "markdownDescription": "The text color when hovering over navigation items.", - "title": "TextHover", - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Values", + "type": "array" } }, "type": "object" }, - "AWS::Connect::Workspace.PalettePrimary": { + "AWS::Connect::DataTableAttribute.LockVersion": { "additionalProperties": false, "properties": { - "Active": { - "markdownDescription": "The primary color used for active states.", - "title": "Active", - "type": "string" - }, - "ContrastText": { - "markdownDescription": "The text color that contrasts with the primary color for readability.", - "title": "ContrastText", + "Attribute": { + "markdownDescription": "", + "title": "Attribute", "type": "string" }, - "Default": { - "markdownDescription": "The default primary color used throughout the workspace.", - "title": "Default", + "DataTable": { + "markdownDescription": "", + "title": "DataTable", "type": "string" } }, "type": "object" }, - "AWS::Connect::Workspace.WorkspacePage": { + "AWS::Connect::DataTableAttribute.Validation": { "additionalProperties": false, "properties": { - "InputData": { - "markdownDescription": "A JSON string containing input parameters passed to the view when the page is rendered.", - "title": "InputData", - "type": "string" + "Enum": { + "$ref": "#/definitions/AWS::Connect::DataTableAttribute.Enum", + "markdownDescription": "Defines enumeration constraints for attribute values. Can specify a list of allowed values and whether custom values are permitted beyond the enumerated list.", + "title": "Enum" }, - "Page": { - "markdownDescription": "The page identifier. System pages include `HOME` and `AGENT_EXPERIENCE` .", - "title": "Page", - "type": "string" + "ExclusiveMaximum": { + "markdownDescription": "The largest exclusive numeric value for NUMBER value type. Can be provided alongside Maximum where both operate independently. Must be greater than ExclusiveMinimum and Minimum. Applies to NUMBER and values within NUMBER_LIST.", + "title": "ExclusiveMaximum", + "type": "number" }, - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the view associated with this page.", - "title": "ResourceArn", - "type": "string" + "ExclusiveMinimum": { + "markdownDescription": "The smallest exclusive numeric value for NUMBER value type. Can be provided alongside Minimum where both operate independently. Must be less than ExclusiveMaximum and Maximum. Applies to NUMBER and values within NUMBER_LIST.", + "title": "ExclusiveMinimum", + "type": "number" }, - "Slug": { - "markdownDescription": "The URL-friendly identifier for the page.", - "title": "Slug", - "type": "string" - } - }, - "required": [ - "Page", - "ResourceArn" - ], - "type": "object" - }, - "AWS::Connect::Workspace.WorkspaceTheme": { - "additionalProperties": false, - "properties": { - "Dark": { - "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemeConfig", - "markdownDescription": "The theme configuration for dark mode.", - "title": "Dark" + "MaxLength": { + "markdownDescription": "The maximum number of characters a text value can contain. Applies to TEXT value type and values within a TEXT_LIST. Must be greater than or equal to MinLength.", + "title": "MaxLength", + "type": "number" }, - "Light": { - "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemeConfig", - "markdownDescription": "The theme configuration for light mode.", - "title": "Light" - } - }, - "type": "object" - }, - "AWS::Connect::Workspace.WorkspaceThemeConfig": { - "additionalProperties": false, - "properties": { - "Palette": { - "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemePalette", - "markdownDescription": "The color palette configuration for the workspace theme.", - "title": "Palette" + "MaxValues": { + "markdownDescription": "The maximum number of values in a list. Must be an integer greater than or equal to 0 and greater than or equal to MinValues. Applies to all list types.", + "title": "MaxValues", + "type": "number" }, - "Typography": { - "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemeTypography", - "markdownDescription": "The typography configuration for the workspace theme.", - "title": "Typography" - } - }, - "type": "object" - }, - "AWS::Connect::Workspace.WorkspaceThemePalette": { - "additionalProperties": false, - "properties": { - "Canvas": { - "$ref": "#/definitions/AWS::Connect::Workspace.PaletteCanvas", - "markdownDescription": "The color configuration for the canvas area.", - "title": "Canvas" + "Maximum": { + "markdownDescription": "The largest inclusive numeric value for NUMBER value type. Can be provided alongside ExclusiveMaximum where both operate independently. Must be greater than or equal to Minimum and greater than ExclusiveMinimum. Applies to NUMBER and values within NUMBER_LIST.", + "title": "Maximum", + "type": "number" }, - "Header": { - "$ref": "#/definitions/AWS::Connect::Workspace.PaletteHeader", - "markdownDescription": "The color configuration for the header area.", - "title": "Header" + "MinLength": { + "markdownDescription": "The minimum number of characters a text value can contain. Applies to TEXT value type and values within a TEXT_LIST. Must be less than or equal to MaxLength.", + "title": "MinLength", + "type": "number" }, - "Navigation": { - "$ref": "#/definitions/AWS::Connect::Workspace.PaletteNavigation", - "markdownDescription": "The color configuration for the navigation area.", - "title": "Navigation" + "MinValues": { + "markdownDescription": "The minimum number of values in a list. Must be an integer greater than or equal to 0 and less than or equal to MaxValues. Applies to all list types.", + "title": "MinValues", + "type": "number" }, - "Primary": { - "$ref": "#/definitions/AWS::Connect::Workspace.PalettePrimary", - "markdownDescription": "The primary color configuration used throughout the workspace.", - "title": "Primary" - } - }, - "type": "object" - }, - "AWS::Connect::Workspace.WorkspaceThemeTypography": { - "additionalProperties": false, - "properties": { - "FontFamily": { - "$ref": "#/definitions/AWS::Connect::Workspace.FontFamily", - "markdownDescription": "The font family configuration for text in the workspace.", - "title": "FontFamily" + "Minimum": { + "markdownDescription": "The smallest inclusive numeric value for NUMBER value type. Cannot be provided when ExclusiveMinimum is also provided. Must be less than or equal to Maximum and less than ExclusiveMaximum. Applies to NUMBER and values within NUMBER_LIST.", + "title": "Minimum", + "type": "number" + }, + "MultipleOf": { + "markdownDescription": "Specifies that numeric values must be multiples of this number. Must be greater than 0. The result of dividing a value by this multiple must result in an integer. Applies to NUMBER and values within NUMBER_LIST.", + "title": "MultipleOf", + "type": "number" } }, "type": "object" }, - "AWS::ConnectCampaigns::Campaign": { + "AWS::Connect::DataTableRecord": { "additionalProperties": false, "properties": { "Condition": { @@ -93744,46 +93099,32 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectInstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect instance.", - "title": "ConnectInstanceArn", + "DataTableArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the data table. Does not include version aliases.", + "title": "DataTableArn", "type": "string" }, - "DialerConfig": { - "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.DialerConfig", - "markdownDescription": "Contains information about the dialer configuration.", - "title": "DialerConfig" + "DataTableRecord": { + "$ref": "#/definitions/AWS::Connect::DataTableRecord.DataTableRecord", + "markdownDescription": "", + "title": "DataTableRecord" }, - "Name": { - "markdownDescription": "The name of the campaign.", - "title": "Name", + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", "type": "string" - }, - "OutboundCallConfig": { - "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.OutboundCallConfig", - "markdownDescription": "Contains information about the outbound call configuration.", - "title": "OutboundCallConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" } }, "required": [ - "ConnectInstanceArn", - "DialerConfig", - "Name", - "OutboundCallConfig" + "DataTableArn", + "DataTableRecord", + "InstanceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::ConnectCampaigns::Campaign" + "AWS::Connect::DataTableRecord" ], "type": "string" }, @@ -93802,125 +93143,161 @@ ], "type": "object" }, - "AWS::ConnectCampaigns::Campaign.AgentlessDialerConfig": { - "additionalProperties": false, - "properties": { - "DialingCapacity": { - "markdownDescription": "The allocation of dialing capacity between multiple active campaigns.", - "title": "DialingCapacity", - "type": "number" - } - }, - "type": "object" - }, - "AWS::ConnectCampaigns::Campaign.AnswerMachineDetectionConfig": { + "AWS::Connect::DataTableRecord.DataTableRecord": { "additionalProperties": false, "properties": { - "AwaitAnswerMachinePrompt": { - "markdownDescription": "Whether waiting for answer machine prompt is enabled.", - "title": "AwaitAnswerMachinePrompt", - "type": "boolean" + "PrimaryValues": { + "items": { + "$ref": "#/definitions/AWS::Connect::DataTableRecord.Value" + }, + "markdownDescription": "", + "title": "PrimaryValues", + "type": "array" }, - "EnableAnswerMachineDetection": { - "markdownDescription": "Whether answering machine detection is enabled.", - "title": "EnableAnswerMachineDetection", - "type": "boolean" + "Values": { + "items": { + "$ref": "#/definitions/AWS::Connect::DataTableRecord.Value" + }, + "markdownDescription": "", + "title": "Values", + "type": "array" } }, "required": [ - "EnableAnswerMachineDetection" + "Values" ], "type": "object" }, - "AWS::ConnectCampaigns::Campaign.DialerConfig": { + "AWS::Connect::DataTableRecord.Value": { "additionalProperties": false, "properties": { - "AgentlessDialerConfig": { - "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.AgentlessDialerConfig", - "markdownDescription": "The configuration of the agentless dialer.", - "title": "AgentlessDialerConfig" - }, - "PredictiveDialerConfig": { - "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.PredictiveDialerConfig", - "markdownDescription": "The configuration of the predictive dialer.", - "title": "PredictiveDialerConfig" + "AttributeId": { + "markdownDescription": "", + "title": "AttributeId", + "type": "string" }, - "ProgressiveDialerConfig": { - "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.ProgressiveDialerConfig", - "markdownDescription": "The configuration of the progressive dialer.", - "title": "ProgressiveDialerConfig" + "AttributeValue": { + "markdownDescription": "", + "title": "AttributeValue", + "type": "string" } }, "type": "object" }, - "AWS::ConnectCampaigns::Campaign.OutboundCallConfig": { + "AWS::Connect::EmailAddress": { "additionalProperties": false, "properties": { - "AnswerMachineDetectionConfig": { - "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.AnswerMachineDetectionConfig", - "markdownDescription": "Whether answering machine detection has been enabled.", - "title": "AnswerMachineDetectionConfig" - }, - "ConnectContactFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", - "title": "ConnectContactFlowArn", + "Condition": { "type": "string" }, - "ConnectQueueArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the queue.", - "title": "ConnectQueueArn", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ConnectSourcePhoneNumber": { - "markdownDescription": "The phone number associated with the outbound call. This is the caller ID that is displayed to customers when an agent calls them.", - "title": "ConnectSourcePhoneNumber", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AliasConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Connect::EmailAddress.AliasConfiguration" + }, + "markdownDescription": "A list of alias configurations for this email address, showing which email addresses forward to this primary address. Each configuration contains the email address ID of an alias that forwards emails to this address.", + "title": "AliasConfigurations", + "type": "array" + }, + "Description": { + "markdownDescription": "The description of the email address.", + "title": "Description", + "type": "string" + }, + "DisplayName": { + "markdownDescription": "The display name of email address.", + "title": "DisplayName", + "type": "string" + }, + "EmailAddress": { + "markdownDescription": "The email address, including the domain.", + "title": "EmailAddress", + "type": "string" + }, + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "EmailAddress", + "InstanceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::EmailAddress" + ], "type": "string" - } - }, - "required": [ - "ConnectContactFlowArn" - ], - "type": "object" - }, - "AWS::ConnectCampaigns::Campaign.PredictiveDialerConfig": { - "additionalProperties": false, - "properties": { - "BandwidthAllocation": { - "markdownDescription": "Bandwidth allocation for the predictive dialer.", - "title": "BandwidthAllocation", - "type": "number" }, - "DialingCapacity": { - "markdownDescription": "The allocation of dialing capacity between multiple active campaigns.", - "title": "DialingCapacity", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "BandwidthAllocation" + "Type", + "Properties" ], "type": "object" }, - "AWS::ConnectCampaigns::Campaign.ProgressiveDialerConfig": { + "AWS::Connect::EmailAddress.AliasConfiguration": { "additionalProperties": false, "properties": { - "BandwidthAllocation": { - "markdownDescription": "Bandwidth allocation for the progressive dialer.", - "title": "BandwidthAllocation", - "type": "number" - }, - "DialingCapacity": { - "markdownDescription": "The allocation of dialing capacity between multiple active campaigns.", - "title": "DialingCapacity", - "type": "number" + "EmailAddressArn": { + "markdownDescription": "", + "title": "EmailAddressArn", + "type": "string" } }, "required": [ - "BandwidthAllocation" + "EmailAddressArn" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign": { + "AWS::Connect::EvaluationForm": { "additionalProperties": false, "properties": { "Condition": { @@ -93955,72 +93332,80 @@ "Properties": { "additionalProperties": false, "properties": { - "ChannelSubtypeConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.ChannelSubtypeConfig", - "markdownDescription": "Contains channel subtype configuration for an outbound campaign.", - "title": "ChannelSubtypeConfig" - }, - "CommunicationLimitsOverride": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationLimitsConfig", - "markdownDescription": "Communication limits configuration for an outbound campaign.", - "title": "CommunicationLimitsOverride" + "AIVersion": { + "type": "string" }, - "CommunicationTimeConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationTimeConfig", - "markdownDescription": "Contains communication time configuration for an outbound campaign.", - "title": "CommunicationTimeConfig" + "AutoEvaluationConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutoEvaluationConfiguration", + "markdownDescription": "The automatic evaluation configuration of an evaluation form.", + "title": "AutoEvaluationConfiguration" }, - "ConnectCampaignFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect campaign flow associated with the outbound campaign.", - "title": "ConnectCampaignFlowArn", + "Description": { + "markdownDescription": "The description of the evaluation form.\n\n*Length Constraints* : Minimum length of 0. Maximum length of 1024.", + "title": "Description", "type": "string" }, - "ConnectInstanceId": { - "markdownDescription": "The identifier of the Amazon Connect instance. You can find the `instanceId` in the ARN of the instance.", - "title": "ConnectInstanceId", + "InstanceArn": { + "markdownDescription": "The identifier of the Amazon Connect instance.", + "title": "InstanceArn", "type": "string" }, - "EntryLimitsConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EntryLimitsConfig" + "Items": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormBaseItem" + }, + "markdownDescription": "Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.\n\n*Minimum size* : 1\n\n*Maximum size* : 100", + "title": "Items", + "type": "array" }, - "Name": { - "markdownDescription": "The name of the outbound campaign.", - "title": "Name", - "type": "string" + "LanguageConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormLanguageConfiguration", + "markdownDescription": "Configuration for language settings of this evaluation form.", + "title": "LanguageConfiguration" }, - "Schedule": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.Schedule", - "markdownDescription": "Contains the schedule configuration.", - "title": "Schedule" + "ReviewConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationReviewConfiguration" }, - "Source": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.Source", - "markdownDescription": "Contains source configuration.", - "title": "Source" + "ScoringStrategy": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.ScoringStrategy", + "markdownDescription": "A scoring strategy of the evaluation form.", + "title": "ScoringStrategy" + }, + "Status": { + "markdownDescription": "The status of the evaluation form.\n\n*Allowed values* : `DRAFT` | `ACTIVE`", + "title": "Status", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, `{ \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }` .", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "title": "Tags", "type": "array" }, - "Type": { - "markdownDescription": "The type of campaign.", - "title": "Type", + "TargetConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormTargetConfiguration", + "markdownDescription": "Configuration that specifies the target for this evaluation form.", + "title": "TargetConfiguration" + }, + "Title": { + "markdownDescription": "A title of the evaluation form.", + "title": "Title", "type": "string" } }, "required": [ - "ConnectInstanceId", - "Name" + "InstanceArn", + "Items", + "Status", + "Title" ], "type": "object" }, "Type": { "enum": [ - "AWS::ConnectCampaignsV2::Campaign" + "AWS::Connect::EvaluationForm" ], "type": "string" }, @@ -94039,755 +93424,882 @@ ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.AnswerMachineDetectionConfig": { + "AWS::Connect::EvaluationForm.AutoEvaluationConfiguration": { "additionalProperties": false, "properties": { - "AwaitAnswerMachinePrompt": { - "markdownDescription": "Whether or not waiting for an answer machine prompt is enabled.", - "title": "AwaitAnswerMachinePrompt", - "type": "boolean" - }, - "EnableAnswerMachineDetection": { - "markdownDescription": "Enables answering machine detection.", - "title": "EnableAnswerMachineDetection", + "Enabled": { + "markdownDescription": "", + "title": "Enabled", "type": "boolean" } }, - "required": [ - "EnableAnswerMachineDetection" - ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.ChannelSubtypeConfig": { + "AWS::Connect::EvaluationForm.AutomaticFailConfiguration": { "additionalProperties": false, "properties": { - "Email": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EmailChannelSubtypeConfig", - "markdownDescription": "The configuration of the email channel subtype.", - "title": "Email" - }, - "Sms": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.SmsChannelSubtypeConfig", - "markdownDescription": "The configuration of the SMS channel subtype.", - "title": "Sms" - }, - "Telephony": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TelephonyChannelSubtypeConfig", - "markdownDescription": "The configuration of the telephony channel subtype.", - "title": "Telephony" - }, - "WhatsApp": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.WhatsAppChannelSubtypeConfig", - "markdownDescription": "The configuration of the WhatsApp channel subtype.", - "title": "WhatsApp" + "TargetSection": { + "markdownDescription": "The referenceId of the target section for auto failure.", + "title": "TargetSection", + "type": "string" } }, "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.CommunicationLimit": { + "AWS::Connect::EvaluationForm.EvaluationFormBaseItem": { "additionalProperties": false, "properties": { - "Frequency": { - "markdownDescription": "The frequency of communication limit evaluation.", - "title": "Frequency", - "type": "number" - }, - "MaxCountPerRecipient": { - "markdownDescription": "The maximum outreaching count for each recipient.", - "title": "MaxCountPerRecipient", - "type": "number" - }, - "Unit": { - "markdownDescription": "The unit of communication limit evaluation.", - "title": "Unit", - "type": "string" + "Section": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSection", + "markdownDescription": "A subsection or inner section of an item.", + "title": "Section" } }, "required": [ - "Frequency", - "MaxCountPerRecipient", - "Unit" + "Section" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.CommunicationLimits": { + "AWS::Connect::EvaluationForm.EvaluationFormItem": { "additionalProperties": false, "properties": { - "CommunicationLimitList": { + "Question": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestion", + "markdownDescription": "The information of the question.", + "title": "Question" + }, + "Section": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSection", + "markdownDescription": "The information of the section.", + "title": "Section" + } + }, + "type": "object" + }, + "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementCondition": { + "additionalProperties": false, + "properties": { + "Operands": { "items": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationLimit" + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConditionOperand" }, - "markdownDescription": "The list of CommunicationLimits.", - "title": "CommunicationLimitList", + "markdownDescription": "Operands of the enablement condition.", + "title": "Operands", "type": "array" + }, + "Operator": { + "markdownDescription": "The operator to be used to be applied to operands if more than one provided.", + "title": "Operator", + "type": "string" } }, + "required": [ + "Operands" + ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.CommunicationLimitsConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConditionOperand": { "additionalProperties": false, "properties": { - "AllChannelsSubtypes": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationLimits", - "markdownDescription": "The CommunicationLimits that apply to all channel subtypes defined in an outbound campaign.", - "title": "AllChannelsSubtypes" - }, - "InstanceLimitsHandling": { - "markdownDescription": "Opt-in or Opt-out from instance-level limits.", - "title": "InstanceLimitsHandling", - "type": "string" + "Expression": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementExpression", + "markdownDescription": "An expression of the enablement condition.", + "title": "Expression" } }, "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.CommunicationTimeConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConfiguration": { "additionalProperties": false, "properties": { - "Email": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", - "markdownDescription": "The communication time configuration for the email channel subtype.", - "title": "Email" - }, - "LocalTimeZoneConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.LocalTimeZoneConfig", - "markdownDescription": "The local timezone configuration.", - "title": "LocalTimeZoneConfig" - }, - "Sms": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", - "markdownDescription": "The communication time configuration for the SMS channel subtype.", - "title": "Sms" + "Action": { + "markdownDescription": "An enablement action that if condition is satisfied.", + "title": "Action", + "type": "string" }, - "Telephony": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", - "markdownDescription": "The communication time configuration for the telephony channel subtype.", - "title": "Telephony" + "Condition": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementCondition", + "markdownDescription": "A condition for item enablement configuration.", + "title": "Condition" }, - "WhatsApp": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", - "markdownDescription": "The communication time configuration for the WhatsApp channel subtype.", - "title": "WhatsApp" + "DefaultAction": { + "markdownDescription": "An enablement action that if condition is not satisfied.", + "title": "DefaultAction", + "type": "string" } }, "required": [ - "LocalTimeZoneConfig" + "Action", + "Condition" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.DailyHour": { + "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementExpression": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key for DailyHour.", - "title": "Key", + "Comparator": { + "markdownDescription": "A comparator to be used against list of values.", + "title": "Comparator", "type": "string" }, - "Value": { + "Source": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSource", + "markdownDescription": "A source item of enablement expression.", + "title": "Source" + }, + "Values": { "items": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeRange" + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSourceValue" }, - "markdownDescription": "The value for DailyHour.", - "title": "Value", + "markdownDescription": "A list of values from source item.", + "title": "Values", "type": "array" } }, + "required": [ + "Comparator", + "Source", + "Values" + ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.EmailChannelSubtypeConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSource": { "additionalProperties": false, "properties": { - "Capacity": { - "markdownDescription": "The allocation of email capacity between multiple running outbound campaigns.", - "title": "Capacity", - "type": "number" - }, - "DefaultOutboundConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EmailOutboundConfig", - "markdownDescription": "The default email outbound configuration of an outbound campaign.", - "title": "DefaultOutboundConfig" + "RefId": { + "markdownDescription": "A referenceId of the source item.", + "title": "RefId", + "type": "string" }, - "OutboundMode": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EmailOutboundMode", - "markdownDescription": "The outbound mode for email of an outbound campaign.", - "title": "OutboundMode" + "Type": { + "markdownDescription": "A type of source item.", + "title": "Type", + "type": "string" } }, "required": [ - "DefaultOutboundConfig", - "OutboundMode" + "Type" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.EmailOutboundConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSourceValue": { "additionalProperties": false, "properties": { - "ConnectSourceEmailAddress": { - "markdownDescription": "The Amazon Connect source email address.", - "title": "ConnectSourceEmailAddress", - "type": "string" - }, - "SourceEmailAddressDisplayName": { - "markdownDescription": "The display name for the Amazon Connect source email address.", - "title": "SourceEmailAddressDisplayName", + "RefId": { + "markdownDescription": "A referenceId of the source value.", + "title": "RefId", "type": "string" }, - "WisdomTemplateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Q in Connect template.", - "title": "WisdomTemplateArn", + "Type": { + "markdownDescription": "A type of source item value.", + "title": "Type", "type": "string" } }, - "required": [ - "ConnectSourceEmailAddress", - "WisdomTemplateArn" - ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.EmailOutboundMode": { + "AWS::Connect::EvaluationForm.EvaluationFormLanguageConfiguration": { "additionalProperties": false, "properties": { - "AgentlessConfig": { - "markdownDescription": "The agentless outbound mode configuration for email.", - "title": "AgentlessConfig", - "type": "object" + "FormLanguage": { + "markdownDescription": "The language for the evaluation form.", + "title": "FormLanguage", + "type": "string" } }, "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.EntryLimitsConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormMetricConfiguration": { "additionalProperties": false, "properties": { - "MaxEntryCount": { - "type": "number" + "MetricName": { + "type": "string" }, - "MinEntryInterval": { + "MetricType": { "type": "string" } }, "required": [ - "MaxEntryCount", - "MinEntryInterval" + "MetricName", + "MetricType" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.EventTrigger": { - "additionalProperties": false, - "properties": { - "CustomerProfilesDomainArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Customer Profiles domain.", - "title": "CustomerProfilesDomainArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ConnectCampaignsV2::Campaign.LocalTimeZoneConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomation": { "additionalProperties": false, "properties": { - "DefaultTimeZone": { - "markdownDescription": "The timezone to use for all recipients.", - "title": "DefaultTimeZone", - "type": "string" + "AnswerSource": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", + "markdownDescription": "", + "title": "AnswerSource" }, - "LocalTimeZoneDetection": { + "DefaultOptionRefIds": { "items": { "type": "string" }, - "markdownDescription": "Detects methods for the recipient's timezone.", - "title": "LocalTimeZoneDetection", + "markdownDescription": "Reference IDs of default options.", + "title": "DefaultOptionRefIds", "type": "array" }, - "LocalTimeZoneDetectionScope": { - "type": "string" + "Options": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomationOption" + }, + "markdownDescription": "Automation options for the multi-select question.", + "title": "Options", + "type": "array" } }, "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.OpenHours": { + "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomationOption": { "additionalProperties": false, "properties": { - "DailyHours": { - "items": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.DailyHour" - }, - "markdownDescription": "The daily hours configuration.", - "title": "DailyHours", - "type": "array" + "RuleCategory": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.MultiSelectQuestionRuleCategoryAutomation", + "markdownDescription": "Rule category configuration for this automation option.", + "title": "RuleCategory" } }, "required": [ - "DailyHours" + "RuleCategory" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.PredictiveConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionOption": { "additionalProperties": false, "properties": { - "BandwidthAllocation": { - "markdownDescription": "Bandwidth allocation for the predictive outbound mode.", - "title": "BandwidthAllocation", + "AutomaticFail": { + "type": "boolean" + }, + "AutomaticFailConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutomaticFailConfiguration" + }, + "PointsConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration" + }, + "RefId": { + "markdownDescription": "Reference identifier for this option.", + "title": "RefId", + "type": "string" + }, + "Score": { "type": "number" + }, + "Text": { + "markdownDescription": "Display text for this option.", + "title": "Text", + "type": "string" } }, "required": [ - "BandwidthAllocation" + "RefId", + "Text" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.PreviewConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionProperties": { "additionalProperties": false, "properties": { - "AgentActions": { + "Automation": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomation", + "markdownDescription": "Automation configuration for this multi-select question.", + "title": "Automation" + }, + "DisplayAs": { + "markdownDescription": "Display format for the multi-select question.", + "title": "DisplayAs", + "type": "string" + }, + "Options": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionOption" }, - "markdownDescription": "Agent actions for the preview outbound mode.", - "title": "AgentActions", + "markdownDescription": "Options available for this multi-select question.", + "title": "Options", "type": "array" - }, - "BandwidthAllocation": { - "markdownDescription": "Bandwidth allocation for the preview outbound mode.", - "title": "BandwidthAllocation", - "type": "number" - }, - "TimeoutConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeoutConfig", - "markdownDescription": "Countdown timer configuration for preview outbound mode.", - "title": "TimeoutConfig" } }, "required": [ - "BandwidthAllocation", - "TimeoutConfig" + "Options" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.ProgressiveConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionAutomation": { "additionalProperties": false, "properties": { - "BandwidthAllocation": { - "markdownDescription": "Bandwidth allocation for the progressive outbound mode.", - "title": "BandwidthAllocation", - "type": "number" + "AnswerSource": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", + "markdownDescription": "A source of automation answer for numeric question.", + "title": "AnswerSource" + }, + "PropertyValue": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.NumericQuestionPropertyValueAutomation", + "markdownDescription": "The property value of the automation.", + "title": "PropertyValue" } }, - "required": [ - "BandwidthAllocation" - ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.RestrictedPeriod": { + "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionOption": { "additionalProperties": false, "properties": { - "EndDate": { - "markdownDescription": "The end date of the restricted period.", - "title": "EndDate", - "type": "string" + "AutomaticFail": { + "markdownDescription": "The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.", + "title": "AutomaticFail", + "type": "boolean" }, - "Name": { - "markdownDescription": "The name of the restricted period.", - "title": "Name", - "type": "string" + "AutomaticFailConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutomaticFailConfiguration", + "markdownDescription": "A configuration for automatic fail.", + "title": "AutomaticFailConfiguration" }, - "StartDate": { - "markdownDescription": "The start date of the restricted period.", - "title": "StartDate", - "type": "string" + "MaxValue": { + "markdownDescription": "The maximum answer value of the range option.", + "title": "MaxValue", + "type": "number" + }, + "MinValue": { + "markdownDescription": "The minimum answer value of the range option.", + "title": "MinValue", + "type": "number" + }, + "PointsConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration" + }, + "Score": { + "markdownDescription": "The score assigned to answer values within the range option.\n\n*Minimum* : 0\n\n*Maximum* : 10", + "title": "Score", + "type": "number" } }, "required": [ - "EndDate", - "StartDate" + "MaxValue", + "MinValue" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.RestrictedPeriods": { + "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionProperties": { "additionalProperties": false, "properties": { - "RestrictedPeriodList": { + "Automation": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionAutomation", + "markdownDescription": "The automation properties of the numeric question.", + "title": "Automation" + }, + "MaxValue": { + "markdownDescription": "The maximum answer value.", + "title": "MaxValue", + "type": "number" + }, + "MinValue": { + "markdownDescription": "The minimum answer value.", + "title": "MinValue", + "type": "number" + }, + "Options": { "items": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.RestrictedPeriod" + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionOption" }, - "markdownDescription": "The restricted period list.", - "title": "RestrictedPeriodList", + "markdownDescription": "The scoring options of the numeric question.", + "title": "Options", "type": "array" } }, "required": [ - "RestrictedPeriodList" + "MaxValue", + "MinValue" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.Schedule": { + "AWS::Connect::EvaluationForm.EvaluationFormQuestion": { "additionalProperties": false, "properties": { - "EndTime": { - "markdownDescription": "The end time of the schedule in UTC.", - "title": "EndTime", + "Enablement": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConfiguration", + "markdownDescription": "A question conditional enablement.", + "title": "Enablement" + }, + "Instructions": { + "markdownDescription": "The instructions of the section.\n\n*Length Constraints* : Minimum length of 0. Maximum length of 1024.", + "title": "Instructions", "type": "string" }, - "RefreshFrequency": { - "markdownDescription": "The refresh frequency of the campaign.", - "title": "RefreshFrequency", + "MetricConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMetricConfiguration" + }, + "NotApplicableEnabled": { + "markdownDescription": "The flag to enable not applicable answers to the question.", + "title": "NotApplicableEnabled", + "type": "boolean" + }, + "QuestionType": { + "markdownDescription": "The type of the question.\n\n*Allowed values* : `NUMERIC` | `SINGLESELECT` | `TEXT`", + "title": "QuestionType", "type": "string" }, - "StartTime": { - "markdownDescription": "The start time of the schedule in UTC.", - "title": "StartTime", + "QuestionTypeProperties": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionTypeProperties", + "markdownDescription": "The properties of the type of question. Text questions do not have to define question type properties.", + "title": "QuestionTypeProperties" + }, + "RefId": { + "markdownDescription": "The identifier of the question. An identifier must be unique within the evaluation form.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", + "title": "RefId", "type": "string" - } - }, - "required": [ - "EndTime", - "StartTime" - ], - "type": "object" - }, - "AWS::ConnectCampaignsV2::Campaign.SmsChannelSubtypeConfig": { - "additionalProperties": false, - "properties": { - "Capacity": { - "markdownDescription": "The allocation of SMS capacity between multiple running outbound campaigns.", - "title": "Capacity", - "type": "number" }, - "DefaultOutboundConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.SmsOutboundConfig", - "markdownDescription": "The default SMS outbound configuration of an outbound campaign.", - "title": "DefaultOutboundConfig" + "ScoringConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionScoringConfiguration" }, - "OutboundMode": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.SmsOutboundMode", - "markdownDescription": "The outbound mode of SMS for an outbound campaign.", - "title": "OutboundMode" + "Title": { + "markdownDescription": "The title of the question.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 350.", + "title": "Title", + "type": "string" + }, + "Weight": { + "markdownDescription": "The scoring weight of the section.\n\n*Minimum* : 0\n\n*Maximum* : 100", + "title": "Weight", + "type": "number" } }, "required": [ - "DefaultOutboundConfig", - "OutboundMode" + "QuestionType", + "RefId", + "Title" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.SmsOutboundConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource": { "additionalProperties": false, "properties": { - "ConnectSourcePhoneNumberArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect source SMS phone number.", - "title": "ConnectSourcePhoneNumberArn", - "type": "string" - }, - "WisdomTemplateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Q in Connect template.", - "title": "WisdomTemplateArn", + "SourceType": { + "markdownDescription": "The automation answer source type.", + "title": "SourceType", "type": "string" } }, "required": [ - "ConnectSourcePhoneNumberArn", - "WisdomTemplateArn" + "SourceType" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.SmsOutboundMode": { + "AWS::Connect::EvaluationForm.EvaluationFormQuestionScoringConfiguration": { "additionalProperties": false, "properties": { - "AgentlessConfig": { - "markdownDescription": "Contains agentless outbound mode configuration.", - "title": "AgentlessConfig", - "type": "object" + "IsExcludedFromScoring": { + "type": "boolean" + }, + "PointsConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionPointsConfiguration" + }, + "ScoreThresholds": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold" + }, + "type": "array" } }, "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.Source": { + "AWS::Connect::EvaluationForm.EvaluationFormQuestionTypeProperties": { "additionalProperties": false, "properties": { - "CustomerProfilesSegmentArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Customer Profiles segment.", - "title": "CustomerProfilesSegmentArn", - "type": "string" + "MultiSelect": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionProperties", + "markdownDescription": "Properties for multi-select question types.", + "title": "MultiSelect" }, - "EventTrigger": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EventTrigger", - "markdownDescription": "The event trigger of the campaign.", - "title": "EventTrigger" + "Numeric": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionProperties", + "markdownDescription": "The properties of the numeric question.", + "title": "Numeric" + }, + "SingleSelect": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionProperties", + "markdownDescription": "The properties of the numeric question.", + "title": "SingleSelect" + }, + "Text": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormTextQuestionProperties", + "markdownDescription": "The properties of the text question.", + "title": "Text" } }, "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.TelephonyChannelSubtypeConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold": { "additionalProperties": false, "properties": { - "Capacity": { - "markdownDescription": "The allocation of telephony capacity between multiple running outbound campaigns.", - "title": "Capacity", + "MaxScorePercentage": { "type": "number" }, - "ConnectQueueId": { - "markdownDescription": "The identifier of the Amazon Connect queue associated with telephony outbound requests of an outbound campaign.", - "title": "ConnectQueueId", - "type": "string" - }, - "DefaultOutboundConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundConfig", - "markdownDescription": "The default telephony outbound configuration of an outbound campaign.", - "title": "DefaultOutboundConfig" + "MinScorePercentage": { + "type": "number" }, - "OutboundMode": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundMode", - "markdownDescription": "The outbound mode of telephony for an outbound campaign.", - "title": "OutboundMode" + "PerformanceCategory": { + "type": "string" } }, "required": [ - "DefaultOutboundConfig", - "OutboundMode" + "PerformanceCategory" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormSection": { "additionalProperties": false, "properties": { - "AnswerMachineDetectionConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.AnswerMachineDetectionConfig", - "markdownDescription": "The answering machine detection configuration.", - "title": "AnswerMachineDetectionConfig" + "Instructions": { + "markdownDescription": "The instructions of the section.", + "title": "Instructions", + "type": "string" }, - "ConnectContactFlowId": { - "markdownDescription": "The identifier of the published Amazon Connect contact flow.", - "title": "ConnectContactFlowId", + "IsExcludedFromScoring": { + "type": "boolean" + }, + "Items": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItem" + }, + "markdownDescription": "The items of the section.\n\n*Minimum* : 1", + "title": "Items", + "type": "array" + }, + "RefId": { + "markdownDescription": "The identifier of the section. An identifier must be unique within the evaluation form.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", + "title": "RefId", "type": "string" }, - "ConnectSourcePhoneNumber": { - "markdownDescription": "The Amazon Connect source phone number.", - "title": "ConnectSourcePhoneNumber", + "ScoreThresholds": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold" + }, + "type": "array" + }, + "Title": { + "markdownDescription": "The title of the section.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 128.", + "title": "Title", "type": "string" }, - "RingTimeout": { - "markdownDescription": "The ring timeout configuration for outbound calls. Specifies how long to wait for the call to be answered before timing out.", - "title": "RingTimeout", + "Weight": { + "markdownDescription": "The scoring weight of the section.\n\n*Minimum* : 0\n\n*Maximum* : 100", + "title": "Weight", "type": "number" } }, "required": [ - "ConnectContactFlowId" + "RefId", + "Title" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundMode": { + "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomation": { "additionalProperties": false, "properties": { - "AgentlessConfig": { - "markdownDescription": "The agentless outbound mode configuration for telephony.", - "title": "AgentlessConfig", - "type": "object" - }, - "PredictiveConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.PredictiveConfig", - "markdownDescription": "Contains predictive outbound mode configuration.", - "title": "PredictiveConfig" + "AnswerSource": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", + "markdownDescription": "Automation answer source.", + "title": "AnswerSource" }, - "PreviewConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.PreviewConfig", - "markdownDescription": "Contains preview outbound mode configuration.", - "title": "PreviewConfig" + "DefaultOptionRefId": { + "markdownDescription": "The identifier of the default answer option, when none of the automation options match the criteria.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", + "title": "DefaultOptionRefId", + "type": "string" }, - "ProgressiveConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.ProgressiveConfig", - "markdownDescription": "Contains progressive telephony outbound mode configuration.", - "title": "ProgressiveConfig" + "Options": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomationOption" + }, + "markdownDescription": "The automation options of the single select question.\n\n*Minimum* : 1\n\n*Maximum* : 20", + "title": "Options", + "type": "array" } }, "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.TimeRange": { + "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomationOption": { "additionalProperties": false, "properties": { - "EndTime": { - "markdownDescription": "The end time of the time range.", - "title": "EndTime", - "type": "string" - }, - "StartTime": { - "markdownDescription": "The start time of the time range.", - "title": "StartTime", - "type": "string" + "RuleCategory": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.SingleSelectQuestionRuleCategoryAutomation", + "markdownDescription": "The automation option based on a rule category for the single select question.", + "title": "RuleCategory" } }, "required": [ - "EndTime", - "StartTime" + "RuleCategory" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.TimeWindow": { + "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionOption": { "additionalProperties": false, "properties": { - "OpenHours": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.OpenHours", - "markdownDescription": "The open hours configuration.", - "title": "OpenHours" + "AutomaticFail": { + "markdownDescription": "The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.", + "title": "AutomaticFail", + "type": "boolean" }, - "RestrictedPeriods": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.RestrictedPeriods", - "markdownDescription": "The restricted periods configuration.", - "title": "RestrictedPeriods" + "AutomaticFailConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutomaticFailConfiguration", + "markdownDescription": "Whether automatic fail is configured on a single select question.", + "title": "AutomaticFailConfiguration" + }, + "PointsConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration" + }, + "RefId": { + "markdownDescription": "The identifier of the answer option. An identifier must be unique within the question.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", + "title": "RefId", + "type": "string" + }, + "Score": { + "markdownDescription": "The score assigned to the answer option.\n\n*Minimum* : 0\n\n*Maximum* : 10", + "title": "Score", + "type": "number" + }, + "Text": { + "markdownDescription": "The title of the answer option.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 128.", + "title": "Text", + "type": "string" } }, "required": [ - "OpenHours" + "RefId", + "Text" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.TimeoutConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionProperties": { "additionalProperties": false, "properties": { - "DurationInSeconds": { - "markdownDescription": "Duration in seconds for the countdown timer.", - "title": "DurationInSeconds", - "type": "number" + "Automation": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomation", + "markdownDescription": "The display mode of the single select question.", + "title": "Automation" + }, + "DisplayAs": { + "markdownDescription": "The display mode of the single select question.\n\n*Allowed values* : `DROPDOWN` | `RADIO`", + "title": "DisplayAs", + "type": "string" + }, + "Options": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionOption" + }, + "markdownDescription": "The answer options of the single select question.\n\n*Minimum* : 2\n\n*Maximum* : 256", + "title": "Options", + "type": "array" } }, + "required": [ + "Options" + ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.WhatsAppChannelSubtypeConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormTargetConfiguration": { "additionalProperties": false, "properties": { - "Capacity": { - "markdownDescription": "The allocation of WhatsApp capacity between multiple running outbound campaigns.", - "title": "Capacity", + "ContactInteractionType": { + "markdownDescription": "The contact interaction type for this evaluation form.", + "title": "ContactInteractionType", + "type": "string" + } + }, + "required": [ + "ContactInteractionType" + ], + "type": "object" + }, + "AWS::Connect::EvaluationForm.EvaluationFormTextQuestionAutomation": { + "additionalProperties": false, + "properties": { + "AnswerSource": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", + "markdownDescription": "Automation answer source.", + "title": "AnswerSource" + } + }, + "type": "object" + }, + "AWS::Connect::EvaluationForm.EvaluationFormTextQuestionProperties": { + "additionalProperties": false, + "properties": { + "Automation": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormTextQuestionAutomation", + "markdownDescription": "The automation properties of the text question.", + "title": "Automation" + } + }, + "type": "object" + }, + "AWS::Connect::EvaluationForm.EvaluationReviewConfiguration": { + "additionalProperties": false, + "properties": { + "EligibilityDays": { "type": "number" }, - "DefaultOutboundConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundConfig", - "markdownDescription": "The default WhatsApp outbound configuration of an outbound campaign.", - "title": "DefaultOutboundConfig" - }, - "OutboundMode": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundMode", - "markdownDescription": "The outbound mode for WhatsApp of an outbound campaign.", - "title": "OutboundMode" + "ReviewNotificationRecipients": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipient" + }, + "type": "array" } }, "required": [ - "DefaultOutboundConfig", - "OutboundMode" + "ReviewNotificationRecipients" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundConfig": { + "AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipient": { "additionalProperties": false, "properties": { - "ConnectSourcePhoneNumberArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect source WhatsApp phone number.", - "title": "ConnectSourcePhoneNumberArn", + "Type": { "type": "string" }, - "WisdomTemplateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Q in Connect template.", - "title": "WisdomTemplateArn", - "type": "string" + "Value": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipientValue" } }, "required": [ - "ConnectSourcePhoneNumberArn", - "WisdomTemplateArn" + "Type", + "Value" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundMode": { + "AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipientValue": { "additionalProperties": false, "properties": { - "AgentlessConfig": { - "markdownDescription": "", - "title": "AgentlessConfig", - "type": "object" + "UserId": { + "type": "string" } }, "type": "object" }, - "AWS::ControlCatalog::CommonControl": { + "AWS::Connect::EvaluationForm.MultiSelectQuestionRuleCategoryAutomation": { "additionalProperties": false, "properties": { - "Condition": { + "Category": { + "markdownDescription": "The category name for this automation rule.", + "title": "Category", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Condition": { + "markdownDescription": "The condition for this automation rule.", + "title": "Condition", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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::ControlCatalog::CommonControl" - ], + "OptionRefIds": { + "items": { + "type": "string" + }, + "markdownDescription": "Reference IDs of options for this automation rule.", + "title": "OptionRefIds", + "type": "array" + } + }, + "required": [ + "Category", + "Condition", + "OptionRefIds" + ], + "type": "object" + }, + "AWS::Connect::EvaluationForm.NumericQuestionPropertyValueAutomation": { + "additionalProperties": false, + "properties": { + "Label": { + "markdownDescription": "The property label of the automation.", + "title": "Label", "type": "string" + } + }, + "required": [ + "Label" + ], + "type": "object" + }, + "AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration": { + "additionalProperties": false, + "properties": { + "IsBonus": { + "type": "boolean" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "PointValue": { + "type": "number" } }, "required": [ - "Type" + "PointValue" ], "type": "object" }, - "AWS::ControlCatalog::CommonControl.Domain": { + "AWS::Connect::EvaluationForm.QuestionPointsConfiguration": { "additionalProperties": false, "properties": { - "Arn": { + "IsBonus": { + "type": "boolean" + }, + "MaxPointValue": { + "type": "number" + }, + "MinPointValue": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Connect::EvaluationForm.ScoringStrategy": { + "additionalProperties": false, + "properties": { + "Mode": { + "markdownDescription": "The scoring mode of the evaluation form.\n\n*Allowed values* : `QUESTION_ONLY` | `SECTION_ONLY`", + "title": "Mode", "type": "string" }, - "Name": { + "ScoreThresholds": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold" + }, + "type": "array" + }, + "Status": { + "markdownDescription": "The scoring status of the evaluation form.\n\n*Allowed values* : `ENABLED` | `DISABLED`", + "title": "Status", "type": "string" } }, + "required": [ + "Mode", + "Status" + ], "type": "object" }, - "AWS::ControlCatalog::CommonControl.Objective": { + "AWS::Connect::EvaluationForm.SingleSelectQuestionRuleCategoryAutomation": { "additionalProperties": false, "properties": { - "Arn": { + "Category": { + "markdownDescription": "The category name, as defined in Rules.\n\n*Minimum* : 1\n\n*Maximum* : 50", + "title": "Category", "type": "string" }, - "Name": { + "Condition": { + "markdownDescription": "The condition to apply for the automation option. If the condition is PRESENT, then the option is applied when the contact data includes the category. Similarly, if the condition is NOT_PRESENT, then the option is applied when the contact data does not include the category.\n\n*Allowed values* : `PRESENT` | `NOT_PRESENT`\n\n*Maximum* : 50", + "title": "Condition", + "type": "string" + }, + "OptionRefId": { + "markdownDescription": "The identifier of the answer option. An identifier must be unique within the question.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", + "title": "OptionRefId", "type": "string" } }, + "required": [ + "Category", + "Condition", + "OptionRefId" + ], "type": "object" }, - "AWS::ControlCatalog::Control": { + "AWS::Connect::HoursOfOperation": { "additionalProperties": false, "properties": { "Condition": { @@ -94821,12 +94333,79 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "ChildHoursOfOperations": { + "items": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationsIdentifier" + }, + "markdownDescription": "", + "title": "ChildHoursOfOperations", + "type": "array" + }, + "Config": { + "items": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationConfig" + }, + "markdownDescription": "Configuration information for the hours of operation.", + "title": "Config", + "type": "array" + }, + "Description": { + "markdownDescription": "The description for the hours of operation.", + "title": "Description", + "type": "string" + }, + "HoursOfOperationOverrides": { + "items": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationOverride" + }, + "markdownDescription": "", + "title": "HoursOfOperationOverrides", + "type": "array" + }, + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name for the hours of operation.", + "title": "Name", + "type": "string" + }, + "ParentHoursOfOperations": { + "items": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationsIdentifier" + }, + "markdownDescription": "", + "title": "ParentHoursOfOperations", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" + }, + "TimeZone": { + "markdownDescription": "The time zone for the hours of operation.", + "title": "TimeZone", + "type": "string" + } + }, + "required": [ + "Config", + "InstanceArn", + "Name", + "TimeZone" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ControlCatalog::Control" + "AWS::Connect::HoursOfOperation" ], "type": "string" }, @@ -94840,113 +94419,232 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ControlCatalog::Control.ImplementationDetails": { + "AWS::Connect::HoursOfOperation.HoursOfOperationConfig": { "additionalProperties": false, "properties": { - "Identifier": { + "Day": { + "markdownDescription": "The day that the hours of operation applies to.", + "title": "Day", "type": "string" }, - "Type": { - "type": "string" + "EndTime": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice", + "markdownDescription": "The end time that your contact center closes.", + "title": "EndTime" + }, + "StartTime": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice", + "markdownDescription": "The start time that your contact center opens.", + "title": "StartTime" } }, "required": [ - "Type" + "Day", + "EndTime", + "StartTime" ], "type": "object" }, - "AWS::ControlCatalog::Control.RegionConfiguration": { + "AWS::Connect::HoursOfOperation.HoursOfOperationOverride": { "additionalProperties": false, "properties": { - "DeployableRegions": { + "EffectiveFrom": { + "markdownDescription": "The date from which the hours of operation override would be effective.", + "title": "EffectiveFrom", + "type": "string" + }, + "EffectiveTill": { + "markdownDescription": "The date until the hours of operation override is effective.", + "title": "EffectiveTill", + "type": "string" + }, + "HoursOfOperationOverrideId": { + "markdownDescription": "The identifier for the hours of operation override.", + "title": "HoursOfOperationOverrideId", + "type": "string" + }, + "OverrideConfig": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationOverrideConfig" }, + "markdownDescription": "", + "title": "OverrideConfig", "type": "array" }, - "Scope": { + "OverrideDescription": { + "markdownDescription": "", + "title": "OverrideDescription", + "type": "string" + }, + "OverrideName": { + "markdownDescription": "", + "title": "OverrideName", + "type": "string" + }, + "OverrideType": { + "markdownDescription": "", + "title": "OverrideType", "type": "string" + }, + "RecurrenceConfig": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.RecurrenceConfig", + "markdownDescription": "", + "title": "RecurrenceConfig" } }, "required": [ - "Scope" + "EffectiveFrom", + "EffectiveTill", + "OverrideConfig", + "OverrideName" ], "type": "object" }, - "AWS::ControlCatalog::Objective": { + "AWS::Connect::HoursOfOperation.HoursOfOperationOverrideConfig": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Day": { + "markdownDescription": "The day that the hours of operation override applies to.", + "title": "Day", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "EndTime": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.OverrideTimeSlice", + "markdownDescription": "The end time that your contact center closes if overrides are applied.", + "title": "EndTime" }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" + "StartTime": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.OverrideTimeSlice", + "markdownDescription": "The start time when your contact center opens if overrides are applied.", + "title": "StartTime" + } + }, + "required": [ + "Day", + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice": { + "additionalProperties": false, + "properties": { + "Hours": { + "markdownDescription": "The hours.", + "title": "Hours", + "type": "number" }, - "Type": { - "enum": [ - "AWS::ControlCatalog::Objective" - ], + "Minutes": { + "markdownDescription": "The minutes.", + "title": "Minutes", + "type": "number" + } + }, + "required": [ + "Hours", + "Minutes" + ], + "type": "object" + }, + "AWS::Connect::HoursOfOperation.HoursOfOperationsIdentifier": { + "additionalProperties": false, + "properties": { + "Id": { + "markdownDescription": "", + "title": "Id", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "markdownDescription": "", + "title": "Name", "type": "string" } }, "required": [ - "Type" + "Id" ], "type": "object" }, - "AWS::ControlCatalog::Objective.Domain": { + "AWS::Connect::HoursOfOperation.OverrideTimeSlice": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" + "Hours": { + "markdownDescription": "The hours.", + "title": "Hours", + "type": "number" }, - "Name": { + "Minutes": { + "markdownDescription": "The minutes.", + "title": "Minutes", + "type": "number" + } + }, + "required": [ + "Hours", + "Minutes" + ], + "type": "object" + }, + "AWS::Connect::HoursOfOperation.RecurrenceConfig": { + "additionalProperties": false, + "properties": { + "RecurrencePattern": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.RecurrencePattern", + "markdownDescription": "", + "title": "RecurrencePattern" + } + }, + "required": [ + "RecurrencePattern" + ], + "type": "object" + }, + "AWS::Connect::HoursOfOperation.RecurrencePattern": { + "additionalProperties": false, + "properties": { + "ByMonth": { + "items": { + "type": "number" + }, + "markdownDescription": "", + "title": "ByMonth", + "type": "array" + }, + "ByMonthDay": { + "items": { + "type": "number" + }, + "markdownDescription": "", + "title": "ByMonthDay", + "type": "array" + }, + "ByWeekdayOccurrence": { + "items": { + "type": "number" + }, + "markdownDescription": "", + "title": "ByWeekdayOccurrence", + "type": "array" + }, + "Frequency": { + "markdownDescription": "", + "title": "Frequency", "type": "string" + }, + "Interval": { + "markdownDescription": "", + "title": "Interval", + "type": "number" } }, "type": "object" }, - "AWS::ControlTower::EnabledBaseline": { + "AWS::Connect::Instance": { "additionalProperties": false, "properties": { "Condition": { @@ -94981,48 +94679,44 @@ "Properties": { "additionalProperties": false, "properties": { - "BaselineIdentifier": { - "markdownDescription": "The specific `Baseline` enabled as part of the `EnabledBaseline` resource.", - "title": "BaselineIdentifier", + "Attributes": { + "$ref": "#/definitions/AWS::Connect::Instance.Attributes", + "markdownDescription": "A toggle for an individual feature at the instance level.", + "title": "Attributes" + }, + "DirectoryId": { + "markdownDescription": "The identifier for the directory.", + "title": "DirectoryId", "type": "string" }, - "BaselineVersion": { - "markdownDescription": "The enabled version of the `Baseline` .", - "title": "BaselineVersion", + "IdentityManagementType": { + "markdownDescription": "The identity management type.", + "title": "IdentityManagementType", "type": "string" }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ControlTower::EnabledBaseline.Parameter" - }, - "markdownDescription": "Shows the parameters that are applied when enabling this `Baseline` .", - "title": "Parameters", - "type": "array" + "InstanceAlias": { + "markdownDescription": "The alias of instance. `InstanceAlias` is only required when `IdentityManagementType` is `CONNECT_MANAGED` or `SAML` . `InstanceAlias` is not required when `IdentityManagementType` is `EXISTING_DIRECTORY` .", + "title": "InstanceAlias", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "An array of key-value pairs to apply to this resource.", "title": "Tags", "type": "array" - }, - "TargetIdentifier": { - "markdownDescription": "The target on which to enable the `Baseline` .", - "title": "TargetIdentifier", - "type": "string" } }, "required": [ - "BaselineIdentifier", - "BaselineVersion", - "TargetIdentifier" + "Attributes", + "IdentityManagementType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ControlTower::EnabledBaseline" + "AWS::Connect::Instance" ], "type": "string" }, @@ -95041,23 +94735,80 @@ ], "type": "object" }, - "AWS::ControlTower::EnabledBaseline.Parameter": { + "AWS::Connect::Instance.Attributes": { "additionalProperties": false, "properties": { - "Key": { + "AutoResolveBestVoices": { "markdownDescription": "", - "title": "Key", - "type": "string" + "title": "AutoResolveBestVoices", + "type": "boolean" }, - "Value": { + "ContactLens": { "markdownDescription": "", - "title": "Value", - "type": "object" + "title": "ContactLens", + "type": "boolean" + }, + "ContactflowLogs": { + "markdownDescription": "", + "title": "ContactflowLogs", + "type": "boolean" + }, + "EarlyMedia": { + "markdownDescription": "", + "title": "EarlyMedia", + "type": "boolean" + }, + "EnhancedChatMonitoring": { + "markdownDescription": "", + "title": "EnhancedChatMonitoring", + "type": "boolean" + }, + "EnhancedContactMonitoring": { + "markdownDescription": "", + "title": "EnhancedContactMonitoring", + "type": "boolean" + }, + "HighVolumeOutBound": { + "markdownDescription": "", + "title": "HighVolumeOutBound", + "type": "boolean" + }, + "InboundCalls": { + "markdownDescription": "", + "title": "InboundCalls", + "type": "boolean" + }, + "MessageStreaming": { + "type": "boolean" + }, + "MultiPartyChatConference": { + "markdownDescription": "", + "title": "MultiPartyChatConference", + "type": "boolean" + }, + "MultiPartyConference": { + "markdownDescription": "", + "title": "MultiPartyConference", + "type": "boolean" + }, + "OutboundCalls": { + "markdownDescription": "", + "title": "OutboundCalls", + "type": "boolean" + }, + "UseCustomTTSVoices": { + "markdownDescription": "", + "title": "UseCustomTTSVoices", + "type": "boolean" } }, + "required": [ + "InboundCalls", + "OutboundCalls" + ], "type": "object" }, - "AWS::ControlTower::EnabledControl": { + "AWS::Connect::InstanceStorageConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -95092,42 +94843,52 @@ "Properties": { "additionalProperties": false, "properties": { - "ControlIdentifier": { - "markdownDescription": "The ARN of the control. Only *Strongly recommended* and *Elective* controls are permitted, with the exception of the *Region deny* control. For information on how to find the `controlIdentifier` , see [the overview page](https://docs.aws.amazon.com//controltower/latest/APIReference/Welcome.html) .", - "title": "ControlIdentifier", + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", "type": "string" }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ControlTower::EnabledControl.EnabledControlParameter" - }, - "markdownDescription": "Array of `EnabledControlParameter` objects.", - "title": "Parameters", - "type": "array" + "KinesisFirehoseConfig": { + "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisFirehoseConfig", + "markdownDescription": "The configuration of the Kinesis Firehose delivery stream.", + "title": "KinesisFirehoseConfig" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" + "KinesisStreamConfig": { + "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisStreamConfig", + "markdownDescription": "The configuration of the Kinesis data stream.", + "title": "KinesisStreamConfig" }, - "TargetIdentifier": { - "markdownDescription": "The ARN of the organizational unit. For information on how to find the `targetIdentifier` , see [the overview page](https://docs.aws.amazon.com//controltower/latest/APIReference/Welcome.html) .", - "title": "TargetIdentifier", + "KinesisVideoStreamConfig": { + "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisVideoStreamConfig", + "markdownDescription": "The configuration of the Kinesis video stream.", + "title": "KinesisVideoStreamConfig" + }, + "ResourceType": { + "markdownDescription": "A valid resource type. Following are the valid resource types: `CHAT_TRANSCRIPTS` | `CALL_RECORDINGS` | `SCHEDULED_REPORTS` | `MEDIA_STREAMS` | `CONTACT_TRACE_RECORDS` | `AGENT_EVENTS`", + "title": "ResourceType", + "type": "string" + }, + "S3Config": { + "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.S3Config", + "markdownDescription": "The S3 bucket configuration.", + "title": "S3Config" + }, + "StorageType": { + "markdownDescription": "A valid storage type.", + "title": "StorageType", "type": "string" } }, "required": [ - "ControlIdentifier", - "TargetIdentifier" + "InstanceArn", + "ResourceType", + "StorageType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ControlTower::EnabledControl" + "AWS::Connect::InstanceStorageConfig" ], "type": "string" }, @@ -95146,27 +94907,106 @@ ], "type": "object" }, - "AWS::ControlTower::EnabledControl.EnabledControlParameter": { + "AWS::Connect::InstanceStorageConfig.EncryptionConfig": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key of a key/value pair. It is of type `string` .", - "title": "Key", + "EncryptionType": { + "markdownDescription": "The type of encryption.", + "title": "EncryptionType", "type": "string" }, - "Value": { - "markdownDescription": "The value of a key/value pair. It can be of type `array` , `string` , `number` , `object` , or `boolean` . [Note: The *Type* field that follows may show a single type such as Number, which is only one possible type.]", - "title": "Value", - "type": "object" + "KeyId": { + "markdownDescription": "The full ARN of the encryption key.\n\n> Be sure to provide the full ARN of the encryption key, not just the ID.\n> \n> Amazon Connect supports only KMS keys with the default key spec of [`SYMMETRIC_DEFAULT`](https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-symmetric-default) .", + "title": "KeyId", + "type": "string" } }, "required": [ - "Key", - "Value" + "EncryptionType", + "KeyId" ], "type": "object" }, - "AWS::ControlTower::LandingZone": { + "AWS::Connect::InstanceStorageConfig.KinesisFirehoseConfig": { + "additionalProperties": false, + "properties": { + "FirehoseArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the delivery stream.", + "title": "FirehoseArn", + "type": "string" + } + }, + "required": [ + "FirehoseArn" + ], + "type": "object" + }, + "AWS::Connect::InstanceStorageConfig.KinesisStreamConfig": { + "additionalProperties": false, + "properties": { + "StreamArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the data stream.", + "title": "StreamArn", + "type": "string" + } + }, + "required": [ + "StreamArn" + ], + "type": "object" + }, + "AWS::Connect::InstanceStorageConfig.KinesisVideoStreamConfig": { + "additionalProperties": false, + "properties": { + "EncryptionConfig": { + "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.EncryptionConfig", + "markdownDescription": "The encryption configuration.", + "title": "EncryptionConfig" + }, + "Prefix": { + "markdownDescription": "The prefix of the video stream.", + "title": "Prefix", + "type": "string" + }, + "RetentionPeriodHours": { + "markdownDescription": "The number of hours data is retained in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream.\n\nThe default value is 0, indicating that the stream does not persist data.", + "title": "RetentionPeriodHours", + "type": "number" + } + }, + "required": [ + "EncryptionConfig", + "Prefix", + "RetentionPeriodHours" + ], + "type": "object" + }, + "AWS::Connect::InstanceStorageConfig.S3Config": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "The S3 bucket name.", + "title": "BucketName", + "type": "string" + }, + "BucketPrefix": { + "markdownDescription": "The S3 bucket prefix.", + "title": "BucketPrefix", + "type": "string" + }, + "EncryptionConfig": { + "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.EncryptionConfig", + "markdownDescription": "The Amazon S3 encryption configuration.", + "title": "EncryptionConfig" + } + }, + "required": [ + "BucketName", + "BucketPrefix" + ], + "type": "object" + }, + "AWS::Connect::IntegrationAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -95201,42 +95041,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Manifest": { - "markdownDescription": "The landing zone manifest JSON text file that specifies the landing zone configurations.", - "title": "Manifest", - "type": "object" + "InstanceId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `100`", + "title": "InstanceId", + "type": "string" }, - "RemediationTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The types of remediation actions configured for the landing zone, such as automatic drift correction or compliance enforcement.", - "title": "RemediationTypes", - "type": "array" + "IntegrationArn": { + "markdownDescription": "ARN of the integration being associated with the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `140`", + "title": "IntegrationArn", + "type": "string" + }, + "IntegrationType": { + "markdownDescription": "Specifies the integration type to be associated with the instance.\n\n*Allowed Values* : `LEX_BOT` | `LAMBDA_FUNCTION`", + "title": "IntegrationType", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Tags to be applied to the landing zone.", - "title": "Tags", "type": "array" - }, - "Version": { - "markdownDescription": "The landing zone's current deployed version.", - "title": "Version", - "type": "string" } }, "required": [ - "Manifest", - "Version" + "InstanceId", + "IntegrationArn", + "IntegrationType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ControlTower::LandingZone" + "AWS::Connect::IntegrationAssociation" ], "type": "string" }, @@ -95255,7 +95091,7 @@ ], "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition": { + "AWS::Connect::Metric": { "additionalProperties": false, "properties": { "Condition": { @@ -95290,66 +95126,46 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributeDetails": { - "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails", - "markdownDescription": "Mathematical expression and a list of attribute items specified in that expression.", - "title": "AttributeDetails" - }, - "CalculatedAttributeName": { - "markdownDescription": "The name of an attribute defined in a profile object type.", - "title": "CalculatedAttributeName", + "Description": { "type": "string" }, - "Conditions": { - "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions", - "markdownDescription": "The conditions including range, object count, and threshold for the calculated attribute.", - "title": "Conditions" - }, - "Description": { - "markdownDescription": "The description of the calculated attribute.", - "title": "Description", + "InstanceArn": { "type": "string" }, - "DisplayName": { - "markdownDescription": "The display name of the calculated attribute.", - "title": "DisplayName", + "MetricCalculation": { + "$ref": "#/definitions/AWS::Connect::Metric.MetricCalculation" + }, + "Name": { "type": "string" }, - "DomainName": { - "markdownDescription": "The unique name of the domain.", - "title": "DomainName", + "PositiveTrendIndicator": { "type": "string" }, - "Statistic": { - "markdownDescription": "The aggregation operation to perform for the calculated attribute.", - "title": "Statistic", + "Status": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", "type": "array" }, - "UseHistoricalData": { - "markdownDescription": "Whether historical data ingested before the Calculated Attribute was created should be included in calculations.", - "title": "UseHistoricalData", - "type": "boolean" + "Unit": { + "type": "string" } }, "required": [ - "AttributeDetails", - "CalculatedAttributeName", - "DomainName", - "Statistic" + "InstanceArn", + "MetricCalculation", + "Name", + "Status", + "Unit" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::CalculatedAttributeDefinition" + "AWS::Connect::Metric" ], "type": "string" }, @@ -95368,155 +95184,152 @@ ], "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails": { + "AWS::Connect::Metric.AvailableFilter": { "additionalProperties": false, "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem" - }, - "markdownDescription": "Mathematical expression and a list of attribute items specified in that expression.", - "title": "Attributes", - "type": "array" + "Id": { + "type": "string" }, - "Expression": { - "markdownDescription": "Mathematical expression that is performed on attribute items provided in the attribute list. Each element in the expression should follow the structure of \\\"{ObjectTypeName.AttributeName}\\\".", - "title": "Expression", + "Type": { "type": "string" } }, "required": [ - "Attributes", - "Expression" + "Id", + "Type" ], "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem": { + "AWS::Connect::Metric.CalculationComponent": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The unique name of the calculated attribute.", - "title": "Name", + "Alias": { + "type": "string" + }, + "MetricFilters": { + "items": { + "$ref": "#/definitions/AWS::Connect::Metric.MetricFilter" + }, + "type": "array" + }, + "MetricId": { + "type": "string" + }, + "MetricName": { "type": "string" } }, "required": [ - "Name" + "Alias" ], "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions": { + "AWS::Connect::Metric.CreatedByInfo": { "additionalProperties": false, "properties": { - "ObjectCount": { - "markdownDescription": "The number of profile objects used for the calculated attribute.", - "title": "ObjectCount", - "type": "number" - }, - "Range": { - "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Range", - "markdownDescription": "The relative time period over which data is included in the aggregation.", - "title": "Range" + "AWSIdentityArn": { + "type": "string" }, - "Threshold": { - "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold", - "markdownDescription": "The threshold for the calculated attribute.", - "title": "Threshold" + "ConnectUserArn": { + "type": "string" } }, "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition.Range": { + "AWS::Connect::Metric.MetricCalculation": { "additionalProperties": false, "properties": { - "TimestampFormat": { - "markdownDescription": "The format the timestamp field in your JSON object is specified. This value should be one of EPOCHMILLI (for Unix epoch timestamps with second/millisecond level precision) or ISO_8601 (following ISO_8601 format with second/millisecond level precision, with an optional offset of Z or in the format HH:MM or HHMM.). E.g. if your object type is MyType and source JSON is {\"generatedAt\": {\"timestamp\": \"2001-07-04T12:08:56.235-0700\"}}, then TimestampFormat should be \"ISO_8601\"", - "title": "TimestampFormat", - "type": "string" - }, - "TimestampSource": { - "markdownDescription": "An expression specifying the field in your JSON object from which the date should be parsed. The expression should follow the structure of \\\"{ObjectTypeName.}\\\". E.g. if your object type is MyType and source JSON is {\"generatedAt\": {\"timestamp\": \"1737587945945\"}}, then TimestampSource should be \"{MyType.generatedAt.timestamp}\"", - "title": "TimestampSource", - "type": "string" - }, - "Unit": { - "markdownDescription": "The unit of time.", - "title": "Unit", + "Calculation": { "type": "string" }, - "Value": { - "markdownDescription": "The amount of time of the specified unit.", - "title": "Value", - "type": "number" - }, - "ValueRange": { - "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.ValueRange", - "markdownDescription": "A structure letting customers specify a relative time window over which over which data is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint is in the past, and negative numbers to indicate it is in the future. ValueRange overrides Value.", - "title": "ValueRange" + "CalculationComponents": { + "items": { + "$ref": "#/definitions/AWS::Connect::Metric.CalculationComponent" + }, + "type": "array" } }, "required": [ - "Unit" + "Calculation", + "CalculationComponents" ], "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition.Readiness": { + "AWS::Connect::Metric.MetricFilter": { "additionalProperties": false, "properties": { - "Message": { - "markdownDescription": "Any customer messaging.", - "title": "Message", + "BooleanCondition": { + "$ref": "#/definitions/AWS::Connect::Metric.MetricFilterBooleanCondition" + }, + "MetricFilterKey": { "type": "string" }, - "ProgressPercentage": { - "markdownDescription": "Approximately how far the Calculated Attribute creation is from completion.", - "title": "ProgressPercentage", - "type": "number" - } + "Negate": { + "type": "boolean" + }, + "NumberCondition": { + "$ref": "#/definitions/AWS::Connect::Metric.MetricFilterNumberCondition" + }, + "StringCondition": { + "$ref": "#/definitions/AWS::Connect::Metric.MetricFilterStringCondition" + } }, + "required": [ + "MetricFilterKey" + ], "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold": { + "AWS::Connect::Metric.MetricFilterBooleanCondition": { "additionalProperties": false, "properties": { - "Operator": { - "markdownDescription": "The operator of the threshold.", - "title": "Operator", + "Comparison": { "type": "string" - }, - "Value": { - "markdownDescription": "The value of the threshold.", - "title": "Value", + } + }, + "required": [ + "Comparison" + ], + "type": "object" + }, + "AWS::Connect::Metric.MetricFilterNumberCondition": { + "additionalProperties": false, + "properties": { + "Comparison": { "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" } }, "required": [ - "Operator", - "Value" + "Comparison", + "Values" ], "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition.ValueRange": { + "AWS::Connect::Metric.MetricFilterStringCondition": { "additionalProperties": false, "properties": { - "End": { - "markdownDescription": "The ending point for this overridden range. Positive numbers indicate how many days in the past data should be included, and negative numbers indicate how many days in the future.", - "title": "End", - "type": "number" + "Comparison": { + "type": "string" }, - "Start": { - "markdownDescription": "The starting point for this overridden range. Positive numbers indicate how many days in the past data should be included, and negative numbers indicate how many days in the future.", - "title": "Start", - "type": "number" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "End", - "Start" + "Comparison", + "Values" ], "type": "object" }, - "AWS::CustomerProfiles::Domain": { + "AWS::Connect::Notification": { "additionalProperties": false, "properties": { "Condition": { @@ -95551,59 +95364,40 @@ "Properties": { "additionalProperties": false, "properties": { - "DataStore": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.DataStore", - "markdownDescription": "", - "title": "DataStore" + "Content": { + "$ref": "#/definitions/AWS::Connect::Notification.NotificationContent" }, - "DeadLetterQueueUrl": { - "markdownDescription": "The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications. You must set up a policy on the `DeadLetterQueue` for the `SendMessage` operation to enable Amazon Connect Customer Profiles to send messages to the `DeadLetterQueue` .", - "title": "DeadLetterQueueUrl", + "ExpiresAt": { "type": "string" }, - "DefaultEncryptionKey": { - "markdownDescription": "The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.", - "title": "DefaultEncryptionKey", + "InstanceArn": { "type": "string" }, - "DefaultExpirationDays": { - "markdownDescription": "The default number of days until the data within the domain expires.", - "title": "DefaultExpirationDays", - "type": "number" - }, - "DomainName": { - "markdownDescription": "The unique name of the domain.", - "title": "DomainName", + "Priority": { "type": "string" }, - "Matching": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.Matching", - "markdownDescription": "The process of matching duplicate profiles.", - "title": "Matching" - }, - "RuleBasedMatching": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.RuleBasedMatching", - "markdownDescription": "The process of matching duplicate profiles using Rule-Based matching.", - "title": "RuleBasedMatching" + "Recipients": { + "items": { + "type": "string" + }, + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "DefaultExpirationDays", - "DomainName" + "Content", + "InstanceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::Domain" + "AWS::Connect::Notification" ], "type": "string" }, @@ -95622,313 +95416,267 @@ ], "type": "object" }, - "AWS::CustomerProfiles::Domain.AttributeTypesSelector": { + "AWS::Connect::Notification.NotificationContent": { "additionalProperties": false, "properties": { - "Address": { - "items": { - "type": "string" - }, - "markdownDescription": "The `Address` type. You can choose from `Address` , `BusinessAddress` , `MaillingAddress` , and `ShippingAddress` . You only can use the `Address` type in the `MatchingRule` . For example, if you want to match a profile based on `BusinessAddress.City` or `MaillingAddress.City` , you can choose the `BusinessAddress` and the `MaillingAddress` to represent the `Address` type and specify the `Address.City` on the matching rule.", - "title": "Address", - "type": "array" + "DeDE": { + "type": "string" }, - "AttributeMatchingModel": { - "markdownDescription": "Configures the `AttributeMatchingModel` , you can either choose `ONE_TO_ONE` or `MANY_TO_MANY` .", - "title": "AttributeMatchingModel", + "EnUS": { "type": "string" }, - "EmailAddress": { - "items": { - "type": "string" - }, - "markdownDescription": "The Email type. You can choose from `EmailAddress` , `BusinessEmailAddress` and `PersonalEmailAddress` . You only can use the `EmailAddress` type in the `MatchingRule` . For example, if you want to match profile based on `PersonalEmailAddress` or `BusinessEmailAddress` , you can choose the `PersonalEmailAddress` and the `BusinessEmailAddress` to represent the `EmailAddress` type and only specify the `EmailAddress` on the matching rule.", - "title": "EmailAddress", - "type": "array" + "EsES": { + "type": "string" }, - "PhoneNumber": { - "items": { - "type": "string" - }, - "markdownDescription": "The `PhoneNumber` type. You can choose from `PhoneNumber` , `HomePhoneNumber` , and `MobilePhoneNumber` . You only can use the `PhoneNumber` type in the `MatchingRule` . For example, if you want to match a profile based on `Phone` or `HomePhone` , you can choose the `Phone` and the `HomePhone` to represent the `PhoneNumber` type and only specify the `PhoneNumber` on the matching rule.", - "title": "PhoneNumber", - "type": "array" - } - }, - "required": [ - "AttributeMatchingModel" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Domain.AutoMerging": { - "additionalProperties": false, - "properties": { - "ConflictResolution": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ConflictResolution", - "markdownDescription": "Determines how the auto-merging process should resolve conflicts between different profiles. For example, if Profile A and Profile B have the same `FirstName` and `LastName` , `ConflictResolution` specifies which `EmailAddress` should be used.", - "title": "ConflictResolution" + "FrFR": { + "type": "string" }, - "Consolidation": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.Consolidation", - "markdownDescription": "A list of matching attributes that represent matching criteria. If two profiles meet at least one of the requirements in the matching attributes list, they will be merged.", - "title": "Consolidation" + "IdID": { + "type": "string" }, - "Enabled": { - "markdownDescription": "The flag that enables the auto-merging of duplicate profiles.", - "title": "Enabled", - "type": "boolean" + "ItIT": { + "type": "string" }, - "MinAllowedConfidenceScoreForMerging": { - "markdownDescription": "A number between 0 and 1 that represents the minimum confidence score required for profiles within a matching group to be merged during the auto-merge process. A higher score means that a higher similarity is required to merge profiles.", - "title": "MinAllowedConfidenceScoreForMerging", - "type": "number" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Domain.ConflictResolution": { - "additionalProperties": false, - "properties": { - "ConflictResolvingModel": { - "markdownDescription": "How the auto-merging process should resolve conflicts between different profiles.", - "title": "ConflictResolvingModel", + "JaJP": { "type": "string" }, - "SourceName": { - "markdownDescription": "The `ObjectType` name that is used to resolve profile merging conflicts when choosing `SOURCE` as the `ConflictResolvingModel` .", - "title": "SourceName", + "KoKR": { "type": "string" - } - }, - "required": [ - "ConflictResolvingModel" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Domain.Consolidation": { - "additionalProperties": false, - "properties": { - "MatchingAttributesList": { - "markdownDescription": "A list of matching criteria.", - "title": "MatchingAttributesList", - "type": "object" - } - }, - "required": [ - "MatchingAttributesList" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Domain.DataStore": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "", - "title": "Enabled", - "type": "boolean" }, - "Readiness": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.Readiness", - "markdownDescription": "", - "title": "Readiness" + "PtBR": { + "type": "string" + }, + "ZhCN": { + "type": "string" + }, + "ZhTW": { + "type": "string" } }, "type": "object" }, - "AWS::CustomerProfiles::Domain.DomainStats": { + "AWS::Connect::PhoneNumber": { "additionalProperties": false, "properties": { - "MeteringProfileCount": { - "markdownDescription": "The number of profiles that you are currently paying for in the domain. If you have more than 100 objects associated with a single profile, that profile counts as two profiles. If you have more than 200 objects, that profile counts as three, and so on.", - "title": "MeteringProfileCount", - "type": "number" + "Condition": { + "type": "string" }, - "ObjectCount": { - "markdownDescription": "The total number of objects in domain.", - "title": "ObjectCount", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ProfileCount": { - "markdownDescription": "The total number of profiles currently in the domain.", - "title": "ProfileCount", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TotalSize": { - "markdownDescription": "The total size, in bytes, of all objects in the domain.", - "title": "TotalSize", - "type": "number" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Domain.ExportingConfig": { - "additionalProperties": false, - "properties": { - "S3Exporting": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.S3ExportingConfig", - "markdownDescription": "", - "title": "S3Exporting" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Domain.JobSchedule": { - "additionalProperties": false, - "properties": { - "DayOfTheWeek": { - "markdownDescription": "The day when the Identity Resolution Job should run every week.", - "title": "DayOfTheWeek", + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CountryCode": { + "markdownDescription": "The ISO country code.", + "title": "CountryCode", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the phone number.", + "title": "Description", + "type": "string" + }, + "Prefix": { + "markdownDescription": "The prefix of the phone number. If provided, it must contain `+` as part of the country code.\n\n*Pattern* : `^\\\\+[0-9]{1,15}`", + "title": "Prefix", + "type": "string" + }, + "SourcePhoneNumberArn": { + "markdownDescription": "The claimed phone number ARN that was previously imported from the external service, such as AWS End User Messaging. If it is from AWS End User Messaging, it looks like the ARN of the phone number that was imported from AWS End User Messaging.", + "title": "SourcePhoneNumberArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" + }, + "TargetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for Connect Customer instances or traffic distribution group that phone numbers are claimed to.", + "title": "TargetArn", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of phone number.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "TargetArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::PhoneNumber" + ], "type": "string" }, - "Time": { - "markdownDescription": "The time when the Identity Resolution Job should run every week.", - "title": "Time", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DayOfTheWeek", - "Time" + "Type", + "Properties" ], "type": "object" }, - "AWS::CustomerProfiles::Domain.Matching": { + "AWS::Connect::PredefinedAttribute": { "additionalProperties": false, "properties": { - "AutoMerging": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.AutoMerging", - "markdownDescription": "Configuration information about the auto-merging process.", - "title": "AutoMerging" + "Condition": { + "type": "string" }, - "Enabled": { - "markdownDescription": "The flag that enables the matching process of duplicate profiles.", - "title": "Enabled", - "type": "boolean" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ExportingConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ExportingConfig", - "markdownDescription": "The S3 location where Identity Resolution Jobs write result files.", - "title": "ExportingConfig" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "JobSchedule": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.JobSchedule", - "markdownDescription": "The day and time when do you want to start the Identity Resolution Job every week.", - "title": "JobSchedule" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Domain.MatchingRule": { - "additionalProperties": false, - "properties": { - "Rule": { - "items": { - "type": "string" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeConfiguration": { + "$ref": "#/definitions/AWS::Connect::PredefinedAttribute.AttributeConfiguration", + "markdownDescription": "Custom metadata that is associated to predefined attributes to control behavior in upstream services, such as controlling how a predefined attribute should be displayed in the Amazon Connect admin website.", + "title": "AttributeConfiguration" + }, + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the predefined attribute.", + "title": "Name", + "type": "string" + }, + "Purposes": { + "items": { + "type": "string" + }, + "markdownDescription": "Values that enable you to categorize your predefined attributes. You can use them in custom UI elements across the Amazon Connect admin website.", + "title": "Purposes", + "type": "array" + }, + "Values": { + "$ref": "#/definitions/AWS::Connect::PredefinedAttribute.Values", + "markdownDescription": "The values of a predefined attribute.", + "title": "Values" + } }, - "markdownDescription": "A single rule level of the `MatchRules` . Configures how the rule-based matching process should match profiles.", - "title": "Rule", - "type": "array" + "required": [ + "InstanceArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::PredefinedAttribute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Rule" + "Type", + "Properties" ], "type": "object" }, - "AWS::CustomerProfiles::Domain.Readiness": { + "AWS::Connect::PredefinedAttribute.AttributeConfiguration": { "additionalProperties": false, "properties": { - "Message": { + "EnableValueValidationOnAssociation": { "markdownDescription": "", - "title": "Message", - "type": "string" + "title": "EnableValueValidationOnAssociation", + "type": "boolean" }, - "ProgressPercentage": { + "IsReadOnly": { "markdownDescription": "", - "title": "ProgressPercentage", - "type": "number" + "title": "IsReadOnly", + "type": "boolean" } }, "type": "object" }, - "AWS::CustomerProfiles::Domain.RuleBasedMatching": { + "AWS::Connect::PredefinedAttribute.Values": { "additionalProperties": false, "properties": { - "AttributeTypesSelector": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.AttributeTypesSelector", - "markdownDescription": "Configures information about the `AttributeTypesSelector` where the rule-based identity resolution uses to match profiles.", - "title": "AttributeTypesSelector" - }, - "ConflictResolution": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ConflictResolution", - "markdownDescription": "Determines how the auto-merging process should resolve conflicts between different profiles. For example, if Profile A and Profile B have the same `FirstName` and `LastName` , `ConflictResolution` specifies which `EmailAddress` should be used.", - "title": "ConflictResolution" - }, - "Enabled": { - "markdownDescription": "The flag that enables the matching process of duplicate profiles.", - "title": "Enabled", - "type": "boolean" - }, - "ExportingConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ExportingConfig", - "markdownDescription": "The S3 location where Identity Resolution Jobs write result files.", - "title": "ExportingConfig" - }, - "MatchingRules": { + "StringList": { "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.MatchingRule" + "type": "string" }, - "markdownDescription": "Configures how the rule-based matching process should match profiles. You can have up to 15 `MatchingRule` in the `MatchingRules` .", - "title": "MatchingRules", + "markdownDescription": "Predefined attribute values of type string list.", + "title": "StringList", "type": "array" - }, - "MaxAllowedRuleLevelForMatching": { - "markdownDescription": "Indicates the maximum allowed rule level for matching.", - "title": "MaxAllowedRuleLevelForMatching", - "type": "number" - }, - "MaxAllowedRuleLevelForMerging": { - "markdownDescription": "Indicates the maximum allowed rule level for merging.", - "title": "MaxAllowedRuleLevelForMerging", - "type": "number" - }, - "Status": { - "markdownDescription": "The status of rule-based matching rule.", - "title": "Status", - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Domain.S3ExportingConfig": { - "additionalProperties": false, - "properties": { - "S3BucketName": { - "markdownDescription": "The name of the S3 bucket where Identity Resolution Jobs write result files.", - "title": "S3BucketName", - "type": "string" - }, - "S3KeyName": { - "markdownDescription": "The S3 key name of the location where Identity Resolution Jobs write result files.", - "title": "S3KeyName", - "type": "string" } }, - "required": [ - "S3BucketName" - ], "type": "object" }, - "AWS::CustomerProfiles::DomainObjectType": { + "AWS::Connect::Prompt": { "additionalProperties": false, "properties": { "Condition": { @@ -95964,43 +95712,43 @@ "additionalProperties": false, "properties": { "Description": { + "markdownDescription": "The description of the prompt.", + "title": "Description", "type": "string" }, - "DomainName": { + "InstanceArn": { + "markdownDescription": "The identifier of the Connect Customer instance.", + "title": "InstanceArn", "type": "string" }, - "EncryptionKey": { + "Name": { + "markdownDescription": "The name of the prompt.", + "title": "Name", "type": "string" }, - "Fields": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::CustomerProfiles::DomainObjectType.DomainObjectTypeField" - } - }, - "type": "object" - }, - "ObjectTypeName": { + "S3Uri": { + "markdownDescription": "The URI for the S3 bucket where the prompt is stored. This property is required when you create a prompt.", + "title": "S3Uri", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", "type": "array" } }, "required": [ - "DomainName", - "Fields", - "ObjectTypeName" + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::DomainObjectType" + "AWS::Connect::Prompt" ], "type": "string" }, @@ -96019,29 +95767,7 @@ ], "type": "object" }, - "AWS::CustomerProfiles::DomainObjectType.DomainObjectTypeField": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "FeatureType": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Source", - "Target" - ], - "type": "object" - }, - "AWS::CustomerProfiles::EventStream": { + "AWS::Connect::Queue": { "additionalProperties": false, "properties": { "Condition": { @@ -96076,40 +95802,79 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "markdownDescription": "The unique name of the domain.", - "title": "DomainName", + "AdditionalEmailAddresses": { + "items": { + "$ref": "#/definitions/AWS::Connect::Queue.EmailAddress" + }, + "type": "array" + }, + "Description": { + "markdownDescription": "The description of the queue.", + "title": "Description", "type": "string" }, - "EventStreamName": { - "markdownDescription": "The name of the event stream.", - "title": "EventStreamName", + "HoursOfOperationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the hours of operation.", + "title": "HoursOfOperationArn", + "type": "string" + }, + "InstanceArn": { + "markdownDescription": "The identifier of the Connect Customer instance.", + "title": "InstanceArn", + "type": "string" + }, + "MaxContacts": { + "markdownDescription": "The maximum number of contacts that can be in the queue before it is considered full.", + "title": "MaxContacts", + "type": "number" + }, + "Name": { + "markdownDescription": "The name of the queue.", + "title": "Name", + "type": "string" + }, + "OutboundCallerConfig": { + "$ref": "#/definitions/AWS::Connect::Queue.OutboundCallerConfig", + "markdownDescription": "The outbound caller ID name, number, and outbound whisper flow.", + "title": "OutboundCallerConfig" + }, + "OutboundEmailConfig": { + "$ref": "#/definitions/AWS::Connect::Queue.OutboundEmailConfig", + "markdownDescription": "The outbound email address ID for a specified queue.", + "title": "OutboundEmailConfig" + }, + "QuickConnectArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARN) of the of the quick connects available to agents who are working the queue.", + "title": "QuickConnectArns", + "type": "array" + }, + "Status": { + "markdownDescription": "The status of the queue.", + "title": "Status", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource.", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "title": "Tags", "type": "array" - }, - "Uri": { - "markdownDescription": "The StreamARN of the destination to deliver profile events to. For example, arn:aws:kinesis:region:account-id:stream/stream-name.", - "title": "Uri", - "type": "string" } }, "required": [ - "DomainName", - "EventStreamName", - "Uri" + "HoursOfOperationArn", + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::EventStream" + "AWS::Connect::Queue" ], "type": "string" }, @@ -96128,27 +95893,51 @@ ], "type": "object" }, - "AWS::CustomerProfiles::EventStream.DestinationDetails": { + "AWS::Connect::Queue.EmailAddress": { "additionalProperties": false, "properties": { - "Status": { - "markdownDescription": "The status of enabling the Kinesis stream as a destination for export.", - "title": "Status", - "type": "string" - }, - "Uri": { - "markdownDescription": "The StreamARN of the destination to deliver profile events to. For example, arn:aws:kinesis:region:account-id:stream/stream-name.", - "title": "Uri", + "EmailAddressArn": { "type": "string" } }, "required": [ - "Status", - "Uri" + "EmailAddressArn" ], "type": "object" }, - "AWS::CustomerProfiles::EventTrigger": { + "AWS::Connect::Queue.OutboundCallerConfig": { + "additionalProperties": false, + "properties": { + "OutboundCallerIdName": { + "markdownDescription": "The caller ID name.", + "title": "OutboundCallerIdName", + "type": "string" + }, + "OutboundCallerIdNumberArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the outbound caller ID number.\n\n> Only use the phone number ARN format that doesn't contain `instance` in the path, for example, `arn:aws:connect:us-east-1:1234567890:phone-number/uuid` . This is the same ARN format that is returned when you create a phone number using CloudFormation , or when you call the [ListPhoneNumbersV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_ListPhoneNumbersV2.html) API.", + "title": "OutboundCallerIdNumberArn", + "type": "string" + }, + "OutboundFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the outbound flow.", + "title": "OutboundFlowArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Connect::Queue.OutboundEmailConfig": { + "additionalProperties": false, + "properties": { + "OutboundEmailAddressId": { + "markdownDescription": "The identifier of the email address.", + "title": "OutboundEmailAddressId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Connect::QuickConnect": { "additionalProperties": false, "properties": { "Condition": { @@ -96184,63 +95973,44 @@ "additionalProperties": false, "properties": { "Description": { - "markdownDescription": "The description of the event trigger.", + "markdownDescription": "The description of the quick connect.", "title": "Description", "type": "string" }, - "DomainName": { - "markdownDescription": "The unique name of the domain.", - "title": "DomainName", - "type": "string" - }, - "EventTriggerConditions": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.EventTriggerCondition" - }, - "markdownDescription": "A list of conditions that determine when an event should trigger the destination.", - "title": "EventTriggerConditions", - "type": "array" - }, - "EventTriggerLimits": { - "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.EventTriggerLimits", - "markdownDescription": "Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.", - "title": "EventTriggerLimits" - }, - "EventTriggerName": { - "markdownDescription": "The unique name of the event trigger.", - "title": "EventTriggerName", + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", "type": "string" }, - "ObjectTypeName": { - "markdownDescription": "The unique name of the object type.", - "title": "ObjectTypeName", + "Name": { + "markdownDescription": "The name of the quick connect.", + "title": "Name", "type": "string" }, - "SegmentFilter": { - "markdownDescription": "The destination is triggered only for profiles that meet the criteria of a segment definition.", - "title": "SegmentFilter", - "type": "string" + "QuickConnectConfig": { + "$ref": "#/definitions/AWS::Connect::QuickConnect.QuickConnectConfig", + "markdownDescription": "Contains information about the quick connect.", + "title": "QuickConnectConfig" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "title": "Tags", "type": "array" } }, "required": [ - "DomainName", - "EventTriggerConditions", - "EventTriggerName", - "ObjectTypeName" + "InstanceArn", + "Name", + "QuickConnectConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::EventTrigger" + "AWS::Connect::QuickConnect" ], "type": "string" }, @@ -96259,129 +96029,105 @@ ], "type": "object" }, - "AWS::CustomerProfiles::EventTrigger.EventTriggerCondition": { + "AWS::Connect::QuickConnect.FlowQuickConnectConfig": { "additionalProperties": false, "properties": { - "EventTriggerDimensions": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.EventTriggerDimension" - }, - "markdownDescription": "A list of dimensions to be evaluated for the event.", - "title": "EventTriggerDimensions", - "type": "array" - }, - "LogicalOperator": { - "markdownDescription": "The operator used to combine multiple dimensions.", - "title": "LogicalOperator", + "ContactFlowArn": { "type": "string" } }, "required": [ - "EventTriggerDimensions", - "LogicalOperator" + "ContactFlowArn" ], "type": "object" }, - "AWS::CustomerProfiles::EventTrigger.EventTriggerDimension": { + "AWS::Connect::QuickConnect.PhoneNumberQuickConnectConfig": { "additionalProperties": false, "properties": { - "ObjectAttributes": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.ObjectAttribute" - }, - "markdownDescription": "A list of object attributes to be evaluated.", - "title": "ObjectAttributes", - "type": "array" + "PhoneNumber": { + "markdownDescription": "The phone number in E.164 format.", + "title": "PhoneNumber", + "type": "string" } }, "required": [ - "ObjectAttributes" + "PhoneNumber" ], "type": "object" }, - "AWS::CustomerProfiles::EventTrigger.EventTriggerLimits": { + "AWS::Connect::QuickConnect.QueueQuickConnectConfig": { "additionalProperties": false, "properties": { - "EventExpiration": { - "markdownDescription": "Specifies that an event will only trigger the destination if it is processed within a certain latency period.", - "title": "EventExpiration", - "type": "number" + "ContactFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", + "title": "ContactFlowArn", + "type": "string" }, - "Periods": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.Period" - }, - "markdownDescription": "A list of time periods during which the limits apply.", - "title": "Periods", - "type": "array" + "QueueArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the queue.", + "title": "QueueArn", + "type": "string" } }, + "required": [ + "ContactFlowArn", + "QueueArn" + ], "type": "object" }, - "AWS::CustomerProfiles::EventTrigger.ObjectAttribute": { + "AWS::Connect::QuickConnect.QuickConnectConfig": { "additionalProperties": false, "properties": { - "ComparisonOperator": { - "markdownDescription": "The operator used to compare an attribute against a list of values.", - "title": "ComparisonOperator", - "type": "string" + "FlowConfig": { + "$ref": "#/definitions/AWS::Connect::QuickConnect.FlowQuickConnectConfig" }, - "FieldName": { - "markdownDescription": "A field defined within an object type.", - "title": "FieldName", - "type": "string" + "PhoneConfig": { + "$ref": "#/definitions/AWS::Connect::QuickConnect.PhoneNumberQuickConnectConfig", + "markdownDescription": "The phone configuration. This is required only if QuickConnectType is PHONE_NUMBER.", + "title": "PhoneConfig" }, - "Source": { - "markdownDescription": "An attribute contained within a source object.", - "title": "Source", + "QueueConfig": { + "$ref": "#/definitions/AWS::Connect::QuickConnect.QueueQuickConnectConfig", + "markdownDescription": "The queue configuration. This is required only if QuickConnectType is QUEUE.", + "title": "QueueConfig" + }, + "QuickConnectType": { + "markdownDescription": "The type of quick connect. In the Connect Customer console, when you create a quick connect, you are prompted to assign one of the following types: Agent (USER), External (PHONE_NUMBER), or Queue (QUEUE).", + "title": "QuickConnectType", "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The amount of time of the specified unit.", - "title": "Values", - "type": "array" + "UserConfig": { + "$ref": "#/definitions/AWS::Connect::QuickConnect.UserQuickConnectConfig", + "markdownDescription": "The user configuration. This is required only if QuickConnectType is USER.", + "title": "UserConfig" } }, "required": [ - "ComparisonOperator", - "Values" + "QuickConnectType" ], "type": "object" }, - "AWS::CustomerProfiles::EventTrigger.Period": { + "AWS::Connect::QuickConnect.UserQuickConnectConfig": { "additionalProperties": false, "properties": { - "MaxInvocationsPerProfile": { - "markdownDescription": "The maximum allowed number of destination invocations per profile.", - "title": "MaxInvocationsPerProfile", - "type": "number" - }, - "Unit": { - "markdownDescription": "The unit of time.", - "title": "Unit", + "ContactFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", + "title": "ContactFlowArn", "type": "string" }, - "Unlimited": { - "markdownDescription": "If set to true, there is no limit on the number of destination invocations per profile. The default is false.", - "title": "Unlimited", - "type": "boolean" - }, - "Value": { - "markdownDescription": "The amount of time of the specified unit.", - "title": "Value", - "type": "number" + "UserArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the user.", + "title": "UserArn", + "type": "string" } }, "required": [ - "Unit", - "Value" + "ContactFlowArn", + "UserArn" ], "type": "object" }, - "AWS::CustomerProfiles::Integration": { + "AWS::Connect::RoutingProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -96416,62 +96162,76 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "markdownDescription": "The unique name of the domain.", - "title": "DomainName", + "AgentAvailabilityTimer": { + "markdownDescription": "Whether agents with this routing profile will have their routing order calculated based on *time since their last inbound contact* or *longest idle time* .", + "title": "AgentAvailabilityTimer", "type": "string" }, - "EventTriggerNames": { + "DefaultOutboundQueueArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the default outbound queue for the routing profile.", + "title": "DefaultOutboundQueueArn", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the routing profile.", + "title": "Description", + "type": "string" + }, + "InstanceArn": { + "markdownDescription": "The identifier of the Connect Customer instance.", + "title": "InstanceArn", + "type": "string" + }, + "ManualAssignmentQueueConfigs": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileManualAssignmentQueueConfig" }, - "markdownDescription": "A list of unique names for active event triggers associated with the integration.", - "title": "EventTriggerNames", + "markdownDescription": "Contains information about the queue and channel for manual assignment behaviour can be enabled.", + "title": "ManualAssignmentQueueConfigs", "type": "array" }, - "FlowDefinition": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.FlowDefinition", - "markdownDescription": "The configuration that controls how Customer Profiles retrieves data from the source.", - "title": "FlowDefinition" + "MediaConcurrencies": { + "items": { + "$ref": "#/definitions/AWS::Connect::RoutingProfile.MediaConcurrency" + }, + "markdownDescription": "The channels agents can handle in the Contact Control Panel (CCP) for this routing profile.", + "title": "MediaConcurrencies", + "type": "array" }, - "ObjectTypeName": { - "markdownDescription": "The name of the profile object type mapping to use.", - "title": "ObjectTypeName", + "Name": { + "markdownDescription": "The name of the routing profile.", + "title": "Name", "type": "string" }, - "ObjectTypeNames": { + "QueueConfigs": { "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ObjectTypeMapping" + "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileQueueConfig" }, - "markdownDescription": "The object type mapping.", - "title": "ObjectTypeNames", + "markdownDescription": "The inbound queues associated with the routing profile. If no queue is added, the agent can make only outbound calls.", + "title": "QueueConfigs", "type": "array" }, - "Scope": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource.", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "title": "Tags", "type": "array" - }, - "Uri": { - "markdownDescription": "The URI of the S3 bucket or any other type of data source.", - "title": "Uri", - "type": "string" } }, "required": [ - "DomainName" + "DefaultOutboundQueueArn", + "Description", + "InstanceArn", + "MediaConcurrencies", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::Integration" + "AWS::Connect::RoutingProfile" ], "type": "string" }, @@ -96490,396 +96250,595 @@ ], "type": "object" }, - "AWS::CustomerProfiles::Integration.ConnectorOperator": { + "AWS::Connect::RoutingProfile.CrossChannelBehavior": { "additionalProperties": false, "properties": { - "Marketo": { - "markdownDescription": "The operation to be performed on the provided Marketo source fields.", - "title": "Marketo", - "type": "string" - }, - "S3": { - "markdownDescription": "The operation to be performed on the provided Amazon S3 source fields.", - "title": "S3", - "type": "string" - }, - "Salesforce": { - "markdownDescription": "The operation to be performed on the provided Salesforce source fields.", - "title": "Salesforce", - "type": "string" - }, - "ServiceNow": { - "markdownDescription": "The operation to be performed on the provided ServiceNow source fields.", - "title": "ServiceNow", - "type": "string" - }, - "Zendesk": { - "markdownDescription": "The operation to be performed on the provided Zendesk source fields.", - "title": "Zendesk", + "BehaviorType": { + "markdownDescription": "Specifies the other channels that can be routed to an agent handling their current channel.", + "title": "BehaviorType", "type": "string" } }, + "required": [ + "BehaviorType" + ], "type": "object" }, - "AWS::CustomerProfiles::Integration.FlowDefinition": { + "AWS::Connect::RoutingProfile.MediaConcurrency": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description of the flow you want to create.", - "title": "Description", + "Channel": { + "markdownDescription": "The channels that agents can handle in the Contact Control Panel (CCP).", + "title": "Channel", "type": "string" }, - "FlowName": { - "markdownDescription": "The specified name of the flow. Use underscores (_) or hyphens (-) only. Spaces are not allowed.", - "title": "FlowName", - "type": "string" - }, - "KmsArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key you provide for encryption.", - "title": "KmsArn", - "type": "string" - }, - "SourceFlowConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceFlowConfig", - "markdownDescription": "The configuration that controls how Customer Profiles retrieves data from the source.", - "title": "SourceFlowConfig" - }, - "Tasks": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.Task" - }, - "markdownDescription": "A list of tasks that Customer Profiles performs while transferring the data in the flow run.", - "title": "Tasks", - "type": "array" + "Concurrency": { + "markdownDescription": "The number of contacts an agent can have on a channel simultaneously.\n\nValid Range for `VOICE` : Minimum value of 1. Maximum value of 1.\n\nValid Range for `CHAT` : Minimum value of 1. Maximum value of 10.\n\nValid Range for `TASK` : Minimum value of 1. Maximum value of 10.", + "title": "Concurrency", + "type": "number" }, - "TriggerConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerConfig", - "markdownDescription": "The trigger settings that determine how and when the flow runs.", - "title": "TriggerConfig" + "CrossChannelBehavior": { + "$ref": "#/definitions/AWS::Connect::RoutingProfile.CrossChannelBehavior", + "markdownDescription": "Defines the cross-channel routing behavior for each channel that is enabled for this Routing Profile. For example, this allows you to offer an agent a different contact from another channel when they are currently working with a contact from a Voice channel.", + "title": "CrossChannelBehavior" } }, "required": [ - "FlowName", - "KmsArn", - "SourceFlowConfig", - "Tasks", - "TriggerConfig" + "Channel", + "Concurrency" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.IncrementalPullConfig": { + "AWS::Connect::RoutingProfile.RoutingProfileManualAssignmentQueueConfig": { "additionalProperties": false, "properties": { - "DatetimeTypeFieldName": { - "markdownDescription": "A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source.", - "title": "DatetimeTypeFieldName", - "type": "string" + "QueueReference": { + "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileQueueReference", + "markdownDescription": "Contains information about a queue resource.", + "title": "QueueReference" } }, + "required": [ + "QueueReference" + ], "type": "object" }, - "AWS::CustomerProfiles::Integration.MarketoSourceProperties": { + "AWS::Connect::RoutingProfile.RoutingProfileQueueConfig": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Marketo flow source.", - "title": "Object", - "type": "string" + "Delay": { + "markdownDescription": "The delay, in seconds, a contact should be in the queue before they are routed to an available agent. For more information, see [Queues: priority and delay](https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html) in the *Amazon Connect Administrator Guide* .", + "title": "Delay", + "type": "number" + }, + "Priority": { + "markdownDescription": "The order in which contacts are to be handled for the queue. For more information, see [Queues: priority and delay](https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html) .", + "title": "Priority", + "type": "number" + }, + "QueueReference": { + "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileQueueReference", + "markdownDescription": "Contains information about a queue resource.", + "title": "QueueReference" } }, "required": [ - "Object" + "Delay", + "Priority", + "QueueReference" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.ObjectTypeMapping": { + "AWS::Connect::RoutingProfile.RoutingProfileQueueReference": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key.", - "title": "Key", + "Channel": { + "markdownDescription": "The channels agents can handle in the Contact Control Panel (CCP) for this routing profile.", + "title": "Channel", "type": "string" }, - "Value": { - "markdownDescription": "The value.", - "title": "Value", + "QueueArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the queue.", + "title": "QueueArn", "type": "string" } }, "required": [ - "Key", - "Value" + "Channel", + "QueueArn" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.S3SourceProperties": { + "AWS::Connect::Rule": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The Amazon S3 bucket name where the source files are stored.", - "title": "BucketName", + "Condition": { "type": "string" }, - "BucketPrefix": { - "markdownDescription": "The object key for the Amazon S3 bucket in which the source files are stored.", - "title": "BucketPrefix", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Connect::Rule.Actions", + "markdownDescription": "A list of actions to be run when the rule is triggered.", + "title": "Actions" + }, + "Function": { + "markdownDescription": "The conditions of the rule.", + "title": "Function", + "type": "string" + }, + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the rule.", + "title": "Name", + "type": "string" + }, + "PublishStatus": { + "markdownDescription": "The publish status of the rule.\n\n*Allowed values* : `DRAFT` | `PUBLISHED`", + "title": "PublishStatus", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" + }, + "TriggerEventSource": { + "$ref": "#/definitions/AWS::Connect::Rule.RuleTriggerEventSource", + "markdownDescription": "The event source to trigger the rule.", + "title": "TriggerEventSource" + } + }, + "required": [ + "Actions", + "Function", + "InstanceArn", + "Name", + "PublishStatus", + "TriggerEventSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::Rule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "BucketName" + "Type", + "Properties" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.SalesforceSourceProperties": { + "AWS::Connect::Rule.Actions": { "additionalProperties": false, "properties": { - "EnableDynamicFieldUpdate": { - "markdownDescription": "The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.", - "title": "EnableDynamicFieldUpdate", - "type": "boolean" + "AssignContactCategoryActions": { + "items": { + "type": "object" + }, + "markdownDescription": "Information about the contact category action. The syntax can be empty, for example, `{}` .", + "title": "AssignContactCategoryActions", + "type": "array" }, - "IncludeDeletedRecords": { - "markdownDescription": "Indicates whether Amazon AppFlow includes deleted files in the flow run.", - "title": "IncludeDeletedRecords", - "type": "boolean" + "AssignSlaActions": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.AssignSlaAction" + }, + "type": "array" }, - "Object": { - "markdownDescription": "The object specified in the Salesforce flow source.", - "title": "Object", + "CreateCaseActions": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.CreateCaseAction" + }, + "markdownDescription": "", + "title": "CreateCaseActions", + "type": "array" + }, + "EndAssociatedTasksActions": { + "items": { + "type": "object" + }, + "markdownDescription": "", + "title": "EndAssociatedTasksActions", + "type": "array" + }, + "EventBridgeActions": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.EventBridgeAction" + }, + "markdownDescription": "Information about the EventBridge action.", + "title": "EventBridgeActions", + "type": "array" + }, + "SendNotificationActions": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.SendNotificationAction" + }, + "markdownDescription": "Information about the send notification action.", + "title": "SendNotificationActions", + "type": "array" + }, + "SubmitAutoEvaluationActions": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.SubmitAutoEvaluationAction" + }, + "markdownDescription": "", + "title": "SubmitAutoEvaluationActions", + "type": "array" + }, + "TaskActions": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.TaskAction" + }, + "markdownDescription": "Information about the task action. This field is required if `TriggerEventSource` is one of the following values: `OnZendeskTicketCreate` | `OnZendeskTicketStatusUpdate` | `OnSalesforceCaseCreate`", + "title": "TaskActions", + "type": "array" + }, + "UpdateCaseActions": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.UpdateCaseAction" + }, + "markdownDescription": "", + "title": "UpdateCaseActions", + "type": "array" + } + }, + "type": "object" + }, + "AWS::Connect::Rule.AssignSlaAction": { + "additionalProperties": false, + "properties": { + "CaseSlaConfiguration": { + "$ref": "#/definitions/AWS::Connect::Rule.CaseSlaConfiguration" + }, + "SlaAssignmentType": { "type": "string" } }, "required": [ - "Object" + "CaseSlaConfiguration", + "SlaAssignmentType" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.ScheduledTriggerProperties": { + "AWS::Connect::Rule.CaseSlaConfiguration": { "additionalProperties": false, "properties": { - "DataPullMode": { - "markdownDescription": "Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run.", - "title": "DataPullMode", + "FieldId": { "type": "string" }, - "FirstExecutionFrom": { - "markdownDescription": "Specifies the date range for the records to import from the connector in the first flow run.", - "title": "FirstExecutionFrom", - "type": "number" - }, - "ScheduleEndTime": { - "markdownDescription": "Specifies the scheduled end time for a scheduled-trigger flow.", - "title": "ScheduleEndTime", - "type": "number" - }, - "ScheduleExpression": { - "markdownDescription": "The scheduling expression that determines the rate at which the schedule will run, for example rate (5 minutes).", - "title": "ScheduleExpression", + "Name": { "type": "string" }, - "ScheduleOffset": { - "markdownDescription": "Specifies the optional offset that is added to the time interval for a schedule-triggered flow.", - "title": "ScheduleOffset", - "type": "number" + "TargetFieldValues": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.SlaTargetFieldValue" + }, + "type": "array" }, - "ScheduleStartTime": { - "markdownDescription": "Specifies the scheduled start time for a scheduled-trigger flow. The value must be a date/time value in EPOCH format.", - "title": "ScheduleStartTime", + "TargetSlaMinutes": { "type": "number" }, - "Timezone": { - "markdownDescription": "Specifies the time zone used when referring to the date and time of a scheduled-triggered flow, such as America/New_York.", - "title": "Timezone", + "Type": { "type": "string" } }, "required": [ - "ScheduleExpression" + "Name", + "TargetSlaMinutes", + "Type" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.ServiceNowSourceProperties": { + "AWS::Connect::Rule.CreateCaseAction": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the ServiceNow flow source.", - "title": "Object", + "Fields": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.Field" + }, + "markdownDescription": "", + "title": "Fields", + "type": "array" + }, + "TemplateId": { + "markdownDescription": "", + "title": "TemplateId", "type": "string" } }, "required": [ - "Object" + "Fields", + "TemplateId" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.SourceConnectorProperties": { + "AWS::Connect::Rule.EventBridgeAction": { "additionalProperties": false, "properties": { - "Marketo": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.MarketoSourceProperties", - "markdownDescription": "The properties that are applied when Marketo is being used as a source.", - "title": "Marketo" - }, - "S3": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.S3SourceProperties", - "markdownDescription": "The properties that are applied when Amazon S3 is being used as the flow source.", - "title": "S3" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SalesforceSourceProperties", - "markdownDescription": "The properties that are applied when Salesforce is being used as a source.", - "title": "Salesforce" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ServiceNowSourceProperties", - "markdownDescription": "The properties that are applied when ServiceNow is being used as a source.", - "title": "ServiceNow" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ZendeskSourceProperties", - "markdownDescription": "The properties that are applied when using Zendesk as a flow source.", - "title": "Zendesk" + "Name": { + "markdownDescription": "The name.", + "title": "Name", + "type": "string" } }, + "required": [ + "Name" + ], "type": "object" }, - "AWS::CustomerProfiles::Integration.SourceFlowConfig": { + "AWS::Connect::Rule.Field": { "additionalProperties": false, "properties": { - "ConnectorProfileName": { - "markdownDescription": "The name of the Amazon AppFlow connector profile. This name must be unique for each connector profile in the AWS account .", - "title": "ConnectorProfileName", - "type": "string" - }, - "ConnectorType": { - "markdownDescription": "The type of connector, such as Salesforce, Marketo, and so on.", - "title": "ConnectorType", + "Id": { + "markdownDescription": "", + "title": "Id", "type": "string" }, - "IncrementalPullConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.IncrementalPullConfig", - "markdownDescription": "Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.", - "title": "IncrementalPullConfig" - }, - "SourceConnectorProperties": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceConnectorProperties", - "markdownDescription": "Specifies the information that is required to query a particular source connector.", - "title": "SourceConnectorProperties" + "Value": { + "$ref": "#/definitions/AWS::Connect::Rule.FieldValue", + "markdownDescription": "", + "title": "Value" } }, "required": [ - "ConnectorType", - "SourceConnectorProperties" + "Id", + "Value" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.Task": { + "AWS::Connect::Rule.FieldValue": { "additionalProperties": false, "properties": { - "ConnectorOperator": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ConnectorOperator", - "markdownDescription": "The operation to be performed on the provided source fields.", - "title": "ConnectorOperator" + "BooleanValue": { + "markdownDescription": "", + "title": "BooleanValue", + "type": "boolean" }, - "DestinationField": { - "markdownDescription": "A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.", - "title": "DestinationField", - "type": "string" + "DoubleValue": { + "markdownDescription": "", + "title": "DoubleValue", + "type": "number" }, - "SourceFields": { + "EmptyValue": { + "markdownDescription": "", + "title": "EmptyValue", + "type": "object" + }, + "StringValue": { + "markdownDescription": "", + "title": "StringValue", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Connect::Rule.NotificationRecipientType": { + "additionalProperties": false, + "properties": { + "UserArns": { "items": { "type": "string" }, - "markdownDescription": "The source fields to which a particular task is applied.", - "title": "SourceFields", + "markdownDescription": "The Amazon Resource Name (ARN) of the user account.", + "title": "UserArns", "type": "array" }, - "TaskProperties": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TaskPropertiesMap" + "UserTags": { + "additionalProperties": true, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }. Connect Customer users with the specified tags will be notified.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "A map used to store task-related information. The service looks for particular information based on the TaskType.", - "title": "TaskProperties", - "type": "array" + "title": "UserTags", + "type": "object" + } + }, + "type": "object" + }, + "AWS::Connect::Rule.Reference": { + "additionalProperties": false, + "properties": { + "Type": { + "markdownDescription": "The type of the reference. `DATE` must be of type Epoch timestamp.\n\n*Allowed values* : `URL` | `ATTACHMENT` | `NUMBER` | `STRING` | `DATE` | `EMAIL`", + "title": "Type", + "type": "string" }, - "TaskType": { - "markdownDescription": "Specifies the particular task implementation that Amazon AppFlow performs.", - "title": "TaskType", + "Value": { + "markdownDescription": "A valid value for the reference. For example, for a URL reference, a formatted URL that is displayed to an agent in the Contact Control Panel (CCP).", + "title": "Value", "type": "string" } }, "required": [ - "SourceFields", - "TaskType" + "Type", + "Value" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.TaskPropertiesMap": { + "AWS::Connect::Rule.RuleTriggerEventSource": { "additionalProperties": false, "properties": { - "OperatorPropertyKey": { - "markdownDescription": "The task property key.", - "title": "OperatorPropertyKey", + "EventSourceName": { + "markdownDescription": "The name of the event source.", + "title": "EventSourceName", "type": "string" }, - "Property": { - "markdownDescription": "The task property value.", - "title": "Property", + "IntegrationAssociationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the integration association. `IntegrationAssociationArn` is required if `TriggerEventSource` is one of the following values: `OnZendeskTicketCreate` | `OnZendeskTicketStatusUpdate` | `OnSalesforceCaseCreate`", + "title": "IntegrationAssociationArn", "type": "string" } }, "required": [ - "OperatorPropertyKey", - "Property" + "EventSourceName" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.TriggerConfig": { + "AWS::Connect::Rule.SendNotificationAction": { "additionalProperties": false, "properties": { - "TriggerProperties": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerProperties", - "markdownDescription": "Specifies the configuration details of a schedule-triggered flow that you define. Currently, these settings only apply to the Scheduled trigger type.", - "title": "TriggerProperties" + "Content": { + "markdownDescription": "Notification content. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", + "title": "Content", + "type": "string" }, - "TriggerType": { - "markdownDescription": "Specifies the type of flow trigger. It can be OnDemand, Scheduled, or Event.", - "title": "TriggerType", + "ContentType": { + "markdownDescription": "Content type format.\n\n*Allowed value* : `PLAIN_TEXT`", + "title": "ContentType", + "type": "string" + }, + "DeliveryMethod": { + "markdownDescription": "Notification delivery method.\n\n*Allowed value* : `EMAIL`", + "title": "DeliveryMethod", + "type": "string" + }, + "Exclusion": { + "$ref": "#/definitions/AWS::Connect::Rule.NotificationRecipientType" + }, + "Recipient": { + "$ref": "#/definitions/AWS::Connect::Rule.NotificationRecipientType", + "markdownDescription": "Notification recipient.", + "title": "Recipient" + }, + "Subject": { + "markdownDescription": "The subject of the email if the delivery method is `EMAIL` . Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", + "title": "Subject", "type": "string" } }, "required": [ - "TriggerType" + "Content", + "ContentType", + "DeliveryMethod", + "Recipient" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.TriggerProperties": { + "AWS::Connect::Rule.SlaTargetFieldValue": { "additionalProperties": false, "properties": { - "Scheduled": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ScheduledTriggerProperties", - "markdownDescription": "Specifies the configuration details of a schedule-triggered flow that you define.", - "title": "Scheduled" + "StringValue": { + "type": "string" } }, "type": "object" }, - "AWS::CustomerProfiles::Integration.ZendeskSourceProperties": { + "AWS::Connect::Rule.SubmitAutoEvaluationAction": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Zendesk flow source.", - "title": "Object", + "EvaluationFormArn": { + "markdownDescription": "", + "title": "EvaluationFormArn", "type": "string" } }, "required": [ - "Object" + "EvaluationFormArn" ], "type": "object" }, - "AWS::CustomerProfiles::ObjectType": { + "AWS::Connect::Rule.TaskAction": { + "additionalProperties": false, + "properties": { + "ContactFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", + "title": "ContactFlowArn", + "type": "string" + }, + "Description": { + "markdownDescription": "The description. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "The name. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", + "title": "Name", + "type": "string" + }, + "References": { + "additionalProperties": false, + "markdownDescription": "Information about the reference when the `referenceType` is `URL` . Otherwise, null. `URL` is the only accepted type. (Supports variable injection in the `Value` field.)", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Connect::Rule.Reference" + } + }, + "title": "References", + "type": "object" + } + }, + "required": [ + "ContactFlowArn", + "Name" + ], + "type": "object" + }, + "AWS::Connect::Rule.UpdateCaseAction": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.Field" + }, + "markdownDescription": "", + "title": "Fields", + "type": "array" + } + }, + "required": [ + "Fields" + ], + "type": "object" + }, + "AWS::Connect::SecurityKey": { "additionalProperties": false, "properties": { "Condition": { @@ -96914,89 +96873,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowProfileCreation": { - "markdownDescription": "Indicates whether a profile should be created when data is received if one doesn\u2019t exist for an object of this type. The default is `FALSE` . If the AllowProfileCreation flag is set to `FALSE` , then the service tries to fetch a standard profile and associate this object with the profile. If it is set to `TRUE` , and if no match is found, then the service creates a new standard profile.", - "title": "AllowProfileCreation", - "type": "boolean" - }, - "Description": { - "markdownDescription": "The description of the profile object type mapping.", - "title": "Description", - "type": "string" - }, - "DomainName": { - "markdownDescription": "The unique name of the domain.", - "title": "DomainName", - "type": "string" - }, - "EncryptionKey": { - "markdownDescription": "The customer-provided key to encrypt the profile object that will be created in this profile object type mapping. If not specified the system will use the encryption key of the domain.", - "title": "EncryptionKey", - "type": "string" - }, - "ExpirationDays": { - "markdownDescription": "The number of days until the data of this type expires.", - "title": "ExpirationDays", - "type": "number" - }, - "Fields": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.FieldMap" - }, - "markdownDescription": "A list of field definitions for the object type mapping.", - "title": "Fields", - "type": "array" - }, - "Keys": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.KeyMap" - }, - "markdownDescription": "A list of keys that can be used to map data to the profile or search for the profile.", - "title": "Keys", - "type": "array" - }, - "MaxProfileObjectCount": { - "markdownDescription": "The amount of profile object max count assigned to the object type.", - "title": "MaxProfileObjectCount", - "type": "number" - }, - "ObjectTypeName": { - "markdownDescription": "The name of the profile object type.", - "title": "ObjectTypeName", - "type": "string" - }, - "SourceLastUpdatedTimestampFormat": { - "markdownDescription": "The format of your sourceLastUpdatedTimestamp that was previously set up.", - "title": "SourceLastUpdatedTimestampFormat", + "InstanceId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `100`", + "title": "InstanceId", "type": "string" }, - "SourcePriority": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for this resource.", - "title": "Tags", - "type": "array" - }, - "TemplateId": { - "markdownDescription": "A unique identifier for the template mapping. This can be used instead of specifying the Keys and Fields properties directly.", - "title": "TemplateId", + "Key": { + "markdownDescription": "A valid security key in PEM format. For example:\n\n`\"-----BEGIN PUBLIC KEY-----\\ [a lot of characters] ----END PUBLIC KEY-----\"`\n\n*Minimum* : `1`\n\n*Maximum* : `1024`", + "title": "Key", "type": "string" } }, "required": [ - "Description", - "DomainName", - "ObjectTypeName" + "InstanceId", + "Key" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::ObjectType" + "AWS::Connect::SecurityKey" ], "type": "string" }, @@ -97015,85 +96911,7 @@ ], "type": "object" }, - "AWS::CustomerProfiles::ObjectType.FieldMap": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "Name of the field.", - "title": "Name", - "type": "string" - }, - "ObjectTypeField": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeField", - "markdownDescription": "Represents a field in a ProfileObjectType.", - "title": "ObjectTypeField" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.KeyMap": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "Name of the key.", - "title": "Name", - "type": "string" - }, - "ObjectTypeKeyList": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeKey" - }, - "markdownDescription": "A list of ObjectTypeKey.", - "title": "ObjectTypeKeyList", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.ObjectTypeField": { - "additionalProperties": false, - "properties": { - "ContentType": { - "markdownDescription": "The content type of the field. Used for determining equality when searching.", - "title": "ContentType", - "type": "string" - }, - "Source": { - "markdownDescription": "A field of a ProfileObject. For example: _source.FirstName, where \u201c_source\u201d is a ProfileObjectType of a Zendesk user and \u201cFirstName\u201d is a field in that ObjectType.", - "title": "Source", - "type": "string" - }, - "Target": { - "markdownDescription": "The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.", - "title": "Target", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.ObjectTypeKey": { - "additionalProperties": false, - "properties": { - "FieldNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The reference for the key name of the fields map.", - "title": "FieldNames", - "type": "array" - }, - "StandardIdentifiers": { - "items": { - "type": "string" - }, - "markdownDescription": "The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE means that this key can be used to tie an object to a PROFILE. UNIQUE means that it can be used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the profile does not already exist before the object is ingested, otherwise it is only used for matching objects to profiles.", - "title": "StandardIdentifiers", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Recommender": { + "AWS::Connect::SecurityProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -97128,38 +96946,95 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AllowedAccessControlHierarchyGroupId": { + "markdownDescription": "The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.", + "title": "AllowedAccessControlHierarchyGroupId", "type": "string" }, - "DomainName": { + "AllowedAccessControlTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The list of tags that a security profile uses to restrict access to resources in Amazon Connect.", + "title": "AllowedAccessControlTags", + "type": "array" + }, + "AllowedFlowModules": { + "items": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.FlowModule" + }, + "type": "array" + }, + "Applications": { + "items": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.Application" + }, + "markdownDescription": "", + "title": "Applications", + "type": "array" + }, + "Description": { + "markdownDescription": "The description of the security profile.", + "title": "Description", "type": "string" }, - "RecommenderConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.RecommenderConfig" + "GranularAccessControlConfiguration": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.GranularAccessControlConfiguration", + "markdownDescription": "The granular access control configuration for the security profile, including data table permissions.", + "title": "GranularAccessControlConfiguration" }, - "RecommenderName": { + "HierarchyRestrictedResources": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: `User` .", + "title": "HierarchyRestrictedResources", + "type": "array" + }, + "InstanceArn": { + "markdownDescription": "The identifier of the Connect Customer instance.", + "title": "InstanceArn", "type": "string" }, - "RecommenderRecipeName": { + "Permissions": { + "items": { + "type": "string" + }, + "markdownDescription": "Permissions assigned to the security profile. For a list of valid permissions, see [List of security profile permissions](https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-list.html) .", + "title": "Permissions", + "type": "array" + }, + "SecurityProfileName": { + "markdownDescription": "The name for the security profile.", + "title": "SecurityProfileName", "type": "string" }, + "TagRestrictedResources": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of resources that a security profile applies tag restrictions to in Amazon Connect.", + "title": "TagRestrictedResources", + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", "type": "array" } }, "required": [ - "DomainName", - "RecommenderName", - "RecommenderRecipeName" + "InstanceArn", + "SecurityProfileName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::Recommender" + "AWS::Connect::SecurityProfile" ], "type": "string" }, @@ -97178,103 +97053,101 @@ ], "type": "object" }, - "AWS::CustomerProfiles::Recommender.EventParameters": { + "AWS::Connect::SecurityProfile.Application": { "additionalProperties": false, "properties": { - "EventType": { + "ApplicationPermissions": { + "items": { + "type": "string" + }, + "markdownDescription": "The permissions that the agent is granted on the application. For third-party applications, only the `ACCESS` permission is supported. For MCP Servers, the permissions are tool Identifiers accepted by MCP Server.", + "title": "ApplicationPermissions", + "type": "array" + }, + "Namespace": { + "markdownDescription": "Namespace of the application that you want to give access to.", + "title": "Namespace", "type": "string" }, - "EventValueThreshold": { - "type": "number" + "Type": { + "type": "string" } }, - "required": [ - "EventType" - ], "type": "object" }, - "AWS::CustomerProfiles::Recommender.EventsConfig": { + "AWS::Connect::SecurityProfile.DataTableAccessControlConfiguration": { "additionalProperties": false, "properties": { - "EventParametersList": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.EventParameters" - }, - "type": "array" + "PrimaryAttributeAccessControlConfiguration": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.PrimaryAttributeAccessControlConfigurationItem", + "markdownDescription": "The configuration's primary attribute access control configuration.", + "title": "PrimaryAttributeAccessControlConfiguration" } }, - "required": [ - "EventParametersList" - ], "type": "object" }, - "AWS::CustomerProfiles::Recommender.Metrics": { + "AWS::Connect::SecurityProfile.FlowModule": { "additionalProperties": false, "properties": { - "coverage": { - "type": "number" - }, - "freshness": { - "type": "number" - }, - "hit": { - "type": "number" - }, - "popularity": { - "type": "number" - }, - "recall": { - "type": "number" + "FlowModuleId": { + "type": "string" }, - "similarity": { - "type": "number" + "Type": { + "type": "string" } }, "type": "object" }, - "AWS::CustomerProfiles::Recommender.RecommenderConfig": { + "AWS::Connect::SecurityProfile.GranularAccessControlConfiguration": { "additionalProperties": false, "properties": { - "EventsConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.EventsConfig" + "DataTableAccessControlConfiguration": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.DataTableAccessControlConfiguration", + "markdownDescription": "The access control configuration for data tables.", + "title": "DataTableAccessControlConfiguration" } }, "type": "object" }, - "AWS::CustomerProfiles::Recommender.RecommenderUpdate": { + "AWS::Connect::SecurityProfile.PrimaryAttributeAccessControlConfigurationItem": { "additionalProperties": false, "properties": { - "CreationDateTime": { - "type": "string" - }, - "FailureReason": { - "type": "string" - }, - "LastUpdatedDateTime": { - "type": "string" - }, - "RecommenderConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.RecommenderConfig" - }, - "Status": { - "type": "string" + "PrimaryAttributeValues": { + "items": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.PrimaryAttributeValue" + }, + "markdownDescription": "The item's primary attribute values.", + "title": "PrimaryAttributeValues", + "type": "array" } }, "type": "object" }, - "AWS::CustomerProfiles::Recommender.TrainingMetrics": { + "AWS::Connect::SecurityProfile.PrimaryAttributeValue": { "additionalProperties": false, "properties": { - "Metrics": { - "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.Metrics" + "AccessType": { + "markdownDescription": "The value's access type.", + "title": "AccessType", + "type": "string" }, - "Time": { + "AttributeName": { + "markdownDescription": "The value's attribute name.", + "title": "AttributeName", "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The value's values.", + "title": "Values", + "type": "array" } }, "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition": { + "AWS::Connect::TaskTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -97309,58 +97182,79 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the segment definition.", - "title": "Description", - "type": "string" - }, - "DisplayName": { - "markdownDescription": "Display name of the segment definition.", - "title": "DisplayName", + "ClientToken": { + "markdownDescription": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "title": "ClientToken", "type": "string" }, - "DomainName": { - "markdownDescription": "The name of the domain.", - "title": "DomainName", - "type": "string" + "Constraints": { + "$ref": "#/definitions/AWS::Connect::TaskTemplate.Constraints", + "markdownDescription": "Constraints that are applicable to the fields listed.\n\nThe values can be represented in either JSON or YAML format. For an example of the JSON configuration, see *Examples* at the bottom of this page.", + "title": "Constraints" }, - "SegmentDefinitionName": { - "markdownDescription": "Name of the segment definition.", - "title": "SegmentDefinitionName", + "ContactFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the flow that runs by default when a task is created by referencing this template. `ContactFlowArn` is not required when there is a field with `fieldType` = `QUICK_CONNECT` .", + "title": "ContactFlowArn", "type": "string" }, - "SegmentGroups": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SegmentGroup", - "markdownDescription": "Contains all groups of the segment definition.", - "title": "SegmentGroups" - }, - "SegmentSort": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SegmentSort" + "Defaults": { + "items": { + "$ref": "#/definitions/AWS::Connect::TaskTemplate.DefaultFieldValue" + }, + "markdownDescription": "The default values for fields when a task is created by referencing this template.", + "title": "Defaults", + "type": "array" }, - "SegmentSqlQuery": { - "markdownDescription": "", - "title": "SegmentSqlQuery", + "Description": { + "markdownDescription": "The description of the task template.", + "title": "Description", "type": "string" }, - "Tags": { + "Fields": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Connect::TaskTemplate.Field" }, - "markdownDescription": "The tags belonging to the segment definition.", - "title": "Tags", + "markdownDescription": "Fields that are part of the template. A template requires at least one field that has type `Name` .", + "title": "Fields", "type": "array" - } - }, - "required": [ - "DisplayName", - "DomainName", - "SegmentDefinitionName" + }, + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Connect Customer instance.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the task template.", + "title": "Name", + "type": "string" + }, + "SelfAssignContactFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", + "title": "SelfAssignContactFlowArn", + "type": "string" + }, + "Status": { + "markdownDescription": "The status of the task template.", + "title": "Status", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for this resource.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "InstanceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::SegmentDefinition" + "AWS::Connect::TaskTemplate" ], "type": "string" }, @@ -97379,465 +97273,146 @@ ], "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.AddressDimension": { - "additionalProperties": false, - "properties": { - "City": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "The city belonging to the address.", - "title": "City" - }, - "Country": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "The country belonging to the address.", - "title": "Country" - }, - "County": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "The county belonging to the address.", - "title": "County" - }, - "PostalCode": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "The postal code belonging to the address.", - "title": "PostalCode" - }, - "Province": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "The province belonging to the address.", - "title": "Province" - }, - "State": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "The state belonging to the address.", - "title": "State" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.AttributeDimension": { + "AWS::Connect::TaskTemplate.Constraints": { "additionalProperties": false, "properties": { - "DimensionType": { - "markdownDescription": "The action to segment with.", - "title": "DimensionType", - "type": "string" - }, - "Values": { + "InvisibleFields": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Connect::TaskTemplate.InvisibleFieldInfo" }, - "markdownDescription": "The values to apply the DimensionType on.", - "title": "Values", + "markdownDescription": "Lists the fields that are invisible to agents.", + "title": "InvisibleFields", "type": "array" - } - }, - "required": [ - "DimensionType", - "Values" - ], - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.CalculatedAttributeDimension": { - "additionalProperties": false, - "properties": { - "ConditionOverrides": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ConditionOverrides", - "markdownDescription": "Applies the given condition over the initial Calculated Attribute's definition.", - "title": "ConditionOverrides" - }, - "DimensionType": { - "markdownDescription": "The action to segment with.", - "title": "DimensionType", - "type": "string" }, - "Values": { + "ReadOnlyFields": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Connect::TaskTemplate.ReadOnlyFieldInfo" }, - "markdownDescription": "The values to apply the DimensionType with.", - "title": "Values", + "markdownDescription": "Lists the fields that are read-only to agents, and cannot be edited.", + "title": "ReadOnlyFields", "type": "array" - } - }, - "required": [ - "DimensionType", - "Values" - ], - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.ConditionOverrides": { - "additionalProperties": false, - "properties": { - "Range": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.RangeOverride", - "markdownDescription": "The relative time period over which data is included in the aggregation for this override.", - "title": "Range" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.DateDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { - "markdownDescription": "The action to segment on.", - "title": "DimensionType", - "type": "string" }, - "Values": { + "RequiredFields": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Connect::TaskTemplate.RequiredFieldInfo" }, - "markdownDescription": "The values to apply the DimensionType on.", - "title": "Values", + "markdownDescription": "Lists the fields that are required to be filled by agents.", + "title": "RequiredFields", "type": "array" } }, - "required": [ - "DimensionType", - "Values" - ], - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.Dimension": { - "additionalProperties": false, - "properties": { - "CalculatedAttributes": { - "additionalProperties": false, - "markdownDescription": "Object that holds the calculated attributes to segment on.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.CalculatedAttributeDimension" - } - }, - "title": "CalculatedAttributes", - "type": "object" - }, - "ProfileAttributes": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileAttributes", - "markdownDescription": "Object that holds the profile attributes to segment on.", - "title": "ProfileAttributes" - } - }, "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.ExtraLengthValueProfileDimension": { + "AWS::Connect::TaskTemplate.DefaultFieldValue": { "additionalProperties": false, "properties": { - "DimensionType": { - "markdownDescription": "The action to segment with.", - "title": "DimensionType", + "DefaultValue": { + "markdownDescription": "Default value for the field.", + "title": "DefaultValue", "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The values to apply the DimensionType on.", - "title": "Values", - "type": "array" + "Id": { + "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", + "markdownDescription": "Identifier of a field.", + "title": "Id" } }, "required": [ - "DimensionType", - "Values" + "DefaultValue", + "Id" ], "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.Group": { + "AWS::Connect::TaskTemplate.Field": { "additionalProperties": false, "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.Dimension" - }, - "markdownDescription": "Defines the attributes to segment on.", - "title": "Dimensions", - "type": "array" + "Description": { + "markdownDescription": "The description of the field.", + "title": "Description", + "type": "string" }, - "SourceSegments": { + "Id": { + "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", + "markdownDescription": "The unique identifier for the field.", + "title": "Id" + }, + "SingleSelectOptions": { "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SourceSegment" + "type": "string" }, - "markdownDescription": "Defines the starting source of data.", - "title": "SourceSegments", + "markdownDescription": "A list of options for a single select field.", + "title": "SingleSelectOptions", "type": "array" }, - "SourceType": { - "markdownDescription": "Defines how to interact with the source data.", - "title": "SourceType", - "type": "string" - }, "Type": { - "markdownDescription": "Defines how to interact with the profiles found in the current filtering.", + "markdownDescription": "Indicates the type of field. Following are the valid field types: `NAME` `DESCRIPTION` | `SCHEDULED_TIME` | `QUICK_CONNECT` | `URL` | `NUMBER` | `TEXT` | `TEXT_AREA` | `DATE_TIME` | `BOOLEAN` | `SINGLE_SELECT` | `EMAIL`", "title": "Type", "type": "string" } }, - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.ProfileAttributes": { - "additionalProperties": false, - "properties": { - "AccountNumber": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within account number.", - "title": "AccountNumber" - }, - "AdditionalInformation": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ExtraLengthValueProfileDimension", - "markdownDescription": "A field to describe values to segment on within additional information.", - "title": "AdditionalInformation" - }, - "Address": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", - "markdownDescription": "A field to describe values to segment on within address.", - "title": "Address" - }, - "Attributes": { - "additionalProperties": false, - "markdownDescription": "A field to describe values to segment on within attributes.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AttributeDimension" - } - }, - "title": "Attributes", - "type": "object" - }, - "BillingAddress": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", - "markdownDescription": "A field to describe values to segment on within billing address.", - "title": "BillingAddress" - }, - "BirthDate": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.DateDimension", - "markdownDescription": "A field to describe values to segment on within birthDate.", - "title": "BirthDate" - }, - "BusinessEmailAddress": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within business email address.", - "title": "BusinessEmailAddress" - }, - "BusinessName": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within business name.", - "title": "BusinessName" - }, - "BusinessPhoneNumber": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within business phone number.", - "title": "BusinessPhoneNumber" - }, - "EmailAddress": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within email address.", - "title": "EmailAddress" - }, - "FirstName": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within first name.", - "title": "FirstName" - }, - "GenderString": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within genderString.", - "title": "GenderString" - }, - "HomePhoneNumber": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within home phone number.", - "title": "HomePhoneNumber" - }, - "LastName": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within last name.", - "title": "LastName" - }, - "MailingAddress": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", - "markdownDescription": "A field to describe values to segment on within mailing address.", - "title": "MailingAddress" - }, - "MiddleName": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within middle name.", - "title": "MiddleName" - }, - "MobilePhoneNumber": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within mobile phone number.", - "title": "MobilePhoneNumber" - }, - "PartyTypeString": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within partyTypeString.", - "title": "PartyTypeString" - }, - "PersonalEmailAddress": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within personal email address.", - "title": "PersonalEmailAddress" - }, - "PhoneNumber": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within phone number.", - "title": "PhoneNumber" - }, - "ProfileType": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileTypeDimension", - "markdownDescription": "The type of profile.", - "title": "ProfileType" - }, - "ShippingAddress": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", - "markdownDescription": "A field to describe values to segment on within shipping address.", - "title": "ShippingAddress" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.ProfileDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { - "markdownDescription": "The action to segment on.", - "title": "DimensionType", - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Values", - "type": "array" - } - }, "required": [ - "DimensionType", - "Values" + "Id", + "Type" ], "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.ProfileTypeDimension": { + "AWS::Connect::TaskTemplate.FieldIdentifier": { "additionalProperties": false, "properties": { - "DimensionType": { - "markdownDescription": "The action to segment on.", - "title": "DimensionType", + "Name": { + "markdownDescription": "The name of the task template field.", + "title": "Name", "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The values to apply the DimensionType on.", - "title": "Values", - "type": "array" } }, "required": [ - "DimensionType", - "Values" + "Name" ], "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.RangeOverride": { + "AWS::Connect::TaskTemplate.InvisibleFieldInfo": { "additionalProperties": false, "properties": { - "End": { - "markdownDescription": "The end time of when to include objects.", - "title": "End", - "type": "number" - }, - "Start": { - "markdownDescription": "The start time of when to include objects.", - "title": "Start", - "type": "number" - }, - "Unit": { - "markdownDescription": "The unit for start and end.", - "title": "Unit", - "type": "string" + "Id": { + "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", + "markdownDescription": "Identifier of the invisible field.", + "title": "Id" } }, "required": [ - "Start", - "Unit" + "Id" ], "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.SegmentGroup": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.Group" - }, - "markdownDescription": "Holds the list of groups within the segment definition.", - "title": "Groups", - "type": "array" - }, - "Include": { - "markdownDescription": "Defines whether to include or exclude the profiles that fit the segment criteria.", - "title": "Include", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.SegmentSort": { + "AWS::Connect::TaskTemplate.ReadOnlyFieldInfo": { "additionalProperties": false, "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SortAttribute" - }, - "type": "array" + "Id": { + "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", + "markdownDescription": "Identifier of the read-only field.", + "title": "Id" } }, "required": [ - "Attributes" + "Id" ], "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.SortAttribute": { + "AWS::Connect::TaskTemplate.RequiredFieldInfo": { "additionalProperties": false, "properties": { - "DataType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Order": { - "type": "string" - }, - "Type": { - "type": "string" + "Id": { + "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", + "markdownDescription": "The unique identifier for the field.", + "title": "Id" } }, "required": [ - "Name", - "Order" + "Id" ], "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.SourceSegment": { - "additionalProperties": false, - "properties": { - "SegmentDefinitionName": { - "markdownDescription": "The name of the source segment.", - "title": "SegmentDefinitionName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DAX::Cluster": { + "AWS::Connect::TestCase": { "additionalProperties": false, "properties": { "Condition": { @@ -97872,98 +97447,44 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "markdownDescription": "The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or updated. If provided, the length of this list must equal the `ReplicationFactor` parameter. If you omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability.", - "title": "AvailabilityZones", - "type": "array" - }, - "ClusterEndpointEncryptionType": { - "markdownDescription": "The encryption type of the cluster's endpoint. Available values are:\n\n- `NONE` - The cluster's endpoint will be unencrypted.\n- `TLS` - The cluster's endpoint will be encrypted with Transport Layer Security, and will provide an x509 certificate for authentication.\n\nThe default value is `NONE` .", - "title": "ClusterEndpointEncryptionType", - "type": "string" - }, - "ClusterName": { - "markdownDescription": "The name of the DAX cluster.", - "title": "ClusterName", + "Content": { "type": "string" }, "Description": { - "markdownDescription": "The description of the cluster.", - "title": "Description", - "type": "string" - }, - "IAMRoleARN": { - "markdownDescription": "A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role's permissions to access DynamoDB on your behalf.", - "title": "IAMRoleARN", "type": "string" }, - "NetworkType": { - "markdownDescription": "The IP address type of the cluster. Values are:\n\n- `ipv4` - IPv4 addresses only\n- `ipv6` - IPv6 addresses only\n- `dual_stack` - Both IPv4 and IPv6 addresses", - "title": "NetworkType", - "type": "string" + "EntryPoint": { + "$ref": "#/definitions/AWS::Connect::TestCase.EntryPoint" }, - "NodeType": { - "markdownDescription": "The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.)", - "title": "NodeType", + "InitializationData": { "type": "string" }, - "NotificationTopicARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent.\n\n> The Amazon SNS topic owner must be same as the DAX cluster owner.", - "title": "NotificationTopicARN", + "InstanceArn": { "type": "string" }, - "ParameterGroupName": { - "markdownDescription": "The parameter group to be associated with the DAX cluster.", - "title": "ParameterGroupName", + "Name": { "type": "string" }, - "PreferredMaintenanceWindow": { - "markdownDescription": "A range of time when maintenance of DAX cluster software will be performed. For example: `sun:01:00-sun:09:00` . Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.", - "title": "PreferredMaintenanceWindow", + "Status": { "type": "string" }, - "ReplicationFactor": { - "markdownDescription": "The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, without any read replicas. For additional fault tolerance, you can create a multiple node cluster with one or more read replicas. To do this, set `ReplicationFactor` to a number between 3 (one primary and two read replicas) and 10 (one primary and nine read replicas). `If the AvailabilityZones` parameter is provided, its length must equal the `ReplicationFactor` .\n\n> AWS recommends that you have at least two read replicas per cluster.", - "title": "ReplicationFactor", - "type": "number" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DAX::Cluster.SSESpecification", - "markdownDescription": "Represents the settings used to enable server-side encryption on the cluster.", - "title": "SSESpecification" - }, - "SecurityGroupIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is system-generated.)\n\nIf this parameter is not specified, DAX assigns the default VPC security group to each node.", - "title": "SecurityGroupIds", "type": "array" - }, - "SubnetGroupName": { - "markdownDescription": "The name of the subnet group to be used for the replication group.\n\n> DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet group must exist in the same VPC.", - "title": "SubnetGroupName", - "type": "string" - }, - "Tags": { - "markdownDescription": "A set of tags to associate with the DAX cluster.", - "title": "Tags", - "type": "object" } }, "required": [ - "IAMRoleARN", - "NodeType", - "ReplicationFactor" + "Content", + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DAX::Cluster" + "AWS::Connect::TestCase" ], "type": "string" }, @@ -97982,91 +97503,46 @@ ], "type": "object" }, - "AWS::DAX::Cluster.SSESpecification": { + "AWS::Connect::TestCase.ChatEntryPointParameters": { "additionalProperties": false, "properties": { - "SSEEnabled": { - "markdownDescription": "Indicates whether server-side encryption is enabled (true) or disabled (false) on the cluster.", - "title": "SSEEnabled", - "type": "boolean" + "FlowId": { + "type": "string" } }, "type": "object" }, - "AWS::DAX::ParameterGroup": { + "AWS::Connect::TestCase.EntryPoint": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "ChatEntryPointParameters": { + "$ref": "#/definitions/AWS::Connect::TestCase.ChatEntryPointParameters" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Type": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "A description of the parameter group.", - "title": "Description", - "type": "string" - }, - "ParameterGroupName": { - "markdownDescription": "The name of the parameter group.", - "title": "ParameterGroupName", - "type": "string" - }, - "ParameterNameValues": { - "markdownDescription": "An array of name-value pairs for the parameters in the group. Each element in the array represents a single parameter.\n\n> `record-ttl-millis` and `query-ttl-millis` are the only supported parameter names. For more details, see [Configuring TTL Settings](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.cluster-management.html#DAX.cluster-management.custom-settings.ttl) .", - "title": "ParameterNameValues", - "type": "object" - } - }, - "type": "object" + "VoiceCallEntryPointParameters": { + "$ref": "#/definitions/AWS::Connect::TestCase.VoiceCallEntryPointParameters" + } + }, + "type": "object" + }, + "AWS::Connect::TestCase.VoiceCallEntryPointParameters": { + "additionalProperties": false, + "properties": { + "DestinationPhoneNumber": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::DAX::ParameterGroup" - ], + "FlowId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourcePhoneNumber": { "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::DAX::SubnetGroup": { + "AWS::Connect::TrafficDistributionGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -98102,32 +97578,38 @@ "additionalProperties": false, "properties": { "Description": { - "markdownDescription": "The description of the subnet group.", + "markdownDescription": "The description of the traffic distribution group.", "title": "Description", "type": "string" }, - "SubnetGroupName": { - "markdownDescription": "The name of the subnet group.", - "title": "SubnetGroupName", + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN).", + "title": "InstanceArn", "type": "string" }, - "SubnetIds": { + "Name": { + "markdownDescription": "The name of the traffic distribution group.", + "title": "Name", + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of VPC subnet IDs for the subnet group.", - "title": "SubnetIds", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, {\"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", "type": "array" } }, "required": [ - "SubnetIds" + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DAX::SubnetGroup" + "AWS::Connect::TrafficDistributionGroup" ], "type": "string" }, @@ -98146,7 +97628,7 @@ ], "type": "object" }, - "AWS::DLM::LifecyclePolicy": { + "AWS::Connect::User": { "additionalProperties": false, "properties": { "Condition": { @@ -98181,75 +97663,112 @@ "Properties": { "additionalProperties": false, "properties": { - "CopyTags": { - "markdownDescription": "*[Default policies only]* Indicates whether the policy should copy tags from the source resource to the snapshot or AMI. If you do not specify a value, the default is `false` .\n\nDefault: false", - "title": "CopyTags", - "type": "boolean" - }, - "CreateInterval": { - "markdownDescription": "*[Default policies only]* Specifies how often the policy should run and create snapshots or AMIs. The creation frequency can range from 1 to 7 days. If you do not specify a value, the default is 1.\n\nDefault: 1", - "title": "CreateInterval", - "type": "number" + "AfterContactWorkConfigs": { + "items": { + "$ref": "#/definitions/AWS::Connect::User.AfterContactWorkConfigPerChannel" + }, + "type": "array" }, - "CrossRegionCopyTargets": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets", - "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" + "AutoAcceptConfigs": { + "items": { + "$ref": "#/definitions/AWS::Connect::User.AutoAcceptConfig" + }, + "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` .", - "title": "DefaultPolicy", + "DirectoryUserId": { + "markdownDescription": "The identifier of the user account in the directory used for identity management.", + "title": "DirectoryUserId", "type": "string" }, - "Description": { - "markdownDescription": "A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.", - "title": "Description", + "HierarchyGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the user's hierarchy group.", + "title": "HierarchyGroupArn", "type": "string" }, - "Exclusions": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions", - "markdownDescription": "*[Default policies only]* Specifies exclusion parameters for volumes or instances for which you do not want to create snapshots or AMIs. The policy will not create snapshots or AMIs for target resources that match any of the specified exclusion parameters.", - "title": "Exclusions" + "IdentityInfo": { + "$ref": "#/definitions/AWS::Connect::User.UserIdentityInfo", + "markdownDescription": "Information about the user identity.", + "title": "IdentityInfo" }, - "ExecutionRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.", - "title": "ExecutionRoleArn", + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", "type": "string" }, - "ExtendDeletion": { - "markdownDescription": "*[Default policies only]* Defines the snapshot or AMI retention behavior for the policy if the source volume or instance is deleted, or if the policy enters the error, disabled, or deleted state.\n\nBy default ( *ExtendDeletion=false* ):\n\n- If a source resource is deleted, Amazon Data Lifecycle Manager will continue to delete previously created snapshots or AMIs, up to but not including the last one, based on the specified retention period. If you want Amazon Data Lifecycle Manager to delete all snapshots or AMIs, including the last one, specify `true` .\n- If a policy enters the error, disabled, or deleted state, Amazon Data Lifecycle Manager stops deleting snapshots and AMIs. If you want Amazon Data Lifecycle Manager to continue deleting snapshots or AMIs, including the last one, if the policy enters one of these states, specify `true` .\n\nIf you enable extended deletion ( *ExtendDeletion=true* ), you override both default behaviors simultaneously.\n\nIf you do not specify a value, the default is `false` .\n\nDefault: false", - "title": "ExtendDeletion", - "type": "boolean" + "Password": { + "markdownDescription": "The user's password.", + "title": "Password", + "type": "string" }, - "PolicyDetails": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails", - "markdownDescription": "The configuration details of the lifecycle policy.\n\n> If you create a default policy, you can specify the request parameters either in the request body, or in the PolicyDetails request structure, but not both.", - "title": "PolicyDetails" + "PersistentConnectionConfigs": { + "items": { + "$ref": "#/definitions/AWS::Connect::User.PersistentConnectionConfig" + }, + "type": "array" }, - "RetainInterval": { - "markdownDescription": "*[Default policies only]* Specifies how long the policy should retain snapshots or AMIs before deleting them. The retention period can range from 2 to 14 days, but it must be greater than the creation frequency to ensure that the policy retains at least 1 snapshot or AMI at any given time. If you do not specify a value, the default is 7.\n\nDefault: 7", - "title": "RetainInterval", - "type": "number" + "PhoneConfig": { + "$ref": "#/definitions/AWS::Connect::User.UserPhoneConfig", + "markdownDescription": "Information about the phone configuration for the user.", + "title": "PhoneConfig" }, - "State": { - "markdownDescription": "The activation state of the lifecycle policy.", - "title": "State", + "PhoneNumberConfigs": { + "items": { + "$ref": "#/definitions/AWS::Connect::User.PhoneNumberConfig" + }, + "type": "array" + }, + "RoutingProfileArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the user's routing profile.", + "title": "RoutingProfileArn", "type": "string" }, + "SecurityProfileArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Name (ARN) of the user's security profile.", + "title": "SecurityProfileArns", + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to apply to the lifecycle policy during creation.", + "markdownDescription": "The tags.", "title": "Tags", "type": "array" + }, + "UserProficiencies": { + "items": { + "$ref": "#/definitions/AWS::Connect::User.UserProficiency" + }, + "markdownDescription": "One or more predefined attributes assigned to a user, with a numeric value that indicates how their level of skill in a specified area.", + "title": "UserProficiencies", + "type": "array" + }, + "Username": { + "markdownDescription": "The user name assigned to the user account.", + "title": "Username", + "type": "string" + }, + "VoiceEnhancementConfigs": { + "items": { + "$ref": "#/definitions/AWS::Connect::User.VoiceEnhancementConfig" + }, + "type": "array" } }, + "required": [ + "InstanceArn", + "RoutingProfileArn", + "SecurityProfileArns", + "Username" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DLM::LifecyclePolicy" + "AWS::Connect::User" ], "type": "string" }, @@ -98263,688 +97782,611 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.Action": { + "AWS::Connect::User.AfterContactWorkConfig": { "additionalProperties": false, "properties": { - "CrossRegionCopy": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" - }, - "markdownDescription": "The rule for copying shared snapshots across Regions.", - "title": "CrossRegionCopy", - "type": "array" + "AfterContactWorkMode": { + "type": "string" }, - "Name": { - "markdownDescription": "A descriptive name for the action.", - "title": "Name", + "AfterContactWorkTimeLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Connect::User.AfterContactWorkConfigPerChannel": { + "additionalProperties": false, + "properties": { + "AfterContactWorkConfig": { + "$ref": "#/definitions/AWS::Connect::User.AfterContactWorkConfig" + }, + "AgentFirstCallbackAfterContactWorkConfig": { + "$ref": "#/definitions/AWS::Connect::User.AfterContactWorkConfig" + }, + "Channel": { "type": "string" } }, "required": [ - "CrossRegionCopy", - "Name" + "AfterContactWorkConfig", + "Channel" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.ArchiveRetainRule": { + "AWS::Connect::User.AutoAcceptConfig": { "additionalProperties": false, "properties": { - "RetentionArchiveTier": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.RetentionArchiveTier", - "markdownDescription": "Information about retention period in the Amazon EBS Snapshots Archive. For more information, see [Archive Amazon EBS snapshots](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/snapshot-archive.html) .", - "title": "RetentionArchiveTier" + "AgentFirstCallbackAutoAccept": { + "type": "boolean" + }, + "AutoAccept": { + "type": "boolean" + }, + "Channel": { + "type": "string" } }, "required": [ - "RetentionArchiveTier" + "AutoAccept", + "Channel" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.ArchiveRule": { + "AWS::Connect::User.PersistentConnectionConfig": { "additionalProperties": false, "properties": { - "RetainRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ArchiveRetainRule", - "markdownDescription": "Information about the retention period for the snapshot archiving rule.", - "title": "RetainRule" + "Channel": { + "type": "string" + }, + "PersistentConnection": { + "type": "boolean" } }, "required": [ - "RetainRule" + "Channel", + "PersistentConnection" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.CreateRule": { + "AWS::Connect::User.PhoneNumberConfig": { "additionalProperties": false, "properties": { - "CronExpression": { - "markdownDescription": "The schedule, as a Cron expression. The schedule interval must be between 1 hour and 1 year. For more information, see the [Cron and rate expressions](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html) in the *Amazon EventBridge User Guide* .", - "title": "CronExpression", + "Channel": { "type": "string" }, - "Interval": { - "markdownDescription": "The interval between snapshots. The supported values are 1, 2, 3, 4, 6, 8, 12, and 24.", - "title": "Interval", - "type": "number" + "PhoneNumber": { + "type": "string" }, - "IntervalUnit": { - "markdownDescription": "The interval unit.", - "title": "IntervalUnit", + "PhoneType": { + "type": "string" + } + }, + "required": [ + "Channel", + "PhoneType" + ], + "type": "object" + }, + "AWS::Connect::User.UserIdentityInfo": { + "additionalProperties": false, + "properties": { + "Email": { + "markdownDescription": "The email address. If you are using SAML for identity management and include this parameter, an error is returned.", + "title": "Email", "type": "string" }, - "Location": { - "markdownDescription": "*[Custom snapshot policies only]* Specifies the destination for snapshots created by the policy. The allowed destinations depend on the location of the targeted resources.\n\n- If the policy targets resources in a Region, then you must create snapshots in the same Region as the source resource.\n- If the policy targets resources in a Local Zone, you can create snapshots in the same Local Zone or in its parent Region.\n- If the policy targets resources on an Outpost, then you can create snapshots on the same Outpost or in its parent Region.\n\nSpecify one of the following values:\n\n- To create snapshots in the same Region as the source resource, specify `CLOUD` .\n- To create snapshots in the same Local Zone as the source resource, specify `LOCAL_ZONE` .\n- To create snapshots on the same Outpost as the source resource, specify `OUTPOST_LOCAL` .\n\nDefault: `CLOUD`", - "title": "Location", + "FirstName": { + "markdownDescription": "The first name. This is required if you are using Amazon Connect or SAML for identity management. Inputs must be in Unicode Normalization Form C (NFC). Text containing characters in a non-NFC form (for example, decomposed characters or combining marks) are not accepted.", + "title": "FirstName", "type": "string" }, - "Scripts": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Script" - }, - "markdownDescription": "*[Custom snapshot policies that target instances only]* Specifies pre and/or post scripts for a snapshot lifecycle policy that targets instances. This is useful for creating application-consistent snapshots, or for performing specific administrative tasks before or after Amazon Data Lifecycle Manager initiates snapshot creation.\n\nFor more information, see [Automating application-consistent snapshots with pre and post scripts](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/automate-app-consistent-backups.html) .", - "title": "Scripts", - "type": "array" + "LastName": { + "markdownDescription": "The last name. This is required if you are using Amazon Connect or SAML for identity management. Inputs must be in Unicode Normalization Form C (NFC). Text containing characters in a non-NFC form (for example, decomposed characters or combining marks) are not accepted.", + "title": "LastName", + "type": "string" }, - "Times": { - "items": { - "type": "string" - }, - "markdownDescription": "The time, in UTC, to start the operation. The supported format is hh:mm.\n\nThe operation occurs within a one-hour window following the specified time. If you do not specify a time, Amazon Data Lifecycle Manager selects a time within the next 24 hours.", - "title": "Times", - "type": "array" + "Mobile": { + "markdownDescription": "The user's mobile number.", + "title": "Mobile", + "type": "string" + }, + "SecondaryEmail": { + "markdownDescription": "The user's secondary email address. If you provide a secondary email, the user receives email notifications -- other than password reset notifications -- to this email address instead of to their primary email address.\n\n*Pattern* : `(?=^.{0,265}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,63}`", + "title": "SecondaryEmail", + "type": "string" } }, "type": "object" }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { + "AWS::Connect::User.UserPhoneConfig": { "additionalProperties": false, "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration", - "markdownDescription": "The encryption settings for the copied snapshot.", - "title": "EncryptionConfiguration" + "AfterContactWorkTimeLimit": { + "markdownDescription": "The After Call Work (ACW) timeout setting, in seconds. This parameter has a minimum value of 0 and a maximum value of 2,000,000 seconds (24 days). Enter 0 if you don't want to allocate a specific amount of ACW time. It essentially means an indefinite amount of time. When the conversation ends, ACW starts; the agent must choose Close contact to end ACW.\n\n> When returned by a `SearchUsers` call, `AfterContactWorkTimeLimit` is returned in milliseconds.", + "title": "AfterContactWorkTimeLimit", + "type": "number" }, - "RetainRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule", - "markdownDescription": "Specifies a retention rule for cross-Region snapshot copies created by snapshot or event-based policies, or cross-Region AMI copies created by AMI policies. After the retention period expires, the cross-Region copy is deleted.", - "title": "RetainRule" + "AutoAccept": { + "markdownDescription": "The Auto accept setting.", + "title": "AutoAccept", + "type": "boolean" }, - "Target": { - "markdownDescription": "The target Region.", - "title": "Target", + "DeskPhoneNumber": { + "markdownDescription": "The phone number for the user's desk phone.", + "title": "DeskPhoneNumber", + "type": "string" + }, + "PersistentConnection": { + "markdownDescription": "The persistent connection setting for the user.", + "title": "PersistentConnection", + "type": "boolean" + }, + "PhoneType": { + "markdownDescription": "The phone type.", + "title": "PhoneType", "type": "string" } }, - "required": [ - "EncryptionConfiguration", - "Target" - ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule": { + "AWS::Connect::User.UserProficiency": { "additionalProperties": false, "properties": { - "Interval": { - "markdownDescription": "The period after which to deprecate the cross-Region AMI copies. The period must be less than or equal to the cross-Region AMI copy retention period, and it can't be greater than 10 years. This is equivalent to 120 months, 520 weeks, or 3650 days.", - "title": "Interval", - "type": "number" + "AttributeName": { + "markdownDescription": "The name of user\u2019s proficiency. You must use a predefined attribute name that is present in the Amazon Connect instance.", + "title": "AttributeName", + "type": "string" }, - "IntervalUnit": { - "markdownDescription": "The unit of time in which to measure the *Interval* . For example, to deprecate a cross-Region AMI copy after 3 months, specify `Interval=3` and `IntervalUnit=MONTHS` .", - "title": "IntervalUnit", + "AttributeValue": { + "markdownDescription": "The value of user\u2019s proficiency. You must use a predefined attribute value that is present in the Amazon Connect instance.", + "title": "AttributeValue", "type": "string" + }, + "Level": { + "markdownDescription": "The level of the proficiency. The valid values are 1, 2, 3, 4 and 5.", + "title": "Level", + "type": "number" } }, "required": [ - "Interval", - "IntervalUnit" + "AttributeName", + "AttributeValue", + "Level" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { + "AWS::Connect::User.VoiceEnhancementConfig": { "additionalProperties": false, "properties": { - "Interval": { - "markdownDescription": "The amount of time to retain a cross-Region snapshot or AMI copy. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.", - "title": "Interval", - "type": "number" + "Channel": { + "type": "string" }, - "IntervalUnit": { - "markdownDescription": "The unit of time for time-based retention. For example, to retain a cross-Region copy for 3 months, specify `Interval=3` and `IntervalUnit=MONTHS` .", - "title": "IntervalUnit", + "VoiceEnhancementMode": { "type": "string" } }, "required": [ - "Interval", - "IntervalUnit" + "Channel", + "VoiceEnhancementMode" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyRule": { + "AWS::Connect::UserHierarchyGroup": { "additionalProperties": false, "properties": { - "CmkArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key to use for EBS encryption. If this parameter is not specified, the default KMS key for the account is used.", - "title": "CmkArn", + "Condition": { "type": "string" }, - "CopyTags": { - "markdownDescription": "Indicates whether to copy all user-defined tags from the source snapshot or AMI to the cross-Region copy.", - "title": "CopyTags", - "type": "boolean" - }, - "DeprecateRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule", - "markdownDescription": "*[Custom AMI policies only]* The AMI deprecation rule for cross-Region AMI copies created by the rule.", - "title": "DeprecateRule" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Encrypted": { - "markdownDescription": "To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, enable encryption using this parameter. Copies of encrypted snapshots are encrypted, even if this parameter is false or if encryption by default is not enabled.", - "title": "Encrypted", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RetainRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule", - "markdownDescription": "The retention rule that indicates how long the cross-Region snapshot or AMI copies are to be retained in the destination Region.", - "title": "RetainRule" + "Metadata": { + "type": "object" }, - "Target": { - "markdownDescription": "> Use this parameter for snapshot policies only. For AMI policies, use *TargetRegion* instead. \n\n*[Custom snapshot policies only]* The target Region or the Amazon Resource Name (ARN) of the target Outpost for the snapshot copies.", - "title": "Target", + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the user hierarchy group.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the user hierarchy group.", + "title": "Name", + "type": "string" + }, + "ParentGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the parent group.", + "title": "ParentGroupArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "InstanceArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::UserHierarchyGroup" + ], "type": "string" }, - "TargetRegion": { - "markdownDescription": "> Use this parameter for AMI policies only. For snapshot policies, use *Target* instead. For snapshot policies created before the *Target* parameter was introduced, this parameter indicates the target Region for snapshot copies. \n\n*[Custom AMI policies only]* The target Region or the Amazon Resource Name (ARN) of the target Outpost for the snapshot copies.", - "title": "TargetRegion", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Encrypted" + "Type", + "Properties" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget": { + "AWS::Connect::UserHierarchyStructure": { "additionalProperties": false, "properties": { - "TargetRegion": { + "Condition": { "type": "string" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.DeprecateRule": { - "additionalProperties": false, - "properties": { - "Count": { - "markdownDescription": "If the schedule has a count-based retention rule, this parameter specifies the number of oldest AMIs to deprecate. The count must be less than or equal to the schedule's retention count, and it can't be greater than 1000.", - "title": "Count", - "type": "number" - }, - "Interval": { - "markdownDescription": "If the schedule has an age-based retention rule, this parameter specifies the period after which to deprecate AMIs created by the schedule. The period must be less than or equal to the schedule's retention period, and it can't be greater than 10 years. This is equivalent to 120 months, 520 weeks, or 3650 days.", - "title": "Interval", - "type": "number" }, - "IntervalUnit": { - "markdownDescription": "The unit of time in which to measure the *Interval* .", - "title": "IntervalUnit", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "CmkArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key to use for EBS encryption. If this parameter is not specified, the default KMS key for the account is used.", - "title": "CmkArn", + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", + "type": "string" + }, + "UserHierarchyStructure": { + "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.UserHierarchyStructure", + "markdownDescription": "Contains information about a hierarchy structure.", + "title": "UserHierarchyStructure" + } + }, + "required": [ + "InstanceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::UserHierarchyStructure" + ], "type": "string" }, - "Encrypted": { - "markdownDescription": "To encrypt a copy of an unencrypted snapshot when encryption by default is not enabled, enable encryption using this parameter. Copies of encrypted snapshots are encrypted, even if this parameter is false or when encryption by default is not enabled.", - "title": "Encrypted", - "type": "boolean" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Encrypted" + "Type", + "Properties" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.EventParameters": { + "AWS::Connect::UserHierarchyStructure.LevelFive": { "additionalProperties": false, "properties": { - "DescriptionRegex": { - "markdownDescription": "The snapshot description that can trigger the policy. The description pattern is specified using a regular expression. The policy runs only if a snapshot with a description that matches the specified pattern is shared with your account.\n\nFor example, specifying `^.*Created for policy: policy-1234567890abcdef0.*$` configures the policy to run only if snapshots created by policy `policy-1234567890abcdef0` are shared with your account.", - "title": "DescriptionRegex", + "HierarchyLevelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", + "title": "HierarchyLevelArn", "type": "string" }, - "EventType": { - "markdownDescription": "The type of event. Currently, only snapshot sharing events are supported.", - "title": "EventType", + "HierarchyLevelId": { + "markdownDescription": "The identifier of the hierarchy level.", + "title": "HierarchyLevelId", "type": "string" }, - "SnapshotOwner": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the AWS accounts that can trigger policy by sharing snapshots with your account. The policy only runs if one of the specified AWS accounts shares a snapshot with your account.", - "title": "SnapshotOwner", - "type": "array" + "Name": { + "markdownDescription": "The name of the hierarchy level.", + "title": "Name", + "type": "string" } }, "required": [ - "EventType", - "SnapshotOwner" + "Name" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.EventSource": { + "AWS::Connect::UserHierarchyStructure.LevelFour": { "additionalProperties": false, "properties": { - "Parameters": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventParameters", - "markdownDescription": "Information about the event.", - "title": "Parameters" + "HierarchyLevelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", + "title": "HierarchyLevelArn", + "type": "string" }, - "Type": { - "markdownDescription": "The source of the event. Currently only managed Amazon EventBridge (formerly known as Amazon CloudWatch) events are supported.", - "title": "Type", + "HierarchyLevelId": { + "markdownDescription": "The identifier of the hierarchy level.", + "title": "HierarchyLevelId", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the hierarchy level.", + "title": "Name", "type": "string" } }, "required": [ - "Type" + "Name" ], "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": { - "ExcludeBootVolumes": { - "markdownDescription": "*[Default policies for EBS snapshots only]* Indicates whether to exclude volumes that are attached to instances as the boot volume. If you exclude boot volumes, only volumes attached as data (non-boot) volumes will be backed up by the policy. To exclude boot volumes, specify `true` .", - "title": "ExcludeBootVolumes", - "type": "boolean" - }, - "ExcludeTags": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeTags", - "markdownDescription": "*[Default policies for EBS-backed AMIs only]* Specifies whether to exclude volumes that have specific tags.", - "title": "ExcludeTags" - }, - "ExcludeVolumeTypes": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList", - "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" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.FastRestoreRule": { + "AWS::Connect::UserHierarchyStructure.LevelOne": { "additionalProperties": false, "properties": { - "AvailabilityZoneIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "markdownDescription": "The Availability Zones in which to enable fast snapshot restore.", - "title": "AvailabilityZones", - "type": "array" - }, - "Count": { - "markdownDescription": "The number of snapshots to be enabled with fast snapshot restore.", - "title": "Count", - "type": "number" - }, - "Interval": { - "markdownDescription": "The amount of time to enable fast snapshot restore. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.", - "title": "Interval", - "type": "number" - }, - "IntervalUnit": { - "markdownDescription": "The unit of time for enabling fast snapshot restore.", - "title": "IntervalUnit", + "HierarchyLevelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", + "title": "HierarchyLevelArn", "type": "string" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.Parameters": { - "additionalProperties": false, - "properties": { - "ExcludeBootVolume": { - "markdownDescription": "*[Custom snapshot policies that target instances only]* Indicates whether to exclude the root volume from multi-volume snapshot sets. The default is `false` . If you specify `true` , then the root volumes attached to targeted instances will be excluded from the multi-volume snapshot sets created by the policy.", - "title": "ExcludeBootVolume", - "type": "boolean" }, - "ExcludeDataVolumeTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "*[Custom snapshot policies that target instances only]* The tags used to identify data (non-root) volumes to exclude from multi-volume snapshot sets.\n\nIf you create a snapshot lifecycle policy that targets instances and you specify tags for this parameter, then data volumes with the specified tags that are attached to targeted instances will be excluded from the multi-volume snapshot sets created by the policy.", - "title": "ExcludeDataVolumeTags", - "type": "array" + "HierarchyLevelId": { + "markdownDescription": "The identifier of the hierarchy level.", + "title": "HierarchyLevelId", + "type": "string" }, - "NoReboot": { - "markdownDescription": "*[Custom AMI policies only]* Indicates whether targeted instances are rebooted when the lifecycle policy runs. `true` indicates that targeted instances are not rebooted when the policy runs. `false` indicates that target instances are rebooted when the policy runs. The default is `true` (instances are not rebooted).", - "title": "NoReboot", - "type": "boolean" + "Name": { + "markdownDescription": "The name of the hierarchy level.", + "title": "Name", + "type": "string" } }, + "required": [ + "Name" + ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.PolicyDetails": { + "AWS::Connect::UserHierarchyStructure.LevelThree": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" - }, - "markdownDescription": "*[Event-based policies only]* The actions to be performed when the event-based policy is activated. You can specify only one action per policy.", - "title": "Actions", - "type": "array" - }, - "CopyTags": { - "markdownDescription": "*[Default policies only]* Indicates whether the policy should copy tags from the source resource to the snapshot or AMI. If you do not specify a value, the default is `false` .\n\nDefault: false", - "title": "CopyTags", - "type": "boolean" - }, - "CreateInterval": { - "markdownDescription": "*[Default policies only]* Specifies how often the policy should run and create snapshots or AMIs. The creation frequency can range from 1 to 7 days. If you do not specify a value, the default is 1.\n\nDefault: 1", - "title": "CreateInterval", - "type": "number" - }, - "CrossRegionCopyTargets": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets", - "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" - }, - "EventSource": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource", - "markdownDescription": "*[Event-based policies only]* The event that activates the event-based policy.", - "title": "EventSource" - }, - "Exclusions": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions", - "markdownDescription": "*[Default policies only]* Specifies exclusion parameters for volumes or instances for which you do not want to create snapshots or AMIs. The policy will not create snapshots or AMIs for target resources that match any of the specified exclusion parameters.", - "title": "Exclusions" - }, - "ExtendDeletion": { - "markdownDescription": "*[Default policies only]* Defines the snapshot or AMI retention behavior for the policy if the source volume or instance is deleted, or if the policy enters the error, disabled, or deleted state.\n\nBy default ( *ExtendDeletion=false* ):\n\n- If a source resource is deleted, Amazon Data Lifecycle Manager will continue to delete previously created snapshots or AMIs, up to but not including the last one, based on the specified retention period. If you want Amazon Data Lifecycle Manager to delete all snapshots or AMIs, including the last one, specify `true` .\n- If a policy enters the error, disabled, or deleted state, Amazon Data Lifecycle Manager stops deleting snapshots and AMIs. If you want Amazon Data Lifecycle Manager to continue deleting snapshots or AMIs, including the last one, if the policy enters one of these states, specify `true` .\n\nIf you enable extended deletion ( *ExtendDeletion=true* ), you override both default behaviors simultaneously.\n\nIf you do not specify a value, the default is `false` .\n\nDefault: false", - "title": "ExtendDeletion", - "type": "boolean" - }, - "Parameters": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters", - "markdownDescription": "*[Custom snapshot and AMI policies only]* A set of optional parameters for snapshot and AMI lifecycle policies.\n\n> If you are modifying a policy that was created or previously modified using the Amazon Data Lifecycle Manager console, then you must include this parameter and specify either the default values or the new values that you require. You can't omit this parameter or set its values to null.", - "title": "Parameters" - }, - "PolicyLanguage": { - "markdownDescription": "The type of policy to create. Specify one of the following:\n\n- `SIMPLIFIED` To create a default policy.\n- `STANDARD` To create a custom policy.", - "title": "PolicyLanguage", + "HierarchyLevelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", + "title": "HierarchyLevelArn", "type": "string" }, - "PolicyType": { - "markdownDescription": "The type of policy. Specify `EBS_SNAPSHOT_MANAGEMENT` to create a lifecycle policy that manages the lifecycle of Amazon EBS snapshots. Specify `IMAGE_MANAGEMENT` to create a lifecycle policy that manages the lifecycle of EBS-backed AMIs. Specify `EVENT_BASED_POLICY` to create an event-based policy that performs specific actions when a defined event occurs in your AWS account .\n\nThe default is `EBS_SNAPSHOT_MANAGEMENT` .", - "title": "PolicyType", + "HierarchyLevelId": { + "markdownDescription": "", + "title": "HierarchyLevelId", "type": "string" }, - "ResourceLocations": { - "items": { - "type": "string" - }, - "markdownDescription": "*[Custom snapshot and AMI policies only]* The location of the resources to backup.\n\n- If the source resources are located in a Region, specify `CLOUD` . In this case, the policy targets all resources of the specified type with matching target tags across all Availability Zones in the Region.\n- *[Custom snapshot policies only]* If the source resources are located in a Local Zone, specify `LOCAL_ZONE` . In this case, the policy targets all resources of the specified type with matching target tags across all Local Zones in the Region.\n- If the source resources are located on an Outpost in your account, specify `OUTPOST` . In this case, the policy targets all resources of the specified type with matching target tags across all of the Outposts in your account.", - "title": "ResourceLocations", - "type": "array" - }, - "ResourceType": { - "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` .", - "title": "ResourceType", + "Name": { + "markdownDescription": "The name of the hierarchy level.", + "title": "Name", "type": "string" - }, - "ResourceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "*[Custom snapshot policies only]* The target resource type for snapshot and AMI lifecycle policies. Use `VOLUME` to create snapshots of individual volumes or use `INSTANCE` to create multi-volume snapshots from the volumes for an instance.", - "title": "ResourceTypes", - "type": "array" - }, - "RetainInterval": { - "markdownDescription": "*[Default policies only]* Specifies how long the policy should retain snapshots or AMIs before deleting them. The retention period can range from 2 to 14 days, but it must be greater than the creation frequency to ensure that the policy retains at least 1 snapshot or AMI at any given time. If you do not specify a value, the default is 7.\n\nDefault: 7", - "title": "RetainInterval", - "type": "number" - }, - "Schedules": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" - }, - "markdownDescription": "*[Custom snapshot and AMI policies only]* The schedules of policy-defined actions for snapshot and AMI lifecycle policies. A policy can have up to four schedules\u2014one mandatory schedule and up to three optional schedules.", - "title": "Schedules", - "type": "array" - }, - "TargetTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "*[Custom snapshot and AMI policies only]* The single tag that identifies targeted resources for this policy.", - "title": "TargetTags", - "type": "array" } }, + "required": [ + "Name" + ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.RetainRule": { + "AWS::Connect::UserHierarchyStructure.LevelTwo": { "additionalProperties": false, "properties": { - "Count": { - "markdownDescription": "The number of snapshots to retain for each volume, up to a maximum of 1000. For example if you want to retain a maximum of three snapshots, specify `3` . When the fourth snapshot is created, the oldest retained snapshot is deleted, or it is moved to the archive tier if you have specified an [ArchiveRule](https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html) .", - "title": "Count", - "type": "number" - }, - "Interval": { - "markdownDescription": "The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.", - "title": "Interval", - "type": "number" - }, - "IntervalUnit": { - "markdownDescription": "The unit of time for time-based retention. For example, to retain snapshots for 3 months, specify `Interval=3` and `IntervalUnit=MONTHS` . Once the snapshot has been retained for 3 months, it is deleted, or it is moved to the archive tier if you have specified an [ArchiveRule](https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html) .", - "title": "IntervalUnit", + "HierarchyLevelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", + "title": "HierarchyLevelArn", "type": "string" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.RetentionArchiveTier": { - "additionalProperties": false, - "properties": { - "Count": { - "markdownDescription": "The maximum number of snapshots to retain in the archive storage tier for each volume. The count must ensure that each snapshot remains in the archive tier for at least 90 days. For example, if the schedule creates snapshots every 30 days, you must specify a count of 3 or more to ensure that each snapshot is archived for at least 90 days.", - "title": "Count", - "type": "number" }, - "Interval": { - "markdownDescription": "Specifies the period of time to retain snapshots in the archive tier. After this period expires, the snapshot is permanently deleted.", - "title": "Interval", - "type": "number" + "HierarchyLevelId": { + "markdownDescription": "The identifier of the hierarchy level.", + "title": "HierarchyLevelId", + "type": "string" }, - "IntervalUnit": { - "markdownDescription": "The unit of time in which to measure the *Interval* . For example, to retain a snapshots in the archive tier for 6 months, specify `Interval=6` and `IntervalUnit=MONTHS` .", - "title": "IntervalUnit", + "Name": { + "markdownDescription": "The name of the hierarchy level.", + "title": "Name", "type": "string" } }, + "required": [ + "Name" + ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.Schedule": { + "AWS::Connect::UserHierarchyStructure.UserHierarchyStructure": { "additionalProperties": false, "properties": { - "ArchiveRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ArchiveRule", - "markdownDescription": "*[Custom snapshot policies that target volumes only]* The snapshot archiving rule for the schedule. When you specify an archiving rule, snapshots are automatically moved from the standard tier to the archive tier once the schedule's retention threshold is met. Snapshots are then retained in the archive tier for the archive retention period that you specify.\n\nFor more information about using snapshot archiving, see [Considerations for snapshot lifecycle policies](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-ami-policy.html#dlm-archive) .", - "title": "ArchiveRule" - }, - "CopyTags": { - "markdownDescription": "Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.", - "title": "CopyTags", - "type": "boolean" - }, - "CreateRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CreateRule", - "markdownDescription": "The creation rule.", - "title": "CreateRule" - }, - "CrossRegionCopyRules": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRule" - }, - "markdownDescription": "Specifies a rule for copying snapshots or AMIs across Regions.\n\n> You can't specify cross-Region copy rules for policies that create snapshots on an Outpost or in a Local Zone. If the policy creates snapshots in a Region, then snapshots can be copied to up to three Regions or Outposts.", - "title": "CrossRegionCopyRules", - "type": "array" - }, - "DeprecateRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.DeprecateRule", - "markdownDescription": "*[Custom AMI policies only]* The AMI deprecation rule for the schedule.", - "title": "DeprecateRule" - }, - "FastRestoreRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.FastRestoreRule", - "markdownDescription": "*[Custom snapshot policies only]* The rule for enabling fast snapshot restore.", - "title": "FastRestoreRule" - }, - "Name": { - "markdownDescription": "The name of the schedule.", - "title": "Name", - "type": "string" + "LevelFive": { + "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelFive", + "markdownDescription": "", + "title": "LevelFive" }, - "RetainRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.RetainRule", - "markdownDescription": "The retention rule for snapshots or AMIs created by the policy.", - "title": "RetainRule" + "LevelFour": { + "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelFour", + "markdownDescription": "The update for level four.", + "title": "LevelFour" }, - "ShareRules": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ShareRule" - }, - "markdownDescription": "*[Custom snapshot policies only]* The rule for sharing snapshots with other AWS accounts .", - "title": "ShareRules", - "type": "array" + "LevelOne": { + "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelOne", + "markdownDescription": "The update for level one.", + "title": "LevelOne" }, - "TagsToAdd": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to policy-created resources. These user-defined tags are in addition to the AWS -added lifecycle tags.", - "title": "TagsToAdd", - "type": "array" + "LevelThree": { + "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelThree", + "markdownDescription": "The update for level three.", + "title": "LevelThree" }, - "VariableTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "*[AMI policies and snapshot policies that target instances only]* A collection of key/value pairs with values determined dynamically when the policy is executed. Keys may be any valid Amazon EC2 tag key. Values must be in one of the two following formats: `$(instance-id)` or `$(timestamp)` . Variable tags are only valid for EBS Snapshot Management \u2013 Instance policies.", - "title": "VariableTags", - "type": "array" + "LevelTwo": { + "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelTwo", + "markdownDescription": "The update for level two.", + "title": "LevelTwo" } }, "type": "object" }, - "AWS::DLM::LifecyclePolicy.Script": { + "AWS::Connect::View": { "additionalProperties": false, "properties": { - "ExecuteOperationOnScriptFailure": { - "markdownDescription": "Indicates whether Amazon Data Lifecycle Manager should default to crash-consistent snapshots if the pre script fails.\n\n- To default to crash consistent snapshot if the pre script fails, specify `true` .\n- To skip the instance for snapshot creation if the pre script fails, specify `false` .\n\nThis parameter is supported only if you run a pre script. If you run a post script only, omit this parameter.\n\nDefault: true", - "title": "ExecuteOperationOnScriptFailure", - "type": "boolean" - }, - "ExecutionHandler": { - "markdownDescription": "The SSM document that includes the pre and/or post scripts to run.\n\n- If you are automating VSS backups, specify `AWS_VSS_BACKUP` . In this case, Amazon Data Lifecycle Manager automatically uses the `AWSEC2-CreateVssSnapshot` SSM document.\n- If you are automating application-consistent snapshots for SAP HANA workloads, specify `AWSSystemsManagerSAP-CreateDLMSnapshotForSAPHANA` .\n- If you are using a custom SSM document that you own, specify either the name or ARN of the SSM document. If you are using a custom SSM document that is shared with you, specify the ARN of the SSM document.", - "title": "ExecutionHandler", + "Condition": { "type": "string" }, - "ExecutionHandlerService": { - "markdownDescription": "Indicates the service used to execute the pre and/or post scripts.\n\n- If you are using custom SSM documents or automating application-consistent snapshots of SAP HANA workloads, specify `AWS_SYSTEMS_MANAGER` .\n- If you are automating VSS Backups, omit this parameter.\n\nDefault: AWS_SYSTEMS_MANAGER", - "title": "ExecutionHandlerService", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ExecutionTimeout": { - "markdownDescription": "Specifies a timeout period, in seconds, after which Amazon Data Lifecycle Manager fails the script run attempt if it has not completed. If a script does not complete within its timeout period, Amazon Data Lifecycle Manager fails the attempt. The timeout period applies to the pre and post scripts individually.\n\nIf you are automating VSS Backups, omit this parameter.\n\nDefault: 10", - "title": "ExecutionTimeout", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MaximumRetryCount": { - "markdownDescription": "Specifies the number of times Amazon Data Lifecycle Manager should retry scripts that fail.\n\n- If the pre script fails, Amazon Data Lifecycle Manager retries the entire snapshot creation process, including running the pre and post scripts.\n- If the post script fails, Amazon Data Lifecycle Manager retries the post script only; in this case, the pre script will have completed and the snapshot might have been created.\n\nIf you do not want Amazon Data Lifecycle Manager to retry failed scripts, specify `0` .\n\nDefault: 0", - "title": "MaximumRetryCount", - "type": "number" + "Metadata": { + "type": "object" }, - "Stages": { - "items": { - "type": "string" - }, - "markdownDescription": "Indicate which scripts Amazon Data Lifecycle Manager should run on target instances. Pre scripts run before Amazon Data Lifecycle Manager initiates snapshot creation. Post scripts run after Amazon Data Lifecycle Manager initiates snapshot creation.\n\n- To run a pre script only, specify `PRE` . In this case, Amazon Data Lifecycle Manager calls the SSM document with the `pre-script` parameter before initiating snapshot creation.\n- To run a post script only, specify `POST` . In this case, Amazon Data Lifecycle Manager calls the SSM document with the `post-script` parameter after initiating snapshot creation.\n- To run both pre and post scripts, specify both `PRE` and `POST` . In this case, Amazon Data Lifecycle Manager calls the SSM document with the `pre-script` parameter before initiating snapshot creation, and then it calls the SSM document again with the `post-script` parameter after initiating snapshot creation.\n\nIf you are automating VSS Backups, omit this parameter.\n\nDefault: PRE and POST", - "title": "Stages", - "type": "array" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.ShareRule": { - "additionalProperties": false, - "properties": { - "TargetAccounts": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of actions possible from the view.", + "title": "Actions", + "type": "array" + }, + "Description": { + "markdownDescription": "The description of the view.", + "title": "Description", + "type": "string" + }, + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the view.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags associated with the view resource (not specific to view version).", + "title": "Tags", + "type": "array" + }, + "Template": { + "markdownDescription": "The view template representing the structure of the view.", + "title": "Template", + "type": "object" + } }, - "markdownDescription": "The IDs of the AWS accounts with which to share the snapshots.", - "title": "TargetAccounts", - "type": "array" + "required": [ + "Actions", + "InstanceArn", + "Name", + "Template" + ], + "type": "object" }, - "UnshareInterval": { - "markdownDescription": "The period after which snapshots that are shared with other AWS accounts are automatically unshared.", - "title": "UnshareInterval", - "type": "number" + "Type": { + "enum": [ + "AWS::Connect::View" + ], + "type": "string" }, - "UnshareIntervalUnit": { - "markdownDescription": "The unit of time for the automatic unsharing interval.", - "title": "UnshareIntervalUnit", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.VolumeTypeValues": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::DMS::Certificate": { + "AWS::Connect::ViewVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -98979,27 +98421,30 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateIdentifier": { - "markdownDescription": "A customer-assigned name for the certificate. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.", - "title": "CertificateIdentifier", + "VersionDescription": { + "markdownDescription": "The description of the view version.", + "title": "VersionDescription", "type": "string" }, - "CertificatePem": { - "markdownDescription": "The contents of a `.pem` file, which contains an X.509 certificate.", - "title": "CertificatePem", + "ViewArn": { + "markdownDescription": "The unqualified Amazon Resource Name (ARN) of the view.\n\nFor example:\n\n`arn::connect:::instance/00000000-0000-0000-0000-000000000000/view/00000000-0000-0000-0000-000000000000`", + "title": "ViewArn", "type": "string" }, - "CertificateWallet": { - "markdownDescription": "The location of an imported Oracle Wallet certificate for use with SSL. An example is: `filebase64(\"${path.root}/rds-ca-2019-root.sso\")`", - "title": "CertificateWallet", + "ViewContentSha256": { + "markdownDescription": "Indicates the checksum value of the latest published view content.", + "title": "ViewContentSha256", "type": "string" } }, + "required": [ + "ViewArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::Certificate" + "AWS::Connect::ViewVersion" ], "type": "string" }, @@ -99013,11 +98458,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DMS::DataMigration": { + "AWS::Connect::Vocabulary": { "additionalProperties": false, "properties": { "Condition": { @@ -99052,63 +98498,36 @@ "Properties": { "additionalProperties": false, "properties": { - "DataMigrationIdentifier": { - "markdownDescription": "", - "title": "DataMigrationIdentifier", - "type": "string" - }, - "DataMigrationName": { - "markdownDescription": "The user-friendly name for the data migration.", - "title": "DataMigrationName", - "type": "string" - }, - "DataMigrationSettings": { - "$ref": "#/definitions/AWS::DMS::DataMigration.DataMigrationSettings", - "markdownDescription": "Specifies CloudWatch settings and selection rules for the data migration.", - "title": "DataMigrationSettings" - }, - "DataMigrationType": { - "markdownDescription": "Specifies whether the data migration is full-load only, change data capture (CDC) only, or full-load and CDC.", - "title": "DataMigrationType", + "Content": { "type": "string" }, - "MigrationProjectIdentifier": { - "markdownDescription": "", - "title": "MigrationProjectIdentifier", + "InstanceId": { "type": "string" }, - "ServiceAccessRoleArn": { - "markdownDescription": "The IAM role that the data migration uses to access AWS resources.", - "title": "ServiceAccessRoleArn", + "LanguageCode": { "type": "string" }, - "SourceDataSettings": { - "items": { - "$ref": "#/definitions/AWS::DMS::DataMigration.SourceDataSettings" - }, - "markdownDescription": "Specifies information about the data migration's source data provider.", - "title": "SourceDataSettings", - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", - "title": "Tags", "type": "array" + }, + "VocabularyName": { + "type": "string" } }, "required": [ - "DataMigrationType", - "MigrationProjectIdentifier", - "ServiceAccessRoleArn" + "Content", + "InstanceId", + "LanguageCode", + "VocabularyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::DataMigration" + "AWS::Connect::Vocabulary" ], "type": "string" }, @@ -99127,54 +98546,7 @@ ], "type": "object" }, - "AWS::DMS::DataMigration.DataMigrationSettings": { - "additionalProperties": false, - "properties": { - "CloudwatchLogsEnabled": { - "markdownDescription": "Whether to enable CloudWatch logging for the data migration.", - "title": "CloudwatchLogsEnabled", - "type": "boolean" - }, - "NumberOfJobs": { - "markdownDescription": "The number of parallel jobs that trigger parallel threads to unload the tables from the source, and then load them to the target.", - "title": "NumberOfJobs", - "type": "number" - }, - "SelectionRules": { - "markdownDescription": "A JSON-formatted string that defines what objects to include and exclude from the migration.", - "title": "SelectionRules", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::DataMigration.SourceDataSettings": { - "additionalProperties": false, - "properties": { - "CDCStartPosition": { - "markdownDescription": "", - "title": "CDCStartPosition", - "type": "string" - }, - "CDCStartTime": { - "markdownDescription": "", - "title": "CDCStartTime", - "type": "string" - }, - "CDCStopTime": { - "markdownDescription": "", - "title": "CDCStopTime", - "type": "string" - }, - "SlotName": { - "markdownDescription": "", - "title": "SlotName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::DataProvider": { + "AWS::Connect::Workspace": { "additionalProperties": false, "properties": { "Condition": { @@ -99209,53 +98581,78 @@ "Properties": { "additionalProperties": false, "properties": { - "DataProviderIdentifier": { - "markdownDescription": "The identifier of the data provider. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", - "title": "DataProviderIdentifier", - "type": "string" - }, - "DataProviderName": { - "markdownDescription": "The name of the data provider.", - "title": "DataProviderName", - "type": "string" + "Associations": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Associations", + "type": "array" }, "Description": { - "markdownDescription": "A description of the data provider. Descriptions can have up to 31 characters. A description can contain only ASCII letters, digits, and hyphens ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter.", + "markdownDescription": "The description of the workspace.", "title": "Description", "type": "string" }, - "Engine": { - "markdownDescription": "The type of database engine for the data provider. Valid values include `\"aurora\"` , `\"aurora-postgresql\"` , `\"mysql\"` , `\"oracle\"` , `\"postgres\"` , `\"sqlserver\"` , `redshift` , `mariadb` , `mongodb` , `db2` , `db2-zos` , `docdb` , and `sybase` . A value of `\"aurora\"` represents Amazon Aurora MySQL-Compatible Edition.", - "title": "Engine", + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", "type": "string" }, - "ExactSettings": { + "Media": { + "items": { + "$ref": "#/definitions/AWS::Connect::Workspace.MediaItem" + }, "markdownDescription": "", - "title": "ExactSettings", - "type": "boolean" + "title": "Media", + "type": "array" }, - "Settings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.Settings", - "markdownDescription": "The settings in JSON format for a data provider.", - "title": "Settings" + "Name": { + "markdownDescription": "The name of the workspace.", + "title": "Name", + "type": "string" + }, + "Pages": { + "items": { + "$ref": "#/definitions/AWS::Connect::Workspace.WorkspacePage" + }, + "markdownDescription": "", + "title": "Pages", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "The tags used to organize, track, or control access for the workspace.", "title": "Tags", "type": "array" + }, + "Theme": { + "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceTheme", + "markdownDescription": "The theme configuration for the workspace, including colors and styling.", + "title": "Theme" + }, + "Title": { + "markdownDescription": "The title displayed for the workspace.", + "title": "Title", + "type": "string" + }, + "Visibility": { + "markdownDescription": "Controls who can access the workspace. Valid values are: `ALL` (all users), `ASSIGNED` (only assigned users and routing profiles), and `NONE` (not visible).", + "title": "Visibility", + "type": "string" } }, "required": [ - "Engine" + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::DataProvider" + "AWS::Connect::Workspace" ], "type": "string" }, @@ -99274,493 +98671,456 @@ ], "type": "object" }, - "AWS::DMS::DataProvider.DocDbSettings": { + "AWS::Connect::Workspace.FontFamily": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The database name on the DocumentDB source endpoint.", - "title": "DatabaseName", - "type": "string" - }, - "Port": { - "markdownDescription": "The port value for the DocumentDB source endpoint.", - "title": "Port", - "type": "number" - }, - "ServerName": { - "markdownDescription": "The name of the server on the DocumentDB source endpoint.", - "title": "ServerName", - "type": "string" - }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", + "Default": { + "markdownDescription": "The default font family to use in the workspace theme.", + "title": "Default", "type": "string" } }, - "required": [ - "DatabaseName", - "Port", - "ServerName" - ], "type": "object" }, - "AWS::DMS::DataProvider.IbmDb2LuwSettings": { + "AWS::Connect::Workspace.MediaItem": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "", - "title": "DatabaseName", - "type": "string" - }, - "Port": { - "markdownDescription": "", - "title": "Port", - "type": "number" - }, - "ServerName": { - "markdownDescription": "", - "title": "ServerName", + "Source": { + "markdownDescription": "The source URL or data for the media asset.", + "title": "Source", "type": "string" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", + "Type": { + "markdownDescription": "The type of media. Valid values are: `IMAGE_LOGO_FAVICON` and `IMAGE_LOGO_HORIZONTAL` .", + "title": "Type", "type": "string" } }, "required": [ - "DatabaseName", - "Port", - "ServerName", - "SslMode" + "Type" ], "type": "object" }, - "AWS::DMS::DataProvider.IbmDb2zOsSettings": { + "AWS::Connect::Workspace.PaletteCanvas": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "", - "title": "DatabaseName", + "ActiveBackground": { + "markdownDescription": "The background color for active elements.", + "title": "ActiveBackground", "type": "string" }, - "Port": { - "markdownDescription": "", - "title": "Port", - "type": "number" - }, - "ServerName": { - "markdownDescription": "", - "title": "ServerName", + "ContainerBackground": { + "markdownDescription": "The background color for container elements.", + "title": "ContainerBackground", "type": "string" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", + "PageBackground": { + "markdownDescription": "The background color for page elements.", + "title": "PageBackground", "type": "string" } }, - "required": [ - "DatabaseName", - "Port", - "ServerName", - "SslMode" - ], "type": "object" }, - "AWS::DMS::DataProvider.MariaDbSettings": { + "AWS::Connect::Workspace.PaletteHeader": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", + "Background": { + "markdownDescription": "The background color of the header.", + "title": "Background", "type": "string" }, - "Port": { - "markdownDescription": "", - "title": "Port", - "type": "number" + "InvertActionsColors": { + "markdownDescription": "Whether to invert the colors of action buttons in the header.", + "title": "InvertActionsColors", + "type": "boolean" }, - "ServerName": { - "markdownDescription": "", - "title": "ServerName", + "Text": { + "markdownDescription": "The text color in the header.", + "title": "Text", "type": "string" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", + "TextHover": { + "markdownDescription": "The text color when hovering over header elements.", + "title": "TextHover", "type": "string" } }, - "required": [ - "Port", - "ServerName", - "SslMode" - ], "type": "object" }, - "AWS::DMS::DataProvider.MicrosoftSqlServerSettings": { + "AWS::Connect::Workspace.PaletteNavigation": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", + "Background": { + "markdownDescription": "The background color of the navigation area.", + "title": "Background", "type": "string" }, - "DatabaseName": { - "markdownDescription": "Database name for the endpoint.", - "title": "DatabaseName", + "InvertActionsColors": { + "markdownDescription": "Whether to invert the colors of action buttons in the navigation area.", + "title": "InvertActionsColors", + "type": "boolean" + }, + "Text": { + "markdownDescription": "The text color in the navigation area.", + "title": "Text", "type": "string" }, - "Port": { - "markdownDescription": "Endpoint TCP port.", - "title": "Port", - "type": "number" + "TextActive": { + "markdownDescription": "The text color for active navigation items.", + "title": "TextActive", + "type": "string" }, - "ServerName": { - "markdownDescription": "Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.", - "title": "ServerName", + "TextBackgroundActive": { + "markdownDescription": "The background color for active navigation items.", + "title": "TextBackgroundActive", "type": "string" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", + "TextBackgroundHover": { + "markdownDescription": "The background color when hovering over navigation text.", + "title": "TextBackgroundHover", + "type": "string" + }, + "TextHover": { + "markdownDescription": "The text color when hovering over navigation items.", + "title": "TextHover", "type": "string" } }, - "required": [ - "DatabaseName", - "Port", - "ServerName", - "SslMode" - ], "type": "object" }, - "AWS::DMS::DataProvider.MongoDbSettings": { + "AWS::Connect::Workspace.PalettePrimary": { "additionalProperties": false, "properties": { - "AuthMechanism": { - "markdownDescription": "The authentication mechanism you use to access the MongoDB source endpoint.\n\nFor the default value, in MongoDB version 2.x, `\"default\"` is `\"mongodb_cr\"` . For MongoDB version 3.x or later, `\"default\"` is `\"scram_sha_1\"` . This setting isn't used when `AuthType` is set to `\"no\"` .", - "title": "AuthMechanism", + "Active": { + "markdownDescription": "The primary color used for active states.", + "title": "Active", "type": "string" }, - "AuthSource": { - "markdownDescription": "The MongoDB database name. This setting isn't used when `AuthType` is set to `\"no\"` .\n\nThe default is `\"admin\"` .", - "title": "AuthSource", + "ContrastText": { + "markdownDescription": "The text color that contrasts with the primary color for readability.", + "title": "ContrastText", "type": "string" }, - "AuthType": { - "markdownDescription": "The authentication type you use to access the MongoDB source endpoint.\n\nWhen when set to `\"no\"` , user name and password parameters are not used and can be empty.", - "title": "AuthType", + "Default": { + "markdownDescription": "The default primary color used throughout the workspace.", + "title": "Default", "type": "string" - }, - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", + } + }, + "type": "object" + }, + "AWS::Connect::Workspace.WorkspacePage": { + "additionalProperties": false, + "properties": { + "InputData": { + "markdownDescription": "A JSON string containing input parameters passed to the view when the page is rendered.", + "title": "InputData", "type": "string" }, - "DatabaseName": { - "markdownDescription": "The database name on the MongoDB source endpoint.", - "title": "DatabaseName", + "Page": { + "markdownDescription": "The page identifier. System pages include `HOME` and `AGENT_EXPERIENCE` .", + "title": "Page", "type": "string" }, - "Port": { - "markdownDescription": "The port value for the MongoDB source endpoint.", - "title": "Port", - "type": "number" - }, - "ServerName": { - "markdownDescription": "The name of the server on the MongoDB source endpoint. For MongoDB Atlas, provide the server name for any of the servers in the replication set.", - "title": "ServerName", + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the view associated with this page.", + "title": "ResourceArn", "type": "string" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", + "Slug": { + "markdownDescription": "The URL-friendly identifier for the page.", + "title": "Slug", "type": "string" } }, "required": [ - "Port", - "ServerName" + "Page", + "ResourceArn" ], "type": "object" }, - "AWS::DMS::DataProvider.MySqlSettings": { + "AWS::Connect::Workspace.WorkspaceTheme": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", - "type": "string" - }, - "Port": { - "markdownDescription": "Endpoint TCP port.", - "title": "Port", - "type": "number" - }, - "ServerName": { - "markdownDescription": "The host name of the endpoint database.\n\nFor an Amazon RDS MySQL instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.\n\nFor an Aurora MySQL instance, this is the output of [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) , in the `Endpoint` field.", - "title": "ServerName", - "type": "string" + "Dark": { + "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemeConfig", + "markdownDescription": "The theme configuration for dark mode.", + "title": "Dark" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", - "type": "string" + "Light": { + "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemeConfig", + "markdownDescription": "The theme configuration for light mode.", + "title": "Light" } }, - "required": [ - "Port", - "ServerName", - "SslMode" - ], "type": "object" }, - "AWS::DMS::DataProvider.OracleSettings": { + "AWS::Connect::Workspace.WorkspaceThemeConfig": { "additionalProperties": false, "properties": { - "AsmServer": { - "markdownDescription": "For an Oracle source endpoint, your ASM server address. You can set this value from the `asm_server` value. You set `asm_server` as part of the extra connection attribute string to access an Oracle server with Binary Reader that uses ASM. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", - "title": "AsmServer", - "type": "string" + "Palette": { + "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemePalette", + "markdownDescription": "The color palette configuration for the workspace theme.", + "title": "Palette" }, - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", - "type": "string" + "Typography": { + "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemeTypography", + "markdownDescription": "The typography configuration for the workspace theme.", + "title": "Typography" + } + }, + "type": "object" + }, + "AWS::Connect::Workspace.WorkspaceThemePalette": { + "additionalProperties": false, + "properties": { + "Canvas": { + "$ref": "#/definitions/AWS::Connect::Workspace.PaletteCanvas", + "markdownDescription": "The color configuration for the canvas area.", + "title": "Canvas" }, - "DatabaseName": { - "markdownDescription": "Database name for the endpoint.", - "title": "DatabaseName", - "type": "string" + "Header": { + "$ref": "#/definitions/AWS::Connect::Workspace.PaletteHeader", + "markdownDescription": "The color configuration for the header area.", + "title": "Header" }, - "Port": { - "markdownDescription": "Endpoint TCP port.", - "title": "Port", - "type": "number" + "Navigation": { + "$ref": "#/definitions/AWS::Connect::Workspace.PaletteNavigation", + "markdownDescription": "The color configuration for the navigation area.", + "title": "Navigation" }, - "SecretsManagerOracleAsmAccessRoleArn": { - "markdownDescription": "Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the `SecretsManagerOracleAsmSecret` . This `SecretsManagerOracleAsmSecret` has the secret value that allows access to the Oracle ASM of the endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerOracleAsmSecretId` . Or you can specify clear-text values for `AsmUser` , `AsmPassword` , and `AsmServerName` . You can't specify both. For more information on creating this `SecretsManagerOracleAsmSecret` and the `SecretsManagerOracleAsmAccessRoleArn` and `SecretsManagerOracleAsmSecretId` required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerOracleAsmAccessRoleArn", + "Primary": { + "$ref": "#/definitions/AWS::Connect::Workspace.PalettePrimary", + "markdownDescription": "The primary color configuration used throughout the workspace.", + "title": "Primary" + } + }, + "type": "object" + }, + "AWS::Connect::Workspace.WorkspaceThemeTypography": { + "additionalProperties": false, + "properties": { + "FontFamily": { + "$ref": "#/definitions/AWS::Connect::Workspace.FontFamily", + "markdownDescription": "The font family configuration for text in the workspace.", + "title": "FontFamily" + } + }, + "type": "object" + }, + "AWS::ConnectCampaigns::Campaign": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "SecretsManagerOracleAsmSecretId": { - "markdownDescription": "Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN, partial ARN, or friendly name of the `SecretsManagerOracleAsmSecret` that contains the Oracle ASM connection details for the Oracle endpoint.", - "title": "SecretsManagerOracleAsmSecretId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SecretsManagerSecurityDbEncryptionAccessRoleArn": { - "markdownDescription": "", - "title": "SecretsManagerSecurityDbEncryptionAccessRoleArn", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SecretsManagerSecurityDbEncryptionSecretId": { - "markdownDescription": "", - "title": "SecretsManagerSecurityDbEncryptionSecretId", - "type": "string" + "Metadata": { + "type": "object" }, - "ServerName": { - "markdownDescription": "Fully qualified domain name of the endpoint.\n\nFor an Amazon RDS Oracle instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.", - "title": "ServerName", + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectInstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect instance.", + "title": "ConnectInstanceArn", + "type": "string" + }, + "DialerConfig": { + "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.DialerConfig", + "markdownDescription": "Contains information about the dialer configuration.", + "title": "DialerConfig" + }, + "Name": { + "markdownDescription": "The name of the campaign.", + "title": "Name", + "type": "string" + }, + "OutboundCallConfig": { + "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.OutboundCallConfig", + "markdownDescription": "Contains information about the outbound call configuration.", + "title": "OutboundCallConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "ConnectInstanceArn", + "DialerConfig", + "Name", + "OutboundCallConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ConnectCampaigns::Campaign" + ], "type": "string" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DatabaseName", - "Port", - "ServerName", - "SslMode" + "Type", + "Properties" ], "type": "object" }, - "AWS::DMS::DataProvider.PostgreSqlSettings": { + "AWS::ConnectCampaigns::Campaign.AgentlessDialerConfig": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "Database name for the endpoint.", - "title": "DatabaseName", - "type": "string" - }, - "Port": { - "markdownDescription": "Endpoint TCP port. The default is 5432.", - "title": "Port", + "DialingCapacity": { + "markdownDescription": "The allocation of dialing capacity between multiple active campaigns.", + "title": "DialingCapacity", "type": "number" - }, - "ServerName": { - "markdownDescription": "The host name of the endpoint database.\n\nFor an Amazon RDS PostgreSQL instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.\n\nFor an Aurora PostgreSQL instance, this is the output of [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) , in the `Endpoint` field.", - "title": "ServerName", - "type": "string" - }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", - "type": "string" } }, - "required": [ - "DatabaseName", - "Port", - "ServerName", - "SslMode" - ], "type": "object" }, - "AWS::DMS::DataProvider.RedshiftSettings": { + "AWS::ConnectCampaigns::Campaign.AnswerMachineDetectionConfig": { "additionalProperties": false, "properties": { - "DatabaseName": { - "markdownDescription": "The name of the Amazon Redshift data warehouse (service) that you are working with.", - "title": "DatabaseName", - "type": "string" - }, - "Port": { - "markdownDescription": "The port number for Amazon Redshift. The default value is 5439.", - "title": "Port", - "type": "number" + "AwaitAnswerMachinePrompt": { + "markdownDescription": "Whether waiting for answer machine prompt is enabled.", + "title": "AwaitAnswerMachinePrompt", + "type": "boolean" }, - "ServerName": { - "markdownDescription": "The name of the Amazon Redshift cluster you are using.", - "title": "ServerName", - "type": "string" + "EnableAnswerMachineDetection": { + "markdownDescription": "Whether answering machine detection is enabled.", + "title": "EnableAnswerMachineDetection", + "type": "boolean" } }, "required": [ - "DatabaseName", - "Port", - "ServerName" + "EnableAnswerMachineDetection" ], "type": "object" }, - "AWS::DMS::DataProvider.Settings": { + "AWS::ConnectCampaigns::Campaign.DialerConfig": { "additionalProperties": false, "properties": { - "DocDbSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.DocDbSettings", - "markdownDescription": "", - "title": "DocDbSettings" - }, - "IbmDb2LuwSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.IbmDb2LuwSettings", - "markdownDescription": "", - "title": "IbmDb2LuwSettings" - }, - "IbmDb2zOsSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.IbmDb2zOsSettings", - "markdownDescription": "", - "title": "IbmDb2zOsSettings" - }, - "MariaDbSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.MariaDbSettings", - "markdownDescription": "", - "title": "MariaDbSettings" - }, - "MicrosoftSqlServerSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.MicrosoftSqlServerSettings", - "markdownDescription": "", - "title": "MicrosoftSqlServerSettings" - }, - "MongoDbSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.MongoDbSettings", - "markdownDescription": "", - "title": "MongoDbSettings" - }, - "MySqlSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.MySqlSettings", - "markdownDescription": "", - "title": "MySqlSettings" - }, - "OracleSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.OracleSettings", - "markdownDescription": "", - "title": "OracleSettings" - }, - "PostgreSqlSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.PostgreSqlSettings", - "markdownDescription": "", - "title": "PostgreSqlSettings" + "AgentlessDialerConfig": { + "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.AgentlessDialerConfig", + "markdownDescription": "The configuration of the agentless dialer.", + "title": "AgentlessDialerConfig" }, - "RedshiftSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.RedshiftSettings", - "markdownDescription": "", - "title": "RedshiftSettings" + "PredictiveDialerConfig": { + "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.PredictiveDialerConfig", + "markdownDescription": "The configuration of the predictive dialer.", + "title": "PredictiveDialerConfig" }, - "SybaseAseSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.SybaseAseSettings", - "markdownDescription": "", - "title": "SybaseAseSettings" + "ProgressiveDialerConfig": { + "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.ProgressiveDialerConfig", + "markdownDescription": "The configuration of the progressive dialer.", + "title": "ProgressiveDialerConfig" } }, "type": "object" }, - "AWS::DMS::DataProvider.SybaseAseSettings": { + "AWS::ConnectCampaigns::Campaign.OutboundCallConfig": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", - "type": "string" + "AnswerMachineDetectionConfig": { + "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.AnswerMachineDetectionConfig", + "markdownDescription": "Whether answering machine detection has been enabled.", + "title": "AnswerMachineDetectionConfig" }, - "DatabaseName": { - "markdownDescription": "", - "title": "DatabaseName", + "ConnectContactFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", + "title": "ConnectContactFlowArn", "type": "string" }, - "EncryptPassword": { - "markdownDescription": "", - "title": "EncryptPassword", - "type": "boolean" + "ConnectQueueArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the queue.", + "title": "ConnectQueueArn", + "type": "string" }, - "Port": { - "markdownDescription": "", - "title": "Port", + "ConnectSourcePhoneNumber": { + "markdownDescription": "The phone number associated with the outbound call. This is the caller ID that is displayed to customers when an agent calls them.", + "title": "ConnectSourcePhoneNumber", + "type": "string" + } + }, + "required": [ + "ConnectContactFlowArn" + ], + "type": "object" + }, + "AWS::ConnectCampaigns::Campaign.PredictiveDialerConfig": { + "additionalProperties": false, + "properties": { + "BandwidthAllocation": { + "markdownDescription": "Bandwidth allocation for the predictive dialer.", + "title": "BandwidthAllocation", "type": "number" }, - "ServerName": { - "markdownDescription": "", - "title": "ServerName", - "type": "string" + "DialingCapacity": { + "markdownDescription": "The allocation of dialing capacity between multiple active campaigns.", + "title": "DialingCapacity", + "type": "number" + } + }, + "required": [ + "BandwidthAllocation" + ], + "type": "object" + }, + "AWS::ConnectCampaigns::Campaign.ProgressiveDialerConfig": { + "additionalProperties": false, + "properties": { + "BandwidthAllocation": { + "markdownDescription": "Bandwidth allocation for the progressive dialer.", + "title": "BandwidthAllocation", + "type": "number" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", - "type": "string" + "DialingCapacity": { + "markdownDescription": "The allocation of dialing capacity between multiple active campaigns.", + "title": "DialingCapacity", + "type": "number" } }, "required": [ - "Port", - "ServerName", - "SslMode" + "BandwidthAllocation" ], "type": "object" }, - "AWS::DMS::Endpoint": { + "AWS::ConnectCampaignsV2::Campaign": { "additionalProperties": false, "properties": { "Condition": { @@ -99795,174 +99155,72 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the certificate.", - "title": "CertificateArn", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The name of the endpoint database. For a MySQL source or target endpoint, don't specify `DatabaseName` . To migrate to a specific database, use this setting and `targetDbType` .", - "title": "DatabaseName", - "type": "string" - }, - "DocDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings", - "markdownDescription": "Settings in JSON format for the source and target DocumentDB endpoint. For more information about other available settings, see [Using extra connections attributes with Amazon DocumentDB as a source](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DocumentDB.html#CHAP_Source.DocumentDB.ECAs) and [Using Amazon DocumentDB as a target for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DocumentDB.html) in the *AWS Database Migration Service User Guide* .", - "title": "DocDbSettings" - }, - "DynamoDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings", - "markdownDescription": "Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see [Using object mapping to migrate data to DynamoDB](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping) in the *AWS Database Migration Service User Guide* .", - "title": "DynamoDbSettings" - }, - "ElasticsearchSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.ElasticsearchSettings", - "markdownDescription": "Settings in JSON format for the target OpenSearch endpoint. For more information about the available settings, see [Extra connection attributes when using OpenSearch as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration) in the *AWS Database Migration Service User Guide* .", - "title": "ElasticsearchSettings" - }, - "EndpointIdentifier": { - "markdownDescription": "The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", - "title": "EndpointIdentifier", - "type": "string" - }, - "EndpointType": { - "markdownDescription": "The type of endpoint. Valid values are `source` and `target` .", - "title": "EndpointType", - "type": "string" - }, - "EngineName": { - "markdownDescription": "The type of engine for the endpoint, depending on the `EndpointType` value.\n\n*Valid values* : `mysql` | `oracle` | `postgres` | `mariadb` | `aurora` | `aurora-postgresql` | `opensearch` | `redshift` | `redshift-serverless` | `s3` | `db2` | `azuredb` | `sybase` | `dynamodb` | `mongodb` | `kinesis` | `kafka` | `elasticsearch` | `docdb` | `sqlserver` | `neptune`", - "title": "EngineName", - "type": "string" - }, - "ExtraConnectionAttributes": { - "markdownDescription": "Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For information on the attributes available for connecting your source or target endpoint, see [Working with AWS DMS Endpoints](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html) in the *AWS Database Migration Service User Guide* .", - "title": "ExtraConnectionAttributes", - "type": "string" - }, - "GcpMySQLSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings", - "markdownDescription": "Settings in JSON format for the source GCP MySQL endpoint. These settings are much the same as the settings for any MySQL-compatible endpoint. For more information, see [Extra connection attributes when using MySQL as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "GcpMySQLSettings" - }, - "IbmDb2Settings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings", - "markdownDescription": "Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available settings, see [Extra connection attributes when using Db2 LUW as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "IbmDb2Settings" - }, - "KafkaSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings", - "markdownDescription": "Settings in JSON format for the target Apache Kafka endpoint. For more information about other available settings, see [Using object mapping to migrate data to a Kafka topic](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping) in the *AWS Database Migration Service User Guide* .", - "title": "KafkaSettings" - }, - "KinesisSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings", - "markdownDescription": "Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about other available settings, see [Using object mapping to migrate data to a Kinesis data stream](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping) in the *AWS Database Migration Service User Guide* .", - "title": "KinesisSettings" - }, - "KmsKeyId": { - "markdownDescription": "An AWS key identifier that is used to encrypt the connection parameters for the endpoint.\n\nIf you don't specify a value for the `KmsKeyId` parameter, AWS DMS uses your default encryption key.\n\nAWS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Region .", - "title": "KmsKeyId", - "type": "string" - }, - "MicrosoftSqlServerSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings", - "markdownDescription": "Settings in JSON format for the source and target Microsoft SQL Server endpoint. For information about other available settings, see [Extra connection attributes when using SQL Server as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib) and [Extra connection attributes when using SQL Server as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "MicrosoftSqlServerSettings" - }, - "MongoDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings", - "markdownDescription": "Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see [Using MongoDB as a target for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration) in the *AWS Database Migration Service User Guide* .", - "title": "MongoDbSettings" - }, - "MySqlSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings", - "markdownDescription": "Settings in JSON format for the source and target MySQL endpoint. For information about other available settings, see [Extra connection attributes when using MySQL as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib) and [Extra connection attributes when using a MySQL-compatible database as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "MySqlSettings" + "ChannelSubtypeConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.ChannelSubtypeConfig", + "markdownDescription": "Contains channel subtype configuration for an outbound campaign.", + "title": "ChannelSubtypeConfig" }, - "NeptuneSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings", - "markdownDescription": "Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see [Specifying endpoint settings for Amazon Neptune as a target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings) in the *AWS Database Migration Service User Guide* .", - "title": "NeptuneSettings" + "CommunicationLimitsOverride": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationLimitsConfig", + "markdownDescription": "Communication limits configuration for an outbound campaign.", + "title": "CommunicationLimitsOverride" }, - "OracleSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings", - "markdownDescription": "Settings in JSON format for the source and target Oracle endpoint. For information about other available settings, see [Extra connection attributes when using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib) and [Extra connection attributes when using Oracle as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "OracleSettings" + "CommunicationTimeConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationTimeConfig", + "markdownDescription": "Contains communication time configuration for an outbound campaign.", + "title": "CommunicationTimeConfig" }, - "Password": { - "markdownDescription": "The password to be used to log in to the endpoint database.", - "title": "Password", + "ConnectCampaignFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect campaign flow associated with the outbound campaign.", + "title": "ConnectCampaignFlowArn", "type": "string" }, - "Port": { - "markdownDescription": "The port used by the endpoint database.", - "title": "Port", - "type": "number" - }, - "PostgreSqlSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings", - "markdownDescription": "Settings in JSON format for the source and target PostgreSQL endpoint.\n\nFor information about other available settings, 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) and [Extra connection attributes when using PostgreSQL as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "PostgreSqlSettings" - }, - "RedisSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.RedisSettings", - "markdownDescription": "Settings in JSON format for the target Redis endpoint. For information about other available settings, see [Specifying endpoint settings for Redis as a target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redis.html#CHAP_Target.Redis.EndpointSettings) in the *AWS Database Migration Service User Guide* .", - "title": "RedisSettings" - }, - "RedshiftSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings", - "markdownDescription": "Settings in JSON format for the Amazon Redshift endpoint.\n\nFor more information about other available settings, see [Extra connection attributes when using Amazon Redshift as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html#CHAP_Target.Redshift.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "RedshiftSettings" - }, - "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", + "ConnectInstanceId": { + "markdownDescription": "The identifier of the Amazon Connect instance. You can find the `instanceId` in the ARN of the instance.", + "title": "ConnectInstanceId", "type": "string" }, - "S3Settings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings", - "markdownDescription": "Settings in JSON format for the source and target Amazon S3 endpoint. For more information about other available settings, see [Extra connection attributes when using Amazon S3 as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.S3.html#CHAP_Source.S3.Configuring) and [Extra connection attributes when using Amazon S3 as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring) in the *AWS Database Migration Service User Guide* .", - "title": "S3Settings" + "EntryLimitsConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EntryLimitsConfig" }, - "ServerName": { - "markdownDescription": "The name of the server where the endpoint database resides.", - "title": "ServerName", + "Name": { + "markdownDescription": "The name of the outbound campaign.", + "title": "Name", "type": "string" }, - "SslMode": { - "markdownDescription": "The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is `none` .\n\n> When `engine_name` is set to S3, the only allowed value is `none` .", - "title": "SslMode", - "type": "string" + "Schedule": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.Schedule", + "markdownDescription": "Contains the schedule configuration.", + "title": "Schedule" }, - "SybaseSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings", - "markdownDescription": "Settings in JSON format for the source and target SAP ASE endpoint. For information about other available settings, see [Extra connection attributes when using SAP ASE as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib) and [Extra connection attributes when using SAP ASE as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "SybaseSettings" + "Source": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.Source", + "markdownDescription": "Contains source configuration.", + "title": "Source" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more tags to be assigned to the endpoint.", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, `{ \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }` .", "title": "Tags", "type": "array" }, - "Username": { - "markdownDescription": "The user name to be used to log in to the endpoint database.", - "title": "Username", + "Type": { + "markdownDescription": "The type of campaign.", + "title": "Type", "type": "string" } }, "required": [ - "EndpointType", - "EngineName" + "ConnectInstanceId", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::Endpoint" + "AWS::ConnectCampaignsV2::Campaign" ], "type": "string" }, @@ -99981,1277 +99239,971 @@ ], "type": "object" }, - "AWS::DMS::Endpoint.DocDbSettings": { + "AWS::ConnectCampaignsV2::Campaign.AnswerMachineDetectionConfig": { "additionalProperties": false, "properties": { - "DocsToInvestigate": { - "markdownDescription": "Indicates the number of documents to preview to determine the document organization. Use this setting when `NestingLevel` is set to `\"one\"` .\n\nMust be a positive value greater than `0` . Default value is `1000` .", - "title": "DocsToInvestigate", - "type": "number" - }, - "ExtractDocId": { - "markdownDescription": "Specifies the document ID. Use this setting when `NestingLevel` is set to `\"none\"` .\n\nDefault value is `\"false\"` .", - "title": "ExtractDocId", + "AwaitAnswerMachinePrompt": { + "markdownDescription": "Whether or not waiting for an answer machine prompt is enabled.", + "title": "AwaitAnswerMachinePrompt", "type": "boolean" }, - "NestingLevel": { - "markdownDescription": "Specifies either document or table mode.\n\nDefault value is `\"none\"` . Specify `\"none\"` to use document mode. Specify `\"one\"` to use table mode.", - "title": "NestingLevel", - "type": "string" - }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the DocumentDB endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", - "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the DocumentDB endpoint connection details.", - "title": "SecretsManagerSecretId", - "type": "string" + "EnableAnswerMachineDetection": { + "markdownDescription": "Enables answering machine detection.", + "title": "EnableAnswerMachineDetection", + "type": "boolean" } }, + "required": [ + "EnableAnswerMachineDetection" + ], "type": "object" }, - "AWS::DMS::Endpoint.DynamoDbSettings": { + "AWS::ConnectCampaignsV2::Campaign.ChannelSubtypeConfig": { "additionalProperties": false, "properties": { - "ServiceAccessRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the `iam:PassRole` action.", - "title": "ServiceAccessRoleArn", - "type": "string" + "Email": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EmailChannelSubtypeConfig", + "markdownDescription": "The configuration of the email channel subtype.", + "title": "Email" + }, + "Sms": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.SmsChannelSubtypeConfig", + "markdownDescription": "The configuration of the SMS channel subtype.", + "title": "Sms" + }, + "Telephony": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TelephonyChannelSubtypeConfig", + "markdownDescription": "The configuration of the telephony channel subtype.", + "title": "Telephony" + }, + "WhatsApp": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.WhatsAppChannelSubtypeConfig", + "markdownDescription": "The configuration of the WhatsApp channel subtype.", + "title": "WhatsApp" } }, "type": "object" }, - "AWS::DMS::Endpoint.ElasticsearchSettings": { + "AWS::ConnectCampaignsV2::Campaign.CommunicationLimit": { "additionalProperties": false, "properties": { - "EndpointUri": { - "markdownDescription": "The endpoint for the OpenSearch cluster. AWS DMS uses HTTPS if a transport protocol (either HTTP or HTTPS) isn't specified.", - "title": "EndpointUri", - "type": "string" - }, - "ErrorRetryDuration": { - "markdownDescription": "The maximum number of seconds for which DMS retries failed API requests to the OpenSearch cluster.", - "title": "ErrorRetryDuration", + "Frequency": { + "markdownDescription": "The frequency of communication limit evaluation.", + "title": "Frequency", "type": "number" }, - "FullLoadErrorPercentage": { - "markdownDescription": "The maximum percentage of records that can fail to be written before a full load operation stops.\n\nTo avoid early failure, this counter is only effective after 1,000 records are transferred. OpenSearch also has the concept of error monitoring during the last 10 minutes of an Observation Window. If transfer of all records fail in the last 10 minutes, the full load operation stops.", - "title": "FullLoadErrorPercentage", + "MaxCountPerRecipient": { + "markdownDescription": "The maximum outreaching count for each recipient.", + "title": "MaxCountPerRecipient", "type": "number" }, - "ServiceAccessRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the `iam:PassRole` action.", - "title": "ServiceAccessRoleArn", + "Unit": { + "markdownDescription": "The unit of communication limit evaluation.", + "title": "Unit", "type": "string" } }, + "required": [ + "Frequency", + "MaxCountPerRecipient", + "Unit" + ], "type": "object" }, - "AWS::DMS::Endpoint.GcpMySQLSettings": { + "AWS::ConnectCampaignsV2::Campaign.CommunicationLimits": { "additionalProperties": false, "properties": { - "AfterConnectScript": { - "markdownDescription": "Specifies a script to run immediately after AWS DMS connects to the endpoint. The migration task continues running regardless if the SQL statement succeeds or fails.\n\nFor this parameter, provide the code of the script itself, not the name of a file containing the script.", - "title": "AfterConnectScript", - "type": "string" - }, - "CleanSourceMetadataOnMismatch": { - "markdownDescription": "Adjusts the behavior of AWS DMS when migrating from an SQL Server source database that is hosted as part of an Always On availability group cluster. If you need AWS DMS to poll all the nodes in the Always On cluster for transaction backups, set this attribute to `false` .", - "title": "CleanSourceMetadataOnMismatch", - "type": "boolean" + "CommunicationLimitList": { + "items": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationLimit" + }, + "markdownDescription": "The list of CommunicationLimits.", + "title": "CommunicationLimitList", + "type": "array" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.CommunicationLimitsConfig": { + "additionalProperties": false, + "properties": { + "AllChannelsSubtypes": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationLimits", + "markdownDescription": "The CommunicationLimits that apply to all channel subtypes defined in an outbound campaign.", + "title": "AllChannelsSubtypes" }, - "DatabaseName": { - "markdownDescription": "Database name for the endpoint. For a MySQL source or target endpoint, don't explicitly specify the database using the `DatabaseName` request parameter on either the `CreateEndpoint` or `ModifyEndpoint` API call. Specifying `DatabaseName` when you create or modify a MySQL endpoint replicates all the task tables to this single database. For MySQL endpoints, you specify the database only when you specify the schema in the table-mapping rules of the AWS DMS task.", - "title": "DatabaseName", + "InstanceLimitsHandling": { + "markdownDescription": "Opt-in or Opt-out from instance-level limits.", + "title": "InstanceLimitsHandling", "type": "string" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.CommunicationTimeConfig": { + "additionalProperties": false, + "properties": { + "Email": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", + "markdownDescription": "The communication time configuration for the email channel subtype.", + "title": "Email" }, - "EventsPollInterval": { - "markdownDescription": "Specifies how often to check the binary log for new changes/events when the database is idle. The default is five seconds.\n\nExample: `eventsPollInterval=5;`\n\nIn the example, AWS DMS checks for changes in the binary logs every five seconds.", - "title": "EventsPollInterval", - "type": "number" + "LocalTimeZoneConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.LocalTimeZoneConfig", + "markdownDescription": "The local timezone configuration.", + "title": "LocalTimeZoneConfig" }, - "MaxFileSize": { - "markdownDescription": "Specifies the maximum size (in KB) of any .csv file used to transfer data to a MySQL-compatible database.\n\nExample: `maxFileSize=512`", - "title": "MaxFileSize", - "type": "number" + "Sms": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", + "markdownDescription": "The communication time configuration for the SMS channel subtype.", + "title": "Sms" }, - "ParallelLoadThreads": { - "markdownDescription": "Improves performance when loading data into the MySQL-compatible target database. Specifies how many threads to use to load the data into the MySQL-compatible target database. Setting a large number of threads can have an adverse effect on database performance, because a separate connection is required for each thread. The default is one.\n\nExample: `parallelLoadThreads=1`", - "title": "ParallelLoadThreads", - "type": "number" + "Telephony": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", + "markdownDescription": "The communication time configuration for the telephony channel subtype.", + "title": "Telephony" }, - "Password": { - "markdownDescription": "Endpoint connection password.", - "title": "Password", + "WhatsApp": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", + "markdownDescription": "The communication time configuration for the WhatsApp channel subtype.", + "title": "WhatsApp" + } + }, + "required": [ + "LocalTimeZoneConfig" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.DailyHour": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The key for DailyHour.", + "title": "Key", "type": "string" }, - "Port": { - "markdownDescription": "The port used by the endpoint database.", - "title": "Port", + "Value": { + "items": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeRange" + }, + "markdownDescription": "The value for DailyHour.", + "title": "Value", + "type": "array" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.EmailChannelSubtypeConfig": { + "additionalProperties": false, + "properties": { + "Capacity": { + "markdownDescription": "The allocation of email capacity between multiple running outbound campaigns.", + "title": "Capacity", "type": "number" }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret.` The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the MySQL endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", - "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MySQL endpoint connection details.", - "title": "SecretsManagerSecretId", - "type": "string" + "DefaultOutboundConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EmailOutboundConfig", + "markdownDescription": "The default email outbound configuration of an outbound campaign.", + "title": "DefaultOutboundConfig" }, - "ServerName": { - "markdownDescription": "The MySQL host name.", - "title": "ServerName", + "OutboundMode": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EmailOutboundMode", + "markdownDescription": "The outbound mode for email of an outbound campaign.", + "title": "OutboundMode" + } + }, + "required": [ + "DefaultOutboundConfig", + "OutboundMode" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.EmailOutboundConfig": { + "additionalProperties": false, + "properties": { + "ConnectSourceEmailAddress": { + "markdownDescription": "The Amazon Connect source email address.", + "title": "ConnectSourceEmailAddress", "type": "string" }, - "ServerTimezone": { - "markdownDescription": "Specifies the time zone for the source MySQL database. Don't enclose time zones in single quotation marks.\n\nExample: `serverTimezone=US/Pacific;`", - "title": "ServerTimezone", + "SourceEmailAddressDisplayName": { + "markdownDescription": "The display name for the Amazon Connect source email address.", + "title": "SourceEmailAddressDisplayName", "type": "string" }, - "Username": { - "markdownDescription": "Endpoint connection user name.", - "title": "Username", + "WisdomTemplateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Q in Connect template.", + "title": "WisdomTemplateArn", "type": "string" } }, + "required": [ + "ConnectSourceEmailAddress", + "WisdomTemplateArn" + ], "type": "object" }, - "AWS::DMS::Endpoint.IbmDb2Settings": { + "AWS::ConnectCampaignsV2::Campaign.EmailOutboundMode": { "additionalProperties": false, "properties": { - "CurrentLsn": { - "markdownDescription": "For ongoing replication (CDC), use CurrentLSN to specify a log sequence number (LSN) where you want the replication to start.", - "title": "CurrentLsn", - "type": "string" - }, - "KeepCsvFiles": { - "markdownDescription": "If true, AWS DMS saves any .csv files to the Db2 LUW target that were used to replicate data. DMS uses these files for analysis and troubleshooting.\n\nThe default value is false.", - "title": "KeepCsvFiles", - "type": "boolean" - }, - "LoadTimeout": { - "markdownDescription": "The amount of time (in milliseconds) before AWS DMS times out operations performed by DMS on the Db2 target. The default value is 1200 (20 minutes).", - "title": "LoadTimeout", - "type": "number" - }, - "MaxFileSize": { - "markdownDescription": "Specifies the maximum size (in KB) of .csv files used to transfer data to Db2 LUW.", - "title": "MaxFileSize", - "type": "number" - }, - "MaxKBytesPerRead": { - "markdownDescription": "Maximum number of bytes per read, as a NUMBER value. The default is 64 KB.", - "title": "MaxKBytesPerRead", + "AgentlessConfig": { + "markdownDescription": "The agentless outbound mode configuration for email.", + "title": "AgentlessConfig", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.EntryLimitsConfig": { + "additionalProperties": false, + "properties": { + "MaxEntryCount": { "type": "number" }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value ofthe AWS Secrets Manager secret that allows access to the Db2 LUW endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", + "MinEntryInterval": { "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the IBMDB2 endpoint connection details.", - "title": "SecretsManagerSecretId", + } + }, + "required": [ + "MaxEntryCount", + "MinEntryInterval" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.EventTrigger": { + "additionalProperties": false, + "properties": { + "CustomerProfilesDomainArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Customer Profiles domain.", + "title": "CustomerProfilesDomainArn", "type": "string" - }, - "SetDataCaptureChanges": { - "markdownDescription": "Enables ongoing replication (CDC) as a BOOLEAN value. The default is true.", - "title": "SetDataCaptureChanges", - "type": "boolean" - }, - "WriteBufferSize": { - "markdownDescription": "The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk on the DMS replication instance. The default value is 1024 (1 MB).", - "title": "WriteBufferSize", - "type": "number" } }, "type": "object" }, - "AWS::DMS::Endpoint.KafkaSettings": { + "AWS::ConnectCampaignsV2::Campaign.LocalTimeZoneConfig": { "additionalProperties": false, "properties": { - "Broker": { - "markdownDescription": "A comma-separated list of one or more broker locations in your Kafka cluster that host your Kafka instance. Specify each broker location in the form `*broker-hostname-or-ip* : *port*` . For example, `\"ec2-12-345-678-901.compute-1.amazonaws.com:2345\"` . For more information and examples of specifying a list of broker locations, see [Using Apache Kafka as a target for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html) in the *AWS Database Migration Service User Guide* .", - "title": "Broker", + "DefaultTimeZone": { + "markdownDescription": "The timezone to use for all recipients.", + "title": "DefaultTimeZone", "type": "string" }, - "IncludeControlDetails": { - "markdownDescription": "Shows detailed control information for table definition, column definition, and table and column changes in the Kafka message output. The default is `false` .", - "title": "IncludeControlDetails", - "type": "boolean" - }, - "IncludeNullAndEmpty": { - "markdownDescription": "Include NULL and empty columns for records migrated to the endpoint. The default is `false` .", - "title": "IncludeNullAndEmpty", - "type": "boolean" - }, - "IncludePartitionValue": { - "markdownDescription": "Shows the partition value within the Kafka message output unless the partition type is `schema-table-type` . The default is `false` .", - "title": "IncludePartitionValue", - "type": "boolean" - }, - "IncludeTableAlterOperations": { - "markdownDescription": "Includes any data definition language (DDL) operations that change the table in the control data, such as `rename-table` , `drop-table` , `add-column` , `drop-column` , and `rename-column` . The default is `false` .", - "title": "IncludeTableAlterOperations", - "type": "boolean" - }, - "IncludeTransactionDetails": { - "markdownDescription": "Provides detailed transaction information from the source database. This information includes a commit timestamp, a log position, and values for `transaction_id` , previous `transaction_id` , and `transaction_record_id` (the record offset within a transaction). The default is `false` .", - "title": "IncludeTransactionDetails", - "type": "boolean" + "LocalTimeZoneDetection": { + "items": { + "type": "string" + }, + "markdownDescription": "Detects methods for the recipient's timezone.", + "title": "LocalTimeZoneDetection", + "type": "array" }, - "MessageFormat": { - "markdownDescription": "The output format for the records created on the endpoint. The message format is `JSON` (default) or `JSON_UNFORMATTED` (a single line with no tab).", - "title": "MessageFormat", + "LocalTimeZoneDetectionScope": { "type": "string" - }, - "MessageMaxBytes": { - "markdownDescription": "The maximum size in bytes for records created on the endpoint The default is 1,000,000.", - "title": "MessageMaxBytes", + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.OpenHours": { + "additionalProperties": false, + "properties": { + "DailyHours": { + "items": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.DailyHour" + }, + "markdownDescription": "The daily hours configuration.", + "title": "DailyHours", + "type": "array" + } + }, + "required": [ + "DailyHours" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.PredictiveConfig": { + "additionalProperties": false, + "properties": { + "BandwidthAllocation": { + "markdownDescription": "Bandwidth allocation for the predictive outbound mode.", + "title": "BandwidthAllocation", "type": "number" - }, - "NoHexPrefix": { - "markdownDescription": "Set this optional parameter to `true` to avoid adding a '0x' prefix to raw data in hexadecimal format. For example, by default, AWS DMS adds a '0x' prefix to the LOB column type in hexadecimal format moving from an Oracle source to a Kafka target. Use the `NoHexPrefix` endpoint setting to enable migration of RAW data type columns without adding the '0x' prefix.", - "title": "NoHexPrefix", - "type": "boolean" - }, - "PartitionIncludeSchemaTable": { - "markdownDescription": "Prefixes schema and table names to partition values, when the partition type is `primary-key-type` . Doing this increases data distribution among Kafka partitions. For example, suppose that a SysBench schema has thousands of tables and each table has only limited range for a primary key. In this case, the same primary key is sent from thousands of tables to the same partition, which causes throttling. The default is `false` .", - "title": "PartitionIncludeSchemaTable", - "type": "boolean" - }, - "SaslPassword": { - "markdownDescription": "The secure password that you created when you first set up your Amazon MSK cluster to validate a client identity and make an encrypted connection between server and client using SASL-SSL authentication.", - "title": "SaslPassword", - "type": "string" - }, - "SaslUserName": { - "markdownDescription": "The secure user name you created when you first set up your Amazon MSK cluster to validate a client identity and make an encrypted connection between server and client using SASL-SSL authentication.", - "title": "SaslUserName", - "type": "string" - }, - "SecurityProtocol": { - "markdownDescription": "Set secure connection to a Kafka target endpoint using Transport Layer Security (TLS). Options include `ssl-encryption` , `ssl-authentication` , and `sasl-ssl` . `sasl-ssl` requires `SaslUsername` and `SaslPassword` .", - "title": "SecurityProtocol", - "type": "string" - }, - "SslCaCertificateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the private certificate authority (CA) cert that AWS DMS uses to securely connect to your Kafka target endpoint.", - "title": "SslCaCertificateArn", - "type": "string" - }, - "SslClientCertificateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the client certificate used to securely connect to a Kafka target endpoint.", - "title": "SslClientCertificateArn", - "type": "string" - }, - "SslClientKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the client private key used to securely connect to a Kafka target endpoint.", - "title": "SslClientKeyArn", - "type": "string" - }, - "SslClientKeyPassword": { - "markdownDescription": "The password for the client private key used to securely connect to a Kafka target endpoint.", - "title": "SslClientKeyPassword", - "type": "string" - }, - "Topic": { - "markdownDescription": "The topic to which you migrate the data. If you don't specify a topic, AWS DMS specifies `\"kafka-default-topic\"` as the migration topic.", - "title": "Topic", - "type": "string" } }, + "required": [ + "BandwidthAllocation" + ], "type": "object" }, - "AWS::DMS::Endpoint.KinesisSettings": { + "AWS::ConnectCampaignsV2::Campaign.PreviewConfig": { "additionalProperties": false, "properties": { - "IncludeControlDetails": { - "markdownDescription": "Shows detailed control information for table definition, column definition, and table and column changes in the Kinesis message output. The default is `false` .", - "title": "IncludeControlDetails", - "type": "boolean" - }, - "IncludeNullAndEmpty": { - "markdownDescription": "Include NULL and empty columns for records migrated to the endpoint. The default is `false` .", - "title": "IncludeNullAndEmpty", - "type": "boolean" - }, - "IncludePartitionValue": { - "markdownDescription": "Shows the partition value within the Kinesis message output, unless the partition type is `schema-table-type` . The default is `false` .", - "title": "IncludePartitionValue", - "type": "boolean" - }, - "IncludeTableAlterOperations": { - "markdownDescription": "Includes any data definition language (DDL) operations that change the table in the control data, such as `rename-table` , `drop-table` , `add-column` , `drop-column` , and `rename-column` . The default is `false` .", - "title": "IncludeTableAlterOperations", - "type": "boolean" + "AgentActions": { + "items": { + "type": "string" + }, + "markdownDescription": "Agent actions for the preview outbound mode.", + "title": "AgentActions", + "type": "array" }, - "IncludeTransactionDetails": { - "markdownDescription": "Provides detailed transaction information from the source database. This information includes a commit timestamp, a log position, and values for `transaction_id` , previous `transaction_id` , and `transaction_record_id` (the record offset within a transaction). The default is `false` .", - "title": "IncludeTransactionDetails", - "type": "boolean" + "BandwidthAllocation": { + "markdownDescription": "Bandwidth allocation for the preview outbound mode.", + "title": "BandwidthAllocation", + "type": "number" }, - "MessageFormat": { - "markdownDescription": "The output format for the records created on the endpoint. The message format is `JSON` (default) or `JSON_UNFORMATTED` (a single line with no tab).", - "title": "MessageFormat", + "TimeoutConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeoutConfig", + "markdownDescription": "Countdown timer configuration for preview outbound mode.", + "title": "TimeoutConfig" + } + }, + "required": [ + "BandwidthAllocation", + "TimeoutConfig" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.ProgressiveConfig": { + "additionalProperties": false, + "properties": { + "BandwidthAllocation": { + "markdownDescription": "Bandwidth allocation for the progressive outbound mode.", + "title": "BandwidthAllocation", + "type": "number" + } + }, + "required": [ + "BandwidthAllocation" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.RestrictedPeriod": { + "additionalProperties": false, + "properties": { + "EndDate": { + "markdownDescription": "The end date of the restricted period.", + "title": "EndDate", "type": "string" }, - "NoHexPrefix": { - "markdownDescription": "Set this optional parameter to `true` to avoid adding a '0x' prefix to raw data in hexadecimal format. For example, by default, AWS DMS adds a '0x' prefix to the LOB column type in hexadecimal format moving from an Oracle source to an Amazon Kinesis target. Use the `NoHexPrefix` endpoint setting to enable migration of RAW data type columns without adding the '0x' prefix.", - "title": "NoHexPrefix", - "type": "boolean" - }, - "PartitionIncludeSchemaTable": { - "markdownDescription": "Prefixes schema and table names to partition values, when the partition type is `primary-key-type` . Doing this increases data distribution among Kinesis shards. For example, suppose that a SysBench schema has thousands of tables and each table has only limited range for a primary key. In this case, the same primary key is sent from thousands of tables to the same shard, which causes throttling. The default is `false` .", - "title": "PartitionIncludeSchemaTable", - "type": "boolean" - }, - "ServiceAccessRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the IAM role that AWS DMS uses to write to the Kinesis data stream. The role must allow the `iam:PassRole` action.", - "title": "ServiceAccessRoleArn", + "Name": { + "markdownDescription": "The name of the restricted period.", + "title": "Name", "type": "string" }, - "StreamArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the Amazon Kinesis Data Streams endpoint.", - "title": "StreamArn", + "StartDate": { + "markdownDescription": "The start date of the restricted period.", + "title": "StartDate", "type": "string" } }, + "required": [ + "EndDate", + "StartDate" + ], "type": "object" }, - "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { + "AWS::ConnectCampaignsV2::Campaign.RestrictedPeriods": { "additionalProperties": false, "properties": { - "BcpPacketSize": { - "markdownDescription": "The maximum size of the packets (in bytes) used to transfer data using BCP.", - "title": "BcpPacketSize", - "type": "number" - }, - "ControlTablesFileGroup": { - "markdownDescription": "Specifies a file group for the AWS DMS internal tables. When the replication task starts, all the internal AWS DMS control tables (awsdms_ apply_exception, awsdms_apply, awsdms_changes) are created for the specified file group.", - "title": "ControlTablesFileGroup", + "RestrictedPeriodList": { + "items": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.RestrictedPeriod" + }, + "markdownDescription": "The restricted period list.", + "title": "RestrictedPeriodList", + "type": "array" + } + }, + "required": [ + "RestrictedPeriodList" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.Schedule": { + "additionalProperties": false, + "properties": { + "EndTime": { + "markdownDescription": "The end time of the schedule in UTC.", + "title": "EndTime", "type": "string" }, - "DatabaseName": { - "markdownDescription": "Database name for the endpoint.", - "title": "DatabaseName", + "RefreshFrequency": { + "markdownDescription": "The refresh frequency of the campaign.", + "title": "RefreshFrequency", "type": "string" }, - "ForceLobLookup": { - "markdownDescription": "Forces LOB lookup on inline LOB.", - "title": "ForceLobLookup", - "type": "boolean" - }, - "Password": { - "markdownDescription": "Endpoint connection password.", - "title": "Password", + "StartTime": { + "markdownDescription": "The start time of the schedule in UTC.", + "title": "StartTime", "type": "string" - }, - "Port": { - "markdownDescription": "Endpoint TCP port.", - "title": "Port", + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.SmsChannelSubtypeConfig": { + "additionalProperties": false, + "properties": { + "Capacity": { + "markdownDescription": "The allocation of SMS capacity between multiple running outbound campaigns.", + "title": "Capacity", "type": "number" }, - "QuerySingleAlwaysOnNode": { - "markdownDescription": "Cleans and recreates table metadata information on the replication instance when a mismatch occurs. An example is a situation where running an alter DDL statement on a table might result in different information about the table cached in the replication instance.", - "title": "QuerySingleAlwaysOnNode", - "type": "boolean" - }, - "ReadBackupOnly": { - "markdownDescription": "When this attribute is set to `Y` , AWS DMS only reads changes from transaction log backups and doesn't read from the active transaction log file during ongoing replication. Setting this parameter to `Y` enables you to control active transaction log file growth during full load and ongoing replication tasks. However, it can add some source latency to ongoing replication.", - "title": "ReadBackupOnly", - "type": "boolean" + "DefaultOutboundConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.SmsOutboundConfig", + "markdownDescription": "The default SMS outbound configuration of an outbound campaign.", + "title": "DefaultOutboundConfig" }, - "SafeguardPolicy": { - "markdownDescription": "Use this attribute to minimize the need to access the backup log and enable AWS DMS to prevent truncation using one of the following two methods.\n\n*Start transactions in the database:* This is the default method. When this method is used, AWS DMS prevents TLOG truncation by mimicking a transaction in the database. As long as such a transaction is open, changes that appear after the transaction started aren't truncated. If you need Microsoft Replication to be enabled in your database, then you must choose this method.\n\n*Exclusively use sp_repldone within a single task* : When this method is used, AWS DMS reads the changes and then uses sp_repldone to mark the TLOG transactions as ready for truncation. Although this method doesn't involve any transactional activities, it can only be used when Microsoft Replication isn't running. Also, when using this method, only one AWS DMS task can access the database at any given time. Therefore, if you need to run parallel AWS DMS tasks against the same database, use the default method.", - "title": "SafeguardPolicy", + "OutboundMode": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.SmsOutboundMode", + "markdownDescription": "The outbound mode of SMS for an outbound campaign.", + "title": "OutboundMode" + } + }, + "required": [ + "DefaultOutboundConfig", + "OutboundMode" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.SmsOutboundConfig": { + "additionalProperties": false, + "properties": { + "ConnectSourcePhoneNumberArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect source SMS phone number.", + "title": "ConnectSourcePhoneNumberArn", "type": "string" }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the SQL Server endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", + "WisdomTemplateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Q in Connect template.", + "title": "WisdomTemplateArn", "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MicrosoftSQLServer endpoint connection details.", - "title": "SecretsManagerSecretId", + } + }, + "required": [ + "ConnectSourcePhoneNumberArn", + "WisdomTemplateArn" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.SmsOutboundMode": { + "additionalProperties": false, + "properties": { + "AgentlessConfig": { + "markdownDescription": "Contains agentless outbound mode configuration.", + "title": "AgentlessConfig", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.Source": { + "additionalProperties": false, + "properties": { + "CustomerProfilesSegmentArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Customer Profiles segment.", + "title": "CustomerProfilesSegmentArn", "type": "string" }, - "ServerName": { - "markdownDescription": "Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.", - "title": "ServerName", - "type": "string" + "EventTrigger": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EventTrigger", + "markdownDescription": "The event trigger of the campaign.", + "title": "EventTrigger" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.TelephonyChannelSubtypeConfig": { + "additionalProperties": false, + "properties": { + "Capacity": { + "markdownDescription": "The allocation of telephony capacity between multiple running outbound campaigns.", + "title": "Capacity", + "type": "number" }, - "TlogAccessMode": { - "markdownDescription": "Indicates the mode used to fetch CDC data.", - "title": "TlogAccessMode", + "ConnectQueueId": { + "markdownDescription": "The identifier of the Amazon Connect queue associated with telephony outbound requests of an outbound campaign.", + "title": "ConnectQueueId", "type": "string" }, - "TrimSpaceInChar": { - "markdownDescription": "Use the `TrimSpaceInChar` source endpoint setting to right-trim data on CHAR and NCHAR data types during migration. Setting `TrimSpaceInChar` does not left-trim data. The default value is `true` .", - "title": "TrimSpaceInChar", - "type": "boolean" - }, - "UseBcpFullLoad": { - "markdownDescription": "Use this to attribute to transfer data for full-load operations using BCP. When the target table contains an identity column that does not exist in the source table, you must disable the use BCP for loading table option.", - "title": "UseBcpFullLoad", - "type": "boolean" - }, - "UseThirdPartyBackupDevice": { - "markdownDescription": "When this attribute is set to `Y` , DMS processes third-party transaction log backups if they are created in native format.", - "title": "UseThirdPartyBackupDevice", - "type": "boolean" + "DefaultOutboundConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundConfig", + "markdownDescription": "The default telephony outbound configuration of an outbound campaign.", + "title": "DefaultOutboundConfig" }, - "Username": { - "markdownDescription": "Endpoint connection user name.", - "title": "Username", - "type": "string" + "OutboundMode": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundMode", + "markdownDescription": "The outbound mode of telephony for an outbound campaign.", + "title": "OutboundMode" } }, + "required": [ + "DefaultOutboundConfig", + "OutboundMode" + ], "type": "object" }, - "AWS::DMS::Endpoint.MongoDbSettings": { + "AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundConfig": { "additionalProperties": false, "properties": { - "AuthMechanism": { - "markdownDescription": "The authentication mechanism you use to access the MongoDB source endpoint.\n\nFor the default value, in MongoDB version 2.x, `\"default\"` is `\"mongodb_cr\"` . For MongoDB version 3.x or later, `\"default\"` is `\"scram_sha_1\"` . This setting isn't used when `AuthType` is set to `\"no\"` .", - "title": "AuthMechanism", - "type": "string" + "AnswerMachineDetectionConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.AnswerMachineDetectionConfig", + "markdownDescription": "The answering machine detection configuration.", + "title": "AnswerMachineDetectionConfig" }, - "AuthSource": { - "markdownDescription": "The MongoDB database name. This setting isn't used when `AuthType` is set to `\"no\"` .\n\nThe default is `\"admin\"` .", - "title": "AuthSource", + "ConnectContactFlowId": { + "markdownDescription": "The identifier of the published Amazon Connect contact flow.", + "title": "ConnectContactFlowId", "type": "string" }, - "AuthType": { - "markdownDescription": "The authentication type you use to access the MongoDB source endpoint.\n\nWhen set to `\"no\"` , user name and password parameters are not used and can be empty.", - "title": "AuthType", + "ConnectSourcePhoneNumber": { + "markdownDescription": "The Amazon Connect source phone number.", + "title": "ConnectSourcePhoneNumber", "type": "string" }, - "DatabaseName": { - "markdownDescription": "The database name on the MongoDB source endpoint.", - "title": "DatabaseName", - "type": "string" + "RingTimeout": { + "markdownDescription": "The ring timeout configuration for outbound calls. Specifies how long to wait for the call to be answered before timing out.", + "title": "RingTimeout", + "type": "number" + } + }, + "required": [ + "ConnectContactFlowId" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundMode": { + "additionalProperties": false, + "properties": { + "AgentlessConfig": { + "markdownDescription": "The agentless outbound mode configuration for telephony.", + "title": "AgentlessConfig", + "type": "object" }, - "DocsToInvestigate": { - "markdownDescription": "Indicates the number of documents to preview to determine the document organization. Use this setting when `NestingLevel` is set to `\"one\"` .\n\nMust be a positive value greater than `0` . Default value is `1000` .", - "title": "DocsToInvestigate", - "type": "string" + "PredictiveConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.PredictiveConfig", + "markdownDescription": "Contains predictive outbound mode configuration.", + "title": "PredictiveConfig" }, - "ExtractDocId": { - "markdownDescription": "Specifies the document ID. Use this setting when `NestingLevel` is set to `\"none\"` .\n\nDefault value is `\"false\"` .", - "title": "ExtractDocId", - "type": "string" + "PreviewConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.PreviewConfig", + "markdownDescription": "Contains preview outbound mode configuration.", + "title": "PreviewConfig" }, - "NestingLevel": { - "markdownDescription": "Specifies either document or table mode.\n\nDefault value is `\"none\"` . Specify `\"none\"` to use document mode. Specify `\"one\"` to use table mode.", - "title": "NestingLevel", + "ProgressiveConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.ProgressiveConfig", + "markdownDescription": "Contains progressive telephony outbound mode configuration.", + "title": "ProgressiveConfig" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.TimeRange": { + "additionalProperties": false, + "properties": { + "EndTime": { + "markdownDescription": "The end time of the time range.", + "title": "EndTime", "type": "string" }, - "Password": { - "markdownDescription": "The password for the user account you use to access the MongoDB source endpoint.", - "title": "Password", + "StartTime": { + "markdownDescription": "The start time of the time range.", + "title": "StartTime", "type": "string" + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.TimeWindow": { + "additionalProperties": false, + "properties": { + "OpenHours": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.OpenHours", + "markdownDescription": "The open hours configuration.", + "title": "OpenHours" }, - "Port": { - "markdownDescription": "The port value for the MongoDB source endpoint.", - "title": "Port", + "RestrictedPeriods": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.RestrictedPeriods", + "markdownDescription": "The restricted periods configuration.", + "title": "RestrictedPeriods" + } + }, + "required": [ + "OpenHours" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.TimeoutConfig": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "markdownDescription": "Duration in seconds for the countdown timer.", + "title": "DurationInSeconds", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.WhatsAppChannelSubtypeConfig": { + "additionalProperties": false, + "properties": { + "Capacity": { + "markdownDescription": "The allocation of WhatsApp capacity between multiple running outbound campaigns.", + "title": "Capacity", "type": "number" }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the MongoDB endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", - "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MongoDB endpoint connection details.", - "title": "SecretsManagerSecretId", - "type": "string" + "DefaultOutboundConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundConfig", + "markdownDescription": "The default WhatsApp outbound configuration of an outbound campaign.", + "title": "DefaultOutboundConfig" }, - "ServerName": { - "markdownDescription": "The name of the server on the MongoDB source endpoint.", - "title": "ServerName", + "OutboundMode": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundMode", + "markdownDescription": "The outbound mode for WhatsApp of an outbound campaign.", + "title": "OutboundMode" + } + }, + "required": [ + "DefaultOutboundConfig", + "OutboundMode" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundConfig": { + "additionalProperties": false, + "properties": { + "ConnectSourcePhoneNumberArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect source WhatsApp phone number.", + "title": "ConnectSourcePhoneNumberArn", "type": "string" }, - "Username": { - "markdownDescription": "The user name you use to access the MongoDB source endpoint.", - "title": "Username", + "WisdomTemplateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Q in Connect template.", + "title": "WisdomTemplateArn", "type": "string" } }, + "required": [ + "ConnectSourcePhoneNumberArn", + "WisdomTemplateArn" + ], "type": "object" }, - "AWS::DMS::Endpoint.MySqlSettings": { + "AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundMode": { "additionalProperties": false, "properties": { - "AfterConnectScript": { - "markdownDescription": "Specifies a script to run immediately after AWS DMS connects to the endpoint. The migration task continues running regardless if the SQL statement succeeds or fails.\n\nFor this parameter, provide the code of the script itself, not the name of a file containing the script.", - "title": "AfterConnectScript", + "AgentlessConfig": { + "markdownDescription": "", + "title": "AgentlessConfig", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ControlCatalog::CommonControl": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "CleanSourceMetadataOnMismatch": { - "markdownDescription": "Cleans and recreates table metadata information on the replication instance when a mismatch occurs. For example, in a situation where running an alter DDL on the table could result in different information about the table cached in the replication instance.", - "title": "CleanSourceMetadataOnMismatch", - "type": "boolean" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "EventsPollInterval": { - "markdownDescription": "Specifies how often to check the binary log for new changes/events when the database is idle. The default is five seconds.\n\nExample: `eventsPollInterval=5;`\n\nIn the example, AWS DMS checks for changes in the binary logs every five seconds.", - "title": "EventsPollInterval", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MaxFileSize": { - "markdownDescription": "Specifies the maximum size (in KB) of any .csv file used to transfer data to a MySQL-compatible database.\n\nExample: `maxFileSize=512`", - "title": "MaxFileSize", - "type": "number" + "Metadata": { + "type": "object" }, - "ParallelLoadThreads": { - "markdownDescription": "Improves performance when loading data into the MySQL-compatible target database. Specifies how many threads to use to load the data into the MySQL-compatible target database. Setting a large number of threads can have an adverse effect on database performance, because a separate connection is required for each thread. The default is one.\n\nExample: `parallelLoadThreads=1`", - "title": "ParallelLoadThreads", - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the MySQL endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", + "Type": { + "enum": [ + "AWS::ControlCatalog::CommonControl" + ], "type": "string" }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MySQL endpoint connection details.", - "title": "SecretsManagerSecretId", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "ServerTimezone": { - "markdownDescription": "Specifies the time zone for the source MySQL database.\n\nExample: `serverTimezone=US/Pacific;`\n\nNote: Do not enclose time zones in single quotes.", - "title": "ServerTimezone", + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ControlCatalog::CommonControl.Domain": { + "additionalProperties": false, + "properties": { + "Arn": { "type": "string" }, - "TargetDbType": { - "markdownDescription": "Specifies where to migrate source tables on the target, either to a single database or multiple databases. If you specify `SPECIFIC_DATABASE` , specify the database name using the `DatabaseName` parameter of the `Endpoint` object.\n\nExample: `targetDbType=MULTIPLE_DATABASES`", - "title": "TargetDbType", + "Name": { "type": "string" } }, "type": "object" }, - "AWS::DMS::Endpoint.NeptuneSettings": { + "AWS::ControlCatalog::CommonControl.Objective": { "additionalProperties": false, "properties": { - "ErrorRetryDuration": { - "markdownDescription": "The number of milliseconds for AWS DMS to wait to retry a bulk-load of migrated graph data to the Neptune target database before raising an error. The default is 250.", - "title": "ErrorRetryDuration", - "type": "number" - }, - "IamAuthEnabled": { - "markdownDescription": "If you want IAM authorization enabled for this endpoint, set this parameter to `true` . Then attach the appropriate IAM policy document to your service role specified by `ServiceAccessRoleArn` . The default is `false` .", - "title": "IamAuthEnabled", - "type": "boolean" - }, - "MaxFileSize": { - "markdownDescription": "The maximum size in kilobytes of migrated graph data stored in a .csv file before AWS DMS bulk-loads the data to the Neptune target database. The default is 1,048,576 KB. If the bulk load is successful, AWS DMS clears the bucket, ready to store the next batch of migrated graph data.", - "title": "MaxFileSize", - "type": "number" - }, - "MaxRetryCount": { - "markdownDescription": "The number of times for AWS DMS to retry a bulk load of migrated graph data to the Neptune target database before raising an error. The default is 5.", - "title": "MaxRetryCount", - "type": "number" - }, - "S3BucketFolder": { - "markdownDescription": "A folder path where you want AWS DMS to store migrated graph data in the S3 bucket specified by `S3BucketName`", - "title": "S3BucketFolder", - "type": "string" - }, - "S3BucketName": { - "markdownDescription": "The name of the Amazon S3 bucket where AWS DMS can temporarily store migrated graph data in .csv files before bulk-loading it to the Neptune target database. AWS DMS maps the SQL source data to graph data before storing it in these .csv files.", - "title": "S3BucketName", + "Arn": { "type": "string" }, - "ServiceAccessRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the service role that you created for the Neptune target endpoint. The role must allow the `iam:PassRole` action.\n\nFor more information, see [Creating an IAM Service Role for Accessing Amazon Neptune as a Target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.ServiceRole) in the *AWS Database Migration Service User Guide* .", - "title": "ServiceAccessRoleArn", + "Name": { "type": "string" } }, "type": "object" }, - "AWS::DMS::Endpoint.OracleSettings": { + "AWS::ControlCatalog::Control": { "additionalProperties": false, "properties": { - "AccessAlternateDirectly": { - "markdownDescription": "Set this attribute to `false` in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This tells the DMS instance to not access redo logs through any specified path prefix replacement using direct file access.", - "title": "AccessAlternateDirectly", - "type": "boolean" - }, - "AddSupplementalLogging": { - "markdownDescription": "Set this attribute to set up table-level supplemental logging for the Oracle database. This attribute enables PRIMARY KEY supplemental logging on all tables selected for a migration task.\n\nIf you use this option, you still need to enable database-level supplemental logging.", - "title": "AddSupplementalLogging", - "type": "boolean" + "Condition": { + "type": "string" }, - "AdditionalArchivedLogDestId": { - "markdownDescription": "Set this attribute with `ArchivedLogDestId` in a primary/ standby setup. This attribute is useful in the case of a switchover. In this case, AWS DMS needs to know which destination to get archive redo logs from to read changes. This need arises because the previous primary instance is now a standby instance after switchover.\n\nAlthough AWS DMS supports the use of the Oracle `RESETLOGS` option to open the database, never use `RESETLOGS` unless necessary. For additional information about `RESETLOGS` , see [RMAN Data Repair Concepts](https://docs.aws.amazon.com/https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B) in the *Oracle Database Backup and Recovery User's Guide* .", - "title": "AdditionalArchivedLogDestId", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "AllowSelectNestedTables": { - "markdownDescription": "Set this attribute to `true` to enable replication of Oracle tables containing columns that are nested tables or defined types.", - "title": "AllowSelectNestedTables", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ArchivedLogDestId": { - "markdownDescription": "Specifies the ID of the destination for the archived redo logs. This value should be the same as a number in the dest_id column of the v$archived_log view. If you work with an additional redo log destination, use the `AdditionalArchivedLogDestId` option to specify the additional destination ID. Doing this improves performance by ensuring that the correct logs are accessed from the outset.", - "title": "ArchivedLogDestId", - "type": "number" + "Metadata": { + "type": "object" }, - "ArchivedLogsOnly": { - "markdownDescription": "When this field is set to `True` , AWS DMS only accesses the archived redo logs. If the archived redo logs are stored on Automatic Storage Management (ASM) only, the AWS DMS user account needs to be granted ASM privileges.", - "title": "ArchivedLogsOnly", - "type": "boolean" + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" }, - "AsmPassword": { - "markdownDescription": "For an Oracle source endpoint, your Oracle Automatic Storage Management (ASM) password. You can set this value from the `*asm_user_password*` value. You set this value as part of the comma-separated value that you set to the `Password` request parameter when you create the endpoint to access transaction logs using Binary Reader. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", - "title": "AsmPassword", + "Type": { + "enum": [ + "AWS::ControlCatalog::Control" + ], "type": "string" }, - "AsmServer": { - "markdownDescription": "For an Oracle source endpoint, your ASM server address. You can set this value from the `asm_server` value. You set `asm_server` as part of the extra connection attribute string to access an Oracle server with Binary Reader that uses ASM. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", - "title": "AsmServer", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "AsmUser": { - "markdownDescription": "For an Oracle source endpoint, your ASM user name. You can set this value from the `asm_user` value. You set `asm_user` as part of the extra connection attribute string to access an Oracle server with Binary Reader that uses ASM. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", - "title": "AsmUser", + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ControlCatalog::Control.ImplementationDetails": { + "additionalProperties": false, + "properties": { + "Identifier": { "type": "string" }, - "CharLengthSemantics": { - "markdownDescription": "Specifies whether the length of a character column is in bytes or in characters. To indicate that the character column length is in characters, set this attribute to `CHAR` . Otherwise, the character column length is in bytes.\n\nExample: `charLengthSemantics=CHAR;`", - "title": "CharLengthSemantics", + "Type": { "type": "string" - }, - "DirectPathNoLog": { - "markdownDescription": "When set to `true` , this attribute helps to increase the commit rate on the Oracle target database by writing directly to tables and not writing a trail to database logs.", - "title": "DirectPathNoLog", - "type": "boolean" - }, - "DirectPathParallelLoad": { - "markdownDescription": "When set to `true` , this attribute specifies a parallel load when `useDirectPathFullLoad` is set to `Y` . This attribute also only applies when you use the AWS DMS parallel load feature. Note that the target table cannot have any constraints or indexes.", - "title": "DirectPathParallelLoad", - "type": "boolean" - }, - "EnableHomogenousTablespace": { - "markdownDescription": "Set this attribute to enable homogenous tablespace replication and create existing tables or indexes under the same tablespace on the target.", - "title": "EnableHomogenousTablespace", - "type": "boolean" - }, - "ExtraArchivedLogDestIds": { + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ControlCatalog::Control.RegionConfiguration": { + "additionalProperties": false, + "properties": { + "DeployableRegions": { "items": { - "type": "number" + "type": "string" }, - "markdownDescription": "Specifies the IDs of one more destinations for one or more archived redo logs. These IDs are the values of the `dest_id` column in the `v$archived_log` view. Use this setting with the `archivedLogDestId` extra connection attribute in a primary-to-single setup or a primary-to-multiple-standby setup.\n\nThis setting is useful in a switchover when you use an Oracle Data Guard database as a source. In this case, AWS DMS needs information about what destination to get archive redo logs from to read changes. AWS DMS needs this because after the switchover the previous primary is a standby instance. For example, in a primary-to-single standby setup you might apply the following settings.\n\n`archivedLogDestId=1; ExtraArchivedLogDestIds=[2]`\n\nIn a primary-to-multiple-standby setup, you might apply the following settings.\n\n`archivedLogDestId=1; ExtraArchivedLogDestIds=[2,3,4]`\n\nAlthough AWS DMS supports the use of the Oracle `RESETLOGS` option to open the database, never use `RESETLOGS` unless it's necessary. For more information about `RESETLOGS` , see [RMAN Data Repair Concepts](https://docs.aws.amazon.com/https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B) in the *Oracle Database Backup and Recovery User's Guide* .", - "title": "ExtraArchivedLogDestIds", "type": "array" }, - "FailTasksOnLobTruncation": { - "markdownDescription": "When set to `true` , this attribute causes a task to fail if the actual size of an LOB column is greater than the specified `LobMaxSize` .\n\nIf a task is set to limited LOB mode and this option is set to `true` , the task fails instead of truncating the LOB data.", - "title": "FailTasksOnLobTruncation", - "type": "boolean" - }, - "NumberDatatypeScale": { - "markdownDescription": "Specifies the number scale. You can select a scale up to 38, or you can select FLOAT. By default, the NUMBER data type is converted to precision 38, scale 10.\n\nExample: `numberDataTypeScale=12`", - "title": "NumberDatatypeScale", - "type": "number" - }, - "OraclePathPrefix": { - "markdownDescription": "Set this string attribute to the required value in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This value specifies the default Oracle root used to access the redo logs.", - "title": "OraclePathPrefix", + "Scope": { + "type": "string" + } + }, + "required": [ + "Scope" + ], + "type": "object" + }, + "AWS::ControlCatalog::Objective": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "ParallelAsmReadThreads": { - "markdownDescription": "Set this attribute to change the number of threads that DMS configures to perform a change data capture (CDC) load using Oracle Automatic Storage Management (ASM). You can specify an integer value between 2 (the default) and 8 (the maximum). Use this attribute together with the `readAheadBlocks` attribute.", - "title": "ParallelAsmReadThreads", - "type": "number" - }, - "ReadAheadBlocks": { - "markdownDescription": "Set this attribute to change the number of read-ahead blocks that DMS configures to perform a change data capture (CDC) load using Oracle Automatic Storage Management (ASM). You can specify an integer value between 1000 (the default) and 200,000 (the maximum).", - "title": "ReadAheadBlocks", - "type": "number" - }, - "ReadTableSpaceName": { - "markdownDescription": "When set to `true` , this attribute supports tablespace replication.", - "title": "ReadTableSpaceName", - "type": "boolean" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ReplacePathPrefix": { - "markdownDescription": "Set this attribute to true in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This setting tells DMS instance to replace the default Oracle root with the specified `usePathPrefix` setting to access the redo logs.", - "title": "ReplacePathPrefix", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RetryInterval": { - "markdownDescription": "Specifies the number of seconds that the system waits before resending a query.\n\nExample: `retryInterval=6;`", - "title": "RetryInterval", - "type": "number" + "Metadata": { + "type": "object" }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the Oracle endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" }, - "SecretsManagerOracleAsmAccessRoleArn": { - "markdownDescription": "Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). The full ARN of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the `SecretsManagerOracleAsmSecret` . This `SecretsManagerOracleAsmSecret` has the secret value that allows access to the Oracle ASM of the endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerOracleAsmSecretId` . Or you can specify clear-text values for `AsmUser` , `AsmPassword` , and `AsmServerName` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerOracleAsmSecret` , the corresponding `SecretsManagerOracleAsmAccessRoleArn` , and the `SecretsManagerOracleAsmSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerOracleAsmAccessRoleArn", + "Type": { + "enum": [ + "AWS::ControlCatalog::Objective" + ], "type": "string" }, - "SecretsManagerOracleAsmSecretId": { - "markdownDescription": "Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). The full ARN, partial ARN, or display name of the `SecretsManagerOracleAsmSecret` that contains the Oracle ASM connection details for the Oracle endpoint.", - "title": "SecretsManagerOracleAsmSecretId", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the Oracle endpoint connection details.", - "title": "SecretsManagerSecretId", + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ControlCatalog::Objective.Domain": { + "additionalProperties": false, + "properties": { + "Arn": { "type": "string" }, - "SecurityDbEncryption": { - "markdownDescription": "For an Oracle source endpoint, the transparent data encryption (TDE) password required by AWM DMS to access Oracle redo logs encrypted by TDE using Binary Reader. It is also the `*TDE_Password*` part of the comma-separated value you set to the `Password` request parameter when you create the endpoint. The `SecurityDbEncryptian` setting is related to this `SecurityDbEncryptionName` setting. For more information, see [Supported encryption methods for using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption) in the *AWS Database Migration Service User Guide* .", - "title": "SecurityDbEncryption", + "Name": { "type": "string" - }, - "SecurityDbEncryptionName": { - "markdownDescription": "For an Oracle source endpoint, the name of a key used for the transparent data encryption (TDE) of the columns and tablespaces in an Oracle source database that is encrypted using TDE. The key value is the value of the `SecurityDbEncryption` setting. For more information on setting the key name value of `SecurityDbEncryptionName` , see the information and example for setting the `securityDbEncryptionName` extra connection attribute in [Supported encryption methods for using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption) in the *AWS Database Migration Service User Guide* .", - "title": "SecurityDbEncryptionName", + } + }, + "type": "object" + }, + "AWS::ControlTower::Baseline": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "SpatialDataOptionToGeoJsonFunctionName": { - "markdownDescription": "Use this attribute to convert `SDO_GEOMETRY` to `GEOJSON` format. By default, DMS calls the `SDO2GEOJSON` custom function if present and accessible. Or you can create your own custom function that mimics the operation of `SDOGEOJSON` and set `SpatialDataOptionToGeoJsonFunctionName` to call it instead.", - "title": "SpatialDataOptionToGeoJsonFunctionName", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "StandbyDelayTime": { - "markdownDescription": "Use this attribute to specify a time in minutes for the delay in standby sync. If the source is an Oracle Active Data Guard standby database, use this attribute to specify the time lag between primary and standby databases.\n\nIn AWS DMS , you can create an Oracle CDC task that uses an Active Data Guard standby instance as a source for replicating ongoing changes. Doing this eliminates the need to connect to an active database that might be in production.", - "title": "StandbyDelayTime", - "type": "number" - }, - "UseAlternateFolderForOnline": { - "markdownDescription": "Set this attribute to `true` in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This tells the DMS instance to use any specified prefix replacement to access all online redo logs.", - "title": "UseAlternateFolderForOnline", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "UseBFile": { - "markdownDescription": "Set this attribute to True to capture change data using the Binary Reader utility. Set `UseLogminerReader` to False to set this attribute to True. To use Binary Reader with Amazon RDS for Oracle as the source, you set additional attributes. For more information about using this setting with Oracle Automatic Storage Management (ASM), see [Using Oracle LogMiner or AWS DMS Binary Reader for CDC](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC) .", - "title": "UseBFile", - "type": "boolean" + "Metadata": { + "type": "object" }, - "UseDirectPathFullLoad": { - "markdownDescription": "Set this attribute to True to have AWS DMS use a direct path full load. Specify this value to use the direct path protocol in the Oracle Call Interface (OCI). By using this OCI protocol, you can bulk-load Oracle target tables during a full load.", - "title": "UseDirectPathFullLoad", - "type": "boolean" + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" }, - "UseLogminerReader": { - "markdownDescription": "Set this attribute to True to capture change data using the Oracle LogMiner utility (the default). Set this attribute to False if you want to access the redo logs as a binary file. When you set `UseLogminerReader` to False, also set `UseBfile` to True. For more information on this setting and using Oracle ASM, see [Using Oracle LogMiner or AWS DMS Binary Reader for CDC](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC) in the *AWS DMS User Guide* .", - "title": "UseLogminerReader", - "type": "boolean" + "Type": { + "enum": [ + "AWS::ControlTower::Baseline" + ], + "type": "string" }, - "UsePathPrefix": { - "markdownDescription": "Set this string attribute to the required value in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This value specifies the path prefix used to replace the default Oracle root to access the redo logs.", - "title": "UsePathPrefix", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::DMS::Endpoint.PostgreSqlSettings": { - "additionalProperties": false, - "properties": { - "AfterConnectScript": { - "markdownDescription": "For use with change data capture (CDC) only, this attribute has AWS DMS bypass foreign keys and user triggers to reduce the time it takes to bulk load data.\n\nExample: `afterConnectScript=SET session_replication_role='replica'`", - "title": "AfterConnectScript", - "type": "string" - }, - "BabelfishDatabaseName": { - "markdownDescription": "The Babelfish for Aurora PostgreSQL database name for the endpoint.", - "title": "BabelfishDatabaseName", - "type": "string" - }, - "CaptureDdls": { - "markdownDescription": "To capture DDL events, AWS DMS creates various artifacts in the PostgreSQL database when the task starts. You can later remove these artifacts.\n\nIf this value is set to `True` , you don't have to create tables or triggers on the source database.", - "title": "CaptureDdls", - "type": "boolean" - }, - "DatabaseMode": { - "markdownDescription": "Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require some additional configuration, such as Babelfish endpoints.", - "title": "DatabaseMode", - "type": "string" - }, - "DdlArtifactsSchema": { - "markdownDescription": "The schema in which the operational DDL database artifacts are created.\n\nThe default value is `public` .\n\nExample: `ddlArtifactsSchema=xyzddlschema;`", - "title": "DdlArtifactsSchema", - "type": "string" - }, - "ExecuteTimeout": { - "markdownDescription": "Sets the client statement timeout for the PostgreSQL instance, in seconds. The default value is 60 seconds.\n\nExample: `executeTimeout=100;`", - "title": "ExecuteTimeout", - "type": "number" - }, - "FailTasksOnLobTruncation": { - "markdownDescription": "When set to `true` , this value causes a task to fail if the actual size of a LOB column is greater than the specified `LobMaxSize` .\n\nThe default value is `false` .\n\nIf task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating the LOB data.", - "title": "FailTasksOnLobTruncation", - "type": "boolean" - }, - "HeartbeatEnable": { - "markdownDescription": "The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle logical replication slots from holding onto old WAL logs, which can result in storage full situations on the source. This heartbeat keeps `restart_lsn` moving and prevents storage full scenarios.\n\nThe default value is `false` .", - "title": "HeartbeatEnable", - "type": "boolean" - }, - "HeartbeatFrequency": { - "markdownDescription": "Sets the WAL heartbeat frequency (in minutes).\n\nThe default value is 5 minutes.", - "title": "HeartbeatFrequency", - "type": "number" - }, - "HeartbeatSchema": { - "markdownDescription": "Sets the schema in which the heartbeat artifacts are created.\n\nThe default value is `public` .", - "title": "HeartbeatSchema", - "type": "string" - }, - "MapBooleanAsBoolean": { - "markdownDescription": "When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as `varchar(5)` . You must set this setting on both the source and target endpoints for it to take effect.\n\nThe default value is `false` .", - "title": "MapBooleanAsBoolean", - "type": "boolean" - }, - "MaxFileSize": { - "markdownDescription": "Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL.\n\nThe default value is 32,768 KB (32 MB).\n\nExample: `maxFileSize=512`", - "title": "MaxFileSize", - "type": "number" - }, - "PluginName": { - "markdownDescription": "Specifies the plugin to use to create a replication slot.\n\nThe default value is `pglogical` .", - "title": "PluginName", - "type": "string" - }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the PostgreSQL endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", - "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the PostgreSQL endpoint connection details.", - "title": "SecretsManagerSecretId", - "type": "string" - }, - "SlotName": { - "markdownDescription": "Sets the name of a previously created logical replication slot for a change data capture (CDC) load of the PostgreSQL source instance.\n\nWhen used with the `CdcStartPosition` request parameter for the AWS DMS API , this attribute also makes it possible to use native CDC start points. DMS verifies that the specified logical replication slot exists before starting the CDC load task. It also verifies that the task was created with a valid setting of `CdcStartPosition` . If the specified slot doesn't exist or the task doesn't have a valid `CdcStartPosition` setting, DMS raises an error.\n\nFor more information about setting the `CdcStartPosition` request parameter, see [Determining a CDC native start point](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native) in the *AWS Database Migration Service User Guide* . For more information about using `CdcStartPosition` , see [CreateReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html) , [StartReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html) , and [ModifyReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyReplicationTask.html) .", - "title": "SlotName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.RedisSettings": { - "additionalProperties": false, - "properties": { - "AuthPassword": { - "markdownDescription": "The password provided with the `auth-role` and `auth-token` options of the `AuthType` setting for a Redis target endpoint.", - "title": "AuthPassword", - "type": "string" - }, - "AuthType": { - "markdownDescription": "The type of authentication to perform when connecting to a Redis target. Options include `none` , `auth-token` , and `auth-role` . The `auth-token` option requires an `AuthPassword` value to be provided. The `auth-role` option requires `AuthUserName` and `AuthPassword` values to be provided.", - "title": "AuthType", - "type": "string" - }, - "AuthUserName": { - "markdownDescription": "The user name provided with the `auth-role` option of the `AuthType` setting for a Redis target endpoint.", - "title": "AuthUserName", - "type": "string" - }, - "Port": { - "markdownDescription": "Transmission Control Protocol (TCP) port for the endpoint.", - "title": "Port", - "type": "number" - }, - "ServerName": { - "markdownDescription": "Fully qualified domain name of the endpoint.", - "title": "ServerName", - "type": "string" - }, - "SslCaCertificateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the certificate authority (CA) that DMS uses to connect to your Redis target endpoint.", - "title": "SslCaCertificateArn", - "type": "string" - }, - "SslSecurityProtocol": { - "markdownDescription": "The connection to a Redis target endpoint using Transport Layer Security (TLS). Valid values include `plaintext` and `ssl-encryption` . The default is `ssl-encryption` . The `ssl-encryption` option makes an encrypted connection. Optionally, you can identify an Amazon Resource Name (ARN) for an SSL certificate authority (CA) using the `SslCaCertificateArn` setting. If an ARN isn't given for a CA, DMS uses the Amazon root CA.\n\nThe `plaintext` option doesn't provide Transport Layer Security (TLS) encryption for traffic between endpoint and database.", - "title": "SslSecurityProtocol", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.RedshiftSettings": { - "additionalProperties": false, - "properties": { - "AcceptAnyDate": { - "markdownDescription": "A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to be loaded without generating an error. You can choose `true` or `false` (the default).\n\nThis parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift inserts a NULL value into that field.", - "title": "AcceptAnyDate", - "type": "boolean" - }, - "AfterConnectScript": { - "markdownDescription": "Code to run after connecting. This parameter should contain the code itself, not the name of a file containing the code.", - "title": "AfterConnectScript", - "type": "string" - }, - "BucketFolder": { - "markdownDescription": "An S3 folder where the comma-separated-value (.csv) files are stored before being uploaded to the target Redshift cluster.\n\nFor full load mode, AWS DMS converts source records into .csv files and loads them to the *BucketFolder/TableID* path. AWS DMS uses the Redshift `COPY` command to upload the .csv files to the target table. The files are deleted once the `COPY` operation has finished. For more information, see [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) in the *Amazon Redshift Database Developer Guide* .\n\nFor change-data-capture (CDC) mode, AWS DMS creates a *NetChanges* table, and loads the .csv files to this *BucketFolder/NetChangesTableID* path.", - "title": "BucketFolder", - "type": "string" - }, - "BucketName": { - "markdownDescription": "The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift.", - "title": "BucketName", - "type": "string" - }, - "CaseSensitiveNames": { - "markdownDescription": "If Amazon Redshift is configured to support case sensitive schema names, set `CaseSensitiveNames` to `true` . The default is `false` .", - "title": "CaseSensitiveNames", - "type": "boolean" - }, - "CompUpdate": { - "markdownDescription": "If you set `CompUpdate` to `true` Amazon Redshift applies automatic compression if the table is empty. This applies even if the table columns already have encodings other than `RAW` . If you set `CompUpdate` to `false` , automatic compression is disabled and existing column encodings aren't changed. The default is `true` .", - "title": "CompUpdate", - "type": "boolean" - }, - "ConnectionTimeout": { - "markdownDescription": "A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you initially establish a connection.", - "title": "ConnectionTimeout", - "type": "number" - }, - "DateFormat": { - "markdownDescription": "The date format that you are using. Valid values are `auto` (case-sensitive), your date format string enclosed in quotes, or NULL. If this parameter is left unset (NULL), it defaults to a format of 'YYYY-MM-DD'. Using `auto` recognizes most strings, even some that aren't supported when you use a date format string.\n\nIf your date and time values use formats different from each other, set this to `auto` .", - "title": "DateFormat", - "type": "string" - }, - "EmptyAsNull": { - "markdownDescription": "A value that specifies whether AWS DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of `true` sets empty CHAR and VARCHAR fields to null. The default is `false` .", - "title": "EmptyAsNull", - "type": "boolean" - }, - "EncryptionMode": { - "markdownDescription": "The type of server-side encryption that you want to use for your data. This encryption type is part of the endpoint settings or the extra connections attributes for Amazon S3. You can choose either `SSE_S3` (the default) or `SSE_KMS` .\n\n> For the `ModifyEndpoint` operation, you can change the existing value of the `EncryptionMode` parameter from `SSE_KMS` to `SSE_S3` . But you can\u2019t change the existing value from `SSE_S3` to `SSE_KMS` . \n\nTo use `SSE_S3` , create an AWS Identity and Access Management (IAM) role with a policy that allows `\"arn:aws:s3:::*\"` to use the following actions: `\"s3:PutObject\", \"s3:ListBucket\"`", - "title": "EncryptionMode", - "type": "string" - }, - "ExplicitIds": { - "markdownDescription": "This setting is only valid for a full-load migration task. Set `ExplicitIds` to `true` to have tables with `IDENTITY` columns override their auto-generated values with explicit values loaded from the source data files used to populate the tables. The default is `false` .", - "title": "ExplicitIds", - "type": "boolean" - }, - "FileTransferUploadStreams": { - "markdownDescription": "The number of threads used to upload a single file. This parameter accepts a value from 1 through 64. It defaults to 10.\n\nThe number of parallel streams used to upload a single .csv file to an S3 bucket using S3 Multipart Upload. For more information, see [Multipart upload overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html) .\n\n`FileTransferUploadStreams` accepts a value from 1 through 64. It defaults to 10.", - "title": "FileTransferUploadStreams", - "type": "number" - }, - "LoadTimeout": { - "markdownDescription": "The amount of time to wait (in milliseconds) before timing out of operations performed by AWS DMS on a Redshift cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE.", - "title": "LoadTimeout", - "type": "number" - }, - "MapBooleanAsBoolean": { - "markdownDescription": "When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as `varchar(1)` . You must set this setting on both the source and target endpoints for it to take effect.", - "title": "MapBooleanAsBoolean", - "type": "boolean" - }, - "MaxFileSize": { - "markdownDescription": "The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer data to Amazon Redshift. It defaults to 1048576KB (1 GB).", - "title": "MaxFileSize", - "type": "number" - }, - "RemoveQuotes": { - "markdownDescription": "A value that specifies to remove surrounding quotation marks from strings in the incoming data. All characters within the quotation marks, including delimiters, are retained. Choose `true` to remove quotation marks. The default is `false` .", - "title": "RemoveQuotes", - "type": "boolean" - }, - "ReplaceChars": { - "markdownDescription": "A value that specifies to replaces the invalid characters specified in `ReplaceInvalidChars` , substituting the specified characters instead. The default is `\"?\"` .", - "title": "ReplaceChars", - "type": "string" - }, - "ReplaceInvalidChars": { - "markdownDescription": "A list of characters that you want to replace. Use with `ReplaceChars` .", - "title": "ReplaceInvalidChars", - "type": "string" - }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the Amazon Redshift endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", - "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the Amazon Redshift endpoint connection details.", - "title": "SecretsManagerSecretId", - "type": "string" - }, - "ServerSideEncryptionKmsKeyId": { - "markdownDescription": "The AWS key ID. If you are using `SSE_KMS` for the `EncryptionMode` , provide this key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of the key.", - "title": "ServerSideEncryptionKmsKeyId", - "type": "string" - }, - "ServiceAccessRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service. The role must allow the `iam:PassRole` action.", - "title": "ServiceAccessRoleArn", - "type": "string" - }, - "TimeFormat": { - "markdownDescription": "The time format that you want to use. Valid values are `auto` (case-sensitive), `'timeformat_string'` , `'epochsecs'` , or `'epochmillisecs'` . It defaults to 10. Using `auto` recognizes most strings, even some that aren't supported when you use a time format string.\n\nIf your date and time values use formats different from each other, set this parameter to `auto` .", - "title": "TimeFormat", - "type": "string" - }, - "TrimBlanks": { - "markdownDescription": "A value that specifies to remove the trailing white space characters from a VARCHAR string. This parameter applies only to columns with a VARCHAR data type. Choose `true` to remove unneeded white space. The default is `false` .", - "title": "TrimBlanks", - "type": "boolean" - }, - "TruncateColumns": { - "markdownDescription": "A value that specifies to truncate data in columns to the appropriate number of characters, so that the data fits in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and rows with a size of 4 MB or less. Choose `true` to truncate data. The default is `false` .", - "title": "TruncateColumns", - "type": "boolean" - }, - "WriteBufferSize": { - "markdownDescription": "The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk at the DMS replication instance. The default value is 1000 (buffer size is 1000KB).", - "title": "WriteBufferSize", - "type": "number" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.S3Settings": { - "additionalProperties": false, - "properties": { - "AddColumnName": { - "markdownDescription": "An optional parameter that, when set to `true` or `y` , you can use to add column name information to the .csv output file.\n\nThe default value is `false` . Valid values are `true` , `false` , `y` , and `n` .", - "title": "AddColumnName", - "type": "boolean" - }, - "AddTrailingPaddingCharacter": { - "markdownDescription": "Use the S3 target endpoint setting `AddTrailingPaddingCharacter` to add padding on string data. The default value is `false` .", - "title": "AddTrailingPaddingCharacter", - "type": "boolean" - }, - "BucketFolder": { - "markdownDescription": "An optional parameter to set a folder name in the S3 bucket. If provided, tables are created in the path `*bucketFolder* / *schema_name* / *table_name* /` . If this parameter isn't specified, the path used is `*schema_name* / *table_name* /` .", - "title": "BucketFolder", - "type": "string" - }, - "BucketName": { - "markdownDescription": "The name of the S3 bucket.", - "title": "BucketName", - "type": "string" - }, - "CannedAclForObjects": { - "markdownDescription": "A value that enables AWS DMS to specify a predefined (canned) access control list (ACL) for objects created in an Amazon S3 bucket as .csv or .parquet files. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 Developer Guide* .\n\nThe default value is NONE. Valid values include NONE, PRIVATE, PUBLIC_READ, PUBLIC_READ_WRITE, AUTHENTICATED_READ, AWS_EXEC_READ, BUCKET_OWNER_READ, and BUCKET_OWNER_FULL_CONTROL.", - "title": "CannedAclForObjects", - "type": "string" - }, - "CdcInsertsAndUpdates": { - "markdownDescription": "A value that enables a change data capture (CDC) load to write INSERT and UPDATE operations to .csv or .parquet (columnar storage) output files. The default setting is `false` , but when `CdcInsertsAndUpdates` is set to `true` or `y` , only INSERTs and UPDATEs from the source database are migrated to the .csv or .parquet file.\n\nFor .csv file format only, how these INSERTs and UPDATEs are recorded depends on the value of the `IncludeOpForFullLoad` parameter. If `IncludeOpForFullLoad` is set to `true` , the first field of every CDC record is set to either `I` or `U` to indicate INSERT and UPDATE operations at the source. But if `IncludeOpForFullLoad` is set to `false` , CDC records are written without an indication of INSERT or UPDATE operations at the source. For more information about how these settings work together, see [Indicating Source DB Operations in Migrated S3 Data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps) in the *AWS Database Migration Service User Guide* .\n\n> AWS DMS supports the use of the `CdcInsertsAndUpdates` parameter in versions 3.3.1 and later.\n> \n> `CdcInsertsOnly` and `CdcInsertsAndUpdates` can't both be set to `true` for the same endpoint. Set either `CdcInsertsOnly` or `CdcInsertsAndUpdates` to `true` for the same endpoint, but not both.", - "title": "CdcInsertsAndUpdates", - "type": "boolean" - }, - "CdcInsertsOnly": { - "markdownDescription": "A value that enables a change data capture (CDC) load to write only INSERT operations to .csv or columnar storage (.parquet) output files. By default (the `false` setting), the first field in a .csv or .parquet record contains the letter I (INSERT), U (UPDATE), or D (DELETE). These values indicate whether the row was inserted, updated, or deleted at the source database for a CDC load to the target.\n\nIf `CdcInsertsOnly` is set to `true` or `y` , only INSERTs from the source database are migrated to the .csv or .parquet file. For .csv format only, how these INSERTs are recorded depends on the value of `IncludeOpForFullLoad` . If `IncludeOpForFullLoad` is set to `true` , the first field of every CDC record is set to I to indicate the INSERT operation at the source. If `IncludeOpForFullLoad` is set to `false` , every CDC record is written without a first field to indicate the INSERT operation at the source. For more information about how these settings work together, see [Indicating Source DB Operations in Migrated S3 Data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps) in the *AWS Database Migration Service User Guide* .\n\n> AWS DMS supports the interaction described preceding between the `CdcInsertsOnly` and `IncludeOpForFullLoad` parameters in versions 3.1.4 and later.\n> \n> `CdcInsertsOnly` and `CdcInsertsAndUpdates` can't both be set to `true` for the same endpoint. Set either `CdcInsertsOnly` or `CdcInsertsAndUpdates` to `true` for the same endpoint, but not both.", - "title": "CdcInsertsOnly", - "type": "boolean" - }, - "CdcMaxBatchInterval": { - "markdownDescription": "Maximum length of the interval, defined in seconds, after which to output a file to Amazon S3.\n\nWhen `CdcMaxBatchInterval` and `CdcMinFileSize` are both specified, the file write is triggered by whichever parameter condition is met first within an AWS DMS CloudFormation template.\n\nThe default value is 60 seconds.", - "title": "CdcMaxBatchInterval", - "type": "number" - }, - "CdcMinFileSize": { - "markdownDescription": "Minimum file size, defined in kilobytes, to reach for a file output to Amazon S3.\n\nWhen `CdcMinFileSize` and `CdcMaxBatchInterval` are both specified, the file write is triggered by whichever parameter condition is met first within an AWS DMS CloudFormation template.\n\nThe default value is 32 MB.", - "title": "CdcMinFileSize", - "type": "number" - }, - "CdcPath": { - "markdownDescription": "Specifies the folder path of CDC files. For an S3 source, this setting is required if a task captures change data; otherwise, it's optional. If `CdcPath` is set, AWS DMS reads CDC files from this path and replicates the data changes to the target endpoint. For an S3 target if you set [`PreserveTransactions`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-PreserveTransactions) to `true` , AWS DMS verifies that you have set this parameter to a folder path on your S3 target where AWS DMS can save the transaction order for the CDC load. AWS DMS creates this CDC folder path in either your S3 target working directory or the S3 target location specified by [`BucketFolder`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-BucketFolder) and [`BucketName`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-BucketName) .\n\nFor example, if you specify `CdcPath` as `MyChangedData` , and you specify `BucketName` as `MyTargetBucket` but do not specify `BucketFolder` , AWS DMS creates the CDC folder path following: `MyTargetBucket/MyChangedData` .\n\nIf you specify the same `CdcPath` , and you specify `BucketName` as `MyTargetBucket` and `BucketFolder` as `MyTargetData` , AWS DMS creates the CDC folder path following: `MyTargetBucket/MyTargetData/MyChangedData` .\n\nFor more information on CDC including transaction order on an S3 target, see [Capturing data changes (CDC) including transaction order on the S3 target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.EndpointSettings.CdcPath) .\n\n> This setting is supported in AWS DMS versions 3.4.2 and later.", - "title": "CdcPath", - "type": "string" - }, - "CompressionType": { - "markdownDescription": "An optional parameter. When set to GZIP it enables the service to compress the target files. To allow the service to write the target files uncompressed, either set this parameter to NONE (the default) or don't specify the parameter at all. This parameter applies to both .csv and .parquet file formats.", - "title": "CompressionType", - "type": "string" - }, - "CsvDelimiter": { - "markdownDescription": "The delimiter used to separate columns in the .csv file for both source and target. The default is a comma.", - "title": "CsvDelimiter", - "type": "string" - }, - "CsvNoSupValue": { - "markdownDescription": "This setting only applies if your Amazon S3 output files during a change data capture (CDC) load are written in .csv format. If [`UseCsvNoSupValue`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-UseCsvNoSupValue) is set to true, specify a string value that you want AWS DMS to use for all columns not included in the supplemental log. If you do not specify a string value, AWS DMS uses the null value for these columns regardless of the `UseCsvNoSupValue` setting.\n\n> This setting is supported in AWS DMS versions 3.4.1 and later.", - "title": "CsvNoSupValue", - "type": "string" - }, - "CsvNullValue": { - "markdownDescription": "An optional parameter that specifies how AWS DMS treats null values. While handling the null value, you can use this parameter to pass a user-defined string as null when writing to the target. For example, when target columns are not nullable, you can use this option to differentiate between the empty string value and the null value. So, if you set this parameter value to the empty string (\"\" or ''), AWS DMS treats the empty string as the null value instead of `NULL` .\n\nThe default value is `NULL` . Valid values include any valid string.", - "title": "CsvNullValue", - "type": "string" - }, - "CsvRowDelimiter": { - "markdownDescription": "The delimiter used to separate rows in the .csv file for both source and target.\n\nThe default is a carriage return ( `\\n` ).", - "title": "CsvRowDelimiter", - "type": "string" - }, - "DataFormat": { - "markdownDescription": "The format of the data that you want to use for output. You can choose one of the following:\n\n- `csv` : This is a row-based file format with comma-separated values (.csv).\n- `parquet` : Apache Parquet (.parquet) is a columnar storage file format that features efficient compression and provides faster query response.", - "title": "DataFormat", - "type": "string" - }, - "DataPageSize": { - "markdownDescription": "The size of one data page in bytes. This parameter defaults to 1024 * 1024 bytes (1 MiB). This number is used for .parquet file format only.", - "title": "DataPageSize", - "type": "number" - }, - "DatePartitionDelimiter": { - "markdownDescription": "Specifies a date separating delimiter to use during folder partitioning. The default value is `SLASH` . Use this parameter when `DatePartitionedEnabled` is set to `true` .", - "title": "DatePartitionDelimiter", - "type": "string" - }, - "DatePartitionEnabled": { - "markdownDescription": "When set to `true` , this parameter partitions S3 bucket folders based on transaction commit dates. The default value is `false` . For more information about date-based folder partitioning, see [Using date-based folder partitioning](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.DatePartitioning) .", - "title": "DatePartitionEnabled", - "type": "boolean" - }, - "DatePartitionSequence": { - "markdownDescription": "Identifies the sequence of the date format to use during folder partitioning. The default value is `YYYYMMDD` . Use this parameter when `DatePartitionedEnabled` is set to `true` .", - "title": "DatePartitionSequence", - "type": "string" - }, - "DatePartitionTimezone": { - "markdownDescription": "When creating an S3 target endpoint, set `DatePartitionTimezone` to convert the current UTC time into a specified time zone. The conversion occurs when a date partition folder is created and a change data capture (CDC) file name is generated. The time zone format is Area/Location. Use this parameter when `DatePartitionedEnabled` is set to `true` , as shown in the following example.\n\n`s3-settings='{\"DatePartitionEnabled\": true, \"DatePartitionSequence\": \"YYYYMMDDHH\", \"DatePartitionDelimiter\": \"SLASH\", \"DatePartitionTimezone\":\" *Asia/Seoul* \", \"BucketName\": \"dms-nattarat-test\"}'`", - "title": "DatePartitionTimezone", - "type": "string" - }, - "DictPageSizeLimit": { - "markdownDescription": "The maximum size of an encoded dictionary page of a column. If the dictionary page exceeds this, this column is stored using an encoding type of `PLAIN` . This parameter defaults to 1024 * 1024 bytes (1 MiB), the maximum size of a dictionary page before it reverts to `PLAIN` encoding. This size is used for .parquet file format only.", - "title": "DictPageSizeLimit", - "type": "number" - }, - "EnableStatistics": { - "markdownDescription": "A value that enables statistics for Parquet pages and row groups. Choose `true` to enable statistics, `false` to disable. Statistics include `NULL` , `DISTINCT` , `MAX` , and `MIN` values. This parameter defaults to `true` . This value is used for .parquet file format only.", - "title": "EnableStatistics", - "type": "boolean" - }, - "EncodingType": { - "markdownDescription": "The type of encoding that you're using:\n\n- `RLE_DICTIONARY` uses a combination of bit-packing and run-length encoding to store repeated values more efficiently. This is the default.\n- `PLAIN` doesn't use encoding at all. Values are stored as they are.\n- `PLAIN_DICTIONARY` builds a dictionary of the values encountered in a given column. The dictionary is stored in a dictionary page for each column chunk.", - "title": "EncodingType", - "type": "string" - }, - "EncryptionMode": { - "markdownDescription": "The type of server-side encryption that you want to use for your data. This encryption type is part of the endpoint settings or the extra connections attributes for Amazon S3. You can choose either `SSE_S3` (the default) or `SSE_KMS` .\n\n> For the `ModifyEndpoint` operation, you can change the existing value of the `EncryptionMode` parameter from `SSE_KMS` to `SSE_S3` . But you can\u2019t change the existing value from `SSE_S3` to `SSE_KMS` . \n\nTo use `SSE_S3` , you need an IAM role with permission to allow `\"arn:aws:s3:::dms-*\"` to use the following actions:\n\n- `s3:CreateBucket`\n- `s3:ListBucket`\n- `s3:DeleteBucket`\n- `s3:GetBucketLocation`\n- `s3:GetObject`\n- `s3:PutObject`\n- `s3:DeleteObject`\n- `s3:GetObjectVersion`\n- `s3:GetBucketPolicy`\n- `s3:PutBucketPolicy`\n- `s3:DeleteBucketPolicy`", - "title": "EncryptionMode", - "type": "string" - }, - "ExpectedBucketOwner": { - "markdownDescription": "To specify a bucket owner and prevent sniping, you can use the `ExpectedBucketOwner` endpoint setting.\n\nExample: `--s3-settings='{\"ExpectedBucketOwner\": \" *AWS_Account_ID* \"}'`\n\nWhen you make a request to test a connection or perform a migration, S3 checks the account ID of the bucket owner against the specified parameter.", - "title": "ExpectedBucketOwner", - "type": "string" - }, - "ExternalTableDefinition": { - "markdownDescription": "The external table definition.\n\nConditional: If `S3` is used as a source then `ExternalTableDefinition` is required.", - "title": "ExternalTableDefinition", - "type": "string" - }, - "GlueCatalogGeneration": { - "markdownDescription": "When true, allows AWS Glue to catalog your S3 bucket. Creating an AWS Glue catalog lets you use Athena to query your data.", - "title": "GlueCatalogGeneration", - "type": "boolean" - }, - "IgnoreHeaderRows": { - "markdownDescription": "When this value is set to 1, AWS DMS ignores the first row header in a .csv file. A value of 1 turns on the feature; a value of 0 turns off the feature.\n\nThe default is 0.", - "title": "IgnoreHeaderRows", - "type": "number" - }, - "IncludeOpForFullLoad": { - "markdownDescription": "A value that enables a full load to write INSERT operations to the comma-separated value (.csv) output files only to indicate how the rows were added to the source database.\n\n> AWS DMS supports the `IncludeOpForFullLoad` parameter in versions 3.1.4 and later. \n\nFor full load, records can only be inserted. By default (the `false` setting), no information is recorded in these output files for a full load to indicate that the rows were inserted at the source database. If `IncludeOpForFullLoad` is set to `true` or `y` , the INSERT is recorded as an I annotation in the first field of the .csv file. This allows the format of your target records from a full load to be consistent with the target records from a CDC load.\n\n> This setting works together with the `CdcInsertsOnly` and the `CdcInsertsAndUpdates` parameters for output to .csv files only. For more information about how these settings work together, see [Indicating Source DB Operations in Migrated S3 Data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps) in the *AWS Database Migration Service User Guide* .", - "title": "IncludeOpForFullLoad", - "type": "boolean" - }, - "MaxFileSize": { - "markdownDescription": "A value that specifies the maximum size (in KB) of any .csv file to be created while migrating to an S3 target during full load.\n\nThe default value is 1,048,576 KB (1 GB). Valid values include 1 to 1,048,576.", - "title": "MaxFileSize", - "type": "number" - }, - "ParquetTimestampInMillisecond": { - "markdownDescription": "A value that specifies the precision of any `TIMESTAMP` column values that are written to an Amazon S3 object file in .parquet format.\n\n> AWS DMS supports the `ParquetTimestampInMillisecond` parameter in versions 3.1.4 and later. \n\nWhen `ParquetTimestampInMillisecond` is set to `true` or `y` , AWS DMS writes all `TIMESTAMP` columns in a .parquet formatted file with millisecond precision. Otherwise, DMS writes them with microsecond precision.\n\nCurrently, Amazon Athena and AWS Glue can handle only millisecond precision for `TIMESTAMP` values. Set this parameter to `true` for S3 endpoint object files that are .parquet formatted only if you plan to query or process the data with Athena or AWS Glue .\n\n> AWS DMS writes any `TIMESTAMP` column values written to an S3 file in .csv format with microsecond precision.\n> \n> Setting `ParquetTimestampInMillisecond` has no effect on the string format of the timestamp column value that is inserted by setting the `TimestampColumnName` parameter.", - "title": "ParquetTimestampInMillisecond", - "type": "boolean" - }, - "ParquetVersion": { - "markdownDescription": "The version of the Apache Parquet format that you want to use: `parquet_1_0` (the default) or `parquet_2_0` .", - "title": "ParquetVersion", - "type": "string" - }, - "PreserveTransactions": { - "markdownDescription": "If this setting is set to `true` , AWS DMS saves the transaction order for a change data capture (CDC) load on the Amazon S3 target specified by [`CdcPath`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-CdcPath) . For more information, see [Capturing data changes (CDC) including transaction order on the S3 target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.EndpointSettings.CdcPath) .\n\n> This setting is supported in AWS DMS versions 3.4.2 and later.", - "title": "PreserveTransactions", - "type": "boolean" - }, - "Rfc4180": { - "markdownDescription": "For an S3 source, when this value is set to `true` or `y` , each leading double quotation mark has to be followed by an ending double quotation mark. This formatting complies with RFC 4180. When this value is set to `false` or `n` , string literals are copied to the target as is. In this case, a delimiter (row or column) signals the end of the field. Thus, you can't use a delimiter as part of the string, because it signals the end of the value.\n\nFor an S3 target, an optional parameter used to set behavior to comply with RFC 4180 for data migrated to Amazon S3 using .csv file format only. When this value is set to `true` or `y` using Amazon S3 as a target, if the data has quotation marks or newline characters in it, AWS DMS encloses the entire column with an additional pair of double quotation marks (\"). Every quotation mark within the data is repeated twice.\n\nThe default value is `true` . Valid values include `true` , `false` , `y` , and `n` .", - "title": "Rfc4180", - "type": "boolean" - }, - "RowGroupLength": { - "markdownDescription": "The number of rows in a row group. A smaller row group size provides faster reads. But as the number of row groups grows, the slower writes become. This parameter defaults to 10,000 rows. This number is used for .parquet file format only.\n\nIf you choose a value larger than the maximum, `RowGroupLength` is set to the max row group length in bytes (64 * 1024 * 1024).", - "title": "RowGroupLength", - "type": "number" - }, - "ServerSideEncryptionKmsKeyId": { - "markdownDescription": "If you are using `SSE_KMS` for the `EncryptionMode` , provide the AWS key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of the key.\n\nHere is a CLI example: `aws dms create-endpoint --endpoint-identifier *value* --endpoint-type target --engine-name s3 --s3-settings ServiceAccessRoleArn= *value* ,BucketFolder= *value* ,BucketName= *value* ,EncryptionMode=SSE_KMS,ServerSideEncryptionKmsKeyId= *value*`", - "title": "ServerSideEncryptionKmsKeyId", - "type": "string" - }, - "ServiceAccessRoleArn": { - "markdownDescription": "A required parameter that specifies the Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the `iam:PassRole` action. It enables AWS DMS to read and write objects from an S3 bucket.", - "title": "ServiceAccessRoleArn", - "type": "string" - }, - "TimestampColumnName": { - "markdownDescription": "A value that when nonblank causes AWS DMS to add a column with timestamp information to the endpoint data for an Amazon S3 target.\n\n> AWS DMS supports the `TimestampColumnName` parameter in versions 3.1.4 and later. \n\nAWS DMS includes an additional `STRING` column in the .csv or .parquet object files of your migrated data when you set `TimestampColumnName` to a nonblank value.\n\nFor a full load, each row of this timestamp column contains a timestamp for when the data was transferred from the source to the target by DMS.\n\nFor a change data capture (CDC) load, each row of the timestamp column contains the timestamp for the commit of that row in the source database.\n\nThe string format for this timestamp column value is `yyyy-MM-dd HH:mm:ss.SSSSSS` . By default, the precision of this value is in microseconds. For a CDC load, the rounding of the precision depends on the commit timestamp supported by DMS for the source database.\n\nWhen the `AddColumnName` parameter is set to `true` , DMS also includes a name for the timestamp column that you set with `TimestampColumnName` .", - "title": "TimestampColumnName", - "type": "string" - }, - "UseCsvNoSupValue": { - "markdownDescription": "This setting applies if the S3 output files during a change data capture (CDC) load are written in .csv format. If this setting is set to `true` for columns not included in the supplemental log, AWS DMS uses the value specified by [`CsvNoSupValue`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-CsvNoSupValue) . If this setting isn't set or is set to `false` , AWS DMS uses the null value for these columns.\n\n> This setting is supported in AWS DMS versions 3.4.1 and later.", - "title": "UseCsvNoSupValue", - "type": "boolean" - }, - "UseTaskStartTimeForFullLoadTimestamp": { - "markdownDescription": "When set to true, this parameter uses the task start time as the timestamp column value instead of the time data is written to target. For full load, when `useTaskStartTimeForFullLoadTimestamp` is set to `true` , each row of the timestamp column contains the task start time. For CDC loads, each row of the timestamp column contains the transaction commit time.\n\nWhen `useTaskStartTimeForFullLoadTimestamp` is set to `false` , the full load timestamp in the timestamp column increments with the time data arrives at the target.", - "title": "UseTaskStartTimeForFullLoadTimestamp", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.SybaseSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the SAP ASE endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", - "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the SAP SAE endpoint connection details.", - "title": "SecretsManagerSecretId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::EventSubscription": { + "AWS::ControlTower::EnabledBaseline": { "additionalProperties": false, "properties": { "Condition": { @@ -101286,59 +100238,48 @@ "Properties": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "Indicates whether to activate the subscription. If you don't specify this property, CloudFormation activates the subscription.", - "title": "Enabled", - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of event categories for a source type that you want to subscribe to. If you don't specify this property, you are notified about all event categories. For more information, see [Working with Events and Notifications](https://docs.aws.amazon.com//dms/latest/userguide/CHAP_Events.html) in the *AWS DMS User Guide* .", - "title": "EventCategories", - "type": "array" + "BaselineIdentifier": { + "markdownDescription": "The specific `Baseline` enabled as part of the `EnabledBaseline` resource.", + "title": "BaselineIdentifier", + "type": "string" }, - "SnsTopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.", - "title": "SnsTopicArn", + "BaselineVersion": { + "markdownDescription": "The enabled version of the `Baseline` .", + "title": "BaselineVersion", "type": "string" }, - "SourceIds": { + "Parameters": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ControlTower::EnabledBaseline.Parameter" }, - "markdownDescription": "A list of identifiers for which AWS DMS provides notification events.\n\nIf you don't specify a value, notifications are provided for all sources.\n\nIf you specify multiple values, they must be of the same type. For example, if you specify a database instance ID, then all of the other values must be database instance IDs.", - "title": "SourceIds", + "markdownDescription": "Shows the parameters that are applied when enabling this `Baseline` .", + "title": "Parameters", "type": "array" }, - "SourceType": { - "markdownDescription": "The type of AWS DMS resource that generates the events. For example, if you want to be notified of events generated by a replication instance, you set this parameter to `replication-instance` . If this value isn't specified, all events are returned.\n\n*Valid values* : `replication-instance` | `replication-task`", - "title": "SourceType", - "type": "string" - }, - "SubscriptionName": { - "markdownDescription": "The name of the AWS DMS event notification subscription. This name must be less than 255 characters.", - "title": "SubscriptionName", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more tags to be assigned to the event subscription.", + "markdownDescription": "", "title": "Tags", "type": "array" + }, + "TargetIdentifier": { + "markdownDescription": "The target on which to enable the `Baseline` .", + "title": "TargetIdentifier", + "type": "string" } }, "required": [ - "SnsTopicArn" + "BaselineIdentifier", + "BaselineVersion", + "TargetIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::EventSubscription" + "AWS::ControlTower::EnabledBaseline" ], "type": "string" }, @@ -101357,7 +100298,23 @@ ], "type": "object" }, - "AWS::DMS::InstanceProfile": { + "AWS::ControlTower::EnabledBaseline.Parameter": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "", + "title": "Value", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ControlTower::EnabledControl": { "additionalProperties": false, "properties": { "Condition": { @@ -101392,45 +100349,18 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone where the instance profile runs.", - "title": "AvailabilityZone", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the instance profile. Descriptions can have up to 31 characters. A description can contain only ASCII letters, digits, and hyphens ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter.", - "title": "Description", - "type": "string" - }, - "InstanceProfileIdentifier": { - "markdownDescription": "The identifier of the instance profile. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", - "title": "InstanceProfileIdentifier", - "type": "string" - }, - "InstanceProfileName": { - "markdownDescription": "The user-friendly name for the instance profile.", - "title": "InstanceProfileName", - "type": "string" - }, - "KmsKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS key that is used to encrypt the connection parameters for the instance profile.\n\nIf you don't specify a value for the `KmsKeyArn` parameter, then AWS DMS uses an AWS owned encryption key to encrypt your resources.", - "title": "KmsKeyArn", - "type": "string" - }, - "NetworkType": { - "markdownDescription": "Specifies the network type for the instance profile. A value of `IPV4` represents an instance profile with IPv4 network type and only supports IPv4 addressing. A value of `IPV6` represents an instance profile with IPv6 network type and only supports IPv6 addressing. A value of `DUAL` represents an instance profile with dual network type that supports IPv4 and IPv6 addressing.", - "title": "NetworkType", + "ControlIdentifier": { + "markdownDescription": "The ARN of the control. Only *Strongly recommended* and *Elective* controls are permitted, with the exception of the *Region deny* control. For information on how to find the `controlIdentifier` , see [the overview page](https://docs.aws.amazon.com//controltower/latest/APIReference/Welcome.html) .", + "title": "ControlIdentifier", "type": "string" }, - "PubliclyAccessible": { - "markdownDescription": "Specifies the accessibility options for the instance profile. A value of `true` represents an instance profile with a public IP address. A value of `false` represents an instance profile with a private IP address. The default value is `true` .", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "SubnetGroupIdentifier": { - "markdownDescription": "The identifier of the subnet group that is associated with the instance profile.", - "title": "SubnetGroupIdentifier", - "type": "string" + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ControlTower::EnabledControl.EnabledControlParameter" + }, + "markdownDescription": "Array of `EnabledControlParameter` objects.", + "title": "Parameters", + "type": "array" }, "Tags": { "items": { @@ -101440,20 +100370,21 @@ "title": "Tags", "type": "array" }, - "VpcSecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "The VPC security groups that are used with the instance profile. The VPC security group must work with the VPC containing the instance profile.", - "title": "VpcSecurityGroups", - "type": "array" + "TargetIdentifier": { + "markdownDescription": "The ARN of the organizational unit. For information on how to find the `targetIdentifier` , see [the overview page](https://docs.aws.amazon.com//controltower/latest/APIReference/Welcome.html) .", + "title": "TargetIdentifier", + "type": "string" } }, + "required": [ + "ControlIdentifier", + "TargetIdentifier" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::InstanceProfile" + "AWS::ControlTower::EnabledControl" ], "type": "string" }, @@ -101467,11 +100398,32 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DMS::MigrationProject": { + "AWS::ControlTower::EnabledControl.EnabledControlParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The key of a key/value pair. It is of type `string` .", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of a key/value pair. It can be of type `array` , `string` , `number` , `object` , or `boolean` . [Note: The *Type* field that follows may show a single type such as Number, which is only one possible type.]", + "title": "Value", + "type": "object" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ControlTower::LandingZone": { "additionalProperties": false, "properties": { "Condition": { @@ -101506,76 +100458,42 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A user-friendly description of the migration project.", - "title": "Description", - "type": "string" - }, - "InstanceProfileArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile for your migration project.", - "title": "InstanceProfileArn", - "type": "string" - }, - "InstanceProfileIdentifier": { - "markdownDescription": "The identifier of the instance profile for your migration project.", - "title": "InstanceProfileIdentifier", - "type": "string" - }, - "InstanceProfileName": { - "markdownDescription": "The name of the associated instance profile.", - "title": "InstanceProfileName", - "type": "string" - }, - "MigrationProjectIdentifier": { - "markdownDescription": "The identifier of the migration project. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", - "title": "MigrationProjectIdentifier", - "type": "string" - }, - "MigrationProjectName": { - "markdownDescription": "The name of the migration project.", - "title": "MigrationProjectName", - "type": "string" - }, - "SchemaConversionApplicationAttributes": { - "$ref": "#/definitions/AWS::DMS::MigrationProject.SchemaConversionApplicationAttributes", - "markdownDescription": "The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN.", - "title": "SchemaConversionApplicationAttributes" + "Manifest": { + "markdownDescription": "The landing zone manifest JSON text file that specifies the landing zone configurations.", + "title": "Manifest", + "type": "object" }, - "SourceDataProviderDescriptors": { + "RemediationTypes": { "items": { - "$ref": "#/definitions/AWS::DMS::MigrationProject.DataProviderDescriptor" + "type": "string" }, - "markdownDescription": "Information about the source data provider, including the name or ARN, and AWS Secrets Manager parameters.", - "title": "SourceDataProviderDescriptors", + "markdownDescription": "The types of remediation actions configured for the landing zone, such as automatic drift correction or compliance enforcement.", + "title": "RemediationTypes", "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "Tags to be applied to the landing zone.", "title": "Tags", "type": "array" }, - "TargetDataProviderDescriptors": { - "items": { - "$ref": "#/definitions/AWS::DMS::MigrationProject.DataProviderDescriptor" - }, - "markdownDescription": "Information about the target data provider, including the name or ARN, and AWS Secrets Manager parameters.", - "title": "TargetDataProviderDescriptors", - "type": "array" - }, - "TransformationRules": { - "markdownDescription": "The settings in JSON format for migration rules. Migration rules make it possible for you to change the object names according to the rules that you specify. For example, you can change an object name to lowercase or uppercase, add or remove a prefix or suffix, or rename objects.", - "title": "TransformationRules", + "Version": { + "markdownDescription": "The landing zone's current deployed version.", + "title": "Version", "type": "string" } }, + "required": [ + "Manifest", + "Version" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::MigrationProject" + "AWS::ControlTower::LandingZone" ], "type": "string" }, @@ -101589,58 +100507,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DMS::MigrationProject.DataProviderDescriptor": { - "additionalProperties": false, - "properties": { - "DataProviderArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the data provider.", - "title": "DataProviderArn", - "type": "string" - }, - "DataProviderIdentifier": { - "markdownDescription": "", - "title": "DataProviderIdentifier", - "type": "string" - }, - "DataProviderName": { - "markdownDescription": "The user-friendly name of the data provider.", - "title": "DataProviderName", - "type": "string" - }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The ARN of the role used to access AWS Secrets Manager.", - "title": "SecretsManagerAccessRoleArn", - "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The identifier of the AWS Secrets Manager Secret used to store access credentials for the data provider.", - "title": "SecretsManagerSecretId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::MigrationProject.SchemaConversionApplicationAttributes": { - "additionalProperties": false, - "properties": { - "S3BucketPath": { - "markdownDescription": "", - "title": "S3BucketPath", - "type": "string" - }, - "S3BucketRoleArn": { - "markdownDescription": "", - "title": "S3BucketRoleArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::ReplicationConfig": { + "AWS::CustomerProfiles::CalculatedAttributeDefinition": { "additionalProperties": false, "properties": { "Condition": { @@ -101675,73 +100547,66 @@ "Properties": { "additionalProperties": false, "properties": { - "ComputeConfig": { - "$ref": "#/definitions/AWS::DMS::ReplicationConfig.ComputeConfig", - "markdownDescription": "Configuration parameters for provisioning an AWS DMS Serverless replication.", - "title": "ComputeConfig" + "AttributeDetails": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails", + "markdownDescription": "Mathematical expression and a list of attribute items specified in that expression.", + "title": "AttributeDetails" }, - "ReplicationConfigIdentifier": { - "markdownDescription": "A unique identifier that you want to use to create a `ReplicationConfigArn` that is returned as part of the output from this action. You can then pass this output `ReplicationConfigArn` as the value of the `ReplicationConfigArn` option for other actions to identify both AWS DMS Serverless replications and replication configurations that you want those actions to operate on. For some actions, you can also use either this unique identifier or a corresponding ARN in action filters to identify the specific replication and replication configuration to operate on.", - "title": "ReplicationConfigIdentifier", + "CalculatedAttributeName": { + "markdownDescription": "The name of an attribute defined in a profile object type.", + "title": "CalculatedAttributeName", "type": "string" }, - "ReplicationSettings": { - "markdownDescription": "Optional JSON settings for AWS DMS Serverless replications that are provisioned using this replication configuration. For example, see [Change processing tuning settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html) .", - "title": "ReplicationSettings", - "type": "object" + "Conditions": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions", + "markdownDescription": "The conditions including range, object count, and threshold for the calculated attribute.", + "title": "Conditions" }, - "ReplicationType": { - "markdownDescription": "The type of AWS DMS Serverless replication to provision using this replication configuration.\n\nPossible values:\n\n- `\"full-load\"`\n- `\"cdc\"`\n- `\"full-load-and-cdc\"`", - "title": "ReplicationType", + "Description": { + "markdownDescription": "The description of the calculated attribute.", + "title": "Description", "type": "string" }, - "ResourceIdentifier": { - "markdownDescription": "Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see [Fine-grained access control using resource names and tags](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.FineGrainedAccess) .", - "title": "ResourceIdentifier", + "DisplayName": { + "markdownDescription": "The display name of the calculated attribute.", + "title": "DisplayName", "type": "string" }, - "SourceEndpointArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration.", - "title": "SourceEndpointArn", + "DomainName": { + "markdownDescription": "The unique name of the domain.", + "title": "DomainName", "type": "string" }, - "SupplementalSettings": { - "markdownDescription": "Optional JSON settings for specifying supplemental data. For more information, see [Specifying supplemental data for task settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html) .", - "title": "SupplementalSettings", - "type": "object" - }, - "TableMappings": { - "markdownDescription": "JSON table mappings for AWS DMS Serverless replications that are provisioned using this replication configuration. For more information, see [Specifying table selection and transformations rules using JSON](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.html) .", - "title": "TableMappings", - "type": "object" + "Statistic": { + "markdownDescription": "The aggregation operation to perform for the calculated attribute.", + "title": "Statistic", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more optional tags associated with resources used by the AWS DMS Serverless replication. For more information, see [Tagging resources in AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tagging.html) .", + "markdownDescription": "An array of key-value pairs to apply to this resource.", "title": "Tags", "type": "array" }, - "TargetEndpointArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the target endpoint for this AWS DMS serverless replication configuration.", - "title": "TargetEndpointArn", - "type": "string" + "UseHistoricalData": { + "markdownDescription": "Whether historical data ingested before the Calculated Attribute was created should be included in calculations.", + "title": "UseHistoricalData", + "type": "boolean" } }, "required": [ - "ComputeConfig", - "ReplicationConfigIdentifier", - "ReplicationType", - "SourceEndpointArn", - "TableMappings", - "TargetEndpointArn" + "AttributeDetails", + "CalculatedAttributeName", + "DomainName", + "Statistic" ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::ReplicationConfig" + "AWS::CustomerProfiles::CalculatedAttributeDefinition" ], "type": "string" }, @@ -101760,64 +100625,155 @@ ], "type": "object" }, - "AWS::DMS::ReplicationConfig.ComputeConfig": { + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone where the AWS DMS Serverless replication using this configuration will run. The default value is a random, system-chosen Availability Zone in the configuration's AWS Region , for example, `\"us-west-2\"` . You can't set this parameter if the `MultiAZ` parameter is set to `true` .", - "title": "AvailabilityZone", + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem" + }, + "markdownDescription": "Mathematical expression and a list of attribute items specified in that expression.", + "title": "Attributes", + "type": "array" + }, + "Expression": { + "markdownDescription": "Mathematical expression that is performed on attribute items provided in the attribute list. Each element in the expression should follow the structure of \\\"{ObjectTypeName.AttributeName}\\\".", + "title": "Expression", + "type": "string" + } + }, + "required": [ + "Attributes", + "Expression" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The unique name of the calculated attribute.", + "title": "Name", "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions": { + "additionalProperties": false, + "properties": { + "ObjectCount": { + "markdownDescription": "The number of profile objects used for the calculated attribute.", + "title": "ObjectCount", + "type": "number" }, - "DnsNameServers": { - "markdownDescription": "A list of custom DNS name servers supported for the AWS DMS Serverless replication to access your source or target database. This list overrides the default name servers supported by the AWS DMS Serverless replication. You can specify a comma-separated list of internet addresses for up to four DNS name servers. For example: `\"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4\"`", - "title": "DnsNameServers", + "Range": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Range", + "markdownDescription": "The relative time period over which data is included in the aggregation.", + "title": "Range" + }, + "Threshold": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold", + "markdownDescription": "The threshold for the calculated attribute.", + "title": "Threshold" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Range": { + "additionalProperties": false, + "properties": { + "TimestampFormat": { + "markdownDescription": "The format the timestamp field in your JSON object is specified. This value should be one of EPOCHMILLI (for Unix epoch timestamps with second/millisecond level precision) or ISO_8601 (following ISO_8601 format with second/millisecond level precision, with an optional offset of Z or in the format HH:MM or HHMM.). E.g. if your object type is MyType and source JSON is {\"generatedAt\": {\"timestamp\": \"2001-07-04T12:08:56.235-0700\"}}, then TimestampFormat should be \"ISO_8601\"", + "title": "TimestampFormat", "type": "string" }, - "KmsKeyId": { - "markdownDescription": "An AWS Key Management Service ( AWS ) key Amazon Resource Name (ARN) that is used to encrypt the data during AWS DMS Serverless replication.\n\nIf you don't specify a value for the `KmsKeyId` parameter, AWS DMS uses your default encryption key.\n\nAWS creates the default encryption key for your Amazon Web Services account. Your AWS account has a different default encryption key for each AWS Region .", - "title": "KmsKeyId", + "TimestampSource": { + "markdownDescription": "An expression specifying the field in your JSON object from which the date should be parsed. The expression should follow the structure of \\\"{ObjectTypeName.}\\\". E.g. if your object type is MyType and source JSON is {\"generatedAt\": {\"timestamp\": \"1737587945945\"}}, then TimestampSource should be \"{MyType.generatedAt.timestamp}\"", + "title": "TimestampSource", "type": "string" }, - "MaxCapacityUnits": { - "markdownDescription": "Specifies the maximum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the maximum value that you can specify for AWS DMS Serverless is 384. The `MaxCapacityUnits` parameter is the only DCU parameter you are required to specify.", - "title": "MaxCapacityUnits", - "type": "number" + "Unit": { + "markdownDescription": "The unit of time.", + "title": "Unit", + "type": "string" }, - "MinCapacityUnits": { - "markdownDescription": "Specifies the minimum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the minimum DCU value that you can specify for AWS DMS Serverless is 1. If you don't set this value, AWS DMS sets this parameter to the minimum DCU value allowed, 1. If there is no current source activity, AWS DMS scales down your replication until it reaches the value specified in `MinCapacityUnits` .", - "title": "MinCapacityUnits", + "Value": { + "markdownDescription": "The amount of time of the specified unit.", + "title": "Value", "type": "number" }, - "MultiAZ": { - "markdownDescription": "Specifies whether the AWS DMS Serverless replication is a Multi-AZ deployment. You can't set the `AvailabilityZone` parameter if the `MultiAZ` parameter is set to `true` .", - "title": "MultiAZ", - "type": "boolean" + "ValueRange": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.ValueRange", + "markdownDescription": "A structure letting customers specify a relative time window over which over which data is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint is in the past, and negative numbers to indicate it is in the future. ValueRange overrides Value.", + "title": "ValueRange" + } + }, + "required": [ + "Unit" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Readiness": { + "additionalProperties": false, + "properties": { + "Message": { + "markdownDescription": "Any customer messaging.", + "title": "Message", + "type": "string" }, - "PreferredMaintenanceWindow": { - "markdownDescription": "The weekly time range during which system maintenance can occur for the AWS DMS Serverless replication, in Universal Coordinated Time (UTC). The format is `ddd:hh24:mi-ddd:hh24:mi` .\n\nThe default is a 30-minute window selected at random from an 8-hour block of time per AWS Region . This maintenance occurs on a random day of the week. Valid values for days of the week include `Mon` , `Tue` , `Wed` , `Thu` , `Fri` , `Sat` , and `Sun` .\n\nConstraints include a minimum 30-minute window.", - "title": "PreferredMaintenanceWindow", + "ProgressPercentage": { + "markdownDescription": "Approximately how far the Calculated Attribute creation is from completion.", + "title": "ProgressPercentage", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold": { + "additionalProperties": false, + "properties": { + "Operator": { + "markdownDescription": "The operator of the threshold.", + "title": "Operator", "type": "string" }, - "ReplicationSubnetGroupId": { - "markdownDescription": "Specifies a subnet group identifier to associate with the AWS DMS Serverless replication.", - "title": "ReplicationSubnetGroupId", + "Value": { + "markdownDescription": "The value of the threshold.", + "title": "Value", "type": "string" + } + }, + "required": [ + "Operator", + "Value" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.ValueRange": { + "additionalProperties": false, + "properties": { + "End": { + "markdownDescription": "The ending point for this overridden range. Positive numbers indicate how many days in the past data should be included, and negative numbers indicate how many days in the future.", + "title": "End", + "type": "number" }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the virtual private cloud (VPC) security group to use with the AWS DMS Serverless replication. The VPC security group must work with the VPC containing the replication.", - "title": "VpcSecurityGroupIds", - "type": "array" + "Start": { + "markdownDescription": "The starting point for this overridden range. Positive numbers indicate how many days in the past data should be included, and negative numbers indicate how many days in the future.", + "title": "Start", + "type": "number" } }, "required": [ - "MaxCapacityUnits" + "End", + "Start" ], "type": "object" }, - "AWS::DMS::ReplicationInstance": { + "AWS::CustomerProfiles::Domain": { "additionalProperties": false, "properties": { "Condition": { @@ -101852,106 +100808,59 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocatedStorage": { - "markdownDescription": "The amount of storage (in gigabytes) to be initially allocated for the replication instance.", - "title": "AllocatedStorage", - "type": "number" + "DataStore": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.DataStore", + "markdownDescription": "", + "title": "DataStore" }, - "AllowMajorVersionUpgrade": { - "markdownDescription": "Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage, and the change is asynchronously applied as soon as possible.\n\nThis parameter must be set to `true` when specifying a value for the `EngineVersion` parameter that is a different major version than the replication instance's current version.", - "title": "AllowMajorVersionUpgrade", - "type": "boolean" + "DeadLetterQueueUrl": { + "markdownDescription": "The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications. You must set up a policy on the `DeadLetterQueue` for the `SendMessage` operation to enable Amazon Connect Customer Profiles to send messages to the `DeadLetterQueue` .", + "title": "DeadLetterQueueUrl", + "type": "string" }, - "AutoMinorVersionUpgrade": { - "markdownDescription": "A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window. This parameter defaults to `true` .\n\nDefault: `true`", - "title": "AutoMinorVersionUpgrade", - "type": "boolean" - }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone that the replication instance will be created in.\n\nThe default value is a random, system-chosen Availability Zone in the endpoint's AWS Region , for example `us-east-1d` .", - "title": "AvailabilityZone", - "type": "string" - }, - "DnsNameServers": { - "markdownDescription": "A list of custom DNS name servers supported for the replication instance to access your on-premise source or target database. This list overrides the default name servers supported by the replication instance. You can specify a comma-separated list of internet addresses for up to four on-premise DNS name servers. For example: `\"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4\"`", - "title": "DnsNameServers", - "type": "string" - }, - "EngineVersion": { - "markdownDescription": "The engine version number of the replication instance.\n\nIf an engine version number is not specified when a replication instance is created, the default is the latest engine version available.", - "title": "EngineVersion", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "An AWS key identifier that is used to encrypt the data on the replication instance.\n\nIf you don't specify a value for the `KmsKeyId` parameter, AWS DMS uses your default encryption key.\n\nAWS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Region .", - "title": "KmsKeyId", - "type": "string" - }, - "MultiAZ": { - "markdownDescription": "Specifies whether the replication instance is a Multi-AZ deployment. You can't set the `AvailabilityZone` parameter if the Multi-AZ parameter is set to `true` .", - "title": "MultiAZ", - "type": "boolean" - }, - "NetworkType": { - "markdownDescription": "The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.", - "title": "NetworkType", - "type": "string" - }, - "PreferredMaintenanceWindow": { - "markdownDescription": "The weekly time range during which system maintenance can occur, in UTC.\n\n*Format* : `ddd:hh24:mi-ddd:hh24:mi`\n\n*Default* : A 30-minute window selected at random from an 8-hour block of time per AWS Region , occurring on a random day of the week.\n\n*Valid days* ( `ddd` ): `Mon` | `Tue` | `Wed` | `Thu` | `Fri` | `Sat` | `Sun`\n\n*Constraints* : Minimum 30-minute window.", - "title": "PreferredMaintenanceWindow", + "DefaultEncryptionKey": { + "markdownDescription": "The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.", + "title": "DefaultEncryptionKey", "type": "string" }, - "PubliclyAccessible": { - "markdownDescription": "Specifies the accessibility options for the replication instance. A value of `true` represents an instance with a public IP address. A value of `false` represents an instance with a private IP address. The default value is `true` .", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "ReplicationInstanceClass": { - "markdownDescription": "The compute and memory capacity of the replication instance as defined for the specified replication instance class. For example, to specify the instance class dms.c4.large, set this parameter to `\"dms.c4.large\"` . For more information on the settings and capacities for the available replication instance classes, see [Selecting the right AWS DMS replication instance for your migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth) in the *AWS Database Migration Service User Guide* .", - "title": "ReplicationInstanceClass", - "type": "string" + "DefaultExpirationDays": { + "markdownDescription": "The default number of days until the data within the domain expires.", + "title": "DefaultExpirationDays", + "type": "number" }, - "ReplicationInstanceIdentifier": { - "markdownDescription": "The replication instance identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n- Must contain 1-63 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Can't end with a hyphen or contain two consecutive hyphens.\n\nExample: `myrepinstance`", - "title": "ReplicationInstanceIdentifier", + "DomainName": { + "markdownDescription": "The unique name of the domain.", + "title": "DomainName", "type": "string" }, - "ReplicationSubnetGroupIdentifier": { - "markdownDescription": "A subnet group to associate with the replication instance.", - "title": "ReplicationSubnetGroupIdentifier", - "type": "string" + "Matching": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.Matching", + "markdownDescription": "The process of matching duplicate profiles.", + "title": "Matching" }, - "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` . For 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" + "RuleBasedMatching": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.RuleBasedMatching", + "markdownDescription": "The process of matching duplicate profiles using Rule-Based matching.", + "title": "RuleBasedMatching" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more tags to be assigned to the replication instance.", + "markdownDescription": "The tags used to organize, track, or control access for this resource.", "title": "Tags", "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the virtual private cloud (VPC) security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance.", - "title": "VpcSecurityGroupIds", - "type": "array" } }, "required": [ - "ReplicationInstanceClass" + "DefaultExpirationDays", + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::ReplicationInstance" + "AWS::CustomerProfiles::Domain" ], "type": "string" }, @@ -101970,96 +100879,313 @@ ], "type": "object" }, - "AWS::DMS::ReplicationSubnetGroup": { + "AWS::CustomerProfiles::Domain.AttributeTypesSelector": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Address": { + "items": { + "type": "string" + }, + "markdownDescription": "The `Address` type. You can choose from `Address` , `BusinessAddress` , `MaillingAddress` , and `ShippingAddress` . You only can use the `Address` type in the `MatchingRule` . For example, if you want to match a profile based on `BusinessAddress.City` or `MaillingAddress.City` , you can choose the `BusinessAddress` and the `MaillingAddress` to represent the `Address` type and specify the `Address.City` on the matching rule.", + "title": "Address", + "type": "array" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AttributeMatchingModel": { + "markdownDescription": "Configures the `AttributeMatchingModel` , you can either choose `ONE_TO_ONE` or `MANY_TO_MANY` .", + "title": "AttributeMatchingModel", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EmailAddress": { + "items": { + "type": "string" + }, + "markdownDescription": "The Email type. You can choose from `EmailAddress` , `BusinessEmailAddress` and `PersonalEmailAddress` . You only can use the `EmailAddress` type in the `MatchingRule` . For example, if you want to match profile based on `PersonalEmailAddress` or `BusinessEmailAddress` , you can choose the `PersonalEmailAddress` and the `BusinessEmailAddress` to represent the `EmailAddress` type and only specify the `EmailAddress` on the matching rule.", + "title": "EmailAddress", + "type": "array" }, - "Metadata": { + "PhoneNumber": { + "items": { + "type": "string" + }, + "markdownDescription": "The `PhoneNumber` type. You can choose from `PhoneNumber` , `HomePhoneNumber` , and `MobilePhoneNumber` . You only can use the `PhoneNumber` type in the `MatchingRule` . For example, if you want to match a profile based on `Phone` or `HomePhone` , you can choose the `Phone` and the `HomePhone` to represent the `PhoneNumber` type and only specify the `PhoneNumber` on the matching rule.", + "title": "PhoneNumber", + "type": "array" + } + }, + "required": [ + "AttributeMatchingModel" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.AutoMerging": { + "additionalProperties": false, + "properties": { + "ConflictResolution": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ConflictResolution", + "markdownDescription": "Determines how the auto-merging process should resolve conflicts between different profiles. For example, if Profile A and Profile B have the same `FirstName` and `LastName` , `ConflictResolution` specifies which `EmailAddress` should be used.", + "title": "ConflictResolution" + }, + "Consolidation": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.Consolidation", + "markdownDescription": "A list of matching attributes that represent matching criteria. If two profiles meet at least one of the requirements in the matching attributes list, they will be merged.", + "title": "Consolidation" + }, + "Enabled": { + "markdownDescription": "The flag that enables the auto-merging of duplicate profiles.", + "title": "Enabled", + "type": "boolean" + }, + "MinAllowedConfidenceScoreForMerging": { + "markdownDescription": "A number between 0 and 1 that represents the minimum confidence score required for profiles within a matching group to be merged during the auto-merge process. A higher score means that a higher similarity is required to merge profiles.", + "title": "MinAllowedConfidenceScoreForMerging", + "type": "number" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.ConflictResolution": { + "additionalProperties": false, + "properties": { + "ConflictResolvingModel": { + "markdownDescription": "How the auto-merging process should resolve conflicts between different profiles.", + "title": "ConflictResolvingModel", + "type": "string" + }, + "SourceName": { + "markdownDescription": "The `ObjectType` name that is used to resolve profile merging conflicts when choosing `SOURCE` as the `ConflictResolvingModel` .", + "title": "SourceName", + "type": "string" + } + }, + "required": [ + "ConflictResolvingModel" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.Consolidation": { + "additionalProperties": false, + "properties": { + "MatchingAttributesList": { + "markdownDescription": "A list of matching criteria.", + "title": "MatchingAttributesList", "type": "object" + } + }, + "required": [ + "MatchingAttributesList" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.DataStore": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "", + "title": "Enabled", + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ReplicationSubnetGroupDescription": { - "markdownDescription": "The description for the subnet group.", - "title": "ReplicationSubnetGroupDescription", - "type": "string" - }, - "ReplicationSubnetGroupIdentifier": { - "markdownDescription": "The identifier for the replication subnet group. If you don't specify a name, CloudFormation generates a unique ID and uses that ID for the identifier.", - "title": "ReplicationSubnetGroupIdentifier", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more subnet IDs to be assigned to the subnet group.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "One or more tags to be assigned to the subnet group.", - "title": "Tags", - "type": "array" - } + "Readiness": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.Readiness", + "markdownDescription": "", + "title": "Readiness" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Domain.DomainStats": { + "additionalProperties": false, + "properties": { + "MeteringProfileCount": { + "markdownDescription": "The number of profiles that you are currently paying for in the domain. If you have more than 100 objects associated with a single profile, that profile counts as two profiles. If you have more than 200 objects, that profile counts as three, and so on.", + "title": "MeteringProfileCount", + "type": "number" + }, + "ObjectCount": { + "markdownDescription": "The total number of objects in domain.", + "title": "ObjectCount", + "type": "number" + }, + "ProfileCount": { + "markdownDescription": "The total number of profiles currently in the domain.", + "title": "ProfileCount", + "type": "number" + }, + "TotalSize": { + "markdownDescription": "The total size, in bytes, of all objects in the domain.", + "title": "TotalSize", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Domain.ExportingConfig": { + "additionalProperties": false, + "properties": { + "S3Exporting": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.S3ExportingConfig", + "markdownDescription": "", + "title": "S3Exporting" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Domain.JobSchedule": { + "additionalProperties": false, + "properties": { + "DayOfTheWeek": { + "markdownDescription": "The day when the Identity Resolution Job should run every week.", + "title": "DayOfTheWeek", + "type": "string" + }, + "Time": { + "markdownDescription": "The time when the Identity Resolution Job should run every week.", + "title": "Time", + "type": "string" + } + }, + "required": [ + "DayOfTheWeek", + "Time" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.Matching": { + "additionalProperties": false, + "properties": { + "AutoMerging": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.AutoMerging", + "markdownDescription": "Configuration information about the auto-merging process.", + "title": "AutoMerging" + }, + "Enabled": { + "markdownDescription": "The flag that enables the matching process of duplicate profiles.", + "title": "Enabled", + "type": "boolean" + }, + "ExportingConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ExportingConfig", + "markdownDescription": "The S3 location where Identity Resolution Jobs write result files.", + "title": "ExportingConfig" + }, + "JobSchedule": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.JobSchedule", + "markdownDescription": "The day and time when do you want to start the Identity Resolution Job every week.", + "title": "JobSchedule" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.MatchingRule": { + "additionalProperties": false, + "properties": { + "Rule": { + "items": { + "type": "string" }, - "required": [ - "ReplicationSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" + "markdownDescription": "A single rule level of the `MatchRules` . Configures how the rule-based matching process should match profiles.", + "title": "Rule", + "type": "array" + } + }, + "required": [ + "Rule" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.Readiness": { + "additionalProperties": false, + "properties": { + "Message": { + "markdownDescription": "", + "title": "Message", + "type": "string" }, - "Type": { - "enum": [ - "AWS::DMS::ReplicationSubnetGroup" - ], + "ProgressPercentage": { + "markdownDescription": "", + "title": "ProgressPercentage", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Domain.RuleBasedMatching": { + "additionalProperties": false, + "properties": { + "AttributeTypesSelector": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.AttributeTypesSelector", + "markdownDescription": "Configures information about the `AttributeTypesSelector` where the rule-based identity resolution uses to match profiles.", + "title": "AttributeTypesSelector" + }, + "ConflictResolution": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ConflictResolution", + "markdownDescription": "Determines how the auto-merging process should resolve conflicts between different profiles. For example, if Profile A and Profile B have the same `FirstName` and `LastName` , `ConflictResolution` specifies which `EmailAddress` should be used.", + "title": "ConflictResolution" + }, + "Enabled": { + "markdownDescription": "The flag that enables the matching process of duplicate profiles.", + "title": "Enabled", + "type": "boolean" + }, + "ExportingConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ExportingConfig", + "markdownDescription": "The S3 location where Identity Resolution Jobs write result files.", + "title": "ExportingConfig" + }, + "MatchingRules": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.MatchingRule" + }, + "markdownDescription": "Configures how the rule-based matching process should match profiles. You can have up to 15 `MatchingRule` in the `MatchingRules` .", + "title": "MatchingRules", + "type": "array" + }, + "MaxAllowedRuleLevelForMatching": { + "markdownDescription": "Indicates the maximum allowed rule level for matching.", + "title": "MaxAllowedRuleLevelForMatching", + "type": "number" + }, + "MaxAllowedRuleLevelForMerging": { + "markdownDescription": "Indicates the maximum allowed rule level for merging.", + "title": "MaxAllowedRuleLevelForMerging", + "type": "number" + }, + "Status": { + "markdownDescription": "The status of rule-based matching rule.", + "title": "Status", + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.S3ExportingConfig": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "markdownDescription": "The name of the S3 bucket where Identity Resolution Jobs write result files.", + "title": "S3BucketName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3KeyName": { + "markdownDescription": "The S3 key name of the location where Identity Resolution Jobs write result files.", + "title": "S3KeyName", "type": "string" } }, "required": [ - "Type", - "Properties" + "S3BucketName" ], "type": "object" }, - "AWS::DMS::ReplicationTask": { + "AWS::CustomerProfiles::DomainObjectType": { "additionalProperties": false, "properties": { "Condition": { @@ -102094,87 +101220,44 @@ "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" - }, - "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", + "Description": { "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", + "DomainName": { "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", + "EncryptionKey": { "type": "string" }, - "SourceEndpointArn": { - "markdownDescription": "An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.", - "title": "SourceEndpointArn", - "type": "string" + "Fields": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::CustomerProfiles::DomainObjectType.DomainObjectTypeField" + } + }, + "type": "object" }, - "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", + "ObjectTypeName": { "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" + "DomainName", + "Fields", + "ObjectTypeName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::ReplicationTask" + "AWS::CustomerProfiles::DomainObjectType" ], "type": "string" }, @@ -102193,64 +101276,29 @@ ], "type": "object" }, - "AWS::DRS::RecoveryInstance": { + "AWS::CustomerProfiles::DomainObjectType.DomainObjectTypeField": { "additionalProperties": false, "properties": { - "Condition": { + "ContentType": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FeatureType": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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::DRS::RecoveryInstance" - ], + "Source": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Target": { "type": "string" } }, "required": [ - "Type" + "Source", + "Target" ], "type": "object" }, - "AWS::DRS::SourceNetwork": { + "AWS::CustomerProfiles::EventStream": { "additionalProperties": false, "properties": { "Condition": { @@ -102285,32 +101333,40 @@ "Properties": { "additionalProperties": false, "properties": { - "OriginAccountID": { + "DomainName": { + "markdownDescription": "The unique name of the domain.", + "title": "DomainName", "type": "string" }, - "OriginRegion": { + "EventStreamName": { + "markdownDescription": "The name of the event stream.", + "title": "EventStreamName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags used to organize, track, or control access for this resource.", + "title": "Tags", "type": "array" }, - "VpcID": { + "Uri": { + "markdownDescription": "The StreamARN of the destination to deliver profile events to. For example, arn:aws:kinesis:region:account-id:stream/stream-name.", + "title": "Uri", "type": "string" } }, "required": [ - "OriginAccountID", - "OriginRegion", - "VpcID" + "DomainName", + "EventStreamName", + "Uri" ], "type": "object" }, "Type": { "enum": [ - "AWS::DRS::SourceNetwork" + "AWS::CustomerProfiles::EventStream" ], "type": "string" }, @@ -102329,7 +101385,27 @@ ], "type": "object" }, - "AWS::DSQL::Cluster": { + "AWS::CustomerProfiles::EventStream.DestinationDetails": { + "additionalProperties": false, + "properties": { + "Status": { + "markdownDescription": "The status of enabling the Kinesis stream as a destination for export.", + "title": "Status", + "type": "string" + }, + "Uri": { + "markdownDescription": "The StreamARN of the destination to deliver profile events to. For example, arn:aws:kinesis:region:account-id:stream/stream-name.", + "title": "Uri", + "type": "string" + } + }, + "required": [ + "Status", + "Uri" + ], + "type": "object" + }, + "AWS::CustomerProfiles::EventTrigger": { "additionalProperties": false, "properties": { "Condition": { @@ -102364,40 +101440,64 @@ "Properties": { "additionalProperties": false, "properties": { - "DeletionProtectionEnabled": { - "markdownDescription": "Whether deletion protection is enabled on this cluster.", - "title": "DeletionProtectionEnabled", - "type": "boolean" + "Description": { + "markdownDescription": "The description of the event trigger.", + "title": "Description", + "type": "string" }, - "KmsEncryptionKey": { - "markdownDescription": "", - "title": "KmsEncryptionKey", + "DomainName": { + "markdownDescription": "The unique name of the domain.", + "title": "DomainName", "type": "string" }, - "MultiRegionProperties": { - "$ref": "#/definitions/AWS::DSQL::Cluster.MultiRegionProperties", - "markdownDescription": "Defines the structure for multi-Region cluster configurations, containing the witness Region and peered cluster settings.", - "title": "MultiRegionProperties" + "EventTriggerConditions": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.EventTriggerCondition" + }, + "markdownDescription": "A list of conditions that determine when an event should trigger the destination.", + "title": "EventTriggerConditions", + "type": "array" }, - "PolicyDocument": { - "markdownDescription": "A resource-based policy document in JSON format. Length constraints: Minimum length of 1. Maximum length of 20480 characters (approximately 20KB).", - "title": "PolicyDocument", + "EventTriggerLimits": { + "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.EventTriggerLimits", + "markdownDescription": "Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.", + "title": "EventTriggerLimits" + }, + "EventTriggerName": { + "markdownDescription": "The unique name of the event trigger.", + "title": "EventTriggerName", + "type": "string" + }, + "ObjectTypeName": { + "markdownDescription": "The unique name of the object type.", + "title": "ObjectTypeName", + "type": "string" + }, + "SegmentFilter": { + "markdownDescription": "The destination is triggered only for profiles that meet the criteria of a segment definition.", + "title": "SegmentFilter", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A map of key and value pairs this cluster is tagged with.", + "markdownDescription": "An array of key-value pairs to apply to this resource.", "title": "Tags", "type": "array" } }, + "required": [ + "DomainName", + "EventTriggerConditions", + "EventTriggerName", + "ObjectTypeName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DSQL::Cluster" + "AWS::CustomerProfiles::EventTrigger" ], "type": "string" }, @@ -102411,51 +101511,134 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DSQL::Cluster.EncryptionDetails": { + "AWS::CustomerProfiles::EventTrigger.EventTriggerCondition": { "additionalProperties": false, "properties": { - "EncryptionStatus": { - "markdownDescription": "The status of encryption for the cluster.", - "title": "EncryptionStatus", - "type": "string" + "EventTriggerDimensions": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.EventTriggerDimension" + }, + "markdownDescription": "A list of dimensions to be evaluated for the event.", + "title": "EventTriggerDimensions", + "type": "array" }, - "EncryptionType": { - "markdownDescription": "The type of encryption that protects the data on your cluster.", - "title": "EncryptionType", + "LogicalOperator": { + "markdownDescription": "The operator used to combine multiple dimensions.", + "title": "LogicalOperator", "type": "string" + } + }, + "required": [ + "EventTriggerDimensions", + "LogicalOperator" + ], + "type": "object" + }, + "AWS::CustomerProfiles::EventTrigger.EventTriggerDimension": { + "additionalProperties": false, + "properties": { + "ObjectAttributes": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.ObjectAttribute" + }, + "markdownDescription": "A list of object attributes to be evaluated.", + "title": "ObjectAttributes", + "type": "array" + } + }, + "required": [ + "ObjectAttributes" + ], + "type": "object" + }, + "AWS::CustomerProfiles::EventTrigger.EventTriggerLimits": { + "additionalProperties": false, + "properties": { + "EventExpiration": { + "markdownDescription": "Specifies that an event will only trigger the destination if it is processed within a certain latency period.", + "title": "EventExpiration", + "type": "number" }, - "KmsKeyArn": { - "markdownDescription": "The ARN of the AWS key that encrypts data in the cluster.", - "title": "KmsKeyArn", - "type": "string" + "Periods": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.Period" + }, + "markdownDescription": "A list of time periods during which the limits apply.", + "title": "Periods", + "type": "array" } }, "type": "object" }, - "AWS::DSQL::Cluster.MultiRegionProperties": { + "AWS::CustomerProfiles::EventTrigger.ObjectAttribute": { "additionalProperties": false, "properties": { - "Clusters": { + "ComparisonOperator": { + "markdownDescription": "The operator used to compare an attribute against a list of values.", + "title": "ComparisonOperator", + "type": "string" + }, + "FieldName": { + "markdownDescription": "A field defined within an object type.", + "title": "FieldName", + "type": "string" + }, + "Source": { + "markdownDescription": "An attribute contained within a source object.", + "title": "Source", + "type": "string" + }, + "Values": { "items": { "type": "string" }, - "markdownDescription": "The set of peered clusters that form the multi-Region cluster configuration. Each peered cluster represents a database instance in a different Region.", - "title": "Clusters", + "markdownDescription": "The amount of time of the specified unit.", + "title": "Values", "type": "array" + } + }, + "required": [ + "ComparisonOperator", + "Values" + ], + "type": "object" + }, + "AWS::CustomerProfiles::EventTrigger.Period": { + "additionalProperties": false, + "properties": { + "MaxInvocationsPerProfile": { + "markdownDescription": "The maximum allowed number of destination invocations per profile.", + "title": "MaxInvocationsPerProfile", + "type": "number" }, - "WitnessRegion": { - "markdownDescription": "The Region that serves as the witness Region for a multi-Region cluster. The witness Region helps maintain cluster consistency and quorum.", - "title": "WitnessRegion", + "Unit": { + "markdownDescription": "The unit of time.", + "title": "Unit", "type": "string" + }, + "Unlimited": { + "markdownDescription": "If set to true, there is no limit on the number of destination invocations per profile. The default is false.", + "title": "Unlimited", + "type": "boolean" + }, + "Value": { + "markdownDescription": "The amount of time of the specified unit.", + "title": "Value", + "type": "number" } }, + "required": [ + "Unit", + "Value" + ], "type": "object" }, - "AWS::DataBrew::Dataset": { + "AWS::CustomerProfiles::Integration": { "additionalProperties": false, "properties": { "Condition": { @@ -102490,54 +101673,62 @@ "Properties": { "additionalProperties": false, "properties": { - "Format": { - "markdownDescription": "The file format of a dataset that is created from an Amazon S3 file or folder.", - "title": "Format", + "DomainName": { + "markdownDescription": "The unique name of the domain.", + "title": "DomainName", "type": "string" }, - "FormatOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FormatOptions", - "markdownDescription": "A set of options that define how DataBrew interprets the data in the dataset.", - "title": "FormatOptions" + "EventTriggerNames": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of unique names for active event triggers associated with the integration.", + "title": "EventTriggerNames", + "type": "array" }, - "Input": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.Input", - "markdownDescription": "Information on how DataBrew can find the dataset, in either the AWS Glue Data Catalog or Amazon S3 .", - "title": "Input" + "FlowDefinition": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.FlowDefinition", + "markdownDescription": "The configuration that controls how Customer Profiles retrieves data from the source.", + "title": "FlowDefinition" }, - "Name": { - "markdownDescription": "The unique name of the dataset.", - "title": "Name", + "ObjectTypeName": { + "markdownDescription": "The name of the profile object type mapping to use.", + "title": "ObjectTypeName", "type": "string" }, - "PathOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.PathOptions", - "markdownDescription": "A set of options that defines how DataBrew interprets an Amazon S3 path of the dataset.", - "title": "PathOptions" + "ObjectTypeNames": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ObjectTypeMapping" + }, + "markdownDescription": "The object type mapping.", + "title": "ObjectTypeNames", + "type": "array" }, - "Source": { - "markdownDescription": "The location of the data for the dataset, either Amazon S3 or the AWS Glue Data Catalog .", - "title": "Source", + "Scope": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Metadata tags that have been applied to the dataset.", + "markdownDescription": "The tags used to organize, track, or control access for this resource.", "title": "Tags", "type": "array" + }, + "Uri": { + "markdownDescription": "The URI of the S3 bucket or any other type of data source.", + "title": "Uri", + "type": "string" } }, "required": [ - "Input", - "Name" + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataBrew::Dataset" + "AWS::CustomerProfiles::Integration" ], "type": "string" }, @@ -102556,368 +101747,396 @@ ], "type": "object" }, - "AWS::DataBrew::Dataset.CsvOptions": { + "AWS::CustomerProfiles::Integration.ConnectorOperator": { "additionalProperties": false, "properties": { - "Delimiter": { - "markdownDescription": "A single character that specifies the delimiter being used in the CSV file.", - "title": "Delimiter", + "Marketo": { + "markdownDescription": "The operation to be performed on the provided Marketo source fields.", + "title": "Marketo", "type": "string" }, - "HeaderRow": { - "markdownDescription": "A variable that specifies whether the first row in the file is parsed as the header. If this value is false, column names are auto-generated.", - "title": "HeaderRow", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.DataCatalogInputDefinition": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "markdownDescription": "The unique identifier of the AWS account that holds the Data Catalog that stores the data.", - "title": "CatalogId", + "S3": { + "markdownDescription": "The operation to be performed on the provided Amazon S3 source fields.", + "title": "S3", "type": "string" }, - "DatabaseName": { - "markdownDescription": "The name of a database in the Data Catalog.", - "title": "DatabaseName", + "Salesforce": { + "markdownDescription": "The operation to be performed on the provided Salesforce source fields.", + "title": "Salesforce", "type": "string" }, - "TableName": { - "markdownDescription": "The name of a database table in the Data Catalog. This table corresponds to a DataBrew dataset.", - "title": "TableName", + "ServiceNow": { + "markdownDescription": "The operation to be performed on the provided ServiceNow source fields.", + "title": "ServiceNow", "type": "string" }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location", - "markdownDescription": "An Amazon location that AWS Glue Data Catalog can use as a temporary directory.", - "title": "TempDirectory" + "Zendesk": { + "markdownDescription": "The operation to be performed on the provided Zendesk source fields.", + "title": "Zendesk", + "type": "string" } }, "type": "object" }, - "AWS::DataBrew::Dataset.DatabaseInputDefinition": { + "AWS::CustomerProfiles::Integration.FlowDefinition": { "additionalProperties": false, "properties": { - "DatabaseTableName": { - "markdownDescription": "The table within the target database.", - "title": "DatabaseTableName", + "Description": { + "markdownDescription": "A description of the flow you want to create.", + "title": "Description", "type": "string" }, - "GlueConnectionName": { - "markdownDescription": "The AWS Glue Connection that stores the connection information for the target database.", - "title": "GlueConnectionName", + "FlowName": { + "markdownDescription": "The specified name of the flow. Use underscores (_) or hyphens (-) only. Spaces are not allowed.", + "title": "FlowName", "type": "string" }, - "QueryString": { - "markdownDescription": "Custom SQL to run against the provided AWS Glue connection. This SQL will be used as the input for DataBrew projects and jobs.", - "title": "QueryString", + "KmsArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key you provide for encryption.", + "title": "KmsArn", "type": "string" }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location", - "markdownDescription": "An Amazon location that AWS Glue Data Catalog can use as a temporary directory.", - "title": "TempDirectory" + "SourceFlowConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceFlowConfig", + "markdownDescription": "The configuration that controls how Customer Profiles retrieves data from the source.", + "title": "SourceFlowConfig" + }, + "Tasks": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.Task" + }, + "markdownDescription": "A list of tasks that Customer Profiles performs while transferring the data in the flow run.", + "title": "Tasks", + "type": "array" + }, + "TriggerConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerConfig", + "markdownDescription": "The trigger settings that determine how and when the flow runs.", + "title": "TriggerConfig" } }, "required": [ - "GlueConnectionName" + "FlowName", + "KmsArn", + "SourceFlowConfig", + "Tasks", + "TriggerConfig" ], "type": "object" }, - "AWS::DataBrew::Dataset.DatasetParameter": { + "AWS::CustomerProfiles::Integration.IncrementalPullConfig": { "additionalProperties": false, "properties": { - "CreateColumn": { - "markdownDescription": "Optional boolean value that defines whether the captured value of this parameter should be loaded as an additional column in the dataset.", - "title": "CreateColumn", - "type": "boolean" - }, - "DatetimeOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatetimeOptions", - "markdownDescription": "Additional parameter options such as a format and a timezone. Required for datetime parameters.", - "title": "DatetimeOptions" - }, - "Filter": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression", - "markdownDescription": "The optional filter expression structure to apply additional matching criteria to the parameter.", - "title": "Filter" - }, - "Name": { - "markdownDescription": "The name of the parameter that is used in the dataset's Amazon S3 path.", - "title": "Name", + "DatetimeTypeFieldName": { + "markdownDescription": "A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source.", + "title": "DatetimeTypeFieldName", "type": "string" - }, - "Type": { - "markdownDescription": "The type of the dataset parameter, can be one of a 'String', 'Number' or 'Datetime'.", - "title": "Type", + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.MarketoSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "markdownDescription": "The object specified in the Marketo flow source.", + "title": "Object", "type": "string" } }, "required": [ - "Name", - "Type" + "Object" ], "type": "object" }, - "AWS::DataBrew::Dataset.DatetimeOptions": { + "AWS::CustomerProfiles::Integration.ObjectTypeMapping": { "additionalProperties": false, "properties": { - "Format": { - "markdownDescription": "Required option, that defines the datetime format used for a date parameter in the Amazon S3 path. Should use only supported datetime specifiers and separation characters, all litera a-z or A-Z character should be escaped with single quotes. E.g. \"MM.dd.yyyy-'at'-HH:mm\".", - "title": "Format", - "type": "string" - }, - "LocaleCode": { - "markdownDescription": "Optional value for a non-US locale code, needed for correct interpretation of some date formats.", - "title": "LocaleCode", + "Key": { + "markdownDescription": "The key.", + "title": "Key", "type": "string" }, - "TimezoneOffset": { - "markdownDescription": "Optional value for a timezone offset of the datetime parameter value in the Amazon S3 path. Shouldn't be used if Format for this parameter includes timezone fields. If no offset specified, UTC is assumed.", - "title": "TimezoneOffset", + "Value": { + "markdownDescription": "The value.", + "title": "Value", "type": "string" } }, "required": [ - "Format" + "Key", + "Value" ], "type": "object" }, - "AWS::DataBrew::Dataset.ExcelOptions": { + "AWS::CustomerProfiles::Integration.S3SourceProperties": { "additionalProperties": false, "properties": { - "HeaderRow": { - "markdownDescription": "A variable that specifies whether the first row in the file is parsed as the header. If this value is false, column names are auto-generated.", - "title": "HeaderRow", - "type": "boolean" + "BucketName": { + "markdownDescription": "The Amazon S3 bucket name where the source files are stored.", + "title": "BucketName", + "type": "string" }, - "SheetIndexes": { - "items": { - "type": "number" - }, - "markdownDescription": "One or more sheet numbers in the Excel file that will be included in the dataset.", - "title": "SheetIndexes", - "type": "array" - }, - "SheetNames": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more named sheets in the Excel file that will be included in the dataset.", - "title": "SheetNames", - "type": "array" + "BucketPrefix": { + "markdownDescription": "The object key for the Amazon S3 bucket in which the source files are stored.", + "title": "BucketPrefix", + "type": "string" } }, + "required": [ + "BucketName" + ], "type": "object" }, - "AWS::DataBrew::Dataset.FilesLimit": { + "AWS::CustomerProfiles::Integration.SalesforceSourceProperties": { "additionalProperties": false, "properties": { - "MaxFiles": { - "markdownDescription": "The number of Amazon S3 files to select.", - "title": "MaxFiles", - "type": "number" + "EnableDynamicFieldUpdate": { + "markdownDescription": "The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.", + "title": "EnableDynamicFieldUpdate", + "type": "boolean" }, - "Order": { - "markdownDescription": "A criteria to use for Amazon S3 files sorting before their selection. By default uses DESCENDING order, i.e. most recent files are selected first. Anotherpossible value is ASCENDING.", - "title": "Order", - "type": "string" + "IncludeDeletedRecords": { + "markdownDescription": "Indicates whether Amazon AppFlow includes deleted files in the flow run.", + "title": "IncludeDeletedRecords", + "type": "boolean" }, - "OrderedBy": { - "markdownDescription": "A criteria to use for Amazon S3 files sorting before their selection. By default uses LAST_MODIFIED_DATE as a sorting criteria. Currently it's the only allowed value.", - "title": "OrderedBy", + "Object": { + "markdownDescription": "The object specified in the Salesforce flow source.", + "title": "Object", "type": "string" } }, "required": [ - "MaxFiles" + "Object" ], "type": "object" }, - "AWS::DataBrew::Dataset.FilterExpression": { + "AWS::CustomerProfiles::Integration.ScheduledTriggerProperties": { "additionalProperties": false, "properties": { - "Expression": { - "markdownDescription": "The expression which includes condition names followed by substitution variables, possibly grouped and combined with other conditions. For example, \"(starts_with :prefix1 or starts_with :prefix2) and (ends_with :suffix1 or ends_with :suffix2)\". Substitution variables should start with ':' symbol.", - "title": "Expression", + "DataPullMode": { + "markdownDescription": "Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run.", + "title": "DataPullMode", "type": "string" }, - "ValuesMap": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterValue" - }, - "markdownDescription": "The map of substitution variable names to their values used in this filter expression.", - "title": "ValuesMap", - "type": "array" + "FirstExecutionFrom": { + "markdownDescription": "Specifies the date range for the records to import from the connector in the first flow run.", + "title": "FirstExecutionFrom", + "type": "number" + }, + "ScheduleEndTime": { + "markdownDescription": "Specifies the scheduled end time for a scheduled-trigger flow.", + "title": "ScheduleEndTime", + "type": "number" + }, + "ScheduleExpression": { + "markdownDescription": "The scheduling expression that determines the rate at which the schedule will run, for example rate (5 minutes).", + "title": "ScheduleExpression", + "type": "string" + }, + "ScheduleOffset": { + "markdownDescription": "Specifies the optional offset that is added to the time interval for a schedule-triggered flow.", + "title": "ScheduleOffset", + "type": "number" + }, + "ScheduleStartTime": { + "markdownDescription": "Specifies the scheduled start time for a scheduled-trigger flow. The value must be a date/time value in EPOCH format.", + "title": "ScheduleStartTime", + "type": "number" + }, + "Timezone": { + "markdownDescription": "Specifies the time zone used when referring to the date and time of a scheduled-triggered flow, such as America/New_York.", + "title": "Timezone", + "type": "string" } }, "required": [ - "Expression", - "ValuesMap" + "ScheduleExpression" ], "type": "object" }, - "AWS::DataBrew::Dataset.FilterValue": { + "AWS::CustomerProfiles::Integration.ServiceNowSourceProperties": { "additionalProperties": false, "properties": { - "Value": { - "markdownDescription": "The value to be associated with the substitution variable.", - "title": "Value", - "type": "string" - }, - "ValueReference": { - "markdownDescription": "The substitution variable reference.", - "title": "ValueReference", + "Object": { + "markdownDescription": "The object specified in the ServiceNow flow source.", + "title": "Object", "type": "string" } }, "required": [ - "Value", - "ValueReference" + "Object" ], "type": "object" }, - "AWS::DataBrew::Dataset.FormatOptions": { + "AWS::CustomerProfiles::Integration.SourceConnectorProperties": { "additionalProperties": false, "properties": { - "Csv": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.CsvOptions", - "markdownDescription": "Options that define how CSV input is to be interpreted by DataBrew.", - "title": "Csv" + "Marketo": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.MarketoSourceProperties", + "markdownDescription": "The properties that are applied when Marketo is being used as a source.", + "title": "Marketo" }, - "Excel": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.ExcelOptions", - "markdownDescription": "Options that define how Excel input is to be interpreted by DataBrew.", - "title": "Excel" + "S3": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.S3SourceProperties", + "markdownDescription": "The properties that are applied when Amazon S3 is being used as the flow source.", + "title": "S3" }, - "Json": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.JsonOptions", - "markdownDescription": "Options that define how JSON input is to be interpreted by DataBrew.", - "title": "Json" + "Salesforce": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SalesforceSourceProperties", + "markdownDescription": "The properties that are applied when Salesforce is being used as a source.", + "title": "Salesforce" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ServiceNowSourceProperties", + "markdownDescription": "The properties that are applied when ServiceNow is being used as a source.", + "title": "ServiceNow" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ZendeskSourceProperties", + "markdownDescription": "The properties that are applied when using Zendesk as a flow source.", + "title": "Zendesk" } }, "type": "object" }, - "AWS::DataBrew::Dataset.Input": { + "AWS::CustomerProfiles::Integration.SourceFlowConfig": { "additionalProperties": false, "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DataCatalogInputDefinition", - "markdownDescription": "The AWS Glue Data Catalog parameters for the data.", - "title": "DataCatalogInputDefinition" + "ConnectorProfileName": { + "markdownDescription": "The name of the Amazon AppFlow connector profile. This name must be unique for each connector profile in the AWS account .", + "title": "ConnectorProfileName", + "type": "string" }, - "DatabaseInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatabaseInputDefinition", - "markdownDescription": "Connection information for dataset input files stored in a database.", - "title": "DatabaseInputDefinition" + "ConnectorType": { + "markdownDescription": "The type of connector, such as Salesforce, Marketo, and so on.", + "title": "ConnectorType", + "type": "string" }, - "Metadata": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.Metadata", - "markdownDescription": "Contains additional resource information needed for specific datasets.", - "title": "Metadata" + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.IncrementalPullConfig", + "markdownDescription": "Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.", + "title": "IncrementalPullConfig" }, - "S3InputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location", - "markdownDescription": "The Amazon S3 location where the data is stored.", - "title": "S3InputDefinition" + "SourceConnectorProperties": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceConnectorProperties", + "markdownDescription": "Specifies the information that is required to query a particular source connector.", + "title": "SourceConnectorProperties" } }, + "required": [ + "ConnectorType", + "SourceConnectorProperties" + ], "type": "object" }, - "AWS::DataBrew::Dataset.JsonOptions": { + "AWS::CustomerProfiles::Integration.Task": { "additionalProperties": false, "properties": { - "MultiLine": { - "markdownDescription": "A value that specifies whether JSON input contains embedded new line characters.", - "title": "MultiLine", - "type": "boolean" + "ConnectorOperator": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ConnectorOperator", + "markdownDescription": "The operation to be performed on the provided source fields.", + "title": "ConnectorOperator" + }, + "DestinationField": { + "markdownDescription": "A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.", + "title": "DestinationField", + "type": "string" + }, + "SourceFields": { + "items": { + "type": "string" + }, + "markdownDescription": "The source fields to which a particular task is applied.", + "title": "SourceFields", + "type": "array" + }, + "TaskProperties": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TaskPropertiesMap" + }, + "markdownDescription": "A map used to store task-related information. The service looks for particular information based on the TaskType.", + "title": "TaskProperties", + "type": "array" + }, + "TaskType": { + "markdownDescription": "Specifies the particular task implementation that Amazon AppFlow performs.", + "title": "TaskType", + "type": "string" } }, + "required": [ + "SourceFields", + "TaskType" + ], "type": "object" }, - "AWS::DataBrew::Dataset.Metadata": { + "AWS::CustomerProfiles::Integration.TaskPropertiesMap": { "additionalProperties": false, "properties": { - "SourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) associated with the dataset. Currently, DataBrew only supports ARNs from Amazon AppFlow.", - "title": "SourceArn", + "OperatorPropertyKey": { + "markdownDescription": "The task property key.", + "title": "OperatorPropertyKey", + "type": "string" + }, + "Property": { + "markdownDescription": "The task property value.", + "title": "Property", "type": "string" } }, + "required": [ + "OperatorPropertyKey", + "Property" + ], "type": "object" }, - "AWS::DataBrew::Dataset.PathOptions": { + "AWS::CustomerProfiles::Integration.TriggerConfig": { "additionalProperties": false, "properties": { - "FilesLimit": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilesLimit", - "markdownDescription": "If provided, this structure imposes a limit on a number of files that should be selected.", - "title": "FilesLimit" - }, - "LastModifiedDateCondition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression", - "markdownDescription": "If provided, this structure defines a date range for matching Amazon S3 objects based on their LastModifiedDate attribute in Amazon S3 .", - "title": "LastModifiedDateCondition" + "TriggerProperties": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerProperties", + "markdownDescription": "Specifies the configuration details of a schedule-triggered flow that you define. Currently, these settings only apply to the Scheduled trigger type.", + "title": "TriggerProperties" }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.PathParameter" - }, - "markdownDescription": "A structure that maps names of parameters used in the Amazon S3 path of a dataset to their definitions.", - "title": "Parameters", - "type": "array" + "TriggerType": { + "markdownDescription": "Specifies the type of flow trigger. It can be OnDemand, Scheduled, or Event.", + "title": "TriggerType", + "type": "string" } }, + "required": [ + "TriggerType" + ], "type": "object" }, - "AWS::DataBrew::Dataset.PathParameter": { + "AWS::CustomerProfiles::Integration.TriggerProperties": { "additionalProperties": false, "properties": { - "DatasetParameter": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatasetParameter", - "markdownDescription": "The path parameter definition.", - "title": "DatasetParameter" - }, - "PathParameterName": { - "markdownDescription": "The name of the path parameter.", - "title": "PathParameterName", - "type": "string" + "Scheduled": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ScheduledTriggerProperties", + "markdownDescription": "Specifies the configuration details of a schedule-triggered flow that you define.", + "title": "Scheduled" } }, - "required": [ - "DatasetParameter", - "PathParameterName" - ], "type": "object" }, - "AWS::DataBrew::Dataset.S3Location": { + "AWS::CustomerProfiles::Integration.ZendeskSourceProperties": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The Amazon S3 bucket name.", - "title": "Bucket", - "type": "string" - }, - "BucketOwner": { - "markdownDescription": "The AWS account ID of the bucket owner.", - "title": "BucketOwner", - "type": "string" - }, - "Key": { - "markdownDescription": "The unique name of the object in the bucket.", - "title": "Key", + "Object": { + "markdownDescription": "The object specified in the Zendesk flow source.", + "title": "Object", "type": "string" } }, "required": [ - "Bucket" + "Object" ], "type": "object" }, - "AWS::DataBrew::Job": { + "AWS::CustomerProfiles::ObjectType": { "additionalProperties": false, "properties": { "Condition": { @@ -102952,132 +102171,89 @@ "Properties": { "additionalProperties": false, "properties": { - "DataCatalogOutputs": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.DataCatalogOutput" - }, - "markdownDescription": "One or more artifacts that represent the AWS Glue Data Catalog output from running the job.", - "title": "DataCatalogOutputs", - "type": "array" - }, - "DatabaseOutputs": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseOutput" - }, - "markdownDescription": "Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.", - "title": "DatabaseOutputs", - "type": "array" - }, - "DatasetName": { - "markdownDescription": "A dataset that the job is to process.", - "title": "DatasetName", - "type": "string" + "AllowProfileCreation": { + "markdownDescription": "Indicates whether a profile should be created when data is received if one doesn\u2019t exist for an object of this type. The default is `FALSE` . If the AllowProfileCreation flag is set to `FALSE` , then the service tries to fetch a standard profile and associate this object with the profile. If it is set to `TRUE` , and if no match is found, then the service creates a new standard profile.", + "title": "AllowProfileCreation", + "type": "boolean" }, - "EncryptionKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an encryption key that is used to protect the job output. For more information, see [Encrypting data written by DataBrew jobs](https://docs.aws.amazon.com/databrew/latest/dg/encryption-security-configuration.html)", - "title": "EncryptionKeyArn", + "Description": { + "markdownDescription": "The description of the profile object type mapping.", + "title": "Description", "type": "string" }, - "EncryptionMode": { - "markdownDescription": "The encryption mode for the job, which can be one of the following:\n\n- `SSE-KMS` - Server-side encryption with keys managed by AWS .\n- `SSE-S3` - Server-side encryption with keys managed by Amazon S3.", - "title": "EncryptionMode", + "DomainName": { + "markdownDescription": "The unique name of the domain.", + "title": "DomainName", "type": "string" }, - "JobSample": { - "$ref": "#/definitions/AWS::DataBrew::Job.JobSample", - "markdownDescription": "A sample configuration for profile jobs only, which determines the number of rows on which the profile job is run. If a `JobSample` value isn't provided, the default value is used. The default value is CUSTOM_ROWS for the mode parameter and 20,000 for the size parameter.", - "title": "JobSample" - }, - "LogSubscription": { - "markdownDescription": "The current status of Amazon CloudWatch logging for the job.", - "title": "LogSubscription", + "EncryptionKey": { + "markdownDescription": "The customer-provided key to encrypt the profile object that will be created in this profile object type mapping. If not specified the system will use the encryption key of the domain.", + "title": "EncryptionKey", "type": "string" }, - "MaxCapacity": { - "markdownDescription": "The maximum number of nodes that can be consumed when the job processes data.", - "title": "MaxCapacity", - "type": "number" - }, - "MaxRetries": { - "markdownDescription": "The maximum number of times to retry the job after a job run fails.", - "title": "MaxRetries", + "ExpirationDays": { + "markdownDescription": "The number of days until the data of this type expires.", + "title": "ExpirationDays", "type": "number" }, - "Name": { - "markdownDescription": "The unique name of the job.", - "title": "Name", - "type": "string" - }, - "OutputLocation": { - "$ref": "#/definitions/AWS::DataBrew::Job.OutputLocation", - "markdownDescription": "The location in Amazon S3 where the job writes its output.", - "title": "OutputLocation" + "Fields": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.FieldMap" + }, + "markdownDescription": "A list of field definitions for the object type mapping.", + "title": "Fields", + "type": "array" }, - "Outputs": { + "Keys": { "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.Output" + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.KeyMap" }, - "markdownDescription": "One or more artifacts that represent output from running the job.", - "title": "Outputs", + "markdownDescription": "A list of keys that can be used to map data to the profile or search for the profile.", + "title": "Keys", "type": "array" }, - "ProfileConfiguration": { - "$ref": "#/definitions/AWS::DataBrew::Job.ProfileConfiguration", - "markdownDescription": "Configuration for profile jobs. Configuration can be used to select columns, do evaluations, and override default parameters of evaluations. When configuration is undefined, the profile job will apply default settings to all supported columns.", - "title": "ProfileConfiguration" + "MaxProfileObjectCount": { + "markdownDescription": "The amount of profile object max count assigned to the object type.", + "title": "MaxProfileObjectCount", + "type": "number" }, - "ProjectName": { - "markdownDescription": "The name of the project that the job is associated with.", - "title": "ProjectName", + "ObjectTypeName": { + "markdownDescription": "The name of the profile object type.", + "title": "ObjectTypeName", "type": "string" }, - "Recipe": { - "$ref": "#/definitions/AWS::DataBrew::Job.Recipe", - "markdownDescription": "A series of data transformation steps that the job runs.", - "title": "Recipe" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role to be assumed for this job.", - "title": "RoleArn", + "SourceLastUpdatedTimestampFormat": { + "markdownDescription": "The format of your sourceLastUpdatedTimestamp that was previously set up.", + "title": "SourceLastUpdatedTimestampFormat", "type": "string" }, + "SourcePriority": { + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Metadata tags that have been applied to the job.", + "markdownDescription": "The tags used to organize, track, or control access for this resource.", "title": "Tags", "type": "array" }, - "Timeout": { - "markdownDescription": "The job's timeout in minutes. A job that attempts to run longer than this timeout period ends with a status of `TIMEOUT` .", - "title": "Timeout", - "type": "number" - }, - "Type": { - "markdownDescription": "The job type of the job, which must be one of the following:\n\n- `PROFILE` - A job to analyze a dataset, to determine its size, data types, data distribution, and more.\n- `RECIPE` - A job to apply one or more transformations to a dataset.", - "title": "Type", + "TemplateId": { + "markdownDescription": "A unique identifier for the template mapping. This can be used instead of specifying the Keys and Fields properties directly.", + "title": "TemplateId", "type": "string" - }, - "ValidationConfigurations": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.ValidationConfiguration" - }, - "markdownDescription": "List of validation configurations that are applied to the profile job.", - "title": "ValidationConfigurations", - "type": "array" } }, "required": [ - "Name", - "RoleArn", - "Type" + "Description", + "DomainName", + "ObjectTypeName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataBrew::Job" + "AWS::CustomerProfiles::ObjectType" ], "type": "string" }, @@ -103096,433 +102272,266 @@ ], "type": "object" }, - "AWS::DataBrew::Job.AllowedStatistics": { - "additionalProperties": false, - "properties": { - "Statistics": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more column statistics to allow for columns that contain detected entities.", - "title": "Statistics", - "type": "array" - } - }, - "required": [ - "Statistics" - ], - "type": "object" - }, - "AWS::DataBrew::Job.ColumnSelector": { + "AWS::CustomerProfiles::ObjectType.FieldMap": { "additionalProperties": false, "properties": { "Name": { - "markdownDescription": "The name of a column from a dataset.", + "markdownDescription": "Name of the field.", "title": "Name", "type": "string" }, - "Regex": { - "markdownDescription": "A regular expression for selecting a column from a dataset.", - "title": "Regex", - "type": "string" + "ObjectTypeField": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeField", + "markdownDescription": "Represents a field in a ProfileObjectType.", + "title": "ObjectTypeField" } }, "type": "object" }, - "AWS::DataBrew::Job.ColumnStatisticsConfiguration": { + "AWS::CustomerProfiles::ObjectType.KeyMap": { "additionalProperties": false, "properties": { - "Selectors": { + "Name": { + "markdownDescription": "Name of the key.", + "title": "Name", + "type": "string" + }, + "ObjectTypeKeyList": { "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeKey" }, - "markdownDescription": "List of column selectors. Selectors can be used to select columns from the dataset. When selectors are undefined, configuration will be applied to all supported columns.", - "title": "Selectors", + "markdownDescription": "A list of ObjectTypeKey.", + "title": "ObjectTypeKeyList", "type": "array" - }, - "Statistics": { - "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration", - "markdownDescription": "Configuration for evaluations. Statistics can be used to select evaluations and override parameters of evaluations.", - "title": "Statistics" - } - }, - "required": [ - "Statistics" - ], - "type": "object" - }, - "AWS::DataBrew::Job.CsvOutputOptions": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "markdownDescription": "A single character that specifies the delimiter used to create CSV job output.", - "title": "Delimiter", - "type": "string" } }, "type": "object" }, - "AWS::DataBrew::Job.DataCatalogOutput": { + "AWS::CustomerProfiles::ObjectType.ObjectTypeField": { "additionalProperties": false, "properties": { - "CatalogId": { - "markdownDescription": "The unique identifier of the AWS account that holds the Data Catalog that stores the data.", - "title": "CatalogId", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The name of a database in the Data Catalog.", - "title": "DatabaseName", - "type": "string" - }, - "DatabaseOptions": { - "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseTableOutputOptions", - "markdownDescription": "Represents options that specify how and where DataBrew writes the database output generated by recipe jobs.", - "title": "DatabaseOptions" - }, - "Overwrite": { - "markdownDescription": "A value that, if true, means that any data in the location specified for output is overwritten with new output. Not supported with DatabaseOptions.", - "title": "Overwrite", - "type": "boolean" - }, - "S3Options": { - "$ref": "#/definitions/AWS::DataBrew::Job.S3TableOutputOptions", - "markdownDescription": "Represents options that specify how and where DataBrew writes the Amazon S3 output generated by recipe jobs.", - "title": "S3Options" - }, - "TableName": { - "markdownDescription": "The name of a table in the Data Catalog.", - "title": "TableName", + "ContentType": { + "markdownDescription": "The content type of the field. Used for determining equality when searching.", + "title": "ContentType", "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::DataBrew::Job.DatabaseOutput": { - "additionalProperties": false, - "properties": { - "DatabaseOptions": { - "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseTableOutputOptions", - "markdownDescription": "Represents options that specify how and where DataBrew writes the database output generated by recipe jobs.", - "title": "DatabaseOptions" }, - "DatabaseOutputMode": { - "markdownDescription": "The output mode to write into the database. Currently supported option: NEW_TABLE.", - "title": "DatabaseOutputMode", + "Source": { + "markdownDescription": "A field of a ProfileObject. For example: _source.FirstName, where \u201c_source\u201d is a ProfileObjectType of a Zendesk user and \u201cFirstName\u201d is a field in that ObjectType.", + "title": "Source", "type": "string" }, - "GlueConnectionName": { - "markdownDescription": "The AWS Glue connection that stores the connection information for the target database.", - "title": "GlueConnectionName", - "type": "string" - } - }, - "required": [ - "DatabaseOptions", - "GlueConnectionName" - ], - "type": "object" - }, - "AWS::DataBrew::Job.DatabaseTableOutputOptions": { - "additionalProperties": false, - "properties": { - "TableName": { - "markdownDescription": "A prefix for the name of a table DataBrew will create in the database.", - "title": "TableName", + "Target": { + "markdownDescription": "The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.", + "title": "Target", "type": "string" - }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Job.S3Location", - "markdownDescription": "Represents an Amazon S3 location (bucket name and object key) where DataBrew can store intermediate results.", - "title": "TempDirectory" } }, - "required": [ - "TableName" - ], "type": "object" }, - "AWS::DataBrew::Job.EntityDetectorConfiguration": { + "AWS::CustomerProfiles::ObjectType.ObjectTypeKey": { "additionalProperties": false, "properties": { - "AllowedStatistics": { - "$ref": "#/definitions/AWS::DataBrew::Job.AllowedStatistics", - "markdownDescription": "Configuration of statistics that are allowed to be run on columns that contain detected entities. When undefined, no statistics will be computed on columns that contain detected entities.", - "title": "AllowedStatistics" - }, - "EntityTypes": { + "FieldNames": { "items": { "type": "string" }, - "markdownDescription": "Entity types to detect. Can be any of the following:\n\n- USA_SSN\n- EMAIL\n- USA_ITIN\n- USA_PASSPORT_NUMBER\n- PHONE_NUMBER\n- USA_DRIVING_LICENSE\n- BANK_ACCOUNT\n- CREDIT_CARD\n- IP_ADDRESS\n- MAC_ADDRESS\n- USA_DEA_NUMBER\n- USA_HCPCS_CODE\n- USA_NATIONAL_PROVIDER_IDENTIFIER\n- USA_NATIONAL_DRUG_CODE\n- USA_HEALTH_INSURANCE_CLAIM_NUMBER\n- USA_MEDICARE_BENEFICIARY_IDENTIFIER\n- USA_CPT_CODE\n- PERSON_NAME\n- DATE\n\nThe Entity type group USA_ALL is also supported, and includes all of the above entity types except PERSON_NAME and DATE.", - "title": "EntityTypes", + "markdownDescription": "The reference for the key name of the fields map.", + "title": "FieldNames", "type": "array" - } - }, - "required": [ - "EntityTypes" - ], - "type": "object" - }, - "AWS::DataBrew::Job.JobSample": { - "additionalProperties": false, - "properties": { - "Mode": { - "markdownDescription": "A value that determines whether the profile job is run on the entire dataset or a specified number of rows. This value must be one of the following:\n\n- FULL_DATASET - The profile job is run on the entire dataset.\n- CUSTOM_ROWS - The profile job is run on the number of rows specified in the `Size` parameter.", - "title": "Mode", - "type": "string" }, - "Size": { - "markdownDescription": "The `Size` parameter is only required when the mode is CUSTOM_ROWS. The profile job is run on the specified number of rows. The maximum value for size is Long.MAX_VALUE.\n\nLong.MAX_VALUE = 9223372036854775807", - "title": "Size", - "type": "number" + "StandardIdentifiers": { + "items": { + "type": "string" + }, + "markdownDescription": "The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE means that this key can be used to tie an object to a PROFILE. UNIQUE means that it can be used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the profile does not already exist before the object is ingested, otherwise it is only used for matching objects to profiles.", + "title": "StandardIdentifiers", + "type": "array" } }, "type": "object" }, - "AWS::DataBrew::Job.Output": { + "AWS::CustomerProfiles::Recommender": { "additionalProperties": false, "properties": { - "CompressionFormat": { - "markdownDescription": "The compression algorithm used to compress the output text of the job.", - "title": "CompressionFormat", + "Condition": { "type": "string" }, - "Format": { - "markdownDescription": "The data format of the output of the job.", - "title": "Format", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "FormatOptions": { - "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions", - "markdownDescription": "Represents options that define how DataBrew formats job output files.", - "title": "FormatOptions" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Location": { - "$ref": "#/definitions/AWS::DataBrew::Job.S3Location", - "markdownDescription": "The location in Amazon S3 where the job writes its output.", - "title": "Location" + "Metadata": { + "type": "object" }, - "MaxOutputFiles": { - "markdownDescription": "The maximum number of files to be generated by the job and written to the output folder.", - "title": "MaxOutputFiles", - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "RecommenderConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.RecommenderConfig" + }, + "RecommenderName": { + "type": "string" + }, + "RecommenderRecipeName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "RecommenderName", + "RecommenderRecipeName" + ], + "type": "object" }, - "Overwrite": { - "markdownDescription": "A value that, if true, means that any data in the location specified for output is overwritten with new output.", - "title": "Overwrite", - "type": "boolean" + "Type": { + "enum": [ + "AWS::CustomerProfiles::Recommender" + ], + "type": "string" }, - "PartitionColumns": { - "items": { - "type": "string" - }, - "markdownDescription": "The names of one or more partition columns for the output of the job.", - "title": "PartitionColumns", - "type": "array" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Location" + "Type", + "Properties" ], "type": "object" }, - "AWS::DataBrew::Job.OutputFormatOptions": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions", - "markdownDescription": "Represents a set of options that define the structure of comma-separated value (CSV) job output.", - "title": "Csv" - } - }, - "type": "object" - }, - "AWS::DataBrew::Job.OutputLocation": { + "AWS::CustomerProfiles::Recommender.EventParameters": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The Amazon S3 bucket name.", - "title": "Bucket", - "type": "string" - }, - "BucketOwner": { - "markdownDescription": "", - "title": "BucketOwner", + "EventType": { "type": "string" }, - "Key": { - "markdownDescription": "The unique name of the object in the bucket.", - "title": "Key", - "type": "string" + "EventValueThreshold": { + "type": "number" } }, "required": [ - "Bucket" + "EventType" ], "type": "object" }, - "AWS::DataBrew::Job.ProfileConfiguration": { + "AWS::CustomerProfiles::Recommender.EventsConfig": { "additionalProperties": false, "properties": { - "ColumnStatisticsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.ColumnStatisticsConfiguration" - }, - "markdownDescription": "List of configurations for column evaluations. ColumnStatisticsConfigurations are used to select evaluations and override parameters of evaluations for particular columns. When ColumnStatisticsConfigurations is undefined, the profile job will profile all supported columns and run all supported evaluations.", - "title": "ColumnStatisticsConfigurations", - "type": "array" - }, - "DatasetStatisticsConfiguration": { - "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration", - "markdownDescription": "Configuration for inter-column evaluations. Configuration can be used to select evaluations and override parameters of evaluations. When configuration is undefined, the profile job will run all supported inter-column evaluations.", - "title": "DatasetStatisticsConfiguration" - }, - "EntityDetectorConfiguration": { - "$ref": "#/definitions/AWS::DataBrew::Job.EntityDetectorConfiguration", - "markdownDescription": "Configuration of entity detection for a profile job. When undefined, entity detection is disabled.", - "title": "EntityDetectorConfiguration" - }, - "ProfileColumns": { + "EventParametersList": { "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.EventParameters" }, - "markdownDescription": "List of column selectors. ProfileColumns can be used to select columns from the dataset. When ProfileColumns is undefined, the profile job will profile all supported columns.", - "title": "ProfileColumns", "type": "array" } }, - "type": "object" - }, - "AWS::DataBrew::Job.Recipe": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The unique name for the recipe.", - "title": "Name", - "type": "string" - }, - "Version": { - "markdownDescription": "The identifier for the version for the recipe.", - "title": "Version", - "type": "string" - } - }, "required": [ - "Name" + "EventParametersList" ], "type": "object" }, - "AWS::DataBrew::Job.S3Location": { + "AWS::CustomerProfiles::Recommender.Metrics": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The Amazon S3 bucket name.", - "title": "Bucket", - "type": "string" + "coverage": { + "type": "number" }, - "BucketOwner": { - "markdownDescription": "The AWS account ID of the bucket owner.", - "title": "BucketOwner", - "type": "string" + "freshness": { + "type": "number" }, - "Key": { - "markdownDescription": "The unique name of the object in the bucket.", - "title": "Key", - "type": "string" + "hit": { + "type": "number" + }, + "popularity": { + "type": "number" + }, + "recall": { + "type": "number" + }, + "similarity": { + "type": "number" } }, - "required": [ - "Bucket" - ], "type": "object" }, - "AWS::DataBrew::Job.S3TableOutputOptions": { + "AWS::CustomerProfiles::Recommender.RecommenderConfig": { "additionalProperties": false, "properties": { - "Location": { - "$ref": "#/definitions/AWS::DataBrew::Job.S3Location", - "markdownDescription": "Represents an Amazon S3 location (bucket name and object key) where DataBrew can write output from a job.", - "title": "Location" + "EventsConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.EventsConfig" } }, - "required": [ - "Location" - ], "type": "object" }, - "AWS::DataBrew::Job.StatisticOverride": { + "AWS::CustomerProfiles::Recommender.RecommenderUpdate": { "additionalProperties": false, "properties": { - "Parameters": { - "additionalProperties": true, - "markdownDescription": "A map that includes overrides of an evaluation\u2019s parameters.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Parameters", - "type": "object" + "CreationDateTime": { + "type": "string" }, - "Statistic": { - "markdownDescription": "The name of an evaluation", - "title": "Statistic", + "FailureReason": { "type": "string" - } - }, - "required": [ - "Parameters", - "Statistic" - ], - "type": "object" - }, - "AWS::DataBrew::Job.StatisticsConfiguration": { - "additionalProperties": false, - "properties": { - "IncludedStatistics": { - "items": { - "type": "string" - }, - "markdownDescription": "List of included evaluations. When the list is undefined, all supported evaluations will be included.", - "title": "IncludedStatistics", - "type": "array" }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.StatisticOverride" - }, - "markdownDescription": "List of overrides for evaluations.", - "title": "Overrides", - "type": "array" + "LastUpdatedDateTime": { + "type": "string" + }, + "RecommenderConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.RecommenderConfig" + }, + "Status": { + "type": "string" } }, "type": "object" }, - "AWS::DataBrew::Job.ValidationConfiguration": { + "AWS::CustomerProfiles::Recommender.TrainingMetrics": { "additionalProperties": false, "properties": { - "RulesetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the ruleset to be validated in the profile job. The TargetArn of the selected ruleset should be the same as the Amazon Resource Name (ARN) of the dataset that is associated with the profile job.", - "title": "RulesetArn", - "type": "string" + "Metrics": { + "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.Metrics" }, - "ValidationMode": { - "markdownDescription": "Mode of data quality validation. Default mode is \u201cCHECK_ALL\u201d which verifies all rules defined in the selected ruleset.", - "title": "ValidationMode", + "Time": { "type": "string" } }, - "required": [ - "RulesetArn" - ], "type": "object" }, - "AWS::DataBrew::Project": { + "AWS::CustomerProfiles::RecommenderSchema": { "additionalProperties": false, "properties": { "Condition": { @@ -103557,51 +102566,32 @@ "Properties": { "additionalProperties": false, "properties": { - "DatasetName": { - "markdownDescription": "The dataset that the project is to act upon.", - "title": "DatasetName", - "type": "string" - }, - "Name": { - "markdownDescription": "The unique name of a project.", - "title": "Name", + "DomainName": { "type": "string" }, - "RecipeName": { - "markdownDescription": "The name of a recipe that will be developed during a project session.", - "title": "RecipeName", - "type": "string" + "Fields": { + "type": "object" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role that will be assumed for this project.", - "title": "RoleArn", + "RecommenderSchemaName": { "type": "string" }, - "Sample": { - "$ref": "#/definitions/AWS::DataBrew::Project.Sample", - "markdownDescription": "The sample size and sampling type to apply to the data. If this parameter isn't specified, then the sample consists of the first 500 rows from the dataset.", - "title": "Sample" - }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::CustomerProfiles::RecommenderSchema.TagsItems" }, - "markdownDescription": "Metadata tags that have been applied to the project.", - "title": "Tags", "type": "array" } }, "required": [ - "DatasetName", - "Name", - "RecipeName", - "RoleArn" + "DomainName", + "Fields", + "RecommenderSchemaName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataBrew::Project" + "AWS::CustomerProfiles::RecommenderSchema" ], "type": "string" }, @@ -103620,26 +102610,23 @@ ], "type": "object" }, - "AWS::DataBrew::Project.Sample": { + "AWS::CustomerProfiles::RecommenderSchema.TagsItems": { "additionalProperties": false, "properties": { - "Size": { - "markdownDescription": "The number of rows in the sample.", - "title": "Size", - "type": "number" + "Key": { + "type": "string" }, - "Type": { - "markdownDescription": "The way in which DataBrew obtains rows from a dataset.", - "title": "Type", + "Value": { "type": "string" } }, "required": [ - "Type" + "Key", + "Value" ], "type": "object" }, - "AWS::DataBrew::Recipe": { + "AWS::CustomerProfiles::SegmentDefinition": { "additionalProperties": false, "properties": { "Condition": { @@ -103675,41 +102662,57 @@ "additionalProperties": false, "properties": { "Description": { - "markdownDescription": "The description of the recipe.", + "markdownDescription": "The description of the segment definition.", "title": "Description", "type": "string" }, - "Name": { - "markdownDescription": "The unique name for the recipe.", - "title": "Name", + "DisplayName": { + "markdownDescription": "Display name of the segment definition.", + "title": "DisplayName", "type": "string" }, - "Steps": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" - }, - "markdownDescription": "A list of steps that are defined by the recipe.", - "title": "Steps", - "type": "array" + "DomainName": { + "markdownDescription": "The name of the domain.", + "title": "DomainName", + "type": "string" + }, + "SegmentDefinitionName": { + "markdownDescription": "Name of the segment definition.", + "title": "SegmentDefinitionName", + "type": "string" + }, + "SegmentGroups": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SegmentGroup", + "markdownDescription": "Contains all groups of the segment definition.", + "title": "SegmentGroups" + }, + "SegmentSort": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SegmentSort" + }, + "SegmentSqlQuery": { + "markdownDescription": "", + "title": "SegmentSqlQuery", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Metadata tags that have been applied to the recipe.", + "markdownDescription": "The tags belonging to the segment definition.", "title": "Tags", "type": "array" } }, "required": [ - "Name", - "Steps" + "DisplayName", + "DomainName", + "SegmentDefinitionName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataBrew::Recipe" + "AWS::CustomerProfiles::SegmentDefinition" ], "type": "string" }, @@ -103728,670 +102731,465 @@ ], "type": "object" }, - "AWS::DataBrew::Recipe.Action": { + "AWS::CustomerProfiles::SegmentDefinition.AddressDimension": { "additionalProperties": false, "properties": { - "Operation": { - "markdownDescription": "The name of a valid DataBrew transformation to be performed on the data.", - "title": "Operation", - "type": "string" + "City": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "The city belonging to the address.", + "title": "City" }, - "Parameters": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeParameters", - "markdownDescription": "Contextual parameters for the transformation.", - "title": "Parameters" + "Country": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "The country belonging to the address.", + "title": "Country" + }, + "County": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "The county belonging to the address.", + "title": "County" + }, + "PostalCode": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "The postal code belonging to the address.", + "title": "PostalCode" + }, + "Province": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "The province belonging to the address.", + "title": "Province" + }, + "State": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "The state belonging to the address.", + "title": "State" } }, - "required": [ - "Operation" - ], "type": "object" }, - "AWS::DataBrew::Recipe.ConditionExpression": { + "AWS::CustomerProfiles::SegmentDefinition.AttributeDimension": { "additionalProperties": false, "properties": { - "Condition": { - "markdownDescription": "A specific condition to apply to a recipe action. For more information, see [Recipe structure](https://docs.aws.amazon.com/databrew/latest/dg/recipe-structure.html) in the *AWS Glue DataBrew Developer Guide* .", - "title": "Condition", - "type": "string" - }, - "TargetColumn": { - "markdownDescription": "A column to apply this condition to.", - "title": "TargetColumn", + "DimensionType": { + "markdownDescription": "The action to segment with.", + "title": "DimensionType", "type": "string" }, - "Value": { - "markdownDescription": "A value that the condition must evaluate to for the condition to succeed.", - "title": "Value", - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The values to apply the DimensionType on.", + "title": "Values", + "type": "array" } }, "required": [ - "Condition", - "TargetColumn" + "DimensionType", + "Values" ], "type": "object" }, - "AWS::DataBrew::Recipe.DataCatalogInputDefinition": { + "AWS::CustomerProfiles::SegmentDefinition.CalculatedAttributeDimension": { "additionalProperties": false, "properties": { - "CatalogId": { - "markdownDescription": "The unique identifier of the AWS account that holds the Data Catalog that stores the data.", - "title": "CatalogId", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The name of a database in the Data Catalog.", - "title": "DatabaseName", - "type": "string" + "ConditionOverrides": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ConditionOverrides", + "markdownDescription": "Applies the given condition over the initial Calculated Attribute's definition.", + "title": "ConditionOverrides" }, - "TableName": { - "markdownDescription": "The name of a database table in the Data Catalog. This table corresponds to a DataBrew dataset.", - "title": "TableName", + "DimensionType": { + "markdownDescription": "The action to segment with.", + "title": "DimensionType", "type": "string" }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location", - "markdownDescription": "Represents an Amazon location where DataBrew can store intermediate results.", - "title": "TempDirectory" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The values to apply the DimensionType with.", + "title": "Values", + "type": "array" } }, + "required": [ + "DimensionType", + "Values" + ], "type": "object" }, - "AWS::DataBrew::Recipe.Input": { + "AWS::CustomerProfiles::SegmentDefinition.ConditionOverrides": { "additionalProperties": false, "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition", - "markdownDescription": "The AWS Glue Data Catalog parameters for the data.", - "title": "DataCatalogInputDefinition" - }, - "S3InputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location", - "markdownDescription": "The Amazon S3 location where the data is stored.", - "title": "S3InputDefinition" + "Range": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.RangeOverride", + "markdownDescription": "The relative time period over which data is included in the aggregation for this override.", + "title": "Range" } }, "type": "object" }, - "AWS::DataBrew::Recipe.RecipeParameters": { + "AWS::CustomerProfiles::SegmentDefinition.DateDimension": { "additionalProperties": false, "properties": { - "AggregateFunction": { - "markdownDescription": "The name of an aggregation function to apply.", - "title": "AggregateFunction", - "type": "string" - }, - "Base": { - "markdownDescription": "The number of digits used in a counting system.", - "title": "Base", - "type": "string" - }, - "CaseStatement": { - "markdownDescription": "A case statement associated with a recipe.", - "title": "CaseStatement", - "type": "string" - }, - "CategoryMap": { - "markdownDescription": "A category map used for one-hot encoding.", - "title": "CategoryMap", - "type": "string" - }, - "CharsToRemove": { - "markdownDescription": "Characters to remove from a step that applies one-hot encoding or tokenization.", - "title": "CharsToRemove", - "type": "string" - }, - "CollapseConsecutiveWhitespace": { - "markdownDescription": "Remove any non-word non-punctuation character.", - "title": "CollapseConsecutiveWhitespace", - "type": "string" - }, - "ColumnDataType": { - "markdownDescription": "The data type of the column.", - "title": "ColumnDataType", - "type": "string" - }, - "ColumnRange": { - "markdownDescription": "A range of columns to which a step is applied.", - "title": "ColumnRange", - "type": "string" - }, - "Count": { - "markdownDescription": "The number of times a string needs to be repeated.", - "title": "Count", - "type": "string" - }, - "CustomCharacters": { - "markdownDescription": "One or more characters that can be substituted or removed, depending on the context.", - "title": "CustomCharacters", - "type": "string" - }, - "CustomStopWords": { - "markdownDescription": "A list of words to ignore in a step that applies word tokenization.", - "title": "CustomStopWords", - "type": "string" - }, - "CustomValue": { - "markdownDescription": "A list of custom values to use in a step that requires that you provide a value to finish the operation.", - "title": "CustomValue", - "type": "string" - }, - "DatasetsColumns": { - "markdownDescription": "A list of the dataset columns included in a project.", - "title": "DatasetsColumns", - "type": "string" - }, - "DateAddValue": { - "markdownDescription": "A value that specifies how many units of time to add or subtract for a date math operation.", - "title": "DateAddValue", - "type": "string" - }, - "DateTimeFormat": { - "markdownDescription": "A date format to apply to a date.", - "title": "DateTimeFormat", - "type": "string" - }, - "DateTimeParameters": { - "markdownDescription": "A set of parameters associated with a datetime.", - "title": "DateTimeParameters", - "type": "string" - }, - "DeleteOtherRows": { - "markdownDescription": "Determines whether unmapped rows in a categorical mapping should be deleted", - "title": "DeleteOtherRows", - "type": "string" - }, - "Delimiter": { - "markdownDescription": "The delimiter to use when parsing separated values in a text file.", - "title": "Delimiter", - "type": "string" - }, - "EndPattern": { - "markdownDescription": "The end pattern to locate.", - "title": "EndPattern", - "type": "string" - }, - "EndPosition": { - "markdownDescription": "The end position to locate.", - "title": "EndPosition", - "type": "string" - }, - "EndValue": { - "markdownDescription": "The end value to locate.", - "title": "EndValue", - "type": "string" - }, - "ExpandContractions": { - "markdownDescription": "A list of word contractions and what they expand to. For eample: *can't* ; *cannot* ; *can not* .", - "title": "ExpandContractions", - "type": "string" - }, - "Exponent": { - "markdownDescription": "The exponent to apply in an exponential operation.", - "title": "Exponent", - "type": "string" - }, - "FalseString": { - "markdownDescription": "A value that represents `FALSE` .", - "title": "FalseString", - "type": "string" - }, - "GroupByAggFunctionOptions": { - "markdownDescription": "Specifies options to apply to the `GROUP BY` used in an aggregation.", - "title": "GroupByAggFunctionOptions", - "type": "string" - }, - "GroupByColumns": { - "markdownDescription": "The columns to use in the `GROUP BY` clause.", - "title": "GroupByColumns", - "type": "string" - }, - "HiddenColumns": { - "markdownDescription": "A list of columns to hide.", - "title": "HiddenColumns", - "type": "string" - }, - "IgnoreCase": { - "markdownDescription": "Indicates that lower and upper case letters are treated equally.", - "title": "IgnoreCase", - "type": "string" - }, - "IncludeInSplit": { - "markdownDescription": "Indicates if this column is participating in a split transform.", - "title": "IncludeInSplit", - "type": "string" - }, - "Input": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.Input", - "markdownDescription": "The input location to load the dataset from - Amazon S3 or AWS Glue Data Catalog .", - "title": "Input" - }, - "Interval": { - "markdownDescription": "The number of characters to split by.", - "title": "Interval", - "type": "string" - }, - "IsText": { - "markdownDescription": "Indicates if the content is text.", - "title": "IsText", - "type": "string" - }, - "JoinKeys": { - "markdownDescription": "The keys or columns involved in a join.", - "title": "JoinKeys", - "type": "string" - }, - "JoinType": { - "markdownDescription": "The type of join to use, for example, `INNER JOIN` , `OUTER JOIN` , and so on.", - "title": "JoinType", - "type": "string" - }, - "LeftColumns": { - "markdownDescription": "The columns on the left side of the join.", - "title": "LeftColumns", - "type": "string" - }, - "Limit": { - "markdownDescription": "The number of times to perform `split` or `replaceBy` in a string", - "title": "Limit", - "type": "string" - }, - "LowerBound": { - "markdownDescription": "The lower boundary for a value.", - "title": "LowerBound", - "type": "string" - }, - "MapType": { - "markdownDescription": "The type of mappings to apply to construct a new dynamic frame.", - "title": "MapType", - "type": "string" - }, - "ModeType": { - "markdownDescription": "Determines the manner in which mode value is calculated, in case there is more than one mode value. Valid values: `NONE` | `AVERAGE` | `MINIMUM` | `MAXIMUM`", - "title": "ModeType", - "type": "string" - }, - "MultiLine": { - "markdownDescription": "Specifies whether JSON input contains embedded new line characters.", - "title": "MultiLine", - "type": "boolean" - }, - "NumRows": { - "markdownDescription": "The number of rows to consider in a window.", - "title": "NumRows", - "type": "string" - }, - "NumRowsAfter": { - "markdownDescription": "The number of rows to consider after the current row in a window", - "title": "NumRowsAfter", - "type": "string" - }, - "NumRowsBefore": { - "markdownDescription": "The number of rows to consider before the current row in a window", - "title": "NumRowsBefore", - "type": "string" - }, - "OrderByColumn": { - "markdownDescription": "A column to sort the results by.", - "title": "OrderByColumn", - "type": "string" - }, - "OrderByColumns": { - "markdownDescription": "The columns to sort the results by.", - "title": "OrderByColumns", - "type": "string" - }, - "Other": { - "markdownDescription": "The value to assign to unmapped cells, in categorical mapping", - "title": "Other", - "type": "string" - }, - "Pattern": { - "markdownDescription": "The pattern to locate.", - "title": "Pattern", - "type": "string" - }, - "PatternOption1": { - "markdownDescription": "The starting pattern to split between.", - "title": "PatternOption1", - "type": "string" - }, - "PatternOption2": { - "markdownDescription": "The ending pattern to split between.", - "title": "PatternOption2", - "type": "string" - }, - "PatternOptions": { - "markdownDescription": "For splitting by multiple delimiters: A JSON-encoded string that lists the patterns in the format. For example: `[{\\\"pattern\\\":\\\"1\\\",\\\"includeInSplit\\\":true}]`", - "title": "PatternOptions", - "type": "string" - }, - "Period": { - "markdownDescription": "The size of the rolling window.", - "title": "Period", - "type": "string" - }, - "Position": { - "markdownDescription": "The character index within a string", - "title": "Position", - "type": "string" - }, - "RemoveAllPunctuation": { - "markdownDescription": "If `true` , removes all of the following characters: `.` `.!` `.,` `.?`", - "title": "RemoveAllPunctuation", - "type": "string" - }, - "RemoveAllQuotes": { - "markdownDescription": "If `true` , removes all single quotes and double quotes.", - "title": "RemoveAllQuotes", - "type": "string" - }, - "RemoveAllWhitespace": { - "markdownDescription": "If `true` , removes all whitespaces from the value.", - "title": "RemoveAllWhitespace", - "type": "string" - }, - "RemoveCustomCharacters": { - "markdownDescription": "If `true` , removes all chraracters specified by `CustomCharacters` .", - "title": "RemoveCustomCharacters", - "type": "string" - }, - "RemoveCustomValue": { - "markdownDescription": "If `true` , removes all chraracters specified by `CustomValue` .", - "title": "RemoveCustomValue", - "type": "string" - }, - "RemoveLeadingAndTrailingPunctuation": { - "markdownDescription": "If `true` , removes the following characters if they occur at the start or end of the value: `.` `!` `,` `?`", - "title": "RemoveLeadingAndTrailingPunctuation", - "type": "string" - }, - "RemoveLeadingAndTrailingQuotes": { - "markdownDescription": "If `true` , removes single quotes and double quotes from the beginning and end of the value.", - "title": "RemoveLeadingAndTrailingQuotes", - "type": "string" - }, - "RemoveLeadingAndTrailingWhitespace": { - "markdownDescription": "If `true` , removes all whitespaces from the beginning and end of the value.", - "title": "RemoveLeadingAndTrailingWhitespace", - "type": "string" - }, - "RemoveLetters": { - "markdownDescription": "If `true` , removes all uppercase and lowercase alphabetic characters (A through Z; a through z).", - "title": "RemoveLetters", - "type": "string" - }, - "RemoveNumbers": { - "markdownDescription": "If `true` , removes all numeric characters (0 through 9).", - "title": "RemoveNumbers", - "type": "string" - }, - "RemoveSourceColumn": { - "markdownDescription": "If `true` , the source column will be removed after un-nesting that column. (Used with nested column types, such as Map, Struct, or Array.)", - "title": "RemoveSourceColumn", - "type": "string" - }, - "RemoveSpecialCharacters": { - "markdownDescription": "If `true` , removes all of the following characters: `! \" # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \\ ] ^ _ ` { | } ~`", - "title": "RemoveSpecialCharacters", - "type": "string" - }, - "RightColumns": { - "markdownDescription": "The columns on the right side of a join.", - "title": "RightColumns", - "type": "string" - }, - "SampleSize": { - "markdownDescription": "The number of rows in the sample.", - "title": "SampleSize", + "DimensionType": { + "markdownDescription": "The action to segment on.", + "title": "DimensionType", "type": "string" }, - "SampleType": { - "markdownDescription": "The sampling type to apply to the dataset. Valid values: `FIRST_N` | `LAST_N` | `RANDOM`", - "title": "SampleType", - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The values to apply the DimensionType on.", + "title": "Values", + "type": "array" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.Dimension": { + "additionalProperties": false, + "properties": { + "CalculatedAttributes": { + "additionalProperties": false, + "markdownDescription": "Object that holds the calculated attributes to segment on.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.CalculatedAttributeDimension" + } + }, + "title": "CalculatedAttributes", + "type": "object" }, - "SecondInput": { - "markdownDescription": "A object value to indicate the second dataset used in a join.", - "title": "SecondInput", + "ProfileAttributes": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileAttributes", + "markdownDescription": "Object that holds the profile attributes to segment on.", + "title": "ProfileAttributes" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.ExtraLengthValueProfileDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "markdownDescription": "The action to segment with.", + "title": "DimensionType", "type": "string" }, - "SecondaryInputs": { + "Values": { "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" + "type": "string" }, - "markdownDescription": "A list of secondary inputs in a UNION transform", - "title": "SecondaryInputs", + "markdownDescription": "The values to apply the DimensionType on.", + "title": "Values", "type": "array" - }, - "SheetIndexes": { + } + }, + "required": [ + "DimensionType", + "Values" + ], + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.Group": { + "additionalProperties": false, + "properties": { + "Dimensions": { "items": { - "type": "number" + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.Dimension" }, - "markdownDescription": "One or more sheet numbers in the Excel file, which will be included in a dataset.", - "title": "SheetIndexes", + "markdownDescription": "Defines the attributes to segment on.", + "title": "Dimensions", "type": "array" }, - "SheetNames": { + "SourceSegments": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SourceSegment" }, - "markdownDescription": "Oone or more named sheets in the Excel file, which will be included in a dataset.", - "title": "SheetNames", + "markdownDescription": "Defines the starting source of data.", + "title": "SourceSegments", "type": "array" }, - "SourceColumn": { - "markdownDescription": "A source column needed for an operation, step, or transform.", - "title": "SourceColumn", - "type": "string" - }, - "SourceColumn1": { - "markdownDescription": "A source column needed for an operation, step, or transform.", - "title": "SourceColumn1", - "type": "string" - }, - "SourceColumn2": { - "markdownDescription": "A source column needed for an operation, step, or transform.", - "title": "SourceColumn2", + "SourceType": { + "markdownDescription": "Defines how to interact with the source data.", + "title": "SourceType", "type": "string" }, - "SourceColumns": { - "markdownDescription": "A list of source columns needed for an operation, step, or transform.", - "title": "SourceColumns", + "Type": { + "markdownDescription": "Defines how to interact with the profiles found in the current filtering.", + "title": "Type", "type": "string" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.ProfileAttributes": { + "additionalProperties": false, + "properties": { + "AccountNumber": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within account number.", + "title": "AccountNumber" }, - "StartColumnIndex": { - "markdownDescription": "The index number of the first column used by an operation, step, or transform.", - "title": "StartColumnIndex", - "type": "string" + "AdditionalInformation": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ExtraLengthValueProfileDimension", + "markdownDescription": "A field to describe values to segment on within additional information.", + "title": "AdditionalInformation" }, - "StartPattern": { - "markdownDescription": "The starting pattern to locate.", - "title": "StartPattern", - "type": "string" + "Address": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", + "markdownDescription": "A field to describe values to segment on within address.", + "title": "Address" }, - "StartPosition": { - "markdownDescription": "The starting position to locate.", - "title": "StartPosition", - "type": "string" + "Attributes": { + "additionalProperties": false, + "markdownDescription": "A field to describe values to segment on within attributes.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AttributeDimension" + } + }, + "title": "Attributes", + "type": "object" }, - "StartValue": { - "markdownDescription": "The starting value to locate.", - "title": "StartValue", - "type": "string" + "BillingAddress": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", + "markdownDescription": "A field to describe values to segment on within billing address.", + "title": "BillingAddress" }, - "StemmingMode": { - "markdownDescription": "Indicates this operation uses stems and lemmas (base words) for word tokenization.", - "title": "StemmingMode", - "type": "string" + "BirthDate": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.DateDimension", + "markdownDescription": "A field to describe values to segment on within birthDate.", + "title": "BirthDate" }, - "StepCount": { - "markdownDescription": "The total number of transforms in this recipe.", - "title": "StepCount", - "type": "string" + "BusinessEmailAddress": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within business email address.", + "title": "BusinessEmailAddress" }, - "StepIndex": { - "markdownDescription": "The index ID of a step.", - "title": "StepIndex", - "type": "string" + "BusinessName": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within business name.", + "title": "BusinessName" }, - "StopWordsMode": { - "markdownDescription": "Indicates this operation uses stop words as part of word tokenization.", - "title": "StopWordsMode", - "type": "string" + "BusinessPhoneNumber": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within business phone number.", + "title": "BusinessPhoneNumber" }, - "Strategy": { - "markdownDescription": "The resolution strategy to apply in resolving ambiguities.", - "title": "Strategy", - "type": "string" + "EmailAddress": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within email address.", + "title": "EmailAddress" }, - "TargetColumn": { - "markdownDescription": "The column targeted by this operation.", - "title": "TargetColumn", - "type": "string" + "FirstName": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within first name.", + "title": "FirstName" }, - "TargetColumnNames": { - "markdownDescription": "The names to give columns altered by this operation.", - "title": "TargetColumnNames", - "type": "string" + "GenderString": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within genderString.", + "title": "GenderString" }, - "TargetDateFormat": { - "markdownDescription": "The date format to convert to.", - "title": "TargetDateFormat", - "type": "string" + "HomePhoneNumber": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within home phone number.", + "title": "HomePhoneNumber" }, - "TargetIndex": { - "markdownDescription": "The index number of an object that is targeted by this operation.", - "title": "TargetIndex", - "type": "string" + "LastName": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within last name.", + "title": "LastName" }, - "TimeZone": { - "markdownDescription": "The current timezone that you want to use for dates.", - "title": "TimeZone", - "type": "string" + "MailingAddress": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", + "markdownDescription": "A field to describe values to segment on within mailing address.", + "title": "MailingAddress" }, - "TokenizerPattern": { - "markdownDescription": "A regex expression to use when splitting text into terms, also called words or tokens.", - "title": "TokenizerPattern", - "type": "string" + "MiddleName": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within middle name.", + "title": "MiddleName" }, - "TrueString": { - "markdownDescription": "A value to use to represent `TRUE` .", - "title": "TrueString", - "type": "string" + "MobilePhoneNumber": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within mobile phone number.", + "title": "MobilePhoneNumber" }, - "UdfLang": { - "markdownDescription": "The language that's used in the user-defined function.", - "title": "UdfLang", - "type": "string" + "PartyTypeString": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within partyTypeString.", + "title": "PartyTypeString" }, - "Units": { - "markdownDescription": "Specifies a unit of time. For example: `MINUTES` ; `SECONDS` ; `HOURS` ; etc.", - "title": "Units", - "type": "string" + "PersonalEmailAddress": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within personal email address.", + "title": "PersonalEmailAddress" }, - "UnpivotColumn": { - "markdownDescription": "Cast columns as rows, so that each value is a different row in a single column.", - "title": "UnpivotColumn", - "type": "string" + "PhoneNumber": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within phone number.", + "title": "PhoneNumber" }, - "UpperBound": { - "markdownDescription": "The upper boundary for a value.", - "title": "UpperBound", - "type": "string" + "ProfileType": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileTypeDimension", + "markdownDescription": "The type of profile.", + "title": "ProfileType" }, - "UseNewDataFrame": { - "markdownDescription": "Create a new container to hold a dataset.", - "title": "UseNewDataFrame", + "ShippingAddress": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", + "markdownDescription": "A field to describe values to segment on within shipping address.", + "title": "ShippingAddress" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.ProfileDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "markdownDescription": "The action to segment on.", + "title": "DimensionType", "type": "string" }, - "Value": { - "markdownDescription": "A static value that can be used in a comparison, a substitution, or in another context-specific way. A `Value` can be a number, string, or other datatype, depending on the recipe action in which it's used.", - "title": "Value", + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Values", + "type": "array" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.ProfileTypeDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "markdownDescription": "The action to segment on.", + "title": "DimensionType", "type": "string" }, - "Value1": { - "markdownDescription": "A value that's used by this operation.", - "title": "Value1", - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The values to apply the DimensionType on.", + "title": "Values", + "type": "array" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.RangeOverride": { + "additionalProperties": false, + "properties": { + "End": { + "markdownDescription": "The end time of when to include objects.", + "title": "End", + "type": "number" }, - "Value2": { - "markdownDescription": "A value that's used by this operation.", - "title": "Value2", - "type": "string" + "Start": { + "markdownDescription": "The start time of when to include objects.", + "title": "Start", + "type": "number" }, - "ValueColumn": { - "markdownDescription": "The column that is provided as a value that's used by this operation.", - "title": "ValueColumn", + "Unit": { + "markdownDescription": "The unit for start and end.", + "title": "Unit", "type": "string" + } + }, + "required": [ + "Start", + "Unit" + ], + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.SegmentGroup": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.Group" + }, + "markdownDescription": "Holds the list of groups within the segment definition.", + "title": "Groups", + "type": "array" }, - "ViewFrame": { - "markdownDescription": "The subset of rows currently available for viewing.", - "title": "ViewFrame", + "Include": { + "markdownDescription": "Defines whether to include or exclude the profiles that fit the segment criteria.", + "title": "Include", "type": "string" } }, "type": "object" }, - "AWS::DataBrew::Recipe.RecipeStep": { + "AWS::CustomerProfiles::SegmentDefinition.SegmentSort": { "additionalProperties": false, "properties": { - "Action": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.Action", - "markdownDescription": "The particular action to be performed in the recipe step.", - "title": "Action" - }, - "ConditionExpressions": { + "Attributes": { "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SortAttribute" }, - "markdownDescription": "One or more conditions that must be met for the recipe step to succeed.\n\n> All of the conditions in the array must be met. In other words, all of the conditions must be combined using a logical AND operation.", - "title": "ConditionExpressions", "type": "array" } }, "required": [ - "Action" + "Attributes" ], "type": "object" }, - "AWS::DataBrew::Recipe.S3Location": { + "AWS::CustomerProfiles::SegmentDefinition.SortAttribute": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The Amazon S3 bucket name.", - "title": "Bucket", + "DataType": { "type": "string" }, - "Key": { - "markdownDescription": "The unique name of the object in the bucket.", - "title": "Key", + "Name": { + "type": "string" + }, + "Order": { + "type": "string" + }, + "Type": { "type": "string" } }, "required": [ - "Bucket" + "Name", + "Order" ], "type": "object" }, - "AWS::DataBrew::Recipe.SecondaryInput": { + "AWS::CustomerProfiles::SegmentDefinition.SourceSegment": { "additionalProperties": false, "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition", - "markdownDescription": "The AWS Glue Data Catalog parameters for the data.", - "title": "DataCatalogInputDefinition" - }, - "S3InputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location", - "markdownDescription": "The Amazon S3 location where the data is stored.", - "title": "S3InputDefinition" + "SegmentDefinitionName": { + "markdownDescription": "The name of the source segment.", + "title": "SegmentDefinitionName", + "type": "string" } }, "type": "object" }, - "AWS::DataBrew::Ruleset": { + "AWS::DAX::Cluster": { "additionalProperties": false, "properties": { "Condition": { @@ -104426,48 +103224,98 @@ "Properties": { "additionalProperties": false, "properties": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "markdownDescription": "The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or updated. If provided, the length of this list must equal the `ReplicationFactor` parameter. If you omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability.", + "title": "AvailabilityZones", + "type": "array" + }, + "ClusterEndpointEncryptionType": { + "markdownDescription": "The encryption type of the cluster's endpoint. Available values are:\n\n- `NONE` - The cluster's endpoint will be unencrypted.\n- `TLS` - The cluster's endpoint will be encrypted with Transport Layer Security, and will provide an x509 certificate for authentication.\n\nThe default value is `NONE` .", + "title": "ClusterEndpointEncryptionType", + "type": "string" + }, + "ClusterName": { + "markdownDescription": "The name of the DAX cluster.", + "title": "ClusterName", + "type": "string" + }, "Description": { - "markdownDescription": "The description of the ruleset.", + "markdownDescription": "The description of the cluster.", "title": "Description", "type": "string" }, - "Name": { - "markdownDescription": "The name of the ruleset.", - "title": "Name", + "IAMRoleARN": { + "markdownDescription": "A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role's permissions to access DynamoDB on your behalf.", + "title": "IAMRoleARN", "type": "string" }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Ruleset.Rule" - }, - "markdownDescription": "Contains metadata about the ruleset.", - "title": "Rules", - "type": "array" + "NetworkType": { + "markdownDescription": "The IP address type of the cluster. Values are:\n\n- `ipv4` - IPv4 addresses only\n- `ipv6` - IPv6 addresses only\n- `dual_stack` - Both IPv4 and IPv6 addresses", + "title": "NetworkType", + "type": "string" }, - "Tags": { + "NodeType": { + "markdownDescription": "The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.)", + "title": "NodeType", + "type": "string" + }, + "NotificationTopicARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent.\n\n> The Amazon SNS topic owner must be same as the DAX cluster owner.", + "title": "NotificationTopicARN", + "type": "string" + }, + "ParameterGroupName": { + "markdownDescription": "The parameter group to be associated with the DAX cluster.", + "title": "ParameterGroupName", + "type": "string" + }, + "PreferredMaintenanceWindow": { + "markdownDescription": "A range of time when maintenance of DAX cluster software will be performed. For example: `sun:01:00-sun:09:00` . Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "ReplicationFactor": { + "markdownDescription": "The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, without any read replicas. For additional fault tolerance, you can create a multiple node cluster with one or more read replicas. To do this, set `ReplicationFactor` to a number between 3 (one primary and two read replicas) and 10 (one primary and nine read replicas). `If the AvailabilityZones` parameter is provided, its length must equal the `ReplicationFactor` .\n\n> AWS recommends that you have at least two read replicas per cluster.", + "title": "ReplicationFactor", + "type": "number" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DAX::Cluster.SSESpecification", + "markdownDescription": "Represents the settings used to enable server-side encryption on the cluster.", + "title": "SSESpecification" + }, + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "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", + "markdownDescription": "A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is system-generated.)\n\nIf this parameter is not specified, DAX assigns the default VPC security group to each node.", + "title": "SecurityGroupIds", "type": "array" }, - "TargetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of a resource (dataset) that the ruleset is associated with.", - "title": "TargetArn", + "SubnetGroupName": { + "markdownDescription": "The name of the subnet group to be used for the replication group.\n\n> DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet group must exist in the same VPC.", + "title": "SubnetGroupName", "type": "string" + }, + "Tags": { + "markdownDescription": "A set of tags to associate with the DAX cluster.", + "title": "Tags", + "type": "object" } }, "required": [ - "Name", - "Rules", - "TargetArn" + "IAMRoleARN", + "NodeType", + "ReplicationFactor" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataBrew::Ruleset" + "AWS::DAX::Cluster" ], "type": "string" }, @@ -104486,124 +103334,29 @@ ], "type": "object" }, - "AWS::DataBrew::Ruleset.ColumnSelector": { + "AWS::DAX::Cluster.SSESpecification": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of a column from a dataset.", - "title": "Name", - "type": "string" - }, - "Regex": { - "markdownDescription": "A regular expression for selecting a column from a dataset.", - "title": "Regex", - "type": "string" + "SSEEnabled": { + "markdownDescription": "Indicates whether server-side encryption is enabled (true) or disabled (false) on the cluster.", + "title": "SSEEnabled", + "type": "boolean" } }, "type": "object" }, - "AWS::DataBrew::Ruleset.Rule": { + "AWS::DAX::ParameterGroup": { "additionalProperties": false, "properties": { - "CheckExpression": { - "markdownDescription": "The expression which includes column references, condition names followed by variable references, possibly grouped and combined with other conditions. For example, `(:col1 starts_with :prefix1 or :col1 starts_with :prefix2) and (:col1 ends_with :suffix1 or :col1 ends_with :suffix2)` . Column and value references are substitution variables that should start with the ':' symbol. Depending on the context, substitution variables' values can be either an actual value or a column name. These values are defined in the SubstitutionMap. If a CheckExpression starts with a column reference, then ColumnSelectors in the rule should be null. If ColumnSelectors has been defined, then there should be no columnn reference in the left side of a condition, for example, `is_between :val1 and :val2` .", - "title": "CheckExpression", + "Condition": { "type": "string" }, - "ColumnSelectors": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Ruleset.ColumnSelector" - }, - "markdownDescription": "List of column selectors. Selectors can be used to select columns using a name or regular expression from the dataset. Rule will be applied to selected columns.", - "title": "ColumnSelectors", - "type": "array" - }, - "Disabled": { - "markdownDescription": "A value that specifies whether the rule is disabled. Once a rule is disabled, a profile job will not validate it during a job run. Default value is false.", - "title": "Disabled", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the rule.", - "title": "Name", - "type": "string" - }, - "SubstitutionMap": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Ruleset.SubstitutionValue" - }, - "markdownDescription": "The map of substitution variable names to their values used in a check expression. Variable names should start with a ':' (colon). Variable values can either be actual values or column names. To differentiate between the two, column names should be enclosed in backticks, for example, `\":col1\": \"`Column A`\".`", - "title": "SubstitutionMap", - "type": "array" - }, - "Threshold": { - "$ref": "#/definitions/AWS::DataBrew::Ruleset.Threshold", - "markdownDescription": "The threshold used with a non-aggregate check expression. Non-aggregate check expressions will be applied to each row in a specific column, and the threshold will be used to determine whether the validation succeeds.", - "title": "Threshold" - } - }, - "required": [ - "CheckExpression", - "Name" - ], - "type": "object" - }, - "AWS::DataBrew::Ruleset.SubstitutionValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "Value or column name.", - "title": "Value", - "type": "string" - }, - "ValueReference": { - "markdownDescription": "Variable name.", - "title": "ValueReference", - "type": "string" - } - }, - "required": [ - "Value", - "ValueReference" - ], - "type": "object" - }, - "AWS::DataBrew::Ruleset.Threshold": { - "additionalProperties": false, - "properties": { - "Type": { - "markdownDescription": "The type of a threshold. Used for comparison of an actual count of rows that satisfy the rule to the threshold value.", - "title": "Type", - "type": "string" - }, - "Unit": { - "markdownDescription": "Unit of threshold value. Can be either a COUNT or PERCENTAGE of the full sample size used for validation.", - "title": "Unit", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of a threshold.", - "title": "Value", - "type": "number" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::DataBrew::Schedule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -104627,42 +103380,27 @@ "Properties": { "additionalProperties": false, "properties": { - "CronExpression": { - "markdownDescription": "The dates and times when the job is to run. For more information, see [Working with cron expressions for recipe jobs](https://docs.aws.amazon.com/databrew/latest/dg/jobs.recipe.html#jobs.cron) in the *AWS Glue DataBrew Developer Guide* .", - "title": "CronExpression", + "Description": { + "markdownDescription": "A description of the parameter group.", + "title": "Description", "type": "string" }, - "JobNames": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of jobs to be run, according to the schedule.", - "title": "JobNames", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the schedule.", - "title": "Name", + "ParameterGroupName": { + "markdownDescription": "The name of the parameter group.", + "title": "ParameterGroupName", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Metadata tags that have been applied to the schedule.", - "title": "Tags", - "type": "array" + "ParameterNameValues": { + "markdownDescription": "An array of name-value pairs for the parameters in the group. Each element in the array represents a single parameter.\n\n> `record-ttl-millis` and `query-ttl-millis` are the only supported parameter names. For more details, see [Configuring TTL Settings](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.cluster-management.html#DAX.cluster-management.custom-settings.ttl) .", + "title": "ParameterNameValues", + "type": "object" } }, - "required": [ - "CronExpression", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DataBrew::Schedule" + "AWS::DAX::ParameterGroup" ], "type": "string" }, @@ -104676,12 +103414,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::DataExchange::Assets": { + "AWS::DAX::SubnetGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -104716,21 +103453,33 @@ "Properties": { "additionalProperties": false, "properties": { - "DataSetId": { + "Description": { + "markdownDescription": "The description of the subnet group.", + "title": "Description", "type": "string" }, - "Name": { + "SubnetGroupName": { + "markdownDescription": "The name of the subnet group.", + "title": "SubnetGroupName", "type": "string" }, - "RevisionId": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of VPC subnet IDs for the subnet group.", + "title": "SubnetIds", + "type": "array" } }, + "required": [ + "SubnetIds" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DataExchange::Assets" + "AWS::DAX::SubnetGroup" ], "type": "string" }, @@ -104744,27 +103493,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DataExchange::Assets.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::DataExchange::DataSet": { + "AWS::DLM::LifecyclePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -104799,32 +103533,78 @@ "Properties": { "additionalProperties": false, "properties": { - "AssetType": { + "CopyTags": { + "markdownDescription": "*[Default policies only]* Indicates whether the policy should copy tags from the source resource to the snapshot or AMI. If you do not specify a value, the default is `false` .\n\nDefault: false", + "title": "CopyTags", + "type": "boolean" + }, + "CreateInterval": { + "markdownDescription": "*[Default policies only]* Specifies how often the policy should run and create snapshots or AMIs. The creation frequency can range from 1 to 7 days. If you do not specify a value, the default is 1.\n\nDefault: 1", + "title": "CreateInterval", + "type": "number" + }, + "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", + "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` .", + "title": "DefaultPolicy", "type": "string" }, "Description": { + "markdownDescription": "A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.", + "title": "Description", "type": "string" }, - "Name": { + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions", + "markdownDescription": "*[Default policies only]* Specifies exclusion parameters for volumes or instances for which you do not want to create snapshots or AMIs. The policy will not create snapshots or AMIs for target resources that match any of the specified exclusion parameters.", + "title": "Exclusions" + }, + "ExecutionRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.", + "title": "ExecutionRoleArn", + "type": "string" + }, + "ExtendDeletion": { + "markdownDescription": "*[Default policies only]* Defines the snapshot or AMI retention behavior for the policy if the source volume or instance is deleted, or if the policy enters the error, disabled, or deleted state.\n\nBy default ( *ExtendDeletion=false* ):\n\n- If a source resource is deleted, Amazon Data Lifecycle Manager will continue to delete previously created snapshots or AMIs, up to but not including the last one, based on the specified retention period. If you want Amazon Data Lifecycle Manager to delete all snapshots or AMIs, including the last one, specify `true` .\n- If a policy enters the error, disabled, or deleted state, Amazon Data Lifecycle Manager stops deleting snapshots and AMIs. If you want Amazon Data Lifecycle Manager to continue deleting snapshots or AMIs, including the last one, if the policy enters one of these states, specify `true` .\n\nIf you enable extended deletion ( *ExtendDeletion=true* ), you override both default behaviors simultaneously.\n\nIf you do not specify a value, the default is `false` .\n\nDefault: false", + "title": "ExtendDeletion", + "type": "boolean" + }, + "PolicyDetails": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails", + "markdownDescription": "The configuration details of the lifecycle policy.\n\n> If you create a default policy, you can specify the request parameters either in the request body, or in the PolicyDetails request structure, but not both.", + "title": "PolicyDetails" + }, + "RetainInterval": { + "markdownDescription": "*[Default policies only]* Specifies how long the policy should retain snapshots or AMIs before deleting them. The retention period can range from 2 to 14 days, but it must be greater than the creation frequency to ensure that the policy retains at least 1 snapshot or AMI at any given time. If you do not specify a value, the default is 7.\n\nDefault: 7", + "title": "RetainInterval", + "type": "number" + }, + "State": { + "markdownDescription": "The activation state of the lifecycle policy.", + "title": "State", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags to apply to the lifecycle policy during creation.", + "title": "Tags", "type": "array" } }, - "required": [ - "AssetType", - "Description", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DataExchange::DataSet" + "AWS::DLM::LifecyclePolicy" ], "type": "string" }, @@ -104838,208 +103618,300 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::DataExchange::EntitledDataSets": { + "AWS::DLM::LifecyclePolicy.Action": { "additionalProperties": false, "properties": { - "Condition": { + "CrossRegionCopy": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" + }, + "markdownDescription": "The rule for copying shared snapshots across Regions.", + "title": "CrossRegionCopy", + "type": "array" + }, + "Name": { + "markdownDescription": "A descriptive name for the action.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "CrossRegionCopy", + "Name" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.ArchiveRetainRule": { + "additionalProperties": false, + "properties": { + "RetentionArchiveTier": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.RetentionArchiveTier", + "markdownDescription": "Information about retention period in the Amazon EBS Snapshots Archive. For more information, see [Archive Amazon EBS snapshots](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/snapshot-archive.html) .", + "title": "RetentionArchiveTier" + } + }, + "required": [ + "RetentionArchiveTier" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.ArchiveRule": { + "additionalProperties": false, + "properties": { + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ArchiveRetainRule", + "markdownDescription": "Information about the retention period for the snapshot archiving rule.", + "title": "RetainRule" + } + }, + "required": [ + "RetainRule" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CreateRule": { + "additionalProperties": false, + "properties": { + "CronExpression": { + "markdownDescription": "The schedule, as a Cron expression. The schedule interval must be between 1 hour and 1 year. For more information, see the [Cron and rate expressions](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html) in the *Amazon EventBridge User Guide* .", + "title": "CronExpression", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Interval": { + "markdownDescription": "The interval between snapshots. The supported values are 1, 2, 3, 4, 6, 8, 12, and 24.", + "title": "Interval", + "type": "number" + }, + "IntervalUnit": { + "markdownDescription": "The interval unit.", + "title": "IntervalUnit", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Location": { + "markdownDescription": "*[Custom snapshot policies only]* Specifies the destination for snapshots created by the policy. The allowed destinations depend on the location of the targeted resources.\n\n- If the policy targets resources in a Region, then you must create snapshots in the same Region as the source resource.\n- If the policy targets resources in a Local Zone, you can create snapshots in the same Local Zone or in its parent Region.\n- If the policy targets resources on an Outpost, then you can create snapshots on the same Outpost or in its parent Region.\n\nSpecify one of the following values:\n\n- To create snapshots in the same Region as the source resource, specify `CLOUD` .\n- To create snapshots in the same Local Zone as the source resource, specify `LOCAL_ZONE` .\n- To create snapshots on the same Outpost as the source resource, specify `OUTPOST_LOCAL` .\n\nDefault: `CLOUD`", + "title": "Location", + "type": "string" }, - "Metadata": { - "type": "object" + "Scripts": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Script" + }, + "markdownDescription": "*[Custom snapshot policies that target instances only]* Specifies pre and/or post scripts for a snapshot lifecycle policy that targets instances. This is useful for creating application-consistent snapshots, or for performing specific administrative tasks before or after Amazon Data Lifecycle Manager initiates snapshot creation.\n\nFor more information, see [Automating application-consistent snapshots with pre and post scripts](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/automate-app-consistent-backups.html) .", + "title": "Scripts", + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - } + "Times": { + "items": { + "type": "string" }, - "type": "object" + "markdownDescription": "The time, in UTC, to start the operation. The supported format is hh:mm.\n\nThe operation occurs within a one-hour window following the specified time. If you do not specify a time, Amazon Data Lifecycle Manager selects a time within the next 24 hours.", + "title": "Times", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration", + "markdownDescription": "The encryption settings for the copied snapshot.", + "title": "EncryptionConfiguration" }, - "Type": { - "enum": [ - "AWS::DataExchange::EntitledDataSets" - ], - "type": "string" + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule", + "markdownDescription": "Specifies a retention rule for cross-Region snapshot copies created by snapshot or event-based policies, or cross-Region AMI copies created by AMI policies. After the retention period expires, the cross-Region copy is deleted.", + "title": "RetainRule" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Target": { + "markdownDescription": "The target Region.", + "title": "Target", "type": "string" } }, "required": [ - "Type" + "EncryptionConfiguration", + "Target" ], "type": "object" }, - "AWS::DataExchange::EventAction": { + "AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule": { "additionalProperties": false, "properties": { - "Condition": { + "Interval": { + "markdownDescription": "The period after which to deprecate the cross-Region AMI copies. The period must be less than or equal to the cross-Region AMI copy retention period, and it can't be greater than 10 years. This is equivalent to 120 months, 520 weeks, or 3650 days.", + "title": "Interval", + "type": "number" + }, + "IntervalUnit": { + "markdownDescription": "The unit of time in which to measure the *Interval* . For example, to deprecate a cross-Region AMI copy after 3 months, specify `Interval=3` and `IntervalUnit=MONTHS` .", + "title": "IntervalUnit", "type": "string" + } + }, + "required": [ + "Interval", + "IntervalUnit" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { + "additionalProperties": false, + "properties": { + "Interval": { + "markdownDescription": "The amount of time to retain a cross-Region snapshot or AMI copy. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.", + "title": "Interval", + "type": "number" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "IntervalUnit": { + "markdownDescription": "The unit of time for time-based retention. For example, to retain a cross-Region copy for 3 months, specify `Interval=3` and `IntervalUnit=MONTHS` .", + "title": "IntervalUnit", + "type": "string" + } + }, + "required": [ + "Interval", + "IntervalUnit" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyRule": { + "additionalProperties": false, + "properties": { + "CmkArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key to use for EBS encryption. If this parameter is not specified, the default KMS key for the account is used.", + "title": "CmkArn", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CopyTags": { + "markdownDescription": "Indicates whether to copy all user-defined tags from the source snapshot or AMI to the cross-Region copy.", + "title": "CopyTags", + "type": "boolean" }, - "Metadata": { - "type": "object" + "DeprecateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule", + "markdownDescription": "*[Custom AMI policies only]* The AMI deprecation rule for cross-Region AMI copies created by the rule.", + "title": "DeprecateRule" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.Action" - }, - "Event": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.Event" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Action", - "Event" - ], - "type": "object" + "Encrypted": { + "markdownDescription": "To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, enable encryption using this parameter. Copies of encrypted snapshots are encrypted, even if this parameter is false or if encryption by default is not enabled.", + "title": "Encrypted", + "type": "boolean" }, - "Type": { - "enum": [ - "AWS::DataExchange::EventAction" - ], + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule", + "markdownDescription": "The retention rule that indicates how long the cross-Region snapshot or AMI copies are to be retained in the destination Region.", + "title": "RetainRule" + }, + "Target": { + "markdownDescription": "> Use this parameter for snapshot policies only. For AMI policies, use *TargetRegion* instead. \n\n*[Custom snapshot policies only]* The target Region or the Amazon Resource Name (ARN) of the target Outpost for the snapshot copies.", + "title": "Target", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TargetRegion": { + "markdownDescription": "> Use this parameter for AMI policies only. For snapshot policies, use *Target* instead. For snapshot policies created before the *Target* parameter was introduced, this parameter indicates the target Region for snapshot copies. \n\n*[Custom AMI policies only]* The target Region or the Amazon Resource Name (ARN) of the target Outpost for the snapshot copies.", + "title": "TargetRegion", "type": "string" } }, "required": [ - "Type", - "Properties" + "Encrypted" ], "type": "object" }, - "AWS::DataExchange::EventAction.Action": { + "AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget": { "additionalProperties": false, "properties": { - "ExportRevisionToS3": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.AutoExportRevisionToS3RequestDetails" + "TargetRegion": { + "type": "string" } }, "type": "object" }, - "AWS::DataExchange::EventAction.AutoExportRevisionDestinationEntry": { + "AWS::DLM::LifecyclePolicy.DeprecateRule": { "additionalProperties": false, "properties": { - "Bucket": { - "type": "string" + "Count": { + "markdownDescription": "If the schedule has a count-based retention rule, this parameter specifies the number of oldest AMIs to deprecate. The count must be less than or equal to the schedule's retention count, and it can't be greater than 1000.", + "title": "Count", + "type": "number" }, - "KeyPattern": { + "Interval": { + "markdownDescription": "If the schedule has an age-based retention rule, this parameter specifies the period after which to deprecate AMIs created by the schedule. The period must be less than or equal to the schedule's retention period, and it can't be greater than 10 years. This is equivalent to 120 months, 520 weeks, or 3650 days.", + "title": "Interval", + "type": "number" + }, + "IntervalUnit": { + "markdownDescription": "The unit of time in which to measure the *Interval* .", + "title": "IntervalUnit", "type": "string" } }, - "required": [ - "Bucket" - ], "type": "object" }, - "AWS::DataExchange::EventAction.AutoExportRevisionToS3RequestDetails": { + "AWS::DLM::LifecyclePolicy.EncryptionConfiguration": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.ExportServerSideEncryption" + "CmkArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key to use for EBS encryption. If this parameter is not specified, the default KMS key for the account is used.", + "title": "CmkArn", + "type": "string" }, - "RevisionDestination": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.AutoExportRevisionDestinationEntry" + "Encrypted": { + "markdownDescription": "To encrypt a copy of an unencrypted snapshot when encryption by default is not enabled, enable encryption using this parameter. Copies of encrypted snapshots are encrypted, even if this parameter is false or when encryption by default is not enabled.", + "title": "Encrypted", + "type": "boolean" } }, "required": [ - "RevisionDestination" + "Encrypted" ], "type": "object" }, - "AWS::DataExchange::EventAction.Event": { + "AWS::DLM::LifecyclePolicy.EventParameters": { "additionalProperties": false, "properties": { - "RevisionPublished": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.RevisionPublished" + "DescriptionRegex": { + "markdownDescription": "The snapshot description that can trigger the policy. The description pattern is specified using a regular expression. The policy runs only if a snapshot with a description that matches the specified pattern is shared with your account.\n\nFor example, specifying `^.*Created for policy: policy-1234567890abcdef0.*$` configures the policy to run only if snapshots created by policy `policy-1234567890abcdef0` are shared with your account.", + "title": "DescriptionRegex", + "type": "string" + }, + "EventType": { + "markdownDescription": "The type of event. Currently, only snapshot sharing events are supported.", + "title": "EventType", + "type": "string" + }, + "SnapshotOwner": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the AWS accounts that can trigger policy by sharing snapshots with your account. The policy only runs if one of the specified AWS accounts shares a snapshot with your account.", + "title": "SnapshotOwner", + "type": "array" } }, + "required": [ + "EventType", + "SnapshotOwner" + ], "type": "object" }, - "AWS::DataExchange::EventAction.ExportServerSideEncryption": { + "AWS::DLM::LifecyclePolicy.EventSource": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "type": "string" + "Parameters": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventParameters", + "markdownDescription": "Information about the event.", + "title": "Parameters" }, "Type": { + "markdownDescription": "The source of the event. Currently only managed Amazon EventBridge (formerly known as Amazon CloudWatch) events are supported.", + "title": "Type", "type": "string" } }, @@ -105048,19 +103920,375 @@ ], "type": "object" }, - "AWS::DataExchange::EventAction.RevisionPublished": { + "AWS::DLM::LifecyclePolicy.Exclusions": { "additionalProperties": false, "properties": { - "DataSetId": { + "ExcludeBootVolumes": { + "markdownDescription": "*[Default policies for EBS snapshots only]* Indicates whether to exclude volumes that are attached to instances as the boot volume. If you exclude boot volumes, only volumes attached as data (non-boot) volumes will be backed up by the policy. To exclude boot volumes, specify `true` .", + "title": "ExcludeBootVolumes", + "type": "boolean" + }, + "ExcludeTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "*[Default policies for EBS-backed AMIs only]* Specifies whether to exclude volumes that have specific tags.", + "title": "ExcludeTags", + "type": "array" + }, + "ExcludeVolumeTypes": { + "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", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.FastRestoreRule": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "markdownDescription": "The Availability Zones in which to enable fast snapshot restore.", + "title": "AvailabilityZones", + "type": "array" + }, + "Count": { + "markdownDescription": "The number of snapshots to be enabled with fast snapshot restore.", + "title": "Count", + "type": "number" + }, + "Interval": { + "markdownDescription": "The amount of time to enable fast snapshot restore. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.", + "title": "Interval", + "type": "number" + }, + "IntervalUnit": { + "markdownDescription": "The unit of time for enabling fast snapshot restore.", + "title": "IntervalUnit", "type": "string" } }, - "required": [ - "DataSetId" - ], "type": "object" }, - "AWS::DataExchange::Job": { + "AWS::DLM::LifecyclePolicy.Parameters": { + "additionalProperties": false, + "properties": { + "ExcludeBootVolume": { + "markdownDescription": "*[Custom snapshot policies that target instances only]* Indicates whether to exclude the root volume from multi-volume snapshot sets. The default is `false` . If you specify `true` , then the root volumes attached to targeted instances will be excluded from the multi-volume snapshot sets created by the policy.", + "title": "ExcludeBootVolume", + "type": "boolean" + }, + "ExcludeDataVolumeTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "*[Custom snapshot policies that target instances only]* The tags used to identify data (non-root) volumes to exclude from multi-volume snapshot sets.\n\nIf you create a snapshot lifecycle policy that targets instances and you specify tags for this parameter, then data volumes with the specified tags that are attached to targeted instances will be excluded from the multi-volume snapshot sets created by the policy.", + "title": "ExcludeDataVolumeTags", + "type": "array" + }, + "NoReboot": { + "markdownDescription": "*[Custom AMI policies only]* Indicates whether targeted instances are rebooted when the lifecycle policy runs. `true` indicates that targeted instances are not rebooted when the policy runs. `false` indicates that target instances are rebooted when the policy runs. The default is `true` (instances are not rebooted).", + "title": "NoReboot", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.PolicyDetails": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" + }, + "markdownDescription": "*[Event-based policies only]* The actions to be performed when the event-based policy is activated. You can specify only one action per policy.", + "title": "Actions", + "type": "array" + }, + "CopyTags": { + "markdownDescription": "*[Default policies only]* Indicates whether the policy should copy tags from the source resource to the snapshot or AMI. If you do not specify a value, the default is `false` .\n\nDefault: false", + "title": "CopyTags", + "type": "boolean" + }, + "CreateInterval": { + "markdownDescription": "*[Default policies only]* Specifies how often the policy should run and create snapshots or AMIs. The creation frequency can range from 1 to 7 days. If you do not specify a value, the default is 1.\n\nDefault: 1", + "title": "CreateInterval", + "type": "number" + }, + "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", + "type": "array" + }, + "EventSource": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource", + "markdownDescription": "*[Event-based policies only]* The event that activates the event-based policy.", + "title": "EventSource" + }, + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions", + "markdownDescription": "*[Default policies only]* Specifies exclusion parameters for volumes or instances for which you do not want to create snapshots or AMIs. The policy will not create snapshots or AMIs for target resources that match any of the specified exclusion parameters.", + "title": "Exclusions" + }, + "ExtendDeletion": { + "markdownDescription": "*[Default policies only]* Defines the snapshot or AMI retention behavior for the policy if the source volume or instance is deleted, or if the policy enters the error, disabled, or deleted state.\n\nBy default ( *ExtendDeletion=false* ):\n\n- If a source resource is deleted, Amazon Data Lifecycle Manager will continue to delete previously created snapshots or AMIs, up to but not including the last one, based on the specified retention period. If you want Amazon Data Lifecycle Manager to delete all snapshots or AMIs, including the last one, specify `true` .\n- If a policy enters the error, disabled, or deleted state, Amazon Data Lifecycle Manager stops deleting snapshots and AMIs. If you want Amazon Data Lifecycle Manager to continue deleting snapshots or AMIs, including the last one, if the policy enters one of these states, specify `true` .\n\nIf you enable extended deletion ( *ExtendDeletion=true* ), you override both default behaviors simultaneously.\n\nIf you do not specify a value, the default is `false` .\n\nDefault: false", + "title": "ExtendDeletion", + "type": "boolean" + }, + "Parameters": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters", + "markdownDescription": "*[Custom snapshot and AMI policies only]* A set of optional parameters for snapshot and AMI lifecycle policies.\n\n> If you are modifying a policy that was created or previously modified using the Amazon Data Lifecycle Manager console, then you must include this parameter and specify either the default values or the new values that you require. You can't omit this parameter or set its values to null.", + "title": "Parameters" + }, + "PolicyLanguage": { + "markdownDescription": "The type of policy to create. Specify one of the following:\n\n- `SIMPLIFIED` To create a default policy.\n- `STANDARD` To create a custom policy.", + "title": "PolicyLanguage", + "type": "string" + }, + "PolicyType": { + "markdownDescription": "The type of policy. Specify `EBS_SNAPSHOT_MANAGEMENT` to create a lifecycle policy that manages the lifecycle of Amazon EBS snapshots. Specify `IMAGE_MANAGEMENT` to create a lifecycle policy that manages the lifecycle of EBS-backed AMIs. Specify `EVENT_BASED_POLICY` to create an event-based policy that performs specific actions when a defined event occurs in your AWS account .\n\nThe default is `EBS_SNAPSHOT_MANAGEMENT` .", + "title": "PolicyType", + "type": "string" + }, + "ResourceLocations": { + "items": { + "type": "string" + }, + "markdownDescription": "*[Custom snapshot and AMI policies only]* The location of the resources to backup.\n\n- If the source resources are located in a Region, specify `CLOUD` . In this case, the policy targets all resources of the specified type with matching target tags across all Availability Zones in the Region.\n- *[Custom snapshot policies only]* If the source resources are located in a Local Zone, specify `LOCAL_ZONE` . In this case, the policy targets all resources of the specified type with matching target tags across all Local Zones in the Region.\n- If the source resources are located on an Outpost in your account, specify `OUTPOST` . In this case, the policy targets all resources of the specified type with matching target tags across all of the Outposts in your account.", + "title": "ResourceLocations", + "type": "array" + }, + "ResourceType": { + "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` .", + "title": "ResourceType", + "type": "string" + }, + "ResourceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "*[Custom snapshot policies only]* The target resource type for snapshot and AMI lifecycle policies. Use `VOLUME` to create snapshots of individual volumes or use `INSTANCE` to create multi-volume snapshots from the volumes for an instance.", + "title": "ResourceTypes", + "type": "array" + }, + "RetainInterval": { + "markdownDescription": "*[Default policies only]* Specifies how long the policy should retain snapshots or AMIs before deleting them. The retention period can range from 2 to 14 days, but it must be greater than the creation frequency to ensure that the policy retains at least 1 snapshot or AMI at any given time. If you do not specify a value, the default is 7.\n\nDefault: 7", + "title": "RetainInterval", + "type": "number" + }, + "Schedules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" + }, + "markdownDescription": "*[Custom snapshot and AMI policies only]* The schedules of policy-defined actions for snapshot and AMI lifecycle policies. A policy can have up to four schedules\u2014one mandatory schedule and up to three optional schedules.", + "title": "Schedules", + "type": "array" + }, + "TargetTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "*[Custom snapshot and AMI policies only]* The single tag that identifies targeted resources for this policy.", + "title": "TargetTags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.RetainRule": { + "additionalProperties": false, + "properties": { + "Count": { + "markdownDescription": "The number of snapshots to retain for each volume, up to a maximum of 1000. For example if you want to retain a maximum of three snapshots, specify `3` . When the fourth snapshot is created, the oldest retained snapshot is deleted, or it is moved to the archive tier if you have specified an [ArchiveRule](https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html) .", + "title": "Count", + "type": "number" + }, + "Interval": { + "markdownDescription": "The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.", + "title": "Interval", + "type": "number" + }, + "IntervalUnit": { + "markdownDescription": "The unit of time for time-based retention. For example, to retain snapshots for 3 months, specify `Interval=3` and `IntervalUnit=MONTHS` . Once the snapshot has been retained for 3 months, it is deleted, or it is moved to the archive tier if you have specified an [ArchiveRule](https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html) .", + "title": "IntervalUnit", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.RetentionArchiveTier": { + "additionalProperties": false, + "properties": { + "Count": { + "markdownDescription": "The maximum number of snapshots to retain in the archive storage tier for each volume. The count must ensure that each snapshot remains in the archive tier for at least 90 days. For example, if the schedule creates snapshots every 30 days, you must specify a count of 3 or more to ensure that each snapshot is archived for at least 90 days.", + "title": "Count", + "type": "number" + }, + "Interval": { + "markdownDescription": "Specifies the period of time to retain snapshots in the archive tier. After this period expires, the snapshot is permanently deleted.", + "title": "Interval", + "type": "number" + }, + "IntervalUnit": { + "markdownDescription": "The unit of time in which to measure the *Interval* . For example, to retain a snapshots in the archive tier for 6 months, specify `Interval=6` and `IntervalUnit=MONTHS` .", + "title": "IntervalUnit", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Schedule": { + "additionalProperties": false, + "properties": { + "ArchiveRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ArchiveRule", + "markdownDescription": "*[Custom snapshot policies that target volumes only]* The snapshot archiving rule for the schedule. When you specify an archiving rule, snapshots are automatically moved from the standard tier to the archive tier once the schedule's retention threshold is met. Snapshots are then retained in the archive tier for the archive retention period that you specify.\n\nFor more information about using snapshot archiving, see [Considerations for snapshot lifecycle policies](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-ami-policy.html#dlm-archive) .", + "title": "ArchiveRule" + }, + "CopyTags": { + "markdownDescription": "Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.", + "title": "CopyTags", + "type": "boolean" + }, + "CreateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CreateRule", + "markdownDescription": "The creation rule.", + "title": "CreateRule" + }, + "CrossRegionCopyRules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRule" + }, + "markdownDescription": "Specifies a rule for copying snapshots or AMIs across Regions.\n\n> You can't specify cross-Region copy rules for policies that create snapshots on an Outpost or in a Local Zone. If the policy creates snapshots in a Region, then snapshots can be copied to up to three Regions or Outposts.", + "title": "CrossRegionCopyRules", + "type": "array" + }, + "DeprecateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.DeprecateRule", + "markdownDescription": "*[Custom AMI policies only]* The AMI deprecation rule for the schedule.", + "title": "DeprecateRule" + }, + "FastRestoreRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.FastRestoreRule", + "markdownDescription": "*[Custom snapshot policies only]* The rule for enabling fast snapshot restore.", + "title": "FastRestoreRule" + }, + "Name": { + "markdownDescription": "The name of the schedule.", + "title": "Name", + "type": "string" + }, + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.RetainRule", + "markdownDescription": "The retention rule for snapshots or AMIs created by the policy.", + "title": "RetainRule" + }, + "ShareRules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ShareRule" + }, + "markdownDescription": "*[Custom snapshot policies only]* The rule for sharing snapshots with other AWS accounts .", + "title": "ShareRules", + "type": "array" + }, + "TagsToAdd": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to policy-created resources. These user-defined tags are in addition to the AWS -added lifecycle tags.", + "title": "TagsToAdd", + "type": "array" + }, + "VariableTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "*[AMI policies and snapshot policies that target instances only]* A collection of key/value pairs with values determined dynamically when the policy is executed. Keys may be any valid Amazon EC2 tag key. Values must be in one of the two following formats: `$(instance-id)` or `$(timestamp)` . Variable tags are only valid for EBS Snapshot Management \u2013 Instance policies.", + "title": "VariableTags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Script": { + "additionalProperties": false, + "properties": { + "ExecuteOperationOnScriptFailure": { + "markdownDescription": "Indicates whether Amazon Data Lifecycle Manager should default to crash-consistent snapshots if the pre script fails.\n\n- To default to crash consistent snapshot if the pre script fails, specify `true` .\n- To skip the instance for snapshot creation if the pre script fails, specify `false` .\n\nThis parameter is supported only if you run a pre script. If you run a post script only, omit this parameter.\n\nDefault: true", + "title": "ExecuteOperationOnScriptFailure", + "type": "boolean" + }, + "ExecutionHandler": { + "markdownDescription": "The SSM document that includes the pre and/or post scripts to run.\n\n- If you are automating VSS backups, specify `AWS_VSS_BACKUP` . In this case, Amazon Data Lifecycle Manager automatically uses the `AWSEC2-CreateVssSnapshot` SSM document.\n- If you are automating application-consistent snapshots for SAP HANA workloads, specify `AWSSystemsManagerSAP-CreateDLMSnapshotForSAPHANA` .\n- If you are using a custom SSM document that you own, specify either the name or ARN of the SSM document. If you are using a custom SSM document that is shared with you, specify the ARN of the SSM document.", + "title": "ExecutionHandler", + "type": "string" + }, + "ExecutionHandlerService": { + "markdownDescription": "Indicates the service used to execute the pre and/or post scripts.\n\n- If you are using custom SSM documents or automating application-consistent snapshots of SAP HANA workloads, specify `AWS_SYSTEMS_MANAGER` .\n- If you are automating VSS Backups, omit this parameter.\n\nDefault: AWS_SYSTEMS_MANAGER", + "title": "ExecutionHandlerService", + "type": "string" + }, + "ExecutionTimeout": { + "markdownDescription": "Specifies a timeout period, in seconds, after which Amazon Data Lifecycle Manager fails the script run attempt if it has not completed. If a script does not complete within its timeout period, Amazon Data Lifecycle Manager fails the attempt. The timeout period applies to the pre and post scripts individually.\n\nIf you are automating VSS Backups, omit this parameter.\n\nDefault: 10", + "title": "ExecutionTimeout", + "type": "number" + }, + "MaximumRetryCount": { + "markdownDescription": "Specifies the number of times Amazon Data Lifecycle Manager should retry scripts that fail.\n\n- If the pre script fails, Amazon Data Lifecycle Manager retries the entire snapshot creation process, including running the pre and post scripts.\n- If the post script fails, Amazon Data Lifecycle Manager retries the post script only; in this case, the pre script will have completed and the snapshot might have been created.\n\nIf you do not want Amazon Data Lifecycle Manager to retry failed scripts, specify `0` .\n\nDefault: 0", + "title": "MaximumRetryCount", + "type": "number" + }, + "Stages": { + "items": { + "type": "string" + }, + "markdownDescription": "Indicate which scripts Amazon Data Lifecycle Manager should run on target instances. Pre scripts run before Amazon Data Lifecycle Manager initiates snapshot creation. Post scripts run after Amazon Data Lifecycle Manager initiates snapshot creation.\n\n- To run a pre script only, specify `PRE` . In this case, Amazon Data Lifecycle Manager calls the SSM document with the `pre-script` parameter before initiating snapshot creation.\n- To run a post script only, specify `POST` . In this case, Amazon Data Lifecycle Manager calls the SSM document with the `post-script` parameter after initiating snapshot creation.\n- To run both pre and post scripts, specify both `PRE` and `POST` . In this case, Amazon Data Lifecycle Manager calls the SSM document with the `pre-script` parameter before initiating snapshot creation, and then it calls the SSM document again with the `post-script` parameter after initiating snapshot creation.\n\nIf you are automating VSS Backups, omit this parameter.\n\nDefault: PRE and POST", + "title": "Stages", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.ShareRule": { + "additionalProperties": false, + "properties": { + "TargetAccounts": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the AWS accounts with which to share the snapshots.", + "title": "TargetAccounts", + "type": "array" + }, + "UnshareInterval": { + "markdownDescription": "The period after which snapshots that are shared with other AWS accounts are automatically unshared.", + "title": "UnshareInterval", + "type": "number" + }, + "UnshareIntervalUnit": { + "markdownDescription": "The unit of time for the automatic unsharing interval.", + "title": "UnshareIntervalUnit", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Certificate": { "additionalProperties": false, "properties": { "Condition": { @@ -105094,12 +104322,28 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "CertificateIdentifier": { + "markdownDescription": "A customer-assigned name for the certificate. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.", + "title": "CertificateIdentifier", + "type": "string" + }, + "CertificatePem": { + "markdownDescription": "The contents of a `.pem` file, which contains an X.509 certificate.", + "title": "CertificatePem", + "type": "string" + }, + "CertificateWallet": { + "markdownDescription": "The location of an imported Oracle Wallet certificate for use with SSL. An example is: `filebase64(\"${path.root}/rds-ca-2019-root.sso\")`", + "title": "CertificateWallet", + "type": "string" + } + }, "type": "object" }, "Type": { "enum": [ - "AWS::DataExchange::Job" + "AWS::DMS::Certificate" ], "type": "string" }, @@ -105117,7 +104361,7 @@ ], "type": "object" }, - "AWS::DataPipeline::Pipeline": { + "AWS::DMS::DataMigration": { "additionalProperties": false, "properties": { "Condition": { @@ -105152,62 +104396,63 @@ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "markdownDescription": "Indicates whether to validate and start the pipeline or stop an active pipeline. By default, the value is set to `true` .", - "title": "Activate", - "type": "boolean" + "DataMigrationIdentifier": { + "markdownDescription": "", + "title": "DataMigrationIdentifier", + "type": "string" }, - "Description": { - "markdownDescription": "A description of the pipeline.", - "title": "Description", + "DataMigrationName": { + "markdownDescription": "The user-friendly name for the data migration.", + "title": "DataMigrationName", "type": "string" }, - "Name": { - "markdownDescription": "The name of the pipeline.", - "title": "Name", + "DataMigrationSettings": { + "$ref": "#/definitions/AWS::DMS::DataMigration.DataMigrationSettings", + "markdownDescription": "Specifies CloudWatch settings and selection rules for the data migration.", + "title": "DataMigrationSettings" + }, + "DataMigrationType": { + "markdownDescription": "Specifies whether the data migration is full-load only, change data capture (CDC) only, or full-load and CDC.", + "title": "DataMigrationType", "type": "string" }, - "ParameterObjects": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" - }, - "markdownDescription": "The parameter objects used with the pipeline.", - "title": "ParameterObjects", - "type": "array" + "MigrationProjectIdentifier": { + "markdownDescription": "", + "title": "MigrationProjectIdentifier", + "type": "string" }, - "ParameterValues": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" - }, - "markdownDescription": "The parameter values used with the pipeline.", - "title": "ParameterValues", - "type": "array" + "ServiceAccessRoleArn": { + "markdownDescription": "The IAM role that the data migration uses to access AWS resources.", + "title": "ServiceAccessRoleArn", + "type": "string" }, - "PipelineObjects": { + "SourceDataSettings": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" + "$ref": "#/definitions/AWS::DMS::DataMigration.SourceDataSettings" }, - "markdownDescription": "The objects that define the pipeline. These objects overwrite the existing pipeline definition. Not all objects, fields, and values can be updated. For information about restrictions, see [Editing Your Pipeline](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-manage-pipeline-modify-console.html) in the *AWS Data Pipeline Developer Guide* .", - "title": "PipelineObjects", + "markdownDescription": "Specifies information about the data migration's source data provider.", + "title": "SourceDataSettings", "type": "array" }, - "PipelineTags": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions. For more information, see [Controlling Access to Pipelines and Resources](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html) in the *AWS Data Pipeline Developer Guide* .", - "title": "PipelineTags", + "markdownDescription": "", + "title": "Tags", "type": "array" } }, "required": [ - "Name" + "DataMigrationType", + "MigrationProjectIdentifier", + "ServiceAccessRoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataPipeline::Pipeline" + "AWS::DMS::DataMigration" ], "type": "string" }, @@ -105226,143 +104471,54 @@ ], "type": "object" }, - "AWS::DataPipeline::Pipeline.Field": { + "AWS::DMS::DataMigration.DataMigrationSettings": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "Specifies the name of a field for a particular object. To view valid values for a particular field, see [Pipeline Object Reference](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-pipeline-objects.html) in the *AWS Data Pipeline Developer Guide* .", - "title": "Key", - "type": "string" - }, - "RefValue": { - "markdownDescription": "A field value that you specify as an identifier of another object in the same pipeline definition.\n\n> You can specify the field value as either a string value ( `StringValue` ) or a reference to another object ( `RefValue` ), but not both. \n\nRequired if the key that you are using requires it.", - "title": "RefValue", - "type": "string" - }, - "StringValue": { - "markdownDescription": "A field value that you specify as a string. To view valid values for a particular field, see [Pipeline Object Reference](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-pipeline-objects.html) in the *AWS Data Pipeline Developer Guide* .\n\n> You can specify the field value as either a string value ( `StringValue` ) or a reference to another object ( `RefValue` ), but not both. \n\nRequired if the key that you are using requires it.", - "title": "StringValue", - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The field identifier.", - "title": "Key", - "type": "string" + "CloudwatchLogsEnabled": { + "markdownDescription": "Whether to enable CloudWatch logging for the data migration.", + "title": "CloudwatchLogsEnabled", + "type": "boolean" }, - "StringValue": { - "markdownDescription": "The field value, expressed as a String.", - "title": "StringValue", - "type": "string" - } - }, - "required": [ - "Key", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterObject": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" - }, - "markdownDescription": "The attributes of the parameter object.", - "title": "Attributes", - "type": "array" + "NumberOfJobs": { + "markdownDescription": "The number of parallel jobs that trigger parallel threads to unload the tables from the source, and then load them to the target.", + "title": "NumberOfJobs", + "type": "number" }, - "Id": { - "markdownDescription": "The ID of the parameter object.", - "title": "Id", + "SelectionRules": { + "markdownDescription": "A JSON-formatted string that defines what objects to include and exclude from the migration.", + "title": "SelectionRules", "type": "string" } }, - "required": [ - "Attributes", - "Id" - ], "type": "object" }, - "AWS::DataPipeline::Pipeline.ParameterValue": { + "AWS::DMS::DataMigration.SourceDataSettings": { "additionalProperties": false, "properties": { - "Id": { - "markdownDescription": "The ID of the parameter value.", - "title": "Id", - "type": "string" - }, - "StringValue": { - "markdownDescription": "The field value, expressed as a String.", - "title": "StringValue", + "CDCStartPosition": { + "markdownDescription": "", + "title": "CDCStartPosition", "type": "string" - } - }, - "required": [ - "Id", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineObject": { - "additionalProperties": false, - "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" - }, - "markdownDescription": "Key-value pairs that define the properties of the object.", - "title": "Fields", - "type": "array" }, - "Id": { - "markdownDescription": "The ID of the object.", - "title": "Id", + "CDCStartTime": { + "markdownDescription": "", + "title": "CDCStartTime", "type": "string" }, - "Name": { - "markdownDescription": "The name of the object.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Fields", - "Id", - "Name" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineTag": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The key name of a tag.", - "title": "Key", + "CDCStopTime": { + "markdownDescription": "", + "title": "CDCStopTime", "type": "string" }, - "Value": { - "markdownDescription": "The value to associate with the key name.", - "title": "Value", + "SlotName": { + "markdownDescription": "", + "title": "SlotName", "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::DataSync::Agent": { + "AWS::DMS::DataProvider": { "additionalProperties": false, "properties": { "Condition": { @@ -105397,51 +104553,53 @@ "Properties": { "additionalProperties": false, "properties": { - "ActivationKey": { - "markdownDescription": "Specifies your DataSync agent's activation key. If you don't have an activation key, see [Activating your agent](https://docs.aws.amazon.com/datasync/latest/userguide/activate-agent.html) .", - "title": "ActivationKey", + "DataProviderIdentifier": { + "markdownDescription": "The identifier of the data provider. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", + "title": "DataProviderIdentifier", "type": "string" }, - "AgentName": { - "markdownDescription": "Specifies a name for your agent. We recommend specifying a name that you can remember.", - "title": "AgentName", + "DataProviderName": { + "markdownDescription": "The name of the data provider.", + "title": "DataProviderName", "type": "string" }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the security groups used to protect your data transfer task subnets. See [SecurityGroupArns](https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns) .\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`", - "title": "SecurityGroupArns", - "type": "array" + "Description": { + "markdownDescription": "A description of the data provider. Descriptions can have up to 31 characters. A description can contain only ASCII letters, digits, and hyphens ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter.", + "title": "Description", + "type": "string" }, - "SubnetArns": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the ARN of the subnet where your VPC service endpoint is located. You can only specify one ARN.", - "title": "SubnetArns", - "type": "array" + "Engine": { + "markdownDescription": "The type of database engine for the data provider. Valid values include `\"aurora\"` , `\"aurora-postgresql\"` , `\"mysql\"` , `\"oracle\"` , `\"postgres\"` , `\"sqlserver\"` , `redshift` , `mariadb` , `mongodb` , `db2` , `db2-zos` , `docdb` , and `sybase` . A value of `\"aurora\"` represents Amazon Aurora MySQL-Compatible Edition.", + "title": "Engine", + "type": "string" + }, + "ExactSettings": { + "markdownDescription": "", + "title": "ExactSettings", + "type": "boolean" + }, + "Settings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.Settings", + "markdownDescription": "The settings in JSON format for a data provider.", + "title": "Settings" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least one tag for your agent.", + "markdownDescription": "", "title": "Tags", "type": "array" - }, - "VpcEndpointId": { - "markdownDescription": "The ID of the virtual private cloud (VPC) endpoint that the agent has access to. This is the client-side VPC endpoint, powered by AWS PrivateLink . If you don't have an AWS PrivateLink VPC endpoint, see [AWS PrivateLink and VPC endpoints](https://docs.aws.amazon.com//vpc/latest/userguide/endpoint-services-overview.html) in the *Amazon VPC User Guide* .\n\nFor more information about activating your agent in a private network based on a VPC, see [Using AWS DataSync in a Virtual Private Cloud](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-in-vpc.html) in the *AWS DataSync User Guide.*\n\nA VPC endpoint ID looks like this: `vpce-01234d5aff67890e1` .", - "title": "VpcEndpointId", - "type": "string" } }, + "required": [ + "Engine" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DataSync::Agent" + "AWS::DMS::DataProvider" ], "type": "string" }, @@ -105455,629 +104613,498 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DataSync::LocationAzureBlob": { + "AWS::DMS::DataProvider.DocDbSettings": { "additionalProperties": false, "properties": { - "Condition": { + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DatabaseName": { + "markdownDescription": "The database name on the DocumentDB source endpoint.", + "title": "DatabaseName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "markdownDescription": "(Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.\n\nYou can specify more than one agent. For more information, see [Using multiple agents for your transfer](https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html) .\n\n> Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.", - "title": "AgentArns", - "type": "array" - }, - "AzureAccessTier": { - "markdownDescription": "Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see [Access tiers](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers) .", - "title": "AzureAccessTier", - "type": "string" - }, - "AzureBlobAuthenticationType": { - "markdownDescription": "Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS).", - "title": "AzureBlobAuthenticationType", - "type": "string" - }, - "AzureBlobContainerUrl": { - "markdownDescription": "Specifies the URL of the Azure Blob Storage container involved in your transfer.", - "title": "AzureBlobContainerUrl", - "type": "string" - }, - "AzureBlobSasConfiguration": { - "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.AzureBlobSasConfiguration", - "markdownDescription": "Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.\n\n> If you provide an authentication token using `SasConfiguration` , 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": "AzureBlobSasConfiguration" - }, - "AzureBlobType": { - "markdownDescription": "Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the [Azure Blob Storage documentation](https://docs.aws.amazon.com/https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs) .", - "title": "AzureBlobType", - "type": "string" - }, - "CmkSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.CmkSecretConfig", - "markdownDescription": "Specifies configuration information for a DataSync-managed secret, such as an authentication token, secret key, password, or Kerberos keytab that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .\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": "CmkSecretConfig" - }, - "CustomSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.CustomSecretConfig", - "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" - }, - "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", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your transfer location.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "AzureBlobAuthenticationType" - ], - "type": "object" + "Port": { + "markdownDescription": "The port value for the DocumentDB source endpoint.", + "title": "Port", + "type": "number" }, - "Type": { - "enum": [ - "AWS::DataSync::LocationAzureBlob" - ], + "ServerName": { + "markdownDescription": "The name of the server on the DocumentDB source endpoint.", + "title": "ServerName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "Type", - "Properties" + "DatabaseName", + "Port", + "ServerName" ], "type": "object" }, - "AWS::DataSync::LocationAzureBlob.AzureBlobSasConfiguration": { + "AWS::DMS::DataProvider.IbmDb2LuwSettings": { "additionalProperties": false, "properties": { - "AzureBlobSasToken": { - "markdownDescription": "Specifies a SAS token that provides permissions to access your Azure Blob Storage.\n\nThe token is part of the SAS URI string that comes after the storage resource URI and a question mark. A token looks something like this:\n\n`sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D`", - "title": "AzureBlobSasToken", + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", + "type": "string" + }, + "DatabaseName": { + "markdownDescription": "", + "title": "DatabaseName", + "type": "string" + }, + "Port": { + "markdownDescription": "", + "title": "Port", + "type": "number" + }, + "ServerName": { + "markdownDescription": "", + "title": "ServerName", + "type": "string" + }, + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "AzureBlobSasToken" + "DatabaseName", + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationAzureBlob.CmkSecretConfig": { + "AWS::DMS::DataProvider.IbmDb2zOsSettings": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "markdownDescription": "Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for `SecretArn` . DataSync provides this key to AWS Secrets Manager .", - "title": "KmsKeyArn", + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", "type": "string" }, - "SecretArn": { - "markdownDescription": "Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for `KmsKeyArn` .", - "title": "SecretArn", + "DatabaseName": { + "markdownDescription": "", + "title": "DatabaseName", "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationAzureBlob.CustomSecretConfig": { - "additionalProperties": false, - "properties": { - "SecretAccessRoleArn": { - "markdownDescription": "Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` .", - "title": "SecretAccessRoleArn", + }, + "Port": { + "markdownDescription": "", + "title": "Port", + "type": "number" + }, + "ServerName": { + "markdownDescription": "", + "title": "ServerName", "type": "string" }, - "SecretArn": { - "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", - "title": "SecretArn", + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "SecretAccessRoleArn", - "SecretArn" + "DatabaseName", + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationAzureBlob.ManagedSecretConfig": { + "AWS::DMS::DataProvider.MariaDbSettings": { "additionalProperties": false, "properties": { - "SecretArn": { - "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", - "title": "SecretArn", + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", + "type": "string" + }, + "Port": { + "markdownDescription": "", + "title": "Port", + "type": "number" + }, + "ServerName": { + "markdownDescription": "", + "title": "ServerName", + "type": "string" + }, + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "SecretArn" + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationEFS": { + "AWS::DMS::DataProvider.MicrosoftSqlServerSettings": { "additionalProperties": false, "properties": { - "Condition": { + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DatabaseName": { + "markdownDescription": "Database name for the endpoint.", + "title": "DatabaseName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPointArn": { - "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system.\n\nFor more information, see [Accessing restricted file systems](https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam) .", - "title": "AccessPointArn", - "type": "string" - }, - "Ec2Config": { - "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config", - "markdownDescription": "Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's [mount targets](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) .", - "title": "Ec2Config" - }, - "EfsFilesystemArn": { - "markdownDescription": "Specifies the ARN for your Amazon EFS file system.", - "title": "EfsFilesystemArn", - "type": "string" - }, - "FileSystemAccessRoleArn": { - "markdownDescription": "Specifies an AWS Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system.\n\nFor information on creating this role, see [Creating a DataSync IAM role for file system access](https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam-role) .", - "title": "FileSystemAccessRoleArn", - "type": "string" - }, - "InTransitEncryption": { - "markdownDescription": "Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system.\n\nIf you specify an access point using `AccessPointArn` or an IAM role using `FileSystemAccessRoleArn` , you must set this parameter to `TLS1_2` .", - "title": "InTransitEncryption", - "type": "string" - }, - "Subdirectory": { - "markdownDescription": "Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data on your file system (depending on if this is a source or destination location).\n\nBy default, DataSync uses the root directory (or [access point](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) if you provide one by using `AccessPointArn` ). You can also include subdirectories using forward slashes (for example, `/path/to/folder` ).", - "title": "Subdirectory", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies the key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Ec2Config" - ], - "type": "object" + "Port": { + "markdownDescription": "Endpoint TCP port.", + "title": "Port", + "type": "number" }, - "Type": { - "enum": [ - "AWS::DataSync::LocationEFS" - ], + "ServerName": { + "markdownDescription": "Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.", + "title": "ServerName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "Type", - "Properties" + "DatabaseName", + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationEFS.Ec2Config": { + "AWS::DMS::DataProvider.MongoDbSettings": { "additionalProperties": false, "properties": { - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the Amazon Resource Names (ARNs) of the security groups associated with an Amazon EFS file system's mount target.", - "title": "SecurityGroupArns", - "type": "array" + "AuthMechanism": { + "markdownDescription": "The authentication mechanism you use to access the MongoDB source endpoint.\n\nFor the default value, in MongoDB version 2.x, `\"default\"` is `\"mongodb_cr\"` . For MongoDB version 3.x or later, `\"default\"` is `\"scram_sha_1\"` . This setting isn't used when `AuthType` is set to `\"no\"` .", + "title": "AuthMechanism", + "type": "string" }, - "SubnetArn": { - "markdownDescription": "Specifies the ARN of a subnet where DataSync creates the [network interfaces](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces.html) for managing traffic during your transfer.\n\nThe subnet must be located:\n\n- In the same virtual private cloud (VPC) as the Amazon EFS file system.\n- In the same Availability Zone as at least one mount target for the Amazon EFS file system.\n\n> You don't need to specify a subnet that includes a file system mount target.", - "title": "SubnetArn", + "AuthSource": { + "markdownDescription": "The MongoDB database name. This setting isn't used when `AuthType` is set to `\"no\"` .\n\nThe default is `\"admin\"` .", + "title": "AuthSource", + "type": "string" + }, + "AuthType": { + "markdownDescription": "The authentication type you use to access the MongoDB source endpoint.\n\nWhen when set to `\"no\"` , user name and password parameters are not used and can be empty.", + "title": "AuthType", + "type": "string" + }, + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", + "type": "string" + }, + "DatabaseName": { + "markdownDescription": "The database name on the MongoDB source endpoint.", + "title": "DatabaseName", + "type": "string" + }, + "Port": { + "markdownDescription": "The port value for the MongoDB source endpoint.", + "title": "Port", + "type": "number" + }, + "ServerName": { + "markdownDescription": "The name of the server on the MongoDB source endpoint. For MongoDB Atlas, provide the server name for any of the servers in the replication set.", + "title": "ServerName", + "type": "string" + }, + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "SecurityGroupArns", - "SubnetArn" + "Port", + "ServerName" ], "type": "object" }, - "AWS::DataSync::LocationFSxLustre": { + "AWS::DMS::DataProvider.MySqlSettings": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FsxFilesystemArn": { - "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the FSx for Lustre file system.", - "title": "FsxFilesystemArn", - "type": "string" - }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The ARNs of the security groups that are used to configure the FSx for Lustre file system.\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`\n\n*Length constraints* : Maximum length of 128.", - "title": "SecurityGroupArns", - "type": "array" - }, - "Subdirectory": { - "markdownDescription": "Specifies a mount path for your FSx for Lustre file system. The path can include subdirectories.\n\nWhen the location is used as a source, DataSync reads data from the mount path. When the location is used as a destination, DataSync writes data to the mount path. If you don't include this parameter, DataSync uses the file system's root directory ( `/` ).", - "title": "Subdirectory", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "SecurityGroupArns" - ], - "type": "object" + "Port": { + "markdownDescription": "Endpoint TCP port.", + "title": "Port", + "type": "number" }, - "Type": { - "enum": [ - "AWS::DataSync::LocationFSxLustre" - ], + "ServerName": { + "markdownDescription": "The host name of the endpoint database.\n\nFor an Amazon RDS MySQL instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.\n\nFor an Aurora MySQL instance, this is the output of [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) , in the `Endpoint` field.", + "title": "ServerName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "Type", - "Properties" + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationFSxONTAP": { + "AWS::DMS::DataProvider.OracleSettings": { "additionalProperties": false, "properties": { - "Condition": { + "AsmServer": { + "markdownDescription": "For an Oracle source endpoint, your ASM server address. You can set this value from the `asm_server` value. You set `asm_server` as part of the extra connection attribute string to access an Oracle server with Binary Reader that uses ASM. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", + "title": "AsmServer", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DatabaseName": { + "markdownDescription": "Database name for the endpoint.", + "title": "DatabaseName", + "type": "string" }, - "Metadata": { - "type": "object" + "Port": { + "markdownDescription": "Endpoint TCP port.", + "title": "Port", + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Protocol": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.Protocol", - "markdownDescription": "Specifies the data transfer protocol that DataSync uses to access your Amazon FSx file system.", - "title": "Protocol" - }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the Amazon Resource Names (ARNs) of the security groups that DataSync can use to access your FSx for ONTAP file system. You must configure the security groups to allow outbound traffic on the following ports (depending on the protocol that you're using):\n\n- *Network File System (NFS)* : TCP ports 111, 635, and 2049\n- *Server Message Block (SMB)* : TCP port 445\n\nYour file system's security groups must also allow inbound traffic on the same port.", - "title": "SecurityGroupArns", - "type": "array" - }, - "StorageVirtualMachineArn": { - "markdownDescription": "Specifies the ARN of the storage virtual machine (SVM) in your file system where you want to copy data to or from.", - "title": "StorageVirtualMachineArn", - "type": "string" - }, - "Subdirectory": { - "markdownDescription": "Specifies a path to the file share in the SVM where you want to transfer data to or from.\n\nYou can specify a junction path (also known as a mount point), qtree path (for NFS file shares), or share name (for SMB file shares). For example, your mount path might be `/vol1` , `/vol1/tree1` , or `/share1` .\n\n> Don't specify a junction path in the SVM's root volume. For more information, see [Managing FSx for ONTAP storage virtual machines](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html) in the *Amazon FSx for NetApp ONTAP User Guide* .", - "title": "Subdirectory", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "SecurityGroupArns", - "StorageVirtualMachineArn" - ], - "type": "object" + "SecretsManagerOracleAsmAccessRoleArn": { + "markdownDescription": "Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the `SecretsManagerOracleAsmSecret` . This `SecretsManagerOracleAsmSecret` has the secret value that allows access to the Oracle ASM of the endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerOracleAsmSecretId` . Or you can specify clear-text values for `AsmUser` , `AsmPassword` , and `AsmServerName` . You can't specify both. For more information on creating this `SecretsManagerOracleAsmSecret` and the `SecretsManagerOracleAsmAccessRoleArn` and `SecretsManagerOracleAsmSecretId` required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerOracleAsmAccessRoleArn", + "type": "string" }, - "Type": { - "enum": [ - "AWS::DataSync::LocationFSxONTAP" - ], + "SecretsManagerOracleAsmSecretId": { + "markdownDescription": "Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN, partial ARN, or friendly name of the `SecretsManagerOracleAsmSecret` that contains the Oracle ASM connection details for the Oracle endpoint.", + "title": "SecretsManagerOracleAsmSecretId", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SecretsManagerSecurityDbEncryptionAccessRoleArn": { + "markdownDescription": "", + "title": "SecretsManagerSecurityDbEncryptionAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecurityDbEncryptionSecretId": { + "markdownDescription": "", + "title": "SecretsManagerSecurityDbEncryptionSecretId", + "type": "string" + }, + "ServerName": { + "markdownDescription": "Fully qualified domain name of the endpoint.\n\nFor an Amazon RDS Oracle instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.", + "title": "ServerName", + "type": "string" + }, + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "Type", - "Properties" + "DatabaseName", + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationFSxONTAP.CmkSecretConfig": { + "AWS::DMS::DataProvider.PostgreSqlSettings": { "additionalProperties": false, "properties": { - "KmsKeyArn": { + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", "type": "string" }, - "SecretArn": { + "DatabaseName": { + "markdownDescription": "Database name for the endpoint.", + "title": "DatabaseName", "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationFSxONTAP.CustomSecretConfig": { - "additionalProperties": false, - "properties": { - "SecretAccessRoleArn": { + }, + "Port": { + "markdownDescription": "Endpoint TCP port. The default is 5432.", + "title": "Port", + "type": "number" + }, + "ServerName": { + "markdownDescription": "The host name of the endpoint database.\n\nFor an Amazon RDS PostgreSQL instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.\n\nFor an Aurora PostgreSQL instance, this is the output of [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) , in the `Endpoint` field.", + "title": "ServerName", "type": "string" }, - "SecretArn": { + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "SecretAccessRoleArn", - "SecretArn" + "DatabaseName", + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationFSxONTAP.ManagedSecretConfig": { + "AWS::DMS::DataProvider.RedshiftSettings": { "additionalProperties": false, "properties": { - "SecretArn": { + "DatabaseName": { + "markdownDescription": "The name of the Amazon Redshift data warehouse (service) that you are working with.", + "title": "DatabaseName", + "type": "string" + }, + "Port": { + "markdownDescription": "The port number for Amazon Redshift. The default value is 5439.", + "title": "Port", + "type": "number" + }, + "ServerName": { + "markdownDescription": "The name of the Amazon Redshift cluster you are using.", + "title": "ServerName", "type": "string" } }, "required": [ - "SecretArn" - ], - "type": "object" - }, - "AWS::DataSync::LocationFSxONTAP.NFS": { - "additionalProperties": false, - "properties": { - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.NfsMountOptions", - "markdownDescription": "Specifies how DataSync can access a location using the NFS protocol.", - "title": "MountOptions" - } - }, - "required": [ - "MountOptions" + "DatabaseName", + "Port", + "ServerName" ], "type": "object" }, - "AWS::DataSync::LocationFSxONTAP.NfsMountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "markdownDescription": "Specifies the NFS version that you want DataSync to use when mounting your NFS share. If the server refuses to use the version specified, the task fails.\n\nYou can specify the following options:\n\n- `AUTOMATIC` (default): DataSync chooses NFS version 4.1.\n- `NFS3` : Stateless protocol version that allows for asynchronous writes on the server.\n- `NFSv4_0` : Stateful, firewall-friendly protocol version that supports delegations and pseudo file systems.\n- `NFSv4_1` : Stateful protocol version that supports sessions, directory delegations, and parallel data processing. NFS version 4.1 also includes all features available in version 4.0.\n\n> DataSync currently only supports NFS version 3 with Amazon FSx for NetApp ONTAP locations.", - "title": "Version", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationFSxONTAP.Protocol": { + "AWS::DMS::DataProvider.Settings": { "additionalProperties": false, "properties": { - "NFS": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.NFS", - "markdownDescription": "Specifies the Network File System (NFS) protocol configuration that DataSync uses to access your FSx for ONTAP file system's storage virtual machine (SVM).", - "title": "NFS" + "DocDbSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.DocDbSettings", + "markdownDescription": "", + "title": "DocDbSettings" }, - "SMB": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.SMB", - "markdownDescription": "Specifies the Server Message Block (SMB) protocol configuration that DataSync uses to access your FSx for ONTAP file system's SVM.", - "title": "SMB" + "IbmDb2LuwSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.IbmDb2LuwSettings", + "markdownDescription": "", + "title": "IbmDb2LuwSettings" + }, + "IbmDb2zOsSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.IbmDb2zOsSettings", + "markdownDescription": "", + "title": "IbmDb2zOsSettings" + }, + "MariaDbSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.MariaDbSettings", + "markdownDescription": "", + "title": "MariaDbSettings" + }, + "MicrosoftSqlServerSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.MicrosoftSqlServerSettings", + "markdownDescription": "", + "title": "MicrosoftSqlServerSettings" + }, + "MongoDbSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.MongoDbSettings", + "markdownDescription": "", + "title": "MongoDbSettings" + }, + "MySqlSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.MySqlSettings", + "markdownDescription": "", + "title": "MySqlSettings" + }, + "OracleSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.OracleSettings", + "markdownDescription": "", + "title": "OracleSettings" + }, + "PostgreSqlSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.PostgreSqlSettings", + "markdownDescription": "", + "title": "PostgreSqlSettings" + }, + "RedshiftSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.RedshiftSettings", + "markdownDescription": "", + "title": "RedshiftSettings" + }, + "SybaseAseSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.SybaseAseSettings", + "markdownDescription": "", + "title": "SybaseAseSettings" } }, "type": "object" }, - "AWS::DataSync::LocationFSxONTAP.SMB": { + "AWS::DMS::DataProvider.SybaseAseSettings": { "additionalProperties": false, "properties": { - "CmkSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.CmkSecretConfig" - }, - "CustomSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.CustomSecretConfig" + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", + "type": "string" }, - "Domain": { - "markdownDescription": "Specifies the name of the Windows domain that your storage virtual machine (SVM) belongs to.\n\nIf you have multiple domains in your environment, configuring this setting makes sure that DataSync connects to the right SVM.\n\nIf you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right SVM.", - "title": "Domain", + "DatabaseName": { + "markdownDescription": "", + "title": "DatabaseName", "type": "string" }, - "ManagedSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.ManagedSecretConfig" + "EncryptPassword": { + "markdownDescription": "", + "title": "EncryptPassword", + "type": "boolean" }, - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.SmbMountOptions", - "markdownDescription": "Specifies how DataSync can access a location using the SMB protocol.", - "title": "MountOptions" + "Port": { + "markdownDescription": "", + "title": "Port", + "type": "number" }, - "Password": { - "markdownDescription": "Specifies the password of a user who has permission to access your SVM.", - "title": "Password", + "ServerName": { + "markdownDescription": "", + "title": "ServerName", "type": "string" }, - "User": { - "markdownDescription": "Specifies a user name that can mount the location and access the files, folders, and metadata that you need in the SVM.\n\nIf you provide a user in your Active Directory, note the following:\n\n- If you're using AWS Directory Service for Microsoft Active Directory , the user must be a member of the AWS Delegated FSx Administrators group.\n- If you're using a self-managed Active Directory, the user must be a member of either the Domain Admins group or a custom group that you specified for file system administration when you created your file system.\n\nMake sure that the user has the permissions it needs to copy the data you want:\n\n- `SE_TCB_NAME` : Required to set object ownership and file metadata. With this privilege, you also can copy NTFS discretionary access lists (DACLs).\n- `SE_SECURITY_NAME` : May be needed to copy NTFS system access control lists (SACLs). This operation specifically requires the Windows privilege, which is granted to members of the Domain Admins group. If you configure your task to copy SACLs, make sure that the user has the required privileges. For information about copying SACLs, see [Ownership and permissions-related options](https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html#configure-ownership-and-permissions) .", - "title": "User", + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "MountOptions", - "User" + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationFSxONTAP.SmbMountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "markdownDescription": "By default, DataSync automatically chooses an SMB protocol version based on negotiation with your SMB file server. You also can configure DataSync to use a specific SMB version, but we recommend doing this only if DataSync has trouble negotiating with the SMB file server automatically.\n\nThese are the following options for configuring the SMB version:\n\n- `AUTOMATIC` (default): DataSync and the SMB file server negotiate the highest version of SMB that they mutually support between 2.1 and 3.1.1.\n\nThis is the recommended option. If you instead choose a specific version that your file server doesn't support, you may get an `Operation Not Supported` error.\n- `SMB3` : Restricts the protocol negotiation to only SMB version 3.0.2.\n- `SMB2` : Restricts the protocol negotiation to only SMB version 2.1.\n- `SMB2_0` : Restricts the protocol negotiation to only SMB version 2.0.\n- `SMB1` : Restricts the protocol negotiation to only SMB version 1.0.\n\n> The `SMB1` option isn't available when [creating an Amazon FSx for NetApp ONTAP location](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateLocationFsxOntap.html) .", - "title": "Version", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationFSxOpenZFS": { + "AWS::DMS::Endpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -106112,193 +105139,174 @@ "Properties": { "additionalProperties": false, "properties": { - "FsxFilesystemArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the FSx for OpenZFS file system.", - "title": "FsxFilesystemArn", + "CertificateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the certificate.", + "title": "CertificateArn", "type": "string" }, - "Protocol": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.Protocol", - "markdownDescription": "The type of protocol that AWS DataSync uses to access your file system.", - "title": "Protocol" - }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The ARNs of the security groups that are used to configure the FSx for OpenZFS file system.\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`\n\n*Length constraints* : Maximum length of 128.", - "title": "SecurityGroupArns", - "type": "array" + "DatabaseName": { + "markdownDescription": "The name of the endpoint database. For a MySQL source or target endpoint, don't specify `DatabaseName` . To migrate to a specific database, use this setting and `targetDbType` .", + "title": "DatabaseName", + "type": "string" }, - "Subdirectory": { - "markdownDescription": "A subdirectory in the location's path that must begin with `/fsx` . DataSync uses this subdirectory to read or write data (depending on whether the file system is a source or destination location).", - "title": "Subdirectory", - "type": "string" + "DocDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings", + "markdownDescription": "Settings in JSON format for the source and target DocumentDB endpoint. For more information about other available settings, see [Using extra connections attributes with Amazon DocumentDB as a source](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DocumentDB.html#CHAP_Source.DocumentDB.ECAs) and [Using Amazon DocumentDB as a target for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DocumentDB.html) in the *AWS Database Migration Service User Guide* .", + "title": "DocDbSettings" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Protocol", - "SecurityGroupArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationFSxOpenZFS" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationFSxOpenZFS.MountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "markdownDescription": "The specific NFS version that you want DataSync to use to mount your NFS share. If the server refuses to use the version specified, the sync will fail. If you don't specify a version, DataSync defaults to `AUTOMATIC` . That is, DataSync automatically selects a version based on negotiation with the NFS server.\n\nYou can specify the following NFS versions:\n\n- *[NFSv3](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc1813)* : Stateless protocol version that allows for asynchronous writes on the server.\n- *[NFSv4.0](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc3530)* : Stateful, firewall-friendly protocol version that supports delegations and pseudo file systems.\n- *[NFSv4.1](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5661)* : Stateful protocol version that supports sessions, directory delegations, and parallel data processing. Version 4.1 also includes all features available in version 4.0.", - "title": "Version", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationFSxOpenZFS.NFS": { - "additionalProperties": false, - "properties": { - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.MountOptions", - "markdownDescription": "Represents the mount options that are available for DataSync to access an NFS location.", - "title": "MountOptions" - } - }, - "required": [ - "MountOptions" - ], - "type": "object" - }, - "AWS::DataSync::LocationFSxOpenZFS.Protocol": { - "additionalProperties": false, - "properties": { - "NFS": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.NFS", - "markdownDescription": "Represents the Network File System (NFS) protocol that DataSync uses to access your FSx for OpenZFS file system.", - "title": "NFS" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationFSxWindows": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DynamoDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings", + "markdownDescription": "Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see [Using object mapping to migrate data to DynamoDB](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping) in the *AWS Database Migration Service User Guide* .", + "title": "DynamoDbSettings" + }, + "ElasticsearchSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.ElasticsearchSettings", + "markdownDescription": "Settings in JSON format for the target OpenSearch endpoint. For more information about the available settings, see [Extra connection attributes when using OpenSearch as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration) in the *AWS Database Migration Service User Guide* .", + "title": "ElasticsearchSettings" + }, + "EndpointIdentifier": { + "markdownDescription": "The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", + "title": "EndpointIdentifier", "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CmkSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows.CmkSecretConfig" + "EndpointType": { + "markdownDescription": "The type of endpoint. Valid values are `source` and `target` .", + "title": "EndpointType", + "type": "string" }, - "CustomSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows.CustomSecretConfig" + "EngineName": { + "markdownDescription": "The type of engine for the endpoint, depending on the `EndpointType` value.\n\n*Valid values* : `mysql` | `oracle` | `postgres` | `mariadb` | `aurora` | `aurora-postgresql` | `opensearch` | `redshift` | `redshift-serverless` | `s3` | `db2` | `azuredb` | `sybase` | `dynamodb` | `mongodb` | `kinesis` | `kafka` | `elasticsearch` | `docdb` | `sqlserver` | `neptune`", + "title": "EngineName", + "type": "string" }, - "Domain": { - "markdownDescription": "Specifies the name of the Windows domain that the FSx for Windows File Server file system belongs to.\n\nIf you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right file system.", - "title": "Domain", + "ExtraConnectionAttributes": { + "markdownDescription": "Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For information on the attributes available for connecting your source or target endpoint, see [Working with AWS DMS Endpoints](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html) in the *AWS Database Migration Service User Guide* .", + "title": "ExtraConnectionAttributes", "type": "string" }, - "FsxFilesystemArn": { - "markdownDescription": "Specifies the Amazon Resource Name (ARN) for the FSx for Windows File Server file system.", - "title": "FsxFilesystemArn", + "GcpMySQLSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings", + "markdownDescription": "Settings in JSON format for the source GCP MySQL endpoint. These settings are much the same as the settings for any MySQL-compatible endpoint. For more information, see [Extra connection attributes when using MySQL as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "GcpMySQLSettings" + }, + "IbmDb2Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings", + "markdownDescription": "Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available settings, see [Extra connection attributes when using Db2 LUW as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "IbmDb2Settings" + }, + "KafkaSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings", + "markdownDescription": "Settings in JSON format for the target Apache Kafka endpoint. For more information about other available settings, see [Using object mapping to migrate data to a Kafka topic](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping) in the *AWS Database Migration Service User Guide* .", + "title": "KafkaSettings" + }, + "KinesisSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings", + "markdownDescription": "Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about other available settings, see [Using object mapping to migrate data to a Kinesis data stream](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping) in the *AWS Database Migration Service User Guide* .", + "title": "KinesisSettings" + }, + "KmsKeyId": { + "markdownDescription": "An AWS key identifier that is used to encrypt the connection parameters for the endpoint.\n\nIf you don't specify a value for the `KmsKeyId` parameter, AWS DMS uses your default encryption key.\n\nAWS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Region .", + "title": "KmsKeyId", "type": "string" }, + "MicrosoftSqlServerSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings", + "markdownDescription": "Settings in JSON format for the source and target Microsoft SQL Server endpoint. For information about other available settings, see [Extra connection attributes when using SQL Server as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib) and [Extra connection attributes when using SQL Server as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "MicrosoftSqlServerSettings" + }, + "MongoDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings", + "markdownDescription": "Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see [Using MongoDB as a target for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration) in the *AWS Database Migration Service User Guide* .", + "title": "MongoDbSettings" + }, + "MySqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings", + "markdownDescription": "Settings in JSON format for the source and target MySQL endpoint. For information about other available settings, see [Extra connection attributes when using MySQL as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib) and [Extra connection attributes when using a MySQL-compatible database as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "MySqlSettings" + }, + "NeptuneSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings", + "markdownDescription": "Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see [Specifying endpoint settings for Amazon Neptune as a target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings) in the *AWS Database Migration Service User Guide* .", + "title": "NeptuneSettings" + }, + "OracleSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings", + "markdownDescription": "Settings in JSON format for the source and target Oracle endpoint. For information about other available settings, see [Extra connection attributes when using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib) and [Extra connection attributes when using Oracle as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "OracleSettings" + }, "Password": { - "markdownDescription": "Specifies the password of the user with the permissions to mount and access the files, folders, and file metadata in your FSx for Windows File Server file system.", + "markdownDescription": "The password to be used to log in to the endpoint database.", "title": "Password", "type": "string" }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the security groups that are used to configure the FSx for Windows File Server file system.\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`\n\n*Length constraints* : Maximum length of 128.", - "title": "SecurityGroupArns", - "type": "array" + "Port": { + "markdownDescription": "The port used by the endpoint database.", + "title": "Port", + "type": "number" }, - "Subdirectory": { - "markdownDescription": "Specifies a mount path for your file system using forward slashes. This is where DataSync reads or writes data (depending on if this is a source or destination location).", - "title": "Subdirectory", + "PostgreSqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings", + "markdownDescription": "Settings in JSON format for the source and target PostgreSQL endpoint.\n\nFor information about other available settings, 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) and [Extra connection attributes when using PostgreSQL as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "PostgreSqlSettings" + }, + "RedisSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.RedisSettings", + "markdownDescription": "Settings in JSON format for the target Redis endpoint. For information about other available settings, see [Specifying endpoint settings for Redis as a target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redis.html#CHAP_Target.Redis.EndpointSettings) in the *AWS Database Migration Service User Guide* .", + "title": "RedisSettings" + }, + "RedshiftSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings", + "markdownDescription": "Settings in JSON format for the Amazon Redshift endpoint.\n\nFor more information about other available settings, see [Extra connection attributes when using Amazon Redshift as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html#CHAP_Target.Redshift.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "RedshiftSettings" + }, + "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" + }, + "S3Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings", + "markdownDescription": "Settings in JSON format for the source and target Amazon S3 endpoint. For more information about other available settings, see [Extra connection attributes when using Amazon S3 as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.S3.html#CHAP_Source.S3.Configuring) and [Extra connection attributes when using Amazon S3 as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring) in the *AWS Database Migration Service User Guide* .", + "title": "S3Settings" + }, + "ServerName": { + "markdownDescription": "The name of the server where the endpoint database resides.", + "title": "ServerName", + "type": "string" + }, + "SslMode": { + "markdownDescription": "The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is `none` .\n\n> When `engine_name` is set to S3, the only allowed value is `none` .", + "title": "SslMode", "type": "string" }, + "SybaseSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings", + "markdownDescription": "Settings in JSON format for the source and target SAP ASE endpoint. For information about other available settings, see [Extra connection attributes when using SAP ASE as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib) and [Extra connection attributes when using SAP ASE as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "SybaseSettings" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", + "markdownDescription": "One or more tags to be assigned to the endpoint.", "title": "Tags", "type": "array" }, - "User": { - "markdownDescription": "The user who has the permissions to access files and folders in the FSx for Windows File Server file system.\n\nFor information about choosing a user name that ensures sufficient permissions to files, folders, and metadata, see [user](https://docs.aws.amazon.com/datasync/latest/userguide/create-fsx-location.html#FSxWuser) .", - "title": "User", + "Username": { + "markdownDescription": "The user name to be used to log in to the endpoint database.", + "title": "Username", "type": "string" } }, "required": [ - "SecurityGroupArns", - "User" + "EndpointType", + "EngineName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataSync::LocationFSxWindows" + "AWS::DMS::Endpoint" ], "type": "string" }, @@ -106317,559 +105325,1277 @@ ], "type": "object" }, - "AWS::DataSync::LocationFSxWindows.CmkSecretConfig": { + "AWS::DMS::Endpoint.DocDbSettings": { "additionalProperties": false, "properties": { - "KmsKeyArn": { + "DocsToInvestigate": { + "markdownDescription": "Indicates the number of documents to preview to determine the document organization. Use this setting when `NestingLevel` is set to `\"one\"` .\n\nMust be a positive value greater than `0` . Default value is `1000` .", + "title": "DocsToInvestigate", + "type": "number" + }, + "ExtractDocId": { + "markdownDescription": "Specifies the document ID. Use this setting when `NestingLevel` is set to `\"none\"` .\n\nDefault value is `\"false\"` .", + "title": "ExtractDocId", + "type": "boolean" + }, + "NestingLevel": { + "markdownDescription": "Specifies either document or table mode.\n\nDefault value is `\"none\"` . Specify `\"none\"` to use document mode. Specify `\"one\"` to use table mode.", + "title": "NestingLevel", "type": "string" }, - "SecretArn": { + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the DocumentDB endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the DocumentDB endpoint connection details.", + "title": "SecretsManagerSecretId", "type": "string" } }, "type": "object" }, - "AWS::DataSync::LocationFSxWindows.CustomSecretConfig": { + "AWS::DMS::Endpoint.DynamoDbSettings": { "additionalProperties": false, "properties": { - "SecretAccessRoleArn": { - "type": "string" - }, - "SecretArn": { + "ServiceAccessRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the `iam:PassRole` action.", + "title": "ServiceAccessRoleArn", "type": "string" } }, - "required": [ - "SecretAccessRoleArn", - "SecretArn" - ], "type": "object" }, - "AWS::DataSync::LocationFSxWindows.ManagedSecretConfig": { + "AWS::DMS::Endpoint.ElasticsearchSettings": { "additionalProperties": false, "properties": { - "SecretArn": { + "EndpointUri": { + "markdownDescription": "The endpoint for the OpenSearch cluster. AWS DMS uses HTTPS if a transport protocol (either HTTP or HTTPS) isn't specified.", + "title": "EndpointUri", + "type": "string" + }, + "ErrorRetryDuration": { + "markdownDescription": "The maximum number of seconds for which DMS retries failed API requests to the OpenSearch cluster.", + "title": "ErrorRetryDuration", + "type": "number" + }, + "FullLoadErrorPercentage": { + "markdownDescription": "The maximum percentage of records that can fail to be written before a full load operation stops.\n\nTo avoid early failure, this counter is only effective after 1,000 records are transferred. OpenSearch also has the concept of error monitoring during the last 10 minutes of an Observation Window. If transfer of all records fail in the last 10 minutes, the full load operation stops.", + "title": "FullLoadErrorPercentage", + "type": "number" + }, + "ServiceAccessRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the `iam:PassRole` action.", + "title": "ServiceAccessRoleArn", "type": "string" } }, - "required": [ - "SecretArn" - ], "type": "object" }, - "AWS::DataSync::LocationHDFS": { + "AWS::DMS::Endpoint.GcpMySQLSettings": { "additionalProperties": false, "properties": { - "Condition": { + "AfterConnectScript": { + "markdownDescription": "Specifies a script to run immediately after AWS DMS connects to the endpoint. The migration task continues running regardless if the SQL statement succeeds or fails.\n\nFor this parameter, provide the code of the script itself, not the name of a file containing the script.", + "title": "AfterConnectScript", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CleanSourceMetadataOnMismatch": { + "markdownDescription": "Adjusts the behavior of AWS DMS when migrating from an SQL Server source database that is hosted as part of an Always On availability group cluster. If you need AWS DMS to poll all the nodes in the Always On cluster for transaction backups, set this attribute to `false` .", + "title": "CleanSourceMetadataOnMismatch", + "type": "boolean" + }, + "DatabaseName": { + "markdownDescription": "Database name for the endpoint. For a MySQL source or target endpoint, don't explicitly specify the database using the `DatabaseName` request parameter on either the `CreateEndpoint` or `ModifyEndpoint` API call. Specifying `DatabaseName` when you create or modify a MySQL endpoint replicates all the task tables to this single database. For MySQL endpoints, you specify the database only when you specify the schema in the table-mapping rules of the AWS DMS task.", + "title": "DatabaseName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EventsPollInterval": { + "markdownDescription": "Specifies how often to check the binary log for new changes/events when the database is idle. The default is five seconds.\n\nExample: `eventsPollInterval=5;`\n\nIn the example, AWS DMS checks for changes in the binary logs every five seconds.", + "title": "EventsPollInterval", + "type": "number" }, - "Metadata": { - "type": "object" + "MaxFileSize": { + "markdownDescription": "Specifies the maximum size (in KB) of any .csv file used to transfer data to a MySQL-compatible database.\n\nExample: `maxFileSize=512`", + "title": "MaxFileSize", + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.", - "title": "AgentArns", - "type": "array" - }, - "AuthenticationType": { - "markdownDescription": "", - "title": "AuthenticationType", - "type": "string" - }, - "BlockSize": { - "markdownDescription": "The size of data blocks to write into the HDFS cluster. The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB).", - "title": "BlockSize", - "type": "number" - }, - "CmkSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationHDFS.CmkSecretConfig" - }, - "CustomSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationHDFS.CustomSecretConfig" - }, - "KerberosKeytab": { - "markdownDescription": "The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. Provide the base64-encoded file text. If `KERBEROS` is specified for `AuthType` , this value is required.", - "title": "KerberosKeytab", - "type": "string" - }, - "KerberosKrb5Conf": { - "markdownDescription": "The `krb5.conf` file that contains the Kerberos configuration information. You can load the `krb5.conf` by providing a string of the file's contents or an Amazon S3 presigned URL of the file. If `KERBEROS` is specified for `AuthType` , this value is required.", - "title": "KerberosKrb5Conf", - "type": "string" - }, - "KerberosPrincipal": { - "markdownDescription": "The Kerberos principal with access to the files and folders on the HDFS cluster.\n\n> If `KERBEROS` is specified for `AuthenticationType` , this parameter is required.", - "title": "KerberosPrincipal", - "type": "string" - }, - "KmsKeyProviderUri": { - "markdownDescription": "The URI of the HDFS cluster's Key Management Server (KMS).", - "title": "KmsKeyProviderUri", - "type": "string" - }, - "NameNodes": { - "items": { - "$ref": "#/definitions/AWS::DataSync::LocationHDFS.NameNode" - }, - "markdownDescription": "The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode.", - "title": "NameNodes", - "type": "array" - }, - "QopConfiguration": { - "$ref": "#/definitions/AWS::DataSync::LocationHDFS.QopConfiguration", - "markdownDescription": "The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the Hadoop Distributed File System (HDFS) cluster. If `QopConfiguration` isn't specified, `RpcProtection` and `DataTransferProtection` default to `PRIVACY` . If you set `RpcProtection` or `DataTransferProtection` , the other parameter assumes the same value.", - "title": "QopConfiguration" - }, - "ReplicationFactor": { - "markdownDescription": "The number of DataNodes to replicate the data to when writing to the HDFS cluster. By default, data is replicated to three DataNodes.", - "title": "ReplicationFactor", - "type": "number" - }, - "SimpleUser": { - "markdownDescription": "The user name used to identify the client on the host operating system.\n\n> If `SIMPLE` is specified for `AuthenticationType` , this parameter is required.", - "title": "SimpleUser", - "type": "string" - }, - "Subdirectory": { - "markdownDescription": "A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to `/` .", - "title": "Subdirectory", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The key-value pair that represents the tag that you want to add to the location. The value can be an empty string. We recommend using tags to name your resources.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "AgentArns", - "AuthenticationType", - "NameNodes" - ], - "type": "object" + "ParallelLoadThreads": { + "markdownDescription": "Improves performance when loading data into the MySQL-compatible target database. Specifies how many threads to use to load the data into the MySQL-compatible target database. Setting a large number of threads can have an adverse effect on database performance, because a separate connection is required for each thread. The default is one.\n\nExample: `parallelLoadThreads=1`", + "title": "ParallelLoadThreads", + "type": "number" }, - "Type": { - "enum": [ - "AWS::DataSync::LocationHDFS" - ], + "Password": { + "markdownDescription": "Endpoint connection password.", + "title": "Password", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Port": { + "markdownDescription": "The port used by the endpoint database.", + "title": "Port", + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret.` The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the MySQL endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MySQL endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "ServerName": { + "markdownDescription": "The MySQL host name.", + "title": "ServerName", + "type": "string" + }, + "ServerTimezone": { + "markdownDescription": "Specifies the time zone for the source MySQL database. Don't enclose time zones in single quotation marks.\n\nExample: `serverTimezone=US/Pacific;`", + "title": "ServerTimezone", + "type": "string" + }, + "Username": { + "markdownDescription": "Endpoint connection user name.", + "title": "Username", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::DataSync::LocationHDFS.CmkSecretConfig": { + "AWS::DMS::Endpoint.IbmDb2Settings": { "additionalProperties": false, "properties": { - "KmsKeyArn": { + "CurrentLsn": { + "markdownDescription": "For ongoing replication (CDC), use CurrentLSN to specify a log sequence number (LSN) where you want the replication to start.", + "title": "CurrentLsn", "type": "string" }, - "SecretArn": { + "KeepCsvFiles": { + "markdownDescription": "If true, AWS DMS saves any .csv files to the Db2 LUW target that were used to replicate data. DMS uses these files for analysis and troubleshooting.\n\nThe default value is false.", + "title": "KeepCsvFiles", + "type": "boolean" + }, + "LoadTimeout": { + "markdownDescription": "The amount of time (in milliseconds) before AWS DMS times out operations performed by DMS on the Db2 target. The default value is 1200 (20 minutes).", + "title": "LoadTimeout", + "type": "number" + }, + "MaxFileSize": { + "markdownDescription": "Specifies the maximum size (in KB) of .csv files used to transfer data to Db2 LUW.", + "title": "MaxFileSize", + "type": "number" + }, + "MaxKBytesPerRead": { + "markdownDescription": "Maximum number of bytes per read, as a NUMBER value. The default is 64 KB.", + "title": "MaxKBytesPerRead", + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value ofthe AWS Secrets Manager secret that allows access to the Db2 LUW endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the IBMDB2 endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "SetDataCaptureChanges": { + "markdownDescription": "Enables ongoing replication (CDC) as a BOOLEAN value. The default is true.", + "title": "SetDataCaptureChanges", + "type": "boolean" + }, + "WriteBufferSize": { + "markdownDescription": "The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk on the DMS replication instance. The default value is 1024 (1 MB).", + "title": "WriteBufferSize", + "type": "number" } }, "type": "object" }, - "AWS::DataSync::LocationHDFS.CustomSecretConfig": { + "AWS::DMS::Endpoint.KafkaSettings": { "additionalProperties": false, "properties": { - "SecretAccessRoleArn": { + "Broker": { + "markdownDescription": "A comma-separated list of one or more broker locations in your Kafka cluster that host your Kafka instance. Specify each broker location in the form `*broker-hostname-or-ip* : *port*` . For example, `\"ec2-12-345-678-901.compute-1.amazonaws.com:2345\"` . For more information and examples of specifying a list of broker locations, see [Using Apache Kafka as a target for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html) in the *AWS Database Migration Service User Guide* .", + "title": "Broker", "type": "string" }, - "SecretArn": { + "IncludeControlDetails": { + "markdownDescription": "Shows detailed control information for table definition, column definition, and table and column changes in the Kafka message output. The default is `false` .", + "title": "IncludeControlDetails", + "type": "boolean" + }, + "IncludeNullAndEmpty": { + "markdownDescription": "Include NULL and empty columns for records migrated to the endpoint. The default is `false` .", + "title": "IncludeNullAndEmpty", + "type": "boolean" + }, + "IncludePartitionValue": { + "markdownDescription": "Shows the partition value within the Kafka message output unless the partition type is `schema-table-type` . The default is `false` .", + "title": "IncludePartitionValue", + "type": "boolean" + }, + "IncludeTableAlterOperations": { + "markdownDescription": "Includes any data definition language (DDL) operations that change the table in the control data, such as `rename-table` , `drop-table` , `add-column` , `drop-column` , and `rename-column` . The default is `false` .", + "title": "IncludeTableAlterOperations", + "type": "boolean" + }, + "IncludeTransactionDetails": { + "markdownDescription": "Provides detailed transaction information from the source database. This information includes a commit timestamp, a log position, and values for `transaction_id` , previous `transaction_id` , and `transaction_record_id` (the record offset within a transaction). The default is `false` .", + "title": "IncludeTransactionDetails", + "type": "boolean" + }, + "MessageFormat": { + "markdownDescription": "The output format for the records created on the endpoint. The message format is `JSON` (default) or `JSON_UNFORMATTED` (a single line with no tab).", + "title": "MessageFormat", + "type": "string" + }, + "MessageMaxBytes": { + "markdownDescription": "The maximum size in bytes for records created on the endpoint The default is 1,000,000.", + "title": "MessageMaxBytes", + "type": "number" + }, + "NoHexPrefix": { + "markdownDescription": "Set this optional parameter to `true` to avoid adding a '0x' prefix to raw data in hexadecimal format. For example, by default, AWS DMS adds a '0x' prefix to the LOB column type in hexadecimal format moving from an Oracle source to a Kafka target. Use the `NoHexPrefix` endpoint setting to enable migration of RAW data type columns without adding the '0x' prefix.", + "title": "NoHexPrefix", + "type": "boolean" + }, + "PartitionIncludeSchemaTable": { + "markdownDescription": "Prefixes schema and table names to partition values, when the partition type is `primary-key-type` . Doing this increases data distribution among Kafka partitions. For example, suppose that a SysBench schema has thousands of tables and each table has only limited range for a primary key. In this case, the same primary key is sent from thousands of tables to the same partition, which causes throttling. The default is `false` .", + "title": "PartitionIncludeSchemaTable", + "type": "boolean" + }, + "SaslPassword": { + "markdownDescription": "The secure password that you created when you first set up your Amazon MSK cluster to validate a client identity and make an encrypted connection between server and client using SASL-SSL authentication.", + "title": "SaslPassword", + "type": "string" + }, + "SaslUserName": { + "markdownDescription": "The secure user name you created when you first set up your Amazon MSK cluster to validate a client identity and make an encrypted connection between server and client using SASL-SSL authentication.", + "title": "SaslUserName", + "type": "string" + }, + "SecurityProtocol": { + "markdownDescription": "Set secure connection to a Kafka target endpoint using Transport Layer Security (TLS). Options include `ssl-encryption` , `ssl-authentication` , and `sasl-ssl` . `sasl-ssl` requires `SaslUsername` and `SaslPassword` .", + "title": "SecurityProtocol", + "type": "string" + }, + "SslCaCertificateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the private certificate authority (CA) cert that AWS DMS uses to securely connect to your Kafka target endpoint.", + "title": "SslCaCertificateArn", + "type": "string" + }, + "SslClientCertificateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the client certificate used to securely connect to a Kafka target endpoint.", + "title": "SslClientCertificateArn", + "type": "string" + }, + "SslClientKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the client private key used to securely connect to a Kafka target endpoint.", + "title": "SslClientKeyArn", + "type": "string" + }, + "SslClientKeyPassword": { + "markdownDescription": "The password for the client private key used to securely connect to a Kafka target endpoint.", + "title": "SslClientKeyPassword", + "type": "string" + }, + "Topic": { + "markdownDescription": "The topic to which you migrate the data. If you don't specify a topic, AWS DMS specifies `\"kafka-default-topic\"` as the migration topic.", + "title": "Topic", "type": "string" } }, - "required": [ - "SecretAccessRoleArn", - "SecretArn" - ], "type": "object" }, - "AWS::DataSync::LocationHDFS.ManagedSecretConfig": { + "AWS::DMS::Endpoint.KinesisSettings": { "additionalProperties": false, "properties": { - "SecretArn": { + "IncludeControlDetails": { + "markdownDescription": "Shows detailed control information for table definition, column definition, and table and column changes in the Kinesis message output. The default is `false` .", + "title": "IncludeControlDetails", + "type": "boolean" + }, + "IncludeNullAndEmpty": { + "markdownDescription": "Include NULL and empty columns for records migrated to the endpoint. The default is `false` .", + "title": "IncludeNullAndEmpty", + "type": "boolean" + }, + "IncludePartitionValue": { + "markdownDescription": "Shows the partition value within the Kinesis message output, unless the partition type is `schema-table-type` . The default is `false` .", + "title": "IncludePartitionValue", + "type": "boolean" + }, + "IncludeTableAlterOperations": { + "markdownDescription": "Includes any data definition language (DDL) operations that change the table in the control data, such as `rename-table` , `drop-table` , `add-column` , `drop-column` , and `rename-column` . The default is `false` .", + "title": "IncludeTableAlterOperations", + "type": "boolean" + }, + "IncludeTransactionDetails": { + "markdownDescription": "Provides detailed transaction information from the source database. This information includes a commit timestamp, a log position, and values for `transaction_id` , previous `transaction_id` , and `transaction_record_id` (the record offset within a transaction). The default is `false` .", + "title": "IncludeTransactionDetails", + "type": "boolean" + }, + "MessageFormat": { + "markdownDescription": "The output format for the records created on the endpoint. The message format is `JSON` (default) or `JSON_UNFORMATTED` (a single line with no tab).", + "title": "MessageFormat", + "type": "string" + }, + "NoHexPrefix": { + "markdownDescription": "Set this optional parameter to `true` to avoid adding a '0x' prefix to raw data in hexadecimal format. For example, by default, AWS DMS adds a '0x' prefix to the LOB column type in hexadecimal format moving from an Oracle source to an Amazon Kinesis target. Use the `NoHexPrefix` endpoint setting to enable migration of RAW data type columns without adding the '0x' prefix.", + "title": "NoHexPrefix", + "type": "boolean" + }, + "PartitionIncludeSchemaTable": { + "markdownDescription": "Prefixes schema and table names to partition values, when the partition type is `primary-key-type` . Doing this increases data distribution among Kinesis shards. For example, suppose that a SysBench schema has thousands of tables and each table has only limited range for a primary key. In this case, the same primary key is sent from thousands of tables to the same shard, which causes throttling. The default is `false` .", + "title": "PartitionIncludeSchemaTable", + "type": "boolean" + }, + "ServiceAccessRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the IAM role that AWS DMS uses to write to the Kinesis data stream. The role must allow the `iam:PassRole` action.", + "title": "ServiceAccessRoleArn", + "type": "string" + }, + "StreamArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the Amazon Kinesis Data Streams endpoint.", + "title": "StreamArn", "type": "string" } }, - "required": [ - "SecretArn" - ], "type": "object" }, - "AWS::DataSync::LocationHDFS.NameNode": { + "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { "additionalProperties": false, "properties": { - "Hostname": { - "markdownDescription": "The hostname of the NameNode in the HDFS cluster. This value is the IP address or Domain Name Service (DNS) name of the NameNode. An agent that's installed on-premises uses this hostname to communicate with the NameNode in the network.", - "title": "Hostname", + "BcpPacketSize": { + "markdownDescription": "The maximum size of the packets (in bytes) used to transfer data using BCP.", + "title": "BcpPacketSize", + "type": "number" + }, + "ControlTablesFileGroup": { + "markdownDescription": "Specifies a file group for the AWS DMS internal tables. When the replication task starts, all the internal AWS DMS control tables (awsdms_ apply_exception, awsdms_apply, awsdms_changes) are created for the specified file group.", + "title": "ControlTablesFileGroup", + "type": "string" + }, + "DatabaseName": { + "markdownDescription": "Database name for the endpoint.", + "title": "DatabaseName", + "type": "string" + }, + "ForceLobLookup": { + "markdownDescription": "Forces LOB lookup on inline LOB.", + "title": "ForceLobLookup", + "type": "boolean" + }, + "Password": { + "markdownDescription": "Endpoint connection password.", + "title": "Password", "type": "string" }, "Port": { - "markdownDescription": "The port that the NameNode uses to listen to client requests.", + "markdownDescription": "Endpoint TCP port.", "title": "Port", "type": "number" - } - }, - "required": [ - "Hostname", - "Port" - ], - "type": "object" - }, - "AWS::DataSync::LocationHDFS.QopConfiguration": { - "additionalProperties": false, - "properties": { - "DataTransferProtection": { - "markdownDescription": "The data transfer protection setting configured on the HDFS cluster. This setting corresponds to your `dfs.data.transfer.protection` setting in the `hdfs-site.xml` file on your Hadoop cluster.", - "title": "DataTransferProtection", + }, + "QuerySingleAlwaysOnNode": { + "markdownDescription": "Cleans and recreates table metadata information on the replication instance when a mismatch occurs. An example is a situation where running an alter DDL statement on a table might result in different information about the table cached in the replication instance.", + "title": "QuerySingleAlwaysOnNode", + "type": "boolean" + }, + "ReadBackupOnly": { + "markdownDescription": "When this attribute is set to `Y` , AWS DMS only reads changes from transaction log backups and doesn't read from the active transaction log file during ongoing replication. Setting this parameter to `Y` enables you to control active transaction log file growth during full load and ongoing replication tasks. However, it can add some source latency to ongoing replication.", + "title": "ReadBackupOnly", + "type": "boolean" + }, + "SafeguardPolicy": { + "markdownDescription": "Use this attribute to minimize the need to access the backup log and enable AWS DMS to prevent truncation using one of the following two methods.\n\n*Start transactions in the database:* This is the default method. When this method is used, AWS DMS prevents TLOG truncation by mimicking a transaction in the database. As long as such a transaction is open, changes that appear after the transaction started aren't truncated. If you need Microsoft Replication to be enabled in your database, then you must choose this method.\n\n*Exclusively use sp_repldone within a single task* : When this method is used, AWS DMS reads the changes and then uses sp_repldone to mark the TLOG transactions as ready for truncation. Although this method doesn't involve any transactional activities, it can only be used when Microsoft Replication isn't running. Also, when using this method, only one AWS DMS task can access the database at any given time. Therefore, if you need to run parallel AWS DMS tasks against the same database, use the default method.", + "title": "SafeguardPolicy", "type": "string" }, - "RpcProtection": { - "markdownDescription": "The Remote Procedure Call (RPC) protection setting configured on the HDFS cluster. This setting corresponds to your `hadoop.rpc.protection` setting in your `core-site.xml` file on your Hadoop cluster.", - "title": "RpcProtection", + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the SQL Server endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MicrosoftSQLServer endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "ServerName": { + "markdownDescription": "Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.", + "title": "ServerName", + "type": "string" + }, + "TlogAccessMode": { + "markdownDescription": "Indicates the mode used to fetch CDC data.", + "title": "TlogAccessMode", + "type": "string" + }, + "TrimSpaceInChar": { + "markdownDescription": "Use the `TrimSpaceInChar` source endpoint setting to right-trim data on CHAR and NCHAR data types during migration. Setting `TrimSpaceInChar` does not left-trim data. The default value is `true` .", + "title": "TrimSpaceInChar", + "type": "boolean" + }, + "UseBcpFullLoad": { + "markdownDescription": "Use this to attribute to transfer data for full-load operations using BCP. When the target table contains an identity column that does not exist in the source table, you must disable the use BCP for loading table option.", + "title": "UseBcpFullLoad", + "type": "boolean" + }, + "UseThirdPartyBackupDevice": { + "markdownDescription": "When this attribute is set to `Y` , DMS processes third-party transaction log backups if they are created in native format.", + "title": "UseThirdPartyBackupDevice", + "type": "boolean" + }, + "Username": { + "markdownDescription": "Endpoint connection user name.", + "title": "Username", "type": "string" } }, "type": "object" }, - "AWS::DataSync::LocationNFS": { + "AWS::DMS::Endpoint.MongoDbSettings": { "additionalProperties": false, "properties": { - "Condition": { + "AuthMechanism": { + "markdownDescription": "The authentication mechanism you use to access the MongoDB source endpoint.\n\nFor the default value, in MongoDB version 2.x, `\"default\"` is `\"mongodb_cr\"` . For MongoDB version 3.x or later, `\"default\"` is `\"scram_sha_1\"` . This setting isn't used when `AuthType` is set to `\"no\"` .", + "title": "AuthMechanism", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AuthSource": { + "markdownDescription": "The MongoDB database name. This setting isn't used when `AuthType` is set to `\"no\"` .\n\nThe default is `\"admin\"` .", + "title": "AuthSource", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "AuthType": { + "markdownDescription": "The authentication type you use to access the MongoDB source endpoint.\n\nWhen set to `\"no\"` , user name and password parameters are not used and can be empty.", + "title": "AuthType", + "type": "string" }, - "Metadata": { - "type": "object" + "DatabaseName": { + "markdownDescription": "The database name on the MongoDB source endpoint.", + "title": "DatabaseName", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions", - "markdownDescription": "Specifies the options that DataSync can use to mount your NFS file server.", - "title": "MountOptions" - }, - "OnPremConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig", - "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect to your NFS file server.\n\nYou can specify more than one agent. For more information, see [Using multiple DataSync agents](https://docs.aws.amazon.com/datasync/latest/userguide/do-i-need-datasync-agent.html#multiple-agents) .", - "title": "OnPremConfig" - }, - "ServerHostname": { - "markdownDescription": "Specifies the DNS name or IP address (IPv4 or IPv6) of the NFS file server that your DataSync agent connects to.", - "title": "ServerHostname", - "type": "string" - }, - "Subdirectory": { - "markdownDescription": "Specifies the export path in your NFS file server that you want DataSync to mount.\n\nThis path (or a subdirectory of the path) is where DataSync transfers data to or from. For information on configuring an export for DataSync, see [Accessing NFS file servers](https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#accessing-nfs) .", - "title": "Subdirectory", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "OnPremConfig" - ], - "type": "object" + "DocsToInvestigate": { + "markdownDescription": "Indicates the number of documents to preview to determine the document organization. Use this setting when `NestingLevel` is set to `\"one\"` .\n\nMust be a positive value greater than `0` . Default value is `1000` .", + "title": "DocsToInvestigate", + "type": "string" }, - "Type": { - "enum": [ - "AWS::DataSync::LocationNFS" - ], + "ExtractDocId": { + "markdownDescription": "Specifies the document ID. Use this setting when `NestingLevel` is set to `\"none\"` .\n\nDefault value is `\"false\"` .", + "title": "ExtractDocId", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "NestingLevel": { + "markdownDescription": "Specifies either document or table mode.\n\nDefault value is `\"none\"` . Specify `\"none\"` to use document mode. Specify `\"one\"` to use table mode.", + "title": "NestingLevel", + "type": "string" + }, + "Password": { + "markdownDescription": "The password for the user account you use to access the MongoDB source endpoint.", + "title": "Password", + "type": "string" + }, + "Port": { + "markdownDescription": "The port value for the MongoDB source endpoint.", + "title": "Port", + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the MongoDB endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MongoDB endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "ServerName": { + "markdownDescription": "The name of the server on the MongoDB source endpoint.", + "title": "ServerName", + "type": "string" + }, + "Username": { + "markdownDescription": "The user name you use to access the MongoDB source endpoint.", + "title": "Username", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::DataSync::LocationNFS.MountOptions": { + "AWS::DMS::Endpoint.MySqlSettings": { "additionalProperties": false, "properties": { - "Version": { - "markdownDescription": "Specifies the NFS version that you want DataSync to use when mounting your NFS share. If the server refuses to use the version specified, the task fails.\n\nYou can specify the following options:\n\n- `AUTOMATIC` (default): DataSync chooses NFS version 4.1.\n- `NFS3` : Stateless protocol version that allows for asynchronous writes on the server.\n- `NFSv4_0` : Stateful, firewall-friendly protocol version that supports delegations and pseudo file systems.\n- `NFSv4_1` : Stateful protocol version that supports sessions, directory delegations, and parallel data processing. NFS version 4.1 also includes all features available in version 4.0.\n\n> DataSync currently only supports NFS version 3 with Amazon FSx for NetApp ONTAP locations.", - "title": "Version", + "AfterConnectScript": { + "markdownDescription": "Specifies a script to run immediately after AWS DMS connects to the endpoint. The migration task continues running regardless if the SQL statement succeeds or fails.\n\nFor this parameter, provide the code of the script itself, not the name of a file containing the script.", + "title": "AfterConnectScript", + "type": "string" + }, + "CleanSourceMetadataOnMismatch": { + "markdownDescription": "Cleans and recreates table metadata information on the replication instance when a mismatch occurs. For example, in a situation where running an alter DDL on the table could result in different information about the table cached in the replication instance.", + "title": "CleanSourceMetadataOnMismatch", + "type": "boolean" + }, + "EventsPollInterval": { + "markdownDescription": "Specifies how often to check the binary log for new changes/events when the database is idle. The default is five seconds.\n\nExample: `eventsPollInterval=5;`\n\nIn the example, AWS DMS checks for changes in the binary logs every five seconds.", + "title": "EventsPollInterval", + "type": "number" + }, + "MaxFileSize": { + "markdownDescription": "Specifies the maximum size (in KB) of any .csv file used to transfer data to a MySQL-compatible database.\n\nExample: `maxFileSize=512`", + "title": "MaxFileSize", + "type": "number" + }, + "ParallelLoadThreads": { + "markdownDescription": "Improves performance when loading data into the MySQL-compatible target database. Specifies how many threads to use to load the data into the MySQL-compatible target database. Setting a large number of threads can have an adverse effect on database performance, because a separate connection is required for each thread. The default is one.\n\nExample: `parallelLoadThreads=1`", + "title": "ParallelLoadThreads", + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the MySQL endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MySQL endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "ServerTimezone": { + "markdownDescription": "Specifies the time zone for the source MySQL database.\n\nExample: `serverTimezone=US/Pacific;`\n\nNote: Do not enclose time zones in single quotes.", + "title": "ServerTimezone", + "type": "string" + }, + "TargetDbType": { + "markdownDescription": "Specifies where to migrate source tables on the target, either to a single database or multiple databases. If you specify `SPECIFIC_DATABASE` , specify the database name using the `DatabaseName` parameter of the `Endpoint` object.\n\nExample: `targetDbType=MULTIPLE_DATABASES`", + "title": "TargetDbType", "type": "string" } }, "type": "object" }, - "AWS::DataSync::LocationNFS.OnPremConfig": { + "AWS::DMS::Endpoint.NeptuneSettings": { "additionalProperties": false, "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your NFS file server.\n\nYou can specify more than one agent. For more information, see [Using multiple DataSync agents](https://docs.aws.amazon.com/datasync/latest/userguide/do-i-need-datasync-agent.html#multiple-agents) .", - "title": "AgentArns", - "type": "array" + "ErrorRetryDuration": { + "markdownDescription": "The number of milliseconds for AWS DMS to wait to retry a bulk-load of migrated graph data to the Neptune target database before raising an error. The default is 250.", + "title": "ErrorRetryDuration", + "type": "number" + }, + "IamAuthEnabled": { + "markdownDescription": "If you want IAM authorization enabled for this endpoint, set this parameter to `true` . Then attach the appropriate IAM policy document to your service role specified by `ServiceAccessRoleArn` . The default is `false` .", + "title": "IamAuthEnabled", + "type": "boolean" + }, + "MaxFileSize": { + "markdownDescription": "The maximum size in kilobytes of migrated graph data stored in a .csv file before AWS DMS bulk-loads the data to the Neptune target database. The default is 1,048,576 KB. If the bulk load is successful, AWS DMS clears the bucket, ready to store the next batch of migrated graph data.", + "title": "MaxFileSize", + "type": "number" + }, + "MaxRetryCount": { + "markdownDescription": "The number of times for AWS DMS to retry a bulk load of migrated graph data to the Neptune target database before raising an error. The default is 5.", + "title": "MaxRetryCount", + "type": "number" + }, + "S3BucketFolder": { + "markdownDescription": "A folder path where you want AWS DMS to store migrated graph data in the S3 bucket specified by `S3BucketName`", + "title": "S3BucketFolder", + "type": "string" + }, + "S3BucketName": { + "markdownDescription": "The name of the Amazon S3 bucket where AWS DMS can temporarily store migrated graph data in .csv files before bulk-loading it to the Neptune target database. AWS DMS maps the SQL source data to graph data before storing it in these .csv files.", + "title": "S3BucketName", + "type": "string" + }, + "ServiceAccessRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the service role that you created for the Neptune target endpoint. The role must allow the `iam:PassRole` action.\n\nFor more information, see [Creating an IAM Service Role for Accessing Amazon Neptune as a Target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.ServiceRole) in the *AWS Database Migration Service User Guide* .", + "title": "ServiceAccessRoleArn", + "type": "string" } }, - "required": [ - "AgentArns" - ], "type": "object" }, - "AWS::DataSync::LocationObjectStorage": { + "AWS::DMS::Endpoint.OracleSettings": { "additionalProperties": false, "properties": { - "Condition": { + "AccessAlternateDirectly": { + "markdownDescription": "Set this attribute to `false` in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This tells the DMS instance to not access redo logs through any specified path prefix replacement using direct file access.", + "title": "AccessAlternateDirectly", + "type": "boolean" + }, + "AddSupplementalLogging": { + "markdownDescription": "Set this attribute to set up table-level supplemental logging for the Oracle database. This attribute enables PRIMARY KEY supplemental logging on all tables selected for a migration task.\n\nIf you use this option, you still need to enable database-level supplemental logging.", + "title": "AddSupplementalLogging", + "type": "boolean" + }, + "AdditionalArchivedLogDestId": { + "markdownDescription": "Set this attribute with `ArchivedLogDestId` in a primary/ standby setup. This attribute is useful in the case of a switchover. In this case, AWS DMS needs to know which destination to get archive redo logs from to read changes. This need arises because the previous primary instance is now a standby instance after switchover.\n\nAlthough AWS DMS supports the use of the Oracle `RESETLOGS` option to open the database, never use `RESETLOGS` unless necessary. For additional information about `RESETLOGS` , see [RMAN Data Repair Concepts](https://docs.aws.amazon.com/https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B) in the *Oracle Database Backup and Recovery User's Guide* .", + "title": "AdditionalArchivedLogDestId", + "type": "number" + }, + "AllowSelectNestedTables": { + "markdownDescription": "Set this attribute to `true` to enable replication of Oracle tables containing columns that are nested tables or defined types.", + "title": "AllowSelectNestedTables", + "type": "boolean" + }, + "ArchivedLogDestId": { + "markdownDescription": "Specifies the ID of the destination for the archived redo logs. This value should be the same as a number in the dest_id column of the v$archived_log view. If you work with an additional redo log destination, use the `AdditionalArchivedLogDestId` option to specify the additional destination ID. Doing this improves performance by ensuring that the correct logs are accessed from the outset.", + "title": "ArchivedLogDestId", + "type": "number" + }, + "ArchivedLogsOnly": { + "markdownDescription": "When this field is set to `True` , AWS DMS only accesses the archived redo logs. If the archived redo logs are stored on Automatic Storage Management (ASM) only, the AWS DMS user account needs to be granted ASM privileges.", + "title": "ArchivedLogsOnly", + "type": "boolean" + }, + "AsmPassword": { + "markdownDescription": "For an Oracle source endpoint, your Oracle Automatic Storage Management (ASM) password. You can set this value from the `*asm_user_password*` value. You set this value as part of the comma-separated value that you set to the `Password` request parameter when you create the endpoint to access transaction logs using Binary Reader. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", + "title": "AsmPassword", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AsmServer": { + "markdownDescription": "For an Oracle source endpoint, your ASM server address. You can set this value from the `asm_server` value. You set `asm_server` as part of the extra connection attribute string to access an Oracle server with Binary Reader that uses ASM. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", + "title": "AsmServer", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "AsmUser": { + "markdownDescription": "For an Oracle source endpoint, your ASM user name. You can set this value from the `asm_user` value. You set `asm_user` as part of the extra connection attribute string to access an Oracle server with Binary Reader that uses ASM. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", + "title": "AsmUser", + "type": "string" }, - "Metadata": { - "type": "object" + "CharLengthSemantics": { + "markdownDescription": "Specifies whether the length of a character column is in bytes or in characters. To indicate that the character column length is in characters, set this attribute to `CHAR` . Otherwise, the character column length is in bytes.\n\nExample: `charLengthSemantics=CHAR;`", + "title": "CharLengthSemantics", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessKey": { - "markdownDescription": "Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.", - "title": "AccessKey", - "type": "string" - }, - "AgentArns": { - "items": { - "type": "string" - }, - "markdownDescription": "(Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.\n\n> Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.", - "title": "AgentArns", - "type": "array" - }, - "BucketName": { - "markdownDescription": "Specifies the name of the object storage bucket involved in the transfer.", - "title": "BucketName", - "type": "string" - }, - "CmkSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.CmkSecretConfig", - "markdownDescription": "Specifies configuration information for a DataSync-managed secret, which includes the `SecretKey` that DataSync uses to access a specific object storage location, with a customer-managed AWS KMS key .\n\nWhen you include this parameter as part of a `CreateLocationObjectStorage` request, you provide only the KMS key ARN. DataSync uses this KMS key together with the value you specify for the `SecretKey` parameter to create a DataSync-managed secret to store the location access credentials.\n\nMake sure that DataSync has permission to access the KMS key that you specify.\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": "CmkSecretConfig" - }, - "CustomSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.CustomSecretConfig", - "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" - }, - "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", - "type": "string" - }, - "ServerCertificate": { - "markdownDescription": "Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA). You must specify a single `.pem` file with a full certificate chain (for example, `file:///home/user/.ssh/object_storage_certificates.pem` ).\n\nThe certificate chain might include:\n\n- The object storage system's certificate\n- All intermediate certificates (if there are any)\n- The root certificate of the signing CA\n\nYou can concatenate your certificates into a `.pem` file (which can be up to 32768 bytes before base64 encoding). The following example `cat` command creates an `object_storage_certificates.pem` file that includes three certificates:\n\n`cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem`\n\nTo use this parameter, configure `ServerProtocol` to `HTTPS` .", - "title": "ServerCertificate", - "type": "string" - }, - "ServerHostname": { - "markdownDescription": "Specifies the domain name or IP address (IPv4 or IPv6) of the object storage server that your DataSync agent connects to.", - "title": "ServerHostname", - "type": "string" - }, - "ServerPort": { - "markdownDescription": "Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).", - "title": "ServerPort", - "type": "number" - }, - "ServerProtocol": { - "markdownDescription": "Specifies the protocol that your object storage server uses to communicate. If not specified, the default value is `HTTPS` .", - "title": "ServerProtocol", - "type": "string" - }, - "Subdirectory": { - "markdownDescription": "Specifies the object prefix for your object storage server. If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix.", - "title": "Subdirectory", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies the key-value pair that represents a tag that you want to add to the resource. Tags can help you manage, filter, and search for your resources. We recommend creating a name tag for your location.", - "title": "Tags", - "type": "array" - } + "DirectPathNoLog": { + "markdownDescription": "When set to `true` , this attribute helps to increase the commit rate on the Oracle target database by writing directly to tables and not writing a trail to database logs.", + "title": "DirectPathNoLog", + "type": "boolean" + }, + "DirectPathParallelLoad": { + "markdownDescription": "When set to `true` , this attribute specifies a parallel load when `useDirectPathFullLoad` is set to `Y` . This attribute also only applies when you use the AWS DMS parallel load feature. Note that the target table cannot have any constraints or indexes.", + "title": "DirectPathParallelLoad", + "type": "boolean" + }, + "EnableHomogenousTablespace": { + "markdownDescription": "Set this attribute to enable homogenous tablespace replication and create existing tables or indexes under the same tablespace on the target.", + "title": "EnableHomogenousTablespace", + "type": "boolean" + }, + "ExtraArchivedLogDestIds": { + "items": { + "type": "number" }, - "type": "object" + "markdownDescription": "Specifies the IDs of one more destinations for one or more archived redo logs. These IDs are the values of the `dest_id` column in the `v$archived_log` view. Use this setting with the `archivedLogDestId` extra connection attribute in a primary-to-single setup or a primary-to-multiple-standby setup.\n\nThis setting is useful in a switchover when you use an Oracle Data Guard database as a source. In this case, AWS DMS needs information about what destination to get archive redo logs from to read changes. AWS DMS needs this because after the switchover the previous primary is a standby instance. For example, in a primary-to-single standby setup you might apply the following settings.\n\n`archivedLogDestId=1; ExtraArchivedLogDestIds=[2]`\n\nIn a primary-to-multiple-standby setup, you might apply the following settings.\n\n`archivedLogDestId=1; ExtraArchivedLogDestIds=[2,3,4]`\n\nAlthough AWS DMS supports the use of the Oracle `RESETLOGS` option to open the database, never use `RESETLOGS` unless it's necessary. For more information about `RESETLOGS` , see [RMAN Data Repair Concepts](https://docs.aws.amazon.com/https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B) in the *Oracle Database Backup and Recovery User's Guide* .", + "title": "ExtraArchivedLogDestIds", + "type": "array" }, - "Type": { - "enum": [ - "AWS::DataSync::LocationObjectStorage" - ], + "FailTasksOnLobTruncation": { + "markdownDescription": "When set to `true` , this attribute causes a task to fail if the actual size of an LOB column is greater than the specified `LobMaxSize` .\n\nIf a task is set to limited LOB mode and this option is set to `true` , the task fails instead of truncating the LOB data.", + "title": "FailTasksOnLobTruncation", + "type": "boolean" + }, + "NumberDatatypeScale": { + "markdownDescription": "Specifies the number scale. You can select a scale up to 38, or you can select FLOAT. By default, the NUMBER data type is converted to precision 38, scale 10.\n\nExample: `numberDataTypeScale=12`", + "title": "NumberDatatypeScale", + "type": "number" + }, + "OraclePathPrefix": { + "markdownDescription": "Set this string attribute to the required value in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This value specifies the default Oracle root used to access the redo logs.", + "title": "OraclePathPrefix", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ParallelAsmReadThreads": { + "markdownDescription": "Set this attribute to change the number of threads that DMS configures to perform a change data capture (CDC) load using Oracle Automatic Storage Management (ASM). You can specify an integer value between 2 (the default) and 8 (the maximum). Use this attribute together with the `readAheadBlocks` attribute.", + "title": "ParallelAsmReadThreads", + "type": "number" + }, + "ReadAheadBlocks": { + "markdownDescription": "Set this attribute to change the number of read-ahead blocks that DMS configures to perform a change data capture (CDC) load using Oracle Automatic Storage Management (ASM). You can specify an integer value between 1000 (the default) and 200,000 (the maximum).", + "title": "ReadAheadBlocks", + "type": "number" + }, + "ReadTableSpaceName": { + "markdownDescription": "When set to `true` , this attribute supports tablespace replication.", + "title": "ReadTableSpaceName", + "type": "boolean" + }, + "ReplacePathPrefix": { + "markdownDescription": "Set this attribute to true in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This setting tells DMS instance to replace the default Oracle root with the specified `usePathPrefix` setting to access the redo logs.", + "title": "ReplacePathPrefix", + "type": "boolean" + }, + "RetryInterval": { + "markdownDescription": "Specifies the number of seconds that the system waits before resending a query.\n\nExample: `retryInterval=6;`", + "title": "RetryInterval", + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the Oracle endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerOracleAsmAccessRoleArn": { + "markdownDescription": "Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). The full ARN of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the `SecretsManagerOracleAsmSecret` . This `SecretsManagerOracleAsmSecret` has the secret value that allows access to the Oracle ASM of the endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerOracleAsmSecretId` . Or you can specify clear-text values for `AsmUser` , `AsmPassword` , and `AsmServerName` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerOracleAsmSecret` , the corresponding `SecretsManagerOracleAsmAccessRoleArn` , and the `SecretsManagerOracleAsmSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerOracleAsmAccessRoleArn", + "type": "string" + }, + "SecretsManagerOracleAsmSecretId": { + "markdownDescription": "Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). The full ARN, partial ARN, or display name of the `SecretsManagerOracleAsmSecret` that contains the Oracle ASM connection details for the Oracle endpoint.", + "title": "SecretsManagerOracleAsmSecretId", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the Oracle endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "SecurityDbEncryption": { + "markdownDescription": "For an Oracle source endpoint, the transparent data encryption (TDE) password required by AWM DMS to access Oracle redo logs encrypted by TDE using Binary Reader. It is also the `*TDE_Password*` part of the comma-separated value you set to the `Password` request parameter when you create the endpoint. The `SecurityDbEncryptian` setting is related to this `SecurityDbEncryptionName` setting. For more information, see [Supported encryption methods for using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption) in the *AWS Database Migration Service User Guide* .", + "title": "SecurityDbEncryption", + "type": "string" + }, + "SecurityDbEncryptionName": { + "markdownDescription": "For an Oracle source endpoint, the name of a key used for the transparent data encryption (TDE) of the columns and tablespaces in an Oracle source database that is encrypted using TDE. The key value is the value of the `SecurityDbEncryption` setting. For more information on setting the key name value of `SecurityDbEncryptionName` , see the information and example for setting the `securityDbEncryptionName` extra connection attribute in [Supported encryption methods for using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption) in the *AWS Database Migration Service User Guide* .", + "title": "SecurityDbEncryptionName", + "type": "string" + }, + "SpatialDataOptionToGeoJsonFunctionName": { + "markdownDescription": "Use this attribute to convert `SDO_GEOMETRY` to `GEOJSON` format. By default, DMS calls the `SDO2GEOJSON` custom function if present and accessible. Or you can create your own custom function that mimics the operation of `SDOGEOJSON` and set `SpatialDataOptionToGeoJsonFunctionName` to call it instead.", + "title": "SpatialDataOptionToGeoJsonFunctionName", + "type": "string" + }, + "StandbyDelayTime": { + "markdownDescription": "Use this attribute to specify a time in minutes for the delay in standby sync. If the source is an Oracle Active Data Guard standby database, use this attribute to specify the time lag between primary and standby databases.\n\nIn AWS DMS , you can create an Oracle CDC task that uses an Active Data Guard standby instance as a source for replicating ongoing changes. Doing this eliminates the need to connect to an active database that might be in production.", + "title": "StandbyDelayTime", + "type": "number" + }, + "UseAlternateFolderForOnline": { + "markdownDescription": "Set this attribute to `true` in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This tells the DMS instance to use any specified prefix replacement to access all online redo logs.", + "title": "UseAlternateFolderForOnline", + "type": "boolean" + }, + "UseBFile": { + "markdownDescription": "Set this attribute to True to capture change data using the Binary Reader utility. Set `UseLogminerReader` to False to set this attribute to True. To use Binary Reader with Amazon RDS for Oracle as the source, you set additional attributes. For more information about using this setting with Oracle Automatic Storage Management (ASM), see [Using Oracle LogMiner or AWS DMS Binary Reader for CDC](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC) .", + "title": "UseBFile", + "type": "boolean" + }, + "UseDirectPathFullLoad": { + "markdownDescription": "Set this attribute to True to have AWS DMS use a direct path full load. Specify this value to use the direct path protocol in the Oracle Call Interface (OCI). By using this OCI protocol, you can bulk-load Oracle target tables during a full load.", + "title": "UseDirectPathFullLoad", + "type": "boolean" + }, + "UseLogminerReader": { + "markdownDescription": "Set this attribute to True to capture change data using the Oracle LogMiner utility (the default). Set this attribute to False if you want to access the redo logs as a binary file. When you set `UseLogminerReader` to False, also set `UseBfile` to True. For more information on this setting and using Oracle ASM, see [Using Oracle LogMiner or AWS DMS Binary Reader for CDC](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC) in the *AWS DMS User Guide* .", + "title": "UseLogminerReader", + "type": "boolean" + }, + "UsePathPrefix": { + "markdownDescription": "Set this string attribute to the required value in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This value specifies the path prefix used to replace the default Oracle root to access the redo logs.", + "title": "UsePathPrefix", "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::DataSync::LocationObjectStorage.CmkSecretConfig": { + "AWS::DMS::Endpoint.PostgreSqlSettings": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "markdownDescription": "Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for `SecretArn` . DataSync provides this key to AWS Secrets Manager .", - "title": "KmsKeyArn", + "AfterConnectScript": { + "markdownDescription": "For use with change data capture (CDC) only, this attribute has AWS DMS bypass foreign keys and user triggers to reduce the time it takes to bulk load data.\n\nExample: `afterConnectScript=SET session_replication_role='replica'`", + "title": "AfterConnectScript", "type": "string" }, - "SecretArn": { - "markdownDescription": "Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for `KmsKeyArn` .", - "title": "SecretArn", + "BabelfishDatabaseName": { + "markdownDescription": "The Babelfish for Aurora PostgreSQL database name for the endpoint.", + "title": "BabelfishDatabaseName", + "type": "string" + }, + "CaptureDdls": { + "markdownDescription": "To capture DDL events, AWS DMS creates various artifacts in the PostgreSQL database when the task starts. You can later remove these artifacts.\n\nIf this value is set to `True` , you don't have to create tables or triggers on the source database.", + "title": "CaptureDdls", + "type": "boolean" + }, + "DatabaseMode": { + "markdownDescription": "Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require some additional configuration, such as Babelfish endpoints.", + "title": "DatabaseMode", + "type": "string" + }, + "DdlArtifactsSchema": { + "markdownDescription": "The schema in which the operational DDL database artifacts are created.\n\nThe default value is `public` .\n\nExample: `ddlArtifactsSchema=xyzddlschema;`", + "title": "DdlArtifactsSchema", + "type": "string" + }, + "ExecuteTimeout": { + "markdownDescription": "Sets the client statement timeout for the PostgreSQL instance, in seconds. The default value is 60 seconds.\n\nExample: `executeTimeout=100;`", + "title": "ExecuteTimeout", + "type": "number" + }, + "FailTasksOnLobTruncation": { + "markdownDescription": "When set to `true` , this value causes a task to fail if the actual size of a LOB column is greater than the specified `LobMaxSize` .\n\nThe default value is `false` .\n\nIf task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating the LOB data.", + "title": "FailTasksOnLobTruncation", + "type": "boolean" + }, + "HeartbeatEnable": { + "markdownDescription": "The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle logical replication slots from holding onto old WAL logs, which can result in storage full situations on the source. This heartbeat keeps `restart_lsn` moving and prevents storage full scenarios.\n\nThe default value is `false` .", + "title": "HeartbeatEnable", + "type": "boolean" + }, + "HeartbeatFrequency": { + "markdownDescription": "Sets the WAL heartbeat frequency (in minutes).\n\nThe default value is 5 minutes.", + "title": "HeartbeatFrequency", + "type": "number" + }, + "HeartbeatSchema": { + "markdownDescription": "Sets the schema in which the heartbeat artifacts are created.\n\nThe default value is `public` .", + "title": "HeartbeatSchema", + "type": "string" + }, + "MapBooleanAsBoolean": { + "markdownDescription": "When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as `varchar(5)` . You must set this setting on both the source and target endpoints for it to take effect.\n\nThe default value is `false` .", + "title": "MapBooleanAsBoolean", + "type": "boolean" + }, + "MaxFileSize": { + "markdownDescription": "Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL.\n\nThe default value is 32,768 KB (32 MB).\n\nExample: `maxFileSize=512`", + "title": "MaxFileSize", + "type": "number" + }, + "PluginName": { + "markdownDescription": "Specifies the plugin to use to create a replication slot.\n\nThe default value is `pglogical` .", + "title": "PluginName", + "type": "string" + }, + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the PostgreSQL endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the PostgreSQL endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "SlotName": { + "markdownDescription": "Sets the name of a previously created logical replication slot for a change data capture (CDC) load of the PostgreSQL source instance.\n\nWhen used with the `CdcStartPosition` request parameter for the AWS DMS API , this attribute also makes it possible to use native CDC start points. DMS verifies that the specified logical replication slot exists before starting the CDC load task. It also verifies that the task was created with a valid setting of `CdcStartPosition` . If the specified slot doesn't exist or the task doesn't have a valid `CdcStartPosition` setting, DMS raises an error.\n\nFor more information about setting the `CdcStartPosition` request parameter, see [Determining a CDC native start point](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native) in the *AWS Database Migration Service User Guide* . For more information about using `CdcStartPosition` , see [CreateReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html) , [StartReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html) , and [ModifyReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyReplicationTask.html) .", + "title": "SlotName", "type": "string" } }, "type": "object" }, - "AWS::DataSync::LocationObjectStorage.CustomSecretConfig": { + "AWS::DMS::Endpoint.RedisSettings": { "additionalProperties": false, "properties": { - "SecretAccessRoleArn": { - "markdownDescription": "Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` .", - "title": "SecretAccessRoleArn", + "AuthPassword": { + "markdownDescription": "The password provided with the `auth-role` and `auth-token` options of the `AuthType` setting for a Redis target endpoint.", + "title": "AuthPassword", "type": "string" }, - "SecretArn": { - "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", - "title": "SecretArn", + "AuthType": { + "markdownDescription": "The type of authentication to perform when connecting to a Redis target. Options include `none` , `auth-token` , and `auth-role` . The `auth-token` option requires an `AuthPassword` value to be provided. The `auth-role` option requires `AuthUserName` and `AuthPassword` values to be provided.", + "title": "AuthType", + "type": "string" + }, + "AuthUserName": { + "markdownDescription": "The user name provided with the `auth-role` option of the `AuthType` setting for a Redis target endpoint.", + "title": "AuthUserName", + "type": "string" + }, + "Port": { + "markdownDescription": "Transmission Control Protocol (TCP) port for the endpoint.", + "title": "Port", + "type": "number" + }, + "ServerName": { + "markdownDescription": "Fully qualified domain name of the endpoint.", + "title": "ServerName", + "type": "string" + }, + "SslCaCertificateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the certificate authority (CA) that DMS uses to connect to your Redis target endpoint.", + "title": "SslCaCertificateArn", + "type": "string" + }, + "SslSecurityProtocol": { + "markdownDescription": "The connection to a Redis target endpoint using Transport Layer Security (TLS). Valid values include `plaintext` and `ssl-encryption` . The default is `ssl-encryption` . The `ssl-encryption` option makes an encrypted connection. Optionally, you can identify an Amazon Resource Name (ARN) for an SSL certificate authority (CA) using the `SslCaCertificateArn` setting. If an ARN isn't given for a CA, DMS uses the Amazon root CA.\n\nThe `plaintext` option doesn't provide Transport Layer Security (TLS) encryption for traffic between endpoint and database.", + "title": "SslSecurityProtocol", "type": "string" } }, - "required": [ - "SecretAccessRoleArn", - "SecretArn" - ], "type": "object" }, - "AWS::DataSync::LocationObjectStorage.ManagedSecretConfig": { + "AWS::DMS::Endpoint.RedshiftSettings": { "additionalProperties": false, "properties": { - "SecretArn": { - "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", - "title": "SecretArn", + "AcceptAnyDate": { + "markdownDescription": "A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to be loaded without generating an error. You can choose `true` or `false` (the default).\n\nThis parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift inserts a NULL value into that field.", + "title": "AcceptAnyDate", + "type": "boolean" + }, + "AfterConnectScript": { + "markdownDescription": "Code to run after connecting. This parameter should contain the code itself, not the name of a file containing the code.", + "title": "AfterConnectScript", + "type": "string" + }, + "BucketFolder": { + "markdownDescription": "An S3 folder where the comma-separated-value (.csv) files are stored before being uploaded to the target Redshift cluster.\n\nFor full load mode, AWS DMS converts source records into .csv files and loads them to the *BucketFolder/TableID* path. AWS DMS uses the Redshift `COPY` command to upload the .csv files to the target table. The files are deleted once the `COPY` operation has finished. For more information, see [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) in the *Amazon Redshift Database Developer Guide* .\n\nFor change-data-capture (CDC) mode, AWS DMS creates a *NetChanges* table, and loads the .csv files to this *BucketFolder/NetChangesTableID* path.", + "title": "BucketFolder", + "type": "string" + }, + "BucketName": { + "markdownDescription": "The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift.", + "title": "BucketName", + "type": "string" + }, + "CaseSensitiveNames": { + "markdownDescription": "If Amazon Redshift is configured to support case sensitive schema names, set `CaseSensitiveNames` to `true` . The default is `false` .", + "title": "CaseSensitiveNames", + "type": "boolean" + }, + "CompUpdate": { + "markdownDescription": "If you set `CompUpdate` to `true` Amazon Redshift applies automatic compression if the table is empty. This applies even if the table columns already have encodings other than `RAW` . If you set `CompUpdate` to `false` , automatic compression is disabled and existing column encodings aren't changed. The default is `true` .", + "title": "CompUpdate", + "type": "boolean" + }, + "ConnectionTimeout": { + "markdownDescription": "A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you initially establish a connection.", + "title": "ConnectionTimeout", + "type": "number" + }, + "DateFormat": { + "markdownDescription": "The date format that you are using. Valid values are `auto` (case-sensitive), your date format string enclosed in quotes, or NULL. If this parameter is left unset (NULL), it defaults to a format of 'YYYY-MM-DD'. Using `auto` recognizes most strings, even some that aren't supported when you use a date format string.\n\nIf your date and time values use formats different from each other, set this to `auto` .", + "title": "DateFormat", + "type": "string" + }, + "EmptyAsNull": { + "markdownDescription": "A value that specifies whether AWS DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of `true` sets empty CHAR and VARCHAR fields to null. The default is `false` .", + "title": "EmptyAsNull", + "type": "boolean" + }, + "EncryptionMode": { + "markdownDescription": "The type of server-side encryption that you want to use for your data. This encryption type is part of the endpoint settings or the extra connections attributes for Amazon S3. You can choose either `SSE_S3` (the default) or `SSE_KMS` .\n\n> For the `ModifyEndpoint` operation, you can change the existing value of the `EncryptionMode` parameter from `SSE_KMS` to `SSE_S3` . But you can\u2019t change the existing value from `SSE_S3` to `SSE_KMS` . \n\nTo use `SSE_S3` , create an AWS Identity and Access Management (IAM) role with a policy that allows `\"arn:aws:s3:::*\"` to use the following actions: `\"s3:PutObject\", \"s3:ListBucket\"`", + "title": "EncryptionMode", + "type": "string" + }, + "ExplicitIds": { + "markdownDescription": "This setting is only valid for a full-load migration task. Set `ExplicitIds` to `true` to have tables with `IDENTITY` columns override their auto-generated values with explicit values loaded from the source data files used to populate the tables. The default is `false` .", + "title": "ExplicitIds", + "type": "boolean" + }, + "FileTransferUploadStreams": { + "markdownDescription": "The number of threads used to upload a single file. This parameter accepts a value from 1 through 64. It defaults to 10.\n\nThe number of parallel streams used to upload a single .csv file to an S3 bucket using S3 Multipart Upload. For more information, see [Multipart upload overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html) .\n\n`FileTransferUploadStreams` accepts a value from 1 through 64. It defaults to 10.", + "title": "FileTransferUploadStreams", + "type": "number" + }, + "LoadTimeout": { + "markdownDescription": "The amount of time to wait (in milliseconds) before timing out of operations performed by AWS DMS on a Redshift cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE.", + "title": "LoadTimeout", + "type": "number" + }, + "MapBooleanAsBoolean": { + "markdownDescription": "When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as `varchar(1)` . You must set this setting on both the source and target endpoints for it to take effect.", + "title": "MapBooleanAsBoolean", + "type": "boolean" + }, + "MaxFileSize": { + "markdownDescription": "The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer data to Amazon Redshift. It defaults to 1048576KB (1 GB).", + "title": "MaxFileSize", + "type": "number" + }, + "RemoveQuotes": { + "markdownDescription": "A value that specifies to remove surrounding quotation marks from strings in the incoming data. All characters within the quotation marks, including delimiters, are retained. Choose `true` to remove quotation marks. The default is `false` .", + "title": "RemoveQuotes", + "type": "boolean" + }, + "ReplaceChars": { + "markdownDescription": "A value that specifies to replaces the invalid characters specified in `ReplaceInvalidChars` , substituting the specified characters instead. The default is `\"?\"` .", + "title": "ReplaceChars", + "type": "string" + }, + "ReplaceInvalidChars": { + "markdownDescription": "A list of characters that you want to replace. Use with `ReplaceChars` .", + "title": "ReplaceInvalidChars", + "type": "string" + }, + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the Amazon Redshift endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the Amazon Redshift endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "ServerSideEncryptionKmsKeyId": { + "markdownDescription": "The AWS key ID. If you are using `SSE_KMS` for the `EncryptionMode` , provide this key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of the key.", + "title": "ServerSideEncryptionKmsKeyId", + "type": "string" + }, + "ServiceAccessRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service. The role must allow the `iam:PassRole` action.", + "title": "ServiceAccessRoleArn", + "type": "string" + }, + "TimeFormat": { + "markdownDescription": "The time format that you want to use. Valid values are `auto` (case-sensitive), `'timeformat_string'` , `'epochsecs'` , or `'epochmillisecs'` . It defaults to 10. Using `auto` recognizes most strings, even some that aren't supported when you use a time format string.\n\nIf your date and time values use formats different from each other, set this parameter to `auto` .", + "title": "TimeFormat", "type": "string" + }, + "TrimBlanks": { + "markdownDescription": "A value that specifies to remove the trailing white space characters from a VARCHAR string. This parameter applies only to columns with a VARCHAR data type. Choose `true` to remove unneeded white space. The default is `false` .", + "title": "TrimBlanks", + "type": "boolean" + }, + "TruncateColumns": { + "markdownDescription": "A value that specifies to truncate data in columns to the appropriate number of characters, so that the data fits in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and rows with a size of 4 MB or less. Choose `true` to truncate data. The default is `false` .", + "title": "TruncateColumns", + "type": "boolean" + }, + "WriteBufferSize": { + "markdownDescription": "The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk at the DMS replication instance. The default value is 1000 (buffer size is 1000KB).", + "title": "WriteBufferSize", + "type": "number" } }, - "required": [ - "SecretArn" - ], "type": "object" }, - "AWS::DataSync::LocationS3": { + "AWS::DMS::Endpoint.S3Settings": { + "additionalProperties": false, + "properties": { + "AddColumnName": { + "markdownDescription": "An optional parameter that, when set to `true` or `y` , you can use to add column name information to the .csv output file.\n\nThe default value is `false` . Valid values are `true` , `false` , `y` , and `n` .", + "title": "AddColumnName", + "type": "boolean" + }, + "AddTrailingPaddingCharacter": { + "markdownDescription": "Use the S3 target endpoint setting `AddTrailingPaddingCharacter` to add padding on string data. The default value is `false` .", + "title": "AddTrailingPaddingCharacter", + "type": "boolean" + }, + "BucketFolder": { + "markdownDescription": "An optional parameter to set a folder name in the S3 bucket. If provided, tables are created in the path `*bucketFolder* / *schema_name* / *table_name* /` . If this parameter isn't specified, the path used is `*schema_name* / *table_name* /` .", + "title": "BucketFolder", + "type": "string" + }, + "BucketName": { + "markdownDescription": "The name of the S3 bucket.", + "title": "BucketName", + "type": "string" + }, + "CannedAclForObjects": { + "markdownDescription": "A value that enables AWS DMS to specify a predefined (canned) access control list (ACL) for objects created in an Amazon S3 bucket as .csv or .parquet files. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 Developer Guide* .\n\nThe default value is NONE. Valid values include NONE, PRIVATE, PUBLIC_READ, PUBLIC_READ_WRITE, AUTHENTICATED_READ, AWS_EXEC_READ, BUCKET_OWNER_READ, and BUCKET_OWNER_FULL_CONTROL.", + "title": "CannedAclForObjects", + "type": "string" + }, + "CdcInsertsAndUpdates": { + "markdownDescription": "A value that enables a change data capture (CDC) load to write INSERT and UPDATE operations to .csv or .parquet (columnar storage) output files. The default setting is `false` , but when `CdcInsertsAndUpdates` is set to `true` or `y` , only INSERTs and UPDATEs from the source database are migrated to the .csv or .parquet file.\n\nFor .csv file format only, how these INSERTs and UPDATEs are recorded depends on the value of the `IncludeOpForFullLoad` parameter. If `IncludeOpForFullLoad` is set to `true` , the first field of every CDC record is set to either `I` or `U` to indicate INSERT and UPDATE operations at the source. But if `IncludeOpForFullLoad` is set to `false` , CDC records are written without an indication of INSERT or UPDATE operations at the source. For more information about how these settings work together, see [Indicating Source DB Operations in Migrated S3 Data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps) in the *AWS Database Migration Service User Guide* .\n\n> AWS DMS supports the use of the `CdcInsertsAndUpdates` parameter in versions 3.3.1 and later.\n> \n> `CdcInsertsOnly` and `CdcInsertsAndUpdates` can't both be set to `true` for the same endpoint. Set either `CdcInsertsOnly` or `CdcInsertsAndUpdates` to `true` for the same endpoint, but not both.", + "title": "CdcInsertsAndUpdates", + "type": "boolean" + }, + "CdcInsertsOnly": { + "markdownDescription": "A value that enables a change data capture (CDC) load to write only INSERT operations to .csv or columnar storage (.parquet) output files. By default (the `false` setting), the first field in a .csv or .parquet record contains the letter I (INSERT), U (UPDATE), or D (DELETE). These values indicate whether the row was inserted, updated, or deleted at the source database for a CDC load to the target.\n\nIf `CdcInsertsOnly` is set to `true` or `y` , only INSERTs from the source database are migrated to the .csv or .parquet file. For .csv format only, how these INSERTs are recorded depends on the value of `IncludeOpForFullLoad` . If `IncludeOpForFullLoad` is set to `true` , the first field of every CDC record is set to I to indicate the INSERT operation at the source. If `IncludeOpForFullLoad` is set to `false` , every CDC record is written without a first field to indicate the INSERT operation at the source. For more information about how these settings work together, see [Indicating Source DB Operations in Migrated S3 Data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps) in the *AWS Database Migration Service User Guide* .\n\n> AWS DMS supports the interaction described preceding between the `CdcInsertsOnly` and `IncludeOpForFullLoad` parameters in versions 3.1.4 and later.\n> \n> `CdcInsertsOnly` and `CdcInsertsAndUpdates` can't both be set to `true` for the same endpoint. Set either `CdcInsertsOnly` or `CdcInsertsAndUpdates` to `true` for the same endpoint, but not both.", + "title": "CdcInsertsOnly", + "type": "boolean" + }, + "CdcMaxBatchInterval": { + "markdownDescription": "Maximum length of the interval, defined in seconds, after which to output a file to Amazon S3.\n\nWhen `CdcMaxBatchInterval` and `CdcMinFileSize` are both specified, the file write is triggered by whichever parameter condition is met first within an AWS DMS CloudFormation template.\n\nThe default value is 60 seconds.", + "title": "CdcMaxBatchInterval", + "type": "number" + }, + "CdcMinFileSize": { + "markdownDescription": "Minimum file size, defined in kilobytes, to reach for a file output to Amazon S3.\n\nWhen `CdcMinFileSize` and `CdcMaxBatchInterval` are both specified, the file write is triggered by whichever parameter condition is met first within an AWS DMS CloudFormation template.\n\nThe default value is 32 MB.", + "title": "CdcMinFileSize", + "type": "number" + }, + "CdcPath": { + "markdownDescription": "Specifies the folder path of CDC files. For an S3 source, this setting is required if a task captures change data; otherwise, it's optional. If `CdcPath` is set, AWS DMS reads CDC files from this path and replicates the data changes to the target endpoint. For an S3 target if you set [`PreserveTransactions`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-PreserveTransactions) to `true` , AWS DMS verifies that you have set this parameter to a folder path on your S3 target where AWS DMS can save the transaction order for the CDC load. AWS DMS creates this CDC folder path in either your S3 target working directory or the S3 target location specified by [`BucketFolder`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-BucketFolder) and [`BucketName`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-BucketName) .\n\nFor example, if you specify `CdcPath` as `MyChangedData` , and you specify `BucketName` as `MyTargetBucket` but do not specify `BucketFolder` , AWS DMS creates the CDC folder path following: `MyTargetBucket/MyChangedData` .\n\nIf you specify the same `CdcPath` , and you specify `BucketName` as `MyTargetBucket` and `BucketFolder` as `MyTargetData` , AWS DMS creates the CDC folder path following: `MyTargetBucket/MyTargetData/MyChangedData` .\n\nFor more information on CDC including transaction order on an S3 target, see [Capturing data changes (CDC) including transaction order on the S3 target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.EndpointSettings.CdcPath) .\n\n> This setting is supported in AWS DMS versions 3.4.2 and later.", + "title": "CdcPath", + "type": "string" + }, + "CompressionType": { + "markdownDescription": "An optional parameter. When set to GZIP it enables the service to compress the target files. To allow the service to write the target files uncompressed, either set this parameter to NONE (the default) or don't specify the parameter at all. This parameter applies to both .csv and .parquet file formats.", + "title": "CompressionType", + "type": "string" + }, + "CsvDelimiter": { + "markdownDescription": "The delimiter used to separate columns in the .csv file for both source and target. The default is a comma.", + "title": "CsvDelimiter", + "type": "string" + }, + "CsvNoSupValue": { + "markdownDescription": "This setting only applies if your Amazon S3 output files during a change data capture (CDC) load are written in .csv format. If [`UseCsvNoSupValue`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-UseCsvNoSupValue) is set to true, specify a string value that you want AWS DMS to use for all columns not included in the supplemental log. If you do not specify a string value, AWS DMS uses the null value for these columns regardless of the `UseCsvNoSupValue` setting.\n\n> This setting is supported in AWS DMS versions 3.4.1 and later.", + "title": "CsvNoSupValue", + "type": "string" + }, + "CsvNullValue": { + "markdownDescription": "An optional parameter that specifies how AWS DMS treats null values. While handling the null value, you can use this parameter to pass a user-defined string as null when writing to the target. For example, when target columns are not nullable, you can use this option to differentiate between the empty string value and the null value. So, if you set this parameter value to the empty string (\"\" or ''), AWS DMS treats the empty string as the null value instead of `NULL` .\n\nThe default value is `NULL` . Valid values include any valid string.", + "title": "CsvNullValue", + "type": "string" + }, + "CsvRowDelimiter": { + "markdownDescription": "The delimiter used to separate rows in the .csv file for both source and target.\n\nThe default is a carriage return ( `\\n` ).", + "title": "CsvRowDelimiter", + "type": "string" + }, + "DataFormat": { + "markdownDescription": "The format of the data that you want to use for output. You can choose one of the following:\n\n- `csv` : This is a row-based file format with comma-separated values (.csv).\n- `parquet` : Apache Parquet (.parquet) is a columnar storage file format that features efficient compression and provides faster query response.", + "title": "DataFormat", + "type": "string" + }, + "DataPageSize": { + "markdownDescription": "The size of one data page in bytes. This parameter defaults to 1024 * 1024 bytes (1 MiB). This number is used for .parquet file format only.", + "title": "DataPageSize", + "type": "number" + }, + "DatePartitionDelimiter": { + "markdownDescription": "Specifies a date separating delimiter to use during folder partitioning. The default value is `SLASH` . Use this parameter when `DatePartitionedEnabled` is set to `true` .", + "title": "DatePartitionDelimiter", + "type": "string" + }, + "DatePartitionEnabled": { + "markdownDescription": "When set to `true` , this parameter partitions S3 bucket folders based on transaction commit dates. The default value is `false` . For more information about date-based folder partitioning, see [Using date-based folder partitioning](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.DatePartitioning) .", + "title": "DatePartitionEnabled", + "type": "boolean" + }, + "DatePartitionSequence": { + "markdownDescription": "Identifies the sequence of the date format to use during folder partitioning. The default value is `YYYYMMDD` . Use this parameter when `DatePartitionedEnabled` is set to `true` .", + "title": "DatePartitionSequence", + "type": "string" + }, + "DatePartitionTimezone": { + "markdownDescription": "When creating an S3 target endpoint, set `DatePartitionTimezone` to convert the current UTC time into a specified time zone. The conversion occurs when a date partition folder is created and a change data capture (CDC) file name is generated. The time zone format is Area/Location. Use this parameter when `DatePartitionedEnabled` is set to `true` , as shown in the following example.\n\n`s3-settings='{\"DatePartitionEnabled\": true, \"DatePartitionSequence\": \"YYYYMMDDHH\", \"DatePartitionDelimiter\": \"SLASH\", \"DatePartitionTimezone\":\" *Asia/Seoul* \", \"BucketName\": \"dms-nattarat-test\"}'`", + "title": "DatePartitionTimezone", + "type": "string" + }, + "DictPageSizeLimit": { + "markdownDescription": "The maximum size of an encoded dictionary page of a column. If the dictionary page exceeds this, this column is stored using an encoding type of `PLAIN` . This parameter defaults to 1024 * 1024 bytes (1 MiB), the maximum size of a dictionary page before it reverts to `PLAIN` encoding. This size is used for .parquet file format only.", + "title": "DictPageSizeLimit", + "type": "number" + }, + "EnableStatistics": { + "markdownDescription": "A value that enables statistics for Parquet pages and row groups. Choose `true` to enable statistics, `false` to disable. Statistics include `NULL` , `DISTINCT` , `MAX` , and `MIN` values. This parameter defaults to `true` . This value is used for .parquet file format only.", + "title": "EnableStatistics", + "type": "boolean" + }, + "EncodingType": { + "markdownDescription": "The type of encoding that you're using:\n\n- `RLE_DICTIONARY` uses a combination of bit-packing and run-length encoding to store repeated values more efficiently. This is the default.\n- `PLAIN` doesn't use encoding at all. Values are stored as they are.\n- `PLAIN_DICTIONARY` builds a dictionary of the values encountered in a given column. The dictionary is stored in a dictionary page for each column chunk.", + "title": "EncodingType", + "type": "string" + }, + "EncryptionMode": { + "markdownDescription": "The type of server-side encryption that you want to use for your data. This encryption type is part of the endpoint settings or the extra connections attributes for Amazon S3. You can choose either `SSE_S3` (the default) or `SSE_KMS` .\n\n> For the `ModifyEndpoint` operation, you can change the existing value of the `EncryptionMode` parameter from `SSE_KMS` to `SSE_S3` . But you can\u2019t change the existing value from `SSE_S3` to `SSE_KMS` . \n\nTo use `SSE_S3` , you need an IAM role with permission to allow `\"arn:aws:s3:::dms-*\"` to use the following actions:\n\n- `s3:CreateBucket`\n- `s3:ListBucket`\n- `s3:DeleteBucket`\n- `s3:GetBucketLocation`\n- `s3:GetObject`\n- `s3:PutObject`\n- `s3:DeleteObject`\n- `s3:GetObjectVersion`\n- `s3:GetBucketPolicy`\n- `s3:PutBucketPolicy`\n- `s3:DeleteBucketPolicy`", + "title": "EncryptionMode", + "type": "string" + }, + "ExpectedBucketOwner": { + "markdownDescription": "To specify a bucket owner and prevent sniping, you can use the `ExpectedBucketOwner` endpoint setting.\n\nExample: `--s3-settings='{\"ExpectedBucketOwner\": \" *AWS_Account_ID* \"}'`\n\nWhen you make a request to test a connection or perform a migration, S3 checks the account ID of the bucket owner against the specified parameter.", + "title": "ExpectedBucketOwner", + "type": "string" + }, + "ExternalTableDefinition": { + "markdownDescription": "The external table definition.\n\nConditional: If `S3` is used as a source then `ExternalTableDefinition` is required.", + "title": "ExternalTableDefinition", + "type": "string" + }, + "GlueCatalogGeneration": { + "markdownDescription": "When true, allows AWS Glue to catalog your S3 bucket. Creating an AWS Glue catalog lets you use Athena to query your data.", + "title": "GlueCatalogGeneration", + "type": "boolean" + }, + "IgnoreHeaderRows": { + "markdownDescription": "When this value is set to 1, AWS DMS ignores the first row header in a .csv file. A value of 1 turns on the feature; a value of 0 turns off the feature.\n\nThe default is 0.", + "title": "IgnoreHeaderRows", + "type": "number" + }, + "IncludeOpForFullLoad": { + "markdownDescription": "A value that enables a full load to write INSERT operations to the comma-separated value (.csv) output files only to indicate how the rows were added to the source database.\n\n> AWS DMS supports the `IncludeOpForFullLoad` parameter in versions 3.1.4 and later. \n\nFor full load, records can only be inserted. By default (the `false` setting), no information is recorded in these output files for a full load to indicate that the rows were inserted at the source database. If `IncludeOpForFullLoad` is set to `true` or `y` , the INSERT is recorded as an I annotation in the first field of the .csv file. This allows the format of your target records from a full load to be consistent with the target records from a CDC load.\n\n> This setting works together with the `CdcInsertsOnly` and the `CdcInsertsAndUpdates` parameters for output to .csv files only. For more information about how these settings work together, see [Indicating Source DB Operations in Migrated S3 Data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps) in the *AWS Database Migration Service User Guide* .", + "title": "IncludeOpForFullLoad", + "type": "boolean" + }, + "MaxFileSize": { + "markdownDescription": "A value that specifies the maximum size (in KB) of any .csv file to be created while migrating to an S3 target during full load.\n\nThe default value is 1,048,576 KB (1 GB). Valid values include 1 to 1,048,576.", + "title": "MaxFileSize", + "type": "number" + }, + "ParquetTimestampInMillisecond": { + "markdownDescription": "A value that specifies the precision of any `TIMESTAMP` column values that are written to an Amazon S3 object file in .parquet format.\n\n> AWS DMS supports the `ParquetTimestampInMillisecond` parameter in versions 3.1.4 and later. \n\nWhen `ParquetTimestampInMillisecond` is set to `true` or `y` , AWS DMS writes all `TIMESTAMP` columns in a .parquet formatted file with millisecond precision. Otherwise, DMS writes them with microsecond precision.\n\nCurrently, Amazon Athena and AWS Glue can handle only millisecond precision for `TIMESTAMP` values. Set this parameter to `true` for S3 endpoint object files that are .parquet formatted only if you plan to query or process the data with Athena or AWS Glue .\n\n> AWS DMS writes any `TIMESTAMP` column values written to an S3 file in .csv format with microsecond precision.\n> \n> Setting `ParquetTimestampInMillisecond` has no effect on the string format of the timestamp column value that is inserted by setting the `TimestampColumnName` parameter.", + "title": "ParquetTimestampInMillisecond", + "type": "boolean" + }, + "ParquetVersion": { + "markdownDescription": "The version of the Apache Parquet format that you want to use: `parquet_1_0` (the default) or `parquet_2_0` .", + "title": "ParquetVersion", + "type": "string" + }, + "PreserveTransactions": { + "markdownDescription": "If this setting is set to `true` , AWS DMS saves the transaction order for a change data capture (CDC) load on the Amazon S3 target specified by [`CdcPath`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-CdcPath) . For more information, see [Capturing data changes (CDC) including transaction order on the S3 target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.EndpointSettings.CdcPath) .\n\n> This setting is supported in AWS DMS versions 3.4.2 and later.", + "title": "PreserveTransactions", + "type": "boolean" + }, + "Rfc4180": { + "markdownDescription": "For an S3 source, when this value is set to `true` or `y` , each leading double quotation mark has to be followed by an ending double quotation mark. This formatting complies with RFC 4180. When this value is set to `false` or `n` , string literals are copied to the target as is. In this case, a delimiter (row or column) signals the end of the field. Thus, you can't use a delimiter as part of the string, because it signals the end of the value.\n\nFor an S3 target, an optional parameter used to set behavior to comply with RFC 4180 for data migrated to Amazon S3 using .csv file format only. When this value is set to `true` or `y` using Amazon S3 as a target, if the data has quotation marks or newline characters in it, AWS DMS encloses the entire column with an additional pair of double quotation marks (\"). Every quotation mark within the data is repeated twice.\n\nThe default value is `true` . Valid values include `true` , `false` , `y` , and `n` .", + "title": "Rfc4180", + "type": "boolean" + }, + "RowGroupLength": { + "markdownDescription": "The number of rows in a row group. A smaller row group size provides faster reads. But as the number of row groups grows, the slower writes become. This parameter defaults to 10,000 rows. This number is used for .parquet file format only.\n\nIf you choose a value larger than the maximum, `RowGroupLength` is set to the max row group length in bytes (64 * 1024 * 1024).", + "title": "RowGroupLength", + "type": "number" + }, + "ServerSideEncryptionKmsKeyId": { + "markdownDescription": "If you are using `SSE_KMS` for the `EncryptionMode` , provide the AWS key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of the key.\n\nHere is a CLI example: `aws dms create-endpoint --endpoint-identifier *value* --endpoint-type target --engine-name s3 --s3-settings ServiceAccessRoleArn= *value* ,BucketFolder= *value* ,BucketName= *value* ,EncryptionMode=SSE_KMS,ServerSideEncryptionKmsKeyId= *value*`", + "title": "ServerSideEncryptionKmsKeyId", + "type": "string" + }, + "ServiceAccessRoleArn": { + "markdownDescription": "A required parameter that specifies the Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the `iam:PassRole` action. It enables AWS DMS to read and write objects from an S3 bucket.", + "title": "ServiceAccessRoleArn", + "type": "string" + }, + "TimestampColumnName": { + "markdownDescription": "A value that when nonblank causes AWS DMS to add a column with timestamp information to the endpoint data for an Amazon S3 target.\n\n> AWS DMS supports the `TimestampColumnName` parameter in versions 3.1.4 and later. \n\nAWS DMS includes an additional `STRING` column in the .csv or .parquet object files of your migrated data when you set `TimestampColumnName` to a nonblank value.\n\nFor a full load, each row of this timestamp column contains a timestamp for when the data was transferred from the source to the target by DMS.\n\nFor a change data capture (CDC) load, each row of the timestamp column contains the timestamp for the commit of that row in the source database.\n\nThe string format for this timestamp column value is `yyyy-MM-dd HH:mm:ss.SSSSSS` . By default, the precision of this value is in microseconds. For a CDC load, the rounding of the precision depends on the commit timestamp supported by DMS for the source database.\n\nWhen the `AddColumnName` parameter is set to `true` , DMS also includes a name for the timestamp column that you set with `TimestampColumnName` .", + "title": "TimestampColumnName", + "type": "string" + }, + "UseCsvNoSupValue": { + "markdownDescription": "This setting applies if the S3 output files during a change data capture (CDC) load are written in .csv format. If this setting is set to `true` for columns not included in the supplemental log, AWS DMS uses the value specified by [`CsvNoSupValue`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-CsvNoSupValue) . If this setting isn't set or is set to `false` , AWS DMS uses the null value for these columns.\n\n> This setting is supported in AWS DMS versions 3.4.1 and later.", + "title": "UseCsvNoSupValue", + "type": "boolean" + }, + "UseTaskStartTimeForFullLoadTimestamp": { + "markdownDescription": "When set to true, this parameter uses the task start time as the timestamp column value instead of the time data is written to target. For full load, when `useTaskStartTimeForFullLoadTimestamp` is set to `true` , each row of the timestamp column contains the task start time. For CDC loads, each row of the timestamp column contains the transaction commit time.\n\nWhen `useTaskStartTimeForFullLoadTimestamp` is set to `false` , the full load timestamp in the timestamp column increments with the time data arrives at the target.", + "title": "UseTaskStartTimeForFullLoadTimestamp", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.SybaseSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the SAP ASE endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the SAP SAE endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::EventSubscription": { "additionalProperties": false, "properties": { "Condition": { @@ -106904,43 +106630,59 @@ "Properties": { "additionalProperties": false, "properties": { - "S3BucketArn": { - "markdownDescription": "The ARN of the Amazon S3 bucket.", - "title": "S3BucketArn", + "Enabled": { + "markdownDescription": "Indicates whether to activate the subscription. If you don't specify this property, CloudFormation activates the subscription.", + "title": "Enabled", + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of event categories for a source type that you want to subscribe to. If you don't specify this property, you are notified about all event categories. For more information, see [Working with Events and Notifications](https://docs.aws.amazon.com//dms/latest/userguide/CHAP_Events.html) in the *AWS DMS User Guide* .", + "title": "EventCategories", + "type": "array" + }, + "SnsTopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.", + "title": "SnsTopicArn", "type": "string" }, - "S3Config": { - "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config", - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that is used to access an Amazon S3 bucket.\n\nFor detailed information about using such a role, see [Creating a Location for Amazon S3](https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html#create-s3-location) in the *AWS DataSync User Guide* .", - "title": "S3Config" + "SourceIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of identifiers for which AWS DMS provides notification events.\n\nIf you don't specify a value, notifications are provided for all sources.\n\nIf you specify multiple values, they must be of the same type. For example, if you specify a database instance ID, then all of the other values must be database instance IDs.", + "title": "SourceIds", + "type": "array" }, - "S3StorageClass": { - "markdownDescription": "The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. For buckets in AWS Regions , the storage class defaults to S3 Standard.\n\nFor more information about S3 storage classes, see [Amazon S3 Storage Classes](https://docs.aws.amazon.com/s3/storage-classes/) . Some storage classes have behaviors that can affect your S3 storage costs. For detailed information, see [Considerations When Working with Amazon S3 Storage Classes in DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) .", - "title": "S3StorageClass", + "SourceType": { + "markdownDescription": "The type of AWS DMS resource that generates the events. For example, if you want to be notified of events generated by a replication instance, you set this parameter to `replication-instance` . If this value isn't specified, all events are returned.\n\n*Valid values* : `replication-instance` | `replication-task`", + "title": "SourceType", "type": "string" }, - "Subdirectory": { - "markdownDescription": "Specifies a prefix in the S3 bucket that DataSync reads from or writes to (depending on whether the bucket is a source or destination location).\n\n> DataSync can't transfer objects with a prefix that begins with a slash ( `/` ) or includes `//` , `/./` , or `/../` patterns. For example:\n> \n> - `/photos`\n> - `photos//2006/January`\n> - `photos/./2006/February`\n> - `photos/../2006/March`", - "title": "Subdirectory", + "SubscriptionName": { + "markdownDescription": "The name of the AWS DMS event notification subscription. This name must be less than 255 characters.", + "title": "SubscriptionName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your transfer location.", + "markdownDescription": "One or more tags to be assigned to the event subscription.", "title": "Tags", "type": "array" } }, "required": [ - "S3Config" + "SnsTopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataSync::LocationS3" + "AWS::DMS::EventSubscription" ], "type": "string" }, @@ -106959,21 +106701,7 @@ ], "type": "object" }, - "AWS::DataSync::LocationS3.S3Config": { - "additionalProperties": false, - "properties": { - "BucketAccessRoleArn": { - "markdownDescription": "Specifies the ARN of the IAM role that DataSync uses to access your S3 bucket.", - "title": "BucketAccessRoleArn", - "type": "string" - } - }, - "required": [ - "BucketAccessRoleArn" - ], - "type": "object" - }, - "AWS::DataSync::LocationSMB": { + "AWS::DMS::InstanceProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -107008,99 +106736,68 @@ "Properties": { "additionalProperties": false, "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the DataSync agent (or agents) that can connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).", - "title": "AgentArns", - "type": "array" - }, - "AuthenticationType": { - "markdownDescription": "", - "title": "AuthenticationType", + "AvailabilityZone": { + "markdownDescription": "The Availability Zone where the instance profile runs.", + "title": "AvailabilityZone", "type": "string" }, - "CmkSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationSMB.CmkSecretConfig", - "markdownDescription": "Specifies configuration information for a DataSync-managed secret, such as an authentication token, secret key, password, or Kerberos keytab that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .\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": "CmkSecretConfig" - }, - "CustomSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationSMB.CustomSecretConfig", - "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" - }, - "DnsIpAddresses": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "DnsIpAddresses", - "type": "array" - }, - "Domain": { - "markdownDescription": "Specifies the Windows domain name that your SMB file server belongs to. This parameter applies only if `AuthenticationType` is set to `NTLM` .\n\nIf you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.", - "title": "Domain", + "Description": { + "markdownDescription": "A description of the instance profile. Descriptions can have up to 31 characters. A description can contain only ASCII letters, digits, and hyphens ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter.", + "title": "Description", "type": "string" }, - "KerberosKeytab": { - "markdownDescription": "", - "title": "KerberosKeytab", + "InstanceProfileIdentifier": { + "markdownDescription": "The identifier of the instance profile. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", + "title": "InstanceProfileIdentifier", "type": "string" }, - "KerberosKrb5Conf": { - "markdownDescription": "", - "title": "KerberosKrb5Conf", + "InstanceProfileName": { + "markdownDescription": "The user-friendly name for the instance profile.", + "title": "InstanceProfileName", "type": "string" }, - "KerberosPrincipal": { - "markdownDescription": "", - "title": "KerberosPrincipal", + "KmsKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS key that is used to encrypt the connection parameters for the instance profile.\n\nIf you don't specify a value for the `KmsKeyArn` parameter, then AWS DMS uses an AWS owned encryption key to encrypt your resources.", + "title": "KmsKeyArn", "type": "string" }, - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions", - "markdownDescription": "Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.", - "title": "MountOptions" - }, - "Password": { - "markdownDescription": "Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer. This parameter applies only if `AuthenticationType` is set to `NTLM` .", - "title": "Password", + "NetworkType": { + "markdownDescription": "Specifies the network type for the instance profile. A value of `IPV4` represents an instance profile with IPv4 network type and only supports IPv4 addressing. A value of `IPV6` represents an instance profile with IPv6 network type and only supports IPv6 addressing. A value of `DUAL` represents an instance profile with dual network type that supports IPv4 and IPv6 addressing.", + "title": "NetworkType", "type": "string" }, - "ServerHostname": { - "markdownDescription": "Specifies the domain name or IP address (IPv4 or IPv6) of the SMB file server that your DataSync agent connects to.\n\n> If you're using Kerberos authentication, you must specify a domain name.", - "title": "ServerHostname", - "type": "string" + "PubliclyAccessible": { + "markdownDescription": "Specifies the accessibility options for the instance profile. A value of `true` represents an instance profile with a public IP address. A value of `false` represents an instance profile with a private IP address. The default value is `true` .", + "title": "PubliclyAccessible", + "type": "boolean" }, - "Subdirectory": { - "markdownDescription": "Specifies the name of the share exported by your SMB file server where DataSync will read or write data. You can include a subdirectory in the share path (for example, `/path/to/subdirectory` ). Make sure that other SMB clients in your network can also mount this path.\n\nTo copy all data in the subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see [Providing DataSync access to SMB file servers](https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) .", - "title": "Subdirectory", + "SubnetGroupIdentifier": { + "markdownDescription": "The identifier of the subnet group that is associated with the instance profile.", + "title": "SubnetGroupIdentifier", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", + "markdownDescription": "", "title": "Tags", "type": "array" }, - "User": { - "markdownDescription": "Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server. This parameter applies only if `AuthenticationType` is set to `NTLM` .\n\nFor information about choosing a user with the right level of access for your transfer, see [Providing DataSync access to SMB file servers](https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) .", - "title": "User", - "type": "string" + "VpcSecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "The VPC security groups that are used with the instance profile. The VPC security group must work with the VPC containing the instance profile.", + "title": "VpcSecurityGroups", + "type": "array" } }, - "required": [ - "AgentArns" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DataSync::LocationSMB" + "AWS::DMS::InstanceProfile" ], "type": "string" }, @@ -107114,73 +106811,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationSMB.CmkSecretConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "markdownDescription": "Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for `SecretArn` . DataSync provides this key to AWS Secrets Manager .", - "title": "KmsKeyArn", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for `KmsKeyArn` .", - "title": "SecretArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationSMB.CustomSecretConfig": { - "additionalProperties": false, - "properties": { - "SecretAccessRoleArn": { - "markdownDescription": "Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` .", - "title": "SecretAccessRoleArn", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", - "title": "SecretArn", - "type": "string" - } - }, - "required": [ - "SecretAccessRoleArn", - "SecretArn" - ], - "type": "object" - }, - "AWS::DataSync::LocationSMB.ManagedSecretConfig": { - "additionalProperties": false, - "properties": { - "SecretArn": { - "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", - "title": "SecretArn", - "type": "string" - } - }, - "required": [ - "SecretArn" + "Type" ], "type": "object" }, - "AWS::DataSync::LocationSMB.MountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "markdownDescription": "By default, DataSync automatically chooses an SMB protocol version based on negotiation with your SMB file server. You also can configure DataSync to use a specific SMB version, but we recommend doing this only if DataSync has trouble negotiating with the SMB file server automatically.\n\nThese are the following options for configuring the SMB version:\n\n- `AUTOMATIC` (default): DataSync and the SMB file server negotiate the highest version of SMB that they mutually support between 2.1 and 3.1.1.\n\nThis is the recommended option. If you instead choose a specific version that your file server doesn't support, you may get an `Operation Not Supported` error.\n- `SMB3` : Restricts the protocol negotiation to only SMB version 3.0.2.\n- `SMB2` : Restricts the protocol negotiation to only SMB version 2.1.\n- `SMB2_0` : Restricts the protocol negotiation to only SMB version 2.0.\n- `SMB1` : Restricts the protocol negotiation to only SMB version 1.0.\n\n> The `SMB1` option isn't available when [creating an Amazon FSx for NetApp ONTAP location](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateLocationFsxOntap.html) .", - "title": "Version", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task": { + "AWS::DMS::MigrationProject": { "additionalProperties": false, "properties": { "Condition": { @@ -107215,85 +106850,76 @@ "Properties": { "additionalProperties": false, "properties": { - "CloudWatchLogGroupArn": { - "markdownDescription": "Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.\n\nFor Enhanced mode tasks, you don't need to specify anything. DataSync automatically sends logs to a CloudWatch log group named `/aws/datasync` .\n\nFor more information, see [Monitoring data transfers with CloudWatch Logs](https://docs.aws.amazon.com/datasync/latest/userguide/configure-logging.html) .", - "title": "CloudWatchLogGroupArn", + "Description": { + "markdownDescription": "A user-friendly description of the migration project.", + "title": "Description", "type": "string" }, - "DestinationLocationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS storage resource's location.", - "title": "DestinationLocationArn", + "InstanceProfileArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile for your migration project.", + "title": "InstanceProfileArn", "type": "string" }, - "Excludes": { - "items": { - "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" - }, - "markdownDescription": "Specifies exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see [Specifying what DataSync transfers by using filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .", - "title": "Excludes", - "type": "array" - }, - "Includes": { - "items": { - "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" - }, - "markdownDescription": "Specifies include filters that define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see [Specifying what DataSync transfers by using filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .", - "title": "Includes", - "type": "array" + "InstanceProfileIdentifier": { + "markdownDescription": "The identifier of the instance profile for your migration project.", + "title": "InstanceProfileIdentifier", + "type": "string" }, - "ManifestConfig": { - "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfig", - "markdownDescription": "The configuration of the manifest that lists the files or objects that you want DataSync to transfer. For more information, see [Specifying what DataSync transfers by using a manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html) .", - "title": "ManifestConfig" + "InstanceProfileName": { + "markdownDescription": "The name of the associated instance profile.", + "title": "InstanceProfileName", + "type": "string" }, - "Name": { - "markdownDescription": "Specifies the name of your task.", - "title": "Name", + "MigrationProjectIdentifier": { + "markdownDescription": "The identifier of the migration project. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", + "title": "MigrationProjectIdentifier", "type": "string" }, - "Options": { - "$ref": "#/definitions/AWS::DataSync::Task.Options", - "markdownDescription": "Specifies your task's settings, such as preserving file metadata, verifying data integrity, among other options.", - "title": "Options" + "MigrationProjectName": { + "markdownDescription": "The name of the migration project.", + "title": "MigrationProjectName", + "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule", - "markdownDescription": "Specifies a schedule for when you want your task to run. For more information, see [Scheduling your task](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) .", - "title": "Schedule" + "SchemaConversionApplicationAttributes": { + "$ref": "#/definitions/AWS::DMS::MigrationProject.SchemaConversionApplicationAttributes", + "markdownDescription": "The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN.", + "title": "SchemaConversionApplicationAttributes" }, - "SourceLocationArn": { - "markdownDescription": "Specifies the ARN of your transfer's source location.", - "title": "SourceLocationArn", - "type": "string" + "SourceDataProviderDescriptors": { + "items": { + "$ref": "#/definitions/AWS::DMS::MigrationProject.DataProviderDescriptor" + }, + "markdownDescription": "Information about the source data provider, including the name or ARN, and AWS Secrets Manager parameters.", + "title": "SourceDataProviderDescriptors", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies the tags that you want to apply to your task.\n\n*Tags* are key-value pairs that help you manage, filter, and search for your DataSync resources.", + "markdownDescription": "", "title": "Tags", "type": "array" }, - "TaskMode": { - "markdownDescription": "The task mode that you're using. For more information, see [Choosing a task mode for your data transfer](https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html) .", - "title": "TaskMode", - "type": "string" + "TargetDataProviderDescriptors": { + "items": { + "$ref": "#/definitions/AWS::DMS::MigrationProject.DataProviderDescriptor" + }, + "markdownDescription": "Information about the target data provider, including the name or ARN, and AWS Secrets Manager parameters.", + "title": "TargetDataProviderDescriptors", + "type": "array" }, - "TaskReportConfig": { - "$ref": "#/definitions/AWS::DataSync::Task.TaskReportConfig", - "markdownDescription": "The configuration of your task report, which provides detailed information about your DataSync transfer. For more information, see [Monitoring your DataSync transfers with task reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .", - "title": "TaskReportConfig" + "TransformationRules": { + "markdownDescription": "The settings in JSON format for migration rules. Migration rules make it possible for you to change the object names according to the rules that you specify. For example, you can change an object name to lowercase or uppercase, add or remove a prefix or suffix, or rename objects.", + "title": "TransformationRules", + "type": "string" } }, - "required": [ - "DestinationLocationArn", - "SourceLocationArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DataSync::Task" + "AWS::DMS::MigrationProject" ], "type": "string" }, @@ -107307,323 +106933,235 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::DataSync::Task.Deleted": { + "AWS::DMS::MigrationProject.DataProviderDescriptor": { "additionalProperties": false, "properties": { - "ReportLevel": { - "markdownDescription": "", - "title": "ReportLevel", + "DataProviderArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the data provider.", + "title": "DataProviderArn", "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.Destination": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::DataSync::Task.TaskReportConfigDestinationS3", + }, + "DataProviderIdentifier": { "markdownDescription": "", - "title": "S3" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.FilterRule": { - "additionalProperties": false, - "properties": { - "FilterType": { - "markdownDescription": "The type of filter rule to apply. AWS DataSync only supports the SIMPLE_PATTERN rule type.", - "title": "FilterType", + "title": "DataProviderIdentifier", "type": "string" }, - "Value": { - "markdownDescription": "A single filter string that consists of the patterns to include or exclude. The patterns are delimited by \"|\" (that is, a pipe), for example: `/folder1|/folder2`", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.ManifestConfig": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "Specifies what DataSync uses the manifest for.", - "title": "Action", + "DataProviderName": { + "markdownDescription": "The user-friendly name of the data provider.", + "title": "DataProviderName", "type": "string" }, - "Format": { - "markdownDescription": "Specifies the file format of your manifest. For more information, see [Creating a manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html#transferring-with-manifest-create) .", - "title": "Format", + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The ARN of the role used to access AWS Secrets Manager.", + "title": "SecretsManagerAccessRoleArn", "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::DataSync::Task.Source", - "markdownDescription": "Specifies the manifest that you want DataSync to use and where it's hosted.\n\n> You must specify this parameter if you're configuring a new manifest on or after February 7, 2024.\n> \n> If you don't, you'll get a 400 status code and `ValidationException` error stating that you're missing the IAM role for DataSync to access the S3 bucket where you're hosting your manifest. For more information, see [Providing DataSync access to your manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html#transferring-with-manifest-access) .", - "title": "Source" + "SecretsManagerSecretId": { + "markdownDescription": "The identifier of the AWS Secrets Manager Secret used to store access credentials for the data provider.", + "title": "SecretsManagerSecretId", + "type": "string" } }, - "required": [ - "Source" - ], "type": "object" }, - "AWS::DataSync::Task.ManifestConfigSourceS3": { + "AWS::DMS::MigrationProject.SchemaConversionApplicationAttributes": { "additionalProperties": false, "properties": { - "BucketAccessRoleArn": { - "markdownDescription": "", - "title": "BucketAccessRoleArn", - "type": "string" - }, - "ManifestObjectPath": { - "markdownDescription": "", - "title": "ManifestObjectPath", - "type": "string" - }, - "ManifestObjectVersionId": { + "S3BucketPath": { "markdownDescription": "", - "title": "ManifestObjectVersionId", + "title": "S3BucketPath", "type": "string" }, - "S3BucketArn": { + "S3BucketRoleArn": { "markdownDescription": "", - "title": "S3BucketArn", + "title": "S3BucketRoleArn", "type": "string" } }, "type": "object" }, - "AWS::DataSync::Task.Options": { + "AWS::DMS::ReplicationConfig": { "additionalProperties": false, "properties": { - "Atime": { - "markdownDescription": "A file metadata value that shows the last time that a file was accessed (that is, when the file was read or written to). If you set `Atime` to `BEST_EFFORT` , AWS DataSync attempts to preserve the original `Atime` attribute on all source files (that is, the version before the PREPARING phase). However, `Atime` 's behavior is not fully standard across platforms, so AWS DataSync can only do this on a best-effort basis.\n\nDefault value: `BEST_EFFORT`\n\n`BEST_EFFORT` : Attempt to preserve the per-file `Atime` value (recommended).\n\n`NONE` : Ignore `Atime` .\n\n> If `Atime` is set to `BEST_EFFORT` , `Mtime` must be set to `PRESERVE` .\n> \n> If `Atime` is set to `NONE` , `Mtime` must also be `NONE` .", - "title": "Atime", - "type": "string" - }, - "BytesPerSecond": { - "markdownDescription": "A value that limits the bandwidth used by AWS DataSync . For example, if you want AWS DataSync to use a maximum of 1 MB, set this value to `1048576` (=1024*1024).", - "title": "BytesPerSecond", - "type": "number" - }, - "Gid": { - "markdownDescription": "The group ID (GID) of the file's owners.\n\nDefault value: `INT_VALUE`\n\n`INT_VALUE` : Preserve the integer value of the user ID (UID) and group ID (GID) (recommended).\n\n`NAME` : Currently not supported.\n\n`NONE` : Ignore the UID and GID.", - "title": "Gid", - "type": "string" - }, - "LogLevel": { - "markdownDescription": "Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group. To specify the log group, see [CloudWatchLogGroupArn](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn) .\n\n- `BASIC` - Publishes logs with only basic information (such as transfer errors).\n- `TRANSFER` - Publishes logs for all files or objects that your DataSync task transfers and performs data-integrity checks on.\n- `OFF` - No logs are published.", - "title": "LogLevel", - "type": "string" - }, - "Mtime": { - "markdownDescription": "A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase. This option is required for cases when you need to run the same task more than one time.\n\nDefault value: `PRESERVE`\n\n`PRESERVE` : Preserve original `Mtime` (recommended)\n\n`NONE` : Ignore `Mtime` .\n\n> If `Mtime` is set to `PRESERVE` , `Atime` must be set to `BEST_EFFORT` .\n> \n> If `Mtime` is set to `NONE` , `Atime` must also be set to `NONE` .", - "title": "Mtime", - "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", - "type": "string" - }, - "OverwriteMode": { - "markdownDescription": "Specifies whether DataSync should modify or preserve data at the destination location.\n\n- `ALWAYS` (default) - DataSync modifies data in the destination location when source data (including metadata) has changed.\n\nIf DataSync overwrites objects, you might incur additional charges for certain Amazon S3 storage classes (for example, for retrieval or early deletion). For more information, see [Storage class considerations with Amazon S3 transfers](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) .\n- `NEVER` - DataSync doesn't overwrite data in the destination location even if the source data has changed. You can use this option to protect against overwriting changes made to files or objects in the destination.", - "title": "OverwriteMode", - "type": "string" - }, - "PosixPermissions": { - "markdownDescription": "A value that determines which users or groups can access a file for a specific purpose, such as reading, writing, or execution of the file. This option should be set only for Network File System (NFS), Amazon EFS, and Amazon S3 locations. For more information about what metadata is copied by DataSync, see [Metadata Copied by DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied) .\n\nDefault value: `PRESERVE`\n\n`PRESERVE` : Preserve POSIX-style permissions (recommended).\n\n`NONE` : Ignore permissions.\n\n> AWS DataSync can preserve extant permissions of a source location.", - "title": "PosixPermissions", - "type": "string" - }, - "PreserveDeletedFiles": { - "markdownDescription": "A value that specifies whether files in the destination that don't exist in the source file system are preserved. This option can affect your storage costs. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see [Considerations when working with Amazon S3 storage classes in DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) in the *AWS DataSync User Guide* .\n\nDefault value: `PRESERVE`\n\n`PRESERVE` : Ignore destination files that aren't present in the source (recommended).\n\n`REMOVE` : Delete destination files that aren't present in the source.", - "title": "PreserveDeletedFiles", + "Condition": { "type": "string" }, - "PreserveDevices": { - "markdownDescription": "A value that determines whether AWS DataSync should preserve the metadata of block and character devices in the source file system, and re-create the files with that device name and metadata on the destination. DataSync does not copy the contents of such devices, only the name and metadata.\n\n> AWS DataSync can't sync the actual contents of such devices, because they are nonterminal and don't return an end-of-file (EOF) marker. \n\nDefault value: `NONE`\n\n`NONE` : Ignore special devices (recommended).\n\n`PRESERVE` : Preserve character and block device metadata. This option isn't currently supported for Amazon EFS.", - "title": "PreserveDevices", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SecurityDescriptorCopyFlags": { - "markdownDescription": "A value that determines which components of the SMB security descriptor are copied from source to destination objects.\n\nThis value is only used for transfers between SMB and Amazon FSx for Windows File Server locations, or between two Amazon FSx for Windows File Server locations. For more information about how DataSync handles metadata, see [How DataSync Handles Metadata and Special Files](https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html) .\n\nDefault value: `OWNER_DACL`\n\n`OWNER_DACL` : For each copied object, DataSync copies the following metadata:\n\n- Object owner.\n- NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.\n\nWhen you use option, DataSync does NOT copy the NTFS system access control lists (SACLs), which are used by administrators to log attempts to access a secured object.\n\n`OWNER_DACL_SACL` : For each copied object, DataSync copies the following metadata:\n\n- Object owner.\n- NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.\n- NTFS system access control lists (SACLs), which are used by administrators to log attempts to access a secured object.\n\nCopying SACLs requires granting additional permissions to the Windows user that DataSync uses to access your SMB location. For information about choosing a user that ensures sufficient permissions to files, folders, and metadata, see [user](https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#SMBuser) .\n\n`NONE` : None of the SMB security descriptor components are copied. Destination objects are owned by the user that was provided for accessing the destination location. DACLs and SACLs are set based on the destination server\u2019s configuration.", - "title": "SecurityDescriptorCopyFlags", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TaskQueueing": { - "markdownDescription": "Specifies whether your transfer tasks should be put into a queue during certain scenarios when [running multiple tasks](https://docs.aws.amazon.com/datasync/latest/userguide/run-task.html#running-multiple-tasks) . This is `ENABLED` by default.", - "title": "TaskQueueing", - "type": "string" + "Metadata": { + "type": "object" }, - "TransferMode": { - "markdownDescription": "A value that determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing it to the destination location.\n\n`CHANGED` : DataSync copies only data or metadata that is new or different from the source location to the destination location.\n\n`ALL` : DataSync copies all source location content to the destination, without comparing it to existing content on the destination.", - "title": "TransferMode", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ComputeConfig": { + "$ref": "#/definitions/AWS::DMS::ReplicationConfig.ComputeConfig", + "markdownDescription": "Configuration parameters for provisioning an AWS DMS Serverless replication.", + "title": "ComputeConfig" + }, + "ReplicationConfigIdentifier": { + "markdownDescription": "A unique identifier that you want to use to create a `ReplicationConfigArn` that is returned as part of the output from this action. You can then pass this output `ReplicationConfigArn` as the value of the `ReplicationConfigArn` option for other actions to identify both AWS DMS Serverless replications and replication configurations that you want those actions to operate on. For some actions, you can also use either this unique identifier or a corresponding ARN in action filters to identify the specific replication and replication configuration to operate on.", + "title": "ReplicationConfigIdentifier", + "type": "string" + }, + "ReplicationSettings": { + "markdownDescription": "Optional JSON settings for AWS DMS Serverless replications that are provisioned using this replication configuration. For example, see [Change processing tuning settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html) .", + "title": "ReplicationSettings", + "type": "object" + }, + "ReplicationType": { + "markdownDescription": "The type of AWS DMS Serverless replication to provision using this replication configuration.\n\nPossible values:\n\n- `\"full-load\"`\n- `\"cdc\"`\n- `\"full-load-and-cdc\"`", + "title": "ReplicationType", + "type": "string" + }, + "ResourceIdentifier": { + "markdownDescription": "Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see [Fine-grained access control using resource names and tags](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.FineGrainedAccess) .", + "title": "ResourceIdentifier", + "type": "string" + }, + "SourceEndpointArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration.", + "title": "SourceEndpointArn", + "type": "string" + }, + "SupplementalSettings": { + "markdownDescription": "Optional JSON settings for specifying supplemental data. For more information, see [Specifying supplemental data for task settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html) .", + "title": "SupplementalSettings", + "type": "object" + }, + "TableMappings": { + "markdownDescription": "JSON table mappings for AWS DMS Serverless replications that are provisioned using this replication configuration. For more information, see [Specifying table selection and transformations rules using JSON](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.html) .", + "title": "TableMappings", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "One or more optional tags associated with resources used by the AWS DMS Serverless replication. For more information, see [Tagging resources in AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tagging.html) .", + "title": "Tags", + "type": "array" + }, + "TargetEndpointArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the target endpoint for this AWS DMS serverless replication configuration.", + "title": "TargetEndpointArn", + "type": "string" + } + }, + "required": [ + "ComputeConfig", + "ReplicationConfigIdentifier", + "ReplicationType", + "SourceEndpointArn", + "TableMappings", + "TargetEndpointArn" + ], + "type": "object" }, - "Uid": { - "markdownDescription": "The user ID (UID) of the file's owner.\n\nDefault value: `INT_VALUE`\n\n`INT_VALUE` : Preserve the integer value of the UID and group ID (GID) (recommended).\n\n`NAME` : Currently not supported\n\n`NONE` : Ignore the UID and GID.", - "title": "Uid", + "Type": { + "enum": [ + "AWS::DMS::ReplicationConfig" + ], "type": "string" }, - "VerifyMode": { - "markdownDescription": "A value that determines whether a data integrity verification is performed at the end of a task execution after all data and metadata have been transferred. For more information, see [Configure task settings](https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html) .\n\nDefault value: `POINT_IN_TIME_CONSISTENT`\n\n`ONLY_FILES_TRANSFERRED` (recommended): Perform verification only on files that were transferred.\n\n`POINT_IN_TIME_CONSISTENT` : Scan the entire source and entire destination at the end of the transfer to verify that the source and destination are fully synchronized. This option isn't supported when transferring to S3 Glacier or S3 Glacier Deep Archive storage classes.\n\n`NONE` : No additional verification is done at the end of the transfer, but all data transmissions are integrity-checked with checksum verification during the transfer.", - "title": "VerifyMode", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::DataSync::Task.Overrides": { - "additionalProperties": false, - "properties": { - "Deleted": { - "$ref": "#/definitions/AWS::DataSync::Task.Deleted", - "markdownDescription": "", - "title": "Deleted" - }, - "Skipped": { - "$ref": "#/definitions/AWS::DataSync::Task.Skipped", - "markdownDescription": "", - "title": "Skipped" - }, - "Transferred": { - "$ref": "#/definitions/AWS::DataSync::Task.Transferred", - "markdownDescription": "", - "title": "Transferred" - }, - "Verified": { - "$ref": "#/definitions/AWS::DataSync::Task.Verified", - "markdownDescription": "", - "title": "Verified" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.Skipped": { + "AWS::DMS::ReplicationConfig.ComputeConfig": { "additionalProperties": false, "properties": { - "ReportLevel": { - "markdownDescription": "", - "title": "ReportLevel", + "AvailabilityZone": { + "markdownDescription": "The Availability Zone where the AWS DMS Serverless replication using this configuration will run. The default value is a random, system-chosen Availability Zone in the configuration's AWS Region , for example, `\"us-west-2\"` . You can't set this parameter if the `MultiAZ` parameter is set to `true` .", + "title": "AvailabilityZone", "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.Source": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfigSourceS3", - "markdownDescription": "", - "title": "S3" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.TaskReportConfig": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::DataSync::Task.Destination", - "markdownDescription": "Specifies the Amazon S3 bucket where DataSync uploads your task report. For more information, see [Task reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html#task-report-access) .", - "title": "Destination" }, - "ObjectVersionIds": { - "markdownDescription": "Specifies whether your task report includes the new version of each object transferred into an S3 bucket. This only applies if you [enable versioning on your bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html) . Keep in mind that setting this to `INCLUDE` can increase the duration of your task execution.", - "title": "ObjectVersionIds", + "DnsNameServers": { + "markdownDescription": "A list of custom DNS name servers supported for the AWS DMS Serverless replication to access your source or target database. This list overrides the default name servers supported by the AWS DMS Serverless replication. You can specify a comma-separated list of internet addresses for up to four DNS name servers. For example: `\"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4\"`", + "title": "DnsNameServers", "type": "string" }, - "OutputType": { - "markdownDescription": "Specifies the type of task report that you want:\n\n- `SUMMARY_ONLY` : Provides necessary details about your task, including the number of files, objects, and directories transferred and transfer duration.\n- `STANDARD` : Provides complete details about your task, including a full list of files, objects, and directories that were transferred, skipped, verified, and more.", - "title": "OutputType", + "KmsKeyId": { + "markdownDescription": "An AWS Key Management Service ( AWS ) key Amazon Resource Name (ARN) that is used to encrypt the data during AWS DMS Serverless replication.\n\nIf you don't specify a value for the `KmsKeyId` parameter, AWS DMS uses your default encryption key.\n\nAWS creates the default encryption key for your Amazon Web Services account. Your AWS account has a different default encryption key for each AWS Region .", + "title": "KmsKeyId", "type": "string" }, - "Overrides": { - "$ref": "#/definitions/AWS::DataSync::Task.Overrides", - "markdownDescription": "Customizes the reporting level for aspects of your task report. For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that DataSync attempted to delete in your destination location.", - "title": "Overrides" + "MaxCapacityUnits": { + "markdownDescription": "Specifies the maximum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the maximum value that you can specify for AWS DMS Serverless is 384. The `MaxCapacityUnits` parameter is the only DCU parameter you are required to specify.", + "title": "MaxCapacityUnits", + "type": "number" }, - "ReportLevel": { - "markdownDescription": "Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.\n\n- `ERRORS_ONLY` : A report shows what DataSync was unable to transfer, skip, verify, and delete.\n- `SUCCESSES_AND_ERRORS` : A report shows what DataSync was able and unable to transfer, skip, verify, and delete.", - "title": "ReportLevel", - "type": "string" - } - }, - "required": [ - "Destination", - "OutputType" - ], - "type": "object" - }, - "AWS::DataSync::Task.TaskReportConfigDestinationS3": { - "additionalProperties": false, - "properties": { - "BucketAccessRoleArn": { - "markdownDescription": "", - "title": "BucketAccessRoleArn", - "type": "string" + "MinCapacityUnits": { + "markdownDescription": "Specifies the minimum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the minimum DCU value that you can specify for AWS DMS Serverless is 1. If you don't set this value, AWS DMS sets this parameter to the minimum DCU value allowed, 1. If there is no current source activity, AWS DMS scales down your replication until it reaches the value specified in `MinCapacityUnits` .", + "title": "MinCapacityUnits", + "type": "number" }, - "S3BucketArn": { - "markdownDescription": "", - "title": "S3BucketArn", - "type": "string" + "MultiAZ": { + "markdownDescription": "Specifies whether the AWS DMS Serverless replication is a Multi-AZ deployment. You can't set the `AvailabilityZone` parameter if the `MultiAZ` parameter is set to `true` .", + "title": "MultiAZ", + "type": "boolean" }, - "Subdirectory": { - "markdownDescription": "", - "title": "Subdirectory", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.TaskSchedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "markdownDescription": "Specifies your task schedule by using a cron or rate expression.\n\nUse cron expressions for task schedules that run on a specific time and day. For example, the following cron expression creates a task schedule that runs at 8 AM on the first Wednesday of every month:\n\n`cron(0 8 * * 3#1)`\n\nUse rate expressions for task schedules that run on a regular interval. For example, the following rate expression creates a task schedule that runs every 12 hours:\n\n`rate(12 hours)`\n\nFor information about cron and rate expression syntax, see the [*Amazon EventBridge User Guide*](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html) .", - "title": "ScheduleExpression", + "PreferredMaintenanceWindow": { + "markdownDescription": "The weekly time range during which system maintenance can occur for the AWS DMS Serverless replication, in Universal Coordinated Time (UTC). The format is `ddd:hh24:mi-ddd:hh24:mi` .\n\nThe default is a 30-minute window selected at random from an 8-hour block of time per AWS Region . This maintenance occurs on a random day of the week. Valid values for days of the week include `Mon` , `Tue` , `Wed` , `Thu` , `Fri` , `Sat` , and `Sun` .\n\nConstraints include a minimum 30-minute window.", + "title": "PreferredMaintenanceWindow", "type": "string" }, - "Status": { - "markdownDescription": "Specifies whether to enable or disable your task schedule. Your schedule is enabled by default, but there can be situations where you need to disable it. For example, you might need to pause a recurring transfer to fix an issue with your task or perform maintenance on your storage system.\n\nDataSync might disable your schedule automatically if your task fails repeatedly with the same error. For more information, see [TaskScheduleDetails](https://docs.aws.amazon.com/datasync/latest/userguide/API_TaskScheduleDetails.html) .", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.Transferred": { - "additionalProperties": false, - "properties": { - "ReportLevel": { - "markdownDescription": "", - "title": "ReportLevel", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.Verified": { - "additionalProperties": false, - "properties": { - "ReportLevel": { - "markdownDescription": "", - "title": "ReportLevel", + "ReplicationSubnetGroupId": { + "markdownDescription": "Specifies a subnet group identifier to associate with the AWS DMS Serverless replication.", + "title": "ReplicationSubnetGroupId", "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the virtual private cloud (VPC) security group to use with the AWS DMS Serverless replication. The VPC security group must work with the VPC containing the replication.", + "title": "VpcSecurityGroupIds", + "type": "array" } }, + "required": [ + "MaxCapacityUnits" + ], "type": "object" }, - "AWS::DataSync::TaskExecution": { + "AWS::DMS::ReplicationInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -107658,21 +107196,106 @@ "Properties": { "additionalProperties": false, "properties": { + "AllocatedStorage": { + "markdownDescription": "The amount of storage (in gigabytes) to be initially allocated for the replication instance.", + "title": "AllocatedStorage", + "type": "number" + }, + "AllowMajorVersionUpgrade": { + "markdownDescription": "Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage, and the change is asynchronously applied as soon as possible.\n\nThis parameter must be set to `true` when specifying a value for the `EngineVersion` parameter that is a different major version than the replication instance's current version.", + "title": "AllowMajorVersionUpgrade", + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "markdownDescription": "A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window. This parameter defaults to `true` .\n\nDefault: `true`", + "title": "AutoMinorVersionUpgrade", + "type": "boolean" + }, + "AvailabilityZone": { + "markdownDescription": "The Availability Zone that the replication instance will be created in.\n\nThe default value is a random, system-chosen Availability Zone in the endpoint's AWS Region , for example `us-east-1d` .", + "title": "AvailabilityZone", + "type": "string" + }, + "DnsNameServers": { + "markdownDescription": "A list of custom DNS name servers supported for the replication instance to access your on-premise source or target database. This list overrides the default name servers supported by the replication instance. You can specify a comma-separated list of internet addresses for up to four on-premise DNS name servers. For example: `\"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4\"`", + "title": "DnsNameServers", + "type": "string" + }, + "EngineVersion": { + "markdownDescription": "The engine version number of the replication instance.\n\nIf an engine version number is not specified when a replication instance is created, the default is the latest engine version available.", + "title": "EngineVersion", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "An AWS key identifier that is used to encrypt the data on the replication instance.\n\nIf you don't specify a value for the `KmsKeyId` parameter, AWS DMS uses your default encryption key.\n\nAWS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Region .", + "title": "KmsKeyId", + "type": "string" + }, + "MultiAZ": { + "markdownDescription": "Specifies whether the replication instance is a Multi-AZ deployment. You can't set the `AvailabilityZone` parameter if the Multi-AZ parameter is set to `true` .", + "title": "MultiAZ", + "type": "boolean" + }, + "NetworkType": { + "markdownDescription": "The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.", + "title": "NetworkType", + "type": "string" + }, + "PreferredMaintenanceWindow": { + "markdownDescription": "The weekly time range during which system maintenance can occur, in UTC.\n\n*Format* : `ddd:hh24:mi-ddd:hh24:mi`\n\n*Default* : A 30-minute window selected at random from an 8-hour block of time per AWS Region , occurring on a random day of the week.\n\n*Valid days* ( `ddd` ): `Mon` | `Tue` | `Wed` | `Thu` | `Fri` | `Sat` | `Sun`\n\n*Constraints* : Minimum 30-minute window.", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "PubliclyAccessible": { + "markdownDescription": "Specifies the accessibility options for the replication instance. A value of `true` represents an instance with a public IP address. A value of `false` represents an instance with a private IP address. The default value is `true` .", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "ReplicationInstanceClass": { + "markdownDescription": "The compute and memory capacity of the replication instance as defined for the specified replication instance class. For example, to specify the instance class dms.c4.large, set this parameter to `\"dms.c4.large\"` . For more information on the settings and capacities for the available replication instance classes, see [Selecting the right AWS DMS replication instance for your migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth) in the *AWS Database Migration Service User Guide* .", + "title": "ReplicationInstanceClass", + "type": "string" + }, + "ReplicationInstanceIdentifier": { + "markdownDescription": "The replication instance identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n- Must contain 1-63 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Can't end with a hyphen or contain two consecutive hyphens.\n\nExample: `myrepinstance`", + "title": "ReplicationInstanceIdentifier", + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "markdownDescription": "A subnet group to associate with the replication instance.", + "title": "ReplicationSubnetGroupIdentifier", + "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` . For 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" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "One or more tags to be assigned to the replication instance.", + "title": "Tags", "type": "array" }, - "TaskArn": { - "type": "string" + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the virtual private cloud (VPC) security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance.", + "title": "VpcSecurityGroupIds", + "type": "array" } }, + "required": [ + "ReplicationInstanceClass" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DataSync::TaskExecution" + "AWS::DMS::ReplicationInstance" ], "type": "string" }, @@ -107686,62 +107309,101 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DataSync::TaskExecution.Options": { + "AWS::DMS::ReplicationSubnetGroup": { "additionalProperties": false, "properties": { - "Atime": { - "type": "string" - }, - "BytesPerSecond": { - "type": "number" - }, - "Gid": { - "type": "string" - }, - "LogLevel": { - "type": "string" - }, - "Mtime": { - "type": "string" - }, - "ObjectTags": { - "type": "string" - }, - "OverwriteMode": { - "type": "string" - }, - "PosixPermissions": { - "type": "string" - }, - "PreserveDeletedFiles": { + "Condition": { "type": "string" }, - "PreserveDevices": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SecurityDescriptorCopyFlags": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TaskQueueing": { - "type": "string" + "Metadata": { + "type": "object" }, - "TransferMode": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ReplicationSubnetGroupDescription": { + "markdownDescription": "The description for the subnet group.", + "title": "ReplicationSubnetGroupDescription", + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "markdownDescription": "The identifier for the replication subnet group. If you don't specify a name, CloudFormation generates a unique ID and uses that ID for the identifier.", + "title": "ReplicationSubnetGroupIdentifier", + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more subnet IDs to be assigned to the subnet group.", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "One or more tags to be assigned to the subnet group.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "ReplicationSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" }, - "Uid": { + "Type": { + "enum": [ + "AWS::DMS::ReplicationSubnetGroup" + ], "type": "string" }, - "VerifyMode": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::DataZone::Connection": { + "AWS::DMS::ReplicationTask": { "additionalProperties": false, "properties": { "Condition": { @@ -107776,67 +107438,87 @@ "Properties": { "additionalProperties": false, "properties": { - "AwsLocation": { - "$ref": "#/definitions/AWS::DataZone::Connection.AwsLocation", - "markdownDescription": "The location where the connection is created.", - "title": "AwsLocation" + "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" }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::DataZone::Connection.ConnectionConfiguration" - }, - "type": "array" + "CdcStartTime": { + "markdownDescription": "Indicates the start time for a change data capture (CDC) operation.", + "title": "CdcStartTime", + "type": "number" }, - "Description": { - "markdownDescription": "Connection description.", - "title": "Description", + "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" }, - "DomainIdentifier": { - "markdownDescription": "The ID of the domain where the connection is created.", - "title": "DomainIdentifier", + "MigrationType": { + "markdownDescription": "The migration type. Valid values: `full-load` | `cdc` | `full-load-and-cdc`", + "title": "MigrationType", "type": "string" }, - "EnableTrustedIdentityPropagation": { - "markdownDescription": "", - "title": "EnableTrustedIdentityPropagation", - "type": "boolean" + "ReplicationInstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of a replication instance.", + "title": "ReplicationInstanceArn", + "type": "string" }, - "EnvironmentIdentifier": { - "markdownDescription": "The ID of the environment where the connection is created.", - "title": "EnvironmentIdentifier", + "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" }, - "Name": { - "markdownDescription": "The name of the connection.", - "title": "Name", + "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" }, - "ProjectIdentifier": { - "markdownDescription": "", - "title": "ProjectIdentifier", + "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" }, - "Props": { - "$ref": "#/definitions/AWS::DataZone::Connection.ConnectionPropertiesInput", - "markdownDescription": "Connection props.", - "title": "Props" + "SourceEndpointArn": { + "markdownDescription": "An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.", + "title": "SourceEndpointArn", + "type": "string" }, - "Scope": { - "markdownDescription": "The scope of the connection.", - "title": "Scope", + "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": [ - "DomainIdentifier", - "Name" + "MigrationType", + "ReplicationInstanceArn", + "SourceEndpointArn", + "TableMappings", + "TargetEndpointArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::Connection" + "AWS::DMS::ReplicationTask" ], "type": "string" }, @@ -107855,739 +107537,262 @@ ], "type": "object" }, - "AWS::DataZone::Connection.AmazonQPropertiesInput": { + "AWS::DMS::ReplicationTaskAssessmentRun": { "additionalProperties": false, "properties": { - "AuthMode": { - "markdownDescription": "", - "title": "AuthMode", + "Condition": { "type": "string" }, - "IsEnabled": { - "markdownDescription": "", - "title": "IsEnabled", - "type": "boolean" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ProfileArn": { - "markdownDescription": "", - "title": "ProfileArn", + "DependsOn": { + "anyOf": [ + { + "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::DataZone::Connection.AthenaPropertiesInput": { + "AWS::DMS::ReplicationTaskAssessmentRun.AssessmentProgress": { "additionalProperties": false, "properties": { - "WorkgroupName": { - "markdownDescription": "The Amazon Athena workgroup name of a connection.", - "title": "WorkgroupName", + "IndividualAssessmentCompletedCount": { + "type": "number" + }, + "IndividualAssessmentCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::DRS::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": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DRS::Job" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "WorkgroupName" + "Type" ], "type": "object" }, - "AWS::DataZone::Connection.AuthenticationConfigurationInput": { + "AWS::DRS::Job.LaunchAction": { "additionalProperties": false, "properties": { - "AuthenticationType": { - "markdownDescription": "The authentication type of a connection.", - "title": "AuthenticationType", + "ActionCode": { "type": "string" }, - "BasicAuthenticationCredentials": { - "$ref": "#/definitions/AWS::DataZone::Connection.BasicAuthenticationCredentials", - "markdownDescription": "The basic authentication credentials of a connection.", - "title": "BasicAuthenticationCredentials" + "ActionId": { + "type": "string" }, - "CustomAuthenticationCredentials": { - "additionalProperties": true, - "markdownDescription": "The custom authentication credentials of a connection.", + "ActionVersion": { + "type": "string" + }, + "Active": { + "type": "boolean" + }, + "Category": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Optional": { + "type": "boolean" + }, + "Order": { + "type": "number" + }, + "Parameters": { + "additionalProperties": false, "patternProperties": { "^[a-zA-Z0-9]+$": { - "type": "string" + "$ref": "#/definitions/AWS::DRS::Job.LaunchActionParameter" } }, - "title": "CustomAuthenticationCredentials", "type": "object" }, - "KmsKeyArn": { - "markdownDescription": "The KMS key ARN of a connection.", - "title": "KmsKeyArn", - "type": "string" - }, - "OAuth2Properties": { - "$ref": "#/definitions/AWS::DataZone::Connection.OAuth2Properties", - "markdownDescription": "The oAuth2 properties of a connection.", - "title": "OAuth2Properties" - }, - "SecretArn": { - "markdownDescription": "The secret ARN of a connection.", - "title": "SecretArn", + "Type": { "type": "string" } }, "type": "object" }, - "AWS::DataZone::Connection.AuthorizationCodeProperties": { + "AWS::DRS::Job.LaunchActionParameter": { "additionalProperties": false, "properties": { - "AuthorizationCode": { - "markdownDescription": "The authorization code of a connection.", - "title": "AuthorizationCode", + "Type": { "type": "string" }, - "RedirectUri": { - "markdownDescription": "The redirect URI of a connection.", - "title": "RedirectUri", + "Value": { "type": "string" } }, "type": "object" }, - "AWS::DataZone::Connection.AwsLocation": { + "AWS::DRS::Job.LaunchActionRun": { "additionalProperties": false, "properties": { - "AccessRole": { - "markdownDescription": "The access role of a connection.", - "title": "AccessRole", - "type": "string" + "Action": { + "$ref": "#/definitions/AWS::DRS::Job.LaunchAction" }, - "AwsAccountId": { - "markdownDescription": "The account ID of a connection.", - "title": "AwsAccountId", + "RunId": { "type": "string" }, - "AwsRegion": { - "markdownDescription": "The Region of a connection.", - "title": "AwsRegion", + "Status": { "type": "string" + } + }, + "type": "object" + }, + "AWS::DRS::Job.LaunchActionsStatus": { + "additionalProperties": false, + "properties": { + "Runs": { + "items": { + "$ref": "#/definitions/AWS::DRS::Job.LaunchActionRun" + }, + "type": "array" }, - "IamConnectionId": { - "markdownDescription": "The IAM connection ID of a connection.", - "title": "IamConnectionId", + "SsmAgentDiscoveryDatetime": { "type": "string" } }, "type": "object" }, - "AWS::DataZone::Connection.BasicAuthenticationCredentials": { + "AWS::DRS::Job.ParticipatingResource": { "additionalProperties": false, "properties": { - "Password": { - "markdownDescription": "The password for a connection.", - "title": "Password", + "LaunchStatus": { "type": "string" }, - "UserName": { - "markdownDescription": "The user name for the connecion.", - "title": "UserName", - "type": "string" + "ParticipatingResourceID": { + "$ref": "#/definitions/AWS::DRS::Job.ParticipatingResourceID" } }, "type": "object" }, - "AWS::DataZone::Connection.ConnectionConfiguration": { + "AWS::DRS::Job.ParticipatingResourceID": { "additionalProperties": false, "properties": { - "Classification": { + "SourceNetworkID": { "type": "string" - }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" } }, + "required": [ + "SourceNetworkID" + ], "type": "object" }, - "AWS::DataZone::Connection.ConnectionPropertiesInput": { + "AWS::DRS::Job.ParticipatingServer": { "additionalProperties": false, "properties": { - "AmazonQProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.AmazonQPropertiesInput", - "markdownDescription": "", - "title": "AmazonQProperties" + "LaunchActionsStatus": { + "$ref": "#/definitions/AWS::DRS::Job.LaunchActionsStatus" }, - "AthenaProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.AthenaPropertiesInput", - "markdownDescription": "The Amazon Athena properties of a connection.", - "title": "AthenaProperties" + "LaunchStatus": { + "type": "string" }, - "GlueProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.GluePropertiesInput", - "markdownDescription": "The AWS Glue properties of a connection.", - "title": "GlueProperties" - }, - "HyperPodProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.HyperPodPropertiesInput", - "markdownDescription": "The hyper pod properties of a connection.", - "title": "HyperPodProperties" - }, - "IamProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.IamPropertiesInput", - "markdownDescription": "The IAM properties of a connection.", - "title": "IamProperties" - }, - "LakehouseProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.LakehousePropertiesInput" - }, - "MlflowProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.MlflowPropertiesInput", - "markdownDescription": "", - "title": "MlflowProperties" - }, - "RedshiftProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftPropertiesInput", - "markdownDescription": "The Amazon Redshift properties of a connection.", - "title": "RedshiftProperties" - }, - "S3Properties": { - "$ref": "#/definitions/AWS::DataZone::Connection.S3PropertiesInput", - "markdownDescription": "", - "title": "S3Properties" - }, - "SparkEmrProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.SparkEmrPropertiesInput", - "markdownDescription": "The Spark EMR properties of a connection.", - "title": "SparkEmrProperties" - }, - "SparkGlueProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.SparkGluePropertiesInput", - "markdownDescription": "The Spark AWS Glue properties of a connection.", - "title": "SparkGlueProperties" - }, - "WorkflowsMwaaProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.WorkflowsMwaaPropertiesInput" - }, - "WorkflowsServerlessProperties": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.GlueConnectionInput": { - "additionalProperties": false, - "properties": { - "AthenaProperties": { - "additionalProperties": true, - "markdownDescription": "The Amazon Athena properties of the AWS Glue connection.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "AthenaProperties", - "type": "object" - }, - "AuthenticationConfiguration": { - "$ref": "#/definitions/AWS::DataZone::Connection.AuthenticationConfigurationInput", - "markdownDescription": "The authentication configuration of the AWS Glue connection.", - "title": "AuthenticationConfiguration" - }, - "ConnectionProperties": { - "additionalProperties": true, - "markdownDescription": "The connection properties of the AWS Glue connection.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ConnectionProperties", - "type": "object" - }, - "ConnectionType": { - "markdownDescription": "The connection type of the AWS Glue connection.", - "title": "ConnectionType", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the AWS Glue connection.", - "title": "Description", - "type": "string" - }, - "MatchCriteria": { - "markdownDescription": "The match criteria of the AWS Glue connection.", - "title": "MatchCriteria", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the AWS Glue connection.", - "title": "Name", - "type": "string" - }, - "PhysicalConnectionRequirements": { - "$ref": "#/definitions/AWS::DataZone::Connection.PhysicalConnectionRequirements", - "markdownDescription": "The physical connection requirements for the AWS Glue connection.", - "title": "PhysicalConnectionRequirements" - }, - "PythonProperties": { - "additionalProperties": true, - "markdownDescription": "The Python properties of the AWS Glue connection.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "PythonProperties", - "type": "object" - }, - "SparkProperties": { - "additionalProperties": true, - "markdownDescription": "The Spark properties of the AWS Glue connection.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "SparkProperties", - "type": "object" - }, - "ValidateCredentials": { - "markdownDescription": "Speciefies whether to validate credentials of the AWS Glue connection.", - "title": "ValidateCredentials", - "type": "boolean" - }, - "ValidateForComputeEnvironments": { - "items": { - "type": "string" - }, - "markdownDescription": "Speciefies whether to validate for compute environments of the AWS Glue connection.", - "title": "ValidateForComputeEnvironments", - "type": "array" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.GlueOAuth2Credentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "markdownDescription": "The access token of a connection.", - "title": "AccessToken", - "type": "string" - }, - "JwtToken": { - "markdownDescription": "The jwt token of the connection.", - "title": "JwtToken", - "type": "string" - }, - "RefreshToken": { - "markdownDescription": "The refresh token of the connection.", - "title": "RefreshToken", - "type": "string" - }, - "UserManagedClientApplicationClientSecret": { - "markdownDescription": "The user managed client application client secret of the connection.", - "title": "UserManagedClientApplicationClientSecret", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.GluePropertiesInput": { - "additionalProperties": false, - "properties": { - "GlueConnectionInput": { - "$ref": "#/definitions/AWS::DataZone::Connection.GlueConnectionInput", - "markdownDescription": "The AWS Glue connection.", - "title": "GlueConnectionInput" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.HyperPodPropertiesInput": { - "additionalProperties": false, - "properties": { - "ClusterName": { - "markdownDescription": "The cluster name the hyper pod properties.", - "title": "ClusterName", - "type": "string" - } - }, - "required": [ - "ClusterName" - ], - "type": "object" - }, - "AWS::DataZone::Connection.IamPropertiesInput": { - "additionalProperties": false, - "properties": { - "GlueLineageSyncEnabled": { - "markdownDescription": "Specifies whether AWS Glue lineage sync is enabled for a connection.", - "title": "GlueLineageSyncEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.LakehousePropertiesInput": { - "additionalProperties": false, - "properties": { - "GlueLineageSyncEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.LineageSyncSchedule": { - "additionalProperties": false, - "properties": { - "Schedule": { - "markdownDescription": "The lineage sync schedule.", - "title": "Schedule", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.MlflowPropertiesInput": { - "additionalProperties": false, - "properties": { - "TrackingServerArn": { - "markdownDescription": "", - "title": "TrackingServerArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.OAuth2ClientApplication": { - "additionalProperties": false, - "properties": { - "AWSManagedClientApplicationReference": { - "markdownDescription": "The AWS managed client application reference in the OAuth2Client application.", - "title": "AWSManagedClientApplicationReference", - "type": "string" - }, - "UserManagedClientApplicationClientId": { - "markdownDescription": "The user managed client application client ID in the OAuth2Client application.", - "title": "UserManagedClientApplicationClientId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.OAuth2Properties": { - "additionalProperties": false, - "properties": { - "AuthorizationCodeProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.AuthorizationCodeProperties", - "markdownDescription": "The authorization code properties of the OAuth2 properties.", - "title": "AuthorizationCodeProperties" - }, - "OAuth2ClientApplication": { - "$ref": "#/definitions/AWS::DataZone::Connection.OAuth2ClientApplication", - "markdownDescription": "The OAuth2 client application of the OAuth2 properties.", - "title": "OAuth2ClientApplication" - }, - "OAuth2Credentials": { - "$ref": "#/definitions/AWS::DataZone::Connection.GlueOAuth2Credentials", - "markdownDescription": "The OAuth2 credentials of the OAuth2 properties.", - "title": "OAuth2Credentials" - }, - "OAuth2GrantType": { - "markdownDescription": "The OAuth2 grant type of the OAuth2 properties.", - "title": "OAuth2GrantType", - "type": "string" - }, - "TokenUrl": { - "markdownDescription": "The OAuth2 token URL of the OAuth2 properties.", - "title": "TokenUrl", - "type": "string" - }, - "TokenUrlParametersMap": { - "additionalProperties": true, - "markdownDescription": "The OAuth2 token URL parameter map of the OAuth2 properties.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "TokenUrlParametersMap", - "type": "object" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.PhysicalConnectionRequirements": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "markdownDescription": "The availability zone of the physical connection requirements of a connection.", - "title": "AvailabilityZone", - "type": "string" - }, - "SecurityGroupIdList": { - "items": { - "type": "string" - }, - "markdownDescription": "The group ID list of the physical connection requirements of a connection.", - "title": "SecurityGroupIdList", - "type": "array" - }, - "SubnetId": { - "markdownDescription": "The subnet ID of the physical connection requirements of a connection.", - "title": "SubnetId", - "type": "string" - }, - "SubnetIdList": { - "items": { - "type": "string" - }, - "markdownDescription": "The subnet ID list of the physical connection requirements of a connection.", - "title": "SubnetIdList", - "type": "array" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.RedshiftCredentials": { - "additionalProperties": false, - "properties": { - "SecretArn": { - "markdownDescription": "The secret ARN of the Amazon Redshift credentials of a connection.", - "title": "SecretArn", - "type": "string" - }, - "UsernamePassword": { - "$ref": "#/definitions/AWS::DataZone::Connection.UsernamePassword", - "markdownDescription": "The username and password of the Amazon Redshift credentials of a connection.", - "title": "UsernamePassword" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.RedshiftLineageSyncConfigurationInput": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "Specifies whether the Amaon Redshift lineage sync configuration is enabled.", - "title": "Enabled", - "type": "boolean" - }, - "Schedule": { - "$ref": "#/definitions/AWS::DataZone::Connection.LineageSyncSchedule", - "markdownDescription": "The schedule of the Amaon Redshift lineage sync configuration.", - "title": "Schedule" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.RedshiftPropertiesInput": { - "additionalProperties": false, - "properties": { - "Credentials": { - "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftCredentials", - "markdownDescription": "The Amaon Redshift credentials.", - "title": "Credentials" - }, - "DatabaseName": { - "markdownDescription": "The Amazon Redshift database name.", - "title": "DatabaseName", - "type": "string" - }, - "Host": { - "markdownDescription": "The Amazon Redshift host.", - "title": "Host", - "type": "string" - }, - "LineageSync": { - "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftLineageSyncConfigurationInput", - "markdownDescription": "The lineage sync of the Amazon Redshift.", - "title": "LineageSync" - }, - "Port": { - "markdownDescription": "The Amaon Redshift port.", - "title": "Port", - "type": "number" - }, - "Storage": { - "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftStorageProperties", - "markdownDescription": "The Amazon Redshift storage.", - "title": "Storage" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.RedshiftStorageProperties": { - "additionalProperties": false, - "properties": { - "ClusterName": { - "markdownDescription": "The cluster name in the Amazon Redshift storage properties.", - "title": "ClusterName", - "type": "string" - }, - "WorkgroupName": { - "markdownDescription": "The workgroup name in the Amazon Redshift storage properties.", - "title": "WorkgroupName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.S3PropertiesInput": { - "additionalProperties": false, - "properties": { - "RegisterS3AccessGrantLocation": { - "type": "boolean" - }, - "S3AccessGrantLocationId": { - "markdownDescription": "", - "title": "S3AccessGrantLocationId", - "type": "string" - }, - "S3Uri": { - "markdownDescription": "", - "title": "S3Uri", - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::DataZone::Connection.SparkEmrPropertiesInput": { - "additionalProperties": false, - "properties": { - "ComputeArn": { - "markdownDescription": "The compute ARN of Spark EMR.", - "title": "ComputeArn", - "type": "string" - }, - "InstanceProfileArn": { - "markdownDescription": "The instance profile ARN of Spark EMR.", - "title": "InstanceProfileArn", - "type": "string" - }, - "JavaVirtualEnv": { - "markdownDescription": "The java virtual env of the Spark EMR.", - "title": "JavaVirtualEnv", - "type": "string" - }, - "LogUri": { - "markdownDescription": "The log URI of the Spark EMR.", - "title": "LogUri", - "type": "string" - }, - "ManagedEndpointArn": { - "markdownDescription": "", - "title": "ManagedEndpointArn", - "type": "string" - }, - "PythonVirtualEnv": { - "markdownDescription": "The Python virtual env of the Spark EMR.", - "title": "PythonVirtualEnv", - "type": "string" - }, - "RuntimeRole": { - "markdownDescription": "The runtime role of the Spark EMR.", - "title": "RuntimeRole", - "type": "string" - }, - "TrustedCertificatesS3Uri": { - "markdownDescription": "The certificates S3 URI of the Spark EMR.", - "title": "TrustedCertificatesS3Uri", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.SparkGlueArgs": { - "additionalProperties": false, - "properties": { - "Connection": { - "markdownDescription": "The connection in the Spark AWS Glue args.", - "title": "Connection", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.SparkGluePropertiesInput": { - "additionalProperties": false, - "properties": { - "AdditionalArgs": { - "$ref": "#/definitions/AWS::DataZone::Connection.SparkGlueArgs", - "markdownDescription": "The additional args in the Spark AWS Glue properties.", - "title": "AdditionalArgs" - }, - "GlueConnectionName": { - "markdownDescription": "The AWS Glue connection name in the Spark AWS Glue properties.", - "title": "GlueConnectionName", - "type": "string" - }, - "GlueVersion": { - "markdownDescription": "The AWS Glue version in the Spark AWS Glue properties.", - "title": "GlueVersion", - "type": "string" - }, - "IdleTimeout": { - "markdownDescription": "The idle timeout in the Spark AWS Glue properties.", - "title": "IdleTimeout", - "type": "number" - }, - "JavaVirtualEnv": { - "markdownDescription": "The Java virtual env in the Spark AWS Glue properties.", - "title": "JavaVirtualEnv", - "type": "string" - }, - "NumberOfWorkers": { - "markdownDescription": "The number of workers in the Spark AWS Glue properties.", - "title": "NumberOfWorkers", - "type": "number" - }, - "PythonVirtualEnv": { - "markdownDescription": "The Python virtual env in the Spark AWS Glue properties.", - "title": "PythonVirtualEnv", - "type": "string" - }, - "WorkerType": { - "markdownDescription": "The worker type in the Spark AWS Glue properties.", - "title": "WorkerType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.UsernamePassword": { - "additionalProperties": false, - "properties": { - "Password": { - "markdownDescription": "The password of a connection.", - "title": "Password", + "RecoveryInstanceID": { "type": "string" }, - "Username": { - "markdownDescription": "The username of a connection.", - "title": "Username", - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::DataZone::Connection.WorkflowsMwaaPropertiesInput": { - "additionalProperties": false, - "properties": { - "MwaaEnvironmentName": { + "SourceServerID": { "type": "string" } }, "type": "object" }, - "AWS::DataZone::DataSource": { + "AWS::DRS::LaunchConfigurationTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -108622,86 +107827,42 @@ "Properties": { "additionalProperties": false, "properties": { - "AssetFormsInput": { - "items": { - "$ref": "#/definitions/AWS::DataZone::DataSource.FormInput" - }, - "markdownDescription": "The metadata forms attached to the assets that the data source works with.", - "title": "AssetFormsInput", - "type": "array" - }, - "Configuration": { - "$ref": "#/definitions/AWS::DataZone::DataSource.DataSourceConfigurationInput", - "markdownDescription": "The configuration of the data source.", - "title": "Configuration" - }, - "ConnectionIdentifier": { - "markdownDescription": "", - "title": "ConnectionIdentifier", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the data source.", - "title": "Description", - "type": "string" + "CopyPrivateIp": { + "type": "boolean" }, - "DomainIdentifier": { - "markdownDescription": "The ID of the Amazon DataZone domain where the data source is created.", - "title": "DomainIdentifier", - "type": "string" + "CopyTags": { + "type": "boolean" }, - "EnableSetting": { - "markdownDescription": "Specifies whether the data source is enabled.", - "title": "EnableSetting", + "ExportBucketArn": { "type": "string" }, - "EnvironmentIdentifier": { - "markdownDescription": "The unique identifier of the Amazon DataZone environment to which the data source publishes assets.", - "title": "EnvironmentIdentifier", + "LaunchDisposition": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the data source.", - "title": "Name", - "type": "string" + "LaunchIntoSourceInstance": { + "type": "boolean" }, - "ProjectIdentifier": { - "markdownDescription": "The identifier of the Amazon DataZone project in which you want to add this data source.", - "title": "ProjectIdentifier", - "type": "string" + "Licensing": { + "$ref": "#/definitions/AWS::DRS::LaunchConfigurationTemplate.Licensing" }, - "PublishOnImport": { - "markdownDescription": "Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.", - "title": "PublishOnImport", + "PostLaunchEnabled": { "type": "boolean" }, - "Recommendation": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RecommendationConfiguration", - "markdownDescription": "Specifies whether the business name generation is to be enabled for this data source.", - "title": "Recommendation" - }, - "Schedule": { - "$ref": "#/definitions/AWS::DataZone::DataSource.ScheduleConfiguration", - "markdownDescription": "The schedule of the data source runs.", - "title": "Schedule" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, - "Type": { - "markdownDescription": "The type of the data source. In Amazon DataZone, you can use data sources to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone. In the current release of Amazon DataZone, you can create and run data sources for AWS Glue and Amazon Redshift.", - "title": "Type", + "TargetInstanceTypeRightSizingMethod": { "type": "string" } }, - "required": [ - "DomainIdentifier", - "Name", - "ProjectIdentifier", - "Type" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::DataSource" + "AWS::DRS::LaunchConfigurationTemplate" ], "type": "string" }, @@ -108715,272 +107876,77 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.DataSourceConfigurationInput": { - "additionalProperties": false, - "properties": { - "GlueRunConfiguration": { - "$ref": "#/definitions/AWS::DataZone::DataSource.GlueRunConfigurationInput", - "markdownDescription": "The configuration of the AWS Glue data source.", - "title": "GlueRunConfiguration" - }, - "RedshiftRunConfiguration": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftRunConfigurationInput", - "markdownDescription": "The configuration of the Amazon Redshift data source.", - "title": "RedshiftRunConfiguration" - }, - "SageMakerRunConfiguration": { - "$ref": "#/definitions/AWS::DataZone::DataSource.SageMakerRunConfigurationInput", - "markdownDescription": "", - "title": "SageMakerRunConfiguration" - } - }, - "type": "object" - }, - "AWS::DataZone::DataSource.FilterExpression": { - "additionalProperties": false, - "properties": { - "Expression": { - "markdownDescription": "The search filter expression.", - "title": "Expression", - "type": "string" - }, - "Type": { - "markdownDescription": "The search filter explresison type.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Expression", "Type" ], "type": "object" }, - "AWS::DataZone::DataSource.FormInput": { - "additionalProperties": false, - "properties": { - "Content": { - "markdownDescription": "", - "title": "Content", - "type": "string" - }, - "FormName": { - "markdownDescription": "", - "title": "FormName", - "type": "string" - }, - "TypeIdentifier": { - "markdownDescription": "", - "title": "TypeIdentifier", - "type": "string" - }, - "TypeRevision": { - "markdownDescription": "", - "title": "TypeRevision", - "type": "string" - } - }, - "required": [ - "FormName" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.GlueRunConfigurationInput": { - "additionalProperties": false, - "properties": { - "AutoImportDataQualityResult": { - "markdownDescription": "Specifies whether to automatically import data quality metrics as part of the data source run.", - "title": "AutoImportDataQualityResult", - "type": "boolean" - }, - "CatalogName": { - "markdownDescription": "", - "title": "CatalogName", - "type": "string" - }, - "DataAccessRole": { - "markdownDescription": "The data access role included in the configuration details of the AWS Glue data source.", - "title": "DataAccessRole", - "type": "string" - }, - "RelationalFilterConfigurations": { - "items": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RelationalFilterConfiguration" - }, - "markdownDescription": "The relational filter configurations included in the configuration details of the AWS Glue data source.", - "title": "RelationalFilterConfigurations", - "type": "array" - } - }, - "required": [ - "RelationalFilterConfigurations" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.RecommendationConfiguration": { + "AWS::DRS::LaunchConfigurationTemplate.Licensing": { "additionalProperties": false, "properties": { - "EnableBusinessNameGeneration": { - "markdownDescription": "Specifies whether automatic business name generation is to be enabled or not as part of the recommendation configuration.", - "title": "EnableBusinessNameGeneration", + "OsByol": { "type": "boolean" } }, "type": "object" }, - "AWS::DataZone::DataSource.RedshiftClusterStorage": { - "additionalProperties": false, - "properties": { - "ClusterName": { - "markdownDescription": "The name of an Amazon Redshift cluster.", - "title": "ClusterName", - "type": "string" - } - }, - "required": [ - "ClusterName" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.RedshiftCredentialConfiguration": { + "AWS::DRS::RecoveryInstance": { "additionalProperties": false, "properties": { - "SecretManagerArn": { - "markdownDescription": "The ARN of a secret manager for an Amazon Redshift cluster.", - "title": "SecretManagerArn", + "Condition": { "type": "string" - } - }, - "required": [ - "SecretManagerArn" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.RedshiftRunConfigurationInput": { - "additionalProperties": false, - "properties": { - "DataAccessRole": { - "markdownDescription": "The data access role included in the configuration details of the Amazon Redshift data source.", - "title": "DataAccessRole", + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RedshiftCredentialConfiguration": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftCredentialConfiguration", - "markdownDescription": "The details of the credentials required to access an Amazon Redshift cluster.", - "title": "RedshiftCredentialConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RedshiftStorage": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftStorage", - "markdownDescription": "The details of the Amazon Redshift storage as part of the configuration of an Amazon Redshift data source run.", - "title": "RedshiftStorage" + "Metadata": { + "type": "object" }, - "RelationalFilterConfigurations": { - "items": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RelationalFilterConfiguration" - }, - "markdownDescription": "The relational filter configurations included in the configuration details of the AWS Glue data source.", - "title": "RelationalFilterConfigurations", - "type": "array" - } - }, - "required": [ - "RelationalFilterConfigurations" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.RedshiftServerlessStorage": { - "additionalProperties": false, - "properties": { - "WorkgroupName": { - "markdownDescription": "The name of the Amazon Redshift Serverless workgroup.", - "title": "WorkgroupName", - "type": "string" - } - }, - "required": [ - "WorkgroupName" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.RedshiftStorage": { - "additionalProperties": false, - "properties": { - "RedshiftClusterSource": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftClusterStorage", - "markdownDescription": "The details of the Amazon Redshift cluster source.", - "title": "RedshiftClusterSource" + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" }, - "RedshiftServerlessSource": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftServerlessStorage", - "markdownDescription": "The details of the Amazon Redshift Serverless workgroup source.", - "title": "RedshiftServerlessSource" - } - }, - "type": "object" - }, - "AWS::DataZone::DataSource.RelationalFilterConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "markdownDescription": "The database name specified in the relational filter configuration for the data source.", - "title": "DatabaseName", + "Type": { + "enum": [ + "AWS::DRS::RecoveryInstance" + ], "type": "string" }, - "FilterExpressions": { - "items": { - "$ref": "#/definitions/AWS::DataZone::DataSource.FilterExpression" - }, - "markdownDescription": "The filter expressions specified in the relational filter configuration for the data source.", - "title": "FilterExpressions", - "type": "array" - }, - "SchemaName": { - "markdownDescription": "The schema name specified in the relational filter configuration for the data source.", - "title": "SchemaName", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DatabaseName" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.SageMakerRunConfigurationInput": { - "additionalProperties": false, - "properties": { - "TrackingAssets": { - "markdownDescription": "", - "title": "TrackingAssets", - "type": "object" - } - }, - "required": [ - "TrackingAssets" + "Type" ], "type": "object" }, - "AWS::DataZone::DataSource.ScheduleConfiguration": { - "additionalProperties": false, - "properties": { - "Schedule": { - "markdownDescription": "The schedule of the data source runs.", - "title": "Schedule", - "type": "string" - }, - "Timezone": { - "markdownDescription": "The timezone of the data source run.", - "title": "Timezone", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Domain": { + "AWS::DRS::ReplicationConfigurationTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -109015,58 +107981,83 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the Amazon DataZone domain.", - "title": "Description", + "AssociateDefaultSecurityGroup": { + "type": "boolean" + }, + "AutoReplicateNewDisks": { + "type": "boolean" + }, + "BandwidthThrottling": { + "type": "number" + }, + "CreatePublicIP": { + "type": "boolean" + }, + "DataPlaneRouting": { "type": "string" }, - "DomainExecutionRole": { - "markdownDescription": "The domain execution role that is created when an Amazon DataZone domain is created. The domain execution role is created in the AWS account that houses the Amazon DataZone domain.", - "title": "DomainExecutionRole", + "DefaultLargeStagingDiskType": { "type": "string" }, - "DomainVersion": { - "markdownDescription": "The domain version.", - "title": "DomainVersion", + "EbsEncryption": { "type": "string" }, - "KmsKeyIdentifier": { - "markdownDescription": "The identifier of the AWS Key Management Service (KMS) key that is used to encrypt the Amazon DataZone domain, metadata, and reporting data.", - "title": "KmsKeyIdentifier", + "EbsEncryptionKeyArn": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the Amazon DataZone domain.", - "title": "Name", + "InternetProtocol": { "type": "string" }, - "ServiceRole": { - "markdownDescription": "The service role of the domain.", - "title": "ServiceRole", + "PitPolicy": { + "items": { + "$ref": "#/definitions/AWS::DRS::ReplicationConfigurationTemplate.PITPolicyRule" + }, + "type": "array" + }, + "ReplicationServerInstanceType": { "type": "string" }, - "SingleSignOn": { - "$ref": "#/definitions/AWS::DataZone::Domain.SingleSignOn", - "markdownDescription": "The single sign-on details in Amazon DataZone.", - "title": "SingleSignOn" + "ReplicationServersSecurityGroupsIDs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StagingAreaSubnetId": { + "type": "string" + }, + "StagingAreaTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags specified for the Amazon DataZone domain.", - "title": "Tags", "type": "array" + }, + "UseDedicatedReplicationServer": { + "type": "boolean" } }, "required": [ - "Name" + "BandwidthThrottling", + "EbsEncryption", + "PitPolicy", + "ReplicationServersSecurityGroupsIDs", + "StagingAreaSubnetId", + "StagingAreaTags" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::Domain" + "AWS::DRS::ReplicationConfigurationTemplate" ], "type": "string" }, @@ -109085,28 +108076,33 @@ ], "type": "object" }, - "AWS::DataZone::Domain.SingleSignOn": { + "AWS::DRS::ReplicationConfigurationTemplate.PITPolicyRule": { "additionalProperties": false, "properties": { - "IdcInstanceArn": { - "markdownDescription": "The ARN of the IDC instance.", - "title": "IdcInstanceArn", - "type": "string" + "Enabled": { + "type": "boolean" }, - "Type": { - "markdownDescription": "The type of single sign-on in Amazon DataZone.", - "title": "Type", - "type": "string" + "Interval": { + "type": "number" }, - "UserAssignment": { - "markdownDescription": "The single sign-on user assignment in Amazon DataZone.", - "title": "UserAssignment", + "RetentionDuration": { + "type": "number" + }, + "RuleID": { + "type": "number" + }, + "Units": { "type": "string" } }, + "required": [ + "Interval", + "RetentionDuration", + "Units" + ], "type": "object" }, - "AWS::DataZone::DomainUnit": { + "AWS::DRS::SourceNetwork": { "additionalProperties": false, "properties": { "Condition": { @@ -109141,37 +108137,32 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the domain unit.", - "title": "Description", + "OriginAccountID": { "type": "string" }, - "DomainIdentifier": { - "markdownDescription": "The ID of the domain where you want to crate a domain unit.", - "title": "DomainIdentifier", + "OriginRegion": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the domain unit.", - "title": "Name", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, - "ParentDomainUnitIdentifier": { - "markdownDescription": "The ID of the parent domain unit.", - "title": "ParentDomainUnitIdentifier", + "VpcID": { "type": "string" } }, "required": [ - "DomainIdentifier", - "Name", - "ParentDomainUnitIdentifier" + "OriginAccountID", + "OriginRegion", + "VpcID" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::DomainUnit" + "AWS::DRS::SourceNetwork" ], "type": "string" }, @@ -109190,7 +108181,7 @@ ], "type": "object" }, - "AWS::DataZone::Environment": { + "AWS::DRS::SourceServer": { "additionalProperties": false, "properties": { "Condition": { @@ -109224,83 +108215,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "DeploymentOrder": { - "type": "number" - }, - "Description": { - "markdownDescription": "The description of the environment.", - "title": "Description", - "type": "string" - }, - "DomainIdentifier": { - "markdownDescription": "The identifier of the Amazon DataZone domain in which the environment is created.", - "title": "DomainIdentifier", - "type": "string" - }, - "EnvironmentAccountIdentifier": { - "markdownDescription": "The identifier of the AWS account in which an environment exists.", - "title": "EnvironmentAccountIdentifier", - "type": "string" - }, - "EnvironmentAccountRegion": { - "markdownDescription": "The AWS Region in which an environment exists.", - "title": "EnvironmentAccountRegion", - "type": "string" - }, - "EnvironmentBlueprintIdentifier": { - "type": "string" - }, - "EnvironmentConfigurationId": { - "type": "string" - }, - "EnvironmentProfileIdentifier": { - "markdownDescription": "The identifier of the environment profile that is used to create this Amazon DataZone environment.", - "title": "EnvironmentProfileIdentifier", - "type": "string" - }, - "EnvironmentRoleArn": { - "markdownDescription": "The ARN of the environment role.", - "title": "EnvironmentRoleArn", - "type": "string" - }, - "GlossaryTerms": { - "items": { - "type": "string" - }, - "markdownDescription": "The glossary terms that can be used in this Amazon DataZone environment.", - "title": "GlossaryTerms", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the Amazon DataZone environment.", - "title": "Name", - "type": "string" - }, - "ProjectIdentifier": { - "markdownDescription": "The identifier of the Amazon DataZone project in which this environment is created.", - "title": "ProjectIdentifier", - "type": "string" - }, - "UserParameters": { - "items": { - "$ref": "#/definitions/AWS::DataZone::Environment.EnvironmentParameter" - }, - "markdownDescription": "The user parameters of this Amazon DataZone environment.", - "title": "UserParameters", - "type": "array" - } - }, - "required": [ - "DomainIdentifier", - "Name", - "ProjectIdentifier" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::Environment" + "AWS::DRS::SourceServer" ], "type": "string" }, @@ -109314,308 +108234,131 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::DataZone::Environment.EnvironmentParameter": { + "AWS::DRS::SourceServer.CPU": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the environment parameter.", - "title": "Name", - "type": "string" + "Cores": { + "type": "number" }, - "Value": { - "markdownDescription": "The value of the environment parameter.", - "title": "Value", + "ModelName": { "type": "string" } }, "type": "object" }, - "AWS::DataZone::EnvironmentActions": { + "AWS::DRS::SourceServer.DataReplicationInfo": { "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": { - "markdownDescription": "The environment action description.", - "title": "Description", - "type": "string" - }, - "DomainIdentifier": { - "markdownDescription": "The Amazon DataZone domain ID of the environment action.", - "title": "DomainIdentifier", - "type": "string" - }, - "EnvironmentIdentifier": { - "markdownDescription": "The environment ID of the environment action.", - "title": "EnvironmentIdentifier", - "type": "string" - }, - "Identifier": { - "markdownDescription": "The ID of the environment action.", - "title": "Identifier", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the environment action.", - "title": "Name", - "type": "string" - }, - "Parameters": { - "$ref": "#/definitions/AWS::DataZone::EnvironmentActions.AwsConsoleLinkParameters", - "markdownDescription": "The parameters of the environment action.", - "title": "Parameters" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataZone::EnvironmentActions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DataReplicationState": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::DataZone::EnvironmentActions.AwsConsoleLinkParameters": { + "AWS::DRS::SourceServer.Disk": { "additionalProperties": false, "properties": { - "Uri": { - "markdownDescription": "The URI of the console link specified as part of the environment action.", - "title": "Uri", + "Bytes": { + "type": "number" + }, + "DeviceName": { "type": "string" } }, "type": "object" }, - "AWS::DataZone::EnvironmentBlueprintConfiguration": { + "AWS::DRS::SourceServer.IdentificationHints": { "additionalProperties": false, "properties": { - "Condition": { + "AwsInstanceID": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Fqdn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainIdentifier": { - "markdownDescription": "The identifier of the Amazon DataZone domain in which an environment blueprint exists.", - "title": "DomainIdentifier", - "type": "string" - }, - "EnabledRegions": { - "items": { - "type": "string" - }, - "markdownDescription": "The enabled AWS Regions specified in a blueprint configuration.", - "title": "EnabledRegions", - "type": "array" - }, - "EnvironmentBlueprintIdentifier": { - "markdownDescription": "The identifier of the environment blueprint.\n\nIn the current release, only the following values are supported: `DefaultDataLake` and `DefaultDataWarehouse` .", - "title": "EnvironmentBlueprintIdentifier", - "type": "string" - }, - "EnvironmentRolePermissionBoundary": { - "markdownDescription": "The environment role permission boundary.", - "title": "EnvironmentRolePermissionBoundary", - "type": "string" - }, - "GlobalParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ManageAccessRoleArn": { - "markdownDescription": "The ARN of the manage access role.", - "title": "ManageAccessRoleArn", - "type": "string" - }, - "ProvisioningConfigurations": { - "items": { - "$ref": "#/definitions/AWS::DataZone::EnvironmentBlueprintConfiguration.ProvisioningConfiguration" - }, - "markdownDescription": "The provisioning configuration of a blueprint.", - "title": "ProvisioningConfigurations", - "type": "array" - }, - "ProvisioningRoleArn": { - "markdownDescription": "The ARN of the provisioning role.", - "title": "ProvisioningRoleArn", - "type": "string" - }, - "RegionalParameters": { - "items": { - "$ref": "#/definitions/AWS::DataZone::EnvironmentBlueprintConfiguration.RegionalParameter" - }, - "markdownDescription": "The regional parameters of the environment blueprint.", - "title": "RegionalParameters", - "type": "array" - } - }, - "required": [ - "DomainIdentifier", - "EnabledRegions", - "EnvironmentBlueprintIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataZone::EnvironmentBlueprintConfiguration" - ], + "Hostname": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "VmWareUuid": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::DataZone::EnvironmentBlueprintConfiguration.LakeFormationConfiguration": { + "AWS::DRS::SourceServer.NetworkInterface": { "additionalProperties": false, "properties": { - "LocationRegistrationExcludeS3Locations": { + "Ips": { "items": { "type": "string" }, - "markdownDescription": "Specifies certain Amazon S3 locations if you do not want Amazon DataZone to automatically register them in hybrid mode.", - "title": "LocationRegistrationExcludeS3Locations", "type": "array" }, - "LocationRegistrationRole": { - "markdownDescription": "The role that is used to manage read/write access to the chosen Amazon S3 bucket(s) for Data Lake using AWS Lake Formation hybrid access mode.", - "title": "LocationRegistrationRole", + "IsPrimary": { + "type": "boolean" + }, + "MacAddress": { "type": "string" } }, "type": "object" }, - "AWS::DataZone::EnvironmentBlueprintConfiguration.ProvisioningConfiguration": { + "AWS::DRS::SourceServer.OS": { "additionalProperties": false, "properties": { - "LakeFormationConfiguration": { - "$ref": "#/definitions/AWS::DataZone::EnvironmentBlueprintConfiguration.LakeFormationConfiguration", - "markdownDescription": "The Lake Formation configuration of the Data Lake blueprint.", - "title": "LakeFormationConfiguration" + "FullString": { + "type": "string" } }, - "required": [ - "LakeFormationConfiguration" - ], "type": "object" }, - "AWS::DataZone::EnvironmentBlueprintConfiguration.RegionalParameter": { + "AWS::DRS::SourceServer.SourceProperties": { "additionalProperties": false, "properties": { - "Parameters": { - "additionalProperties": true, - "markdownDescription": "A string to string map containing parameters for the region.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "Cpus": { + "items": { + "$ref": "#/definitions/AWS::DRS::SourceServer.CPU" }, - "title": "Parameters", - "type": "object" + "type": "array" }, - "Region": { - "markdownDescription": "The region specified in the environment parameter.", - "title": "Region", + "Disks": { + "items": { + "$ref": "#/definitions/AWS::DRS::SourceServer.Disk" + }, + "type": "array" + }, + "IdentificationHints": { + "$ref": "#/definitions/AWS::DRS::SourceServer.IdentificationHints" + }, + "LastUpdatedDateTime": { + "type": "string" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::DRS::SourceServer.NetworkInterface" + }, + "type": "array" + }, + "Os": { + "$ref": "#/definitions/AWS::DRS::SourceServer.OS" + }, + "RamBytes": { + "type": "number" + }, + "RecommendedInstanceType": { "type": "string" + }, + "SupportsNitroInstances": { + "type": "boolean" } }, "type": "object" }, - "AWS::DataZone::EnvironmentProfile": { + "AWS::DSQL::Cluster": { "additionalProperties": false, "properties": { "Condition": { @@ -109650,63 +108393,40 @@ "Properties": { "additionalProperties": false, "properties": { - "AwsAccountId": { - "markdownDescription": "The identifier of an AWS account in which an environment profile exists.", - "title": "AwsAccountId", - "type": "string" - }, - "AwsAccountRegion": { - "markdownDescription": "The AWS Region in which an environment profile exists.", - "title": "AwsAccountRegion", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the environment profile.", - "title": "Description", - "type": "string" - }, - "DomainIdentifier": { - "markdownDescription": "The identifier of the Amazon DataZone domain in which the environment profile exists.", - "title": "DomainIdentifier", - "type": "string" + "DeletionProtectionEnabled": { + "markdownDescription": "Whether deletion protection is enabled on this cluster.", + "title": "DeletionProtectionEnabled", + "type": "boolean" }, - "EnvironmentBlueprintIdentifier": { - "markdownDescription": "The identifier of a blueprint with which an environment profile is created.", - "title": "EnvironmentBlueprintIdentifier", + "KmsEncryptionKey": { + "markdownDescription": "", + "title": "KmsEncryptionKey", "type": "string" }, - "Name": { - "markdownDescription": "The name of the environment profile.", - "title": "Name", - "type": "string" + "MultiRegionProperties": { + "$ref": "#/definitions/AWS::DSQL::Cluster.MultiRegionProperties", + "markdownDescription": "Defines the structure for multi-Region cluster configurations, containing the witness Region and peered cluster settings.", + "title": "MultiRegionProperties" }, - "ProjectIdentifier": { - "markdownDescription": "The identifier of a project in which an environment profile exists.", - "title": "ProjectIdentifier", + "PolicyDocument": { + "markdownDescription": "A resource-based policy document in JSON format. Length constraints: Minimum length of 1. Maximum length of 20480 characters (approximately 20KB).", + "title": "PolicyDocument", "type": "string" }, - "UserParameters": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataZone::EnvironmentProfile.EnvironmentParameter" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The user parameters of this Amazon DataZone environment profile.", - "title": "UserParameters", + "markdownDescription": "A map of key and value pairs this cluster is tagged with.", + "title": "Tags", "type": "array" } }, - "required": [ - "AwsAccountId", - "AwsAccountRegion", - "DomainIdentifier", - "EnvironmentBlueprintIdentifier", - "Name", - "ProjectIdentifier" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::EnvironmentProfile" + "AWS::DSQL::Cluster" ], "type": "string" }, @@ -109720,28 +108440,51 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::DataZone::EnvironmentProfile.EnvironmentParameter": { + "AWS::DSQL::Cluster.EncryptionDetails": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name specified in the environment parameter.", - "title": "Name", + "EncryptionStatus": { + "markdownDescription": "The status of encryption for the cluster.", + "title": "EncryptionStatus", "type": "string" }, - "Value": { - "markdownDescription": "The value of the environment profile.", - "title": "Value", + "EncryptionType": { + "markdownDescription": "The type of encryption that protects the data on your cluster.", + "title": "EncryptionType", + "type": "string" + }, + "KmsKeyArn": { + "markdownDescription": "The ARN of the AWS key that encrypts data in the cluster.", + "title": "KmsKeyArn", "type": "string" } }, "type": "object" }, - "AWS::DataZone::FormType": { + "AWS::DSQL::Cluster.MultiRegionProperties": { + "additionalProperties": false, + "properties": { + "Clusters": { + "items": { + "type": "string" + }, + "markdownDescription": "The set of peered clusters that form the multi-Region cluster configuration. Each peered cluster represents a database instance in a different Region.", + "title": "Clusters", + "type": "array" + }, + "WitnessRegion": { + "markdownDescription": "The Region that serves as the witness Region for a multi-Region cluster. The witness Region helps maintain cluster consistency and quorum.", + "title": "WitnessRegion", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset": { "additionalProperties": false, "properties": { "Condition": { @@ -109776,48 +108519,54 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the metadata form type.", - "title": "Description", + "Format": { + "markdownDescription": "The file format of a dataset that is created from an Amazon S3 file or folder.", + "title": "Format", "type": "string" }, - "DomainIdentifier": { - "markdownDescription": "The identifier of the Amazon DataZone domain in which the form type exists.", - "title": "DomainIdentifier", - "type": "string" + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FormatOptions", + "markdownDescription": "A set of options that define how DataBrew interprets the data in the dataset.", + "title": "FormatOptions" }, - "Model": { - "$ref": "#/definitions/AWS::DataZone::FormType.Model", - "markdownDescription": "The model of the form type.", - "title": "Model" + "Input": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.Input", + "markdownDescription": "Information on how DataBrew can find the dataset, in either the AWS Glue Data Catalog or Amazon S3 .", + "title": "Input" }, "Name": { - "markdownDescription": "The name of the form type.", + "markdownDescription": "The unique name of the dataset.", "title": "Name", "type": "string" }, - "OwningProjectIdentifier": { - "markdownDescription": "The identifier of the project that owns the form type.", - "title": "OwningProjectIdentifier", - "type": "string" + "PathOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.PathOptions", + "markdownDescription": "A set of options that defines how DataBrew interprets an Amazon S3 path of the dataset.", + "title": "PathOptions" }, - "Status": { - "markdownDescription": "The status of the form type.", - "title": "Status", + "Source": { + "markdownDescription": "The location of the data for the dataset, either Amazon S3 or the AWS Glue Data Catalog .", + "title": "Source", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Metadata tags that have been applied to the dataset.", + "title": "Tags", + "type": "array" } }, "required": [ - "DomainIdentifier", - "Model", - "Name", - "OwningProjectIdentifier" + "Input", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::FormType" + "AWS::DataBrew::Dataset" ], "type": "string" }, @@ -109836,653 +108585,368 @@ ], "type": "object" }, - "AWS::DataZone::FormType.Model": { + "AWS::DataBrew::Dataset.CsvOptions": { "additionalProperties": false, "properties": { - "Smithy": { - "markdownDescription": "", - "title": "Smithy", + "Delimiter": { + "markdownDescription": "A single character that specifies the delimiter being used in the CSV file.", + "title": "Delimiter", "type": "string" + }, + "HeaderRow": { + "markdownDescription": "A variable that specifies whether the first row in the file is parsed as the header. If this value is false, column names are auto-generated.", + "title": "HeaderRow", + "type": "boolean" } }, "type": "object" }, - "AWS::DataZone::GroupProfile": { + "AWS::DataBrew::Dataset.DataCatalogInputDefinition": { "additionalProperties": false, "properties": { - "Condition": { + "CatalogId": { + "markdownDescription": "The unique identifier of the AWS account that holds the Data Catalog that stores the data.", + "title": "CatalogId", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DatabaseName": { + "markdownDescription": "The name of a database in the Data Catalog.", + "title": "DatabaseName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainIdentifier": { - "markdownDescription": "The identifier of the Amazon DataZone domain in which a group profile exists.", - "title": "DomainIdentifier", - "type": "string" - }, - "GroupIdentifier": { - "markdownDescription": "The ID of the group of a project member.", - "title": "GroupIdentifier", - "type": "string" - }, - "GroupType": { - "type": "string" - }, - "RolePrincipalArn": { - "type": "string" - }, - "Status": { - "markdownDescription": "The status of a group profile.", - "title": "Status", - "type": "string" - } - }, - "required": [ - "DomainIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataZone::GroupProfile" - ], + "TableName": { + "markdownDescription": "The name of a database table in the Data Catalog. This table corresponds to a DataBrew dataset.", + "title": "TableName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location", + "markdownDescription": "An Amazon location that AWS Glue Data Catalog can use as a temporary directory.", + "title": "TempDirectory" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::DataZone::Owner": { + "AWS::DataBrew::Dataset.DatabaseInputDefinition": { "additionalProperties": false, "properties": { - "Condition": { + "DatabaseTableName": { + "markdownDescription": "The table within the target database.", + "title": "DatabaseTableName", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "GlueConnectionName": { + "markdownDescription": "The AWS Glue Connection that stores the connection information for the target database.", + "title": "GlueConnectionName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainIdentifier": { - "markdownDescription": "The ID of the domain in which you want to add the entity owner.", - "title": "DomainIdentifier", - "type": "string" - }, - "EntityIdentifier": { - "markdownDescription": "The ID of the entity to which you want to add an owner.", - "title": "EntityIdentifier", - "type": "string" - }, - "EntityType": { - "markdownDescription": "The type of an entity.", - "title": "EntityType", - "type": "string" - }, - "Owner": { - "$ref": "#/definitions/AWS::DataZone::Owner.OwnerProperties", - "markdownDescription": "The owner that you want to add to the entity.", - "title": "Owner" - } - }, - "required": [ - "DomainIdentifier", - "EntityIdentifier", - "EntityType", - "Owner" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataZone::Owner" - ], + "QueryString": { + "markdownDescription": "Custom SQL to run against the provided AWS Glue connection. This SQL will be used as the input for DataBrew projects and jobs.", + "title": "QueryString", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location", + "markdownDescription": "An Amazon location that AWS Glue Data Catalog can use as a temporary directory.", + "title": "TempDirectory" } }, "required": [ - "Type", - "Properties" + "GlueConnectionName" ], "type": "object" }, - "AWS::DataZone::Owner.OwnerGroupProperties": { + "AWS::DataBrew::Dataset.DatasetParameter": { "additionalProperties": false, "properties": { - "GroupIdentifier": { - "markdownDescription": "The ID of the domain unit owners group.", - "title": "GroupIdentifier", + "CreateColumn": { + "markdownDescription": "Optional boolean value that defines whether the captured value of this parameter should be loaded as an additional column in the dataset.", + "title": "CreateColumn", + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatetimeOptions", + "markdownDescription": "Additional parameter options such as a format and a timezone. Required for datetime parameters.", + "title": "DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression", + "markdownDescription": "The optional filter expression structure to apply additional matching criteria to the parameter.", + "title": "Filter" + }, + "Name": { + "markdownDescription": "The name of the parameter that is used in the dataset's Amazon S3 path.", + "title": "Name", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of the dataset parameter, can be one of a 'String', 'Number' or 'Datetime'.", + "title": "Type", "type": "string" } }, + "required": [ + "Name", + "Type" + ], "type": "object" }, - "AWS::DataZone::Owner.OwnerProperties": { + "AWS::DataBrew::Dataset.DatetimeOptions": { "additionalProperties": false, "properties": { - "Group": { - "$ref": "#/definitions/AWS::DataZone::Owner.OwnerGroupProperties", - "markdownDescription": "Specifies that the domain unit owner is a group.", - "title": "Group" + "Format": { + "markdownDescription": "Required option, that defines the datetime format used for a date parameter in the Amazon S3 path. Should use only supported datetime specifiers and separation characters, all litera a-z or A-Z character should be escaped with single quotes. E.g. \"MM.dd.yyyy-'at'-HH:mm\".", + "title": "Format", + "type": "string" }, - "User": { - "$ref": "#/definitions/AWS::DataZone::Owner.OwnerUserProperties", - "markdownDescription": "Specifies that the domain unit owner is a user.", - "title": "User" + "LocaleCode": { + "markdownDescription": "Optional value for a non-US locale code, needed for correct interpretation of some date formats.", + "title": "LocaleCode", + "type": "string" + }, + "TimezoneOffset": { + "markdownDescription": "Optional value for a timezone offset of the datetime parameter value in the Amazon S3 path. Shouldn't be used if Format for this parameter includes timezone fields. If no offset specified, UTC is assumed.", + "title": "TimezoneOffset", + "type": "string" } }, + "required": [ + "Format" + ], "type": "object" }, - "AWS::DataZone::Owner.OwnerUserProperties": { + "AWS::DataBrew::Dataset.ExcelOptions": { "additionalProperties": false, "properties": { - "UserIdentifier": { - "markdownDescription": "The ID of the owner user.", - "title": "UserIdentifier", - "type": "string" + "HeaderRow": { + "markdownDescription": "A variable that specifies whether the first row in the file is parsed as the header. If this value is false, column names are auto-generated.", + "title": "HeaderRow", + "type": "boolean" + }, + "SheetIndexes": { + "items": { + "type": "number" + }, + "markdownDescription": "One or more sheet numbers in the Excel file that will be included in the dataset.", + "title": "SheetIndexes", + "type": "array" + }, + "SheetNames": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more named sheets in the Excel file that will be included in the dataset.", + "title": "SheetNames", + "type": "array" } }, "type": "object" }, - "AWS::DataZone::PolicyGrant": { + "AWS::DataBrew::Dataset.FilesLimit": { "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": { - "Detail": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.PolicyGrantDetail", - "markdownDescription": "The details of the policy grant member.", - "title": "Detail" - }, - "DomainIdentifier": { - "markdownDescription": "The ID of the domain where you want to add a policy grant.", - "title": "DomainIdentifier", - "type": "string" - }, - "EntityIdentifier": { - "markdownDescription": "The ID of the entity (resource) to which you want to add a policy grant.", - "title": "EntityIdentifier", - "type": "string" - }, - "EntityType": { - "markdownDescription": "The type of entity (resource) to which the grant is added.", - "title": "EntityType", - "type": "string" - }, - "PolicyType": { - "markdownDescription": "The type of policy that you want to grant.", - "title": "PolicyType", - "type": "string" - }, - "Principal": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.PolicyGrantPrincipal", - "markdownDescription": "The principal of the policy grant member.", - "title": "Principal" - } - }, - "required": [ - "DomainIdentifier", - "EntityIdentifier", - "EntityType", - "PolicyType" - ], - "type": "object" + "MaxFiles": { + "markdownDescription": "The number of Amazon S3 files to select.", + "title": "MaxFiles", + "type": "number" }, - "Type": { - "enum": [ - "AWS::DataZone::PolicyGrant" - ], + "Order": { + "markdownDescription": "A criteria to use for Amazon S3 files sorting before their selection. By default uses DESCENDING order, i.e. most recent files are selected first. Anotherpossible value is ASCENDING.", + "title": "Order", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "OrderedBy": { + "markdownDescription": "A criteria to use for Amazon S3 files sorting before their selection. By default uses LAST_MODIFIED_DATE as a sorting criteria. Currently it's the only allowed value.", + "title": "OrderedBy", "type": "string" } }, "required": [ - "Type", - "Properties" + "MaxFiles" ], "type": "object" }, - "AWS::DataZone::PolicyGrant.AddToProjectMemberPoolPolicyGrantDetail": { + "AWS::DataBrew::Dataset.FilterExpression": { "additionalProperties": false, "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" + "Expression": { + "markdownDescription": "The expression which includes condition names followed by substitution variables, possibly grouped and combined with other conditions. For example, \"(starts_with :prefix1 or starts_with :prefix2) and (ends_with :suffix1 or ends_with :suffix2)\". Substitution variables should start with ':' symbol.", + "title": "Expression", + "type": "string" + }, + "ValuesMap": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterValue" + }, + "markdownDescription": "The map of substitution variable names to their values used in this filter expression.", + "title": "ValuesMap", + "type": "array" } }, + "required": [ + "Expression", + "ValuesMap" + ], "type": "object" }, - "AWS::DataZone::PolicyGrant.CreateAssetTypePolicyGrantDetail": { + "AWS::DataBrew::Dataset.FilterValue": { "additionalProperties": false, "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" + "Value": { + "markdownDescription": "The value to be associated with the substitution variable.", + "title": "Value", + "type": "string" + }, + "ValueReference": { + "markdownDescription": "The substitution variable reference.", + "title": "ValueReference", + "type": "string" } }, + "required": [ + "Value", + "ValueReference" + ], "type": "object" }, - "AWS::DataZone::PolicyGrant.CreateDomainUnitPolicyGrantDetail": { + "AWS::DataBrew::Dataset.FormatOptions": { "additionalProperties": false, "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.CsvOptions", + "markdownDescription": "Options that define how CSV input is to be interpreted by DataBrew.", + "title": "Csv" + }, + "Excel": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.ExcelOptions", + "markdownDescription": "Options that define how Excel input is to be interpreted by DataBrew.", + "title": "Excel" + }, + "Json": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.JsonOptions", + "markdownDescription": "Options that define how JSON input is to be interpreted by DataBrew.", + "title": "Json" } }, "type": "object" }, - "AWS::DataZone::PolicyGrant.CreateEnvironmentProfilePolicyGrantDetail": { + "AWS::DataBrew::Dataset.Input": { "additionalProperties": false, "properties": { - "DomainUnitId": { - "markdownDescription": "The ID of the domain unit.", - "title": "DomainUnitId", - "type": "string" + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DataCatalogInputDefinition", + "markdownDescription": "The AWS Glue Data Catalog parameters for the data.", + "title": "DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatabaseInputDefinition", + "markdownDescription": "Connection information for dataset input files stored in a database.", + "title": "DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.Metadata", + "markdownDescription": "Contains additional resource information needed for specific datasets.", + "title": "Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location", + "markdownDescription": "The Amazon S3 location where the data is stored.", + "title": "S3InputDefinition" } }, "type": "object" }, - "AWS::DataZone::PolicyGrant.CreateFormTypePolicyGrantDetail": { + "AWS::DataBrew::Dataset.JsonOptions": { "additionalProperties": false, "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", - "title": "IncludeChildDomainUnits", + "MultiLine": { + "markdownDescription": "A value that specifies whether JSON input contains embedded new line characters.", + "title": "MultiLine", "type": "boolean" } }, "type": "object" }, - "AWS::DataZone::PolicyGrant.CreateGlossaryPolicyGrantDetail": { + "AWS::DataBrew::Dataset.Metadata": { "additionalProperties": false, "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" + "SourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) associated with the dataset. Currently, DataBrew only supports ARNs from Amazon AppFlow.", + "title": "SourceArn", + "type": "string" } }, "type": "object" }, - "AWS::DataZone::PolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetail": { + "AWS::DataBrew::Dataset.PathOptions": { "additionalProperties": false, "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether to include child domain units when creating a project from project profile policy grant details", - "title": "IncludeChildDomainUnits", - "type": "boolean" + "FilesLimit": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilesLimit", + "markdownDescription": "If provided, this structure imposes a limit on a number of files that should be selected.", + "title": "FilesLimit" }, - "ProjectProfiles": { + "LastModifiedDateCondition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression", + "markdownDescription": "If provided, this structure defines a date range for matching Amazon S3 objects based on their LastModifiedDate attribute in Amazon S3 .", + "title": "LastModifiedDateCondition" + }, + "Parameters": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataBrew::Dataset.PathParameter" }, - "markdownDescription": "Specifies project profiles when creating a project from project profile policy grant details", - "title": "ProjectProfiles", + "markdownDescription": "A structure that maps names of parameters used in the Amazon S3 path of a dataset to their definitions.", + "title": "Parameters", "type": "array" } }, "type": "object" }, - "AWS::DataZone::PolicyGrant.CreateProjectPolicyGrantDetail": { - "additionalProperties": false, - "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataZone::PolicyGrant.DomainUnitFilterForProject": { + "AWS::DataBrew::Dataset.PathParameter": { "additionalProperties": false, "properties": { - "DomainUnit": { - "markdownDescription": "The domain unit ID to use in the filter.", - "title": "DomainUnit", - "type": "string" + "DatasetParameter": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatasetParameter", + "markdownDescription": "The path parameter definition.", + "title": "DatasetParameter" }, - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether to include child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" + "PathParameterName": { + "markdownDescription": "The name of the path parameter.", + "title": "PathParameterName", + "type": "string" } }, "required": [ - "DomainUnit" + "DatasetParameter", + "PathParameterName" ], "type": "object" }, - "AWS::DataZone::PolicyGrant.DomainUnitGrantFilter": { + "AWS::DataBrew::Dataset.S3Location": { "additionalProperties": false, "properties": { - "AllDomainUnitsGrantFilter": { - "markdownDescription": "Specifies a grant filter containing all domain units.", - "title": "AllDomainUnitsGrantFilter", - "type": "object" - } - }, - "required": [ - "AllDomainUnitsGrantFilter" - ], - "type": "object" - }, - "AWS::DataZone::PolicyGrant.DomainUnitPolicyGrantPrincipal": { - "additionalProperties": false, - "properties": { - "DomainUnitDesignation": { - "markdownDescription": "Specifes the designation of the domain unit users.", - "title": "DomainUnitDesignation", + "Bucket": { + "markdownDescription": "The Amazon S3 bucket name.", + "title": "Bucket", "type": "string" }, - "DomainUnitGrantFilter": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.DomainUnitGrantFilter", - "markdownDescription": "The grant filter for the domain unit.", - "title": "DomainUnitGrantFilter" - }, - "DomainUnitIdentifier": { - "markdownDescription": "The ID of the domain unit.", - "title": "DomainUnitIdentifier", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::PolicyGrant.GroupPolicyGrantPrincipal": { - "additionalProperties": false, - "properties": { - "GroupIdentifier": { - "markdownDescription": "The ID Of the group of the group principal.", - "title": "GroupIdentifier", + "BucketOwner": { + "markdownDescription": "The AWS account ID of the bucket owner.", + "title": "BucketOwner", "type": "string" - } - }, - "required": [ - "GroupIdentifier" - ], - "type": "object" - }, - "AWS::DataZone::PolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetail": { - "additionalProperties": false, - "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy is inherited by child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataZone::PolicyGrant.OverrideProjectOwnersPolicyGrantDetail": { - "additionalProperties": false, - "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy is inherited by child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataZone::PolicyGrant.PolicyGrantDetail": { - "additionalProperties": false, - "properties": { - "AddToProjectMemberPool": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.AddToProjectMemberPoolPolicyGrantDetail", - "markdownDescription": "Specifies that the policy grant is to be added to the members of the project.", - "title": "AddToProjectMemberPool" - }, - "CreateAssetType": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateAssetTypePolicyGrantDetail", - "markdownDescription": "Specifies that this is a create asset type policy.", - "title": "CreateAssetType" - }, - "CreateDomainUnit": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateDomainUnitPolicyGrantDetail", - "markdownDescription": "Specifies that this is a create domain unit policy.", - "title": "CreateDomainUnit" - }, - "CreateEnvironment": { - "markdownDescription": "Specifies that this is a create environment policy.", - "title": "CreateEnvironment", - "type": "object" - }, - "CreateEnvironmentFromBlueprint": { - "markdownDescription": "The details of the policy of creating an environment.", - "title": "CreateEnvironmentFromBlueprint", - "type": "object" - }, - "CreateEnvironmentProfile": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateEnvironmentProfilePolicyGrantDetail", - "markdownDescription": "Specifies that this is a create environment profile policy.", - "title": "CreateEnvironmentProfile" - }, - "CreateFormType": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateFormTypePolicyGrantDetail", - "markdownDescription": "Specifies that this is a create form type policy.", - "title": "CreateFormType" - }, - "CreateGlossary": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateGlossaryPolicyGrantDetail", - "markdownDescription": "Specifies that this is a create glossary policy.", - "title": "CreateGlossary" - }, - "CreateProject": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateProjectPolicyGrantDetail", - "markdownDescription": "Specifies that this is a create project policy.", - "title": "CreateProject" - }, - "CreateProjectFromProjectProfile": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetail", - "markdownDescription": "Specifies whether to create a project from project profile.", - "title": "CreateProjectFromProjectProfile" - }, - "DelegateCreateEnvironmentProfile": { - "markdownDescription": "Specifies that this is the delegation of the create environment profile policy.", - "title": "DelegateCreateEnvironmentProfile", - "type": "object" - }, - "OverrideDomainUnitOwners": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetail", - "markdownDescription": "Specifies whether to override domain unit owners.", - "title": "OverrideDomainUnitOwners" - }, - "OverrideProjectOwners": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.OverrideProjectOwnersPolicyGrantDetail", - "markdownDescription": "Specifies whether to override project owners.", - "title": "OverrideProjectOwners" - } - }, - "type": "object" - }, - "AWS::DataZone::PolicyGrant.PolicyGrantPrincipal": { - "additionalProperties": false, - "properties": { - "DomainUnit": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.DomainUnitPolicyGrantPrincipal", - "markdownDescription": "The domain unit of the policy grant principal.", - "title": "DomainUnit" - }, - "Group": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.GroupPolicyGrantPrincipal", - "markdownDescription": "The group of the policy grant principal.", - "title": "Group" - }, - "Project": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.ProjectPolicyGrantPrincipal", - "markdownDescription": "The project of the policy grant principal.", - "title": "Project" }, - "User": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.UserPolicyGrantPrincipal", - "markdownDescription": "The user of the policy grant principal.", - "title": "User" - } - }, - "type": "object" - }, - "AWS::DataZone::PolicyGrant.ProjectGrantFilter": { - "additionalProperties": false, - "properties": { - "DomainUnitFilter": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.DomainUnitFilterForProject", - "markdownDescription": "The domain unit filter of the project grant filter.", - "title": "DomainUnitFilter" + "Key": { + "markdownDescription": "The unique name of the object in the bucket.", + "title": "Key", + "type": "string" } }, "required": [ - "DomainUnitFilter" + "Bucket" ], "type": "object" }, - "AWS::DataZone::PolicyGrant.ProjectPolicyGrantPrincipal": { - "additionalProperties": false, - "properties": { - "ProjectDesignation": { - "markdownDescription": "The project designation of the project policy grant principal.", - "title": "ProjectDesignation", - "type": "string" - }, - "ProjectGrantFilter": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.ProjectGrantFilter", - "markdownDescription": "The project grant filter of the project policy grant principal.", - "title": "ProjectGrantFilter" - }, - "ProjectIdentifier": { - "markdownDescription": "The project ID of the project policy grant principal.", - "title": "ProjectIdentifier", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::PolicyGrant.UserPolicyGrantPrincipal": { - "additionalProperties": false, - "properties": { - "AllUsersGrantFilter": { - "markdownDescription": "The all users grant filter of the user policy grant principal.", - "title": "AllUsersGrantFilter", - "type": "object" - }, - "UserIdentifier": { - "markdownDescription": "The user ID of the user policy grant principal.", - "title": "UserIdentifier", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Project": { + "AWS::DataBrew::Job": { "additionalProperties": false, "properties": { "Condition": { @@ -110517,80 +108981,132 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of a project.", - "title": "Description", - "type": "string" - }, - "DomainIdentifier": { - "markdownDescription": "The identifier of a Amazon DataZone domain where the project exists.", - "title": "DomainIdentifier", - "type": "string" - }, - "DomainUnitId": { - "markdownDescription": "The ID of the domain unit. This parameter is not required and if it is not specified, then the project is created at the root domain unit level.", - "title": "DomainUnitId", - "type": "string" - }, - "GlossaryTerms": { + "DataCatalogOutputs": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataBrew::Job.DataCatalogOutput" }, - "markdownDescription": "The glossary terms that can be used in this Amazon DataZone project.", - "title": "GlossaryTerms", + "markdownDescription": "One or more artifacts that represent the AWS Glue Data Catalog output from running the job.", + "title": "DataCatalogOutputs", "type": "array" }, - "MembershipAssignments": { + "DatabaseOutputs": { "items": { - "$ref": "#/definitions/AWS::DataZone::Project.ProjectMembershipAssignment" + "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseOutput" }, + "markdownDescription": "Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.", + "title": "DatabaseOutputs", "type": "array" }, - "Name": { - "markdownDescription": "The name of a project.", - "title": "Name", + "DatasetName": { + "markdownDescription": "A dataset that the job is to process.", + "title": "DatasetName", "type": "string" }, - "ProjectCategory": { + "EncryptionKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an encryption key that is used to protect the job output. For more information, see [Encrypting data written by DataBrew jobs](https://docs.aws.amazon.com/databrew/latest/dg/encryption-security-configuration.html)", + "title": "EncryptionKeyArn", "type": "string" }, - "ProjectExecutionRole": { + "EncryptionMode": { + "markdownDescription": "The encryption mode for the job, which can be one of the following:\n\n- `SSE-KMS` - Server-side encryption with keys managed by AWS .\n- `SSE-S3` - Server-side encryption with keys managed by Amazon S3.", + "title": "EncryptionMode", "type": "string" }, - "ProjectProfileId": { - "markdownDescription": "The ID of the project profile.", - "title": "ProjectProfileId", + "JobSample": { + "$ref": "#/definitions/AWS::DataBrew::Job.JobSample", + "markdownDescription": "A sample configuration for profile jobs only, which determines the number of rows on which the profile job is run. If a `JobSample` value isn't provided, the default value is used. The default value is CUSTOM_ROWS for the mode parameter and 20,000 for the size parameter.", + "title": "JobSample" + }, + "LogSubscription": { + "markdownDescription": "The current status of Amazon CloudWatch logging for the job.", + "title": "LogSubscription", "type": "string" }, - "ProjectProfileVersion": { - "markdownDescription": "The project profile version to which the project should be updated. You can only specify the following string for this parameter: `latest` .", - "title": "ProjectProfileVersion", + "MaxCapacity": { + "markdownDescription": "The maximum number of nodes that can be consumed when the job processes data.", + "title": "MaxCapacity", + "type": "number" + }, + "MaxRetries": { + "markdownDescription": "The maximum number of times to retry the job after a job run fails.", + "title": "MaxRetries", + "type": "number" + }, + "Name": { + "markdownDescription": "The unique name of the job.", + "title": "Name", "type": "string" }, - "ResourceTags": { + "OutputLocation": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputLocation", + "markdownDescription": "The location in Amazon S3 where the job writes its output.", + "title": "OutputLocation" + }, + "Outputs": { "items": { - "$ref": "#/definitions/AWS::DataZone::Project.ResourceTag" + "$ref": "#/definitions/AWS::DataBrew::Job.Output" }, + "markdownDescription": "One or more artifacts that represent output from running the job.", + "title": "Outputs", "type": "array" }, - "UserParameters": { + "ProfileConfiguration": { + "$ref": "#/definitions/AWS::DataBrew::Job.ProfileConfiguration", + "markdownDescription": "Configuration for profile jobs. Configuration can be used to select columns, do evaluations, and override default parameters of evaluations. When configuration is undefined, the profile job will apply default settings to all supported columns.", + "title": "ProfileConfiguration" + }, + "ProjectName": { + "markdownDescription": "The name of the project that the job is associated with.", + "title": "ProjectName", + "type": "string" + }, + "Recipe": { + "$ref": "#/definitions/AWS::DataBrew::Job.Recipe", + "markdownDescription": "A series of data transformation steps that the job runs.", + "title": "Recipe" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role to be assumed for this job.", + "title": "RoleArn", + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataZone::Project.EnvironmentConfigurationUserParameter" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The user parameters of the project.", - "title": "UserParameters", + "markdownDescription": "Metadata tags that have been applied to the job.", + "title": "Tags", + "type": "array" + }, + "Timeout": { + "markdownDescription": "The job's timeout in minutes. A job that attempts to run longer than this timeout period ends with a status of `TIMEOUT` .", + "title": "Timeout", + "type": "number" + }, + "Type": { + "markdownDescription": "The job type of the job, which must be one of the following:\n\n- `PROFILE` - A job to analyze a dataset, to determine its size, data types, data distribution, and more.\n- `RECIPE` - A job to apply one or more transformations to a dataset.", + "title": "Type", + "type": "string" + }, + "ValidationConfigurations": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ValidationConfiguration" + }, + "markdownDescription": "List of validation configurations that are applied to the profile job.", + "title": "ValidationConfigurations", "type": "array" } }, "required": [ - "DomainIdentifier", - "Name" + "Name", + "RoleArn", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::Project" + "AWS::DataBrew::Job" ], "type": "string" }, @@ -110609,454 +109125,433 @@ ], "type": "object" }, - "AWS::DataZone::Project.EnvironmentConfigurationUserParameter": { + "AWS::DataBrew::Job.AllowedStatistics": { "additionalProperties": false, "properties": { - "EnvironmentConfigurationName": { - "markdownDescription": "The environment configuration name.", - "title": "EnvironmentConfigurationName", - "type": "string" - }, - "EnvironmentId": { - "markdownDescription": "The ID of the environment.", - "title": "EnvironmentId", - "type": "string" - }, - "EnvironmentParameters": { + "Statistics": { "items": { - "$ref": "#/definitions/AWS::DataZone::Project.EnvironmentParameter" + "type": "string" }, - "markdownDescription": "The environment parameters.", - "title": "EnvironmentParameters", + "markdownDescription": "One or more column statistics to allow for columns that contain detected entities.", + "title": "Statistics", "type": "array" } }, + "required": [ + "Statistics" + ], "type": "object" }, - "AWS::DataZone::Project.EnvironmentParameter": { + "AWS::DataBrew::Job.ColumnSelector": { "additionalProperties": false, "properties": { "Name": { - "markdownDescription": "The name of an environment profile parameter.", + "markdownDescription": "The name of a column from a dataset.", "title": "Name", "type": "string" }, - "Value": { - "markdownDescription": "The value of an environment profile parameter.", - "title": "Value", + "Regex": { + "markdownDescription": "A regular expression for selecting a column from a dataset.", + "title": "Regex", "type": "string" } }, "type": "object" }, - "AWS::DataZone::Project.Member": { + "AWS::DataBrew::Job.ColumnStatisticsConfiguration": { "additionalProperties": false, "properties": { - "GroupIdentifier": { - "type": "string" + "Selectors": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + }, + "markdownDescription": "List of column selectors. Selectors can be used to select columns from the dataset. When selectors are undefined, configuration will be applied to all supported columns.", + "title": "Selectors", + "type": "array" }, - "UserIdentifier": { + "Statistics": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration", + "markdownDescription": "Configuration for evaluations. Statistics can be used to select evaluations and override parameters of evaluations.", + "title": "Statistics" + } + }, + "required": [ + "Statistics" + ], + "type": "object" + }, + "AWS::DataBrew::Job.CsvOutputOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "markdownDescription": "A single character that specifies the delimiter used to create CSV job output.", + "title": "Delimiter", "type": "string" } }, "type": "object" }, - "AWS::DataZone::Project.ProjectMembershipAssignment": { + "AWS::DataBrew::Job.DataCatalogOutput": { "additionalProperties": false, "properties": { - "Designation": { + "CatalogId": { + "markdownDescription": "The unique identifier of the AWS account that holds the Data Catalog that stores the data.", + "title": "CatalogId", "type": "string" }, - "Member": { - "$ref": "#/definitions/AWS::DataZone::Project.Member" + "DatabaseName": { + "markdownDescription": "The name of a database in the Data Catalog.", + "title": "DatabaseName", + "type": "string" + }, + "DatabaseOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseTableOutputOptions", + "markdownDescription": "Represents options that specify how and where DataBrew writes the database output generated by recipe jobs.", + "title": "DatabaseOptions" + }, + "Overwrite": { + "markdownDescription": "A value that, if true, means that any data in the location specified for output is overwritten with new output. Not supported with DatabaseOptions.", + "title": "Overwrite", + "type": "boolean" + }, + "S3Options": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3TableOutputOptions", + "markdownDescription": "Represents options that specify how and where DataBrew writes the Amazon S3 output generated by recipe jobs.", + "title": "S3Options" + }, + "TableName": { + "markdownDescription": "The name of a table in the Data Catalog.", + "title": "TableName", + "type": "string" } }, "required": [ - "Designation", - "Member" + "DatabaseName", + "TableName" ], "type": "object" }, - "AWS::DataZone::Project.ResourceTag": { + "AWS::DataBrew::Job.DatabaseOutput": { "additionalProperties": false, "properties": { - "Key": { + "DatabaseOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseTableOutputOptions", + "markdownDescription": "Represents options that specify how and where DataBrew writes the database output generated by recipe jobs.", + "title": "DatabaseOptions" + }, + "DatabaseOutputMode": { + "markdownDescription": "The output mode to write into the database. Currently supported option: NEW_TABLE.", + "title": "DatabaseOutputMode", "type": "string" }, - "Value": { + "GlueConnectionName": { + "markdownDescription": "The AWS Glue connection that stores the connection information for the target database.", + "title": "GlueConnectionName", "type": "string" } }, "required": [ - "Key", - "Value" + "DatabaseOptions", + "GlueConnectionName" ], "type": "object" }, - "AWS::DataZone::ProjectMembership": { + "AWS::DataBrew::Job.DatabaseTableOutputOptions": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TableName": { + "markdownDescription": "A prefix for the name of a table DataBrew will create in the database.", + "title": "TableName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3Location", + "markdownDescription": "Represents an Amazon S3 location (bucket name and object key) where DataBrew can store intermediate results.", + "title": "TempDirectory" + } + }, + "required": [ + "TableName" + ], + "type": "object" + }, + "AWS::DataBrew::Job.EntityDetectorConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedStatistics": { + "$ref": "#/definitions/AWS::DataBrew::Job.AllowedStatistics", + "markdownDescription": "Configuration of statistics that are allowed to be run on columns that contain detected entities. When undefined, no statistics will be computed on columns that contain detected entities.", + "title": "AllowedStatistics" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Designation": { - "markdownDescription": "The designated role of a project member.", - "title": "Designation", - "type": "string" - }, - "DomainIdentifier": { - "markdownDescription": "The ID of the Amazon DataZone domain in which project membership is created.", - "title": "DomainIdentifier", - "type": "string" - }, - "Member": { - "$ref": "#/definitions/AWS::DataZone::ProjectMembership.Member", - "markdownDescription": "The details about a project member.", - "title": "Member" - }, - "ProjectIdentifier": { - "markdownDescription": "The ID of the project for which this project membership was created.", - "title": "ProjectIdentifier", - "type": "string" - } + "EntityTypes": { + "items": { + "type": "string" }, - "required": [ - "Designation", - "DomainIdentifier", - "Member", - "ProjectIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataZone::ProjectMembership" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "markdownDescription": "Entity types to detect. Can be any of the following:\n\n- USA_SSN\n- EMAIL\n- USA_ITIN\n- USA_PASSPORT_NUMBER\n- PHONE_NUMBER\n- USA_DRIVING_LICENSE\n- BANK_ACCOUNT\n- CREDIT_CARD\n- IP_ADDRESS\n- MAC_ADDRESS\n- USA_DEA_NUMBER\n- USA_HCPCS_CODE\n- USA_NATIONAL_PROVIDER_IDENTIFIER\n- USA_NATIONAL_DRUG_CODE\n- USA_HEALTH_INSURANCE_CLAIM_NUMBER\n- USA_MEDICARE_BENEFICIARY_IDENTIFIER\n- USA_CPT_CODE\n- PERSON_NAME\n- DATE\n\nThe Entity type group USA_ALL is also supported, and includes all of the above entity types except PERSON_NAME and DATE.", + "title": "EntityTypes", + "type": "array" } }, "required": [ - "Type", - "Properties" + "EntityTypes" ], "type": "object" }, - "AWS::DataZone::ProjectMembership.Member": { + "AWS::DataBrew::Job.JobSample": { "additionalProperties": false, "properties": { - "GroupIdentifier": { - "markdownDescription": "The ID of the group of a project member.", - "title": "GroupIdentifier", + "Mode": { + "markdownDescription": "A value that determines whether the profile job is run on the entire dataset or a specified number of rows. This value must be one of the following:\n\n- FULL_DATASET - The profile job is run on the entire dataset.\n- CUSTOM_ROWS - The profile job is run on the number of rows specified in the `Size` parameter.", + "title": "Mode", "type": "string" }, - "UserIdentifier": { - "markdownDescription": "The user ID of a project member.", - "title": "UserIdentifier", - "type": "string" + "Size": { + "markdownDescription": "The `Size` parameter is only required when the mode is CUSTOM_ROWS. The profile job is run on the specified number of rows. The maximum value for size is Long.MAX_VALUE.\n\nLong.MAX_VALUE = 9223372036854775807", + "title": "Size", + "type": "number" } }, "type": "object" }, - "AWS::DataZone::ProjectProfile": { + "AWS::DataBrew::Job.Output": { "additionalProperties": false, "properties": { - "Condition": { + "CompressionFormat": { + "markdownDescription": "The compression algorithm used to compress the output text of the job.", + "title": "CompressionFormat", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Format": { + "markdownDescription": "The data format of the output of the job.", + "title": "Format", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions", + "markdownDescription": "Represents options that define how DataBrew formats job output files.", + "title": "FormatOptions" }, - "Metadata": { - "type": "object" + "Location": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3Location", + "markdownDescription": "The location in Amazon S3 where the job writes its output.", + "title": "Location" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowCustomProjectResourceTags": { - "type": "boolean" - }, - "Description": { - "markdownDescription": "The description of the project profile.", - "title": "Description", - "type": "string" - }, - "DomainIdentifier": { - "markdownDescription": "A domain ID of the project profile.", - "title": "DomainIdentifier", - "type": "string" - }, - "DomainUnitIdentifier": { - "markdownDescription": "A domain unit ID of the project profile.", - "title": "DomainUnitIdentifier", - "type": "string" - }, - "EnvironmentConfigurations": { - "items": { - "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfiguration" - }, - "markdownDescription": "Environment configurations of a project profile.", - "title": "EnvironmentConfigurations", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of a project profile.", - "title": "Name", - "type": "string" - }, - "ProjectResourceTags": { - "items": { - "$ref": "#/definitions/AWS::DataZone::ProjectProfile.ResourceTagParameter" - }, - "type": "array" - }, - "ProjectResourceTagsDescription": { - "type": "string" - }, - "Status": { - "markdownDescription": "The status of a project profile.", - "title": "Status", - "type": "string" - }, - "UseDefaultConfigurations": { - "type": "boolean" - } - }, - "required": [ - "Name" - ], - "type": "object" + "MaxOutputFiles": { + "markdownDescription": "The maximum number of files to be generated by the job and written to the output folder.", + "title": "MaxOutputFiles", + "type": "number" }, - "Type": { - "enum": [ - "AWS::DataZone::ProjectProfile" - ], - "type": "string" + "Overwrite": { + "markdownDescription": "A value that, if true, means that any data in the location specified for output is overwritten with new output.", + "title": "Overwrite", + "type": "boolean" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "PartitionColumns": { + "items": { + "type": "string" + }, + "markdownDescription": "The names of one or more partition columns for the output of the job.", + "title": "PartitionColumns", + "type": "array" } }, "required": [ - "Type", - "Properties" + "Location" ], "type": "object" }, - "AWS::DataZone::ProjectProfile.AwsAccount": { + "AWS::DataBrew::Job.OutputFormatOptions": { "additionalProperties": false, "properties": { - "AwsAccountId": { - "markdownDescription": "The account ID of a project.", - "title": "AwsAccountId", - "type": "string" + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions", + "markdownDescription": "Represents a set of options that define the structure of comma-separated value (CSV) job output.", + "title": "Csv" } }, - "required": [ - "AwsAccountId" - ], "type": "object" }, - "AWS::DataZone::ProjectProfile.EnvironmentConfiguration": { + "AWS::DataBrew::Job.OutputLocation": { "additionalProperties": false, "properties": { - "AwsAccount": { - "$ref": "#/definitions/AWS::DataZone::ProjectProfile.AwsAccount", - "markdownDescription": "The AWS account of the environment.", - "title": "AwsAccount" - }, - "AwsRegion": { - "$ref": "#/definitions/AWS::DataZone::ProjectProfile.Region", - "markdownDescription": "The AWS Region of the environment.", - "title": "AwsRegion" - }, - "ConfigurationParameters": { - "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfigurationParametersDetails", - "markdownDescription": "The configuration parameters of the environment.", - "title": "ConfigurationParameters" - }, - "DeploymentMode": { - "markdownDescription": "The deployment mode of the environment.", - "title": "DeploymentMode", - "type": "string" - }, - "DeploymentOrder": { - "markdownDescription": "The deployment order of the environment.", - "title": "DeploymentOrder", - "type": "number" - }, - "Description": { - "markdownDescription": "The environment description.", - "title": "Description", - "type": "string" - }, - "EnvironmentBlueprintId": { - "markdownDescription": "The environment blueprint ID.", - "title": "EnvironmentBlueprintId", + "Bucket": { + "markdownDescription": "The Amazon S3 bucket name.", + "title": "Bucket", "type": "string" }, - "EnvironmentConfigurationId": { + "BucketOwner": { "markdownDescription": "", - "title": "EnvironmentConfigurationId", + "title": "BucketOwner", "type": "string" }, - "Name": { - "markdownDescription": "The environment name.", - "title": "Name", + "Key": { + "markdownDescription": "The unique name of the object in the bucket.", + "title": "Key", "type": "string" } }, "required": [ - "AwsRegion", - "EnvironmentBlueprintId", - "Name" + "Bucket" ], "type": "object" }, - "AWS::DataZone::ProjectProfile.EnvironmentConfigurationParameter": { + "AWS::DataBrew::Job.ProfileConfiguration": { "additionalProperties": false, "properties": { - "IsEditable": { - "markdownDescription": "Specifies whether the environment parameter is editable.", - "title": "IsEditable", - "type": "boolean" + "ColumnStatisticsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnStatisticsConfiguration" + }, + "markdownDescription": "List of configurations for column evaluations. ColumnStatisticsConfigurations are used to select evaluations and override parameters of evaluations for particular columns. When ColumnStatisticsConfigurations is undefined, the profile job will profile all supported columns and run all supported evaluations.", + "title": "ColumnStatisticsConfigurations", + "type": "array" + }, + "DatasetStatisticsConfiguration": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration", + "markdownDescription": "Configuration for inter-column evaluations. Configuration can be used to select evaluations and override parameters of evaluations. When configuration is undefined, the profile job will run all supported inter-column evaluations.", + "title": "DatasetStatisticsConfiguration" + }, + "EntityDetectorConfiguration": { + "$ref": "#/definitions/AWS::DataBrew::Job.EntityDetectorConfiguration", + "markdownDescription": "Configuration of entity detection for a profile job. When undefined, entity detection is disabled.", + "title": "EntityDetectorConfiguration" }, + "ProfileColumns": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + }, + "markdownDescription": "List of column selectors. ProfileColumns can be used to select columns from the dataset. When ProfileColumns is undefined, the profile job will profile all supported columns.", + "title": "ProfileColumns", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.Recipe": { + "additionalProperties": false, + "properties": { "Name": { - "markdownDescription": "The name of the environment configuration parameter.", + "markdownDescription": "The unique name for the recipe.", "title": "Name", "type": "string" }, - "Value": { - "markdownDescription": "The value of the environment configuration parameter.", - "title": "Value", + "Version": { + "markdownDescription": "The identifier for the version for the recipe.", + "title": "Version", "type": "string" } }, + "required": [ + "Name" + ], "type": "object" }, - "AWS::DataZone::ProjectProfile.EnvironmentConfigurationParametersDetails": { + "AWS::DataBrew::Job.S3Location": { "additionalProperties": false, "properties": { - "ParameterOverrides": { - "items": { - "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfigurationParameter" - }, - "markdownDescription": "The parameter overrides.", - "title": "ParameterOverrides", - "type": "array" + "Bucket": { + "markdownDescription": "The Amazon S3 bucket name.", + "title": "Bucket", + "type": "string" }, - "ResolvedParameters": { - "items": { - "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfigurationParameter" - }, - "markdownDescription": "The resolved environment configuration parameters.", - "title": "ResolvedParameters", - "type": "array" + "BucketOwner": { + "markdownDescription": "The AWS account ID of the bucket owner.", + "title": "BucketOwner", + "type": "string" }, - "SsmPath": { - "markdownDescription": "Ssm path environment configuration parameters.", - "title": "SsmPath", + "Key": { + "markdownDescription": "The unique name of the object in the bucket.", + "title": "Key", "type": "string" } }, + "required": [ + "Bucket" + ], "type": "object" }, - "AWS::DataZone::ProjectProfile.Region": { + "AWS::DataBrew::Job.S3TableOutputOptions": { "additionalProperties": false, "properties": { - "RegionName": { - "markdownDescription": "The AWS Region name.", - "title": "RegionName", + "Location": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3Location", + "markdownDescription": "Represents an Amazon S3 location (bucket name and object key) where DataBrew can write output from a job.", + "title": "Location" + } + }, + "required": [ + "Location" + ], + "type": "object" + }, + "AWS::DataBrew::Job.StatisticOverride": { + "additionalProperties": false, + "properties": { + "Parameters": { + "additionalProperties": true, + "markdownDescription": "A map that includes overrides of an evaluation\u2019s parameters.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Parameters", + "type": "object" + }, + "Statistic": { + "markdownDescription": "The name of an evaluation", + "title": "Statistic", "type": "string" } }, "required": [ - "RegionName" + "Parameters", + "Statistic" ], "type": "object" }, - "AWS::DataZone::ProjectProfile.ResourceTagParameter": { + "AWS::DataBrew::Job.StatisticsConfiguration": { "additionalProperties": false, "properties": { - "IsValueEditable": { - "type": "boolean" + "IncludedStatistics": { + "items": { + "type": "string" + }, + "markdownDescription": "List of included evaluations. When the list is undefined, all supported evaluations will be included.", + "title": "IncludedStatistics", + "type": "array" }, - "Key": { + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticOverride" + }, + "markdownDescription": "List of overrides for evaluations.", + "title": "Overrides", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.ValidationConfiguration": { + "additionalProperties": false, + "properties": { + "RulesetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the ruleset to be validated in the profile job. The TargetArn of the selected ruleset should be the same as the Amazon Resource Name (ARN) of the dataset that is associated with the profile job.", + "title": "RulesetArn", "type": "string" }, - "Value": { + "ValidationMode": { + "markdownDescription": "Mode of data quality validation. Default mode is \u201cCHECK_ALL\u201d which verifies all rules defined in the selected ruleset.", + "title": "ValidationMode", "type": "string" } }, "required": [ - "IsValueEditable", - "Key", - "Value" + "RulesetArn" ], "type": "object" }, - "AWS::DataZone::SubscriptionTarget": { + "AWS::DataBrew::Project": { "additionalProperties": false, "properties": { "Condition": { @@ -111091,75 +109586,51 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicableAssetTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The asset types included in the subscription target.", - "title": "ApplicableAssetTypes", - "type": "array" - }, - "AuthorizedPrincipals": { - "items": { - "type": "string" - }, - "markdownDescription": "The authorized principals included in the subscription target.", - "title": "AuthorizedPrincipals", - "type": "array" - }, - "DomainIdentifier": { - "markdownDescription": "The ID of the Amazon DataZone domain in which subscription target is created.", - "title": "DomainIdentifier", + "DatasetName": { + "markdownDescription": "The dataset that the project is to act upon.", + "title": "DatasetName", "type": "string" }, - "EnvironmentIdentifier": { - "markdownDescription": "The ID of the environment in which subscription target is created.", - "title": "EnvironmentIdentifier", + "Name": { + "markdownDescription": "The unique name of a project.", + "title": "Name", "type": "string" }, - "ManageAccessRole": { - "markdownDescription": "The manage access role that is used to create the subscription target.", - "title": "ManageAccessRole", + "RecipeName": { + "markdownDescription": "The name of a recipe that will be developed during a project session.", + "title": "RecipeName", "type": "string" }, - "Name": { - "markdownDescription": "The name of the subscription target.", - "title": "Name", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role that will be assumed for this project.", + "title": "RoleArn", "type": "string" }, - "Provider": { - "markdownDescription": "The provider of the subscription target.", - "title": "Provider", - "type": "string" + "Sample": { + "$ref": "#/definitions/AWS::DataBrew::Project.Sample", + "markdownDescription": "The sample size and sampling type to apply to the data. If this parameter isn't specified, then the sample consists of the first 500 rows from the dataset.", + "title": "Sample" }, - "SubscriptionTargetConfig": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataZone::SubscriptionTarget.SubscriptionTargetForm" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The configuration of the subscription target.", - "title": "SubscriptionTargetConfig", + "markdownDescription": "Metadata tags that have been applied to the project.", + "title": "Tags", "type": "array" - }, - "Type": { - "markdownDescription": "The type of the subscription target.", - "title": "Type", - "type": "string" } }, "required": [ - "ApplicableAssetTypes", - "AuthorizedPrincipals", - "DomainIdentifier", - "EnvironmentIdentifier", + "DatasetName", "Name", - "SubscriptionTargetConfig", - "Type" + "RecipeName", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::SubscriptionTarget" + "AWS::DataBrew::Project" ], "type": "string" }, @@ -111178,27 +109649,26 @@ ], "type": "object" }, - "AWS::DataZone::SubscriptionTarget.SubscriptionTargetForm": { + "AWS::DataBrew::Project.Sample": { "additionalProperties": false, "properties": { - "Content": { - "markdownDescription": "The content of the subscription target configuration.", - "title": "Content", - "type": "string" + "Size": { + "markdownDescription": "The number of rows in the sample.", + "title": "Size", + "type": "number" }, - "FormName": { - "markdownDescription": "The form name included in the subscription target configuration.", - "title": "FormName", + "Type": { + "markdownDescription": "The way in which DataBrew obtains rows from a dataset.", + "title": "Type", "type": "string" } }, "required": [ - "Content", - "FormName" + "Type" ], "type": "object" }, - "AWS::DataZone::UserProfile": { + "AWS::DataBrew::Recipe": { "additionalProperties": false, "properties": { "Condition": { @@ -111233,39 +109703,42 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainIdentifier": { - "markdownDescription": "The identifier of a Amazon DataZone domain in which a user profile exists.", - "title": "DomainIdentifier", - "type": "string" - }, - "SessionName": { + "Description": { + "markdownDescription": "The description of the recipe.", + "title": "Description", "type": "string" }, - "Status": { - "markdownDescription": "The status of the user profile.", - "title": "Status", + "Name": { + "markdownDescription": "The unique name for the recipe.", + "title": "Name", "type": "string" }, - "UserIdentifier": { - "markdownDescription": "The identifier of the user for which the user profile is created.", - "title": "UserIdentifier", - "type": "string" + "Steps": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" + }, + "markdownDescription": "A list of steps that are defined by the recipe.", + "title": "Steps", + "type": "array" }, - "UserType": { - "markdownDescription": "The user type of the user for which the user profile is created.", - "title": "UserType", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Metadata tags that have been applied to the recipe.", + "title": "Tags", + "type": "array" } }, "required": [ - "DomainIdentifier", - "UserIdentifier" + "Name", + "Steps" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::UserProfile" + "AWS::DataBrew::Recipe" ], "type": "string" }, @@ -111284,61 +109757,670 @@ ], "type": "object" }, - "AWS::DataZone::UserProfile.IamUserProfileDetails": { + "AWS::DataBrew::Recipe.Action": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "", - "title": "Arn", + "Operation": { + "markdownDescription": "The name of a valid DataBrew transformation to be performed on the data.", + "title": "Operation", "type": "string" }, - "GroupProfileId": { + "Parameters": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeParameters", + "markdownDescription": "Contextual parameters for the transformation.", + "title": "Parameters" + } + }, + "required": [ + "Operation" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.ConditionExpression": { + "additionalProperties": false, + "properties": { + "Condition": { + "markdownDescription": "A specific condition to apply to a recipe action. For more information, see [Recipe structure](https://docs.aws.amazon.com/databrew/latest/dg/recipe-structure.html) in the *AWS Glue DataBrew Developer Guide* .", + "title": "Condition", "type": "string" }, - "SessionName": { + "TargetColumn": { + "markdownDescription": "A column to apply this condition to.", + "title": "TargetColumn", + "type": "string" + }, + "Value": { + "markdownDescription": "A value that the condition must evaluate to for the condition to succeed.", + "title": "Value", "type": "string" } }, + "required": [ + "Condition", + "TargetColumn" + ], "type": "object" }, - "AWS::DataZone::UserProfile.SsoUserProfileDetails": { + "AWS::DataBrew::Recipe.DataCatalogInputDefinition": { "additionalProperties": false, "properties": { - "FirstName": { - "markdownDescription": "", - "title": "FirstName", + "CatalogId": { + "markdownDescription": "The unique identifier of the AWS account that holds the Data Catalog that stores the data.", + "title": "CatalogId", "type": "string" }, - "LastName": { - "markdownDescription": "", - "title": "LastName", + "DatabaseName": { + "markdownDescription": "The name of a database in the Data Catalog.", + "title": "DatabaseName", "type": "string" }, - "Username": { - "markdownDescription": "", - "title": "Username", + "TableName": { + "markdownDescription": "The name of a database table in the Data Catalog. This table corresponds to a DataBrew dataset.", + "title": "TableName", "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location", + "markdownDescription": "Represents an Amazon location where DataBrew can store intermediate results.", + "title": "TempDirectory" } }, "type": "object" }, - "AWS::DataZone::UserProfile.UserProfileDetails": { + "AWS::DataBrew::Recipe.Input": { "additionalProperties": false, "properties": { - "Iam": { - "$ref": "#/definitions/AWS::DataZone::UserProfile.IamUserProfileDetails", - "markdownDescription": "", - "title": "Iam" + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition", + "markdownDescription": "The AWS Glue Data Catalog parameters for the data.", + "title": "DataCatalogInputDefinition" }, - "Sso": { - "$ref": "#/definitions/AWS::DataZone::UserProfile.SsoUserProfileDetails", - "markdownDescription": "", - "title": "Sso" + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location", + "markdownDescription": "The Amazon S3 location where the data is stored.", + "title": "S3InputDefinition" } }, "type": "object" }, - "AWS::Deadline::Budget": { + "AWS::DataBrew::Recipe.RecipeParameters": { + "additionalProperties": false, + "properties": { + "AggregateFunction": { + "markdownDescription": "The name of an aggregation function to apply.", + "title": "AggregateFunction", + "type": "string" + }, + "Base": { + "markdownDescription": "The number of digits used in a counting system.", + "title": "Base", + "type": "string" + }, + "CaseStatement": { + "markdownDescription": "A case statement associated with a recipe.", + "title": "CaseStatement", + "type": "string" + }, + "CategoryMap": { + "markdownDescription": "A category map used for one-hot encoding.", + "title": "CategoryMap", + "type": "string" + }, + "CharsToRemove": { + "markdownDescription": "Characters to remove from a step that applies one-hot encoding or tokenization.", + "title": "CharsToRemove", + "type": "string" + }, + "CollapseConsecutiveWhitespace": { + "markdownDescription": "Remove any non-word non-punctuation character.", + "title": "CollapseConsecutiveWhitespace", + "type": "string" + }, + "ColumnDataType": { + "markdownDescription": "The data type of the column.", + "title": "ColumnDataType", + "type": "string" + }, + "ColumnRange": { + "markdownDescription": "A range of columns to which a step is applied.", + "title": "ColumnRange", + "type": "string" + }, + "Count": { + "markdownDescription": "The number of times a string needs to be repeated.", + "title": "Count", + "type": "string" + }, + "CustomCharacters": { + "markdownDescription": "One or more characters that can be substituted or removed, depending on the context.", + "title": "CustomCharacters", + "type": "string" + }, + "CustomStopWords": { + "markdownDescription": "A list of words to ignore in a step that applies word tokenization.", + "title": "CustomStopWords", + "type": "string" + }, + "CustomValue": { + "markdownDescription": "A list of custom values to use in a step that requires that you provide a value to finish the operation.", + "title": "CustomValue", + "type": "string" + }, + "DatasetsColumns": { + "markdownDescription": "A list of the dataset columns included in a project.", + "title": "DatasetsColumns", + "type": "string" + }, + "DateAddValue": { + "markdownDescription": "A value that specifies how many units of time to add or subtract for a date math operation.", + "title": "DateAddValue", + "type": "string" + }, + "DateTimeFormat": { + "markdownDescription": "A date format to apply to a date.", + "title": "DateTimeFormat", + "type": "string" + }, + "DateTimeParameters": { + "markdownDescription": "A set of parameters associated with a datetime.", + "title": "DateTimeParameters", + "type": "string" + }, + "DeleteOtherRows": { + "markdownDescription": "Determines whether unmapped rows in a categorical mapping should be deleted", + "title": "DeleteOtherRows", + "type": "string" + }, + "Delimiter": { + "markdownDescription": "The delimiter to use when parsing separated values in a text file.", + "title": "Delimiter", + "type": "string" + }, + "EndPattern": { + "markdownDescription": "The end pattern to locate.", + "title": "EndPattern", + "type": "string" + }, + "EndPosition": { + "markdownDescription": "The end position to locate.", + "title": "EndPosition", + "type": "string" + }, + "EndValue": { + "markdownDescription": "The end value to locate.", + "title": "EndValue", + "type": "string" + }, + "ExpandContractions": { + "markdownDescription": "A list of word contractions and what they expand to. For eample: *can't* ; *cannot* ; *can not* .", + "title": "ExpandContractions", + "type": "string" + }, + "Exponent": { + "markdownDescription": "The exponent to apply in an exponential operation.", + "title": "Exponent", + "type": "string" + }, + "FalseString": { + "markdownDescription": "A value that represents `FALSE` .", + "title": "FalseString", + "type": "string" + }, + "GroupByAggFunctionOptions": { + "markdownDescription": "Specifies options to apply to the `GROUP BY` used in an aggregation.", + "title": "GroupByAggFunctionOptions", + "type": "string" + }, + "GroupByColumns": { + "markdownDescription": "The columns to use in the `GROUP BY` clause.", + "title": "GroupByColumns", + "type": "string" + }, + "HiddenColumns": { + "markdownDescription": "A list of columns to hide.", + "title": "HiddenColumns", + "type": "string" + }, + "IgnoreCase": { + "markdownDescription": "Indicates that lower and upper case letters are treated equally.", + "title": "IgnoreCase", + "type": "string" + }, + "IncludeInSplit": { + "markdownDescription": "Indicates if this column is participating in a split transform.", + "title": "IncludeInSplit", + "type": "string" + }, + "Input": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.Input", + "markdownDescription": "The input location to load the dataset from - Amazon S3 or AWS Glue Data Catalog .", + "title": "Input" + }, + "Interval": { + "markdownDescription": "The number of characters to split by.", + "title": "Interval", + "type": "string" + }, + "IsText": { + "markdownDescription": "Indicates if the content is text.", + "title": "IsText", + "type": "string" + }, + "JoinKeys": { + "markdownDescription": "The keys or columns involved in a join.", + "title": "JoinKeys", + "type": "string" + }, + "JoinType": { + "markdownDescription": "The type of join to use, for example, `INNER JOIN` , `OUTER JOIN` , and so on.", + "title": "JoinType", + "type": "string" + }, + "LeftColumns": { + "markdownDescription": "The columns on the left side of the join.", + "title": "LeftColumns", + "type": "string" + }, + "Limit": { + "markdownDescription": "The number of times to perform `split` or `replaceBy` in a string", + "title": "Limit", + "type": "string" + }, + "LowerBound": { + "markdownDescription": "The lower boundary for a value.", + "title": "LowerBound", + "type": "string" + }, + "MapType": { + "markdownDescription": "The type of mappings to apply to construct a new dynamic frame.", + "title": "MapType", + "type": "string" + }, + "ModeType": { + "markdownDescription": "Determines the manner in which mode value is calculated, in case there is more than one mode value. Valid values: `NONE` | `AVERAGE` | `MINIMUM` | `MAXIMUM`", + "title": "ModeType", + "type": "string" + }, + "MultiLine": { + "markdownDescription": "Specifies whether JSON input contains embedded new line characters.", + "title": "MultiLine", + "type": "boolean" + }, + "NumRows": { + "markdownDescription": "The number of rows to consider in a window.", + "title": "NumRows", + "type": "string" + }, + "NumRowsAfter": { + "markdownDescription": "The number of rows to consider after the current row in a window", + "title": "NumRowsAfter", + "type": "string" + }, + "NumRowsBefore": { + "markdownDescription": "The number of rows to consider before the current row in a window", + "title": "NumRowsBefore", + "type": "string" + }, + "OrderByColumn": { + "markdownDescription": "A column to sort the results by.", + "title": "OrderByColumn", + "type": "string" + }, + "OrderByColumns": { + "markdownDescription": "The columns to sort the results by.", + "title": "OrderByColumns", + "type": "string" + }, + "Other": { + "markdownDescription": "The value to assign to unmapped cells, in categorical mapping", + "title": "Other", + "type": "string" + }, + "Pattern": { + "markdownDescription": "The pattern to locate.", + "title": "Pattern", + "type": "string" + }, + "PatternOption1": { + "markdownDescription": "The starting pattern to split between.", + "title": "PatternOption1", + "type": "string" + }, + "PatternOption2": { + "markdownDescription": "The ending pattern to split between.", + "title": "PatternOption2", + "type": "string" + }, + "PatternOptions": { + "markdownDescription": "For splitting by multiple delimiters: A JSON-encoded string that lists the patterns in the format. For example: `[{\\\"pattern\\\":\\\"1\\\",\\\"includeInSplit\\\":true}]`", + "title": "PatternOptions", + "type": "string" + }, + "Period": { + "markdownDescription": "The size of the rolling window.", + "title": "Period", + "type": "string" + }, + "Position": { + "markdownDescription": "The character index within a string", + "title": "Position", + "type": "string" + }, + "RemoveAllPunctuation": { + "markdownDescription": "If `true` , removes all of the following characters: `.` `.!` `.,` `.?`", + "title": "RemoveAllPunctuation", + "type": "string" + }, + "RemoveAllQuotes": { + "markdownDescription": "If `true` , removes all single quotes and double quotes.", + "title": "RemoveAllQuotes", + "type": "string" + }, + "RemoveAllWhitespace": { + "markdownDescription": "If `true` , removes all whitespaces from the value.", + "title": "RemoveAllWhitespace", + "type": "string" + }, + "RemoveCustomCharacters": { + "markdownDescription": "If `true` , removes all chraracters specified by `CustomCharacters` .", + "title": "RemoveCustomCharacters", + "type": "string" + }, + "RemoveCustomValue": { + "markdownDescription": "If `true` , removes all chraracters specified by `CustomValue` .", + "title": "RemoveCustomValue", + "type": "string" + }, + "RemoveLeadingAndTrailingPunctuation": { + "markdownDescription": "If `true` , removes the following characters if they occur at the start or end of the value: `.` `!` `,` `?`", + "title": "RemoveLeadingAndTrailingPunctuation", + "type": "string" + }, + "RemoveLeadingAndTrailingQuotes": { + "markdownDescription": "If `true` , removes single quotes and double quotes from the beginning and end of the value.", + "title": "RemoveLeadingAndTrailingQuotes", + "type": "string" + }, + "RemoveLeadingAndTrailingWhitespace": { + "markdownDescription": "If `true` , removes all whitespaces from the beginning and end of the value.", + "title": "RemoveLeadingAndTrailingWhitespace", + "type": "string" + }, + "RemoveLetters": { + "markdownDescription": "If `true` , removes all uppercase and lowercase alphabetic characters (A through Z; a through z).", + "title": "RemoveLetters", + "type": "string" + }, + "RemoveNumbers": { + "markdownDescription": "If `true` , removes all numeric characters (0 through 9).", + "title": "RemoveNumbers", + "type": "string" + }, + "RemoveSourceColumn": { + "markdownDescription": "If `true` , the source column will be removed after un-nesting that column. (Used with nested column types, such as Map, Struct, or Array.)", + "title": "RemoveSourceColumn", + "type": "string" + }, + "RemoveSpecialCharacters": { + "markdownDescription": "If `true` , removes all of the following characters: `! \" # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \\ ] ^ _ ` { | } ~`", + "title": "RemoveSpecialCharacters", + "type": "string" + }, + "RightColumns": { + "markdownDescription": "The columns on the right side of a join.", + "title": "RightColumns", + "type": "string" + }, + "SampleSize": { + "markdownDescription": "The number of rows in the sample.", + "title": "SampleSize", + "type": "string" + }, + "SampleType": { + "markdownDescription": "The sampling type to apply to the dataset. Valid values: `FIRST_N` | `LAST_N` | `RANDOM`", + "title": "SampleType", + "type": "string" + }, + "SecondInput": { + "markdownDescription": "A object value to indicate the second dataset used in a join.", + "title": "SecondInput", + "type": "string" + }, + "SecondaryInputs": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" + }, + "markdownDescription": "A list of secondary inputs in a UNION transform", + "title": "SecondaryInputs", + "type": "array" + }, + "SheetIndexes": { + "items": { + "type": "number" + }, + "markdownDescription": "One or more sheet numbers in the Excel file, which will be included in a dataset.", + "title": "SheetIndexes", + "type": "array" + }, + "SheetNames": { + "items": { + "type": "string" + }, + "markdownDescription": "Oone or more named sheets in the Excel file, which will be included in a dataset.", + "title": "SheetNames", + "type": "array" + }, + "SourceColumn": { + "markdownDescription": "A source column needed for an operation, step, or transform.", + "title": "SourceColumn", + "type": "string" + }, + "SourceColumn1": { + "markdownDescription": "A source column needed for an operation, step, or transform.", + "title": "SourceColumn1", + "type": "string" + }, + "SourceColumn2": { + "markdownDescription": "A source column needed for an operation, step, or transform.", + "title": "SourceColumn2", + "type": "string" + }, + "SourceColumns": { + "markdownDescription": "A list of source columns needed for an operation, step, or transform.", + "title": "SourceColumns", + "type": "string" + }, + "StartColumnIndex": { + "markdownDescription": "The index number of the first column used by an operation, step, or transform.", + "title": "StartColumnIndex", + "type": "string" + }, + "StartPattern": { + "markdownDescription": "The starting pattern to locate.", + "title": "StartPattern", + "type": "string" + }, + "StartPosition": { + "markdownDescription": "The starting position to locate.", + "title": "StartPosition", + "type": "string" + }, + "StartValue": { + "markdownDescription": "The starting value to locate.", + "title": "StartValue", + "type": "string" + }, + "StemmingMode": { + "markdownDescription": "Indicates this operation uses stems and lemmas (base words) for word tokenization.", + "title": "StemmingMode", + "type": "string" + }, + "StepCount": { + "markdownDescription": "The total number of transforms in this recipe.", + "title": "StepCount", + "type": "string" + }, + "StepIndex": { + "markdownDescription": "The index ID of a step.", + "title": "StepIndex", + "type": "string" + }, + "StopWordsMode": { + "markdownDescription": "Indicates this operation uses stop words as part of word tokenization.", + "title": "StopWordsMode", + "type": "string" + }, + "Strategy": { + "markdownDescription": "The resolution strategy to apply in resolving ambiguities.", + "title": "Strategy", + "type": "string" + }, + "TargetColumn": { + "markdownDescription": "The column targeted by this operation.", + "title": "TargetColumn", + "type": "string" + }, + "TargetColumnNames": { + "markdownDescription": "The names to give columns altered by this operation.", + "title": "TargetColumnNames", + "type": "string" + }, + "TargetDateFormat": { + "markdownDescription": "The date format to convert to.", + "title": "TargetDateFormat", + "type": "string" + }, + "TargetIndex": { + "markdownDescription": "The index number of an object that is targeted by this operation.", + "title": "TargetIndex", + "type": "string" + }, + "TimeZone": { + "markdownDescription": "The current timezone that you want to use for dates.", + "title": "TimeZone", + "type": "string" + }, + "TokenizerPattern": { + "markdownDescription": "A regex expression to use when splitting text into terms, also called words or tokens.", + "title": "TokenizerPattern", + "type": "string" + }, + "TrueString": { + "markdownDescription": "A value to use to represent `TRUE` .", + "title": "TrueString", + "type": "string" + }, + "UdfLang": { + "markdownDescription": "The language that's used in the user-defined function.", + "title": "UdfLang", + "type": "string" + }, + "Units": { + "markdownDescription": "Specifies a unit of time. For example: `MINUTES` ; `SECONDS` ; `HOURS` ; etc.", + "title": "Units", + "type": "string" + }, + "UnpivotColumn": { + "markdownDescription": "Cast columns as rows, so that each value is a different row in a single column.", + "title": "UnpivotColumn", + "type": "string" + }, + "UpperBound": { + "markdownDescription": "The upper boundary for a value.", + "title": "UpperBound", + "type": "string" + }, + "UseNewDataFrame": { + "markdownDescription": "Create a new container to hold a dataset.", + "title": "UseNewDataFrame", + "type": "string" + }, + "Value": { + "markdownDescription": "A static value that can be used in a comparison, a substitution, or in another context-specific way. A `Value` can be a number, string, or other datatype, depending on the recipe action in which it's used.", + "title": "Value", + "type": "string" + }, + "Value1": { + "markdownDescription": "A value that's used by this operation.", + "title": "Value1", + "type": "string" + }, + "Value2": { + "markdownDescription": "A value that's used by this operation.", + "title": "Value2", + "type": "string" + }, + "ValueColumn": { + "markdownDescription": "The column that is provided as a value that's used by this operation.", + "title": "ValueColumn", + "type": "string" + }, + "ViewFrame": { + "markdownDescription": "The subset of rows currently available for viewing.", + "title": "ViewFrame", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeStep": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.Action", + "markdownDescription": "The particular action to be performed in the recipe step.", + "title": "Action" + }, + "ConditionExpressions": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" + }, + "markdownDescription": "One or more conditions that must be met for the recipe step to succeed.\n\n> All of the conditions in the array must be met. In other words, all of the conditions must be combined using a logical AND operation.", + "title": "ConditionExpressions", + "type": "array" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The Amazon S3 bucket name.", + "title": "Bucket", + "type": "string" + }, + "Key": { + "markdownDescription": "The unique name of the object in the bucket.", + "title": "Key", + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.SecondaryInput": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition", + "markdownDescription": "The AWS Glue Data Catalog parameters for the data.", + "title": "DataCatalogInputDefinition" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location", + "markdownDescription": "The Amazon S3 location where the data is stored.", + "title": "S3InputDefinition" + } + }, + "type": "object" + }, + "AWS::DataBrew::Ruleset": { "additionalProperties": false, "properties": { "Condition": { @@ -111373,50 +110455,48 @@ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Budget.BudgetActionToAdd" - }, - "type": "array" - }, - "ApproximateDollarLimit": { - "type": "number" - }, "Description": { + "markdownDescription": "The description of the ruleset.", + "title": "Description", "type": "string" }, - "DisplayName": { - "type": "string" - }, - "FarmId": { + "Name": { + "markdownDescription": "The name of the ruleset.", + "title": "Name", "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::Deadline::Budget.BudgetSchedule" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Ruleset.Rule" + }, + "markdownDescription": "Contains metadata about the ruleset.", + "title": "Rules", + "type": "array" }, "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" }, - "UsageTrackingResource": { - "$ref": "#/definitions/AWS::Deadline::Budget.UsageTrackingResource" + "TargetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of a resource (dataset) that the ruleset is associated with.", + "title": "TargetArn", + "type": "string" } }, "required": [ - "Actions", - "ApproximateDollarLimit", - "DisplayName", - "FarmId", - "Schedule", - "UsageTrackingResource" + "Name", + "Rules", + "TargetArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Budget" + "AWS::DataBrew::Ruleset" ], "type": "string" }, @@ -111435,66 +110515,113 @@ ], "type": "object" }, - "AWS::Deadline::Budget.BudgetActionToAdd": { + "AWS::DataBrew::Ruleset.ColumnSelector": { "additionalProperties": false, "properties": { - "Description": { + "Name": { + "markdownDescription": "The name of a column from a dataset.", + "title": "Name", "type": "string" }, - "ThresholdPercentage": { - "type": "number" - }, - "Type": { + "Regex": { + "markdownDescription": "A regular expression for selecting a column from a dataset.", + "title": "Regex", "type": "string" } }, - "required": [ - "ThresholdPercentage", - "Type" - ], "type": "object" }, - "AWS::Deadline::Budget.BudgetSchedule": { + "AWS::DataBrew::Ruleset.Rule": { "additionalProperties": false, "properties": { - "Fixed": { - "$ref": "#/definitions/AWS::Deadline::Budget.FixedBudgetSchedule" + "CheckExpression": { + "markdownDescription": "The expression which includes column references, condition names followed by variable references, possibly grouped and combined with other conditions. For example, `(:col1 starts_with :prefix1 or :col1 starts_with :prefix2) and (:col1 ends_with :suffix1 or :col1 ends_with :suffix2)` . Column and value references are substitution variables that should start with the ':' symbol. Depending on the context, substitution variables' values can be either an actual value or a column name. These values are defined in the SubstitutionMap. If a CheckExpression starts with a column reference, then ColumnSelectors in the rule should be null. If ColumnSelectors has been defined, then there should be no columnn reference in the left side of a condition, for example, `is_between :val1 and :val2` .", + "title": "CheckExpression", + "type": "string" + }, + "ColumnSelectors": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Ruleset.ColumnSelector" + }, + "markdownDescription": "List of column selectors. Selectors can be used to select columns using a name or regular expression from the dataset. Rule will be applied to selected columns.", + "title": "ColumnSelectors", + "type": "array" + }, + "Disabled": { + "markdownDescription": "A value that specifies whether the rule is disabled. Once a rule is disabled, a profile job will not validate it during a job run. Default value is false.", + "title": "Disabled", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the rule.", + "title": "Name", + "type": "string" + }, + "SubstitutionMap": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Ruleset.SubstitutionValue" + }, + "markdownDescription": "The map of substitution variable names to their values used in a check expression. Variable names should start with a ':' (colon). Variable values can either be actual values or column names. To differentiate between the two, column names should be enclosed in backticks, for example, `\":col1\": \"`Column A`\".`", + "title": "SubstitutionMap", + "type": "array" + }, + "Threshold": { + "$ref": "#/definitions/AWS::DataBrew::Ruleset.Threshold", + "markdownDescription": "The threshold used with a non-aggregate check expression. Non-aggregate check expressions will be applied to each row in a specific column, and the threshold will be used to determine whether the validation succeeds.", + "title": "Threshold" } }, "required": [ - "Fixed" + "CheckExpression", + "Name" ], "type": "object" }, - "AWS::Deadline::Budget.FixedBudgetSchedule": { + "AWS::DataBrew::Ruleset.SubstitutionValue": { "additionalProperties": false, "properties": { - "EndTime": { + "Value": { + "markdownDescription": "Value or column name.", + "title": "Value", "type": "string" }, - "StartTime": { + "ValueReference": { + "markdownDescription": "Variable name.", + "title": "ValueReference", "type": "string" } }, "required": [ - "EndTime", - "StartTime" + "Value", + "ValueReference" ], "type": "object" }, - "AWS::Deadline::Budget.UsageTrackingResource": { + "AWS::DataBrew::Ruleset.Threshold": { "additionalProperties": false, "properties": { - "QueueId": { + "Type": { + "markdownDescription": "The type of a threshold. Used for comparison of an actual count of rows that satisfy the rule to the threshold value.", + "title": "Type", + "type": "string" + }, + "Unit": { + "markdownDescription": "Unit of threshold value. Can be either a COUNT or PERCENTAGE of the full sample size used for validation.", + "title": "Unit", "type": "string" + }, + "Value": { + "markdownDescription": "The value of a threshold.", + "title": "Value", + "type": "number" } }, "required": [ - "QueueId" + "Value" ], "type": "object" }, - "AWS::Deadline::Farm": { + "AWS::DataBrew::Schedule": { "additionalProperties": false, "properties": { "Condition": { @@ -111529,41 +110656,42 @@ "Properties": { "additionalProperties": false, "properties": { - "CostScaleFactor": { - "type": "number" - }, - "Description": { - "markdownDescription": "A description of the farm that helps identify what the farm is used for.\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": "Description", + "CronExpression": { + "markdownDescription": "The dates and times when the job is to run. For more information, see [Working with cron expressions for recipe jobs](https://docs.aws.amazon.com/databrew/latest/dg/jobs.recipe.html#jobs.cron) in the *AWS Glue DataBrew Developer Guide* .", + "title": "CronExpression", "type": "string" }, - "DisplayName": { - "markdownDescription": "The display name of the farm.\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" + "JobNames": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of jobs to be run, according to the schedule.", + "title": "JobNames", + "type": "array" }, - "KmsKeyArn": { - "markdownDescription": "The ARN for the KMS key.", - "title": "KmsKeyArn", + "Name": { + "markdownDescription": "The name of the schedule.", + "title": "Name", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to add to your farm. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", + "markdownDescription": "Metadata tags that have been applied to the schedule.", "title": "Tags", "type": "array" } }, "required": [ - "DisplayName" + "CronExpression", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Farm" + "AWS::DataBrew::Schedule" ], "type": "string" }, @@ -111582,7 +110710,7 @@ ], "type": "object" }, - "AWS::Deadline::Fleet": { + "AWS::DataExchange::Assets": { "additionalProperties": false, "properties": { "Condition": { @@ -111617,67 +110745,115 @@ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Deadline::Fleet.FleetConfiguration", - "markdownDescription": "The configuration details for the fleet.", - "title": "Configuration" - }, - "Description": { - "markdownDescription": "A description that helps identify what the fleet is used for.\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": "Description", + "DataSetId": { "type": "string" }, - "DisplayName": { - "markdownDescription": "The display name of the fleet 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", + "Name": { "type": "string" }, - "FarmId": { - "markdownDescription": "The farm ID.", - "title": "FarmId", + "RevisionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataExchange::Assets" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DataExchange::Assets.TagsItems": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::DataExchange::DataSet": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "HostConfiguration": { - "$ref": "#/definitions/AWS::Deadline::Fleet.HostConfiguration", - "markdownDescription": "Provides a script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet.\n\nTo remove a script from a fleet, use the [UpdateFleet](https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_UpdateFleet.html) operation with the `hostConfiguration` `scriptBody` parameter set to an empty string (\"\").", - "title": "HostConfiguration" - }, - "MaxWorkerCount": { - "markdownDescription": "The maximum number of workers specified in the fleet.", - "title": "MaxWorkerCount", - "type": "number" + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssetType": { + "type": "string" }, - "MinWorkerCount": { - "markdownDescription": "The minimum number of workers in the fleet.", - "title": "MinWorkerCount", - "type": "number" + "Description": { + "type": "string" }, - "RoleArn": { - "markdownDescription": "The IAM role that workers in the fleet use when processing jobs.", - "title": "RoleArn", + "Name": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to add to your fleet. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", - "title": "Tags", "type": "array" } }, "required": [ - "Configuration", - "DisplayName", - "FarmId", - "MaxWorkerCount", - "RoleArn" + "AssetType", + "Description", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Fleet" + "AWS::DataExchange::DataSet" ], "type": "string" }, @@ -111696,499 +110872,203 @@ ], "type": "object" }, - "AWS::Deadline::Fleet.AcceleratorCapabilities": { + "AWS::DataExchange::EntitledDataSets": { "additionalProperties": false, "properties": { - "Count": { - "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorCountRange", - "markdownDescription": "The number of GPU accelerators specified for worker hosts in this fleet.\n\n> You must specify either `acceleratorCapabilities.count.max` or `allowedInstanceTypes` when using accelerator capabilities. If you don't specify a maximum count, AWS Deadline Cloud uses the instance types you specify in `allowedInstanceTypes` to determine the maximum number of accelerators.", - "title": "Count" + "Condition": { + "type": "string" }, - "Selections": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorSelection" - }, - "markdownDescription": "A list of accelerator capabilities requested for this fleet. Only Amazon Elastic Compute Cloud instances that provide these capabilities will be used. For example, if you specify both L4 and T4 chips, AWS Deadline Cloud will use Amazon EC2 instances that have either the L4 or the T4 chip installed.\n\n> - You must specify at least one accelerator selection.\n> - You cannot specify the same accelerator name multiple times in the selections list.\n> - All accelerators in the selections must use the same runtime version.", - "title": "Selections", - "type": "array" - } - }, - "required": [ - "Selections" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.AcceleratorCountRange": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum number of GPU accelerators in the worker host.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum number of GPU accelerators in the worker host.", - "title": "Min", - "type": "number" - } - }, - "required": [ - "Min" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.AcceleratorSelection": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the chip used by the GPU accelerator.\n\nThe available GPU accelerators are:\n\n- `t4` - NVIDIA T4 Tensor Core GPU (16 GiB memory)\n- `a10g` - NVIDIA A10G Tensor Core GPU (24 GiB memory)\n- `l4` - NVIDIA L4 Tensor Core GPU (24 GiB memory)\n- `l40s` - NVIDIA L40S Tensor Core GPU (48 GiB memory)", - "title": "Name", - "type": "string" - }, - "Runtime": { - "markdownDescription": "Specifies the runtime driver to use for the GPU accelerator. You must use the same runtime for all GPUs in a fleet.\n\nYou can choose from the following runtimes:\n\n- `latest` - Use the latest runtime available for the chip. If you specify `latest` and a new version of the runtime is released, the new version of the runtime is used.\n- `grid:r570` - [NVIDIA vGPU software 18](https://docs.aws.amazon.com/https://docs.nvidia.com/vgpu/18.0/index.html)\n- `grid:r535` - [NVIDIA vGPU software 16](https://docs.aws.amazon.com/https://docs.nvidia.com/vgpu/16.0/index.html)\n\nIf you don't specify a runtime, AWS Deadline Cloud uses `latest` as the default. However, if you have multiple accelerators and specify `latest` for some and leave others blank, AWS Deadline Cloud raises an exception.\n\n> Not all runtimes are compatible with all accelerator types:\n> \n> - `t4` and `a10g` : Support all runtimes ( `grid:r570` , `grid:r535` )\n> - `l4` and `l40s` : Only support `grid:r570` and newer\n> \n> All accelerators in a fleet must use the same runtime version. You cannot mix different runtime versions within a single fleet. > When you specify `latest` , it resolves to `grid:r570` for all currently supported accelerators.", - "title": "Runtime", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.AcceleratorTotalMemoryMiBRange": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory to use for the accelerator, measured in MiB.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum amount of memory to use for the accelerator, measured in MiB.", - "title": "Min", - "type": "number" - } - }, - "required": [ - "Min" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.CustomerManagedAutoScalingConfiguration": { - "additionalProperties": false, - "properties": { - "ScaleOutWorkersPerMinute": { - "type": "number" }, - "StandbyWorkerCount": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "WorkerIdleDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Deadline::Fleet.CustomerManagedFleetConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingConfiguration": { - "$ref": "#/definitions/AWS::Deadline::Fleet.CustomerManagedAutoScalingConfiguration" + "Metadata": { + "type": "object" }, - "Mode": { - "markdownDescription": "The Auto Scaling mode for the customer managed fleet.", - "title": "Mode", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AssetType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" }, - "StorageProfileId": { - "markdownDescription": "The storage profile ID for the customer managed fleet.", - "title": "StorageProfileId", + "Type": { + "enum": [ + "AWS::DataExchange::EntitledDataSets" + ], "type": "string" }, - "TagPropagationMode": { - "markdownDescription": "The tag propagation mode for the customer managed fleet.", - "title": "TagPropagationMode", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "WorkerCapabilities": { - "$ref": "#/definitions/AWS::Deadline::Fleet.CustomerManagedWorkerCapabilities", - "markdownDescription": "The worker capabilities for the customer managed fleet.", - "title": "WorkerCapabilities" } }, "required": [ - "Mode", - "WorkerCapabilities" + "Type" ], "type": "object" }, - "AWS::Deadline::Fleet.CustomerManagedWorkerCapabilities": { + "AWS::DataExchange::EventAction": { "additionalProperties": false, "properties": { - "AcceleratorCount": { - "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorCountRange", - "markdownDescription": "The range of the accelerator.", - "title": "AcceleratorCount" - }, - "AcceleratorTotalMemoryMiB": { - "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorTotalMemoryMiBRange", - "markdownDescription": "The total memory (MiB) for the customer managed worker capabilities.", - "title": "AcceleratorTotalMemoryMiB" - }, - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The accelerator types for the customer managed worker capabilities.", - "title": "AcceleratorTypes", - "type": "array" - }, - "CpuArchitectureType": { - "markdownDescription": "The CPU architecture type for the customer managed worker capabilities.", - "title": "CpuArchitectureType", + "Condition": { "type": "string" }, - "CustomAmounts": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAmountCapability" - }, - "markdownDescription": "Custom requirement ranges for customer managed worker capabilities.", - "title": "CustomAmounts", - "type": "array" - }, - "CustomAttributes": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAttributeCapability" - }, - "markdownDescription": "Custom attributes for the customer manged worker capabilities.", - "title": "CustomAttributes", - "type": "array" - }, - "MemoryMiB": { - "$ref": "#/definitions/AWS::Deadline::Fleet.MemoryMiBRange", - "markdownDescription": "The memory (MiB).", - "title": "MemoryMiB" - }, - "OsFamily": { - "markdownDescription": "The operating system (OS) family.", - "title": "OsFamily", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "VCpuCount": { - "$ref": "#/definitions/AWS::Deadline::Fleet.VCpuCountRange", - "markdownDescription": "The vCPU count for the customer manged worker capabilities.", - "title": "VCpuCount" - } - }, - "required": [ - "CpuArchitectureType", - "MemoryMiB", - "OsFamily", - "VCpuCount" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.Ec2EbsVolume": { - "additionalProperties": false, - "properties": { - "Iops": { - "markdownDescription": "The IOPS per volume.", - "title": "Iops", - "type": "number" - }, - "SizeGiB": { - "markdownDescription": "The EBS volume size in GiB.", - "title": "SizeGiB", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ThroughputMiB": { - "markdownDescription": "The throughput per volume in MiB.", - "title": "ThroughputMiB", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Deadline::Fleet.FleetAmountCapability": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum amount of the fleet worker capability.", - "title": "Max", - "type": "number" + "Metadata": { + "type": "object" }, - "Min": { - "markdownDescription": "The minimum amount of fleet worker capability.", - "title": "Min", - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::DataExchange::EventAction.Action" + }, + "Event": { + "$ref": "#/definitions/AWS::DataExchange::EventAction.Event" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Action", + "Event" + ], + "type": "object" }, - "Name": { - "markdownDescription": "The name of the fleet capability.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Min", - "Name" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.FleetAttributeCapability": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the fleet attribute capability for the worker.", - "title": "Name", + "Type": { + "enum": [ + "AWS::DataExchange::EventAction" + ], "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The number of fleet attribute capabilities.", - "title": "Values", - "type": "array" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Name", - "Values" + "Type", + "Properties" ], "type": "object" }, - "AWS::Deadline::Fleet.FleetCapabilities": { - "additionalProperties": false, - "properties": { - "Amounts": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAmountCapability" - }, - "markdownDescription": "Amount capabilities of the fleet.", - "title": "Amounts", - "type": "array" - }, - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAttributeCapability" - }, - "markdownDescription": "Attribute capabilities of the fleet.", - "title": "Attributes", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Deadline::Fleet.FleetConfiguration": { + "AWS::DataExchange::EventAction.Action": { "additionalProperties": false, "properties": { - "CustomerManaged": { - "$ref": "#/definitions/AWS::Deadline::Fleet.CustomerManagedFleetConfiguration", - "markdownDescription": "The customer managed fleets within a fleet configuration.", - "title": "CustomerManaged" - }, - "ServiceManagedEc2": { - "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2FleetConfiguration", - "markdownDescription": "The service managed Amazon EC2 instances for a fleet configuration.", - "title": "ServiceManagedEc2" + "ExportRevisionToS3": { + "$ref": "#/definitions/AWS::DataExchange::EventAction.AutoExportRevisionToS3RequestDetails" } }, "type": "object" }, - "AWS::Deadline::Fleet.HostConfiguration": { + "AWS::DataExchange::EventAction.AutoExportRevisionDestinationEntry": { "additionalProperties": false, "properties": { - "ScriptBody": { - "markdownDescription": "The text of the script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet. The script runs after a worker enters the `STARTING` state and before the worker processes tasks.\n\nFor more information about using the script, see [Run scripts as an administrator to configure workers](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/smf-admin.html) in the *Deadline Cloud Developer Guide* .\n\n> The script runs as an administrative user ( `sudo root` on Linux, as an Administrator on Windows).", - "title": "ScriptBody", + "Bucket": { "type": "string" }, - "ScriptTimeoutSeconds": { - "markdownDescription": "The maximum time that the host configuration can run. If the timeout expires, the worker enters the `NOT RESPONDING` state and shuts down. You are charged for the time that the worker is running the host configuration script.\n\n> You should configure your fleet for a maximum of one worker while testing your host configuration script to avoid starting additional workers. \n\nThe default is 300 seconds (5 minutes).", - "title": "ScriptTimeoutSeconds", - "type": "number" - } - }, - "required": [ - "ScriptBody" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.MemoryMiBRange": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory (in MiB).", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum amount of memory (in MiB).", - "title": "Min", - "type": "number" + "KeyPattern": { + "type": "string" } }, "required": [ - "Min" + "Bucket" ], "type": "object" }, - "AWS::Deadline::Fleet.PersistentVolumeConfiguration": { + "AWS::DataExchange::EventAction.AutoExportRevisionToS3RequestDetails": { "additionalProperties": false, "properties": { - "Iops": { - "type": "number" - }, - "LastUsedTtlHours": { - "type": "number" - }, - "MountPath": { - "type": "string" - }, - "SizeGiB": { - "type": "number" + "Encryption": { + "$ref": "#/definitions/AWS::DataExchange::EventAction.ExportServerSideEncryption" }, - "ThroughputMiB": { - "type": "number" + "RevisionDestination": { + "$ref": "#/definitions/AWS::DataExchange::EventAction.AutoExportRevisionDestinationEntry" } }, "required": [ - "MountPath" + "RevisionDestination" ], "type": "object" }, - "AWS::Deadline::Fleet.ServiceManagedEc2AutoScalingConfiguration": { - "additionalProperties": false, - "properties": { - "ScaleOutWorkersPerMinute": { - "type": "number" - }, - "StandbyWorkerCount": { - "type": "number" - }, - "WorkerIdleDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Deadline::Fleet.ServiceManagedEc2FleetConfiguration": { + "AWS::DataExchange::EventAction.Event": { "additionalProperties": false, "properties": { - "AutoScalingConfiguration": { - "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2AutoScalingConfiguration" - }, - "InstanceCapabilities": { - "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2InstanceCapabilities", - "markdownDescription": "The instance capabilities for the service managed EC2 fleet.", - "title": "InstanceCapabilities" - }, - "InstanceMarketOptions": { - "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2InstanceMarketOptions", - "markdownDescription": "The instance market options for the service managed EC2 fleet.", - "title": "InstanceMarketOptions" - }, - "PersistentVolumeConfiguration": { - "$ref": "#/definitions/AWS::Deadline::Fleet.PersistentVolumeConfiguration" - }, - "StorageProfileId": { - "markdownDescription": "The storage profile ID for the service managed EC2 fleet.", - "title": "StorageProfileId", - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Deadline::Fleet.VpcConfiguration", - "markdownDescription": "The VPC configuration for the service managed EC2 fleet.", - "title": "VpcConfiguration" + "RevisionPublished": { + "$ref": "#/definitions/AWS::DataExchange::EventAction.RevisionPublished" } }, - "required": [ - "InstanceCapabilities", - "InstanceMarketOptions" - ], "type": "object" }, - "AWS::Deadline::Fleet.ServiceManagedEc2InstanceCapabilities": { + "AWS::DataExchange::EventAction.ExportServerSideEncryption": { "additionalProperties": false, "properties": { - "AcceleratorCapabilities": { - "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorCapabilities", - "markdownDescription": "Describes the GPU accelerator capabilities required for worker host instances in this fleet.", - "title": "AcceleratorCapabilities" - }, - "AllowedInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The allowable Amazon EC2 instance types.", - "title": "AllowedInstanceTypes", - "type": "array" - }, - "CpuArchitectureType": { - "markdownDescription": "The CPU architecture type.", - "title": "CpuArchitectureType", - "type": "string" - }, - "CustomAmounts": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAmountCapability" - }, - "markdownDescription": "The custom capability amounts to require for instances in this fleet.", - "title": "CustomAmounts", - "type": "array" - }, - "CustomAttributes": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAttributeCapability" - }, - "markdownDescription": "The custom capability attributes to require for instances in this fleet.", - "title": "CustomAttributes", - "type": "array" - }, - "ExcludedInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The instance types to exclude from the fleet.", - "title": "ExcludedInstanceTypes", - "type": "array" - }, - "MemoryMiB": { - "$ref": "#/definitions/AWS::Deadline::Fleet.MemoryMiBRange", - "markdownDescription": "The memory, as MiB, for the Amazon EC2 instance type.", - "title": "MemoryMiB" - }, - "OsFamily": { - "markdownDescription": "The operating system (OS) family.", - "title": "OsFamily", + "KmsKeyArn": { "type": "string" }, - "RootEbsVolume": { - "$ref": "#/definitions/AWS::Deadline::Fleet.Ec2EbsVolume", - "markdownDescription": "The root EBS volume.", - "title": "RootEbsVolume" - }, - "VCpuCount": { - "$ref": "#/definitions/AWS::Deadline::Fleet.VCpuCountRange", - "markdownDescription": "The amount of vCPU to require for instances in this fleet.", - "title": "VCpuCount" - } - }, - "required": [ - "CpuArchitectureType", - "MemoryMiB", - "OsFamily", - "VCpuCount" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.ServiceManagedEc2InstanceMarketOptions": { - "additionalProperties": false, - "properties": { "Type": { - "markdownDescription": "The Amazon EC2 instance type.", - "title": "Type", "type": "string" } }, @@ -112197,40 +111077,19 @@ ], "type": "object" }, - "AWS::Deadline::Fleet.VCpuCountRange": { + "AWS::DataExchange::EventAction.RevisionPublished": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of vCPU.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum amount of vCPU.", - "title": "Min", - "type": "number" + "DataSetId": { + "type": "string" } }, "required": [ - "Min" + "DataSetId" ], "type": "object" }, - "AWS::Deadline::Fleet.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "ResourceConfigurationArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The ARNs of the VPC Lattice resource configurations attached to the fleet.", - "title": "ResourceConfigurationArns", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Deadline::Job": { + "AWS::DataExchange::Job": { "additionalProperties": false, "properties": { "Condition": { @@ -112264,37 +111123,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "FarmId": { - "type": "string" - }, - "MaxFailedTasksCount": { - "type": "number" - }, - "MaxRetriesPerTask": { - "type": "number" - }, - "MaxWorkerCount": { - "type": "number" - }, - "Priority": { - "type": "number" - }, - "QueueId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Job" + "AWS::DataExchange::Job" ], "type": "string" }, @@ -112312,7 +111146,7 @@ ], "type": "object" }, - "AWS::Deadline::LicenseEndpoint": { + "AWS::DataPipeline::Pipeline": { "additionalProperties": false, "properties": { "Condition": { @@ -112347,46 +111181,62 @@ "Properties": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { + "Activate": { + "markdownDescription": "Indicates whether to validate and start the pipeline or stop an active pipeline. By default, the value is set to `true` .", + "title": "Activate", + "type": "boolean" + }, + "Description": { + "markdownDescription": "A description of the pipeline.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the pipeline.", + "title": "Name", + "type": "string" + }, + "ParameterObjects": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" }, - "markdownDescription": "The identifier of the Amazon EC2 security group that controls access to the license endpoint.", - "title": "SecurityGroupIds", + "markdownDescription": "The parameter objects used with the pipeline.", + "title": "ParameterObjects", "type": "array" }, - "SubnetIds": { + "ParameterValues": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" }, - "markdownDescription": "Identifies the VPC subnets that can connect to a license endpoint.", - "title": "SubnetIds", + "markdownDescription": "The parameter values used with the pipeline.", + "title": "ParameterValues", "type": "array" }, - "Tags": { + "PipelineObjects": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" }, - "markdownDescription": "The tags to add to your license endpoint. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", - "title": "Tags", + "markdownDescription": "The objects that define the pipeline. These objects overwrite the existing pipeline definition. Not all objects, fields, and values can be updated. For information about restrictions, see [Editing Your Pipeline](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-manage-pipeline-modify-console.html) in the *AWS Data Pipeline Developer Guide* .", + "title": "PipelineObjects", "type": "array" }, - "VpcId": { - "markdownDescription": "The VPC (virtual private cloud) ID associated with the license endpoint.", - "title": "VpcId", - "type": "string" + "PipelineTags": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" + }, + "markdownDescription": "A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions. For more information, see [Controlling Access to Pipelines and Resources](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html) in the *AWS Data Pipeline Developer Guide* .", + "title": "PipelineTags", + "type": "array" } }, "required": [ - "SecurityGroupIds", - "SubnetIds", - "VpcId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::LicenseEndpoint" + "AWS::DataPipeline::Pipeline" ], "type": "string" }, @@ -112405,165 +111255,143 @@ ], "type": "object" }, - "AWS::Deadline::Limit": { + "AWS::DataPipeline::Pipeline.Field": { "additionalProperties": false, "properties": { - "Condition": { + "Key": { + "markdownDescription": "Specifies the name of a field for a particular object. To view valid values for a particular field, see [Pipeline Object Reference](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-pipeline-objects.html) in the *AWS Data Pipeline Developer Guide* .", + "title": "Key", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RefValue": { + "markdownDescription": "A field value that you specify as an identifier of another object in the same pipeline definition.\n\n> You can specify the field value as either a string value ( `StringValue` ) or a reference to another object ( `RefValue` ), but not both. \n\nRequired if the key that you are using requires it.", + "title": "RefValue", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmountRequirementName": { - "markdownDescription": "The value that you specify as the `name` in the `amounts` field of the `hostRequirements` in a step of a job template to declare the limit requirement.", - "title": "AmountRequirementName", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the limit. A clear description helps you identify the purpose of the limit.\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": "Description", - "type": "string" - }, - "DisplayName": { - "markdownDescription": "The name of the limit used in lists to identify the limit.\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 unique identifier of the farm that contains the limit.", - "title": "FarmId", - "type": "string" - }, - "MaxCount": { - "markdownDescription": "The maximum number of resources constrained by this limit. When all of the resources are in use, steps that require the limit won't be scheduled until the resource is available.\n\nThe `maxValue` must not be 0. If the value is -1, there is no restriction on the number of resources that can be acquired for this limit.", - "title": "MaxCount", - "type": "number" - } - }, - "required": [ - "AmountRequirementName", - "DisplayName", - "FarmId", - "MaxCount" - ], - "type": "object" + "StringValue": { + "markdownDescription": "A field value that you specify as a string. To view valid values for a particular field, see [Pipeline Object Reference](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-pipeline-objects.html) in the *AWS Data Pipeline Developer Guide* .\n\n> You can specify the field value as either a string value ( `StringValue` ) or a reference to another object ( `RefValue` ), but not both. \n\nRequired if the key that you are using requires it.", + "title": "StringValue", + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The field identifier.", + "title": "Key", + "type": "string" }, - "Type": { - "enum": [ - "AWS::Deadline::Limit" - ], + "StringValue": { + "markdownDescription": "The field value, expressed as a String.", + "title": "StringValue", "type": "string" + } + }, + "required": [ + "Key", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterObject": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" + }, + "markdownDescription": "The attributes of the parameter object.", + "title": "Attributes", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Id": { + "markdownDescription": "The ID of the parameter object.", + "title": "Id", "type": "string" } }, "required": [ - "Type", - "Properties" + "Attributes", + "Id" ], "type": "object" }, - "AWS::Deadline::MeteredProduct": { + "AWS::DataPipeline::Pipeline.ParameterValue": { "additionalProperties": false, "properties": { - "Condition": { + "Id": { + "markdownDescription": "The ID of the parameter value.", + "title": "Id", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StringValue": { + "markdownDescription": "The field value, expressed as a String.", + "title": "StringValue", "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LicenseEndpointId": { - "markdownDescription": "The Amazon EC2 identifier of the license endpoint.", - "title": "LicenseEndpointId", - "type": "string" - }, - "ProductId": { - "markdownDescription": "The product ID.", - "title": "ProductId", - "type": "string" - } + } + }, + "required": [ + "Id", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineObject": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" }, - "type": "object" + "markdownDescription": "Key-value pairs that define the properties of the object.", + "title": "Fields", + "type": "array" }, - "Type": { - "enum": [ - "AWS::Deadline::MeteredProduct" - ], + "Id": { + "markdownDescription": "The ID of the object.", + "title": "Id", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "markdownDescription": "The name of the object.", + "title": "Name", "type": "string" } }, "required": [ - "Type" + "Fields", + "Id", + "Name" ], "type": "object" }, - "AWS::Deadline::Monitor": { + "AWS::DataPipeline::Pipeline.PipelineTag": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The key name of a tag.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The value to associate with the key name.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::DataSync::Agent": { "additionalProperties": false, "properties": { "Condition": { @@ -112598,49 +111426,51 @@ "Properties": { "additionalProperties": false, "properties": { - "DisplayName": { - "markdownDescription": "The name of the monitor that displays on the Deadline Cloud console.\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" - }, - "IdentityCenterInstanceArn": { - "markdownDescription": "The Amazon Resource Name of the IAM Identity Center instance responsible for authenticating monitor users.", - "title": "IdentityCenterInstanceArn", + "ActivationKey": { + "markdownDescription": "Specifies your DataSync agent's activation key. If you don't have an activation key, see [Activating your agent](https://docs.aws.amazon.com/datasync/latest/userguide/activate-agent.html) .", + "title": "ActivationKey", "type": "string" }, - "IdentityCenterRegion": { + "AgentName": { + "markdownDescription": "Specifies a name for your agent. We recommend specifying a name that you can remember.", + "title": "AgentName", "type": "string" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name of the IAM role for the monitor. Users of the monitor use this role to access Deadline Cloud resources.", - "title": "RoleArn", - "type": "string" + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the security groups used to protect your data transfer task subnets. See [SecurityGroupArns](https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns) .\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`", + "title": "SecurityGroupArns", + "type": "array" }, - "Subdomain": { - "markdownDescription": "The subdomain used for the monitor URL. The full URL of the monitor is subdomain.Region.deadlinecloud.amazonaws.com.", - "title": "Subdomain", - "type": "string" + "SubnetArns": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the ARN of the subnet where your VPC service endpoint is located. You can only specify one ARN.", + "title": "SubnetArns", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least one tag for your agent.", "title": "Tags", "type": "array" + }, + "VpcEndpointId": { + "markdownDescription": "The ID of the virtual private cloud (VPC) endpoint that the agent has access to. This is the client-side VPC endpoint, powered by AWS PrivateLink . If you don't have an AWS PrivateLink VPC endpoint, see [AWS PrivateLink and VPC endpoints](https://docs.aws.amazon.com//vpc/latest/userguide/endpoint-services-overview.html) in the *Amazon VPC User Guide* .\n\nFor more information about activating your agent in a private network based on a VPC, see [Using AWS DataSync in a Virtual Private Cloud](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-in-vpc.html) in the *AWS DataSync User Guide.*\n\nA VPC endpoint ID looks like this: `vpce-01234d5aff67890e1` .", + "title": "VpcEndpointId", + "type": "string" } }, - "required": [ - "DisplayName", - "IdentityCenterInstanceArn", - "RoleArn", - "Subdomain" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Monitor" + "AWS::DataSync::Agent" ], "type": "string" }, @@ -112654,12 +111484,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Deadline::Queue": { + "AWS::DataSync::LocationAzureBlob": { "additionalProperties": false, "properties": { "Condition": { @@ -112694,78 +111523,74 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowedStorageProfileIds": { + "AgentArns": { "items": { "type": "string" }, - "markdownDescription": "The identifiers of the storage profiles that this queue can use to share assets between workers using different operating systems.", - "title": "AllowedStorageProfileIds", + "markdownDescription": "(Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.\n\nYou can specify more than one agent. For more information, see [Using multiple agents for your transfer](https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html) .\n\n> Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.", + "title": "AgentArns", "type": "array" }, - "DefaultBudgetAction": { - "markdownDescription": "The default action taken on a queue summary if a budget wasn't configured.", - "title": "DefaultBudgetAction", + "AzureAccessTier": { + "markdownDescription": "Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see [Access tiers](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers) .", + "title": "AzureAccessTier", "type": "string" }, - "Description": { - "markdownDescription": "A description of the queue that helps identify what the queue is used for.\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": "Description", + "AzureBlobAuthenticationType": { + "markdownDescription": "Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS).", + "title": "AzureBlobAuthenticationType", "type": "string" }, - "DisplayName": { - "markdownDescription": "The display name of the queue 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", + "AzureBlobContainerUrl": { + "markdownDescription": "Specifies the URL of the Azure Blob Storage container involved in your transfer.", + "title": "AzureBlobContainerUrl", "type": "string" }, - "FarmId": { - "markdownDescription": "The farm ID.", - "title": "FarmId", + "AzureBlobSasConfiguration": { + "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.AzureBlobSasConfiguration", + "markdownDescription": "Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.\n\n> If you provide an authentication token using `SasConfiguration` , 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": "AzureBlobSasConfiguration" + }, + "AzureBlobType": { + "markdownDescription": "Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the [Azure Blob Storage documentation](https://docs.aws.amazon.com/https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs) .", + "title": "AzureBlobType", "type": "string" }, - "JobAttachmentSettings": { - "$ref": "#/definitions/AWS::Deadline::Queue.JobAttachmentSettings", - "markdownDescription": "The job attachment settings. These are the Amazon S3 bucket name and the Amazon S3 prefix.", - "title": "JobAttachmentSettings" + "CmkSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.CmkSecretConfig", + "markdownDescription": "Specifies configuration information for a DataSync-managed secret, such as an authentication token, secret key, password, or Kerberos keytab that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .\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": "CmkSecretConfig" }, - "JobRunAsUser": { - "$ref": "#/definitions/AWS::Deadline::Queue.JobRunAsUser", - "markdownDescription": "Identifies the user for a job.", - "title": "JobRunAsUser" + "CustomSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.CustomSecretConfig", + "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" }, - "RequiredFileSystemLocationNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The file system location that the queue uses.", - "title": "RequiredFileSystemLocationNames", - "type": "array" + "FederatedIdentity": { + "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.AzureFederatedIdentityConfig" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that workers use when running jobs in this queue.", - "title": "RoleArn", + "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", "type": "string" }, - "SchedulingConfiguration": { - "$ref": "#/definitions/AWS::Deadline::Queue.SchedulingConfiguration" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to add to your queue. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your transfer location.", "title": "Tags", "type": "array" } }, "required": [ - "DisplayName", - "FarmId" + "AzureBlobAuthenticationType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Queue" + "AWS::DataSync::LocationAzureBlob" ], "type": "string" }, @@ -112784,166 +111609,99 @@ ], "type": "object" }, - "AWS::Deadline::Queue.JobAttachmentSettings": { + "AWS::DataSync::LocationAzureBlob.AzureBlobSasConfiguration": { "additionalProperties": false, "properties": { - "RootPrefix": { - "markdownDescription": "The root prefix.", - "title": "RootPrefix", - "type": "string" - }, - "S3BucketName": { - "markdownDescription": "The Amazon S3 bucket name.", - "title": "S3BucketName", + "AzureBlobSasToken": { + "markdownDescription": "Specifies a SAS token that provides permissions to access your Azure Blob Storage.\n\nThe token is part of the SAS URI string that comes after the storage resource URI and a question mark. A token looks something like this:\n\n`sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D`", + "title": "AzureBlobSasToken", "type": "string" } }, "required": [ - "RootPrefix", - "S3BucketName" + "AzureBlobSasToken" ], "type": "object" }, - "AWS::Deadline::Queue.JobRunAsUser": { + "AWS::DataSync::LocationAzureBlob.AzureFederatedIdentityConfig": { "additionalProperties": false, "properties": { - "Posix": { - "$ref": "#/definitions/AWS::Deadline::Queue.PosixUser", - "markdownDescription": "The user and group that the jobs in the queue run as.", - "title": "Posix" - }, - "RunAs": { - "markdownDescription": "Specifies whether the job should run using the queue's system user or if the job should run using the worker agent system user.", - "title": "RunAs", + "AwsIamRole": { "type": "string" }, - "Windows": { - "$ref": "#/definitions/AWS::Deadline::Queue.WindowsUser", - "markdownDescription": "Identifies a Microsoft Windows user.", - "title": "Windows" + "AzureOidc": { + "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.AzureOidcConfig" } }, - "required": [ - "RunAs" - ], "type": "object" }, - "AWS::Deadline::Queue.PosixUser": { + "AWS::DataSync::LocationAzureBlob.AzureOidcConfig": { "additionalProperties": false, "properties": { - "Group": { - "markdownDescription": "The name of the POSIX user's group.", - "title": "Group", + "ClientId": { "type": "string" }, - "User": { - "markdownDescription": "The name of the POSIX user.", - "title": "User", + "TenantId": { "type": "string" } }, "required": [ - "Group", - "User" + "ClientId", + "TenantId" ], "type": "object" }, - "AWS::Deadline::Queue.PriorityBalancedSchedulingConfiguration": { - "additionalProperties": false, - "properties": { - "RenderingTaskBuffer": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Deadline::Queue.SchedulingConfiguration": { + "AWS::DataSync::LocationAzureBlob.CmkSecretConfig": { "additionalProperties": false, "properties": { - "PriorityBalanced": { - "$ref": "#/definitions/AWS::Deadline::Queue.PriorityBalancedSchedulingConfiguration" - }, - "PriorityFifo": { - "type": "object" + "KmsKeyArn": { + "markdownDescription": "Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for `SecretArn` . DataSync provides this key to AWS Secrets Manager .", + "title": "KmsKeyArn", + "type": "string" }, - "WeightedBalanced": { - "$ref": "#/definitions/AWS::Deadline::Queue.WeightedBalancedSchedulingConfiguration" - } - }, - "type": "object" - }, - "AWS::Deadline::Queue.SchedulingMaxPriorityOverride": { - "additionalProperties": false, - "properties": { - "AlwaysScheduleFirst": { - "type": "object" + "SecretArn": { + "markdownDescription": "Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for `KmsKeyArn` .", + "title": "SecretArn", + "type": "string" } }, - "required": [ - "AlwaysScheduleFirst" - ], "type": "object" }, - "AWS::Deadline::Queue.SchedulingMinPriorityOverride": { + "AWS::DataSync::LocationAzureBlob.CustomSecretConfig": { "additionalProperties": false, "properties": { - "AlwaysScheduleLast": { - "type": "object" + "SecretAccessRoleArn": { + "markdownDescription": "Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` .", + "title": "SecretAccessRoleArn", + "type": "string" + }, + "SecretArn": { + "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", + "title": "SecretArn", + "type": "string" } }, "required": [ - "AlwaysScheduleLast" + "SecretAccessRoleArn", + "SecretArn" ], "type": "object" }, - "AWS::Deadline::Queue.WeightedBalancedSchedulingConfiguration": { - "additionalProperties": false, - "properties": { - "ErrorWeight": { - "type": "number" - }, - "MaxPriorityOverride": { - "$ref": "#/definitions/AWS::Deadline::Queue.SchedulingMaxPriorityOverride" - }, - "MinPriorityOverride": { - "$ref": "#/definitions/AWS::Deadline::Queue.SchedulingMinPriorityOverride" - }, - "PriorityWeight": { - "type": "number" - }, - "RenderingTaskBuffer": { - "type": "number" - }, - "RenderingTaskWeight": { - "type": "number" - }, - "SubmissionTimeWeight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Deadline::Queue.WindowsUser": { + "AWS::DataSync::LocationAzureBlob.ManagedSecretConfig": { "additionalProperties": false, "properties": { - "PasswordArn": { - "markdownDescription": "The password ARN for the Windows user.", - "title": "PasswordArn", - "type": "string" - }, - "User": { - "markdownDescription": "The user.", - "title": "User", + "SecretArn": { + "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", + "title": "SecretArn", "type": "string" } }, "required": [ - "PasswordArn", - "User" + "SecretArn" ], "type": "object" }, - "AWS::Deadline::QueueEnvironment": { + "AWS::DataSync::LocationEFS": { "additionalProperties": false, "properties": { "Condition": { @@ -112978,44 +111736,53 @@ "Properties": { "additionalProperties": false, "properties": { - "FarmId": { - "markdownDescription": "The identifier assigned to the farm that contains the queue.", - "title": "FarmId", + "AccessPointArn": { + "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system.\n\nFor more information, see [Accessing restricted file systems](https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam) .", + "title": "AccessPointArn", "type": "string" }, - "Priority": { - "markdownDescription": "The queue environment's priority.", - "title": "Priority", - "type": "number" + "Ec2Config": { + "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config", + "markdownDescription": "Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's [mount targets](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) .", + "title": "Ec2Config" }, - "QueueId": { - "markdownDescription": "The unique identifier of the queue that contains the environment.", - "title": "QueueId", + "EfsFilesystemArn": { + "markdownDescription": "Specifies the ARN for your Amazon EFS file system.", + "title": "EfsFilesystemArn", "type": "string" }, - "Template": { - "markdownDescription": "A JSON or YAML template that describes the processing environment for the queue.", - "title": "Template", + "FileSystemAccessRoleArn": { + "markdownDescription": "Specifies an AWS Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system.\n\nFor information on creating this role, see [Creating a DataSync IAM role for file system access](https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam-role) .", + "title": "FileSystemAccessRoleArn", "type": "string" }, - "TemplateType": { - "markdownDescription": "Specifies whether the template for the queue environment is JSON or YAML.", - "title": "TemplateType", + "InTransitEncryption": { + "markdownDescription": "Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system.\n\nIf you specify an access point using `AccessPointArn` or an IAM role using `FileSystemAccessRoleArn` , you must set this parameter to `TLS1_2` .", + "title": "InTransitEncryption", + "type": "string" + }, + "Subdirectory": { + "markdownDescription": "Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data on your file system (depending on if this is a source or destination location).\n\nBy default, DataSync uses the root directory (or [access point](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) if you provide one by using `AccessPointArn` ). You can also include subdirectories using forward slashes (for example, `/path/to/folder` ).", + "title": "Subdirectory", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies the key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.", + "title": "Tags", + "type": "array" } }, "required": [ - "FarmId", - "Priority", - "QueueId", - "Template", - "TemplateType" + "Ec2Config" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::QueueEnvironment" + "AWS::DataSync::LocationEFS" ], "type": "string" }, @@ -113034,7 +111801,30 @@ ], "type": "object" }, - "AWS::Deadline::QueueFleetAssociation": { + "AWS::DataSync::LocationEFS.Ec2Config": { + "additionalProperties": false, + "properties": { + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the Amazon Resource Names (ARNs) of the security groups associated with an Amazon EFS file system's mount target.", + "title": "SecurityGroupArns", + "type": "array" + }, + "SubnetArn": { + "markdownDescription": "Specifies the ARN of a subnet where DataSync creates the [network interfaces](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces.html) for managing traffic during your transfer.\n\nThe subnet must be located:\n\n- In the same virtual private cloud (VPC) as the Amazon EFS file system.\n- In the same Availability Zone as at least one mount target for the Amazon EFS file system.\n\n> You don't need to specify a subnet that includes a file system mount target.", + "title": "SubnetArn", + "type": "string" + } + }, + "required": [ + "SecurityGroupArns", + "SubnetArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxLustre": { "additionalProperties": false, "properties": { "Condition": { @@ -113069,32 +111859,41 @@ "Properties": { "additionalProperties": false, "properties": { - "FarmId": { - "markdownDescription": "The identifier of the farm that contains the queue and the fleet.", - "title": "FarmId", + "FsxFilesystemArn": { + "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the FSx for Lustre file system.", + "title": "FsxFilesystemArn", "type": "string" }, - "FleetId": { - "markdownDescription": "The fleet ID.", - "title": "FleetId", - "type": "string" + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The ARNs of the security groups that are used to configure the FSx for Lustre file system.\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`\n\n*Length constraints* : Maximum length of 128.", + "title": "SecurityGroupArns", + "type": "array" }, - "QueueId": { - "markdownDescription": "The queue ID.", - "title": "QueueId", + "Subdirectory": { + "markdownDescription": "Specifies a mount path for your FSx for Lustre file system. The path can include subdirectories.\n\nWhen the location is used as a source, DataSync reads data from the mount path. When the location is used as a destination, DataSync writes data to the mount path. If you don't include this parameter, DataSync uses the file system's root directory ( `/` ).", + "title": "Subdirectory", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", + "title": "Tags", + "type": "array" } }, "required": [ - "FarmId", - "FleetId", - "QueueId" + "SecurityGroupArns" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::QueueFleetAssociation" + "AWS::DataSync::LocationFSxLustre" ], "type": "string" }, @@ -113113,7 +111912,7 @@ ], "type": "object" }, - "AWS::Deadline::QueueLimitAssociation": { + "AWS::DataSync::LocationFSxONTAP": { "additionalProperties": false, "properties": { "Condition": { @@ -113148,32 +111947,47 @@ "Properties": { "additionalProperties": false, "properties": { - "FarmId": { - "markdownDescription": "The unique identifier of the farm that contains the queue-limit association.", - "title": "FarmId", - "type": "string" + "Protocol": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.Protocol", + "markdownDescription": "Specifies the data transfer protocol that DataSync uses to access your Amazon FSx file system.", + "title": "Protocol" }, - "LimitId": { - "markdownDescription": "The unique identifier of the limit in the association.", - "title": "LimitId", + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the Amazon Resource Names (ARNs) of the security groups that DataSync can use to access your FSx for ONTAP file system. You must configure the security groups to allow outbound traffic on the following ports (depending on the protocol that you're using):\n\n- *Network File System (NFS)* : TCP ports 111, 635, and 2049\n- *Server Message Block (SMB)* : TCP port 445\n\nYour file system's security groups must also allow inbound traffic on the same port.", + "title": "SecurityGroupArns", + "type": "array" + }, + "StorageVirtualMachineArn": { + "markdownDescription": "Specifies the ARN of the storage virtual machine (SVM) in your file system where you want to copy data to or from.", + "title": "StorageVirtualMachineArn", "type": "string" }, - "QueueId": { - "markdownDescription": "The unique identifier of the queue in the association.", - "title": "QueueId", + "Subdirectory": { + "markdownDescription": "Specifies a path to the file share in the SVM where you want to transfer data to or from.\n\nYou can specify a junction path (also known as a mount point), qtree path (for NFS file shares), or share name (for SMB file shares). For example, your mount path might be `/vol1` , `/vol1/tree1` , or `/share1` .\n\n> Don't specify a junction path in the SVM's root volume. For more information, see [Managing FSx for ONTAP storage virtual machines](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html) in the *Amazon FSx for NetApp ONTAP User Guide* .", + "title": "Subdirectory", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", + "title": "Tags", + "type": "array" } }, "required": [ - "FarmId", - "LimitId", - "QueueId" + "SecurityGroupArns", + "StorageVirtualMachineArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::QueueLimitAssociation" + "AWS::DataSync::LocationFSxONTAP" ], "type": "string" }, @@ -113192,7 +112006,138 @@ ], "type": "object" }, - "AWS::Deadline::StorageProfile": { + "AWS::DataSync::LocationFSxONTAP.CmkSecretConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxONTAP.CustomSecretConfig": { + "additionalProperties": false, + "properties": { + "SecretAccessRoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "SecretAccessRoleArn", + "SecretArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxONTAP.ManagedSecretConfig": { + "additionalProperties": false, + "properties": { + "SecretArn": { + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxONTAP.NFS": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.NfsMountOptions", + "markdownDescription": "Specifies how DataSync can access a location using the NFS protocol.", + "title": "MountOptions" + } + }, + "required": [ + "MountOptions" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxONTAP.NfsMountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "markdownDescription": "Specifies the NFS version that you want DataSync to use when mounting your NFS share. If the server refuses to use the version specified, the task fails.\n\nYou can specify the following options:\n\n- `AUTOMATIC` (default): DataSync chooses NFS version 4.1.\n- `NFS3` : Stateless protocol version that allows for asynchronous writes on the server.\n- `NFSv4_0` : Stateful, firewall-friendly protocol version that supports delegations and pseudo file systems.\n- `NFSv4_1` : Stateful protocol version that supports sessions, directory delegations, and parallel data processing. NFS version 4.1 also includes all features available in version 4.0.\n\n> DataSync currently only supports NFS version 3 with Amazon FSx for NetApp ONTAP locations.", + "title": "Version", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxONTAP.Protocol": { + "additionalProperties": false, + "properties": { + "NFS": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.NFS", + "markdownDescription": "Specifies the Network File System (NFS) protocol configuration that DataSync uses to access your FSx for ONTAP file system's storage virtual machine (SVM).", + "title": "NFS" + }, + "SMB": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.SMB", + "markdownDescription": "Specifies the Server Message Block (SMB) protocol configuration that DataSync uses to access your FSx for ONTAP file system's SVM.", + "title": "SMB" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxONTAP.SMB": { + "additionalProperties": false, + "properties": { + "CmkSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.CmkSecretConfig" + }, + "CustomSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.CustomSecretConfig" + }, + "Domain": { + "markdownDescription": "Specifies the name of the Windows domain that your storage virtual machine (SVM) belongs to.\n\nIf you have multiple domains in your environment, configuring this setting makes sure that DataSync connects to the right SVM.\n\nIf you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right SVM.", + "title": "Domain", + "type": "string" + }, + "ManagedSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.ManagedSecretConfig" + }, + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.SmbMountOptions", + "markdownDescription": "Specifies how DataSync can access a location using the SMB protocol.", + "title": "MountOptions" + }, + "Password": { + "markdownDescription": "Specifies the password of a user who has permission to access your SVM.", + "title": "Password", + "type": "string" + }, + "User": { + "markdownDescription": "Specifies a user name that can mount the location and access the files, folders, and metadata that you need in the SVM.\n\nIf you provide a user in your Active Directory, note the following:\n\n- If you're using AWS Directory Service for Microsoft Active Directory , the user must be a member of the AWS Delegated FSx Administrators group.\n- If you're using a self-managed Active Directory, the user must be a member of either the Domain Admins group or a custom group that you specified for file system administration when you created your file system.\n\nMake sure that the user has the permissions it needs to copy the data you want:\n\n- `SE_TCB_NAME` : Required to set object ownership and file metadata. With this privilege, you also can copy NTFS discretionary access lists (DACLs).\n- `SE_SECURITY_NAME` : May be needed to copy NTFS system access control lists (SACLs). This operation specifically requires the Windows privilege, which is granted to members of the Domain Admins group. If you configure your task to copy SACLs, make sure that the user has the required privileges. For information about copying SACLs, see [Ownership and permissions-related options](https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html#configure-ownership-and-permissions) .", + "title": "User", + "type": "string" + } + }, + "required": [ + "MountOptions", + "User" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxONTAP.SmbMountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "markdownDescription": "By default, DataSync automatically chooses an SMB protocol version based on negotiation with your SMB file server. You also can configure DataSync to use a specific SMB version, but we recommend doing this only if DataSync has trouble negotiating with the SMB file server automatically.\n\nThese are the following options for configuring the SMB version:\n\n- `AUTOMATIC` (default): DataSync and the SMB file server negotiate the highest version of SMB that they mutually support between 2.1 and 3.1.1.\n\nThis is the recommended option. If you instead choose a specific version that your file server doesn't support, you may get an `Operation Not Supported` error.\n- `SMB3` : Restricts the protocol negotiation to only SMB version 3.0.2.\n- `SMB2` : Restricts the protocol negotiation to only SMB version 2.1.\n- `SMB2_0` : Restricts the protocol negotiation to only SMB version 2.0.\n- `SMB1` : Restricts the protocol negotiation to only SMB version 1.0.\n\n> The `SMB1` option isn't available when [creating an Amazon FSx for NetApp ONTAP location](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateLocationFsxOntap.html) .", + "title": "Version", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS": { "additionalProperties": false, "properties": { "Condition": { @@ -113227,40 +112172,47 @@ "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", + "FsxFilesystemArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the FSx for OpenZFS file system.", + "title": "FsxFilesystemArn", "type": "string" }, - "FarmId": { - "markdownDescription": "The unique identifier of the farm that contains the storage profile.", - "title": "FarmId", - "type": "string" + "Protocol": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.Protocol", + "markdownDescription": "The type of protocol that AWS DataSync uses to access your file system.", + "title": "Protocol" }, - "FileSystemLocations": { + "SecurityGroupArns": { "items": { - "$ref": "#/definitions/AWS::Deadline::StorageProfile.FileSystemLocation" + "type": "string" }, - "markdownDescription": "Operating system specific file system path to the storage location.", - "title": "FileSystemLocations", + "markdownDescription": "The ARNs of the security groups that are used to configure the FSx for OpenZFS file system.\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`\n\n*Length constraints* : Maximum length of 128.", + "title": "SecurityGroupArns", "type": "array" }, - "OsFamily": { - "markdownDescription": "The operating system (OS) family.", - "title": "OsFamily", + "Subdirectory": { + "markdownDescription": "A subdirectory in the location's path that must begin with `/fsx` . DataSync uses this subdirectory to read or write data (depending on whether the file system is a source or destination location).", + "title": "Subdirectory", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.", + "title": "Tags", + "type": "array" } }, "required": [ - "DisplayName", - "FarmId", - "OsFamily" + "Protocol", + "SecurityGroupArns" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::StorageProfile" + "AWS::DataSync::LocationFSxOpenZFS" ], "type": "string" }, @@ -113279,33 +112231,43 @@ ], "type": "object" }, - "AWS::Deadline::StorageProfile.FileSystemLocation": { + "AWS::DataSync::LocationFSxOpenZFS.MountOptions": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The location name.", - "title": "Name", - "type": "string" - }, - "Path": { - "markdownDescription": "The file path.", - "title": "Path", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of file.", - "title": "Type", + "Version": { + "markdownDescription": "The specific NFS version that you want DataSync to use to mount your NFS share. If the server refuses to use the version specified, the sync will fail. If you don't specify a version, DataSync defaults to `AUTOMATIC` . That is, DataSync automatically selects a version based on negotiation with the NFS server.\n\nYou can specify the following NFS versions:\n\n- *[NFSv3](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc1813)* : Stateless protocol version that allows for asynchronous writes on the server.\n- *[NFSv4.0](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc3530)* : Stateful, firewall-friendly protocol version that supports delegations and pseudo file systems.\n- *[NFSv4.1](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5661)* : Stateful protocol version that supports sessions, directory delegations, and parallel data processing. Version 4.1 also includes all features available in version 4.0.", + "title": "Version", "type": "string" } }, + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.NFS": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.MountOptions", + "markdownDescription": "Represents the mount options that are available for DataSync to access an NFS location.", + "title": "MountOptions" + } + }, "required": [ - "Name", - "Path", - "Type" + "MountOptions" ], "type": "object" }, - "AWS::Deadline::Worker": { + "AWS::DataSync::LocationFSxOpenZFS.Protocol": { + "additionalProperties": false, + "properties": { + "NFS": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.NFS", + "markdownDescription": "Represents the Network File System (NFS) protocol that DataSync uses to access your FSx for OpenZFS file system.", + "title": "NFS" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxWindows": { "additionalProperties": false, "properties": { "Condition": { @@ -113340,31 +112302,63 @@ "Properties": { "additionalProperties": false, "properties": { - "FarmId": { + "CmkSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows.CmkSecretConfig" + }, + "CustomSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows.CustomSecretConfig" + }, + "Domain": { + "markdownDescription": "Specifies the name of the Windows domain that the FSx for Windows File Server file system belongs to.\n\nIf you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right file system.", + "title": "Domain", "type": "string" }, - "FleetId": { + "FsxFilesystemArn": { + "markdownDescription": "Specifies the Amazon Resource Name (ARN) for the FSx for Windows File Server file system.", + "title": "FsxFilesystemArn", "type": "string" }, - "HostProperties": { - "$ref": "#/definitions/AWS::Deadline::Worker.HostPropertiesRequest" + "Password": { + "markdownDescription": "Specifies the password of the user with the permissions to mount and access the files, folders, and file metadata in your FSx for Windows File Server file system.", + "title": "Password", + "type": "string" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the security groups that are used to configure the FSx for Windows File Server file system.\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`\n\n*Length constraints* : Maximum length of 128.", + "title": "SecurityGroupArns", + "type": "array" + }, + "Subdirectory": { + "markdownDescription": "Specifies a mount path for your file system using forward slashes. This is where DataSync reads or writes data (depending on if this is a source or destination location).", + "title": "Subdirectory", + "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::Deadline::Worker.TagsItems" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", + "title": "Tags", "type": "array" + }, + "User": { + "markdownDescription": "The user who has the permissions to access files and folders in the FSx for Windows File Server file system.\n\nFor information about choosing a user name that ensures sufficient permissions to files, folders, and metadata, see [user](https://docs.aws.amazon.com/datasync/latest/userguide/create-fsx-location.html#FSxWuser) .", + "title": "User", + "type": "string" } }, "required": [ - "FarmId", - "FleetId" + "SecurityGroupArns", + "User" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Worker" + "AWS::DataSync::LocationFSxWindows" ], "type": "string" }, @@ -113383,53 +112377,47 @@ ], "type": "object" }, - "AWS::Deadline::Worker.HostPropertiesRequest": { + "AWS::DataSync::LocationFSxWindows.CmkSecretConfig": { "additionalProperties": false, "properties": { - "HostName": { + "KmsKeyArn": { "type": "string" }, - "IpAddresses": { - "$ref": "#/definitions/AWS::Deadline::Worker.IpAddresses" + "SecretArn": { + "type": "string" } }, "type": "object" }, - "AWS::Deadline::Worker.IpAddresses": { + "AWS::DataSync::LocationFSxWindows.CustomSecretConfig": { "additionalProperties": false, "properties": { - "IpV4Addresses": { - "items": { - "type": "string" - }, - "type": "array" + "SecretAccessRoleArn": { + "type": "string" }, - "IpV6Addresses": { - "items": { - "type": "string" - }, - "type": "array" + "SecretArn": { + "type": "string" } }, + "required": [ + "SecretAccessRoleArn", + "SecretArn" + ], "type": "object" }, - "AWS::Deadline::Worker.TagsItems": { + "AWS::DataSync::LocationFSxWindows.ManagedSecretConfig": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "Value": { + "SecretArn": { "type": "string" } }, "required": [ - "Key", - "Value" + "SecretArn" ], "type": "object" }, - "AWS::Detective::Graph": { + "AWS::DataSync::LocationHDFS": { "additionalProperties": false, "properties": { "Condition": { @@ -113464,25 +112452,97 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoEnableMembers": { - "markdownDescription": "Indicates whether to automatically enable new organization accounts as member accounts in the organization behavior graph.\n\nBy default, this property is set to `false` . If you want to change the value of this property, you must be the Detective administrator for the organization. For more information on setting a Detective administrator account, see [AWS::Detective::OrganizationAdmin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html) .", - "title": "AutoEnableMembers", - "type": "boolean" + "AgentArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.", + "title": "AgentArns", + "type": "array" + }, + "AuthenticationType": { + "markdownDescription": "", + "title": "AuthenticationType", + "type": "string" + }, + "BlockSize": { + "markdownDescription": "The size of data blocks to write into the HDFS cluster. The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB).", + "title": "BlockSize", + "type": "number" + }, + "CmkSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationHDFS.CmkSecretConfig" + }, + "CustomSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationHDFS.CustomSecretConfig" + }, + "KerberosKeytab": { + "markdownDescription": "The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. Provide the base64-encoded file text. If `KERBEROS` is specified for `AuthType` , this value is required.", + "title": "KerberosKeytab", + "type": "string" + }, + "KerberosKrb5Conf": { + "markdownDescription": "The `krb5.conf` file that contains the Kerberos configuration information. You can load the `krb5.conf` by providing a string of the file's contents or an Amazon S3 presigned URL of the file. If `KERBEROS` is specified for `AuthType` , this value is required.", + "title": "KerberosKrb5Conf", + "type": "string" + }, + "KerberosPrincipal": { + "markdownDescription": "The Kerberos principal with access to the files and folders on the HDFS cluster.\n\n> If `KERBEROS` is specified for `AuthenticationType` , this parameter is required.", + "title": "KerberosPrincipal", + "type": "string" + }, + "KmsKeyProviderUri": { + "markdownDescription": "The URI of the HDFS cluster's Key Management Server (KMS).", + "title": "KmsKeyProviderUri", + "type": "string" + }, + "NameNodes": { + "items": { + "$ref": "#/definitions/AWS::DataSync::LocationHDFS.NameNode" + }, + "markdownDescription": "The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode.", + "title": "NameNodes", + "type": "array" + }, + "QopConfiguration": { + "$ref": "#/definitions/AWS::DataSync::LocationHDFS.QopConfiguration", + "markdownDescription": "The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the Hadoop Distributed File System (HDFS) cluster. If `QopConfiguration` isn't specified, `RpcProtection` and `DataTransferProtection` default to `PRIVACY` . If you set `RpcProtection` or `DataTransferProtection` , the other parameter assumes the same value.", + "title": "QopConfiguration" + }, + "ReplicationFactor": { + "markdownDescription": "The number of DataNodes to replicate the data to when writing to the HDFS cluster. By default, data is replicated to three DataNodes.", + "title": "ReplicationFactor", + "type": "number" + }, + "SimpleUser": { + "markdownDescription": "The user name used to identify the client on the host operating system.\n\n> If `SIMPLE` is specified for `AuthenticationType` , this parameter is required.", + "title": "SimpleUser", + "type": "string" + }, + "Subdirectory": { + "markdownDescription": "A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to `/` .", + "title": "Subdirectory", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tag values to assign to the new behavior graph.", + "markdownDescription": "The key-value pair that represents the tag that you want to add to the location. The value can be an empty string. We recommend using tags to name your resources.", "title": "Tags", "type": "array" } }, + "required": [ + "AgentArns", + "AuthenticationType", + "NameNodes" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Detective::Graph" + "AWS::DataSync::LocationHDFS" ], "type": "string" }, @@ -113496,11 +112556,88 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Detective::MemberInvitation": { + "AWS::DataSync::LocationHDFS.CmkSecretConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationHDFS.CustomSecretConfig": { + "additionalProperties": false, + "properties": { + "SecretAccessRoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "SecretAccessRoleArn", + "SecretArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationHDFS.ManagedSecretConfig": { + "additionalProperties": false, + "properties": { + "SecretArn": { + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationHDFS.NameNode": { + "additionalProperties": false, + "properties": { + "Hostname": { + "markdownDescription": "The hostname of the NameNode in the HDFS cluster. This value is the IP address or Domain Name Service (DNS) name of the NameNode. An agent that's installed on-premises uses this hostname to communicate with the NameNode in the network.", + "title": "Hostname", + "type": "string" + }, + "Port": { + "markdownDescription": "The port that the NameNode uses to listen to client requests.", + "title": "Port", + "type": "number" + } + }, + "required": [ + "Hostname", + "Port" + ], + "type": "object" + }, + "AWS::DataSync::LocationHDFS.QopConfiguration": { + "additionalProperties": false, + "properties": { + "DataTransferProtection": { + "markdownDescription": "The data transfer protection setting configured on the HDFS cluster. This setting corresponds to your `dfs.data.transfer.protection` setting in the `hdfs-site.xml` file on your Hadoop cluster.", + "title": "DataTransferProtection", + "type": "string" + }, + "RpcProtection": { + "markdownDescription": "The Remote Procedure Call (RPC) protection setting configured on the HDFS cluster. This setting corresponds to your `hadoop.rpc.protection` setting in your `core-site.xml` file on your Hadoop cluster.", + "title": "RpcProtection", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationNFS": { "additionalProperties": false, "properties": { "Condition": { @@ -113535,42 +112672,43 @@ "Properties": { "additionalProperties": false, "properties": { - "DisableEmailNotification": { - "markdownDescription": "Whether to send an invitation email to the member account. If set to true, the member account does not receive an invitation email.", - "title": "DisableEmailNotification", - "type": "boolean" + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions", + "markdownDescription": "Specifies the options that DataSync can use to mount your NFS file server.", + "title": "MountOptions" }, - "GraphArn": { - "markdownDescription": "The ARN of the behavior graph to invite the account to contribute data to.", - "title": "GraphArn", - "type": "string" + "OnPremConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig", + "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect to your NFS file server.\n\nYou can specify more than one agent. For more information, see [Using multiple DataSync agents](https://docs.aws.amazon.com/datasync/latest/userguide/do-i-need-datasync-agent.html#multiple-agents) .", + "title": "OnPremConfig" }, - "MemberEmailAddress": { - "markdownDescription": "The root user email address of the invited account. If the email address provided is not the root user email address for the provided account, the invitation creation fails.", - "title": "MemberEmailAddress", + "ServerHostname": { + "markdownDescription": "Specifies the DNS name or IP address (IPv4 or IPv6) of the NFS file server that your DataSync agent connects to.", + "title": "ServerHostname", "type": "string" }, - "MemberId": { - "markdownDescription": "The AWS account identifier of the invited account", - "title": "MemberId", + "Subdirectory": { + "markdownDescription": "Specifies the export path in your NFS file server that you want DataSync to mount.\n\nThis path (or a subdirectory of the path) is where DataSync transfers data to or from. For information on configuring an export for DataSync, see [Accessing NFS file servers](https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#accessing-nfs) .", + "title": "Subdirectory", "type": "string" }, - "Message": { - "markdownDescription": "Customized text to include in the invitation email message.", - "title": "Message", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", + "title": "Tags", + "type": "array" } }, "required": [ - "GraphArn", - "MemberEmailAddress", - "MemberId" + "OnPremConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::Detective::MemberInvitation" + "AWS::DataSync::LocationNFS" ], "type": "string" }, @@ -113589,74 +112727,35 @@ ], "type": "object" }, - "AWS::Detective::OrganizationAdmin": { + "AWS::DataSync::LocationNFS.MountOptions": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Version": { + "markdownDescription": "Specifies the NFS version that you want DataSync to use when mounting your NFS share. If the server refuses to use the version specified, the task fails.\n\nYou can specify the following options:\n\n- `AUTOMATIC` (default): DataSync chooses NFS version 4.1.\n- `NFS3` : Stateless protocol version that allows for asynchronous writes on the server.\n- `NFSv4_0` : Stateful, firewall-friendly protocol version that supports delegations and pseudo file systems.\n- `NFSv4_1` : Stateful protocol version that supports sessions, directory delegations, and parallel data processing. NFS version 4.1 also includes all features available in version 4.0.\n\n> DataSync currently only supports NFS version 3 with Amazon FSx for NetApp ONTAP locations.", + "title": "Version", "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The AWS account identifier of the account to designate as the Detective administrator account for the organization.", - "title": "AccountId", - "type": "string" - } + } + }, + "type": "object" + }, + "AWS::DataSync::LocationNFS.OnPremConfig": { + "additionalProperties": false, + "properties": { + "AgentArns": { + "items": { + "type": "string" }, - "required": [ - "AccountId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::OrganizationAdmin" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "markdownDescription": "The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your NFS file server.\n\nYou can specify more than one agent. For more information, see [Using multiple DataSync agents](https://docs.aws.amazon.com/datasync/latest/userguide/do-i-need-datasync-agent.html#multiple-agents) .", + "title": "AgentArns", + "type": "array" } }, "required": [ - "Type", - "Properties" + "AgentArns" ], "type": "object" }, - "AWS::DevOpsAgent::AgentSpace": { + "AWS::DataSync::LocationObjectStorage": { "additionalProperties": false, "properties": { "Condition": { @@ -113691,40 +112790,81 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the Agent Space.", - "title": "Description", + "AccessKey": { + "markdownDescription": "Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.", + "title": "AccessKey", "type": "string" }, - "KmsKeyArn": { + "AgentArns": { + "items": { + "type": "string" + }, + "markdownDescription": "(Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.\n\n> Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.", + "title": "AgentArns", + "type": "array" + }, + "BucketName": { + "markdownDescription": "Specifies the name of the object storage bucket involved in the transfer.", + "title": "BucketName", "type": "string" }, - "Locale": { + "CmkSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.CmkSecretConfig", + "markdownDescription": "Specifies configuration information for a DataSync-managed secret, which includes the `SecretKey` that DataSync uses to access a specific object storage location, with a customer-managed AWS KMS key .\n\nWhen you include this parameter as part of a `CreateLocationObjectStorage` request, you provide only the KMS key ARN. DataSync uses this KMS key together with the value you specify for the `SecretKey` parameter to create a DataSync-managed secret to store the location access credentials.\n\nMake sure that DataSync has permission to access the KMS key that you specify.\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": "CmkSecretConfig" + }, + "CustomSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.CustomSecretConfig", + "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", "type": "string" }, - "Name": { - "markdownDescription": "The name of the Agent Space.", - "title": "Name", + "ServerCertificate": { + "markdownDescription": "Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA). You must specify a single `.pem` file with a full certificate chain (for example, `file:///home/user/.ssh/object_storage_certificates.pem` ).\n\nThe certificate chain might include:\n\n- The object storage system's certificate\n- All intermediate certificates (if there are any)\n- The root certificate of the signing CA\n\nYou can concatenate your certificates into a `.pem` file (which can be up to 32768 bytes before base64 encoding). The following example `cat` command creates an `object_storage_certificates.pem` file that includes three certificates:\n\n`cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem`\n\nTo use this parameter, configure `ServerProtocol` to `HTTPS` .", + "title": "ServerCertificate", "type": "string" }, - "OperatorApp": { - "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace.OperatorApp" + "ServerHostname": { + "markdownDescription": "Specifies the domain name or IP address (IPv4 or IPv6) of the object storage server that your DataSync agent connects to.", + "title": "ServerHostname", + "type": "string" + }, + "ServerPort": { + "markdownDescription": "Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).", + "title": "ServerPort", + "type": "number" + }, + "ServerProtocol": { + "markdownDescription": "Specifies the protocol that your object storage server uses to communicate. If not specified, the default value is `HTTPS` .", + "title": "ServerProtocol", + "type": "string" + }, + "Subdirectory": { + "markdownDescription": "Specifies the object prefix for your object storage server. If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix.", + "title": "Subdirectory", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "Specifies the key-value pair that represents a tag that you want to add to the resource. Tags can help you manage, filter, and search for your resources. We recommend creating a name tag for your location.", + "title": "Tags", "type": "array" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DevOpsAgent::AgentSpace" + "AWS::DataSync::LocationObjectStorage" ], "type": "string" }, @@ -113738,67 +112878,106 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::DevOpsAgent::AgentSpace.IamAuthConfiguration": { + "AWS::DataSync::LocationObjectStorage.CmkSecretConfig": { "additionalProperties": false, "properties": { - "CreatedAt": { + "KmsKeyArn": { + "markdownDescription": "Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for `SecretArn` . DataSync provides this key to AWS Secrets Manager .", + "title": "KmsKeyArn", "type": "string" }, - "OperatorAppRoleArn": { + "SecretArn": { + "markdownDescription": "Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for `KmsKeyArn` .", + "title": "SecretArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationObjectStorage.CustomSecretConfig": { + "additionalProperties": false, + "properties": { + "SecretAccessRoleArn": { + "markdownDescription": "Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` .", + "title": "SecretAccessRoleArn", "type": "string" }, - "UpdatedAt": { + "SecretArn": { + "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", + "title": "SecretArn", "type": "string" } }, "required": [ - "OperatorAppRoleArn" + "SecretAccessRoleArn", + "SecretArn" ], "type": "object" }, - "AWS::DevOpsAgent::AgentSpace.IdcAuthConfiguration": { + "AWS::DataSync::LocationObjectStorage.GoogleOidcConfig": { "additionalProperties": false, "properties": { - "CreatedAt": { + "IdentityPoolName": { "type": "string" }, - "IdcApplicationArn": { + "IdentityProviderName": { "type": "string" }, - "IdcInstanceArn": { + "ProjectName": { "type": "string" }, - "OperatorAppRoleArn": { + "ProjectNumber": { "type": "string" - }, - "UpdatedAt": { + } + }, + "required": [ + "IdentityPoolName", + "IdentityProviderName", + "ProjectName", + "ProjectNumber" + ], + "type": "object" + }, + "AWS::DataSync::LocationObjectStorage.ManagedSecretConfig": { + "additionalProperties": false, + "properties": { + "SecretArn": { + "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", + "title": "SecretArn", "type": "string" } }, "required": [ - "IdcInstanceArn", - "OperatorAppRoleArn" + "SecretArn" ], "type": "object" }, - "AWS::DevOpsAgent::AgentSpace.OperatorApp": { + "AWS::DataSync::LocationObjectStorage.ObjectStorageExternalIdentityConfig": { "additionalProperties": false, "properties": { - "Iam": { - "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace.IamAuthConfiguration" + "GoogleOidc": { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.GoogleOidcConfig" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationObjectStorage.ObjectStorageFederatedIdentityConfig": { + "additionalProperties": false, + "properties": { + "AwsIamRole": { + "type": "string" }, - "Idc": { - "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace.IdcAuthConfiguration" + "ExternalIdentity": { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.ObjectStorageExternalIdentityConfig" } }, "type": "object" }, - "AWS::DevOpsAgent::Asset": { + "AWS::DataSync::LocationS3": { "additionalProperties": false, "properties": { "Condition": { @@ -113833,34 +113012,43 @@ "Properties": { "additionalProperties": false, "properties": { - "AgentSpaceId": { + "S3BucketArn": { + "markdownDescription": "The ARN of the Amazon S3 bucket.", + "title": "S3BucketArn", "type": "string" }, - "AssetType": { + "S3Config": { + "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config", + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that is used to access an Amazon S3 bucket.\n\nFor detailed information about using such a role, see [Creating a Location for Amazon S3](https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html#create-s3-location) in the *AWS DataSync User Guide* .", + "title": "S3Config" + }, + "S3StorageClass": { + "markdownDescription": "The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. For buckets in AWS Regions , the storage class defaults to S3 Standard.\n\nFor more information about S3 storage classes, see [Amazon S3 Storage Classes](https://docs.aws.amazon.com/s3/storage-classes/) . Some storage classes have behaviors that can affect your S3 storage costs. For detailed information, see [Considerations When Working with Amazon S3 Storage Classes in DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) .", + "title": "S3StorageClass", "type": "string" }, - "Files": { + "Subdirectory": { + "markdownDescription": "Specifies a prefix in the S3 bucket that DataSync reads from or writes to (depending on whether the bucket is a source or destination location).\n\n> DataSync can't transfer objects with a prefix that begins with a slash ( `/` ) or includes `//` , `/./` , or `/../` patterns. For example:\n> \n> - `/photos`\n> - `photos//2006/January`\n> - `photos/./2006/February`\n> - `photos/../2006/March`", + "title": "Subdirectory", + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::DevOpsAgent::Asset.AssetFile" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your transfer location.", + "title": "Tags", "type": "array" - }, - "Metadata": { - "type": "object" - }, - "Zip": { - "type": "string" } }, "required": [ - "AgentSpaceId", - "AssetType" + "S3Config" ], "type": "object" }, "Type": { "enum": [ - "AWS::DevOpsAgent::Asset" + "AWS::DataSync::LocationS3" ], "type": "string" }, @@ -113879,28 +113067,21 @@ ], "type": "object" }, - "AWS::DevOpsAgent::Asset.AssetFile": { + "AWS::DataSync::LocationS3.S3Config": { "additionalProperties": false, "properties": { - "ContentBytes": { - "type": "string" - }, - "ContentText": { - "type": "string" - }, - "Metadata": { - "type": "object" - }, - "Path": { + "BucketAccessRoleArn": { + "markdownDescription": "Specifies the ARN of the IAM role that DataSync uses to access your S3 bucket.", + "title": "BucketAccessRoleArn", "type": "string" } }, "required": [ - "Path" + "BucketAccessRoleArn" ], "type": "object" }, - "AWS::DevOpsAgent::Association": { + "AWS::DataSync::LocationSMB": { "additionalProperties": false, "properties": { "Condition": { @@ -113935,40 +113116,99 @@ "Properties": { "additionalProperties": false, "properties": { - "AgentSpaceId": { - "markdownDescription": "The unique identifier of the Agent Space.", - "title": "AgentSpaceId", + "AgentArns": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the DataSync agent (or agents) that can connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).", + "title": "AgentArns", + "type": "array" + }, + "AuthenticationType": { + "markdownDescription": "", + "title": "AuthenticationType", "type": "string" }, - "Configuration": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.ServiceConfiguration", - "markdownDescription": "The configuration that directs how the Agent Space interacts with the given service. You can specify only one configuration type per association.\n\n*Allowed Values* : `SourceAws` | `Aws` | `GitHub` | `GitLab` | `Slack` | `Dynatrace` | `ServiceNow` | `MCPServer` | `MCPServerNewRelic` | `MCPServerDatadog` | `MCPServerSplunk` | `EventChannel`", - "title": "Configuration" + "CmkSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationSMB.CmkSecretConfig", + "markdownDescription": "Specifies configuration information for a DataSync-managed secret, such as an authentication token, secret key, password, or Kerberos keytab that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .\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": "CmkSecretConfig" }, - "LinkedAssociationIds": { + "CustomSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationSMB.CustomSecretConfig", + "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" + }, + "DnsIpAddresses": { "items": { "type": "string" }, - "markdownDescription": "Set of linked association IDs for parent-child relationships.", - "title": "LinkedAssociationIds", + "markdownDescription": "", + "title": "DnsIpAddresses", "type": "array" }, - "ServiceId": { - "markdownDescription": "The identifier for the associated service. For `SourceAws` and `Aws` configurations, this must be `aws` . For all other service types, this is a UUID generated from the RegisterService command.", - "title": "ServiceId", + "Domain": { + "markdownDescription": "Specifies the Windows domain name that your SMB file server belongs to. This parameter applies only if `AuthenticationType` is set to `NTLM` .\n\nIf you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.", + "title": "Domain", + "type": "string" + }, + "KerberosKeytab": { + "markdownDescription": "", + "title": "KerberosKeytab", + "type": "string" + }, + "KerberosKrb5Conf": { + "markdownDescription": "", + "title": "KerberosKrb5Conf", + "type": "string" + }, + "KerberosPrincipal": { + "markdownDescription": "", + "title": "KerberosPrincipal", + "type": "string" + }, + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions", + "markdownDescription": "Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.", + "title": "MountOptions" + }, + "Password": { + "markdownDescription": "Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer. This parameter applies only if `AuthenticationType` is set to `NTLM` .", + "title": "Password", + "type": "string" + }, + "ServerHostname": { + "markdownDescription": "Specifies the domain name or IP address (IPv4 or IPv6) of the SMB file server that your DataSync agent connects to.\n\n> If you're using Kerberos authentication, you must specify a domain name.", + "title": "ServerHostname", + "type": "string" + }, + "Subdirectory": { + "markdownDescription": "Specifies the name of the share exported by your SMB file server where DataSync will read or write data. You can include a subdirectory in the share path (for example, `/path/to/subdirectory` ). Make sure that other SMB clients in your network can also mount this path.\n\nTo copy all data in the subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see [Providing DataSync access to SMB file servers](https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) .", + "title": "Subdirectory", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", + "title": "Tags", + "type": "array" + }, + "User": { + "markdownDescription": "Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server. This parameter applies only if `AuthenticationType` is set to `NTLM` .\n\nFor information about choosing a user with the right level of access for your transfer, see [Providing DataSync access to SMB file servers](https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) .", + "title": "User", "type": "string" } }, "required": [ - "AgentSpaceId", - "Configuration", - "ServiceId" + "AgentArns" ], "type": "object" }, "Type": { "enum": [ - "AWS::DevOpsAgent::Association" + "AWS::DataSync::LocationSMB" ], "type": "string" }, @@ -113987,567 +113227,514 @@ ], "type": "object" }, - "AWS::DevOpsAgent::Association.AWSConfiguration": { + "AWS::DataSync::LocationSMB.CmkSecretConfig": { "additionalProperties": false, "properties": { - "AccountId": { - "markdownDescription": "Account ID corresponding to the provided resources.", - "title": "AccountId", - "type": "string" - }, - "AccountType": { - "markdownDescription": "Account Type 'monitor' for AWS DevOps Agent monitoring.", - "title": "AccountType", + "KmsKeyArn": { + "markdownDescription": "Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for `SecretArn` . DataSync provides this key to AWS Secrets Manager .", + "title": "KmsKeyArn", "type": "string" }, - "AssumableRoleArn": { - "markdownDescription": "Role ARN used by AWS DevOps Agent to access resources in the primary account.", - "title": "AssumableRoleArn", + "SecretArn": { + "markdownDescription": "Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for `KmsKeyArn` .", + "title": "SecretArn", "type": "string" - }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.AWSResource" - }, - "markdownDescription": "List of resources to monitor.", - "title": "Resources", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.KeyValuePair" - }, - "markdownDescription": "List of tags as key-value pairs, used to identify resources for topology crawl.", - "title": "Tags", - "type": "array" } }, - "required": [ - "AccountId", - "AccountType", - "AssumableRoleArn" - ], "type": "object" }, - "AWS::DevOpsAgent::Association.AWSResource": { + "AWS::DataSync::LocationSMB.CustomSecretConfig": { "additionalProperties": false, "properties": { - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource.", - "title": "ResourceArn", + "SecretAccessRoleArn": { + "markdownDescription": "Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` .", + "title": "SecretAccessRoleArn", "type": "string" }, - "ResourceMetadata": { - "markdownDescription": "Additional metadata specific to the resource. This is an optional JSON object that can include resource-specific information to provide additional context for monitoring and management.", - "title": "ResourceMetadata", - "type": "object" - }, - "ResourceType": { - "markdownDescription": "Resource type.", - "title": "ResourceType", + "SecretArn": { + "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", + "title": "SecretArn", "type": "string" } }, "required": [ - "ResourceArn" + "SecretAccessRoleArn", + "SecretArn" ], "type": "object" }, - "AWS::DevOpsAgent::Association.AzureConfiguration": { + "AWS::DataSync::LocationSMB.ManagedSecretConfig": { "additionalProperties": false, "properties": { - "SubscriptionId": { + "SecretArn": { + "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", + "title": "SecretArn", "type": "string" } }, "required": [ - "SubscriptionId" + "SecretArn" ], "type": "object" }, - "AWS::DevOpsAgent::Association.DynatraceConfiguration": { + "AWS::DataSync::LocationSMB.MountOptions": { "additionalProperties": false, "properties": { - "EnableWebhookUpdates": { - "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", - "title": "EnableWebhookUpdates", - "type": "boolean" - }, - "EnvId": { - "markdownDescription": "Dynatrace environment id.", - "title": "EnvId", + "Version": { + "markdownDescription": "By default, DataSync automatically chooses an SMB protocol version based on negotiation with your SMB file server. You also can configure DataSync to use a specific SMB version, but we recommend doing this only if DataSync has trouble negotiating with the SMB file server automatically.\n\nThese are the following options for configuring the SMB version:\n\n- `AUTOMATIC` (default): DataSync and the SMB file server negotiate the highest version of SMB that they mutually support between 2.1 and 3.1.1.\n\nThis is the recommended option. If you instead choose a specific version that your file server doesn't support, you may get an `Operation Not Supported` error.\n- `SMB3` : Restricts the protocol negotiation to only SMB version 3.0.2.\n- `SMB2` : Restricts the protocol negotiation to only SMB version 2.1.\n- `SMB2_0` : Restricts the protocol negotiation to only SMB version 2.0.\n- `SMB1` : Restricts the protocol negotiation to only SMB version 1.0.\n\n> The `SMB1` option isn't available when [creating an Amazon FSx for NetApp ONTAP location](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateLocationFsxOntap.html) .", + "title": "Version", "type": "string" - }, - "Resources": { - "items": { - "type": "string" - }, - "markdownDescription": "List of Dynatrace resources to monitor.", - "title": "Resources", - "type": "array" - } - }, - "required": [ - "EnvId" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Association.EventChannelConfiguration": { - "additionalProperties": false, - "properties": { - "EnableWebhookUpdates": { - "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", - "title": "EnableWebhookUpdates", - "type": "boolean" } }, "type": "object" }, - "AWS::DevOpsAgent::Association.GitHubConfiguration": { + "AWS::DataSync::Task": { "additionalProperties": false, "properties": { - "Owner": { - "markdownDescription": "Repository owner.", - "title": "Owner", + "Condition": { "type": "string" }, - "OwnerType": { - "markdownDescription": "Type of repository owner.", - "title": "OwnerType", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RepoId": { - "markdownDescription": "Associated Github repo ID.", - "title": "RepoId", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RepoName": { - "markdownDescription": "Associated Github repo name.", - "title": "RepoName", - "type": "string" - } - }, - "required": [ - "Owner", - "OwnerType", - "RepoId", - "RepoName" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Association.GitLabConfiguration": { - "additionalProperties": false, - "properties": { - "EnableWebhookUpdates": { - "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", - "title": "EnableWebhookUpdates", - "type": "boolean" + "Metadata": { + "type": "object" }, - "InstanceIdentifier": { - "markdownDescription": "GitLab instance identifier (e.g., gitlab.com).", - "title": "InstanceIdentifier", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupArn": { + "markdownDescription": "Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.\n\nFor Enhanced mode tasks, you don't need to specify anything. DataSync automatically sends logs to a CloudWatch log group named `/aws/datasync` .\n\nFor more information, see [Monitoring data transfers with CloudWatch Logs](https://docs.aws.amazon.com/datasync/latest/userguide/configure-logging.html) .", + "title": "CloudWatchLogGroupArn", + "type": "string" + }, + "DestinationLocationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS storage resource's location.", + "title": "DestinationLocationArn", + "type": "string" + }, + "Excludes": { + "items": { + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" + }, + "markdownDescription": "Specifies exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see [Specifying what DataSync transfers by using filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .", + "title": "Excludes", + "type": "array" + }, + "Includes": { + "items": { + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" + }, + "markdownDescription": "Specifies include filters that define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see [Specifying what DataSync transfers by using filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .", + "title": "Includes", + "type": "array" + }, + "ManifestConfig": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfig", + "markdownDescription": "The configuration of the manifest that lists the files or objects that you want DataSync to transfer. For more information, see [Specifying what DataSync transfers by using a manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html) .", + "title": "ManifestConfig" + }, + "Name": { + "markdownDescription": "Specifies the name of your task.", + "title": "Name", + "type": "string" + }, + "Options": { + "$ref": "#/definitions/AWS::DataSync::Task.Options", + "markdownDescription": "Specifies your task's settings, such as preserving file metadata, verifying data integrity, among other options.", + "title": "Options" + }, + "Schedule": { + "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule", + "markdownDescription": "Specifies a schedule for when you want your task to run. For more information, see [Scheduling your task](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) .", + "title": "Schedule" + }, + "SourceLocationArn": { + "markdownDescription": "Specifies the ARN of your transfer's source location.", + "title": "SourceLocationArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies the tags that you want to apply to your task.\n\n*Tags* are key-value pairs that help you manage, filter, and search for your DataSync resources.", + "title": "Tags", + "type": "array" + }, + "TaskMode": { + "markdownDescription": "The task mode that you're using. For more information, see [Choosing a task mode for your data transfer](https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html) .", + "title": "TaskMode", + "type": "string" + }, + "TaskReportConfig": { + "$ref": "#/definitions/AWS::DataSync::Task.TaskReportConfig", + "markdownDescription": "The configuration of your task report, which provides detailed information about your DataSync transfer. For more information, see [Monitoring your DataSync transfers with task reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .", + "title": "TaskReportConfig" + } + }, + "required": [ + "DestinationLocationArn", + "SourceLocationArn" + ], + "type": "object" }, - "ProjectId": { - "markdownDescription": "GitLab numeric project ID.", - "title": "ProjectId", + "Type": { + "enum": [ + "AWS::DataSync::Task" + ], "type": "string" }, - "ProjectPath": { - "markdownDescription": "Full GitLab project path (e.g., namespace/project-name).", - "title": "ProjectPath", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ProjectId", - "ProjectPath" + "Type", + "Properties" ], "type": "object" }, - "AWS::DevOpsAgent::Association.KeyValuePair": { + "AWS::DataSync::Task.Deleted": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key name of the tag.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The value for the tag.", - "title": "Value", + "ReportLevel": { + "markdownDescription": "", + "title": "ReportLevel", "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::DevOpsAgent::Association.MCPServerConfiguration": { + "AWS::DataSync::Task.Destination": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the MCP server.", - "title": "Description", - "type": "string" - }, - "EnableWebhookUpdates": { - "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", - "title": "EnableWebhookUpdates", - "type": "boolean" - }, - "Endpoint": { - "markdownDescription": "MCP server endpoint URL.", - "title": "Endpoint", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the MCP server.", - "title": "Name", - "type": "string" - }, - "Tools": { - "items": { - "type": "string" - }, - "markdownDescription": "List of MCP tools that can be used with the association.", - "title": "Tools", - "type": "array" + "S3": { + "$ref": "#/definitions/AWS::DataSync::Task.TaskReportConfigDestinationS3", + "markdownDescription": "", + "title": "S3" } }, - "required": [ - "Tools" - ], "type": "object" }, - "AWS::DevOpsAgent::Association.MCPServerDatadogConfiguration": { + "AWS::DataSync::Task.FilterRule": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the MCP server.", - "title": "Description", - "type": "string" - }, - "EnableWebhookUpdates": { - "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", - "title": "EnableWebhookUpdates", - "type": "boolean" - }, - "Endpoint": { - "markdownDescription": "MCP server endpoint URL.", - "title": "Endpoint", + "FilterType": { + "markdownDescription": "The type of filter rule to apply. AWS DataSync only supports the SIMPLE_PATTERN rule type.", + "title": "FilterType", "type": "string" }, - "Name": { - "markdownDescription": "The name of the MCP server.", - "title": "Name", + "Value": { + "markdownDescription": "A single filter string that consists of the patterns to include or exclude. The patterns are delimited by \"|\" (that is, a pipe), for example: `/folder1|/folder2`", + "title": "Value", "type": "string" } }, "type": "object" }, - "AWS::DevOpsAgent::Association.MCPServerGrafanaConfiguration": { + "AWS::DataSync::Task.ManifestConfig": { "additionalProperties": false, "properties": { - "EnableWebhookUpdates": { - "type": "boolean" - }, - "Endpoint": { + "Action": { + "markdownDescription": "Specifies what DataSync uses the manifest for.", + "title": "Action", "type": "string" }, - "Tools": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Endpoint" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Association.MCPServerNewRelicConfiguration": { - "additionalProperties": false, - "properties": { - "AccountId": { - "markdownDescription": "New Relic Account ID.", - "title": "AccountId", + "Format": { + "markdownDescription": "Specifies the file format of your manifest. For more information, see [Creating a manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html#transferring-with-manifest-create) .", + "title": "Format", "type": "string" }, - "Endpoint": { - "markdownDescription": "MCP server endpoint URL (e.g., https://mcp.newrelic.com/mcp/).", - "title": "Endpoint", - "type": "string" - } - }, - "required": [ - "AccountId", - "Endpoint" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Association.MCPServerSigV4Configuration": { - "additionalProperties": false, - "properties": { - "Tools": { - "items": { - "type": "string" - }, - "type": "array" + "Source": { + "$ref": "#/definitions/AWS::DataSync::Task.Source", + "markdownDescription": "Specifies the manifest that you want DataSync to use and where it's hosted.\n\n> You must specify this parameter if you're configuring a new manifest on or after February 7, 2024.\n> \n> If you don't, you'll get a 400 status code and `ValidationException` error stating that you're missing the IAM role for DataSync to access the S3 bucket where you're hosting your manifest. For more information, see [Providing DataSync access to your manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html#transferring-with-manifest-access) .", + "title": "Source" } }, "required": [ - "Tools" + "Source" ], "type": "object" }, - "AWS::DevOpsAgent::Association.MCPServerSplunkConfiguration": { + "AWS::DataSync::Task.ManifestConfigSourceS3": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the MCP server.", - "title": "Description", + "BucketAccessRoleArn": { + "markdownDescription": "", + "title": "BucketAccessRoleArn", "type": "string" }, - "EnableWebhookUpdates": { - "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", - "title": "EnableWebhookUpdates", - "type": "boolean" + "ManifestObjectPath": { + "markdownDescription": "", + "title": "ManifestObjectPath", + "type": "string" }, - "Endpoint": { - "markdownDescription": "MCP server endpoint URL.", - "title": "Endpoint", + "ManifestObjectVersionId": { + "markdownDescription": "", + "title": "ManifestObjectVersionId", "type": "string" }, - "Name": { - "markdownDescription": "The name of the MCP server.", - "title": "Name", + "S3BucketArn": { + "markdownDescription": "", + "title": "S3BucketArn", "type": "string" } }, "type": "object" }, - "AWS::DevOpsAgent::Association.PagerDutyConfiguration": { + "AWS::DataSync::Task.Options": { "additionalProperties": false, "properties": { - "CustomerEmail": { + "Atime": { + "markdownDescription": "A file metadata value that shows the last time that a file was accessed (that is, when the file was read or written to). If you set `Atime` to `BEST_EFFORT` , AWS DataSync attempts to preserve the original `Atime` attribute on all source files (that is, the version before the PREPARING phase). However, `Atime` 's behavior is not fully standard across platforms, so AWS DataSync can only do this on a best-effort basis.\n\nDefault value: `BEST_EFFORT`\n\n`BEST_EFFORT` : Attempt to preserve the per-file `Atime` value (recommended).\n\n`NONE` : Ignore `Atime` .\n\n> If `Atime` is set to `BEST_EFFORT` , `Mtime` must be set to `PRESERVE` .\n> \n> If `Atime` is set to `NONE` , `Mtime` must also be `NONE` .", + "title": "Atime", "type": "string" }, - "EnableWebhookUpdates": { - "type": "boolean" + "BytesPerSecond": { + "markdownDescription": "A value that limits the bandwidth used by AWS DataSync . For example, if you want AWS DataSync to use a maximum of 1 MB, set this value to `1048576` (=1024*1024).", + "title": "BytesPerSecond", + "type": "number" }, - "Services": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CustomerEmail", - "Services" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Association.ServiceConfiguration": { - "additionalProperties": false, - "properties": { - "Aws": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.AWSConfiguration", - "markdownDescription": "Configuration for AWS monitor account integration. Specifies the account ID, assumable role ARN, and resources to be monitored in the primary monitoring account.", - "title": "Aws" + "Gid": { + "markdownDescription": "The group ID (GID) of the file's owners.\n\nDefault value: `INT_VALUE`\n\n`INT_VALUE` : Preserve the integer value of the user ID (UID) and group ID (GID) (recommended).\n\n`NAME` : Currently not supported.\n\n`NONE` : Ignore the UID and GID.", + "title": "Gid", + "type": "string" }, - "Azure": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.AzureConfiguration" + "LogLevel": { + "markdownDescription": "Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group. To specify the log group, see [CloudWatchLogGroupArn](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn) .\n\n- `BASIC` - Publishes logs with only basic information (such as transfer errors).\n- `TRANSFER` - Publishes logs for all files or objects that your DataSync task transfers and performs data-integrity checks on.\n- `OFF` - No logs are published.", + "title": "LogLevel", + "type": "string" }, - "Dynatrace": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.DynatraceConfiguration", - "markdownDescription": "Configuration for Dynatrace monitoring integration. Specifies the environment ID, resources to monitor, and webhook settings to enable the Agent Space to access Dynatrace metrics, traces, and logs.", - "title": "Dynatrace" + "Mtime": { + "markdownDescription": "A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase. This option is required for cases when you need to run the same task more than one time.\n\nDefault value: `PRESERVE`\n\n`PRESERVE` : Preserve original `Mtime` (recommended)\n\n`NONE` : Ignore `Mtime` .\n\n> If `Mtime` is set to `PRESERVE` , `Atime` must be set to `BEST_EFFORT` .\n> \n> If `Mtime` is set to `NONE` , `Atime` must also be set to `NONE` .", + "title": "Mtime", + "type": "string" }, - "EventChannel": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.EventChannelConfiguration", - "markdownDescription": "Configuration for Event Channel integration. Specifies webhook settings to enable the Agent Space to receive and process real-time events from external systems.", - "title": "EventChannel" + "ObjectMetadata": { + "type": "string" }, - "GitHub": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.GitHubConfiguration", - "markdownDescription": "Configuration for GitHub repository integration. Specifies the repository name, repository ID, owner, and owner type to enable the Agent Space to access code, pull requests, and issues.", - "title": "GitHub" + "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", + "type": "string" }, - "GitLab": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.GitLabConfiguration", - "markdownDescription": "Configuration for GitLab project integration. Specifies the project ID, project path, instance identifier, and webhook settings to enable the Agent Space to access code, merge requests, and issues.", - "title": "GitLab" + "OverwriteMode": { + "markdownDescription": "Specifies whether DataSync should modify or preserve data at the destination location.\n\n- `ALWAYS` (default) - DataSync modifies data in the destination location when source data (including metadata) has changed.\n\nIf DataSync overwrites objects, you might incur additional charges for certain Amazon S3 storage classes (for example, for retrieval or early deletion). For more information, see [Storage class considerations with Amazon S3 transfers](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) .\n- `NEVER` - DataSync doesn't overwrite data in the destination location even if the source data has changed. You can use this option to protect against overwriting changes made to files or objects in the destination.", + "title": "OverwriteMode", + "type": "string" }, - "MCPServer": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerConfiguration", - "markdownDescription": "Configuration for custom MCP (Model Context Protocol) server integration. Specifies the server name, endpoint URL, available tools, description, and webhook settings to enable the Agent Space to interact with custom MCP servers.", - "title": "MCPServer" + "PosixPermissions": { + "markdownDescription": "A value that determines which users or groups can access a file for a specific purpose, such as reading, writing, or execution of the file. This option should be set only for Network File System (NFS), Amazon EFS, and Amazon S3 locations. For more information about what metadata is copied by DataSync, see [Metadata Copied by DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied) .\n\nDefault value: `PRESERVE`\n\n`PRESERVE` : Preserve POSIX-style permissions (recommended).\n\n`NONE` : Ignore permissions.\n\n> AWS DataSync can preserve extant permissions of a source location.", + "title": "PosixPermissions", + "type": "string" }, - "MCPServerDatadog": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerDatadogConfiguration", - "markdownDescription": "Configuration for Datadog MCP server integration. Specifies the server name, endpoint URL, optional description, and webhook settings to enable the Agent Space to query metrics, traces, and logs from Datadog.", - "title": "MCPServerDatadog" + "PreserveDeletedFiles": { + "markdownDescription": "A value that specifies whether files in the destination that don't exist in the source file system are preserved. This option can affect your storage costs. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see [Considerations when working with Amazon S3 storage classes in DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) in the *AWS DataSync User Guide* .\n\nDefault value: `PRESERVE`\n\n`PRESERVE` : Ignore destination files that aren't present in the source (recommended).\n\n`REMOVE` : Delete destination files that aren't present in the source.", + "title": "PreserveDeletedFiles", + "type": "string" }, - "MCPServerGrafana": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerGrafanaConfiguration" + "PreserveDevices": { + "markdownDescription": "A value that determines whether AWS DataSync should preserve the metadata of block and character devices in the source file system, and re-create the files with that device name and metadata on the destination. DataSync does not copy the contents of such devices, only the name and metadata.\n\n> AWS DataSync can't sync the actual contents of such devices, because they are nonterminal and don't return an end-of-file (EOF) marker. \n\nDefault value: `NONE`\n\n`NONE` : Ignore special devices (recommended).\n\n`PRESERVE` : Preserve character and block device metadata. This option isn't currently supported for Amazon EFS.", + "title": "PreserveDevices", + "type": "string" }, - "MCPServerNewRelic": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerNewRelicConfiguration", - "markdownDescription": "Configuration for New Relic MCP server integration. Specifies the New Relic account ID and MCP endpoint URL to enable the Agent Space to query metrics, traces, and logs from New Relic.", - "title": "MCPServerNewRelic" + "SecurityDescriptorCopyFlags": { + "markdownDescription": "A value that determines which components of the SMB security descriptor are copied from source to destination objects.\n\nThis value is only used for transfers between SMB and Amazon FSx for Windows File Server locations, or between two Amazon FSx for Windows File Server locations. For more information about how DataSync handles metadata, see [How DataSync Handles Metadata and Special Files](https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html) .\n\nDefault value: `OWNER_DACL`\n\n`OWNER_DACL` : For each copied object, DataSync copies the following metadata:\n\n- Object owner.\n- NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.\n\nWhen you use option, DataSync does NOT copy the NTFS system access control lists (SACLs), which are used by administrators to log attempts to access a secured object.\n\n`OWNER_DACL_SACL` : For each copied object, DataSync copies the following metadata:\n\n- Object owner.\n- NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.\n- NTFS system access control lists (SACLs), which are used by administrators to log attempts to access a secured object.\n\nCopying SACLs requires granting additional permissions to the Windows user that DataSync uses to access your SMB location. For information about choosing a user that ensures sufficient permissions to files, folders, and metadata, see [user](https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#SMBuser) .\n\n`NONE` : None of the SMB security descriptor components are copied. Destination objects are owned by the user that was provided for accessing the destination location. DACLs and SACLs are set based on the destination server\u2019s configuration.", + "title": "SecurityDescriptorCopyFlags", + "type": "string" }, - "MCPServerSigV4": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerSigV4Configuration" + "TaskQueueing": { + "markdownDescription": "Specifies whether your transfer tasks should be put into a queue during certain scenarios when [running multiple tasks](https://docs.aws.amazon.com/datasync/latest/userguide/run-task.html#running-multiple-tasks) . This is `ENABLED` by default.", + "title": "TaskQueueing", + "type": "string" }, - "MCPServerSplunk": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerSplunkConfiguration", - "markdownDescription": "Configuration for Splunk MCP server integration. Specifies the server name, endpoint URL, optional description, and webhook settings to enable the Agent Space to query logs, metrics, and events from Splunk.", - "title": "MCPServerSplunk" + "TransferMode": { + "markdownDescription": "A value that determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing it to the destination location.\n\n`CHANGED` : DataSync copies only data or metadata that is new or different from the source location to the destination location.\n\n`ALL` : DataSync copies all source location content to the destination, without comparing it to existing content on the destination.", + "title": "TransferMode", + "type": "string" }, - "PagerDuty": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.PagerDutyConfiguration" + "Uid": { + "markdownDescription": "The user ID (UID) of the file's owner.\n\nDefault value: `INT_VALUE`\n\n`INT_VALUE` : Preserve the integer value of the UID and group ID (GID) (recommended).\n\n`NAME` : Currently not supported\n\n`NONE` : Ignore the UID and GID.", + "title": "Uid", + "type": "string" }, - "ServiceNow": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.ServiceNowConfiguration", - "markdownDescription": "Configuration for ServiceNow instance integration. Specifies the instance URL, instance ID, and webhook settings to enable the Agent Space to create, update, and manage ServiceNow incidents and change requests.", - "title": "ServiceNow" + "VerifyMode": { + "markdownDescription": "A value that determines whether a data integrity verification is performed at the end of a task execution after all data and metadata have been transferred. For more information, see [Configure task settings](https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html) .\n\nDefault value: `POINT_IN_TIME_CONSISTENT`\n\n`ONLY_FILES_TRANSFERRED` (recommended): Perform verification only on files that were transferred.\n\n`POINT_IN_TIME_CONSISTENT` : Scan the entire source and entire destination at the end of the transfer to verify that the source and destination are fully synchronized. This option isn't supported when transferring to S3 Glacier or S3 Glacier Deep Archive storage classes.\n\n`NONE` : No additional verification is done at the end of the transfer, but all data transmissions are integrity-checked with checksum verification during the transfer.", + "title": "VerifyMode", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::Task.Overrides": { + "additionalProperties": false, + "properties": { + "Deleted": { + "$ref": "#/definitions/AWS::DataSync::Task.Deleted", + "markdownDescription": "", + "title": "Deleted" }, - "Slack": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.SlackConfiguration", - "markdownDescription": "Configuration for Slack workspace integration. Specifies the workspace ID, workspace name, and transmission targets to enable the Agent Space to send notifications to designated Slack channels.", - "title": "Slack" + "Skipped": { + "$ref": "#/definitions/AWS::DataSync::Task.Skipped", + "markdownDescription": "", + "title": "Skipped" }, - "SourceAws": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.SourceAwsConfiguration", - "markdownDescription": "Configuration for AWS source account integration. Specifies the account ID, assumable role ARN, and resources to be monitored in the source account.", - "title": "SourceAws" + "Transferred": { + "$ref": "#/definitions/AWS::DataSync::Task.Transferred", + "markdownDescription": "", + "title": "Transferred" + }, + "Verified": { + "$ref": "#/definitions/AWS::DataSync::Task.Verified", + "markdownDescription": "", + "title": "Verified" } }, "type": "object" }, - "AWS::DevOpsAgent::Association.ServiceNowConfiguration": { + "AWS::DataSync::Task.Skipped": { "additionalProperties": false, "properties": { - "EnableWebhookUpdates": { - "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", - "title": "EnableWebhookUpdates", - "type": "boolean" - }, - "InstanceId": { - "markdownDescription": "ServiceNow instance ID.", - "title": "InstanceId", + "ReportLevel": { + "markdownDescription": "", + "title": "ReportLevel", "type": "string" } }, "type": "object" }, - "AWS::DevOpsAgent::Association.SlackChannel": { + "AWS::DataSync::Task.Source": { "additionalProperties": false, "properties": { - "ChannelId": { - "markdownDescription": "Slack channel ID.", - "title": "ChannelId", + "S3": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfigSourceS3", + "markdownDescription": "", + "title": "S3" + } + }, + "type": "object" + }, + "AWS::DataSync::Task.TaskReportConfig": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::DataSync::Task.Destination", + "markdownDescription": "Specifies the Amazon S3 bucket where DataSync uploads your task report. For more information, see [Task reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html#task-report-access) .", + "title": "Destination" + }, + "ObjectVersionIds": { + "markdownDescription": "Specifies whether your task report includes the new version of each object transferred into an S3 bucket. This only applies if you [enable versioning on your bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html) . Keep in mind that setting this to `INCLUDE` can increase the duration of your task execution.", + "title": "ObjectVersionIds", "type": "string" }, - "ChannelName": { - "markdownDescription": "Slack channel name.", - "title": "ChannelName", + "OutputType": { + "markdownDescription": "Specifies the type of task report that you want:\n\n- `SUMMARY_ONLY` : Provides necessary details about your task, including the number of files, objects, and directories transferred and transfer duration.\n- `STANDARD` : Provides complete details about your task, including a full list of files, objects, and directories that were transferred, skipped, verified, and more.", + "title": "OutputType", + "type": "string" + }, + "Overrides": { + "$ref": "#/definitions/AWS::DataSync::Task.Overrides", + "markdownDescription": "Customizes the reporting level for aspects of your task report. For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that DataSync attempted to delete in your destination location.", + "title": "Overrides" + }, + "ReportLevel": { + "markdownDescription": "Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.\n\n- `ERRORS_ONLY` : A report shows what DataSync was unable to transfer, skip, verify, and delete.\n- `SUCCESSES_AND_ERRORS` : A report shows what DataSync was able and unable to transfer, skip, verify, and delete.", + "title": "ReportLevel", "type": "string" } }, "required": [ - "ChannelId" + "Destination", + "OutputType" ], "type": "object" }, - "AWS::DevOpsAgent::Association.SlackConfiguration": { + "AWS::DataSync::Task.TaskReportConfigDestinationS3": { "additionalProperties": false, "properties": { - "TransmissionTarget": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.SlackTransmissionTarget", - "markdownDescription": "Transmission targets for agent notifications.", - "title": "TransmissionTarget" + "BucketAccessRoleArn": { + "markdownDescription": "", + "title": "BucketAccessRoleArn", + "type": "string" }, - "WorkspaceId": { - "markdownDescription": "Associated Slack workspace ID.", - "title": "WorkspaceId", + "S3BucketArn": { + "markdownDescription": "", + "title": "S3BucketArn", "type": "string" }, - "WorkspaceName": { - "markdownDescription": "Associated Slack workspace name.", - "title": "WorkspaceName", + "Subdirectory": { + "markdownDescription": "", + "title": "Subdirectory", "type": "string" } }, - "required": [ - "TransmissionTarget", - "WorkspaceId", - "WorkspaceName" - ], "type": "object" }, - "AWS::DevOpsAgent::Association.SlackTransmissionTarget": { + "AWS::DataSync::Task.TaskSchedule": { "additionalProperties": false, "properties": { - "IncidentResponseTarget": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.SlackChannel", - "markdownDescription": "Destination for AWS DevOps Agent Incident Response.", - "title": "IncidentResponseTarget" + "ScheduleExpression": { + "markdownDescription": "Specifies your task schedule by using a cron or rate expression.\n\nUse cron expressions for task schedules that run on a specific time and day. For example, the following cron expression creates a task schedule that runs at 8 AM on the first Wednesday of every month:\n\n`cron(0 8 * * 3#1)`\n\nUse rate expressions for task schedules that run on a regular interval. For example, the following rate expression creates a task schedule that runs every 12 hours:\n\n`rate(12 hours)`\n\nFor information about cron and rate expression syntax, see the [*Amazon EventBridge User Guide*](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html) .", + "title": "ScheduleExpression", + "type": "string" + }, + "Status": { + "markdownDescription": "Specifies whether to enable or disable your task schedule. Your schedule is enabled by default, but there can be situations where you need to disable it. For example, you might need to pause a recurring transfer to fix an issue with your task or perform maintenance on your storage system.\n\nDataSync might disable your schedule automatically if your task fails repeatedly with the same error. For more information, see [TaskScheduleDetails](https://docs.aws.amazon.com/datasync/latest/userguide/API_TaskScheduleDetails.html) .", + "title": "Status", + "type": "string" } }, - "required": [ - "IncidentResponseTarget" - ], "type": "object" }, - "AWS::DevOpsAgent::Association.SourceAwsConfiguration": { + "AWS::DataSync::Task.Transferred": { "additionalProperties": false, "properties": { - "AccountId": { - "markdownDescription": "Account ID corresponding to the provided resources.", - "title": "AccountId", - "type": "string" - }, - "AccountType": { - "markdownDescription": "Account Type 'source' for AWS DevOps Agent monitoring.", - "title": "AccountType", + "ReportLevel": { + "markdownDescription": "", + "title": "ReportLevel", "type": "string" - }, - "AssumableRoleArn": { - "markdownDescription": "Role ARN to be assumed by AWS DevOps Agent to operate on behalf of customer.", - "title": "AssumableRoleArn", + } + }, + "type": "object" + }, + "AWS::DataSync::Task.Verified": { + "additionalProperties": false, + "properties": { + "ReportLevel": { + "markdownDescription": "", + "title": "ReportLevel", "type": "string" - }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.AWSResource" - }, - "markdownDescription": "List of resources to monitor.", - "title": "Resources", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.KeyValuePair" - }, - "markdownDescription": "List of tags as key-value pairs, used to identify resources for topology crawl.", - "title": "Tags", - "type": "array" } }, - "required": [ - "AccountId", - "AccountType", - "AssumableRoleArn" - ], "type": "object" }, - "AWS::DevOpsAgent::PrivateConnection": { + "AWS::DataSync::TaskExecution": { "additionalProperties": false, "properties": { "Condition": { @@ -114582,31 +113769,21 @@ "Properties": { "additionalProperties": false, "properties": { - "Certificate": { - "type": "string" - }, - "ConnectionConfiguration": { - "$ref": "#/definitions/AWS::DevOpsAgent::PrivateConnection.ConnectionConfiguration" - }, - "Name": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TaskArn": { + "type": "string" } }, - "required": [ - "ConnectionConfiguration", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DevOpsAgent::PrivateConnection" + "AWS::DataSync::TaskExecution" ], "type": "string" }, @@ -114620,79 +113797,62 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::DevOpsAgent::PrivateConnection.ConnectionConfiguration": { + "AWS::DataSync::TaskExecution.Options": { "additionalProperties": false, "properties": { - "SelfManaged": { - "$ref": "#/definitions/AWS::DevOpsAgent::PrivateConnection.SelfManagedMode" + "Atime": { + "type": "string" }, - "ServiceManaged": { - "$ref": "#/definitions/AWS::DevOpsAgent::PrivateConnection.ServiceManagedMode" - } - }, - "type": "object" - }, - "AWS::DevOpsAgent::PrivateConnection.SelfManagedMode": { - "additionalProperties": false, - "properties": { - "ResourceConfigurationId": { + "BytesPerSecond": { + "type": "number" + }, + "Gid": { "type": "string" - } - }, - "required": [ - "ResourceConfigurationId" - ], - "type": "object" - }, - "AWS::DevOpsAgent::PrivateConnection.ServiceManagedMode": { - "additionalProperties": false, - "properties": { - "DnsResolution": { + }, + "LogLevel": { "type": "string" }, - "HostAddress": { + "Mtime": { "type": "string" }, - "IpAddressType": { + "ObjectTags": { "type": "string" }, - "Ipv4AddressesPerEni": { - "type": "number" + "OverwriteMode": { + "type": "string" }, - "PortRanges": { - "items": { - "type": "string" - }, - "type": "array" + "PosixPermissions": { + "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "PreserveDeletedFiles": { + "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "PreserveDevices": { + "type": "string" }, - "VpcId": { + "SecurityDescriptorCopyFlags": { + "type": "string" + }, + "TaskQueueing": { + "type": "string" + }, + "TransferMode": { + "type": "string" + }, + "Uid": { + "type": "string" + }, + "VerifyMode": { "type": "string" } }, - "required": [ - "HostAddress", - "VpcId" - ], "type": "object" }, - "AWS::DevOpsAgent::Service": { + "AWS::DataZone::Connection": { "additionalProperties": false, "properties": { "Condition": { @@ -114727,39 +113887,67 @@ "Properties": { "additionalProperties": false, "properties": { - "ExchangeUrlPrivateConnectionName": { - "type": "string" + "AwsLocation": { + "$ref": "#/definitions/AWS::DataZone::Connection.AwsLocation", + "markdownDescription": "The location where the connection is created.", + "title": "AwsLocation" }, - "KmsKeyArn": { + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::DataZone::Connection.ConnectionConfiguration" + }, + "type": "array" + }, + "Description": { + "markdownDescription": "Connection description.", + "title": "Description", "type": "string" }, - "PrivateConnectionName": { + "DomainIdentifier": { + "markdownDescription": "The ID of the domain where the connection is created.", + "title": "DomainIdentifier", "type": "string" }, - "ServiceDetails": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.ServiceDetails" + "EnableTrustedIdentityPropagation": { + "markdownDescription": "", + "title": "EnableTrustedIdentityPropagation", + "type": "boolean" }, - "ServiceType": { + "EnvironmentIdentifier": { + "markdownDescription": "The ID of the environment where the connection is created.", + "title": "EnvironmentIdentifier", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetUrlPrivateConnectionName": { + "Name": { + "markdownDescription": "The name of the connection.", + "title": "Name", "type": "string" - } - }, + }, + "ProjectIdentifier": { + "markdownDescription": "", + "title": "ProjectIdentifier", + "type": "string" + }, + "Props": { + "$ref": "#/definitions/AWS::DataZone::Connection.ConnectionPropertiesInput", + "markdownDescription": "Connection props.", + "title": "Props" + }, + "Scope": { + "markdownDescription": "The scope of the connection.", + "title": "Scope", + "type": "string" + } + }, "required": [ - "ServiceType" + "DomainIdentifier", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DevOpsAgent::Service" + "AWS::DataZone::Connection" ], "type": "string" }, @@ -114778,717 +113966,739 @@ ], "type": "object" }, - "AWS::DevOpsAgent::Service.AdditionalServiceDetails": { + "AWS::DataZone::Connection.AmazonQPropertiesInput": { "additionalProperties": false, "properties": { - "AzureIdentity": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredAzureIdentityDetails" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredDynatraceDetails" - }, - "GitLab": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredGitLabServiceDetails" - }, - "MCPServer": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerDetails" - }, - "MCPServerGrafana": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerGrafanaDetails" - }, - "MCPServerNewRelic": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredNewRelicDetails" - }, - "MCPServerSigV4": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerSigV4Details" - }, - "MCPServerSplunk": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerDetails" + "AuthMode": { + "markdownDescription": "", + "title": "AuthMode", + "type": "string" }, - "PagerDuty": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredPagerDutyDetails" + "IsEnabled": { + "markdownDescription": "", + "title": "IsEnabled", + "type": "boolean" }, - "ServiceNow": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredServiceNowDetails" + "ProfileArn": { + "markdownDescription": "", + "title": "ProfileArn", + "type": "string" } }, "type": "object" }, - "AWS::DevOpsAgent::Service.ApiKeyDetails": { + "AWS::DataZone::Connection.AthenaPropertiesInput": { "additionalProperties": false, "properties": { - "ApiKeyHeader": { - "type": "string" - }, - "ApiKeyName": { - "type": "string" - }, - "ApiKeyValue": { + "WorkgroupName": { + "markdownDescription": "The Amazon Athena workgroup name of a connection.", + "title": "WorkgroupName", "type": "string" } }, "required": [ - "ApiKeyHeader", - "ApiKeyName", - "ApiKeyValue" + "WorkgroupName" ], "type": "object" }, - "AWS::DevOpsAgent::Service.AzureIdentityServiceDetails": { + "AWS::DataZone::Connection.AuthenticationConfigurationInput": { "additionalProperties": false, "properties": { - "ClientId": { - "type": "string" - }, - "TenantId": { + "AuthenticationType": { + "markdownDescription": "The authentication type of a connection.", + "title": "AuthenticationType", "type": "string" }, - "WebIdentityRoleArn": { - "type": "string" + "BasicAuthenticationCredentials": { + "$ref": "#/definitions/AWS::DataZone::Connection.BasicAuthenticationCredentials", + "markdownDescription": "The basic authentication credentials of a connection.", + "title": "BasicAuthenticationCredentials" }, - "WebIdentityTokenAudiences": { - "items": { - "type": "string" + "CustomAuthenticationCredentials": { + "additionalProperties": true, + "markdownDescription": "The custom authentication credentials of a connection.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" - } - }, - "required": [ - "ClientId", - "TenantId", - "WebIdentityRoleArn", - "WebIdentityTokenAudiences" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Service.BearerTokenDetails": { - "additionalProperties": false, - "properties": { - "AuthorizationHeader": { - "type": "string" + "title": "CustomAuthenticationCredentials", + "type": "object" }, - "TokenName": { + "KmsKeyArn": { + "markdownDescription": "The KMS key ARN of a connection.", + "title": "KmsKeyArn", "type": "string" }, - "TokenValue": { + "OAuth2Properties": { + "$ref": "#/definitions/AWS::DataZone::Connection.OAuth2Properties", + "markdownDescription": "The oAuth2 properties of a connection.", + "title": "OAuth2Properties" + }, + "SecretArn": { + "markdownDescription": "The secret ARN of a connection.", + "title": "SecretArn", "type": "string" } }, - "required": [ - "TokenName", - "TokenValue" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Service.DynatraceAuthorizationConfig": { - "additionalProperties": false, - "properties": { - "OAuthClientCredentials": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.OAuthClientDetails" - } - }, "type": "object" }, - "AWS::DevOpsAgent::Service.DynatraceServiceDetails": { + "AWS::DataZone::Connection.AuthorizationCodeProperties": { "additionalProperties": false, "properties": { - "AccountUrn": { + "AuthorizationCode": { + "markdownDescription": "The authorization code of a connection.", + "title": "AuthorizationCode", "type": "string" }, - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.DynatraceAuthorizationConfig" + "RedirectUri": { + "markdownDescription": "The redirect URI of a connection.", + "title": "RedirectUri", + "type": "string" } }, - "required": [ - "AccountUrn" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.GitLabDetails": { + "AWS::DataZone::Connection.AwsLocation": { "additionalProperties": false, "properties": { - "GroupId": { + "AccessRole": { + "markdownDescription": "The access role of a connection.", + "title": "AccessRole", "type": "string" }, - "TargetUrl": { + "AwsAccountId": { + "markdownDescription": "The account ID of a connection.", + "title": "AwsAccountId", "type": "string" }, - "TokenType": { + "AwsRegion": { + "markdownDescription": "The Region of a connection.", + "title": "AwsRegion", "type": "string" }, - "TokenValue": { + "IamConnectionId": { + "markdownDescription": "The IAM connection ID of a connection.", + "title": "IamConnectionId", "type": "string" } }, - "required": [ - "TargetUrl", - "TokenType", - "TokenValue" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Service.MCPServerAuthorizationConfig": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.ApiKeyDetails" - }, - "BearerToken": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.BearerTokenDetails" - }, - "OAuthClientCredentials": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerOAuthClientCredentialsConfig" - } - }, "type": "object" }, - "AWS::DevOpsAgent::Service.MCPServerDetails": { + "AWS::DataZone::Connection.BasicAuthenticationCredentials": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerAuthorizationConfig" - }, - "Description": { - "type": "string" - }, - "Endpoint": { + "Password": { + "markdownDescription": "The password for a connection.", + "title": "Password", "type": "string" }, - "Name": { + "UserName": { + "markdownDescription": "The user name for the connecion.", + "title": "UserName", "type": "string" } }, - "required": [ - "AuthorizationConfig", - "Endpoint", - "Name" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.MCPServerGrafanaAuthorizationConfig": { + "AWS::DataZone::Connection.ConnectionConfiguration": { "additionalProperties": false, "properties": { - "BearerToken": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.BearerTokenDetails" + "Classification": { + "type": "string" + }, + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, - "required": [ - "BearerToken" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.MCPServerGrafanaDetails": { + "AWS::DataZone::Connection.ConnectionPropertiesInput": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerGrafanaAuthorizationConfig" + "AmazonQProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.AmazonQPropertiesInput", + "markdownDescription": "", + "title": "AmazonQProperties" }, - "Description": { - "type": "string" + "AthenaProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.AthenaPropertiesInput", + "markdownDescription": "The Amazon Athena properties of a connection.", + "title": "AthenaProperties" }, - "Endpoint": { - "type": "string" + "GlueProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.GluePropertiesInput", + "markdownDescription": "The AWS Glue properties of a connection.", + "title": "GlueProperties" }, - "Name": { - "type": "string" - } - }, - "required": [ - "AuthorizationConfig", - "Endpoint", - "Name" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Service.MCPServerOAuthClientCredentialsConfig": { - "additionalProperties": false, - "properties": { - "ClientId": { - "type": "string" + "HyperPodProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.HyperPodPropertiesInput", + "markdownDescription": "The hyper pod properties of a connection.", + "title": "HyperPodProperties" }, - "ClientName": { - "type": "string" + "IamProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.IamPropertiesInput", + "markdownDescription": "The IAM properties of a connection.", + "title": "IamProperties" }, - "ClientSecret": { - "type": "string" + "LakehouseProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.LakehousePropertiesInput" }, - "ExchangeParameters": { - "type": "object" + "MlflowProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.MlflowPropertiesInput", + "markdownDescription": "", + "title": "MlflowProperties" }, - "ExchangeUrl": { - "type": "string" + "RedshiftProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftPropertiesInput", + "markdownDescription": "The Amazon Redshift properties of a connection.", + "title": "RedshiftProperties" }, - "Scopes": { - "items": { - "type": "string" - }, - "type": "array" + "S3Properties": { + "$ref": "#/definitions/AWS::DataZone::Connection.S3PropertiesInput", + "markdownDescription": "", + "title": "S3Properties" + }, + "SparkEmrProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.SparkEmrPropertiesInput", + "markdownDescription": "The Spark EMR properties of a connection.", + "title": "SparkEmrProperties" + }, + "SparkGlueProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.SparkGluePropertiesInput", + "markdownDescription": "The Spark AWS Glue properties of a connection.", + "title": "SparkGlueProperties" + }, + "WorkflowsMwaaProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.WorkflowsMwaaPropertiesInput" + }, + "WorkflowsServerlessProperties": { + "type": "object" } }, - "required": [ - "ClientId", - "ClientSecret", - "ExchangeUrl" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.MCPServerSigV4AuthorizationConfig": { + "AWS::DataZone::Connection.GlueConnectionInput": { "additionalProperties": false, "properties": { - "CustomHeaders": { + "AthenaProperties": { "additionalProperties": true, + "markdownDescription": "The Amazon Athena properties of the AWS Glue connection.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, + "title": "AthenaProperties", "type": "object" }, - "McpRoleArn": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::DataZone::Connection.AuthenticationConfigurationInput", + "markdownDescription": "The authentication configuration of the AWS Glue connection.", + "title": "AuthenticationConfiguration" + }, + "ConnectionProperties": { + "additionalProperties": true, + "markdownDescription": "The connection properties of the AWS Glue connection.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ConnectionProperties", + "type": "object" + }, + "ConnectionType": { + "markdownDescription": "The connection type of the AWS Glue connection.", + "title": "ConnectionType", "type": "string" }, - "Region": { + "Description": { + "markdownDescription": "The description of the AWS Glue connection.", + "title": "Description", "type": "string" }, - "RoleArn": { + "MatchCriteria": { + "markdownDescription": "The match criteria of the AWS Glue connection.", + "title": "MatchCriteria", "type": "string" }, - "Service": { + "Name": { + "markdownDescription": "The name of the AWS Glue connection.", + "title": "Name", "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::DataZone::Connection.PhysicalConnectionRequirements", + "markdownDescription": "The physical connection requirements for the AWS Glue connection.", + "title": "PhysicalConnectionRequirements" + }, + "PythonProperties": { + "additionalProperties": true, + "markdownDescription": "The Python properties of the AWS Glue connection.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "PythonProperties", + "type": "object" + }, + "SparkProperties": { + "additionalProperties": true, + "markdownDescription": "The Spark properties of the AWS Glue connection.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "SparkProperties", + "type": "object" + }, + "ValidateCredentials": { + "markdownDescription": "Speciefies whether to validate credentials of the AWS Glue connection.", + "title": "ValidateCredentials", + "type": "boolean" + }, + "ValidateForComputeEnvironments": { + "items": { + "type": "string" + }, + "markdownDescription": "Speciefies whether to validate for compute environments of the AWS Glue connection.", + "title": "ValidateForComputeEnvironments", + "type": "array" } }, - "required": [ - "Region", - "Service" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.MCPServerSigV4Details": { + "AWS::DataZone::Connection.GlueOAuth2Credentials": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSigV4AuthorizationConfig" + "AccessToken": { + "markdownDescription": "The access token of a connection.", + "title": "AccessToken", + "type": "string" }, - "Description": { + "JwtToken": { + "markdownDescription": "The jwt token of the connection.", + "title": "JwtToken", "type": "string" }, - "Endpoint": { + "RefreshToken": { + "markdownDescription": "The refresh token of the connection.", + "title": "RefreshToken", "type": "string" }, - "Name": { + "UserManagedClientApplicationClientSecret": { + "markdownDescription": "The user managed client application client secret of the connection.", + "title": "UserManagedClientApplicationClientSecret", "type": "string" } }, - "required": [ - "AuthorizationConfig", - "Endpoint", - "Name" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.MCPServerSplunkAuthorizationConfig": { + "AWS::DataZone::Connection.GluePropertiesInput": { "additionalProperties": false, "properties": { - "BearerToken": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.BearerTokenDetails" + "GlueConnectionInput": { + "$ref": "#/definitions/AWS::DataZone::Connection.GlueConnectionInput", + "markdownDescription": "The AWS Glue connection.", + "title": "GlueConnectionInput" } }, - "required": [ - "BearerToken" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.MCPServerSplunkDetails": { + "AWS::DataZone::Connection.HyperPodPropertiesInput": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSplunkAuthorizationConfig" - }, - "Description": { - "type": "string" - }, - "Endpoint": { - "type": "string" - }, - "Name": { + "ClusterName": { + "markdownDescription": "The cluster name the hyper pod properties.", + "title": "ClusterName", "type": "string" } }, "required": [ - "AuthorizationConfig", - "Endpoint", - "Name" + "ClusterName" ], "type": "object" }, - "AWS::DevOpsAgent::Service.NewRelicApiKeyConfig": { + "AWS::DataZone::Connection.IamPropertiesInput": { "additionalProperties": false, "properties": { - "AccountId": { - "type": "string" - }, - "AlertPolicyIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ApiKey": { - "type": "string" - }, - "ApplicationIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntityGuids": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Region": { - "type": "string" + "GlueLineageSyncEnabled": { + "markdownDescription": "Specifies whether AWS Glue lineage sync is enabled for a connection.", + "title": "GlueLineageSyncEnabled", + "type": "boolean" } }, - "required": [ - "AccountId", - "ApiKey", - "Region" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.NewRelicAuthorizationConfig": { + "AWS::DataZone::Connection.LakehousePropertiesInput": { "additionalProperties": false, "properties": { - "ApiKey": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.NewRelicApiKeyConfig" + "GlueLineageSyncEnabled": { + "type": "boolean" } }, - "required": [ - "ApiKey" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.NewRelicServiceDetails": { + "AWS::DataZone::Connection.LineageSyncSchedule": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.NewRelicAuthorizationConfig" + "Schedule": { + "markdownDescription": "The lineage sync schedule.", + "title": "Schedule", + "type": "string" } }, - "required": [ - "AuthorizationConfig" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.OAuthClientDetails": { + "AWS::DataZone::Connection.MlflowPropertiesInput": { "additionalProperties": false, "properties": { - "ClientId": { - "type": "string" - }, - "ClientName": { - "type": "string" - }, - "ClientSecret": { + "TrackingServerArn": { + "markdownDescription": "", + "title": "TrackingServerArn", "type": "string" - }, - "ExchangeParameters": { - "type": "object" } }, - "required": [ - "ClientId", - "ClientSecret" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.PagerDutyAuthorizationConfig": { + "AWS::DataZone::Connection.OAuth2ClientApplication": { "additionalProperties": false, "properties": { - "OAuthClientCredentials": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.OAuthClientDetails" + "AWSManagedClientApplicationReference": { + "markdownDescription": "The AWS managed client application reference in the OAuth2Client application.", + "title": "AWSManagedClientApplicationReference", + "type": "string" + }, + "UserManagedClientApplicationClientId": { + "markdownDescription": "The user managed client application client ID in the OAuth2Client application.", + "title": "UserManagedClientApplicationClientId", + "type": "string" } }, "type": "object" }, - "AWS::DevOpsAgent::Service.PagerDutyDetails": { + "AWS::DataZone::Connection.OAuth2Properties": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.PagerDutyAuthorizationConfig" + "AuthorizationCodeProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.AuthorizationCodeProperties", + "markdownDescription": "The authorization code properties of the OAuth2 properties.", + "title": "AuthorizationCodeProperties" }, - "Scopes": { - "items": { - "type": "string" + "OAuth2ClientApplication": { + "$ref": "#/definitions/AWS::DataZone::Connection.OAuth2ClientApplication", + "markdownDescription": "The OAuth2 client application of the OAuth2 properties.", + "title": "OAuth2ClientApplication" + }, + "OAuth2Credentials": { + "$ref": "#/definitions/AWS::DataZone::Connection.GlueOAuth2Credentials", + "markdownDescription": "The OAuth2 credentials of the OAuth2 properties.", + "title": "OAuth2Credentials" + }, + "OAuth2GrantType": { + "markdownDescription": "The OAuth2 grant type of the OAuth2 properties.", + "title": "OAuth2GrantType", + "type": "string" + }, + "TokenUrl": { + "markdownDescription": "The OAuth2 token URL of the OAuth2 properties.", + "title": "TokenUrl", + "type": "string" + }, + "TokenUrlParametersMap": { + "additionalProperties": true, + "markdownDescription": "The OAuth2 token URL parameter map of the OAuth2 properties.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "title": "TokenUrlParametersMap", + "type": "object" } }, - "required": [ - "AuthorizationConfig", - "Scopes" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.RegisteredAzureIdentityDetails": { + "AWS::DataZone::Connection.PhysicalConnectionRequirements": { "additionalProperties": false, "properties": { - "ClientId": { + "AvailabilityZone": { + "markdownDescription": "The availability zone of the physical connection requirements of a connection.", + "title": "AvailabilityZone", "type": "string" }, - "TenantId": { - "type": "string" + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "markdownDescription": "The group ID list of the physical connection requirements of a connection.", + "title": "SecurityGroupIdList", + "type": "array" }, - "WebIdentityRoleArn": { + "SubnetId": { + "markdownDescription": "The subnet ID of the physical connection requirements of a connection.", + "title": "SubnetId", "type": "string" }, - "WebIdentityTokenAudiences": { + "SubnetIdList": { "items": { "type": "string" }, + "markdownDescription": "The subnet ID list of the physical connection requirements of a connection.", + "title": "SubnetIdList", "type": "array" } }, - "required": [ - "ClientId", - "TenantId", - "WebIdentityRoleArn", - "WebIdentityTokenAudiences" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.RegisteredDynatraceDetails": { + "AWS::DataZone::Connection.RedshiftCredentials": { "additionalProperties": false, "properties": { - "AccountUrn": { + "SecretArn": { + "markdownDescription": "The secret ARN of the Amazon Redshift credentials of a connection.", + "title": "SecretArn", "type": "string" + }, + "UsernamePassword": { + "$ref": "#/definitions/AWS::DataZone::Connection.UsernamePassword", + "markdownDescription": "The username and password of the Amazon Redshift credentials of a connection.", + "title": "UsernamePassword" } }, - "required": [ - "AccountUrn" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.RegisteredGitLabServiceDetails": { + "AWS::DataZone::Connection.RedshiftLineageSyncConfigurationInput": { "additionalProperties": false, "properties": { - "GroupId": { - "type": "string" - }, - "TargetUrl": { - "type": "string" + "Enabled": { + "markdownDescription": "Specifies whether the Amaon Redshift lineage sync configuration is enabled.", + "title": "Enabled", + "type": "boolean" }, - "TokenType": { - "type": "string" + "Schedule": { + "$ref": "#/definitions/AWS::DataZone::Connection.LineageSyncSchedule", + "markdownDescription": "The schedule of the Amaon Redshift lineage sync configuration.", + "title": "Schedule" } }, - "required": [ - "TargetUrl", - "TokenType" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.RegisteredMCPServerDetails": { + "AWS::DataZone::Connection.RedshiftPropertiesInput": { "additionalProperties": false, "properties": { - "ApiKeyHeader": { - "type": "string" + "Credentials": { + "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftCredentials", + "markdownDescription": "The Amaon Redshift credentials.", + "title": "Credentials" }, - "AuthorizationMethod": { + "DatabaseName": { + "markdownDescription": "The Amazon Redshift database name.", + "title": "DatabaseName", "type": "string" }, - "Description": { + "Host": { + "markdownDescription": "The Amazon Redshift host.", + "title": "Host", "type": "string" }, - "Endpoint": { - "type": "string" + "LineageSync": { + "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftLineageSyncConfigurationInput", + "markdownDescription": "The lineage sync of the Amazon Redshift.", + "title": "LineageSync" }, - "Name": { - "type": "string" + "Port": { + "markdownDescription": "The Amaon Redshift port.", + "title": "Port", + "type": "number" + }, + "Storage": { + "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftStorageProperties", + "markdownDescription": "The Amazon Redshift storage.", + "title": "Storage" } }, - "required": [ - "AuthorizationMethod", - "Endpoint", - "Name" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.RegisteredMCPServerGrafanaDetails": { + "AWS::DataZone::Connection.RedshiftStorageProperties": { "additionalProperties": false, "properties": { - "AuthorizationMethod": { + "ClusterName": { + "markdownDescription": "The cluster name in the Amazon Redshift storage properties.", + "title": "ClusterName", "type": "string" }, - "Description": { + "WorkgroupName": { + "markdownDescription": "The workgroup name in the Amazon Redshift storage properties.", + "title": "WorkgroupName", "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::Connection.S3PropertiesInput": { + "additionalProperties": false, + "properties": { + "RegisterS3AccessGrantLocation": { + "type": "boolean" }, - "Endpoint": { + "S3AccessGrantLocationId": { + "markdownDescription": "", + "title": "S3AccessGrantLocationId", "type": "string" }, - "Name": { + "S3Uri": { + "markdownDescription": "", + "title": "S3Uri", "type": "string" } }, "required": [ - "AuthorizationMethod", - "Endpoint" + "S3Uri" ], "type": "object" }, - "AWS::DevOpsAgent::Service.RegisteredMCPServerSigV4Details": { + "AWS::DataZone::Connection.SparkEmrPropertiesInput": { "additionalProperties": false, "properties": { - "CustomHeaders": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Description": { - "type": "string" - }, - "Endpoint": { + "ComputeArn": { + "markdownDescription": "The compute ARN of Spark EMR.", + "title": "ComputeArn", "type": "string" }, - "McpRoleArn": { + "InstanceProfileArn": { + "markdownDescription": "The instance profile ARN of Spark EMR.", + "title": "InstanceProfileArn", "type": "string" }, - "Name": { + "JavaVirtualEnv": { + "markdownDescription": "The java virtual env of the Spark EMR.", + "title": "JavaVirtualEnv", "type": "string" }, - "Region": { + "LogUri": { + "markdownDescription": "The log URI of the Spark EMR.", + "title": "LogUri", "type": "string" }, - "RoleArn": { + "ManagedEndpointArn": { + "markdownDescription": "", + "title": "ManagedEndpointArn", "type": "string" }, - "Service": { - "type": "string" - } - }, - "required": [ - "Endpoint", - "Name", - "Region", - "RoleArn", - "Service" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Service.RegisteredNewRelicDetails": { - "additionalProperties": false, - "properties": { - "AccountId": { + "PythonVirtualEnv": { + "markdownDescription": "The Python virtual env of the Spark EMR.", + "title": "PythonVirtualEnv", "type": "string" }, - "Description": { + "RuntimeRole": { + "markdownDescription": "The runtime role of the Spark EMR.", + "title": "RuntimeRole", "type": "string" }, - "Region": { + "TrustedCertificatesS3Uri": { + "markdownDescription": "The certificates S3 URI of the Spark EMR.", + "title": "TrustedCertificatesS3Uri", "type": "string" } }, - "required": [ - "AccountId", - "Region" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Service.RegisteredPagerDutyDetails": { - "additionalProperties": false, - "properties": { - "Scopes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Scopes" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.RegisteredServiceNowDetails": { + "AWS::DataZone::Connection.SparkGlueArgs": { "additionalProperties": false, "properties": { - "InstanceUrl": { + "Connection": { + "markdownDescription": "The connection in the Spark AWS Glue args.", + "title": "Connection", "type": "string" } }, - "required": [ - "InstanceUrl" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.ServiceDetails": { + "AWS::DataZone::Connection.SparkGluePropertiesInput": { "additionalProperties": false, "properties": { - "AzureIdentity": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.AzureIdentityServiceDetails" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.DynatraceServiceDetails" - }, - "GitLab": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.GitLabDetails" + "AdditionalArgs": { + "$ref": "#/definitions/AWS::DataZone::Connection.SparkGlueArgs", + "markdownDescription": "The additional args in the Spark AWS Glue properties.", + "title": "AdditionalArgs" }, - "MCPServer": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerDetails" + "GlueConnectionName": { + "markdownDescription": "The AWS Glue connection name in the Spark AWS Glue properties.", + "title": "GlueConnectionName", + "type": "string" }, - "MCPServerGrafana": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerGrafanaDetails" + "GlueVersion": { + "markdownDescription": "The AWS Glue version in the Spark AWS Glue properties.", + "title": "GlueVersion", + "type": "string" }, - "MCPServerNewRelic": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.NewRelicServiceDetails" + "IdleTimeout": { + "markdownDescription": "The idle timeout in the Spark AWS Glue properties.", + "title": "IdleTimeout", + "type": "number" }, - "MCPServerSigV4": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSigV4Details" + "JavaVirtualEnv": { + "markdownDescription": "The Java virtual env in the Spark AWS Glue properties.", + "title": "JavaVirtualEnv", + "type": "string" }, - "MCPServerSplunk": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSplunkDetails" + "NumberOfWorkers": { + "markdownDescription": "The number of workers in the Spark AWS Glue properties.", + "title": "NumberOfWorkers", + "type": "number" }, - "PagerDuty": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.PagerDutyDetails" + "PythonVirtualEnv": { + "markdownDescription": "The Python virtual env in the Spark AWS Glue properties.", + "title": "PythonVirtualEnv", + "type": "string" }, - "ServiceNow": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.ServiceNowServiceDetails" + "WorkerType": { + "markdownDescription": "The worker type in the Spark AWS Glue properties.", + "title": "WorkerType", + "type": "string" } }, "type": "object" }, - "AWS::DevOpsAgent::Service.ServiceNowAuthorizationConfig": { + "AWS::DataZone::Connection.UsernamePassword": { "additionalProperties": false, "properties": { - "OAuthClientCredentials": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.OAuthClientDetails" + "Password": { + "markdownDescription": "The password of a connection.", + "title": "Password", + "type": "string" + }, + "Username": { + "markdownDescription": "The username of a connection.", + "title": "Username", + "type": "string" } }, + "required": [ + "Password", + "Username" + ], "type": "object" }, - "AWS::DevOpsAgent::Service.ServiceNowServiceDetails": { + "AWS::DataZone::Connection.WorkflowsMwaaPropertiesInput": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.ServiceNowAuthorizationConfig" - }, - "InstanceUrl": { + "MwaaEnvironmentName": { "type": "string" } }, - "required": [ - "InstanceUrl" - ], "type": "object" }, - "AWS::DevOpsAgent::Trigger": { + "AWS::DataZone::DataSource": { "additionalProperties": false, "properties": { "Condition": { @@ -115523,33 +114733,86 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "object" + "AssetFormsInput": { + "items": { + "$ref": "#/definitions/AWS::DataZone::DataSource.FormInput" + }, + "markdownDescription": "The metadata forms attached to the assets that the data source works with.", + "title": "AssetFormsInput", + "type": "array" }, - "AgentSpaceId": { + "Configuration": { + "$ref": "#/definitions/AWS::DataZone::DataSource.DataSourceConfigurationInput", + "markdownDescription": "The configuration of the data source.", + "title": "Configuration" + }, + "ConnectionIdentifier": { + "markdownDescription": "", + "title": "ConnectionIdentifier", "type": "string" }, - "Condition": { - "$ref": "#/definitions/AWS::DevOpsAgent::Trigger.Condition" + "Description": { + "markdownDescription": "The description of the data source.", + "title": "Description", + "type": "string" }, - "Status": { + "DomainIdentifier": { + "markdownDescription": "The ID of the Amazon DataZone domain where the data source is created.", + "title": "DomainIdentifier", + "type": "string" + }, + "EnableSetting": { + "markdownDescription": "Specifies whether the data source is enabled.", + "title": "EnableSetting", + "type": "string" + }, + "EnvironmentIdentifier": { + "markdownDescription": "The unique identifier of the Amazon DataZone environment to which the data source publishes assets.", + "title": "EnvironmentIdentifier", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the data source.", + "title": "Name", + "type": "string" + }, + "ProjectIdentifier": { + "markdownDescription": "The identifier of the Amazon DataZone project in which you want to add this data source.", + "title": "ProjectIdentifier", "type": "string" }, + "PublishOnImport": { + "markdownDescription": "Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.", + "title": "PublishOnImport", + "type": "boolean" + }, + "Recommendation": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RecommendationConfiguration", + "markdownDescription": "Specifies whether the business name generation is to be enabled for this data source.", + "title": "Recommendation" + }, + "Schedule": { + "$ref": "#/definitions/AWS::DataZone::DataSource.ScheduleConfiguration", + "markdownDescription": "The schedule of the data source runs.", + "title": "Schedule" + }, "Type": { + "markdownDescription": "The type of the data source. In Amazon DataZone, you can use data sources to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone. In the current release of Amazon DataZone, you can create and run data sources for AWS Glue and Amazon Redshift.", + "title": "Type", "type": "string" } }, "required": [ - "Action", - "AgentSpaceId", - "Condition", + "DomainIdentifier", + "Name", + "ProjectIdentifier", "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::DevOpsAgent::Trigger" + "AWS::DataZone::DataSource" ], "type": "string" }, @@ -115568,323 +114831,267 @@ ], "type": "object" }, - "AWS::DevOpsAgent::Trigger.Condition": { + "AWS::DataZone::DataSource.DataSourceConfigurationInput": { "additionalProperties": false, "properties": { - "Schedule": { - "$ref": "#/definitions/AWS::DevOpsAgent::Trigger.Schedule" + "GlueRunConfiguration": { + "$ref": "#/definitions/AWS::DataZone::DataSource.GlueRunConfigurationInput", + "markdownDescription": "The configuration of the AWS Glue data source.", + "title": "GlueRunConfiguration" + }, + "RedshiftRunConfiguration": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftRunConfigurationInput", + "markdownDescription": "The configuration of the Amazon Redshift data source.", + "title": "RedshiftRunConfiguration" + }, + "SageMakerRunConfiguration": { + "$ref": "#/definitions/AWS::DataZone::DataSource.SageMakerRunConfigurationInput", + "markdownDescription": "", + "title": "SageMakerRunConfiguration" } }, - "required": [ - "Schedule" - ], "type": "object" }, - "AWS::DevOpsAgent::Trigger.Schedule": { + "AWS::DataZone::DataSource.FilterExpression": { "additionalProperties": false, "properties": { "Expression": { + "markdownDescription": "The search filter expression.", + "title": "Expression", + "type": "string" + }, + "Type": { + "markdownDescription": "The search filter explresison type.", + "title": "Type", "type": "string" } }, "required": [ - "Expression" + "Expression", + "Type" ], "type": "object" }, - "AWS::DevOpsGuru::LogAnomalyDetectionIntegration": { + "AWS::DataZone::DataSource.FormInput": { "additionalProperties": false, "properties": { - "Condition": { + "Content": { + "markdownDescription": "", + "title": "Content", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FormName": { + "markdownDescription": "", + "title": "FormName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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::DevOpsGuru::LogAnomalyDetectionIntegration" - ], + "TypeIdentifier": { + "markdownDescription": "", + "title": "TypeIdentifier", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TypeRevision": { + "markdownDescription": "", + "title": "TypeRevision", "type": "string" } }, "required": [ - "Type" + "FormName" ], "type": "object" }, - "AWS::DevOpsGuru::NotificationChannel": { + "AWS::DataZone::DataSource.GlueRunConfigurationInput": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "AutoImportDataQualityResult": { + "markdownDescription": "Specifies whether to automatically import data quality metrics as part of the data source run.", + "title": "AutoImportDataQualityResult", + "type": "boolean" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CatalogName": { + "markdownDescription": "", + "title": "CatalogName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Config": { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig", - "markdownDescription": "A `NotificationChannelConfig` object that contains information about configured notification channels.", - "title": "Config" - } - }, - "required": [ - "Config" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsGuru::NotificationChannel" - ], + "DataAccessRole": { + "markdownDescription": "The data access role included in the configuration details of the AWS Glue data source.", + "title": "DataAccessRole", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "RelationalFilterConfigurations": { + "items": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RelationalFilterConfiguration" + }, + "markdownDescription": "The relational filter configurations included in the configuration details of the AWS Glue data source.", + "title": "RelationalFilterConfigurations", + "type": "array" } }, "required": [ - "Type", - "Properties" + "RelationalFilterConfigurations" ], "type": "object" }, - "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { + "AWS::DataZone::DataSource.RecommendationConfiguration": { "additionalProperties": false, "properties": { - "Filters": { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationFilterConfig", - "markdownDescription": "The filter configurations for the Amazon SNS notification topic you use with DevOps Guru. If you do not provide filter configurations, the default configurations are to receive notifications for all message types of `High` or `Medium` severity.", - "title": "Filters" - }, - "Sns": { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig", - "markdownDescription": "Information about a notification channel configured in DevOps Guru to send notifications when insights are created.\n\nIf you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission to send it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. DevOps Guru only supports standard SNS topics. For more information, see [Permissions for Amazon SNS topics](https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html) .\n\nIf you use an Amazon SNS topic that is encrypted by an AWS Key Management Service customer-managed key (CMK), then you must add permissions to the CMK. For more information, see [Permissions for AWS KMS\u2013encrypted Amazon SNS topics](https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html) .", - "title": "Sns" + "EnableBusinessNameGeneration": { + "markdownDescription": "Specifies whether automatic business name generation is to be enabled or not as part of the recommendation configuration.", + "title": "EnableBusinessNameGeneration", + "type": "boolean" } }, "type": "object" }, - "AWS::DevOpsGuru::NotificationChannel.NotificationFilterConfig": { + "AWS::DataZone::DataSource.RedshiftClusterStorage": { "additionalProperties": false, "properties": { - "MessageTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The events that you want to receive notifications for. For example, you can choose to receive notifications only when the severity level is upgraded or a new insight is created.", - "title": "MessageTypes", - "type": "array" - }, - "Severities": { - "items": { - "type": "string" - }, - "markdownDescription": "The severity levels that you want to receive notifications for. For example, you can choose to receive notifications only for insights with `HIGH` and `MEDIUM` severity levels. For more information, see [Understanding insight severities](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-insights.html#understanding-insights-severities) .", - "title": "Severities", - "type": "array" + "ClusterName": { + "markdownDescription": "The name of an Amazon Redshift cluster.", + "title": "ClusterName", + "type": "string" } }, + "required": [ + "ClusterName" + ], "type": "object" }, - "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { + "AWS::DataZone::DataSource.RedshiftCredentialConfiguration": { "additionalProperties": false, "properties": { - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an Amazon Simple Notification Service topic.", - "title": "TopicArn", + "SecretManagerArn": { + "markdownDescription": "The ARN of a secret manager for an Amazon Redshift cluster.", + "title": "SecretManagerArn", "type": "string" } }, + "required": [ + "SecretManagerArn" + ], "type": "object" }, - "AWS::DevOpsGuru::ResourceCollection": { + "AWS::DataZone::DataSource.RedshiftRunConfigurationInput": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DataAccessRole": { + "markdownDescription": "The data access role included in the configuration details of the Amazon Redshift data source.", + "title": "DataAccessRole", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "RedshiftCredentialConfiguration": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftCredentialConfiguration", + "markdownDescription": "The details of the credentials required to access an Amazon Redshift cluster.", + "title": "RedshiftCredentialConfiguration" }, - "Metadata": { - "type": "object" + "RedshiftStorage": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftStorage", + "markdownDescription": "The details of the Amazon Redshift storage as part of the configuration of an Amazon Redshift data source run.", + "title": "RedshiftStorage" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceCollectionFilter": { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter", - "markdownDescription": "Information about a filter used to specify which AWS resources are analyzed for anomalous behavior by DevOps Guru.", - "title": "ResourceCollectionFilter" - } + "RelationalFilterConfigurations": { + "items": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RelationalFilterConfiguration" }, - "required": [ - "ResourceCollectionFilter" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsGuru::ResourceCollection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "markdownDescription": "The relational filter configurations included in the configuration details of the AWS Glue data source.", + "title": "RelationalFilterConfigurations", + "type": "array" + } + }, + "required": [ + "RelationalFilterConfigurations" + ], + "type": "object" + }, + "AWS::DataZone::DataSource.RedshiftServerlessStorage": { + "additionalProperties": false, + "properties": { + "WorkgroupName": { + "markdownDescription": "The name of the Amazon Redshift Serverless workgroup.", + "title": "WorkgroupName", "type": "string" } }, "required": [ - "Type", - "Properties" + "WorkgroupName" ], "type": "object" }, - "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { + "AWS::DataZone::DataSource.RedshiftStorage": { "additionalProperties": false, "properties": { - "StackNames": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of CloudFormation stack names.", - "title": "StackNames", - "type": "array" + "RedshiftClusterSource": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftClusterStorage", + "markdownDescription": "The details of the Amazon Redshift cluster source.", + "title": "RedshiftClusterSource" + }, + "RedshiftServerlessSource": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftServerlessStorage", + "markdownDescription": "The details of the Amazon Redshift Serverless workgroup source.", + "title": "RedshiftServerlessSource" } }, "type": "object" }, - "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { + "AWS::DataZone::DataSource.RelationalFilterConfiguration": { "additionalProperties": false, "properties": { - "CloudFormation": { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter", - "markdownDescription": "Information about AWS CloudFormation stacks. You can use up to 1000 stacks to specify which AWS resources in your account to analyze. For more information, see [Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html) in the *AWS CloudFormation User Guide* .", - "title": "CloudFormation" + "DatabaseName": { + "markdownDescription": "The database name specified in the relational filter configuration for the data source.", + "title": "DatabaseName", + "type": "string" }, - "Tags": { + "FilterExpressions": { "items": { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.TagCollection" + "$ref": "#/definitions/AWS::DataZone::DataSource.FilterExpression" }, - "markdownDescription": "The AWS tags used to filter the resources in the resource collection.\n\nTags help you identify and organize your AWS resources. Many AWS services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an AWS Lambda function. For more information about using tags, see the [Tagging best practices](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) whitepaper.\n\nEach AWS tag has two parts.\n\n- A tag *key* (for example, `CostCenter` , `Environment` , `Project` , or `Secret` ). Tag *keys* are case-sensitive.\n- A field known as a tag *value* (for example, `111122223333` , `Production` , or a team name). Omitting the tag *value* is the same as using an empty string. Like tag *keys* , tag *values* are case-sensitive. The tag value is a required property when AppBoundaryKey is specified.\n\nTogether these are known as *key* - *value* pairs.\n\n> The string used for a *key* in a tag that you use to define your resource coverage must begin with the prefix `Devops-guru-` . The tag *key* might be `DevOps-Guru-deployment-application` or `devops-guru-rds-application` . When you create a *key* , the case of characters in the *key* can be whatever you choose. After you create a *key* , it is case-sensitive. For example, DevOps Guru works with a *key* named `devops-guru-rds` and a *key* named `DevOps-Guru-RDS` , and these act as two different *keys* . Possible *key* / *value* pairs in your application might be `Devops-Guru-production-application/RDS` or `Devops-Guru-production-application/containers` .", - "title": "Tags", + "markdownDescription": "The filter expressions specified in the relational filter configuration for the data source.", + "title": "FilterExpressions", "type": "array" + }, + "SchemaName": { + "markdownDescription": "The schema name specified in the relational filter configuration for the data source.", + "title": "SchemaName", + "type": "string" } }, + "required": [ + "DatabaseName" + ], "type": "object" }, - "AWS::DevOpsGuru::ResourceCollection.TagCollection": { + "AWS::DataZone::DataSource.SageMakerRunConfigurationInput": { "additionalProperties": false, "properties": { - "AppBoundaryKey": { - "markdownDescription": "An AWS tag *key* that is used to identify the AWS resources that DevOps Guru analyzes. All AWS resources in your account and Region tagged with this *key* make up your DevOps Guru application and analysis boundary.\n\n> When you create a *key* , the case of characters in the *key* can be whatever you choose. After you create a *key* , it is case-sensitive. For example, DevOps Guru works with a *key* named `devops-guru-rds` and a *key* named `DevOps-Guru-RDS` , and these act as two different *keys* . Possible *key* / *value* pairs in your application might be `Devops-Guru-production-application/RDS` or `Devops-Guru-production-application/containers` .", - "title": "AppBoundaryKey", + "TrackingAssets": { + "markdownDescription": "", + "title": "TrackingAssets", + "type": "object" + } + }, + "required": [ + "TrackingAssets" + ], + "type": "object" + }, + "AWS::DataZone::DataSource.ScheduleConfiguration": { + "additionalProperties": false, + "properties": { + "Schedule": { + "markdownDescription": "The schedule of the data source runs.", + "title": "Schedule", "type": "string" }, - "TagValues": { - "items": { - "type": "string" - }, - "markdownDescription": "The values in an AWS tag collection.\n\nThe tag's *value* is a field used to associate a string with the tag *key* (for example, `111122223333` , `Production` , or a team name). The *key* and *value* are the tag's *key* pair. Omitting the tag *value* is the same as using an empty string. Like tag *keys* , tag *values* are case-sensitive. You can specify a maximum of 256 characters for a tag value. The tag value is a required property when *AppBoundaryKey* is specified.", - "title": "TagValues", - "type": "array" + "Timezone": { + "markdownDescription": "The timezone of the data source run.", + "title": "Timezone", + "type": "string" } }, "type": "object" }, - "AWS::DirectConnect::Connection": { + "AWS::DataZone::Domain": { "additionalProperties": false, "properties": { "Condition": { @@ -115919,41 +115126,58 @@ "Properties": { "additionalProperties": false, "properties": { - "Bandwidth": { + "Description": { + "markdownDescription": "The description of the Amazon DataZone domain.", + "title": "Description", "type": "string" }, - "ConnectionName": { + "DomainExecutionRole": { + "markdownDescription": "The domain execution role that is created when an Amazon DataZone domain is created. The domain execution role is created in the AWS account that houses the Amazon DataZone domain.", + "title": "DomainExecutionRole", "type": "string" }, - "LagId": { + "DomainVersion": { + "markdownDescription": "The domain version.", + "title": "DomainVersion", "type": "string" }, - "Location": { + "KmsKeyIdentifier": { + "markdownDescription": "The identifier of the AWS Key Management Service (KMS) key that is used to encrypt the Amazon DataZone domain, metadata, and reporting data.", + "title": "KmsKeyIdentifier", "type": "string" }, - "ProviderName": { + "Name": { + "markdownDescription": "The name of the Amazon DataZone domain.", + "title": "Name", "type": "string" }, - "RequestMACSec": { - "type": "boolean" + "ServiceRole": { + "markdownDescription": "The service role of the domain.", + "title": "ServiceRole", + "type": "string" + }, + "SingleSignOn": { + "$ref": "#/definitions/AWS::DataZone::Domain.SingleSignOn", + "markdownDescription": "The single sign-on details in Amazon DataZone.", + "title": "SingleSignOn" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags specified for the Amazon DataZone domain.", + "title": "Tags", "type": "array" } }, "required": [ - "Bandwidth", - "ConnectionName", - "Location" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectConnect::Connection" + "AWS::DataZone::Domain" ], "type": "string" }, @@ -115972,7 +115196,28 @@ ], "type": "object" }, - "AWS::DirectConnect::DirectConnectGateway": { + "AWS::DataZone::Domain.SingleSignOn": { + "additionalProperties": false, + "properties": { + "IdcInstanceArn": { + "markdownDescription": "The ARN of the IDC instance.", + "title": "IdcInstanceArn", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of single sign-on in Amazon DataZone.", + "title": "Type", + "type": "string" + }, + "UserAssignment": { + "markdownDescription": "The single sign-on user assignment in Amazon DataZone.", + "title": "UserAssignment", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::DomainUnit": { "additionalProperties": false, "properties": { "Condition": { @@ -116007,27 +115252,37 @@ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { + "Description": { + "markdownDescription": "The description of the domain unit.", + "title": "Description", "type": "string" }, - "DirectConnectGatewayName": { + "DomainIdentifier": { + "markdownDescription": "The ID of the domain where you want to crate a domain unit.", + "title": "DomainIdentifier", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Name": { + "markdownDescription": "The name of the domain unit.", + "title": "Name", + "type": "string" + }, + "ParentDomainUnitIdentifier": { + "markdownDescription": "The ID of the parent domain unit.", + "title": "ParentDomainUnitIdentifier", + "type": "string" } }, "required": [ - "DirectConnectGatewayName" + "DomainIdentifier", + "Name", + "ParentDomainUnitIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectConnect::DirectConnectGateway" + "AWS::DataZone::DomainUnit" ], "type": "string" }, @@ -116046,7 +115301,7 @@ ], "type": "object" }, - "AWS::DirectConnect::DirectConnectGatewayAssociation": { + "AWS::DataZone::Environment": { "additionalProperties": false, "properties": { "Condition": { @@ -116081,31 +115336,82 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptDirectConnectGatewayAssociationProposalRoleArn": { + "DeploymentOrder": { + "type": "number" + }, + "Description": { + "markdownDescription": "The description of the environment.", + "title": "Description", "type": "string" }, - "AllowedPrefixesToDirectConnectGateway": { + "DomainIdentifier": { + "markdownDescription": "The identifier of the Amazon DataZone domain in which the environment is created.", + "title": "DomainIdentifier", + "type": "string" + }, + "EnvironmentAccountIdentifier": { + "markdownDescription": "The identifier of the AWS account in which an environment exists.", + "title": "EnvironmentAccountIdentifier", + "type": "string" + }, + "EnvironmentAccountRegion": { + "markdownDescription": "The AWS Region in which an environment exists.", + "title": "EnvironmentAccountRegion", + "type": "string" + }, + "EnvironmentBlueprintIdentifier": { + "type": "string" + }, + "EnvironmentConfigurationId": { + "type": "string" + }, + "EnvironmentProfileIdentifier": { + "markdownDescription": "The identifier of the environment profile that is used to create this Amazon DataZone environment.", + "title": "EnvironmentProfileIdentifier", + "type": "string" + }, + "EnvironmentRoleArn": { + "markdownDescription": "The ARN of the environment role.", + "title": "EnvironmentRoleArn", + "type": "string" + }, + "GlossaryTerms": { "items": { "type": "string" }, + "markdownDescription": "The glossary terms that can be used in this Amazon DataZone environment.", + "title": "GlossaryTerms", "type": "array" }, - "AssociatedGatewayId": { + "Name": { + "markdownDescription": "The name of the Amazon DataZone environment.", + "title": "Name", "type": "string" }, - "DirectConnectGatewayId": { + "ProjectIdentifier": { + "markdownDescription": "The identifier of the Amazon DataZone project in which this environment is created.", + "title": "ProjectIdentifier", "type": "string" + }, + "UserParameters": { + "items": { + "$ref": "#/definitions/AWS::DataZone::Environment.EnvironmentParameter" + }, + "markdownDescription": "The user parameters of this Amazon DataZone environment.", + "title": "UserParameters", + "type": "array" } }, "required": [ - "AssociatedGatewayId", - "DirectConnectGatewayId" + "DomainIdentifier", + "Name", + "ProjectIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectConnect::DirectConnectGatewayAssociation" + "AWS::DataZone::Environment" ], "type": "string" }, @@ -116124,7 +115430,23 @@ ], "type": "object" }, - "AWS::DirectConnect::Lag": { + "AWS::DataZone::Environment.EnvironmentParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the environment parameter.", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the environment parameter.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::EnvironmentActions": { "additionalProperties": false, "properties": { "Condition": { @@ -116159,41 +115481,45 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionsBandwidth": { + "Description": { + "markdownDescription": "The environment action description.", + "title": "Description", "type": "string" }, - "LagName": { + "DomainIdentifier": { + "markdownDescription": "The Amazon DataZone domain ID of the environment action.", + "title": "DomainIdentifier", "type": "string" }, - "Location": { + "EnvironmentIdentifier": { + "markdownDescription": "The environment ID of the environment action.", + "title": "EnvironmentIdentifier", "type": "string" }, - "MinimumLinks": { - "type": "number" - }, - "ProviderName": { + "Identifier": { + "markdownDescription": "The ID of the environment action.", + "title": "Identifier", "type": "string" }, - "RequestMACSec": { - "type": "boolean" + "Name": { + "markdownDescription": "The name of the environment action.", + "title": "Name", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Parameters": { + "$ref": "#/definitions/AWS::DataZone::EnvironmentActions.AwsConsoleLinkParameters", + "markdownDescription": "The parameters of the environment action.", + "title": "Parameters" } }, "required": [ - "ConnectionsBandwidth", - "LagName", - "Location" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectConnect::Lag" + "AWS::DataZone::EnvironmentActions" ], "type": "string" }, @@ -116212,7 +115538,18 @@ ], "type": "object" }, - "AWS::DirectConnect::PrivateVirtualInterface": { + "AWS::DataZone::EnvironmentActions.AwsConsoleLinkParameters": { + "additionalProperties": false, + "properties": { + "Uri": { + "markdownDescription": "The URI of the console link specified as part of the environment action.", + "title": "Uri", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::EnvironmentBlueprintConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -116247,57 +115584,75 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocatePrivateVirtualInterfaceRoleArn": { + "DomainIdentifier": { + "markdownDescription": "The identifier of the Amazon DataZone domain in which an environment blueprint exists.", + "title": "DomainIdentifier", "type": "string" }, - "BgpPeers": { + "EnabledRegions": { "items": { - "$ref": "#/definitions/AWS::DirectConnect::PrivateVirtualInterface.BgpPeer" + "type": "string" }, + "markdownDescription": "The enabled AWS Regions specified in a blueprint configuration.", + "title": "EnabledRegions", "type": "array" }, - "ConnectionId": { + "EnvironmentBlueprintIdentifier": { + "markdownDescription": "The identifier of the environment blueprint.\n\nIn the current release, only the following values are supported: `DefaultDataLake` and `DefaultDataWarehouse` .", + "title": "EnvironmentBlueprintIdentifier", "type": "string" }, - "DirectConnectGatewayId": { + "EnvironmentRolePermissionBoundary": { + "markdownDescription": "The environment role permission boundary.", + "title": "EnvironmentRolePermissionBoundary", "type": "string" }, - "EnableSiteLink": { - "type": "boolean" - }, - "Mtu": { - "type": "number" + "GlobalParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "RateLimit": { + "ManageAccessRoleArn": { + "markdownDescription": "The ARN of the manage access role.", + "title": "ManageAccessRoleArn", "type": "string" }, - "Tags": { + "ProvisioningConfigurations": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::DataZone::EnvironmentBlueprintConfiguration.ProvisioningConfiguration" }, + "markdownDescription": "The provisioning configuration of a blueprint.", + "title": "ProvisioningConfigurations", "type": "array" }, - "VirtualGatewayId": { - "type": "string" - }, - "VirtualInterfaceName": { + "ProvisioningRoleArn": { + "markdownDescription": "The ARN of the provisioning role.", + "title": "ProvisioningRoleArn", "type": "string" }, - "Vlan": { - "type": "number" + "RegionalParameters": { + "items": { + "$ref": "#/definitions/AWS::DataZone::EnvironmentBlueprintConfiguration.RegionalParameter" + }, + "markdownDescription": "The regional parameters of the environment blueprint.", + "title": "RegionalParameters", + "type": "array" } }, "required": [ - "BgpPeers", - "ConnectionId", - "VirtualInterfaceName", - "Vlan" + "DomainIdentifier", + "EnabledRegions", + "EnvironmentBlueprintIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectConnect::PrivateVirtualInterface" + "AWS::DataZone::EnvironmentBlueprintConfiguration" ], "type": "string" }, @@ -116316,35 +115671,62 @@ ], "type": "object" }, - "AWS::DirectConnect::PrivateVirtualInterface.BgpPeer": { + "AWS::DataZone::EnvironmentBlueprintConfiguration.LakeFormationConfiguration": { "additionalProperties": false, "properties": { - "AddressFamily": { - "type": "string" - }, - "AmazonAddress": { - "type": "string" - }, - "Asn": { - "type": "string" - }, - "AuthKey": { - "type": "string" - }, - "BgpPeerId": { - "type": "string" + "LocationRegistrationExcludeS3Locations": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies certain Amazon S3 locations if you do not want Amazon DataZone to automatically register them in hybrid mode.", + "title": "LocationRegistrationExcludeS3Locations", + "type": "array" }, - "CustomerAddress": { + "LocationRegistrationRole": { + "markdownDescription": "The role that is used to manage read/write access to the chosen Amazon S3 bucket(s) for Data Lake using AWS Lake Formation hybrid access mode.", + "title": "LocationRegistrationRole", "type": "string" } }, + "type": "object" + }, + "AWS::DataZone::EnvironmentBlueprintConfiguration.ProvisioningConfiguration": { + "additionalProperties": false, + "properties": { + "LakeFormationConfiguration": { + "$ref": "#/definitions/AWS::DataZone::EnvironmentBlueprintConfiguration.LakeFormationConfiguration", + "markdownDescription": "The Lake Formation configuration of the Data Lake blueprint.", + "title": "LakeFormationConfiguration" + } + }, "required": [ - "AddressFamily", - "Asn" + "LakeFormationConfiguration" ], "type": "object" }, - "AWS::DirectConnect::PublicVirtualInterface": { + "AWS::DataZone::EnvironmentBlueprintConfiguration.RegionalParameter": { + "additionalProperties": false, + "properties": { + "Parameters": { + "additionalProperties": true, + "markdownDescription": "A string to string map containing parameters for the region.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Parameters", + "type": "object" + }, + "Region": { + "markdownDescription": "The region specified in the environment parameter.", + "title": "Region", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::EnvironmentProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -116379,51 +115761,63 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocatePublicVirtualInterfaceRoleArn": { + "AwsAccountId": { + "markdownDescription": "The identifier of an AWS account in which an environment profile exists.", + "title": "AwsAccountId", "type": "string" }, - "BgpPeers": { - "items": { - "$ref": "#/definitions/AWS::DirectConnect::PublicVirtualInterface.BgpPeer" - }, - "type": "array" + "AwsAccountRegion": { + "markdownDescription": "The AWS Region in which an environment profile exists.", + "title": "AwsAccountRegion", + "type": "string" }, - "ConnectionId": { + "Description": { + "markdownDescription": "The description of the environment profile.", + "title": "Description", "type": "string" }, - "RateLimit": { + "DomainIdentifier": { + "markdownDescription": "The identifier of the Amazon DataZone domain in which the environment profile exists.", + "title": "DomainIdentifier", "type": "string" }, - "RouteFilterPrefixes": { - "items": { - "type": "string" - }, - "type": "array" + "EnvironmentBlueprintIdentifier": { + "markdownDescription": "The identifier of a blueprint with which an environment profile is created.", + "title": "EnvironmentBlueprintIdentifier", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Name": { + "markdownDescription": "The name of the environment profile.", + "title": "Name", + "type": "string" }, - "VirtualInterfaceName": { + "ProjectIdentifier": { + "markdownDescription": "The identifier of a project in which an environment profile exists.", + "title": "ProjectIdentifier", "type": "string" }, - "Vlan": { - "type": "number" + "UserParameters": { + "items": { + "$ref": "#/definitions/AWS::DataZone::EnvironmentProfile.EnvironmentParameter" + }, + "markdownDescription": "The user parameters of this Amazon DataZone environment profile.", + "title": "UserParameters", + "type": "array" } }, "required": [ - "BgpPeers", - "ConnectionId", - "VirtualInterfaceName", - "Vlan" + "AwsAccountId", + "AwsAccountRegion", + "DomainIdentifier", + "EnvironmentBlueprintIdentifier", + "Name", + "ProjectIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectConnect::PublicVirtualInterface" + "AWS::DataZone::EnvironmentProfile" ], "type": "string" }, @@ -116442,35 +115836,23 @@ ], "type": "object" }, - "AWS::DirectConnect::PublicVirtualInterface.BgpPeer": { + "AWS::DataZone::EnvironmentProfile.EnvironmentParameter": { "additionalProperties": false, "properties": { - "AddressFamily": { - "type": "string" - }, - "AmazonAddress": { - "type": "string" - }, - "Asn": { - "type": "string" - }, - "AuthKey": { - "type": "string" - }, - "BgpPeerId": { + "Name": { + "markdownDescription": "The name specified in the environment parameter.", + "title": "Name", "type": "string" }, - "CustomerAddress": { + "Value": { + "markdownDescription": "The value of the environment profile.", + "title": "Value", "type": "string" } }, - "required": [ - "AddressFamily", - "Asn" - ], "type": "object" }, - "AWS::DirectConnect::TransitVirtualInterface": { + "AWS::DataZone::FormType": { "additionalProperties": false, "properties": { "Condition": { @@ -116505,55 +115887,48 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocateTransitVirtualInterfaceRoleArn": { - "type": "string" - }, - "BgpPeers": { - "items": { - "$ref": "#/definitions/AWS::DirectConnect::TransitVirtualInterface.BgpPeer" - }, - "type": "array" - }, - "ConnectionId": { + "Description": { + "markdownDescription": "The description of the metadata form type.", + "title": "Description", "type": "string" }, - "DirectConnectGatewayId": { + "DomainIdentifier": { + "markdownDescription": "The identifier of the Amazon DataZone domain in which the form type exists.", + "title": "DomainIdentifier", "type": "string" }, - "EnableSiteLink": { - "type": "boolean" - }, - "Mtu": { - "type": "number" + "Model": { + "$ref": "#/definitions/AWS::DataZone::FormType.Model", + "markdownDescription": "The model of the form type.", + "title": "Model" }, - "RateLimit": { + "Name": { + "markdownDescription": "The name of the form type.", + "title": "Name", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualInterfaceName": { + "OwningProjectIdentifier": { + "markdownDescription": "The identifier of the project that owns the form type.", + "title": "OwningProjectIdentifier", "type": "string" }, - "Vlan": { - "type": "number" + "Status": { + "markdownDescription": "The status of the form type.", + "title": "Status", + "type": "string" } }, "required": [ - "BgpPeers", - "ConnectionId", - "DirectConnectGatewayId", - "VirtualInterfaceName", - "Vlan" + "DomainIdentifier", + "Model", + "Name", + "OwningProjectIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectConnect::TransitVirtualInterface" + "AWS::DataZone::FormType" ], "type": "string" }, @@ -116572,35 +115947,18 @@ ], "type": "object" }, - "AWS::DirectConnect::TransitVirtualInterface.BgpPeer": { + "AWS::DataZone::FormType.Model": { "additionalProperties": false, "properties": { - "AddressFamily": { - "type": "string" - }, - "AmazonAddress": { - "type": "string" - }, - "Asn": { - "type": "string" - }, - "AuthKey": { - "type": "string" - }, - "BgpPeerId": { - "type": "string" - }, - "CustomerAddress": { + "Smithy": { + "markdownDescription": "", + "title": "Smithy", "type": "string" } }, - "required": [ - "AddressFamily", - "Asn" - ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD": { + "AWS::DataZone::GroupProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -116635,52 +115993,36 @@ "Properties": { "additionalProperties": false, "properties": { - "CreateAlias": { - "markdownDescription": "Specifies an alias for a directory and assigns the alias to the directory. The alias is used to construct the access URL for the directory, such as `http://.awsapps.com` . By default, CloudFormation does not create an alias.\n\n> After an alias has been created, it cannot be deleted or reused, so this operation should only be used when absolutely necessary.", - "title": "CreateAlias", - "type": "boolean" - }, - "Edition": { - "markdownDescription": "AWS Managed Microsoft AD is available in two editions: `Standard` and `Enterprise` . `Enterprise` is the default.", - "title": "Edition", + "DomainIdentifier": { + "markdownDescription": "The identifier of the Amazon DataZone domain in which a group profile exists.", + "title": "DomainIdentifier", "type": "string" }, - "EnableSso": { - "markdownDescription": "Whether to enable single sign-on for a Microsoft Active Directory in AWS . Single sign-on allows users in your directory to access certain AWS services from a computer joined to the directory without having to enter their credentials separately. If you don't specify a value, CloudFormation disables single sign-on by default.", - "title": "EnableSso", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The fully qualified domain name for the AWS Managed Microsoft AD directory, such as `corp.example.com` . This name will resolve inside your VPC only. It does not need to be publicly resolvable.", - "title": "Name", + "GroupIdentifier": { + "markdownDescription": "The ID of the group of a project member.", + "title": "GroupIdentifier", "type": "string" }, - "Password": { - "markdownDescription": "The password for the default administrative user named `Admin` .\n\nIf you need to change the password for the administrator account, see the [ResetUserPassword](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_ResetUserPassword.html) API call in the *Directory Service API Reference* .", - "title": "Password", + "GroupType": { "type": "string" }, - "ShortName": { - "markdownDescription": "The NetBIOS name for your domain, such as `CORP` . If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, `CORP` for the directory DNS `corp.example.com` .", - "title": "ShortName", + "RolePrincipalArn": { "type": "string" }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings", - "markdownDescription": "Specifies the VPC settings of the Microsoft AD directory server in AWS .", - "title": "VpcSettings" + "Status": { + "markdownDescription": "The status of a group profile.", + "title": "Status", + "type": "string" } }, "required": [ - "Name", - "Password", - "VpcSettings" + "DomainIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectoryService::MicrosoftAD" + "AWS::DataZone::GroupProfile" ], "type": "string" }, @@ -116699,30 +116041,7 @@ ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The identifiers of the subnets for the directory servers. The two subnets must be in different Availability Zones. Directory Service specifies a directory server and a DNS server in each of these subnets.", - "title": "SubnetIds", - "type": "array" - }, - "VpcId": { - "markdownDescription": "The identifier of the VPC in which to create the directory.", - "title": "VpcId", - "type": "string" - } - }, - "required": [ - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "AWS::DirectoryService::SimpleAD": { + "AWS::DataZone::Owner": { "additionalProperties": false, "properties": { "Condition": { @@ -116757,63 +116076,38 @@ "Properties": { "additionalProperties": false, "properties": { - "CreateAlias": { - "markdownDescription": "If set to `true` , specifies an alias for a directory and assigns the alias to the directory. The alias is used to construct the access URL for the directory, such as `http://.awsapps.com` . By default, this property is set to `false` .\n\n> After an alias has been created, it cannot be deleted or reused, so this operation should only be used when absolutely necessary.", - "title": "CreateAlias", - "type": "boolean" - }, - "Description": { - "markdownDescription": "A description for the directory.", - "title": "Description", - "type": "string" - }, - "EnableSso": { - "markdownDescription": "Whether to enable single sign-on for a directory. If you don't specify a value, CloudFormation disables single sign-on by default.", - "title": "EnableSso", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The fully qualified name for the directory, such as `corp.example.com` .", - "title": "Name", - "type": "string" - }, - "Password": { - "markdownDescription": "The password for the directory administrator. The directory creation process creates a directory administrator account with the user name `Administrator` and this password.\n\nIf you need to change the password for the administrator account, see the [ResetUserPassword](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_ResetUserPassword.html) API call in the *Directory Service API Reference* .", - "title": "Password", + "DomainIdentifier": { + "markdownDescription": "The ID of the domain in which you want to add the entity owner.", + "title": "DomainIdentifier", "type": "string" }, - "ShortName": { - "markdownDescription": "The NetBIOS name of the directory, such as `CORP` .", - "title": "ShortName", + "EntityIdentifier": { + "markdownDescription": "The ID of the entity to which you want to add an owner.", + "title": "EntityIdentifier", "type": "string" }, - "Size": { - "markdownDescription": "The size of the directory. For valid values, see [CreateDirectory](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_CreateDirectory.html) in the *Directory Service API Reference* .", - "title": "Size", + "EntityType": { + "markdownDescription": "The type of an entity.", + "title": "EntityType", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings", - "markdownDescription": "A [DirectoryVpcSettings](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_DirectoryVpcSettings.html) object that contains additional information for the operation.", - "title": "VpcSettings" + "Owner": { + "$ref": "#/definitions/AWS::DataZone::Owner.OwnerProperties", + "markdownDescription": "The owner that you want to add to the entity.", + "title": "Owner" } }, "required": [ - "Name", - "Size", - "VpcSettings" + "DomainIdentifier", + "EntityIdentifier", + "EntityType", + "Owner" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectoryService::SimpleAD" + "AWS::DataZone::Owner" ], "type": "string" }, @@ -116832,34 +116126,49 @@ ], "type": "object" }, - "AWS::DirectoryService::SimpleAD.VpcSettings": { + "AWS::DataZone::Owner.OwnerGroupProperties": { "additionalProperties": false, "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The identifiers of the subnets for the directory servers. The two subnets must be in different Availability Zones. Directory Service specifies a directory server and a DNS server in each of these subnets.", - "title": "SubnetIds", - "type": "array" - }, - "VpcId": { - "markdownDescription": "The identifier of the VPC in which to create the directory.", - "title": "VpcId", + "GroupIdentifier": { + "markdownDescription": "The ID of the domain unit owners group.", + "title": "GroupIdentifier", "type": "string" } }, - "required": [ - "SubnetIds", - "VpcId" - ], "type": "object" }, - "AWS::DocDB::DBCluster": { + "AWS::DataZone::Owner.OwnerProperties": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Group": { + "$ref": "#/definitions/AWS::DataZone::Owner.OwnerGroupProperties", + "markdownDescription": "Specifies that the domain unit owner is a group.", + "title": "Group" + }, + "User": { + "$ref": "#/definitions/AWS::DataZone::Owner.OwnerUserProperties", + "markdownDescription": "Specifies that the domain unit owner is a user.", + "title": "User" + } + }, + "type": "object" + }, + "AWS::DataZone::Owner.OwnerUserProperties": { + "additionalProperties": false, + "properties": { + "UserIdentifier": { + "markdownDescription": "The ID of the owner user.", + "title": "UserIdentifier", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" }, "DeletionPolicy": { "enum": [ @@ -116890,174 +116199,48 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of Amazon EC2 Availability Zones that instances in the cluster can be created in.", - "title": "AvailabilityZones", - "type": "array" - }, - "BackupRetentionPeriod": { - "markdownDescription": "The number of days for which automated backups are retained. You must specify a minimum value of 1.\n\nDefault: 1\n\nConstraints:\n\n- Must be a value from 1 to 35.", - "title": "BackupRetentionPeriod", - "type": "number" - }, - "CopyTagsToSnapshot": { - "markdownDescription": "Set to `true` to copy all tags from the source cluster snapshot to the target cluster snapshot, and otherwise `false` . The default is `false` .", - "title": "CopyTagsToSnapshot", - "type": "boolean" - }, - "DBClusterIdentifier": { - "markdownDescription": "The cluster identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n- Must contain from 1 to 63 letters, numbers, or hyphens.\n- The first character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n\nExample: `my-cluster`", - "title": "DBClusterIdentifier", - "type": "string" - }, - "DBClusterParameterGroupName": { - "markdownDescription": "The name of the cluster parameter group to associate with this cluster.", - "title": "DBClusterParameterGroupName", - "type": "string" - }, - "DBSubnetGroupName": { - "markdownDescription": "A subnet group to associate with this cluster.\n\nConstraints: Must match the name of an existing `DBSubnetGroup` . Must not be default.\n\nExample: `mySubnetgroup`", - "title": "DBSubnetGroupName", - "type": "string" - }, - "DeletionProtection": { - "markdownDescription": "Protects clusters from being accidentally deleted. If enabled, the cluster cannot be deleted unless it is modified and `DeletionProtection` is disabled.", - "title": "DeletionProtection", - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of log types that need to be enabled for exporting to Amazon CloudWatch Logs. You can enable audit logs or profiler logs. For more information, see [Auditing Amazon DocumentDB Events](https://docs.aws.amazon.com/documentdb/latest/developerguide/event-auditing.html) and [Profiling Amazon DocumentDB Operations](https://docs.aws.amazon.com/documentdb/latest/developerguide/profiling.html) .", - "title": "EnableCloudwatchLogsExports", - "type": "array" - }, - "EngineVersion": { - "markdownDescription": "The version number of the database engine to use. The `--engine-version` will default to the latest major engine version. For production workloads, we recommend explicitly declaring this parameter with the intended major engine version.\n\nIf you intend to trigger an in-place upgrade, please refer to [Amazon DocumentDB in-place major version upgrade](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-mvu.html) . Note that for an in-place engine version upgrade, you need to remove other cluster properties changes (e.g. SecurityGroupId) from the CFN template.", - "title": "EngineVersion", - "type": "string" - }, - "GlobalClusterIdentifier": { - "markdownDescription": "The cluster identifier of the new global cluster.", - "title": "GlobalClusterIdentifier", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "The AWS key identifier for an encrypted cluster.\n\nThe AWS key identifier is the Amazon Resource Name (ARN) for the AWS encryption key. If you are creating a cluster using the same AWS account that owns the AWS encryption key that is used to encrypt the new cluster, you can use the AWS key alias instead of the ARN for the AWS encryption key.\n\nIf an encryption key is not specified in `KmsKeyId` :\n\n- If the `StorageEncrypted` parameter is `true` , Amazon DocumentDB uses your default encryption key.\n\nAWS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Regions .", - "title": "KmsKeyId", - "type": "string" - }, - "ManageMasterUserPassword": { - "markdownDescription": "Specifies whether to manage the master user password with Amazon Web Services Secrets Manager.\n\nConstraint: You can't manage the master user password with Amazon Web Services Secrets Manager if `MasterUserPassword` is specified.", - "title": "ManageMasterUserPassword", - "type": "boolean" - }, - "MasterUserPassword": { - "markdownDescription": "The password for the master database user. This password can contain any printable ASCII character except forward slash (/), double quote (\"), or the \"at\" symbol (@).\n\nConstraints: Must contain from 8 to 100 characters.", - "title": "MasterUserPassword", - "type": "string" - }, - "MasterUserSecretKmsKeyId": { - "markdownDescription": "The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager. This setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the DB cluster.\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.\n\nIf you don't specify `MasterUserSecretKmsKeyId` , then the `aws/secretsmanager` KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the `aws/secretsmanager` KMS key to encrypt the secret, and you must use a customer managed KMS key.\n\nThere is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.", - "title": "MasterUserSecretKmsKeyId", - "type": "string" - }, - "MasterUsername": { - "markdownDescription": "The name of the master user for the cluster.\n\nConstraints:\n\n- Must be from 1 to 63 letters or numbers.\n- The first character must be a letter.\n- Cannot be a reserved word for the chosen database engine.", - "title": "MasterUsername", - "type": "string" - }, - "NetworkType": { - "markdownDescription": "The network type of the cluster.\n\nThe network type is determined by the `DBSubnetGroup` specified for the cluster. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and the IPv6 protocols ( `DUAL` ).\n\nFor more information, see [DocumentDB clusters in a VPC](https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html) in the Amazon DocumentDB Developer Guide.\n\nValid Values: `IPV4` | `DUAL`", - "title": "NetworkType", - "type": "string" - }, - "Port": { - "markdownDescription": "Specifies the port that the database engine is listening on.", - "title": "Port", - "type": "number" - }, - "PreferredBackupWindow": { - "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled using the `BackupRetentionPeriod` parameter.\n\nThe default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region .\n\nConstraints:\n\n- Must be in the format `hh24:mi-hh24:mi` .\n- Must be in Universal Coordinated Time (UTC).\n- Must not conflict with the preferred maintenance window.\n- Must be at least 30 minutes.", - "title": "PreferredBackupWindow", - "type": "string" - }, - "PreferredMaintenanceWindow": { - "markdownDescription": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n\nFormat: `ddd:hh24:mi-ddd:hh24:mi`\n\nThe default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week.\n\nValid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\nConstraints: Minimum 30-minute window.", - "title": "PreferredMaintenanceWindow", - "type": "string" - }, - "RestoreToTime": { - "markdownDescription": "The date and time to restore the cluster to.\n\nValid values: A time in Universal Coordinated Time (UTC) format.\n\nConstraints:\n\n- Must be before the latest restorable time for the instance.\n- Must be specified if the `UseLatestRestorableTime` parameter is not provided.\n- Cannot be specified if the `UseLatestRestorableTime` parameter is `true` .\n- Cannot be specified if the `RestoreType` parameter is `copy-on-write` .\n\nExample: `2015-03-07T23:45:00Z`", - "title": "RestoreToTime", - "type": "string" + "Detail": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.PolicyGrantDetail", + "markdownDescription": "The details of the policy grant member.", + "title": "Detail" }, - "RestoreType": { - "markdownDescription": "The type of restore to be performed. You can specify one of the following values:\n\n- `full-copy` - The new DB cluster is restored as a full copy of the source DB cluster.\n- `copy-on-write` - The new DB cluster is restored as a clone of the source DB cluster.\n\nConstraints: You can't specify `copy-on-write` if the engine version of the source DB cluster is earlier than 1.11.\n\nIf you don't specify a `RestoreType` value, then the new DB cluster is restored as a full copy of the source DB cluster.", - "title": "RestoreType", + "DomainIdentifier": { + "markdownDescription": "The ID of the domain where you want to add a policy grant.", + "title": "DomainIdentifier", "type": "string" }, - "RotateMasterUserPassword": { - "markdownDescription": "Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password.\n\nThis setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the cluster. The secret value contains the updated password.\n\nConstraint: You must apply the change immediately when rotating the master user password.", - "title": "RotateMasterUserPassword", - "type": "boolean" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/AWS::DocDB::DBCluster.ServerlessV2ScalingConfiguration", - "markdownDescription": "Contains the scaling configuration of an Amazon DocumentDB Serverless cluster.", - "title": "ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "markdownDescription": "The identifier for the snapshot or cluster snapshot to restore from.\n\nYou can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use only the ARN to specify a snapshot.\n\nConstraints:\n\n- Must match the identifier of an existing snapshot.", - "title": "SnapshotIdentifier", + "EntityIdentifier": { + "markdownDescription": "The ID of the entity (resource) to which you want to add a policy grant.", + "title": "EntityIdentifier", "type": "string" }, - "SourceDBClusterIdentifier": { - "markdownDescription": "The identifier of the source cluster from which to restore.\n\nConstraints:\n\n- Must match the identifier of an existing `DBCluster` .", - "title": "SourceDBClusterIdentifier", + "EntityType": { + "markdownDescription": "The type of entity (resource) to which the grant is added.", + "title": "EntityType", "type": "string" }, - "StorageEncrypted": { - "markdownDescription": "Specifies whether the cluster is encrypted.\n\nIf you specify `SourceDBClusterIdentifier` or `SnapshotIdentifier` and don\u2019t specify `StorageEncrypted` , the encryption property is inherited from the source cluster or snapshot (unless `KMSKeyId` is specified, in which case the restored cluster will be encrypted with that KMS key). If the source is encrypted and `StorageEncrypted` is specified to be true, the restored cluster will be encrypted (if you want to use a different KMS key, specify the `KMSKeyId` property as well). If the source is unencrypted and `StorageEncrypted` is specified to be true, then the `KMSKeyId` property must be specified. If the source is encrypted, don\u2019t specify `StorageEncrypted` to be false as opting out of encryption is not allowed.", - "title": "StorageEncrypted", - "type": "boolean" - }, - "StorageType": { - "markdownDescription": "The storage type to associate with the DB cluster.\n\nFor information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the *Amazon DocumentDB Developer Guide* .\n\nValid values for storage type - `standard | iopt1`\n\nDefault value is `standard`\n\n> When you create an Amazon DocumentDB cluster with the storage type set to `iopt1` , the storage type is returned in the response. The storage type isn't returned when you set it to `standard` .", - "title": "StorageType", + "PolicyType": { + "markdownDescription": "The type of policy that you want to grant.", + "title": "PolicyType", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to be assigned to the cluster.", - "title": "Tags", - "type": "array" - }, - "UseLatestRestorableTime": { - "markdownDescription": "A value that is set to `true` to restore the cluster to the latest restorable backup time, and `false` otherwise.\n\nDefault: `false`\n\nConstraints: Cannot be specified if the `RestoreToTime` parameter is provided.", - "title": "UseLatestRestorableTime", - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of EC2 VPC security groups to associate with this cluster.", - "title": "VpcSecurityGroupIds", - "type": "array" + "Principal": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.PolicyGrantPrincipal", + "markdownDescription": "The principal of the policy grant member.", + "title": "Principal" } }, + "required": [ + "DomainIdentifier", + "EntityIdentifier", + "EntityType", + "PolicyType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBCluster" + "AWS::DataZone::PolicyGrant" ], "type": "string" }, @@ -117071,123 +116254,346 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DocDB::DBCluster.ServerlessV2ScalingConfiguration": { + "AWS::DataZone::PolicyGrant.AddToProjectMemberPoolPolicyGrantDetail": { "additionalProperties": false, "properties": { - "MaxCapacity": { - "markdownDescription": "The maximum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. You can specify DCU values in half-step increments, such as 32, 32.5, 33, and so on.", - "title": "MaxCapacity", - "type": "number" + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.CreateAssetTypePolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.CreateDomainUnitPolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.CreateEnvironmentProfilePolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "DomainUnitId": { + "markdownDescription": "The ID of the domain unit.", + "title": "DomainUnitId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.CreateFormTypePolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.CreateGlossaryPolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether to include child domain units when creating a project from project profile policy grant details", + "title": "IncludeChildDomainUnits", + "type": "boolean" }, - "MinCapacity": { - "markdownDescription": "The minimum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. You can specify DCU values in half-step increments, such as 8, 8.5, 9, and so on.", - "title": "MinCapacity", - "type": "number" + "ProjectProfiles": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies project profiles when creating a project from project profile policy grant details", + "title": "ProjectProfiles", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.CreateProjectPolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.DomainUnitFilterForProject": { + "additionalProperties": false, + "properties": { + "DomainUnit": { + "markdownDescription": "The domain unit ID to use in the filter.", + "title": "DomainUnit", + "type": "string" + }, + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether to include child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" } }, "required": [ - "MaxCapacity", - "MinCapacity" + "DomainUnit" ], "type": "object" }, - "AWS::DocDB::DBClusterParameterGroup": { + "AWS::DataZone::PolicyGrant.DomainUnitGrantFilter": { "additionalProperties": false, "properties": { - "Condition": { + "AllDomainUnitsGrantFilter": { + "markdownDescription": "Specifies a grant filter containing all domain units.", + "title": "AllDomainUnitsGrantFilter", + "type": "object" + } + }, + "required": [ + "AllDomainUnitsGrantFilter" + ], + "type": "object" + }, + "AWS::DataZone::PolicyGrant.DomainUnitPolicyGrantPrincipal": { + "additionalProperties": false, + "properties": { + "DomainUnitDesignation": { + "markdownDescription": "Specifes the designation of the domain unit users.", + "title": "DomainUnitDesignation", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DomainUnitGrantFilter": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.DomainUnitGrantFilter", + "markdownDescription": "The grant filter for the domain unit.", + "title": "DomainUnitGrantFilter" + }, + "DomainUnitIdentifier": { + "markdownDescription": "The ID of the domain unit.", + "title": "DomainUnitIdentifier", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.GroupPolicyGrantPrincipal": { + "additionalProperties": false, + "properties": { + "GroupIdentifier": { + "markdownDescription": "The ID Of the group of the group principal.", + "title": "GroupIdentifier", "type": "string" + } + }, + "required": [ + "GroupIdentifier" + ], + "type": "object" + }, + "AWS::DataZone::PolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy is inherited by child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.OverrideProjectOwnersPolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy is inherited by child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.PolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "AddToProjectMemberPool": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.AddToProjectMemberPoolPolicyGrantDetail", + "markdownDescription": "Specifies that the policy grant is to be added to the members of the project.", + "title": "AddToProjectMemberPool" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CreateAssetType": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateAssetTypePolicyGrantDetail", + "markdownDescription": "Specifies that this is a create asset type policy.", + "title": "CreateAssetType" }, - "Metadata": { + "CreateDomainUnit": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateDomainUnitPolicyGrantDetail", + "markdownDescription": "Specifies that this is a create domain unit policy.", + "title": "CreateDomainUnit" + }, + "CreateEnvironment": { + "markdownDescription": "Specifies that this is a create environment policy.", + "title": "CreateEnvironment", "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "The description for the cluster parameter group.", - "title": "Description", - "type": "string" - }, - "Family": { - "markdownDescription": "The cluster parameter group family name.", - "title": "Family", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the DB cluster parameter group.\n\nConstraints:\n\n- Must not match the name of an existing `DBClusterParameterGroup` .\n\n> This value is stored as a lowercase string.", - "title": "Name", - "type": "string" - }, - "Parameters": { - "markdownDescription": "Provides a list of parameters for the cluster parameter group.", - "title": "Parameters", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to be assigned to the cluster parameter group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], + "CreateEnvironmentFromBlueprint": { + "markdownDescription": "The details of the policy of creating an environment.", + "title": "CreateEnvironmentFromBlueprint", "type": "object" }, - "Type": { - "enum": [ - "AWS::DocDB::DBClusterParameterGroup" - ], - "type": "string" + "CreateEnvironmentProfile": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateEnvironmentProfilePolicyGrantDetail", + "markdownDescription": "Specifies that this is a create environment profile policy.", + "title": "CreateEnvironmentProfile" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "CreateFormType": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateFormTypePolicyGrantDetail", + "markdownDescription": "Specifies that this is a create form type policy.", + "title": "CreateFormType" + }, + "CreateGlossary": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateGlossaryPolicyGrantDetail", + "markdownDescription": "Specifies that this is a create glossary policy.", + "title": "CreateGlossary" + }, + "CreateProject": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateProjectPolicyGrantDetail", + "markdownDescription": "Specifies that this is a create project policy.", + "title": "CreateProject" + }, + "CreateProjectFromProjectProfile": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetail", + "markdownDescription": "Specifies whether to create a project from project profile.", + "title": "CreateProjectFromProjectProfile" + }, + "DelegateCreateEnvironmentProfile": { + "markdownDescription": "Specifies that this is the delegation of the create environment profile policy.", + "title": "DelegateCreateEnvironmentProfile", + "type": "object" + }, + "OverrideDomainUnitOwners": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetail", + "markdownDescription": "Specifies whether to override domain unit owners.", + "title": "OverrideDomainUnitOwners" + }, + "OverrideProjectOwners": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.OverrideProjectOwnersPolicyGrantDetail", + "markdownDescription": "Specifies whether to override project owners.", + "title": "OverrideProjectOwners" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.PolicyGrantPrincipal": { + "additionalProperties": false, + "properties": { + "DomainUnit": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.DomainUnitPolicyGrantPrincipal", + "markdownDescription": "The domain unit of the policy grant principal.", + "title": "DomainUnit" + }, + "Group": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.GroupPolicyGrantPrincipal", + "markdownDescription": "The group of the policy grant principal.", + "title": "Group" + }, + "Project": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.ProjectPolicyGrantPrincipal", + "markdownDescription": "The project of the policy grant principal.", + "title": "Project" + }, + "User": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.UserPolicyGrantPrincipal", + "markdownDescription": "The user of the policy grant principal.", + "title": "User" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.ProjectGrantFilter": { + "additionalProperties": false, + "properties": { + "DomainUnitFilter": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.DomainUnitFilterForProject", + "markdownDescription": "The domain unit filter of the project grant filter.", + "title": "DomainUnitFilter" } }, "required": [ - "Type", - "Properties" + "DomainUnitFilter" ], "type": "object" }, - "AWS::DocDB::DBInstance": { + "AWS::DataZone::PolicyGrant.ProjectPolicyGrantPrincipal": { + "additionalProperties": false, + "properties": { + "ProjectDesignation": { + "markdownDescription": "The project designation of the project policy grant principal.", + "title": "ProjectDesignation", + "type": "string" + }, + "ProjectGrantFilter": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.ProjectGrantFilter", + "markdownDescription": "The project grant filter of the project policy grant principal.", + "title": "ProjectGrantFilter" + }, + "ProjectIdentifier": { + "markdownDescription": "The project ID of the project policy grant principal.", + "title": "ProjectIdentifier", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.UserPolicyGrantPrincipal": { + "additionalProperties": false, + "properties": { + "AllUsersGrantFilter": { + "markdownDescription": "The all users grant filter of the user policy grant principal.", + "title": "AllUsersGrantFilter", + "type": "object" + }, + "UserIdentifier": { + "markdownDescription": "The user ID of the user policy grant principal.", + "title": "UserIdentifier", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::Project": { "additionalProperties": false, "properties": { "Condition": { @@ -117222,69 +116628,80 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoMinorVersionUpgrade": { - "markdownDescription": "This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor version upgrades regardless of the value set.\n\nDefault: `false`", - "title": "AutoMinorVersionUpgrade", - "type": "boolean" + "Description": { + "markdownDescription": "The description of a project.", + "title": "Description", + "type": "string" }, - "AvailabilityZone": { - "markdownDescription": "The Amazon EC2 Availability Zone that the instance is created in.\n\nDefault: A random, system-chosen Availability Zone in the endpoint's AWS Region .\n\nExample: `us-east-1d`", - "title": "AvailabilityZone", + "DomainIdentifier": { + "markdownDescription": "The identifier of a Amazon DataZone domain where the project exists.", + "title": "DomainIdentifier", "type": "string" }, - "CACertificateIdentifier": { - "markdownDescription": "The identifier of the CA certificate for this DB instance.", - "title": "CACertificateIdentifier", + "DomainUnitId": { + "markdownDescription": "The ID of the domain unit. This parameter is not required and if it is not specified, then the project is created at the root domain unit level.", + "title": "DomainUnitId", "type": "string" }, - "CertificateRotationRestart": { - "markdownDescription": "Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate.\n\nBy default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted.\n\n> Set this parameter only if you are *not* using SSL/TLS to connect to the DB instance. \n\nIf you are using SSL/TLS to connect to the DB instance, see [Updating Your Amazon DocumentDB TLS Certificates](https://docs.aws.amazon.com/documentdb/latest/developerguide/ca_cert_rotation.html) and [Encrypting Data in Transit](https://docs.aws.amazon.com/documentdb/latest/developerguide/security.encryption.ssl.html) in the *Amazon DocumentDB Developer Guide* .", - "title": "CertificateRotationRestart", - "type": "boolean" + "GlossaryTerms": { + "items": { + "type": "string" + }, + "markdownDescription": "The glossary terms that can be used in this Amazon DataZone project.", + "title": "GlossaryTerms", + "type": "array" }, - "DBClusterIdentifier": { - "markdownDescription": "The identifier of the cluster that the instance will belong to.", - "title": "DBClusterIdentifier", + "MembershipAssignments": { + "items": { + "$ref": "#/definitions/AWS::DataZone::Project.ProjectMembershipAssignment" + }, + "type": "array" + }, + "Name": { + "markdownDescription": "The name of a project.", + "title": "Name", "type": "string" }, - "DBInstanceClass": { - "markdownDescription": "The compute and memory capacity of the instance; for example, `db.m4.large` . If you change the class of an instance there can be some interruption in the cluster's service.", - "title": "DBInstanceClass", + "ProjectCategory": { "type": "string" }, - "DBInstanceIdentifier": { - "markdownDescription": "The instance identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n- Must contain from 1 to 63 letters, numbers, or hyphens.\n- The first character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n\nExample: `mydbinstance`", - "title": "DBInstanceIdentifier", + "ProjectExecutionRole": { "type": "string" }, - "EnablePerformanceInsights": { - "markdownDescription": "A value that indicates whether to enable Performance Insights for the DB Instance. For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html) .", - "title": "EnablePerformanceInsights", - "type": "boolean" + "ProjectProfileId": { + "markdownDescription": "The ID of the project profile.", + "title": "ProjectProfileId", + "type": "string" }, - "PreferredMaintenanceWindow": { - "markdownDescription": "The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC).\n\nFormat: `ddd:hh24:mi-ddd:hh24:mi`\n\nThe default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week.\n\nValid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\nConstraints: Minimum 30-minute window.", - "title": "PreferredMaintenanceWindow", + "ProjectProfileVersion": { + "markdownDescription": "The project profile version to which the project should be updated. You can only specify the following string for this parameter: `latest` .", + "title": "ProjectProfileVersion", "type": "string" }, - "Tags": { + "ResourceTags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::DataZone::Project.ResourceTag" }, - "markdownDescription": "The tags to be assigned to the instance. You can assign up to 10 tags to an instance.", - "title": "Tags", + "type": "array" + }, + "UserParameters": { + "items": { + "$ref": "#/definitions/AWS::DataZone::Project.EnvironmentConfigurationUserParameter" + }, + "markdownDescription": "The user parameters of the project.", + "title": "UserParameters", "type": "array" } }, "required": [ - "DBClusterIdentifier", - "DBInstanceClass" + "DomainIdentifier", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBInstance" + "AWS::DataZone::Project" ], "type": "string" }, @@ -117303,96 +116720,91 @@ ], "type": "object" }, - "AWS::DocDB::DBSubnetGroup": { + "AWS::DataZone::Project.EnvironmentConfigurationUserParameter": { "additionalProperties": false, "properties": { - "Condition": { + "EnvironmentConfigurationName": { + "markdownDescription": "The environment configuration name.", + "title": "EnvironmentConfigurationName", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "EnvironmentId": { + "markdownDescription": "The ID of the environment.", + "title": "EnvironmentId", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EnvironmentParameters": { + "items": { + "$ref": "#/definitions/AWS::DataZone::Project.EnvironmentParameter" + }, + "markdownDescription": "The environment parameters.", + "title": "EnvironmentParameters", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataZone::Project.EnvironmentParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of an environment profile parameter.", + "title": "Name", + "type": "string" }, - "Metadata": { - "type": "object" + "Value": { + "markdownDescription": "The value of an environment profile parameter.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::Project.Member": { + "additionalProperties": false, + "properties": { + "GroupIdentifier": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "markdownDescription": "The description for the subnet group.", - "title": "DBSubnetGroupDescription", - "type": "string" - }, - "DBSubnetGroupName": { - "markdownDescription": "The name for the subnet group. This value is stored as a lowercase string.\n\nConstraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.\n\nExample: `mySubnetgroup`", - "title": "DBSubnetGroupName", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon EC2 subnet IDs for the subnet group.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to be assigned to the subnet group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" + "UserIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::Project.ProjectMembershipAssignment": { + "additionalProperties": false, + "properties": { + "Designation": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::DocDB::DBSubnetGroup" - ], + "Member": { + "$ref": "#/definitions/AWS::DataZone::Project.Member" + } + }, + "required": [ + "Designation", + "Member" + ], + "type": "object" + }, + "AWS::DataZone::Project.ResourceTag": { + "additionalProperties": false, + "properties": { + "Key": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Key", + "Value" ], "type": "object" }, - "AWS::DocDB::EventSubscription": { + "AWS::DataZone::ProjectMembership": { "additionalProperties": false, "properties": { "Condition": { @@ -117427,51 +116839,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "A Boolean value; set to `true` to activate the subscription, set to `false` to create the subscription but not active it.", - "title": "Enabled", - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of event categories for a `SourceType` that you want to subscribe to.", - "title": "EventCategories", - "type": "array" - }, - "SnsTopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. Amazon SNS creates the ARN when you create a topic and subscribe to it.", - "title": "SnsTopicArn", + "Designation": { + "markdownDescription": "The designated role of a project member.", + "title": "Designation", "type": "string" }, - "SourceIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.\n\nConstraints:\n\n- If `SourceIds` are provided, `SourceType` must also be provided.\n- If the source type is an instance, a `DBInstanceIdentifier` must be provided.\n- If the source type is a security group, a `DBSecurityGroupName` must be provided.\n- If the source type is a parameter group, a `DBParameterGroupName` must be provided.\n- If the source type is a snapshot, a `DBSnapshotIdentifier` must be provided.", - "title": "SourceIds", - "type": "array" - }, - "SourceType": { - "markdownDescription": "The type of source that is generating the events. For example, if you want to be notified of events generated by an instance, you would set this parameter to `db-instance` . If this value is not specified, all events are returned.\n\nValid values: `db-instance` , `db-cluster` , `db-parameter-group` , `db-security-group` , `db-cluster-snapshot`", - "title": "SourceType", + "DomainIdentifier": { + "markdownDescription": "The ID of the Amazon DataZone domain in which project membership is created.", + "title": "DomainIdentifier", "type": "string" }, - "SubscriptionName": { - "markdownDescription": "The name of the subscription.\n\nConstraints: The name must be fewer than 255 characters.", - "title": "SubscriptionName", + "Member": { + "$ref": "#/definitions/AWS::DataZone::ProjectMembership.Member", + "markdownDescription": "The details about a project member.", + "title": "Member" + }, + "ProjectIdentifier": { + "markdownDescription": "The ID of the project for which this project membership was created.", + "title": "ProjectIdentifier", "type": "string" } }, "required": [ - "SnsTopicArn" + "Designation", + "DomainIdentifier", + "Member", + "ProjectIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::EventSubscription" + "AWS::DataZone::ProjectMembership" ], "type": "string" }, @@ -117490,7 +116889,23 @@ ], "type": "object" }, - "AWS::DocDB::GlobalCluster": { + "AWS::DataZone::ProjectMembership.Member": { + "additionalProperties": false, + "properties": { + "GroupIdentifier": { + "markdownDescription": "The ID of the group of a project member.", + "title": "GroupIdentifier", + "type": "string" + }, + "UserIdentifier": { + "markdownDescription": "The user ID of a project member.", + "title": "UserIdentifier", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::ProjectProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -117525,39 +116940,63 @@ "Properties": { "additionalProperties": false, "properties": { - "DeletionProtection": { + "AllowCustomProjectResourceTags": { "type": "boolean" }, - "Engine": { + "Description": { + "markdownDescription": "The description of the project profile.", + "title": "Description", "type": "string" }, - "EngineVersion": { + "DomainIdentifier": { + "markdownDescription": "A domain ID of the project profile.", + "title": "DomainIdentifier", "type": "string" }, - "GlobalClusterIdentifier": { + "DomainUnitIdentifier": { + "markdownDescription": "A domain unit ID of the project profile.", + "title": "DomainUnitIdentifier", "type": "string" }, - "SourceDBClusterIdentifier": { - "type": "string" + "EnvironmentConfigurations": { + "items": { + "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfiguration" + }, + "markdownDescription": "Environment configurations of a project profile.", + "title": "EnvironmentConfigurations", + "type": "array" }, - "StorageEncrypted": { - "type": "boolean" + "Name": { + "markdownDescription": "The name of a project profile.", + "title": "Name", + "type": "string" }, - "Tags": { + "ProjectResourceTags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::DataZone::ProjectProfile.ResourceTagParameter" }, "type": "array" + }, + "ProjectResourceTagsDescription": { + "type": "string" + }, + "Status": { + "markdownDescription": "The status of a project profile.", + "title": "Status", + "type": "string" + }, + "UseDefaultConfigurations": { + "type": "boolean" } }, "required": [ - "GlobalClusterIdentifier" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::GlobalCluster" + "AWS::DataZone::ProjectProfile" ], "type": "string" }, @@ -117576,133 +117015,262 @@ ], "type": "object" }, - "AWS::DocDBElastic::Cluster": { + "AWS::DataZone::ProjectProfile.AwsAccount": { "additionalProperties": false, "properties": { - "Condition": { + "AwsAccountId": { + "markdownDescription": "The account ID of a project.", + "title": "AwsAccountId", "type": "string" + } + }, + "required": [ + "AwsAccountId" + ], + "type": "object" + }, + "AWS::DataZone::ProjectProfile.EnvironmentConfiguration": { + "additionalProperties": false, + "properties": { + "AwsAccount": { + "$ref": "#/definitions/AWS::DataZone::ProjectProfile.AwsAccount", + "markdownDescription": "The AWS account of the environment.", + "title": "AwsAccount" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AwsRegion": { + "$ref": "#/definitions/AWS::DataZone::ProjectProfile.Region", + "markdownDescription": "The AWS Region of the environment.", + "title": "AwsRegion" + }, + "ConfigurationParameters": { + "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfigurationParametersDetails", + "markdownDescription": "The configuration parameters of the environment.", + "title": "ConfigurationParameters" + }, + "DeploymentMode": { + "markdownDescription": "The deployment mode of the environment.", + "title": "DeploymentMode", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DeploymentOrder": { + "markdownDescription": "The deployment order of the environment.", + "title": "DeploymentOrder", + "type": "number" }, - "Metadata": { - "type": "object" + "Description": { + "markdownDescription": "The environment description.", + "title": "Description", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdminUserName": { - "markdownDescription": "The name of the Amazon DocumentDB elastic clusters administrator.\n\n*Constraints* :\n\n- Must be from 1 to 63 letters or numbers.\n- The first character must be a letter.\n- Cannot be a reserved word.", - "title": "AdminUserName", - "type": "string" - }, - "AdminUserPassword": { - "markdownDescription": "The password for the Elastic DocumentDB cluster administrator and can contain any printable ASCII characters.\n\n*Constraints* :\n\n- Must contain from 8 to 100 characters.\n- Cannot contain a forward slash (/), double quote (\"), or the \"at\" symbol (@).\n- A valid `AdminUserName` entry is also required.", - "title": "AdminUserPassword", - "type": "string" - }, - "AuthType": { - "markdownDescription": "The authentication type used to determine where to fetch the password used for accessing the elastic cluster. Valid types are `PLAIN_TEXT` or `SECRET_ARN` .", - "title": "AuthType", + "EnvironmentBlueprintId": { + "markdownDescription": "The environment blueprint ID.", + "title": "EnvironmentBlueprintId", + "type": "string" + }, + "EnvironmentConfigurationId": { + "markdownDescription": "", + "title": "EnvironmentConfigurationId", + "type": "string" + }, + "Name": { + "markdownDescription": "The environment name.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "AwsRegion", + "EnvironmentBlueprintId", + "Name" + ], + "type": "object" + }, + "AWS::DataZone::ProjectProfile.EnvironmentConfigurationParameter": { + "additionalProperties": false, + "properties": { + "IsEditable": { + "markdownDescription": "Specifies whether the environment parameter is editable.", + "title": "IsEditable", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the environment configuration parameter.", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the environment configuration parameter.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::ProjectProfile.EnvironmentConfigurationParametersDetails": { + "additionalProperties": false, + "properties": { + "ParameterOverrides": { + "items": { + "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfigurationParameter" + }, + "markdownDescription": "The parameter overrides.", + "title": "ParameterOverrides", + "type": "array" + }, + "ResolvedParameters": { + "items": { + "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfigurationParameter" + }, + "markdownDescription": "The resolved environment configuration parameters.", + "title": "ResolvedParameters", + "type": "array" + }, + "SsmPath": { + "markdownDescription": "Ssm path environment configuration parameters.", + "title": "SsmPath", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::ProjectProfile.Region": { + "additionalProperties": false, + "properties": { + "RegionName": { + "markdownDescription": "The AWS Region name.", + "title": "RegionName", + "type": "string" + } + }, + "required": [ + "RegionName" + ], + "type": "object" + }, + "AWS::DataZone::ProjectProfile.ResourceTagParameter": { + "additionalProperties": false, + "properties": { + "IsValueEditable": { + "type": "boolean" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "IsValueEditable", + "Key", + "Value" + ], + "type": "object" + }, + "AWS::DataZone::SubscriptionTarget": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "BackupRetentionPeriod": { - "markdownDescription": "The number of days for which automatic snapshots are retained.", - "title": "BackupRetentionPeriod", - "type": "number" + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicableAssetTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The asset types included in the subscription target.", + "title": "ApplicableAssetTypes", + "type": "array" }, - "ClusterName": { - "markdownDescription": "The name of the new elastic cluster. This parameter is stored as a lowercase string.\n\n*Constraints* :\n\n- Must contain from 1 to 63 letters, numbers, or hyphens.\n- The first character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n\n*Example* : `my-cluster`", - "title": "ClusterName", - "type": "string" + "AuthorizedPrincipals": { + "items": { + "type": "string" + }, + "markdownDescription": "The authorized principals included in the subscription target.", + "title": "AuthorizedPrincipals", + "type": "array" }, - "KmsKeyId": { - "markdownDescription": "The KMS key identifier to use to encrypt the new elastic cluster.\n\nThe KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias instead of the ARN as the KMS encryption key.\n\nIf an encryption key is not specified, Amazon DocumentDB uses the default encryption key that KMS creates for your account. Your account has a different default encryption key for each Amazon Region.", - "title": "KmsKeyId", + "DomainIdentifier": { + "markdownDescription": "The ID of the Amazon DataZone domain in which subscription target is created.", + "title": "DomainIdentifier", "type": "string" }, - "PreferredBackupWindow": { - "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled, as determined by `backupRetentionPeriod` .", - "title": "PreferredBackupWindow", + "EnvironmentIdentifier": { + "markdownDescription": "The ID of the environment in which subscription target is created.", + "title": "EnvironmentIdentifier", "type": "string" }, - "PreferredMaintenanceWindow": { - "markdownDescription": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n\n*Format* : `ddd:hh24:mi-ddd:hh24:mi`\n\n*Default* : a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week.\n\n*Valid days* : Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\n*Constraints* : Minimum 30-minute window.", - "title": "PreferredMaintenanceWindow", + "ManageAccessRole": { + "markdownDescription": "The manage access role that is used to create the subscription target.", + "title": "ManageAccessRole", "type": "string" }, - "ShardCapacity": { - "markdownDescription": "The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64.", - "title": "ShardCapacity", - "type": "number" - }, - "ShardCount": { - "markdownDescription": "The number of shards assigned to the elastic cluster. Maximum is 32.", - "title": "ShardCount", - "type": "number" - }, - "ShardInstanceCount": { - "markdownDescription": "The number of replica instances applying to all shards in the cluster. A `shardInstanceCount` value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.", - "title": "ShardInstanceCount", - "type": "number" + "Name": { + "markdownDescription": "The name of the subscription target.", + "title": "Name", + "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon EC2 subnet IDs for the new elastic cluster.", - "title": "SubnetIds", - "type": "array" + "Provider": { + "markdownDescription": "The provider of the subscription target.", + "title": "Provider", + "type": "string" }, - "Tags": { + "SubscriptionTargetConfig": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::DataZone::SubscriptionTarget.SubscriptionTargetForm" }, - "markdownDescription": "The tags to be assigned to the new elastic cluster.", - "title": "Tags", + "markdownDescription": "The configuration of the subscription target.", + "title": "SubscriptionTargetConfig", "type": "array" }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of EC2 VPC security groups to associate with the new elastic cluster.", - "title": "VpcSecurityGroupIds", - "type": "array" + "Type": { + "markdownDescription": "The type of the subscription target.", + "title": "Type", + "type": "string" } }, "required": [ - "AdminUserName", - "AuthType", - "ClusterName", - "ShardCapacity", - "ShardCount" + "ApplicableAssetTypes", + "AuthorizedPrincipals", + "DomainIdentifier", + "EnvironmentIdentifier", + "Name", + "SubscriptionTargetConfig", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDBElastic::Cluster" + "AWS::DataZone::SubscriptionTarget" ], "type": "string" }, @@ -117721,7 +117289,27 @@ ], "type": "object" }, - "AWS::DynamoDB::Backup": { + "AWS::DataZone::SubscriptionTarget.SubscriptionTargetForm": { + "additionalProperties": false, + "properties": { + "Content": { + "markdownDescription": "The content of the subscription target configuration.", + "title": "Content", + "type": "string" + }, + "FormName": { + "markdownDescription": "The form name included in the subscription target configuration.", + "title": "FormName", + "type": "string" + } + }, + "required": [ + "Content", + "FormName" + ], + "type": "object" + }, + "AWS::DataZone::UserProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -117756,22 +117344,39 @@ "Properties": { "additionalProperties": false, "properties": { - "BackupName": { + "DomainIdentifier": { + "markdownDescription": "The identifier of a Amazon DataZone domain in which a user profile exists.", + "title": "DomainIdentifier", "type": "string" }, - "TableName": { + "SessionName": { + "type": "string" + }, + "Status": { + "markdownDescription": "The status of the user profile.", + "title": "Status", + "type": "string" + }, + "UserIdentifier": { + "markdownDescription": "The identifier of the user for which the user profile is created.", + "title": "UserIdentifier", + "type": "string" + }, + "UserType": { + "markdownDescription": "The user type of the user for which the user profile is created.", + "title": "UserType", "type": "string" } }, "required": [ - "BackupName", - "TableName" + "DomainIdentifier", + "UserIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::Backup" + "AWS::DataZone::UserProfile" ], "type": "string" }, @@ -117790,7 +117395,61 @@ ], "type": "object" }, - "AWS::DynamoDB::Export": { + "AWS::DataZone::UserProfile.IamUserProfileDetails": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "", + "title": "Arn", + "type": "string" + }, + "GroupProfileId": { + "type": "string" + }, + "SessionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::UserProfile.SsoUserProfileDetails": { + "additionalProperties": false, + "properties": { + "FirstName": { + "markdownDescription": "", + "title": "FirstName", + "type": "string" + }, + "LastName": { + "markdownDescription": "", + "title": "LastName", + "type": "string" + }, + "Username": { + "markdownDescription": "", + "title": "Username", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::UserProfile.UserProfileDetails": { + "additionalProperties": false, + "properties": { + "Iam": { + "$ref": "#/definitions/AWS::DataZone::UserProfile.IamUserProfileDetails", + "markdownDescription": "", + "title": "Iam" + }, + "Sso": { + "$ref": "#/definitions/AWS::DataZone::UserProfile.SsoUserProfileDetails", + "markdownDescription": "", + "title": "Sso" + } + }, + "type": "object" + }, + "AWS::Deadline::Budget": { "additionalProperties": false, "properties": { "Condition": { @@ -117825,37 +117484,50 @@ "Properties": { "additionalProperties": false, "properties": { - "ExportFormat": { - "type": "string" + "Actions": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Budget.BudgetActionToAdd" + }, + "type": "array" }, - "ExportType": { - "type": "string" + "ApproximateDollarLimit": { + "type": "number" }, - "S3Bucket": { + "Description": { "type": "string" }, - "S3BucketOwner": { + "DisplayName": { "type": "string" }, - "S3Prefix": { + "FarmId": { "type": "string" }, - "S3SseAlgorithm": { - "type": "string" + "Schedule": { + "$ref": "#/definitions/AWS::Deadline::Budget.BudgetSchedule" }, - "TableArn": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UsageTrackingResource": { + "$ref": "#/definitions/AWS::Deadline::Budget.UsageTrackingResource" } }, "required": [ - "S3Bucket", - "TableArn" + "Actions", + "ApproximateDollarLimit", + "DisplayName", + "FarmId", + "Schedule", + "UsageTrackingResource" ], "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::Export" + "AWS::Deadline::Budget" ], "type": "string" }, @@ -117874,7 +117546,66 @@ ], "type": "object" }, - "AWS::DynamoDB::GlobalTable": { + "AWS::Deadline::Budget.BudgetActionToAdd": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ThresholdPercentage": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ThresholdPercentage", + "Type" + ], + "type": "object" + }, + "AWS::Deadline::Budget.BudgetSchedule": { + "additionalProperties": false, + "properties": { + "Fixed": { + "$ref": "#/definitions/AWS::Deadline::Budget.FixedBudgetSchedule" + } + }, + "required": [ + "Fixed" + ], + "type": "object" + }, + "AWS::Deadline::Budget.FixedBudgetSchedule": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "StartTime": { + "type": "string" + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::Deadline::Budget.UsageTrackingResource": { + "additionalProperties": false, + "properties": { + "QueueId": { + "type": "string" + } + }, + "required": [ + "QueueId" + ], + "type": "object" + }, + "AWS::Deadline::Farm": { "additionalProperties": false, "properties": { "Condition": { @@ -117909,117 +117640,155 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.AttributeDefinition" - }, - "markdownDescription": "A list of attributes that describe the key schema for the global table and indexes.", - "title": "AttributeDefinitions", - "type": "array" + "CostScaleFactor": { + "type": "number" }, - "BillingMode": { - "markdownDescription": "Specifies how you are charged for read and write throughput and how you manage capacity. Valid values are:\n\n- `PAY_PER_REQUEST`\n- `PROVISIONED`\n\nAll replicas in your global table will have the same billing mode. If you use `PROVISIONED` billing mode, you must provide an auto scaling configuration via the `WriteProvisionedThroughputSettings` property. The default value of this property is `PROVISIONED` .", - "title": "BillingMode", + "Description": { + "markdownDescription": "A description of the farm that helps identify what the farm is used for.\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": "Description", "type": "string" }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex" - }, - "markdownDescription": "Global secondary indexes to be created on the global table. You can create up to 20 global secondary indexes. Each replica in your global table will have the same global secondary index settings. You can only create or delete one global secondary index in a single stack operation.\n\nSince the backfilling of an index could take a long time, CloudFormation does not wait for the index to become active. If a stack operation rolls back, CloudFormation might not delete an index that has been added. In that case, you will need to delete the index manually.", - "title": "GlobalSecondaryIndexes", - "type": "array" - }, - "GlobalTableSourceArn": { + "DisplayName": { + "markdownDescription": "The display name of the farm.\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" }, - "GlobalTableWitnesses": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalTableWitness" - }, - "markdownDescription": "The list of witnesses of the MRSC global table. Only one witness Region can be configured per MRSC global table.", - "title": "GlobalTableWitnesses", - "type": "array" + "KmsKeyArn": { + "markdownDescription": "The ARN for the KMS key.", + "title": "KmsKeyArn", + "type": "string" }, - "KeySchema": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies the attributes that make up the primary key for the table. The attributes in the `KeySchema` property must also be defined in the `AttributeDefinitions` property.", - "title": "KeySchema", + "markdownDescription": "The tags to add to your farm. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", + "title": "Tags", "type": "array" + } + }, + "required": [ + "DisplayName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Deadline::Farm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Deadline::Fleet": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "LocalSecondaryIndexes": { + { "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.LocalSecondaryIndex" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "markdownDescription": "Local secondary indexes to be created on the table. You can create up to five local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes. Each replica in your global table will have the same local secondary index settings.", - "title": "LocalSecondaryIndexes", "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "$ref": "#/definitions/AWS::Deadline::Fleet.FleetConfiguration", + "markdownDescription": "The configuration details for the fleet.", + "title": "Configuration" }, - "MultiRegionConsistency": { - "markdownDescription": "Specifies the consistency mode for a new global table.\n\nYou can specify one of the following consistency modes:\n\n- `EVENTUAL` : Configures a new global table for multi-Region eventual consistency (MREC).\n- `STRONG` : Configures a new global table for multi-Region strong consistency (MRSC).\n\nIf you don't specify this field, the global table consistency mode defaults to `EVENTUAL` . For more information about global tables consistency modes, see [Consistency modes](https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes) in DynamoDB developer guide.", - "title": "MultiRegionConsistency", + "Description": { + "markdownDescription": "A description that helps identify what the fleet is used for.\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": "Description", "type": "string" }, - "ReadOnDemandThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings" + "DisplayName": { + "markdownDescription": "The display name of the fleet 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" }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalReadProvisionedThroughputSettings" + "FarmId": { + "markdownDescription": "The farm ID.", + "title": "FarmId", + "type": "string" }, - "Replicas": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSpecification" - }, - "markdownDescription": "Specifies the list of replicas for your global table. The list must contain at least one element, the region where the stack defining the global table is deployed. For example, if you define your table in a stack deployed to us-east-1, you must have an entry in `Replicas` with the region us-east-1. You cannot remove the replica in the stack region.\n\n> Adding a replica might take a few minutes for an empty table, or up to several hours for large tables. If you want to add or remove a replica, we recommend submitting an `UpdateStack` operation containing only that change.\n> \n> If you add or delete a replica during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new replica, you might need to manually delete the replica. \n\nYou can create a new global table with as many replicas as needed. You can add or remove replicas after table creation, but you can only add or remove a single replica in each update. For Multi-Region Strong Consistency (MRSC), you can add or remove up to 3 replicas, or 2 replicas plus a witness Region.", - "title": "Replicas", - "type": "array" + "HostConfiguration": { + "$ref": "#/definitions/AWS::Deadline::Fleet.HostConfiguration", + "markdownDescription": "Provides a script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet.\n\nTo remove a script from a fleet, use the [UpdateFleet](https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_UpdateFleet.html) operation with the `hostConfiguration` `scriptBody` parameter set to an empty string (\"\").", + "title": "HostConfiguration" }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SSESpecification", - "markdownDescription": "Specifies the settings to enable server-side encryption. These settings will be applied to all replicas. If you plan to use customer-managed KMS keys, you must provide a key for each replica using the `ReplicaSpecification.ReplicaSSESpecification` property.", - "title": "SSESpecification" + "MaxWorkerCount": { + "markdownDescription": "The maximum number of workers specified in the fleet.", + "title": "MaxWorkerCount", + "type": "number" }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.StreamSpecification", - "markdownDescription": "Specifies the streams settings on your global table. You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica. For Multi-Region Strong Consistency (MRSC), you do not need to provide a value for this property and can change the settings at any time.", - "title": "StreamSpecification" + "MinWorkerCount": { + "markdownDescription": "The minimum number of workers in the fleet.", + "title": "MinWorkerCount", + "type": "number" }, - "TableName": { - "markdownDescription": "A name for the global table. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID as the table name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "TableName", + "RoleArn": { + "markdownDescription": "The IAM role that workers in the fleet use when processing jobs.", + "title": "RoleArn", "type": "string" }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TimeToLiveSpecification", - "markdownDescription": "Specifies the time to live (TTL) settings for the table. This setting will be applied to all replicas.", - "title": "TimeToLiveSpecification" - }, - "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.", - "title": "WarmThroughput" - }, - "WriteOnDemandThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteOnDemandThroughputSettings", - "markdownDescription": "Sets the write request settings for a global table or a global secondary index. You can only specify this setting if your resource uses the `PAY_PER_REQUEST` `BillingMode` .", - "title": "WriteOnDemandThroughputSettings" - }, - "WriteProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings", - "markdownDescription": "Specifies an auto scaling policy for write capacity. This policy will be applied to all replicas. This setting must be specified if `BillingMode` is set to `PROVISIONED` .", - "title": "WriteProvisionedThroughputSettings" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to add to your fleet. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", + "title": "Tags", + "type": "array" } }, "required": [ - "Replicas" + "Configuration", + "DisplayName", + "FarmId", + "MaxWorkerCount", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::GlobalTable" + "AWS::Deadline::Fleet" ], "type": "string" }, @@ -118038,553 +117807,541 @@ ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.AttributeDefinition": { + "AWS::Deadline::Fleet.AcceleratorCapabilities": { "additionalProperties": false, "properties": { - "AttributeName": { - "markdownDescription": "A name for the attribute.", - "title": "AttributeName", - "type": "string" + "Count": { + "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorCountRange", + "markdownDescription": "The number of GPU accelerators specified for worker hosts in this fleet.\n\n> You must specify either `acceleratorCapabilities.count.max` or `allowedInstanceTypes` when using accelerator capabilities. If you don't specify a maximum count, AWS Deadline Cloud uses the instance types you specify in `allowedInstanceTypes` to determine the maximum number of accelerators.", + "title": "Count" }, - "AttributeType": { - "markdownDescription": "The data type for the attribute, where:\n\n- `S` - the attribute is of type String\n- `N` - the attribute is of type Number\n- `B` - the attribute is of type Binary", - "title": "AttributeType", - "type": "string" + "Selections": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorSelection" + }, + "markdownDescription": "A list of accelerator capabilities requested for this fleet. Only Amazon Elastic Compute Cloud instances that provide these capabilities will be used. For example, if you specify both L4 and T4 chips, AWS Deadline Cloud will use Amazon EC2 instances that have either the L4 or the T4 chip installed.\n\n> - You must specify at least one accelerator selection.\n> - You cannot specify the same accelerator name multiple times in the selections list.\n> - All accelerators in the selections must use the same runtime version.", + "title": "Selections", + "type": "array" } }, "required": [ - "AttributeName", - "AttributeType" + "Selections" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings": { + "AWS::Deadline::Fleet.AcceleratorCountRange": { "additionalProperties": false, "properties": { - "MaxCapacity": { - "markdownDescription": "The maximum provisioned capacity units for the global table.", - "title": "MaxCapacity", - "type": "number" - }, - "MinCapacity": { - "markdownDescription": "The minimum provisioned capacity units for the global table.", - "title": "MinCapacity", + "Max": { + "markdownDescription": "The maximum number of GPU accelerators in the worker host.", + "title": "Max", "type": "number" }, - "SeedCapacity": { - "markdownDescription": "When switching billing mode from `PAY_PER_REQUEST` to `PROVISIONED` , DynamoDB requires you to specify read and write capacity unit values for the table and for each global secondary index. These values will be applied to all replicas. The table will use these provisioned values until CloudFormation creates the autoscaling policies you configured in your template. CloudFormation cannot determine what capacity the table and its global secondary indexes will require in this time period, since they are application-dependent.\n\nIf you want to switch a table's billing mode from `PAY_PER_REQUEST` to `PROVISIONED` , you must specify a value for this property for each autoscaled resource. If you specify different values for the same resource in different regions, CloudFormation will use the highest value found in either the `SeedCapacity` or `ReadCapacityUnits` properties. For example, if your global secondary index `myGSI` has a `SeedCapacity` of 10 in us-east-1 and a fixed `ReadCapacityUnits` of 20 in eu-west-1, CloudFormation will initially set the read capacity for `myGSI` to 20. Note that if you disable `ScaleIn` for `myGSI` in us-east-1, its read capacity units might not be set back to 10.\n\nYou must also specify a value for `SeedCapacity` when you plan to switch a table's billing mode from `PROVISIONED` to `PAY_PER_REQUEST` , because CloudFormation might need to roll back the operation (reverting the billing mode to `PROVISIONED` ) and this cannot succeed without specifying a value for `SeedCapacity` .", - "title": "SeedCapacity", + "Min": { + "markdownDescription": "The minimum number of GPU accelerators in the worker host.", + "title": "Min", "type": "number" - }, - "TargetTrackingScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration", - "markdownDescription": "Defines a target tracking scaling policy.", - "title": "TargetTrackingScalingPolicyConfiguration" } }, "required": [ - "MaxCapacity", - "MinCapacity", - "TargetTrackingScalingPolicyConfiguration" + "Min" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification": { + "AWS::Deadline::Fleet.AcceleratorSelection": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).", - "title": "Enabled", - "type": "boolean" + "Name": { + "markdownDescription": "The name of the chip used by the GPU accelerator.\n\nThe available GPU accelerators are:\n\n- `t4` - NVIDIA T4 Tensor Core GPU (16 GiB memory)\n- `a10g` - NVIDIA A10G Tensor Core GPU (24 GiB memory)\n- `l4` - NVIDIA L4 Tensor Core GPU (24 GiB memory)\n- `l40s` - NVIDIA L40S Tensor Core GPU (48 GiB memory)", + "title": "Name", + "type": "string" }, - "Mode": { - "markdownDescription": "Specifies the CloudWatch Contributor Insights mode for a global table. Valid values are `ACCESSED_AND_THROTTLED_KEYS` (tracks all access and throttled events) or `THROTTLED_KEYS` (tracks only throttled events). This setting determines what type of contributor insights data is collected for the global table.", - "title": "Mode", + "Runtime": { + "markdownDescription": "Specifies the runtime driver to use for the GPU accelerator. You must use the same runtime for all GPUs in a fleet.\n\nYou can choose from the following runtimes:\n\n- `latest` - Use the latest runtime available for the chip. If you specify `latest` and a new version of the runtime is released, the new version of the runtime is used.\n- `grid:r570` - [NVIDIA vGPU software 18](https://docs.aws.amazon.com/https://docs.nvidia.com/vgpu/18.0/index.html)\n- `grid:r535` - [NVIDIA vGPU software 16](https://docs.aws.amazon.com/https://docs.nvidia.com/vgpu/16.0/index.html)\n\nIf you don't specify a runtime, AWS Deadline Cloud uses `latest` as the default. However, if you have multiple accelerators and specify `latest` for some and leave others blank, AWS Deadline Cloud raises an exception.\n\n> Not all runtimes are compatible with all accelerator types:\n> \n> - `t4` and `a10g` : Support all runtimes ( `grid:r570` , `grid:r535` )\n> - `l4` and `l40s` : Only support `grid:r570` and newer\n> \n> All accelerators in a fleet must use the same runtime version. You cannot mix different runtime versions within a single fleet. > When you specify `latest` , it resolves to `grid:r570` for all currently supported accelerators.", + "title": "Runtime", "type": "string" } }, "required": [ - "Enabled" + "Name" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.GlobalReadProvisionedThroughputSettings": { + "AWS::Deadline::Fleet.AcceleratorTotalMemoryMiBRange": { "additionalProperties": false, "properties": { - "ReadCapacityUnits": { + "Max": { + "markdownDescription": "The maximum amount of memory to use for the accelerator, measured in MiB.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of memory to use for the accelerator, measured in MiB.", + "title": "Min", "type": "number" } }, + "required": [ + "Min" + ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex": { + "AWS::Deadline::Fleet.CustomerManagedAutoScalingConfiguration": { "additionalProperties": false, "properties": { - "IndexName": { - "markdownDescription": "The name of the global secondary index. The name must be unique among all other indexes on this table.", - "title": "IndexName", - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" - }, - "markdownDescription": "The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", - "title": "KeySchema", - "type": "array" + "ScaleOutWorkersPerMinute": { + "type": "number" }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection", - "markdownDescription": "Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", - "title": "Projection" + "StandbyWorkerCount": { + "type": "number" }, - "ReadOnDemandThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings" + "WorkerIdleDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Deadline::Fleet.CustomerManagedFleetConfiguration": { + "additionalProperties": false, + "properties": { + "AutoScalingConfiguration": { + "$ref": "#/definitions/AWS::Deadline::Fleet.CustomerManagedAutoScalingConfiguration" }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalReadProvisionedThroughputSettings" + "Mode": { + "markdownDescription": "The Auto Scaling mode for the customer managed fleet.", + "title": "Mode", + "type": "string" }, - "WarmThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WarmThroughput", - "markdownDescription": "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both.", - "title": "WarmThroughput" + "StorageProfileId": { + "markdownDescription": "The storage profile ID for the customer managed fleet.", + "title": "StorageProfileId", + "type": "string" }, - "WriteOnDemandThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteOnDemandThroughputSettings", - "markdownDescription": "Sets the write request settings for a global table or a global secondary index. You can only specify this setting if your resource uses the `PAY_PER_REQUEST` `BillingMode` .", - "title": "WriteOnDemandThroughputSettings" + "TagPropagationMode": { + "markdownDescription": "The tag propagation mode for the customer managed fleet.", + "title": "TagPropagationMode", + "type": "string" }, - "WriteProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings", - "markdownDescription": "Defines write capacity settings for the global secondary index. You must specify a value for this property if the table's `BillingMode` is `PROVISIONED` . All replicas will have the same write capacity settings for this global secondary index.", - "title": "WriteProvisionedThroughputSettings" + "WorkerCapabilities": { + "$ref": "#/definitions/AWS::Deadline::Fleet.CustomerManagedWorkerCapabilities", + "markdownDescription": "The worker capabilities for the customer managed fleet.", + "title": "WorkerCapabilities" } }, "required": [ - "IndexName", - "KeySchema", - "Projection" + "Mode", + "WorkerCapabilities" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.GlobalTableWitness": { + "AWS::Deadline::Fleet.CustomerManagedWorkerCapabilities": { "additionalProperties": false, "properties": { - "Region": { - "markdownDescription": "The name of the AWS Region that serves as a witness for the MRSC global table.", - "title": "Region", + "AcceleratorCount": { + "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorCountRange", + "markdownDescription": "The range of the accelerator.", + "title": "AcceleratorCount" + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorTotalMemoryMiBRange", + "markdownDescription": "The total memory (MiB) for the customer managed worker capabilities.", + "title": "AcceleratorTotalMemoryMiB" + }, + "AcceleratorTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The accelerator types for the customer managed worker capabilities.", + "title": "AcceleratorTypes", + "type": "array" + }, + "CpuArchitectureType": { + "markdownDescription": "The CPU architecture type for the customer managed worker capabilities.", + "title": "CpuArchitectureType", + "type": "string" + }, + "CustomAmounts": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAmountCapability" + }, + "markdownDescription": "Custom requirement ranges for customer managed worker capabilities.", + "title": "CustomAmounts", + "type": "array" + }, + "CustomAttributes": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAttributeCapability" + }, + "markdownDescription": "Custom attributes for the customer manged worker capabilities.", + "title": "CustomAttributes", + "type": "array" + }, + "MemoryMiB": { + "$ref": "#/definitions/AWS::Deadline::Fleet.MemoryMiBRange", + "markdownDescription": "The memory (MiB).", + "title": "MemoryMiB" + }, + "OsFamily": { + "markdownDescription": "The operating system (OS) family.", + "title": "OsFamily", "type": "string" + }, + "VCpuCount": { + "$ref": "#/definitions/AWS::Deadline::Fleet.VCpuCountRange", + "markdownDescription": "The vCPU count for the customer manged worker capabilities.", + "title": "VCpuCount" } }, + "required": [ + "CpuArchitectureType", + "MemoryMiB", + "OsFamily", + "VCpuCount" + ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.KeySchema": { + "AWS::Deadline::Fleet.Ec2EbsVolume": { "additionalProperties": false, "properties": { - "AttributeName": { - "markdownDescription": "The name of a key attribute.", - "title": "AttributeName", - "type": "string" + "Iops": { + "markdownDescription": "The IOPS per volume.", + "title": "Iops", + "type": "number" }, - "KeyType": { - "markdownDescription": "The role that this key attribute will assume:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", - "title": "KeyType", - "type": "string" + "SizeGiB": { + "markdownDescription": "The EBS volume size in GiB.", + "title": "SizeGiB", + "type": "number" + }, + "ThroughputMiB": { + "markdownDescription": "The throughput per volume in MiB.", + "title": "ThroughputMiB", + "type": "number" } }, - "required": [ - "AttributeName", - "KeyType" - ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.KinesisStreamSpecification": { + "AWS::Deadline::Fleet.FleetAmountCapability": { "additionalProperties": false, "properties": { - "ApproximateCreationDateTimePrecision": { - "markdownDescription": "The precision for the time and date that the stream was created.", - "title": "ApproximateCreationDateTimePrecision", - "type": "string" + "Max": { + "markdownDescription": "The maximum amount of the fleet worker capability.", + "title": "Max", + "type": "number" }, - "StreamArn": { - "markdownDescription": "The ARN for a specific Kinesis data stream.", - "title": "StreamArn", + "Min": { + "markdownDescription": "The minimum amount of fleet worker capability.", + "title": "Min", + "type": "number" + }, + "Name": { + "markdownDescription": "The name of the fleet capability.", + "title": "Name", "type": "string" } }, "required": [ - "StreamArn" + "Min", + "Name" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.LocalSecondaryIndex": { + "AWS::Deadline::Fleet.FleetAttributeCapability": { "additionalProperties": false, "properties": { - "IndexName": { - "markdownDescription": "The name of the local secondary index. The name must be unique among all other indexes on this table.", - "title": "IndexName", + "Name": { + "markdownDescription": "The name of the fleet attribute capability for the worker.", + "title": "Name", "type": "string" }, - "KeySchema": { + "Values": { "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + "type": "string" }, - "markdownDescription": "The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", - "title": "KeySchema", + "markdownDescription": "The number of fleet attribute capabilities.", + "title": "Values", "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection", - "markdownDescription": "Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", - "title": "Projection" } }, "required": [ - "IndexName", - "KeySchema", - "Projection" + "Name", + "Values" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification": { + "AWS::Deadline::Fleet.FleetCapabilities": { "additionalProperties": false, "properties": { - "PointInTimeRecoveryEnabled": { - "markdownDescription": "Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.", - "title": "PointInTimeRecoveryEnabled", - "type": "boolean" + "Amounts": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAmountCapability" + }, + "markdownDescription": "Amount capabilities of the fleet.", + "title": "Amounts", + "type": "array" }, - "RecoveryPeriodInDays": { - "markdownDescription": "The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. This parameter is optional. If no value is provided, the value will default to 35.", - "title": "RecoveryPeriodInDays", - "type": "number" + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAttributeCapability" + }, + "markdownDescription": "Attribute capabilities of the fleet.", + "title": "Attributes", + "type": "array" } }, "type": "object" }, - "AWS::DynamoDB::GlobalTable.Projection": { + "AWS::Deadline::Fleet.FleetConfiguration": { "additionalProperties": false, "properties": { - "NonKeyAttributes": { - "items": { - "type": "string" - }, - "markdownDescription": "Represents the non-key attribute names which will be projected into the index.\n\nFor global and local secondary indexes, the total count of `NonKeyAttributes` summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. This limit only applies when you specify the ProjectionType of `INCLUDE` . You still can specify the ProjectionType of `ALL` to project all attributes from the source table, even if the table has more than 100 attributes.", - "title": "NonKeyAttributes", - "type": "array" + "CustomerManaged": { + "$ref": "#/definitions/AWS::Deadline::Fleet.CustomerManagedFleetConfiguration", + "markdownDescription": "The customer managed fleets within a fleet configuration.", + "title": "CustomerManaged" }, - "ProjectionType": { - "markdownDescription": "The set of attributes that are projected into the index:\n\n- `KEYS_ONLY` - Only the index and primary keys are projected into the index.\n- `INCLUDE` - In addition to the attributes described in `KEYS_ONLY` , the secondary index will include other non-key attributes that you specify.\n- `ALL` - All of the table attributes are projected into the index.\n\nWhen using the DynamoDB console, `ALL` is selected by default.", - "title": "ProjectionType", - "type": "string" + "ServiceManagedEc2": { + "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2FleetConfiguration", + "markdownDescription": "The service managed Amazon EC2 instances for a fleet configuration.", + "title": "ServiceManagedEc2" } }, "type": "object" }, - "AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings": { + "AWS::Deadline::Fleet.HostConfiguration": { "additionalProperties": false, "properties": { - "MaxReadRequestUnits": { - "markdownDescription": "Maximum number of read request units for the specified replica of a global table.", - "title": "MaxReadRequestUnits", + "ScriptBody": { + "markdownDescription": "The text of the script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet. The script runs after a worker enters the `STARTING` state and before the worker processes tasks.\n\nFor more information about using the script, see [Run scripts as an administrator to configure workers](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/smf-admin.html) in the *Deadline Cloud Developer Guide* .\n\n> The script runs as an administrative user ( `sudo root` on Linux, as an Administrator on Windows).", + "title": "ScriptBody", + "type": "string" + }, + "ScriptTimeoutSeconds": { + "markdownDescription": "The maximum time that the host configuration can run. If the timeout expires, the worker enters the `NOT RESPONDING` state and shuts down. You are charged for the time that the worker is running the host configuration script.\n\n> You should configure your fleet for a maximum of one worker while testing your host configuration script to avoid starting additional workers. \n\nThe default is 300 seconds (5 minutes).", + "title": "ScriptTimeoutSeconds", "type": "number" } }, + "required": [ + "ScriptBody" + ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings": { + "AWS::Deadline::Fleet.MemoryMiBRange": { "additionalProperties": false, "properties": { - "ReadCapacityAutoScalingSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings", - "markdownDescription": "Specifies auto scaling settings for the replica table or global secondary index.", - "title": "ReadCapacityAutoScalingSettings" + "Max": { + "markdownDescription": "The maximum amount of memory (in MiB).", + "title": "Max", + "type": "number" }, - "ReadCapacityUnits": { - "markdownDescription": "Specifies a fixed read capacity for the replica table or global secondary index.", - "title": "ReadCapacityUnits", + "Min": { + "markdownDescription": "The minimum amount of memory (in MiB).", + "title": "Min", "type": "number" } }, + "required": [ + "Min" + ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification": { + "AWS::Deadline::Fleet.PersistentVolumeConfiguration": { "additionalProperties": false, "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification", - "markdownDescription": "Updates the status for contributor insights for a specific table or index. CloudWatch Contributor Insights for DynamoDB graphs display the partition key and (if applicable) sort key of frequently accessed items and frequently throttled items in plaintext. If you require the use of AWS Key Management Service (KMS) to encrypt this table\u2019s partition key and sort key data with an AWS managed key or customer managed key, you should not enable CloudWatch Contributor Insights for DynamoDB for this table.", - "title": "ContributorInsightsSpecification" - }, - "IndexName": { - "markdownDescription": "The name of the global secondary index. The name must be unique among all other indexes on this table.", - "title": "IndexName", + "Iops": { + "type": "number" + }, + "LastUsedTtlHours": { + "type": "number" + }, + "MountPath": { "type": "string" }, - "ReadOnDemandThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings", - "markdownDescription": "Sets the read request settings for a replica global secondary index. You can only specify this setting if your resource uses the `PAY_PER_REQUEST` `BillingMode` .", - "title": "ReadOnDemandThroughputSettings" + "SizeGiB": { + "type": "number" }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings", - "markdownDescription": "Allows you to specify the read capacity settings for a replica global secondary index when the `BillingMode` is set to `PROVISIONED` .", - "title": "ReadProvisionedThroughputSettings" + "ThroughputMiB": { + "type": "number" } }, "required": [ - "IndexName" + "MountPath" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.ReplicaSSESpecification": { + "AWS::Deadline::Fleet.ServiceManagedEc2AutoScalingConfiguration": { "additionalProperties": false, "properties": { - "KMSMasterKeyId": { - "markdownDescription": "The AWS key that should be used for the AWS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key `alias/aws/dynamodb` .", - "title": "KMSMasterKeyId", - "type": "string" + "ScaleOutWorkersPerMinute": { + "type": "number" + }, + "StandbyWorkerCount": { + "type": "number" + }, + "WorkerIdleDurationSeconds": { + "type": "number" } }, - "required": [ - "KMSMasterKeyId" - ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.ReplicaSpecification": { + "AWS::Deadline::Fleet.ServiceManagedEc2FleetConfiguration": { "additionalProperties": false, "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification", - "markdownDescription": "The settings used to enable or disable CloudWatch Contributor Insights for the specified replica. When not specified, defaults to contributor insights disabled for the replica.", - "title": "ContributorInsightsSpecification" - }, - "DeletionProtectionEnabled": { - "markdownDescription": "Determines if a replica is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .", - "title": "DeletionProtectionEnabled", - "type": "boolean" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification" - }, - "markdownDescription": "Defines additional settings for the global secondary indexes of this replica.", - "title": "GlobalSecondaryIndexes", - "type": "array" - }, - "GlobalTableSettingsReplicationMode": { - "type": "string" - }, - "KinesisStreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KinesisStreamSpecification", - "markdownDescription": "Defines the Kinesis Data Streams configuration for the specified replica.", - "title": "KinesisStreamSpecification" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification", - "markdownDescription": "The settings used to enable point in time recovery. When not specified, defaults to point in time recovery disabled for the replica.", - "title": "PointInTimeRecoverySpecification" - }, - "ReadOnDemandThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings", - "markdownDescription": "Sets read request settings for the replica table.", - "title": "ReadOnDemandThroughputSettings" - }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings", - "markdownDescription": "Defines read capacity settings for the replica table.", - "title": "ReadProvisionedThroughputSettings" - }, - "Region": { - "markdownDescription": "The region in which this replica exists.", - "title": "Region", - "type": "string" + "AutoScalingConfiguration": { + "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2AutoScalingConfiguration" }, - "ReplicaStreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification", - "markdownDescription": "Represents the DynamoDB Streams configuration for a global table replica.", - "title": "ReplicaStreamSpecification" + "InstanceCapabilities": { + "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2InstanceCapabilities", + "markdownDescription": "The instance capabilities for the service managed EC2 fleet.", + "title": "InstanceCapabilities" }, - "ResourcePolicy": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy", - "markdownDescription": "A resource-based policy document that contains permissions to add to the specified replica of a DynamoDB global table. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.\n\nIn a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", - "title": "ResourcePolicy" + "InstanceMarketOptions": { + "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2InstanceMarketOptions", + "markdownDescription": "The instance market options for the service managed EC2 fleet.", + "title": "InstanceMarketOptions" }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification", - "markdownDescription": "Allows you to specify a customer-managed key for the replica. When using customer-managed keys for server-side encryption, this property must have a value in all replicas.", - "title": "SSESpecification" + "PersistentVolumeConfiguration": { + "$ref": "#/definitions/AWS::Deadline::Fleet.PersistentVolumeConfiguration" }, - "TableClass": { - "markdownDescription": "The table class of the specified table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS` .", - "title": "TableClass", + "StorageProfileId": { + "markdownDescription": "The storage profile ID for the service managed EC2 fleet.", + "title": "StorageProfileId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to this replica.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", - "type": "array" + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Deadline::Fleet.VpcConfiguration", + "markdownDescription": "The VPC configuration for the service managed EC2 fleet.", + "title": "VpcConfiguration" } }, "required": [ - "Region" + "InstanceCapabilities", + "InstanceMarketOptions" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification": { + "AWS::Deadline::Fleet.ServiceManagedEc2InstanceCapabilities": { "additionalProperties": false, "properties": { - "ResourcePolicy": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy", - "markdownDescription": "A resource-based policy document that contains the permissions for the specified stream of a DynamoDB global table replica. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.\n\nIn a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .\n\nYou can update the `ResourcePolicy` property if you've specified more than one table using the [AWS ::DynamoDB::GlobalTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html) resource.", - "title": "ResourcePolicy" + "AcceleratorCapabilities": { + "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorCapabilities", + "markdownDescription": "Describes the GPU accelerator capabilities required for worker host instances in this fleet.", + "title": "AcceleratorCapabilities" }, - "Tags": { + "AllowedInstanceTypes": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, + "markdownDescription": "The allowable Amazon EC2 instance types.", + "title": "AllowedInstanceTypes", "type": "array" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ResourcePolicy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "markdownDescription": "A resource-based policy document that contains permissions to add to the specified DynamoDB table, its indexes, and stream. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", - "title": "PolicyDocument", - "type": "object" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.SSESpecification": { - "additionalProperties": false, - "properties": { - "SSEEnabled": { - "markdownDescription": "Indicates whether server-side encryption is performed using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to KMS and an AWS managed key is used ( AWS charges apply). If disabled (false) or not specified,server-side encryption is set to an AWS owned key. If you choose to use KMS encryption, you can also use customer managed KMS keys by specifying them in the `ReplicaSpecification.SSESpecification` object. You cannot mix AWS managed and customer managed KMS keys.", - "title": "SSEEnabled", - "type": "boolean" }, - "SSEType": { - "markdownDescription": "Server-side encryption type. The only supported value is:\n\n- `KMS` - Server-side encryption that uses AWS Key Management Service . The key is stored in your account and is managed by AWS ( AWS charges apply).", - "title": "SSEType", - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.StreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "markdownDescription": "When an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table. Valid values for `StreamViewType` are:\n\n- `KEYS_ONLY` - Only the key attributes of the modified item are written to the stream.\n- `NEW_IMAGE` - The entire item, as it appears after it was modified, is written to the stream.\n- `OLD_IMAGE` - The entire item, as it appeared before it was modified, is written to the stream.\n- `NEW_AND_OLD_IMAGES` - Both the new and the old item images of the item are written to the stream.", - "title": "StreamViewType", + "CpuArchitectureType": { + "markdownDescription": "The CPU architecture type.", + "title": "CpuArchitectureType", "type": "string" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "DisableScaleIn": { - "markdownDescription": "Indicates whether scale in by the target tracking scaling policy is disabled. The default value is `false` .", - "title": "DisableScaleIn", - "type": "boolean" }, - "ScaleInCooldown": { - "markdownDescription": "The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start.", - "title": "ScaleInCooldown", - "type": "number" + "CustomAmounts": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAmountCapability" + }, + "markdownDescription": "The custom capability amounts to require for instances in this fleet.", + "title": "CustomAmounts", + "type": "array" }, - "ScaleOutCooldown": { - "markdownDescription": "The amount of time, in seconds, after a scale-out activity completes before another scale-out activity can start.", - "title": "ScaleOutCooldown", - "type": "number" + "CustomAttributes": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAttributeCapability" + }, + "markdownDescription": "The custom capability attributes to require for instances in this fleet.", + "title": "CustomAttributes", + "type": "array" }, - "TargetValue": { - "markdownDescription": "Defines a target value for the scaling policy.", - "title": "TargetValue", - "type": "number" + "ExcludedInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The instance types to exclude from the fleet.", + "title": "ExcludedInstanceTypes", + "type": "array" + }, + "MemoryMiB": { + "$ref": "#/definitions/AWS::Deadline::Fleet.MemoryMiBRange", + "markdownDescription": "The memory, as MiB, for the Amazon EC2 instance type.", + "title": "MemoryMiB" + }, + "OsFamily": { + "markdownDescription": "The operating system (OS) family.", + "title": "OsFamily", + "type": "string" + }, + "RootEbsVolume": { + "$ref": "#/definitions/AWS::Deadline::Fleet.Ec2EbsVolume", + "markdownDescription": "The root EBS volume.", + "title": "RootEbsVolume" + }, + "VCpuCount": { + "$ref": "#/definitions/AWS::Deadline::Fleet.VCpuCountRange", + "markdownDescription": "The amount of vCPU to require for instances in this fleet.", + "title": "VCpuCount" } }, "required": [ - "TargetValue" + "CpuArchitectureType", + "MemoryMiB", + "OsFamily", + "VCpuCount" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.TimeToLiveSpecification": { + "AWS::Deadline::Fleet.ServiceManagedEc2InstanceMarketOptions": { "additionalProperties": false, "properties": { - "AttributeName": { - "markdownDescription": "The name of the attribute used to store the expiration time for items in the table.\n\nCurrently, you cannot directly change the attribute name used to evaluate time to live. In order to do so, you must first disable time to live, and then re-enable it with the new attribute name. It can take up to one hour for changes to time to live to take effect. If you attempt to modify time to live within that time window, your stack operation might be delayed.", - "title": "AttributeName", + "Type": { + "markdownDescription": "The Amazon EC2 instance type.", + "title": "Type", "type": "string" - }, - "Enabled": { - "markdownDescription": "Indicates whether TTL is to be enabled (true) or disabled (false) on the table.", - "title": "Enabled", - "type": "boolean" } }, "required": [ - "Enabled" + "Type" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.WarmThroughput": { + "AWS::Deadline::Fleet.VCpuCountRange": { "additionalProperties": false, "properties": { - "ReadUnitsPerSecond": { - "markdownDescription": "Represents the number of read operations your base table can instantaneously support.", - "title": "ReadUnitsPerSecond", + "Max": { + "markdownDescription": "The maximum amount of vCPU.", + "title": "Max", "type": "number" }, - "WriteUnitsPerSecond": { - "markdownDescription": "Represents the number of write operations your base table can instantaneously support.", - "title": "WriteUnitsPerSecond", - "type": "number" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.WriteOnDemandThroughputSettings": { - "additionalProperties": false, - "properties": { - "MaxWriteRequestUnits": { - "markdownDescription": "Maximum number of write request settings for the specified replica of a global table.", - "title": "MaxWriteRequestUnits", + "Min": { + "markdownDescription": "The minimum amount of vCPU.", + "title": "Min", "type": "number" } }, + "required": [ + "Min" + ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings": { + "AWS::Deadline::Fleet.VpcConfiguration": { "additionalProperties": false, "properties": { - "WriteCapacityAutoScalingSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings", - "markdownDescription": "Specifies auto scaling settings for the replica table or global secondary index.", - "title": "WriteCapacityAutoScalingSettings" + "ResourceConfigurationArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The ARNs of the VPC Lattice resource configurations attached to the fleet.", + "title": "ResourceConfigurationArns", + "type": "array" } }, "type": "object" }, - "AWS::DynamoDB::Stream": { + "AWS::Deadline::Job": { "additionalProperties": false, "properties": { "Condition": { @@ -118619,18 +118376,36 @@ "Properties": { "additionalProperties": false, "properties": { - "StreamViewType": { + "FarmId": { "type": "string" }, - "TableName": { + "MaxFailedTasksCount": { + "type": "number" + }, + "MaxRetriesPerTask": { + "type": "number" + }, + "MaxWorkerCount": { + "type": "number" + }, + "Priority": { + "type": "number" + }, + "QueueId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::Stream" + "AWS::Deadline::Job" ], "type": "string" }, @@ -118648,35 +118423,12 @@ ], "type": "object" }, - "AWS::DynamoDB::Stream.KeySchemaItems": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "KeyType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table": { + "AWS::Deadline::LicenseEndpoint": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, - "Connectors": { - "additionalProperties": { - "$ref": "#/definitions/EmbeddedConnector" - }, - "title": "Connectors", - "type": "object" - }, "DeletionPolicy": { "enum": [ "Delete", @@ -118706,130 +118458,46 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" - }, - "markdownDescription": "A list of attributes that describe the key schema for the table and indexes.\n\nThis property is required to create a DynamoDB table.\n\nUpdate requires: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . Replacement if you edit an existing AttributeDefinition.", - "title": "AttributeDefinitions", - "type": "array" - }, - "BillingMode": { - "markdownDescription": "Specify how you are charged for read and write throughput and how you manage capacity.\n\nValid values include:\n\n- `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for most DynamoDB workloads. `PAY_PER_REQUEST` sets the billing mode to [On-demand capacity mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html) .\n- `PROVISIONED` - We recommend using `PROVISIONED` for steady workloads with predictable growth where capacity requirements can be reliably forecasted. `PROVISIONED` sets the billing mode to [Provisioned capacity mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html) .\n\nIf not specified, the default is `PROVISIONED` .", - "title": "BillingMode", - "type": "string" - }, - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification", - "markdownDescription": "The settings used to specify whether to enable CloudWatch Contributor Insights for the table and define which events to monitor.", - "title": "ContributorInsightsSpecification" - }, - "DeletionProtectionEnabled": { - "markdownDescription": "Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .", - "title": "DeletionProtectionEnabled", - "type": "boolean" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" - }, - "markdownDescription": "Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes.\n\n> If you update a table to include a new global secondary index, AWS CloudFormation initiates the index creation and then proceeds with the stack update. AWS CloudFormation doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is `ACTIVE` . You can track its status by using the DynamoDB [DescribeTable](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html) command.\n> \n> If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index.\n> \n> Updates are not supported. The following are exceptions:\n> \n> - If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption.\n> - You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.", - "title": "GlobalSecondaryIndexes", - "type": "array" - }, - "ImportSourceSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ImportSourceSpecification", - "markdownDescription": "Specifies the properties of data being imported from the S3 bucket source to the\" table.\n\n> If you specify the `ImportSourceSpecification` property, and also specify either the `StreamSpecification` , the `TableClass` property, the `DeletionProtectionEnabled` property, or the `WarmThroughput` property, the IAM entity creating/updating stack must have `UpdateTable` permission.", - "title": "ImportSourceSpecification" - }, - "KeySchema": { + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + "type": "string" }, - "markdownDescription": "Specifies the attributes that make up the primary key for the table. The attributes in the `KeySchema` property must also be defined in the `AttributeDefinitions` property.", - "title": "KeySchema", + "markdownDescription": "The identifier of the Amazon EC2 security group that controls access to the license endpoint.", + "title": "SecurityGroupIds", "type": "array" }, - "KinesisStreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification", - "markdownDescription": "The Kinesis Data Streams configuration for the specified table.", - "title": "KinesisStreamSpecification" - }, - "LocalSecondaryIndexes": { + "SubnetIds": { "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" + "type": "string" }, - "markdownDescription": "Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.", - "title": "LocalSecondaryIndexes", + "markdownDescription": "Identifies the VPC subnets that can connect to a license endpoint.", + "title": "SubnetIds", "type": "array" }, - "OnDemandThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.OnDemandThroughput", - "markdownDescription": "Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify `MaxReadRequestUnits` , `MaxWriteRequestUnits` , or both.", - "title": "OnDemandThroughput" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification", - "markdownDescription": "The settings used to enable point in time recovery.", - "title": "PointInTimeRecoverySpecification" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput", - "markdownDescription": "Throughput for the specified table, which consists of values for `ReadCapacityUnits` and `WriteCapacityUnits` . For more information about the contents of a provisioned throughput structure, see [Amazon DynamoDB Table ProvisionedThroughput](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html) .\n\nIf you set `BillingMode` as `PROVISIONED` , you must specify this property. If you set `BillingMode` as `PAY_PER_REQUEST` , you cannot specify this property.", - "title": "ProvisionedThroughput" - }, - "ResourcePolicy": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy", - "markdownDescription": "An AWS resource-based policy document in JSON format that will be attached to the table.\n\nWhen you attach a resource-based policy while creating a table, the policy application is *strongly consistent* .\n\nThe maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that apply for resource-based policies, see [Resource-based policy considerations](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html) .\n\n> You need to specify the `CreateTable` and `PutResourcePolicy` IAM actions for authorizing a user to create a table with a resource-based policy.", - "title": "ResourcePolicy" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification", - "markdownDescription": "Specifies the settings to enable server-side encryption.", - "title": "SSESpecification" - }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification", - "markdownDescription": "The settings for the DynamoDB table stream, which captures changes to items stored in the table. Including this property in your AWS CloudFormation template automatically enables streaming.", - "title": "StreamSpecification" - }, - "TableClass": { - "markdownDescription": "The table class of the new table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS` .", - "title": "TableClass", - "type": "string" - }, - "TableName": { - "markdownDescription": "A name for the table. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the table name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "TableName", - "type": "string" - }, "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) .", + "markdownDescription": "The tags to add to your license endpoint. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", "title": "Tags", "type": "array" }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification", - "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" - }, - "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.", - "title": "WarmThroughput" + "VpcId": { + "markdownDescription": "The VPC (virtual private cloud) ID associated with the license endpoint.", + "title": "VpcId", + "type": "string" } }, "required": [ - "KeySchema" + "SecurityGroupIds", + "SubnetIds", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::Table" + "AWS::Deadline::LicenseEndpoint" ], "type": "string" }, @@ -118848,416 +118516,165 @@ ], "type": "object" }, - "AWS::DynamoDB::Table.AttributeDefinition": { + "AWS::Deadline::Limit": { "additionalProperties": false, "properties": { - "AttributeName": { - "markdownDescription": "A name for the attribute.", - "title": "AttributeName", - "type": "string" - }, - "AttributeType": { - "markdownDescription": "The data type for the attribute, where:\n\n- `S` - the attribute is of type String\n- `N` - the attribute is of type Number\n- `B` - the attribute is of type Binary", - "title": "AttributeType", + "Condition": { "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.ContributorInsightsSpecification": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).", - "title": "Enabled", - "type": "boolean" }, - "Mode": { - "markdownDescription": "Specifies the CloudWatch Contributor Insights mode for a table. Valid values are `ACCESSED_AND_THROTTLED_KEYS` (tracks all access and throttled events) or `THROTTLED_KEYS` (tracks only throttled events). This setting determines what type of contributor insights data is collected for the table.", - "title": "Mode", - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.Csv": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "markdownDescription": "The delimiter used for separating items in the CSV file being imported.", - "title": "Delimiter", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "HeaderList": { - "items": { - "type": "string" - }, - "markdownDescription": "List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.", - "title": "HeaderList", - "type": "array" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.GlobalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification", - "markdownDescription": "The settings used to specify whether to enable CloudWatch Contributor Insights for the global table and define which events to monitor.", - "title": "ContributorInsightsSpecification" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IndexName": { - "markdownDescription": "The name of the global secondary index. The name must be unique among all other indexes on this table.", - "title": "IndexName", - "type": "string" + "Metadata": { + "type": "object" }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + "Properties": { + "additionalProperties": false, + "properties": { + "AmountRequirementName": { + "markdownDescription": "The value that you specify as the `name` in the `amounts` field of the `hostRequirements` in a step of a job template to declare the limit requirement.", + "title": "AmountRequirementName", + "type": "string" + }, + "Description": { + "markdownDescription": "A description of the limit. A clear description helps you identify the purpose of the limit.\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": "Description", + "type": "string" + }, + "DisplayName": { + "markdownDescription": "The name of the limit used in lists to identify the limit.\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 unique identifier of the farm that contains the limit.", + "title": "FarmId", + "type": "string" + }, + "MaxCount": { + "markdownDescription": "The maximum number of resources constrained by this limit. When all of the resources are in use, steps that require the limit won't be scheduled until the resource is available.\n\nThe `maxValue` must not be 0. If the value is -1, there is no restriction on the number of resources that can be acquired for this limit.", + "title": "MaxCount", + "type": "number" + } }, - "markdownDescription": "The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", - "title": "KeySchema", - "type": "array" - }, - "OnDemandThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.OnDemandThroughput", - "markdownDescription": "The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify `MaxReadRequestUnits` , `MaxWriteRequestUnits` , or both. You must use either `OnDemandThroughput` or `ProvisionedThroughput` based on your table's capacity mode.", - "title": "OnDemandThroughput" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection", - "markdownDescription": "Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", - "title": "Projection" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput", - "markdownDescription": "Represents the provisioned throughput settings for the specified global secondary index. You must use either `OnDemandThroughput` or `ProvisionedThroughput` based on your table's capacity mode.\n\nFor current minimum and maximum provisioned throughput values, see [Service, Account, and Table Quotas](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the *Amazon DynamoDB Developer Guide* .", - "title": "ProvisionedThroughput" - }, - "WarmThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.WarmThroughput", - "markdownDescription": "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both.", - "title": "WarmThroughput" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.ImportSourceSpecification": { - "additionalProperties": false, - "properties": { - "InputCompressionType": { - "markdownDescription": "Type of compression to be used on the input coming from the imported table.", - "title": "InputCompressionType", - "type": "string" - }, - "InputFormat": { - "markdownDescription": "The format of the source data. Valid values for `ImportFormat` are `CSV` , `DYNAMODB_JSON` or `ION` .", - "title": "InputFormat", - "type": "string" - }, - "InputFormatOptions": { - "$ref": "#/definitions/AWS::DynamoDB::Table.InputFormatOptions", - "markdownDescription": "Additional properties that specify how the input is formatted,", - "title": "InputFormatOptions" + "required": [ + "AmountRequirementName", + "DisplayName", + "FarmId", + "MaxCount" + ], + "type": "object" }, - "S3BucketSource": { - "$ref": "#/definitions/AWS::DynamoDB::Table.S3BucketSource", - "markdownDescription": "The S3 bucket that provides the source for the import.", - "title": "S3BucketSource" - } - }, - "required": [ - "InputFormat", - "S3BucketSource" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.InputFormatOptions": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Csv", - "markdownDescription": "The options for imported source files in CSV format. The values are Delimiter and HeaderList.", - "title": "Csv" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.KeySchema": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "markdownDescription": "The name of a key attribute.", - "title": "AttributeName", + "Type": { + "enum": [ + "AWS::Deadline::Limit" + ], "type": "string" }, - "KeyType": { - "markdownDescription": "The role that this key attribute will assume:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", - "title": "KeyType", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "AttributeName", - "KeyType" + "Type", + "Properties" ], "type": "object" }, - "AWS::DynamoDB::Table.KinesisStreamSpecification": { + "AWS::Deadline::MeteredProduct": { "additionalProperties": false, "properties": { - "ApproximateCreationDateTimePrecision": { - "markdownDescription": "The precision for the time and date that the stream was created.", - "title": "ApproximateCreationDateTimePrecision", + "Condition": { "type": "string" }, - "StreamArn": { - "markdownDescription": "The ARN for a specific Kinesis data stream.\n\nLength Constraints: Minimum length of 37. Maximum length of 1024.", - "title": "StreamArn", - "type": "string" - } - }, - "required": [ - "StreamArn" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.LocalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "markdownDescription": "The name of the local secondary index. The name must be unique among all other indexes on this table.", - "title": "IndexName", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "markdownDescription": "The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", - "title": "KeySchema", - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection", - "markdownDescription": "Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", - "title": "Projection" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.OnDemandThroughput": { - "additionalProperties": false, - "properties": { - "MaxReadRequestUnits": { - "markdownDescription": "Maximum number of read request units for the specified table.\n\nTo specify a maximum `OnDemandThroughput` on your table, set the value of `MaxReadRequestUnits` as greater than or equal to 1. To remove the maximum `OnDemandThroughput` that is currently set on your table, set the value of `MaxReadRequestUnits` to -1.", - "title": "MaxReadRequestUnits", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MaxWriteRequestUnits": { - "markdownDescription": "Maximum number of write request units for the specified table.\n\nTo specify a maximum `OnDemandThroughput` on your table, set the value of `MaxWriteRequestUnits` as greater than or equal to 1. To remove the maximum `OnDemandThroughput` that is currently set on your table, set the value of `MaxWriteRequestUnits` to -1.", - "title": "MaxWriteRequestUnits", - "type": "number" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { - "additionalProperties": false, - "properties": { - "PointInTimeRecoveryEnabled": { - "markdownDescription": "Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.", - "title": "PointInTimeRecoveryEnabled", - "type": "boolean" + "Metadata": { + "type": "object" }, - "RecoveryPeriodInDays": { - "markdownDescription": "The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. This parameter is optional. If no value is provided, the value will default to 35.", - "title": "RecoveryPeriodInDays", - "type": "number" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.Projection": { - "additionalProperties": false, - "properties": { - "NonKeyAttributes": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "LicenseEndpointId": { + "markdownDescription": "The Amazon EC2 identifier of the license endpoint.", + "title": "LicenseEndpointId", + "type": "string" + }, + "ProductId": { + "markdownDescription": "The product ID.", + "title": "ProductId", + "type": "string" + } }, - "markdownDescription": "Represents the non-key attribute names which will be projected into the index.\n\nFor global and local secondary indexes, the total count of `NonKeyAttributes` summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. This limit only applies when you specify the ProjectionType of `INCLUDE` . You still can specify the ProjectionType of `ALL` to project all attributes from the source table, even if the table has more than 100 attributes.", - "title": "NonKeyAttributes", - "type": "array" - }, - "ProjectionType": { - "markdownDescription": "The set of attributes that are projected into the index:\n\n- `KEYS_ONLY` - Only the index and primary keys are projected into the index.\n- `INCLUDE` - In addition to the attributes described in `KEYS_ONLY` , the secondary index will include other non-key attributes that you specify.\n- `ALL` - All of the table attributes are projected into the index.\n\nWhen using the DynamoDB console, `ALL` is selected by default.", - "title": "ProjectionType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "markdownDescription": "The maximum number of strongly consistent reads consumed per second before DynamoDB returns a `ThrottlingException` . For more information, see [Specifying Read and Write Requirements](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html) in the *Amazon DynamoDB Developer Guide* .\n\nIf read/write capacity mode is `PAY_PER_REQUEST` the value is set to 0.", - "title": "ReadCapacityUnits", - "type": "number" - }, - "WriteCapacityUnits": { - "markdownDescription": "The maximum number of writes consumed per second before DynamoDB returns a `ThrottlingException` . For more information, see [Specifying Read and Write Requirements](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html) in the *Amazon DynamoDB Developer Guide* .\n\nIf read/write capacity mode is `PAY_PER_REQUEST` the value is set to 0.", - "title": "WriteCapacityUnits", - "type": "number" - } - }, - "required": [ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.ResourcePolicy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "markdownDescription": "A resource-based policy document that contains permissions to add to the specified DynamoDB table, index, or both. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", - "title": "PolicyDocument", "type": "object" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.S3BucketSource": { - "additionalProperties": false, - "properties": { - "S3Bucket": { - "markdownDescription": "The S3 bucket that is being imported from.", - "title": "S3Bucket", - "type": "string" - }, - "S3BucketOwner": { - "markdownDescription": "The account number of the S3 bucket that is being imported from. If the bucket is owned by the requester this is optional.", - "title": "S3BucketOwner", - "type": "string" - }, - "S3KeyPrefix": { - "markdownDescription": "The key prefix shared by all S3 Objects that are being imported.", - "title": "S3KeyPrefix", - "type": "string" - } - }, - "required": [ - "S3Bucket" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.SSESpecification": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyId": { - "markdownDescription": "The AWS key that should be used for the AWS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key `alias/aws/dynamodb` .", - "title": "KMSMasterKeyId", - "type": "string" - }, - "SSEEnabled": { - "markdownDescription": "Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to `KMS` and an AWS managed key is used ( AWS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.", - "title": "SSEEnabled", - "type": "boolean" - }, - "SSEType": { - "markdownDescription": "Server-side encryption type. The only supported value is:\n\n- `KMS` - Server-side encryption that uses AWS Key Management Service . The key is stored in your account and is managed by AWS ( AWS charges apply).", - "title": "SSEType", - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.StreamSpecification": { - "additionalProperties": false, - "properties": { - "ResourcePolicy": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy", - "markdownDescription": "Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table's streams. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.\n\n> When you remove the `StreamSpecification` property from the template, DynamoDB disables the stream but retains any attached resource policy until the stream is deleted after 24 hours. When you modify the `StreamViewType` property, DynamoDB creates a new stream and retains the old stream's resource policy. The old stream and its resource policy are deleted after the 24-hour retention period. \n\nIn a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", - "title": "ResourcePolicy" }, - "StreamViewType": { - "markdownDescription": "When an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table. Valid values for `StreamViewType` are:\n\n- `KEYS_ONLY` - Only the key attributes of the modified item are written to the stream.\n- `NEW_IMAGE` - The entire item, as it appears after it was modified, is written to the stream.\n- `OLD_IMAGE` - The entire item, as it appeared before it was modified, is written to the stream.\n- `NEW_AND_OLD_IMAGES` - Both the new and the old item images of the item are written to the stream.", - "title": "StreamViewType", + "Type": { + "enum": [ + "AWS::Deadline::MeteredProduct" + ], "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.TimeToLiveSpecification": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "markdownDescription": "The name of the TTL attribute used to store the expiration time for items in the table.\n\n> - The `AttributeName` property is required when enabling the TTL, or when TTL is already enabled.\n> - To update this property, you must first disable TTL and then enable TTL with the new attribute name.", - "title": "AttributeName", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "Enabled": { - "markdownDescription": "Indicates whether TTL is to be enabled (true) or disabled (false) on the table.", - "title": "Enabled", - "type": "boolean" } }, "required": [ - "Enabled" + "Type" ], "type": "object" }, - "AWS::DynamoDB::Table.WarmThroughput": { - "additionalProperties": false, - "properties": { - "ReadUnitsPerSecond": { - "markdownDescription": "Represents the number of read operations your base table can instantaneously support.", - "title": "ReadUnitsPerSecond", - "type": "number" - }, - "WriteUnitsPerSecond": { - "markdownDescription": "Represents the number of write operations your base table can instantaneously support.", - "title": "WriteUnitsPerSecond", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::CapacityManagerDataExport": { + "AWS::Deadline::Monitor": { "additionalProperties": false, "properties": { "Condition": { @@ -119292,45 +118709,49 @@ "Properties": { "additionalProperties": false, "properties": { - "OutputFormat": { - "markdownDescription": "The file format of the exported data.", - "title": "OutputFormat", + "DisplayName": { + "markdownDescription": "The name of the monitor that displays on the Deadline Cloud console.\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" }, - "S3BucketName": { - "markdownDescription": "The name of the S3 bucket where export files are delivered.", - "title": "S3BucketName", + "IdentityCenterInstanceArn": { + "markdownDescription": "The Amazon Resource Name of the IAM Identity Center instance responsible for authenticating monitor users.", + "title": "IdentityCenterInstanceArn", "type": "string" }, - "S3BucketPrefix": { - "markdownDescription": "The S3 key prefix used for organizing export files within the bucket.", - "title": "S3BucketPrefix", + "IdentityCenterRegion": { "type": "string" }, - "Schedule": { - "markdownDescription": "The frequency at which data exports are generated.", - "title": "Schedule", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name of the IAM role for the monitor. Users of the monitor use this role to access Deadline Cloud resources.", + "title": "RoleArn", + "type": "string" + }, + "Subdomain": { + "markdownDescription": "The subdomain used for the monitor URL. The full URL of the monitor is subdomain.Region.deadlinecloud.amazonaws.com.", + "title": "Subdomain", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags associated with the data export configuration.", + "markdownDescription": "", "title": "Tags", "type": "array" } }, "required": [ - "OutputFormat", - "S3BucketName", - "Schedule" + "DisplayName", + "IdentityCenterInstanceArn", + "RoleArn", + "Subdomain" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CapacityManagerDataExport" + "AWS::Deadline::Monitor" ], "type": "string" }, @@ -119349,7 +118770,7 @@ ], "type": "object" }, - "AWS::EC2::CapacityReservation": { + "AWS::Deadline::Queue": { "additionalProperties": false, "properties": { "Condition": { @@ -119384,95 +118805,78 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone in which to create the Capacity Reservation.", - "title": "AvailabilityZone", - "type": "string" - }, - "AvailabilityZoneId": { - "markdownDescription": "The ID of the Availability Zone in which the capacity is reserved.", - "title": "AvailabilityZoneId", - "type": "string" - }, - "EbsOptimized": { - "markdownDescription": "Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance.", - "title": "EbsOptimized", - "type": "boolean" - }, - "EndDate": { - "markdownDescription": "The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to `expired` when it reaches its end date and time.\n\nYou must provide an `EndDate` value if `EndDateType` is `limited` . Omit `EndDate` if `EndDateType` is `unlimited` .\n\nIf the `EndDateType` is `limited` , the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.\n\nIf you are requesting a future-dated Capacity Reservation, you can't specify an end date and time that is within the commitment duration.", - "title": "EndDate", - "type": "string" + "AllowedStorageProfileIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The identifiers of the storage profiles that this queue can use to share assets between workers using different operating systems.", + "title": "AllowedStorageProfileIds", + "type": "array" }, - "EndDateType": { - "markdownDescription": "Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:\n\n- `unlimited` - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an `EndDate` if the `EndDateType` is `unlimited` .\n- `limited` - The Capacity Reservation expires automatically at a specified date and time. You must provide an `EndDate` value if the `EndDateType` value is `limited` .", - "title": "EndDateType", + "DefaultBudgetAction": { + "markdownDescription": "The default action taken on a queue summary if a budget wasn't configured.", + "title": "DefaultBudgetAction", "type": "string" }, - "EphemeralStorage": { - "markdownDescription": "*Deprecated.*", - "title": "EphemeralStorage", - "type": "boolean" - }, - "InstanceCount": { - "markdownDescription": "The number of instances for which to reserve capacity.\n\n> You can request future-dated Capacity Reservations for an instance count with a minimum of 32 vCPUs. For example, if you request a future-dated Capacity Reservation for `m5.xlarge` instances, you must request at least 8 instances ( *8 * m5.xlarge = 32 vCPUs* ). \n\nValid range: 1 - 1000", - "title": "InstanceCount", - "type": "number" - }, - "InstanceMatchCriteria": { - "markdownDescription": "Indicates the type of instance launches that the Capacity Reservation accepts. The options include:\n\n- `open` - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters.\n- `targeted` - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.\n\n> If you are requesting a future-dated Capacity Reservation, you must specify `targeted` . \n\nDefault: `open`", - "title": "InstanceMatchCriteria", + "Description": { + "markdownDescription": "A description of the queue that helps identify what the queue is used for.\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": "Description", "type": "string" }, - "InstancePlatform": { - "markdownDescription": "The type of operating system for which to reserve capacity.", - "title": "InstancePlatform", + "DisplayName": { + "markdownDescription": "The display name of the queue 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" }, - "InstanceType": { - "markdownDescription": "The instance type for which to reserve capacity.\n\n> You can request future-dated Capacity Reservations for instance types in the C, M, R, I, T, and G instance families only. \n\nFor more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .", - "title": "InstanceType", + "FarmId": { + "markdownDescription": "The farm ID.", + "title": "FarmId", "type": "string" }, - "OutPostArn": { - "markdownDescription": "> Not supported for future-dated Capacity Reservations. \n\nThe Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.", - "title": "OutPostArn", - "type": "string" + "JobAttachmentSettings": { + "$ref": "#/definitions/AWS::Deadline::Queue.JobAttachmentSettings", + "markdownDescription": "The job attachment settings. These are the Amazon S3 bucket name and the Amazon S3 prefix.", + "title": "JobAttachmentSettings" }, - "PlacementGroupArn": { - "markdownDescription": "> Not supported for future-dated Capacity Reservations. \n\nThe Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. For more information, see [Capacity Reservations for cluster placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html) in the *Amazon EC2 User Guide* .", - "title": "PlacementGroupArn", - "type": "string" + "JobRunAsUser": { + "$ref": "#/definitions/AWS::Deadline::Queue.JobRunAsUser", + "markdownDescription": "Identifies the user for a job.", + "title": "JobRunAsUser" }, - "TagSpecifications": { + "RequiredFileSystemLocationNames": { "items": { - "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + "type": "string" }, - "markdownDescription": "The tags to apply to the Capacity Reservation during launch.", - "title": "TagSpecifications", + "markdownDescription": "The file system location that the queue uses.", + "title": "RequiredFileSystemLocationNames", "type": "array" }, - "Tenancy": { - "markdownDescription": "Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:\n\n- `default` - The Capacity Reservation is created on hardware that is shared with other AWS accounts .\n- `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account .", - "title": "Tenancy", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that workers use when running jobs in this queue.", + "title": "RoleArn", "type": "string" }, - "UnusedReservationBillingOwnerId": { - "markdownDescription": "The ID of the AWS account to which to assign billing of the unused capacity of the Capacity Reservation. A request will be sent to the specified account. That account must accept the request for the billing to be assigned to their account. For more information, see [Billing assignment for shared Amazon EC2 Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/assign-billing.html) .\n\nYou can assign billing only for shared Capacity Reservations. To share a Capacity Reservation, you must add it to a resource share. For more information, see [AWS::RAM::ResourceShare](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html) .", - "title": "UnusedReservationBillingOwnerId", - "type": "string" + "SchedulingConfiguration": { + "$ref": "#/definitions/AWS::Deadline::Queue.SchedulingConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to add to your queue. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", + "title": "Tags", + "type": "array" } }, "required": [ - "InstanceCount", - "InstancePlatform", - "InstanceType" + "DisplayName", + "FarmId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CapacityReservation" + "AWS::Deadline::Queue" ], "type": "string" }, @@ -119491,58 +118895,166 @@ ], "type": "object" }, - "AWS::EC2::CapacityReservation.CapacityAllocation": { + "AWS::Deadline::Queue.JobAttachmentSettings": { "additionalProperties": false, "properties": { - "AllocationType": { - "markdownDescription": "The usage type. `used` indicates that the instance capacity is in use by instances that are running in the Capacity Reservation.", - "title": "AllocationType", + "RootPrefix": { + "markdownDescription": "The root prefix.", + "title": "RootPrefix", "type": "string" }, - "Count": { - "markdownDescription": "The amount of instance capacity associated with the usage. For example a value of `4` indicates that instance capacity for 4 instances is currently in use.", - "title": "Count", - "type": "number" + "S3BucketName": { + "markdownDescription": "The Amazon S3 bucket name.", + "title": "S3BucketName", + "type": "string" + } + }, + "required": [ + "RootPrefix", + "S3BucketName" + ], + "type": "object" + }, + "AWS::Deadline::Queue.JobRunAsUser": { + "additionalProperties": false, + "properties": { + "Posix": { + "$ref": "#/definitions/AWS::Deadline::Queue.PosixUser", + "markdownDescription": "The user and group that the jobs in the queue run as.", + "title": "Posix" + }, + "RunAs": { + "markdownDescription": "Specifies whether the job should run using the queue's system user or if the job should run using the worker agent system user.", + "title": "RunAs", + "type": "string" + }, + "Windows": { + "$ref": "#/definitions/AWS::Deadline::Queue.WindowsUser", + "markdownDescription": "Identifies a Microsoft Windows user.", + "title": "Windows" } }, + "required": [ + "RunAs" + ], "type": "object" }, - "AWS::EC2::CapacityReservation.CommitmentInfo": { + "AWS::Deadline::Queue.PosixUser": { "additionalProperties": false, "properties": { - "CommitmentEndDate": { - "markdownDescription": "The date and time at which the commitment duration expires, in the ISO8601 format in the UTC time zone ( `YYYY-MM-DDThh:mm:ss.sssZ` ). You can't decrease the instance count or cancel the Capacity Reservation before this date and time.", - "title": "CommitmentEndDate", + "Group": { + "markdownDescription": "The name of the POSIX user's group.", + "title": "Group", "type": "string" }, - "CommittedInstanceCount": { - "markdownDescription": "The instance capacity that you committed to when you requested the future-dated Capacity Reservation.", - "title": "CommittedInstanceCount", + "User": { + "markdownDescription": "The name of the POSIX user.", + "title": "User", + "type": "string" + } + }, + "required": [ + "Group", + "User" + ], + "type": "object" + }, + "AWS::Deadline::Queue.PriorityBalancedSchedulingConfiguration": { + "additionalProperties": false, + "properties": { + "RenderingTaskBuffer": { "type": "number" } }, "type": "object" }, - "AWS::EC2::CapacityReservation.TagSpecification": { + "AWS::Deadline::Queue.SchedulingConfiguration": { "additionalProperties": false, "properties": { - "ResourceType": { - "markdownDescription": "The type of resource to tag. Specify `capacity-reservation` .", - "title": "ResourceType", + "PriorityBalanced": { + "$ref": "#/definitions/AWS::Deadline::Queue.PriorityBalancedSchedulingConfiguration" + }, + "PriorityFifo": { + "type": "object" + }, + "WeightedBalanced": { + "$ref": "#/definitions/AWS::Deadline::Queue.WeightedBalancedSchedulingConfiguration" + } + }, + "type": "object" + }, + "AWS::Deadline::Queue.SchedulingMaxPriorityOverride": { + "additionalProperties": false, + "properties": { + "AlwaysScheduleFirst": { + "type": "object" + } + }, + "required": [ + "AlwaysScheduleFirst" + ], + "type": "object" + }, + "AWS::Deadline::Queue.SchedulingMinPriorityOverride": { + "additionalProperties": false, + "properties": { + "AlwaysScheduleLast": { + "type": "object" + } + }, + "required": [ + "AlwaysScheduleLast" + ], + "type": "object" + }, + "AWS::Deadline::Queue.WeightedBalancedSchedulingConfiguration": { + "additionalProperties": false, + "properties": { + "ErrorWeight": { + "type": "number" + }, + "MaxPriorityOverride": { + "$ref": "#/definitions/AWS::Deadline::Queue.SchedulingMaxPriorityOverride" + }, + "MinPriorityOverride": { + "$ref": "#/definitions/AWS::Deadline::Queue.SchedulingMinPriorityOverride" + }, + "PriorityWeight": { + "type": "number" + }, + "RenderingTaskBuffer": { + "type": "number" + }, + "RenderingTaskWeight": { + "type": "number" + }, + "SubmissionTimeWeight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Deadline::Queue.WindowsUser": { + "additionalProperties": false, + "properties": { + "PasswordArn": { + "markdownDescription": "The password ARN for the Windows user.", + "title": "PasswordArn", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to the resource.", - "title": "Tags", - "type": "array" + "User": { + "markdownDescription": "The user.", + "title": "User", + "type": "string" } }, + "required": [ + "PasswordArn", + "User" + ], "type": "object" }, - "AWS::EC2::CapacityReservationFleet": { + "AWS::Deadline::QueueEnvironment": { "additionalProperties": false, "properties": { "Condition": { @@ -119577,63 +119089,44 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocationStrategy": { - "markdownDescription": "The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. Currently, only the `prioritized` allocation strategy is supported. For more information, see [Allocation strategy](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#allocation-strategy) in the *Amazon EC2 User Guide* .\n\nValid values: `prioritized`", - "title": "AllocationStrategy", + "FarmId": { + "markdownDescription": "The identifier assigned to the farm that contains the queue.", + "title": "FarmId", "type": "string" }, - "EndDate": { - "markdownDescription": "The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation Fleet expires, its state changes to `expired` and all of the Capacity Reservations in the Fleet expire.\n\nThe Capacity Reservation Fleet expires within an hour after the specified time. For example, if you specify `5/31/2019` , `13:30:55` , the Capacity Reservation Fleet is guaranteed to expire between `13:30:55` and `14:30:55` on `5/31/2019` .", - "title": "EndDate", - "type": "string" + "Priority": { + "markdownDescription": "The queue environment's priority.", + "title": "Priority", + "type": "number" }, - "InstanceMatchCriteria": { - "markdownDescription": "Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All Capacity Reservations in the Fleet inherit this instance matching criteria.\n\nCurrently, Capacity Reservation Fleets support `open` instance matching criteria only. This means that instances that have matching attributes (instance type, platform, and Availability Zone) run in the Capacity Reservations automatically. Instances do not need to explicitly target a Capacity Reservation Fleet to use its reserved capacity.", - "title": "InstanceMatchCriteria", + "QueueId": { + "markdownDescription": "The unique identifier of the queue that contains the environment.", + "title": "QueueId", "type": "string" }, - "InstanceTypeSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::CapacityReservationFleet.InstanceTypeSpecification" - }, - "markdownDescription": "Information about the instance types for which to reserve the capacity.", - "title": "InstanceTypeSpecifications", - "type": "array" - }, - "NoRemoveEndDate": { - "markdownDescription": "Used to add an end date to a Capacity Reservation Fleet that has no end date and time. To add an end date to a Capacity Reservation Fleet, specify `true` for this paramater and specify the end date and time (in UTC time format) for the *EndDate* parameter.", - "title": "NoRemoveEndDate", - "type": "boolean" - }, - "RemoveEndDate": { - "markdownDescription": "Used to remove an end date from a Capacity Reservation Fleet that is configured to end automatically at a specific date and time. To remove the end date from a Capacity Reservation Fleet, specify `true` for this paramater and omit the *EndDate* parameter.", - "title": "RemoveEndDate", - "type": "boolean" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::CapacityReservationFleet.TagSpecification" - }, - "markdownDescription": "The tags to assign to the Capacity Reservation Fleet. The tags are automatically assigned to the Capacity Reservations in the Fleet.", - "title": "TagSpecifications", - "type": "array" - }, - "Tenancy": { - "markdownDescription": "Indicates the tenancy of the Capacity Reservation Fleet. All Capacity Reservations in the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of the following tenancy settings:\n\n- `default` - The Capacity Reservation Fleet is created on hardware that is shared with other AWS accounts .\n- `dedicated` - The Capacity Reservations are created on single-tenant hardware that is dedicated to a single AWS account .", - "title": "Tenancy", + "Template": { + "markdownDescription": "A JSON or YAML template that describes the processing environment for the queue.", + "title": "Template", "type": "string" }, - "TotalTargetCapacity": { - "markdownDescription": "The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see [Total target capacity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity) in the *Amazon EC2 User Guide* .", - "title": "TotalTargetCapacity", - "type": "number" + "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::EC2::CapacityReservationFleet" + "AWS::Deadline::QueueEnvironment" ], "type": "string" }, @@ -119647,71 +119140,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::CapacityReservationFleet.InstanceTypeSpecification": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you specify for the Fleet must use the same Availability Zone.", - "title": "AvailabilityZone", - "type": "string" - }, - "AvailabilityZoneId": { - "markdownDescription": "The ID of the Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you specify for the Fleet must use the same Availability Zone.", - "title": "AvailabilityZoneId", - "type": "string" - }, - "EbsOptimized": { - "markdownDescription": "Indicates whether the Capacity Reservation Fleet supports EBS-optimized instances types. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using EBS-optimized instance types.", - "title": "EbsOptimized", - "type": "boolean" - }, - "InstancePlatform": { - "markdownDescription": "The type of operating system for which the Capacity Reservation Fleet reserves capacity.", - "title": "InstancePlatform", - "type": "string" - }, - "InstanceType": { - "markdownDescription": "The instance type for which the Capacity Reservation Fleet reserves capacity.", - "title": "InstanceType", - "type": "string" - }, - "Priority": { - "markdownDescription": "The priority to assign to the instance type. This value is used to determine which of the instance types specified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more information, see [Instance type priority](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#instance-priority) in the *Amazon EC2 User Guide* .", - "title": "Priority", - "type": "number" - }, - "Weight": { - "markdownDescription": "The number of capacity units provided by the specified instance type. This value, together with the total target capacity that you specify for the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see [Total target capacity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity) in the Amazon EC2 User Guide.\n\nValid Range: Minimum value of `0.001` . Maximum value of `99.999` .", - "title": "Weight", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::CapacityReservationFleet.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "markdownDescription": "The type of resource to tag on creation. Specify `capacity-reservation-fleet` .\n\nTo tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) .", - "title": "ResourceType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to the resource.", - "title": "Tags", - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::CarrierGateway": { + "AWS::Deadline::QueueFleetAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -119746,28 +119180,32 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the carrier gateway.", - "title": "Tags", - "type": "array" + "FarmId": { + "markdownDescription": "The identifier of the farm that contains the queue and the fleet.", + "title": "FarmId", + "type": "string" }, - "VpcId": { - "markdownDescription": "The ID of the VPC associated with the carrier gateway.", - "title": "VpcId", + "FleetId": { + "markdownDescription": "The fleet ID.", + "title": "FleetId", + "type": "string" + }, + "QueueId": { + "markdownDescription": "The queue ID.", + "title": "QueueId", "type": "string" } }, "required": [ - "VpcId" + "FarmId", + "FleetId", + "QueueId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CarrierGateway" + "AWS::Deadline::QueueFleetAssociation" ], "type": "string" }, @@ -119786,7 +119224,7 @@ ], "type": "object" }, - "AWS::EC2::ClientVpnAuthorizationRule": { + "AWS::Deadline::QueueLimitAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -119821,41 +119259,32 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessGroupId": { - "markdownDescription": "The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group. Required if `AuthorizeAllGroups` is `false` or not specified.", - "title": "AccessGroupId", - "type": "string" - }, - "AuthorizeAllGroups": { - "markdownDescription": "Indicates whether to grant access to all clients. Specify `true` to grant all clients who successfully establish a VPN connection access to the network. Must be set to `true` if `AccessGroupId` is not specified.", - "title": "AuthorizeAllGroups", - "type": "boolean" - }, - "ClientVpnEndpointId": { - "markdownDescription": "The ID of the Client VPN endpoint.", - "title": "ClientVpnEndpointId", + "FarmId": { + "markdownDescription": "The unique identifier of the farm that contains the queue-limit association.", + "title": "FarmId", "type": "string" }, - "Description": { - "markdownDescription": "A brief description of the authorization rule.", - "title": "Description", + "LimitId": { + "markdownDescription": "The unique identifier of the limit in the association.", + "title": "LimitId", "type": "string" }, - "TargetNetworkCidr": { - "markdownDescription": "The IPv4 address range, in CIDR notation, of the network for which access is being authorized.", - "title": "TargetNetworkCidr", + "QueueId": { + "markdownDescription": "The unique identifier of the queue in the association.", + "title": "QueueId", "type": "string" } }, "required": [ - "ClientVpnEndpointId", - "TargetNetworkCidr" + "FarmId", + "LimitId", + "QueueId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnAuthorizationRule" + "AWS::Deadline::QueueLimitAssociation" ], "type": "string" }, @@ -119874,7 +119303,7 @@ ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint": { + "AWS::Deadline::StorageProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -119909,132 +119338,40 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthenticationOptions": { - "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" - }, - "markdownDescription": "Information about the authentication method to be used to authenticate clients.", - "title": "AuthenticationOptions", - "type": "array" - }, - "ClientCidrBlock": { - "markdownDescription": "The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12.", - "title": "ClientCidrBlock", - "type": "string" - }, - "ClientConnectOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions", - "markdownDescription": "The options for managing connection authorization for new client connections.", - "title": "ClientConnectOptions" - }, - "ClientLoginBannerOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientLoginBannerOptions", - "markdownDescription": "Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established.", - "title": "ClientLoginBannerOptions" - }, - "ClientRouteEnforcementOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientRouteEnforcementOptions", - "markdownDescription": "Client route enforcement is a feature of the Client VPN service that helps enforce administrator defined routes on devices connected through the VPN. T his feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel.\n\nClient route enforcement works by monitoring the route table of a connected device for routing policy changes to the VPN connection. If the feature detects any VPN routing policy modifications, it will automatically force an update to the route table, reverting it back to the expected route configurations.", - "title": "ClientRouteEnforcementOptions" - }, - "ConnectionLogOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions", - "markdownDescription": "Information about the client connection logging options.\n\nIf you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged:\n\n- Client connection requests\n- Client connection results (successful and unsuccessful)\n- Reasons for unsuccessful client connection requests\n- Client connection termination time", - "title": "ConnectionLogOptions" - }, - "Description": { - "markdownDescription": "A brief description of the Client VPN endpoint.", - "title": "Description", - "type": "string" - }, - "DisconnectOnSessionTimeout": { - "markdownDescription": "Indicates whether the client VPN session is disconnected after the maximum `sessionTimeoutHours` is reached. If `true` , users are prompted to reconnect client VPN. If `false` , client VPN attempts to reconnect automatically. The default value is `true` .", - "title": "DisconnectOnSessionTimeout", - "type": "boolean" - }, - "DnsServers": { - "items": { - "type": "string" - }, - "markdownDescription": "Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.", - "title": "DnsServers", - "type": "array" - }, - "EndpointIpAddressType": { - "markdownDescription": "The IP address type of the Client VPN endpoint. Possible values are `ipv4` for IPv4 addressing only, `ipv6` for IPv6 addressing only, or `dual-stack` for both IPv4 and IPv6 addressing.", - "title": "EndpointIpAddressType", - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SelfServicePortal": { - "markdownDescription": "Specify whether to enable the self-service portal for the Client VPN endpoint.\n\nDefault Value: `enabled`", - "title": "SelfServicePortal", + "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" }, - "ServerCertificateArn": { - "markdownDescription": "The ARN of the server certificate. For more information, see the [Certificate Manager User Guide](https://docs.aws.amazon.com/acm/latest/userguide/) .", - "title": "ServerCertificateArn", + "FarmId": { + "markdownDescription": "The unique identifier of the farm that contains the storage profile.", + "title": "FarmId", "type": "string" }, - "SessionTimeoutHours": { - "markdownDescription": "The maximum VPN session duration time in hours.\n\nValid values: `8 | 10 | 12 | 24`\n\nDefault value: `24`", - "title": "SessionTimeoutHours", - "type": "number" - }, - "SplitTunnel": { - "markdownDescription": "Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.\n\nBy default, split-tunnel on a VPN endpoint is disabled.\n\nFor information about split-tunnel VPN endpoints, see [Split-tunnel AWS Client VPN endpoint](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html) in the *AWS Client VPN Administrator Guide* .", - "title": "SplitTunnel", - "type": "boolean" - }, - "TagSpecifications": { + "FileSystemLocations": { "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" + "$ref": "#/definitions/AWS::Deadline::StorageProfile.FileSystemLocation" }, - "markdownDescription": "The tags to apply to the Client VPN endpoint during creation.", - "title": "TagSpecifications", + "markdownDescription": "Operating system specific file system path to the storage location.", + "title": "FileSystemLocations", "type": "array" }, - "TrafficIpAddressType": { - "markdownDescription": "The IP address type of the Client VPN endpoint. Possible values are either `ipv4` for IPv4 addressing only, `ipv6` for IPv6 addressing only, or `dual-stack` for both IPv4 and IPv6 addressing.", - "title": "TrafficIpAddressType", - "type": "string" - }, - "TransitGatewayConfiguration": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TransitGatewayConfiguration" - }, - "TransportProtocol": { - "markdownDescription": "The transport protocol to be used by the VPN session.\n\nDefault value: `udp`", - "title": "TransportProtocol", - "type": "string" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.", - "title": "VpcId", + "OsFamily": { + "markdownDescription": "The operating system (OS) family.", + "title": "OsFamily", "type": "string" - }, - "VpnPort": { - "markdownDescription": "The port number to assign to the Client VPN endpoint for TCP and UDP traffic.\n\nValid Values: `443` | `1194`\n\nDefault Value: `443`", - "title": "VpnPort", - "type": "number" } }, "required": [ - "AuthenticationOptions", - "ConnectionLogOptions", - "ServerCertificateArn" + "DisplayName", + "FarmId", + "OsFamily" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnEndpoint" + "AWS::Deadline::StorageProfile" ], "type": "string" }, @@ -120053,203 +119390,243 @@ ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { + "AWS::Deadline::StorageProfile.FileSystemLocation": { "additionalProperties": false, "properties": { - "ClientRootCertificateChainArn": { - "markdownDescription": "The ARN of the client certificate. The certificate must be signed by a certificate authority (CA) and it must be provisioned in Certificate Manager (ACM).", - "title": "ClientRootCertificateChainArn", + "Name": { + "markdownDescription": "The location name.", + "title": "Name", "type": "string" - } - }, - "required": [ - "ClientRootCertificateChainArn" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "ActiveDirectory": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest", - "markdownDescription": "Information about the Active Directory to be used, if applicable. You must provide this information if *Type* is `directory-service-authentication` .", - "title": "ActiveDirectory" - }, - "FederatedAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest", - "markdownDescription": "Information about the IAM SAML identity provider, if applicable.", - "title": "FederatedAuthentication" }, - "MutualAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest", - "markdownDescription": "Information about the authentication certificates to be used, if applicable. You must provide this information if *Type* is `certificate-authentication` .", - "title": "MutualAuthentication" + "Path": { + "markdownDescription": "The file path.", + "title": "Path", + "type": "string" }, "Type": { - "markdownDescription": "The type of client authentication to be used.", + "markdownDescription": "The type of file.", "title": "Type", "type": "string" } }, "required": [ + "Name", + "Path", "Type" ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { + "AWS::Deadline::Volume": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "Indicates whether client connect options are enabled. The default is `false` (not enabled).", - "title": "Enabled", - "type": "boolean" + "Condition": { + "type": "string" }, - "LambdaFunctionArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Lambda function used for connection authorization.", - "title": "LambdaFunctionArn", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ClientLoginBannerOptions": { - "additionalProperties": false, - "properties": { - "BannerText": { - "markdownDescription": "Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters.", - "title": "BannerText", + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "type": "string" + }, + "FleetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Volume.TagsItems" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Deadline::Volume" + ], "type": "string" }, - "Enabled": { - "markdownDescription": "Enable or disable a customizable text banner that will be displayed on AWS provided clients when a VPN session is established.\n\nValid values: `true | false`\n\nDefault value: `false`", - "title": "Enabled", - "type": "boolean" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Enabled" + "Type" ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.ClientRouteEnforcementOptions": { - "additionalProperties": false, - "properties": { - "Enforced": { - "markdownDescription": "Enable or disable Client Route Enforcement. The state can either be `true` (enabled) or `false` (disabled). The default is `false` .\n\nValid values: `true | false`\n\nDefault value: `false`", - "title": "Enforced", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { + "AWS::Deadline::Volume.TagsItems": { "additionalProperties": false, "properties": { - "CloudwatchLogGroup": { - "markdownDescription": "The name of the CloudWatch Logs log group. Required if connection logging is enabled.", - "title": "CloudwatchLogGroup", + "Key": { "type": "string" }, - "CloudwatchLogStream": { - "markdownDescription": "The name of the CloudWatch Logs log stream to which the connection data is published.", - "title": "CloudwatchLogStream", + "Value": { "type": "string" - }, - "Enabled": { - "markdownDescription": "Indicates whether connection logging is enabled.", - "title": "Enabled", - "type": "boolean" } }, "required": [ - "Enabled" + "Key", + "Value" ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { + "AWS::Deadline::Worker": { "additionalProperties": false, "properties": { - "DirectoryId": { - "markdownDescription": "The ID of the Active Directory to be used for authentication.", - "title": "DirectoryId", + "Condition": { "type": "string" - } - }, - "required": [ - "DirectoryId" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "SAMLProviderArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM SAML identity provider.", - "title": "SAMLProviderArn", + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SelfServiceSAMLProviderArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.", - "title": "SelfServiceSAMLProviderArn", + "DependsOn": { + "anyOf": [ + { + "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": { + "type": "string" + }, + "FleetId": { + "type": "string" + }, + "HostProperties": { + "$ref": "#/definitions/AWS::Deadline::Worker.HostPropertiesRequest" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Worker.TagsItems" + }, + "type": "array" + } + }, + "required": [ + "FarmId", + "FleetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Deadline::Worker" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "SAMLProviderArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.TagSpecification": { + "AWS::Deadline::Worker.HostPropertiesRequest": { "additionalProperties": false, "properties": { - "ResourceType": { - "markdownDescription": "The type of resource to tag. To tag a Client VPN endpoint, `ResourceType` must be `client-vpn-endpoint` .", - "title": "ResourceType", + "HostName": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to the resource.", - "title": "Tags", - "type": "array" + "IpAddresses": { + "$ref": "#/definitions/AWS::Deadline::Worker.IpAddresses" } }, - "required": [ - "ResourceType", - "Tags" - ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.TransitGatewayConfiguration": { + "AWS::Deadline::Worker.IpAddresses": { "additionalProperties": false, "properties": { - "AvailabilityZoneIds": { + "IpV4Addresses": { "items": { "type": "string" }, "type": "array" }, - "AvailabilityZones": { + "IpV6Addresses": { "items": { "type": "string" }, "type": "array" + } + }, + "type": "object" + }, + "AWS::Deadline::Worker.TagsItems": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" }, - "TransitGatewayId": { + "Value": { "type": "string" } }, "required": [ - "TransitGatewayId" + "Key", + "Value" ], "type": "object" }, - "AWS::EC2::ClientVpnRoute": { + "AWS::Detective::Graph": { "additionalProperties": false, "properties": { "Condition": { @@ -120284,36 +119661,25 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientVpnEndpointId": { - "markdownDescription": "The ID of the Client VPN endpoint to which to add the route.", - "title": "ClientVpnEndpointId", - "type": "string" - }, - "Description": { - "markdownDescription": "A brief description of the route.", - "title": "Description", - "type": "string" - }, - "DestinationCidrBlock": { - "markdownDescription": "The IPv4 address range, in CIDR notation, of the route destination. For example:\n\n- To add a route for Internet access, enter `0.0.0.0/0`\n- To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range\n- To add a route for an on-premises network, enter the AWS Site-to-Site VPN connection's IPv4 CIDR range\n- To add a route for the local network, enter the client CIDR range", - "title": "DestinationCidrBlock", - "type": "string" + "AutoEnableMembers": { + "markdownDescription": "Indicates whether to automatically enable new organization accounts as member accounts in the organization behavior graph.\n\nBy default, this property is set to `false` . If you want to change the value of this property, you must be the Detective administrator for the organization. For more information on setting a Detective administrator account, see [AWS::Detective::OrganizationAdmin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html) .", + "title": "AutoEnableMembers", + "type": "boolean" }, - "TargetVpcSubnetId": { - "markdownDescription": "The ID of the subnet through which you want to route traffic. The specified subnet must be an existing target network of the Client VPN endpoint.\n\nAlternatively, if you're adding a route for the local network, specify `local` .", - "title": "TargetVpcSubnetId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tag values to assign to the new behavior graph.", + "title": "Tags", + "type": "array" } }, - "required": [ - "ClientVpnEndpointId", - "DestinationCidrBlock" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnRoute" + "AWS::Detective::Graph" ], "type": "string" }, @@ -120327,12 +119693,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::ClientVpnTargetNetworkAssociation": { + "AWS::Detective::MemberInvitation": { "additionalProperties": false, "properties": { "Condition": { @@ -120367,31 +119732,42 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "DisableEmailNotification": { + "markdownDescription": "Whether to send an invitation email to the member account. If set to true, the member account does not receive an invitation email.", + "title": "DisableEmailNotification", + "type": "boolean" + }, + "GraphArn": { + "markdownDescription": "The ARN of the behavior graph to invite the account to contribute data to.", + "title": "GraphArn", "type": "string" }, - "AvailabilityZoneId": { + "MemberEmailAddress": { + "markdownDescription": "The root user email address of the invited account. If the email address provided is not the root user email address for the provided account, the invitation creation fails.", + "title": "MemberEmailAddress", "type": "string" }, - "ClientVpnEndpointId": { - "markdownDescription": "The ID of the Client VPN endpoint.", - "title": "ClientVpnEndpointId", + "MemberId": { + "markdownDescription": "The AWS account identifier of the invited account", + "title": "MemberId", "type": "string" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet to associate with the Client VPN endpoint.", - "title": "SubnetId", + "Message": { + "markdownDescription": "Customized text to include in the invitation email message.", + "title": "Message", "type": "string" } }, "required": [ - "ClientVpnEndpointId" + "GraphArn", + "MemberEmailAddress", + "MemberId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnTargetNetworkAssociation" + "AWS::Detective::MemberInvitation" ], "type": "string" }, @@ -120410,7 +119786,7 @@ ], "type": "object" }, - "AWS::EC2::CustomerGateway": { + "AWS::Detective::OrganizationAdmin": { "additionalProperties": false, "properties": { "Condition": { @@ -120445,54 +119821,20 @@ "Properties": { "additionalProperties": false, "properties": { - "BgpAsn": { - "markdownDescription": "For customer gateway devices that support BGP, specify the device's ASN. You must specify either `BgpAsn` or `BgpAsnExtended` when creating the customer gateway. If the ASN is larger than `2,147,483,647` , you must use `BgpAsnExtended` .\n\nDefault: 65000\n\nValid values: `1` to `2,147,483,647`", - "title": "BgpAsn", - "type": "number" - }, - "BgpAsnExtended": { - "markdownDescription": "For customer gateway devices that support BGP, specify the device's ASN. You must specify either `BgpAsn` or `BgpAsnExtended` when creating the customer gateway. If the ASN is larger than `2,147,483,647` , you must use `BgpAsnExtended` .\n\nValid values: `2,147,483,648` to `4,294,967,295`", - "title": "BgpAsnExtended", - "type": "number" - }, - "CertificateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the customer gateway certificate.", - "title": "CertificateArn", - "type": "string" - }, - "DeviceName": { - "markdownDescription": "The name of customer gateway device.", - "title": "DeviceName", - "type": "string" - }, - "IpAddress": { - "markdownDescription": "The IP address for the customer gateway device's outside interface. The address must be static. If `OutsideIpAddressType` in your VPN connection options is set to `PrivateIpv4` , you can use an RFC6598 or RFC1918 private IPv4 address. If `OutsideIpAddressType` is set to `Ipv6` , you can use an IPv6 address.", - "title": "IpAddress", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "One or more tags for the customer gateway.", - "title": "Tags", - "type": "array" - }, - "Type": { - "markdownDescription": "The type of VPN connection that this customer gateway supports ( `ipsec.1` ).", - "title": "Type", + "AccountId": { + "markdownDescription": "The AWS account identifier of the account to designate as the Detective administrator account for the organization.", + "title": "AccountId", "type": "string" } }, "required": [ - "IpAddress", - "Type" + "AccountId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CustomerGateway" + "AWS::Detective::OrganizationAdmin" ], "type": "string" }, @@ -120511,7 +119853,7 @@ ], "type": "object" }, - "AWS::EC2::DHCPOptions": { + "AWS::DevOpsAgent::AgentSpace": { "additionalProperties": false, "properties": { "Condition": { @@ -120546,59 +119888,43 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "markdownDescription": "This value is used to complete unqualified DNS hostnames. If you're using AmazonProvidedDNS in `us-east-1` , specify `ec2.internal` . If you're using AmazonProvidedDNS in another Region, specify *region* . `compute.internal` (for example, `ap-northeast-1.compute.internal` ). Otherwise, specify a domain name (for example, *MyCompany.com* ).", - "title": "DomainName", + "Description": { + "markdownDescription": "The description of the Agent Space.", + "title": "Description", "type": "string" }, - "DomainNameServers": { - "items": { - "type": "string" - }, - "markdownDescription": "The IPv4 addresses of up to four domain name servers, or `AmazonProvidedDNS` . The default is `AmazonProvidedDNS` . To have your instance receive a custom DNS hostname as specified in `DomainName` , you must set this property to a custom DNS server.", - "title": "DomainNameServers", - "type": "array" + "KmsKeyArn": { + "type": "string" }, - "Ipv6AddressPreferredLeaseTime": { - "markdownDescription": "A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.", - "title": "Ipv6AddressPreferredLeaseTime", - "type": "number" + "Locale": { + "type": "string" }, - "NetbiosNameServers": { - "items": { - "type": "string" - }, - "markdownDescription": "The IPv4 addresses of up to four NetBIOS name servers.", - "title": "NetbiosNameServers", - "type": "array" + "Name": { + "markdownDescription": "The name of the Agent Space.", + "title": "Name", + "type": "string" }, - "NetbiosNodeType": { - "markdownDescription": "The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported).", - "title": "NetbiosNodeType", - "type": "number" + "OperatorApp": { + "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace.OperatorApp" }, - "NtpServers": { - "items": { - "type": "string" - }, - "markdownDescription": "The IPv4 addresses of up to four Network Time Protocol (NTP) servers.", - "title": "NtpServers", - "type": "array" + "Preferences": { + "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace.Preferences" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the DHCP options set.", - "title": "Tags", "type": "array" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::DHCPOptions" + "AWS::DevOpsAgent::AgentSpace" ], "type": "string" }, @@ -120612,11 +119938,76 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::EC2Fleet": { + "AWS::DevOpsAgent::AgentSpace.IamAuthConfiguration": { + "additionalProperties": false, + "properties": { + "CreatedAt": { + "type": "string" + }, + "OperatorAppRoleArn": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" + } + }, + "required": [ + "OperatorAppRoleArn" + ], + "type": "object" + }, + "AWS::DevOpsAgent::AgentSpace.IdcAuthConfiguration": { + "additionalProperties": false, + "properties": { + "CreatedAt": { + "type": "string" + }, + "IdcApplicationArn": { + "type": "string" + }, + "IdcInstanceArn": { + "type": "string" + }, + "OperatorAppRoleArn": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" + } + }, + "required": [ + "IdcInstanceArn", + "OperatorAppRoleArn" + ], + "type": "object" + }, + "AWS::DevOpsAgent::AgentSpace.OperatorApp": { + "additionalProperties": false, + "properties": { + "Iam": { + "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace.IamAuthConfiguration" + }, + "Idc": { + "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace.IdcAuthConfiguration" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::AgentSpace.Preferences": { + "additionalProperties": false, + "properties": { + "ElevatedActionsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Asset": { "additionalProperties": false, "properties": { "Condition": { @@ -120651,85 +120042,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Context": { - "markdownDescription": "Reserved.", - "title": "Context", + "AgentSpaceId": { "type": "string" }, - "ExcessCapacityTerminationPolicy": { - "markdownDescription": "Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.\n\nSupported only for fleets of type `maintain` .", - "title": "ExcessCapacityTerminationPolicy", + "AssetType": { "type": "string" }, - "LaunchTemplateConfigs": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest" - }, - "markdownDescription": "The configuration for the EC2 Fleet.", - "title": "LaunchTemplateConfigs", - "type": "array" - }, - "OnDemandOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.OnDemandOptionsRequest", - "markdownDescription": "Describes the configuration of On-Demand Instances in an EC2 Fleet.", - "title": "OnDemandOptions" - }, - "ReplaceUnhealthyInstances": { - "markdownDescription": "Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for fleets of type `maintain` . For more information, see [EC2 Fleet health checks](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks) in the *Amazon EC2 User Guide* .", - "title": "ReplaceUnhealthyInstances", - "type": "boolean" - }, - "ReservedCapacityOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.ReservedCapacityOptionsRequest" - }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.SpotOptionsRequest", - "markdownDescription": "Describes the configuration of Spot Instances in an EC2 Fleet.", - "title": "SpotOptions" - }, - "TagSpecifications": { + "Files": { "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagSpecification" + "$ref": "#/definitions/AWS::DevOpsAgent::Asset.AssetFile" }, - "markdownDescription": "The key-value pair for tagging the EC2 Fleet request on creation. For more information, see [Tag your resources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources) .\n\nIf the fleet type is `instant` , specify a resource type of `fleet` to tag the fleet or `instance` to tag the instances at launch.\n\nIf the fleet type is `maintain` or `request` , specify a resource type of `fleet` to tag the fleet. You cannot specify a resource type of `instance` . To tag instances at launch, specify the tags in a [launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template) .", - "title": "TagSpecifications", "type": "array" }, - "TargetCapacitySpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest", - "markdownDescription": "The number of units to request.", - "title": "TargetCapacitySpecification" - }, - "TerminateInstancesWithExpiration": { - "markdownDescription": "Indicates whether running instances should be terminated when the EC2 Fleet expires.", - "title": "TerminateInstancesWithExpiration", - "type": "boolean" - }, - "Type": { - "markdownDescription": "The fleet type. The default value is `maintain` .\n\n- `maintain` - The EC2 Fleet places an asynchronous request for your desired capacity, and continues to maintain your desired Spot capacity by replenishing interrupted Spot Instances.\n- `request` - The EC2 Fleet places an asynchronous one-time request for your desired capacity, but does submit Spot requests in alternative capacity pools if Spot capacity is unavailable, and does not maintain Spot capacity if Spot Instances are interrupted.\n- `instant` - The EC2 Fleet places a synchronous one-time request for your desired capacity, and returns errors for any instances that could not be launched.\n\nFor more information, see [EC2 Fleet request types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-request-type.html) in the *Amazon EC2 User Guide* .", - "title": "Type", - "type": "string" - }, - "ValidFrom": { - "markdownDescription": "The start date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). The default is to start fulfilling the request immediately.", - "title": "ValidFrom", - "type": "string" + "Metadata": { + "type": "object" }, - "ValidUntil": { - "markdownDescription": "The end date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.", - "title": "ValidUntil", + "Zip": { "type": "string" } }, "required": [ - "LaunchTemplateConfigs", - "TargetCapacitySpecification" + "AgentSpaceId", + "AssetType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EC2Fleet" + "AWS::DevOpsAgent::Asset" ], "type": "string" }, @@ -120748,870 +120088,675 @@ ], "type": "object" }, - "AWS::EC2::EC2Fleet.AcceleratorCountRequest": { + "AWS::DevOpsAgent::Asset.AssetFile": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of accelerators. To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` .", - "title": "Max", - "type": "number" + "ContentBytes": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum number of accelerators. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "ContentText": { + "type": "string" + }, + "Metadata": { + "type": "object" + }, + "Path": { + "type": "string" } }, + "required": [ + "Path" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.AcceleratorTotalMemoryMiBRequest": { + "AWS::DevOpsAgent::Association": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "Condition": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentSpaceId": { + "markdownDescription": "The unique identifier of the Agent Space.", + "title": "AgentSpaceId", + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.ServiceConfiguration", + "markdownDescription": "The configuration that directs how the Agent Space interacts with the given service. You can specify only one configuration type per association.\n\n*Allowed Values* : `SourceAws` | `Aws` | `GitHub` | `GitLab` | `Slack` | `Dynatrace` | `ServiceNow` | `MCPServer` | `MCPServerNewRelic` | `MCPServerDatadog` | `MCPServerSplunk` | `EventChannel`", + "title": "Configuration" + }, + "LinkedAssociationIds": { + "items": { + "type": "string" + }, + "markdownDescription": "Set of linked association IDs for parent-child relationships.", + "title": "LinkedAssociationIds", + "type": "array" + }, + "ServiceId": { + "markdownDescription": "The identifier for the associated service. For `SourceAws` and `Aws` configurations, this must be `aws` . For all other service types, this is a UUID generated from the RegisterService command.", + "title": "ServiceId", + "type": "string" + } + }, + "required": [ + "AgentSpaceId", + "Configuration", + "ServiceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsAgent::Association" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.BaselineEbsBandwidthMbpsRequest": { + "AWS::DevOpsAgent::Association.AWSConfiguration": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "AccountId": { + "markdownDescription": "Account ID corresponding to the provided resources.", + "title": "AccountId", + "type": "string" }, - "Min": { - "markdownDescription": "The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "AccountType": { + "markdownDescription": "Account Type 'monitor' for AWS DevOps Agent monitoring.", + "title": "AccountType", + "type": "string" + }, + "AssumableRoleArn": { + "markdownDescription": "Role ARN used by AWS DevOps Agent to access resources in the primary account.", + "title": "AssumableRoleArn", + "type": "string" + }, + "Resources": { + "items": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.AWSResource" + }, + "markdownDescription": "List of resources to monitor.", + "title": "Resources", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.KeyValuePair" + }, + "markdownDescription": "List of tags as key-value pairs, used to identify resources for topology crawl.", + "title": "Tags", + "type": "array" } }, + "required": [ + "AccountId", + "AccountType", + "AssumableRoleArn" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.BaselinePerformanceFactorsRequest": { + "AWS::DevOpsAgent::Association.AWSResource": { "additionalProperties": false, "properties": { - "Cpu": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.CpuPerformanceFactorRequest", - "markdownDescription": "The CPU performance to consider, using an instance family as the baseline reference.", - "title": "Cpu" + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource.", + "title": "ResourceArn", + "type": "string" + }, + "ResourceMetadata": { + "markdownDescription": "Additional metadata specific to the resource. This is an optional JSON object that can include resource-specific information to provide additional context for monitoring and management.", + "title": "ResourceMetadata", + "type": "object" + }, + "ResourceType": { + "markdownDescription": "Resource type.", + "title": "ResourceType", + "type": "string" } }, + "required": [ + "ResourceArn" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.BlockDeviceMapping": { + "AWS::DevOpsAgent::Association.AzureConfiguration": { "additionalProperties": false, "properties": { - "DeviceName": { - "markdownDescription": "The device name. For available device names, see [Device names for volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html) .", - "title": "DeviceName", - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.EbsBlockDevice", - "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.", - "title": "Ebs" - }, - "NoDevice": { - "markdownDescription": "To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.", - "title": "NoDevice", - "type": "string" - }, - "VirtualName": { - "markdownDescription": "The virtual device name ( `ephemeral` N). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for `ephemeral0` and `ephemeral1` . The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.\n\nNVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.\n\nConstraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.", - "title": "VirtualName", + "SubscriptionId": { "type": "string" } }, + "required": [ + "SubscriptionId" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.CapacityRebalance": { + "AWS::DevOpsAgent::Association.DynatraceConfiguration": { "additionalProperties": false, "properties": { - "ReplacementStrategy": { - "markdownDescription": "The replacement strategy to use. Only available for fleets of type `maintain` .\n\n`launch` - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.\n\n`launch-before-terminate` - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in `TerminationDelay` ), terminates the instances that received a rebalance notification.", - "title": "ReplacementStrategy", + "EnableWebhookUpdates": { + "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", + "title": "EnableWebhookUpdates", + "type": "boolean" + }, + "EnvId": { + "markdownDescription": "Dynatrace environment id.", + "title": "EnvId", "type": "string" }, - "TerminationDelay": { - "markdownDescription": "The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.\n\nRequired when `ReplacementStrategy` is set to `launch-before-terminate` .\n\nNot valid when `ReplacementStrategy` is set to `launch` .\n\nValid values: Minimum value of `120` seconds. Maximum value of `7200` seconds.", - "title": "TerminationDelay", - "type": "number" + "Resources": { + "items": { + "type": "string" + }, + "markdownDescription": "List of Dynatrace resources to monitor.", + "title": "Resources", + "type": "array" } }, + "required": [ + "EnvId" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { + "AWS::DevOpsAgent::Association.EventChannelConfiguration": { "additionalProperties": false, "properties": { - "UsageStrategy": { - "markdownDescription": "Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.\n\nIf you specify `use-capacity-reservations-first` , the fleet uses unused Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If multiple instance pools have unused Capacity Reservations, the On-Demand allocation strategy ( `lowest-price` or `prioritized` ) is applied. If the number of unused Capacity Reservations is less than the On-Demand target capacity, the remaining On-Demand target capacity is launched according to the On-Demand allocation strategy ( `lowest-price` or `prioritized` ).\n\nIf you do not specify a value, the fleet fulfils the On-Demand capacity according to the chosen On-Demand allocation strategy.", - "title": "UsageStrategy", - "type": "string" + "EnableWebhookUpdates": { + "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", + "title": "EnableWebhookUpdates", + "type": "boolean" } }, "type": "object" }, - "AWS::EC2::EC2Fleet.CpuPerformanceFactorRequest": { + "AWS::DevOpsAgent::Association.GitHubConfiguration": { "additionalProperties": false, "properties": { - "References": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.PerformanceFactorReferenceRequest" - }, - "markdownDescription": "Specify an instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.\n\n> Currently, only one instance family can be specified in the list.", - "title": "References", - "type": "array" + "Owner": { + "markdownDescription": "Repository owner.", + "title": "Owner", + "type": "string" + }, + "OwnerType": { + "markdownDescription": "Type of repository owner.", + "title": "OwnerType", + "type": "string" + }, + "RepoId": { + "markdownDescription": "Associated Github repo ID.", + "title": "RepoId", + "type": "string" + }, + "RepoName": { + "markdownDescription": "Associated Github repo name.", + "title": "RepoName", + "type": "string" } }, + "required": [ + "Owner", + "OwnerType", + "RepoId", + "RepoName" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.EbsBlockDevice": { + "AWS::DevOpsAgent::Association.GitLabConfiguration": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "markdownDescription": "Indicates whether the EBS volume is deleted on instance termination. For more information, see [Preserving Amazon EBS volumes on instance termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) in the *Amazon EC2 User Guide* .", - "title": "DeleteOnTermination", - "type": "boolean" - }, - "Encrypted": { - "markdownDescription": "Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Amazon EBS encryption](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html#encryption-parameters) in the *Amazon EBS User Guide* .\n\nIn no case can you remove encryption from an encrypted volume.\n\nEncrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances) .\n\n- If you are creating a block device mapping for a *new (empty) volume* , you can include this parameter, and specify either `true` for an encrypted volume, or `false` for an unencrypted volume. If you omit this parameter, it defaults to `false` (unencrypted).\n- If you are creating a block device mapping from an *existing encrypted or unencrypted snapshot* , you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.\n- If you are creating a block device mapping from an *existing unencrypted volume* , you can include this parameter, but you must specify `false` . If you specify `true` , the request will fail. In this case, we recommend that you omit the parameter.\n- If you are creating a block device mapping from an *existing encrypted volume* , you can include this parameter, and specify either `true` or `false` . However, if you specify `false` , the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.", - "title": "Encrypted", + "EnableWebhookUpdates": { + "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", + "title": "EnableWebhookUpdates", "type": "boolean" }, - "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 - 80,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nFor `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . On other instances, you can achieve performance up to 32,000 IOPS.\n\nThis parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS.", - "title": "Iops", - "type": "number" - }, - "KmsKeyId": { - "markdownDescription": "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.\n\nThis parameter is only supported on `BlockDeviceMapping` objects called by [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) , [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) , and [RequestSpotInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html) .", - "title": "KmsKeyId", + "InstanceIdentifier": { + "markdownDescription": "GitLab instance identifier (e.g., gitlab.com).", + "title": "InstanceIdentifier", "type": "string" }, - "SnapshotId": { - "markdownDescription": "The ID of the snapshot.", - "title": "SnapshotId", + "ProjectId": { + "markdownDescription": "GitLab numeric project ID.", + "title": "ProjectId", "type": "string" }, - "VolumeSize": { - "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.\n\nThe following are the supported sizes for each volume type:\n\n- `gp2` : 1 - 16,384 GiB\n- `gp3` : 1 - 65,536 GiB\n- `io1` : 4 - 16,384 GiB\n- `io2` : 4 - 65,536 GiB\n- `st1` and `sc1` : 125 - 16,384 GiB\n- `standard` : 1 - 1024 GiB", - "title": "VolumeSize", - "type": "number" - }, - "VolumeType": { - "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .", - "title": "VolumeType", + "ProjectPath": { + "markdownDescription": "Full GitLab project path (e.g., namespace/project-name).", + "title": "ProjectPath", "type": "string" } }, + "required": [ + "ProjectId", + "ProjectPath" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "AWS::DevOpsAgent::Association.KeyValuePair": { "additionalProperties": false, "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest", - "markdownDescription": "The launch template to use. You must specify either the launch template ID or launch template name in the request.", - "title": "LaunchTemplateSpecification" + "Key": { + "markdownDescription": "The key name of the tag.", + "title": "Key", + "type": "string" }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" - }, - "markdownDescription": "Any parameters that you specify override the same parameters in the launch template.\n\nFor fleets of type `request` and `maintain` , a maximum of 300 items is allowed across all launch templates.", - "title": "Overrides", - "type": "array" + "Value": { + "markdownDescription": "The value for the tag.", + "title": "Value", + "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { + "AWS::DevOpsAgent::Association.MCPServerConfiguration": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone in which to launch the instances. For example, `us-east-2a` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", - "title": "AvailabilityZone", - "type": "string" - }, - "AvailabilityZoneId": { - "markdownDescription": "The ID of the Availability Zone in which to launch the instances. For example, `use2-az1` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", - "title": "AvailabilityZoneId", + "Description": { + "markdownDescription": "The description of the MCP server.", + "title": "Description", "type": "string" }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.BlockDeviceMapping" - }, - "markdownDescription": "The block device mappings, which define the EBS volumes and instance store volumes to attach to the instance at launch.\n\nSupported only for fleets of type `instant` .\n\nFor more information, see [Block device mappings for volumes on Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) in the *Amazon EC2 User Guide* .", - "title": "BlockDeviceMappings", - "type": "array" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.IamInstanceProfileSpecification" - }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.InstanceRequirementsRequest", - "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .", - "title": "InstanceRequirements" - }, - "InstanceType": { - "markdownDescription": "The instance type.\n\n`mac1.metal` is not supported as a launch template override.\n\n> If you specify `InstanceType` , you can't specify `InstanceRequirements` .", - "title": "InstanceType", - "type": "string" + "EnableWebhookUpdates": { + "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", + "title": "EnableWebhookUpdates", + "type": "boolean" }, - "KeyName": { + "Endpoint": { + "markdownDescription": "MCP server endpoint URL.", + "title": "Endpoint", "type": "string" }, - "MaxPrice": { - "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.\n> \n> If you specify a maximum price, it must be more than USD $0.001. Specifying a value below USD $0.001 will result in an `InvalidParameterValue` error message.", - "title": "MaxPrice", + "Name": { + "markdownDescription": "The name of the MCP server.", + "title": "Name", "type": "string" }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.InstanceMetadataOptionsRequest" - }, - "NetworkInterfaces": { + "Tools": { "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.NetworkInterfaceSpecificationRequest" + "type": "string" }, + "markdownDescription": "List of MCP tools that can be used with the association.", + "title": "Tools", "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement", - "markdownDescription": "The location where the instance launched, if applicable.", - "title": "Placement" - }, - "Priority": { - "markdownDescription": "The priority for the launch template override. The highest priority is launched first.\n\nIf the On-Demand `AllocationStrategy` is set to `prioritized` , EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.\n\nIf the Spot `AllocationStrategy` is set to `capacity-optimized-prioritized` , EC2 Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.\n\nValid values are whole numbers starting at `0` . The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.", - "title": "Priority", - "type": "number" - }, - "SubnetId": { - "markdownDescription": "The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, `subnet-1234abcdeexample1, subnet-0987cdef6example2` ). A request of type `instant` can have only one subnet ID.", - "title": "SubnetId", - "type": "string" - }, - "WeightedCapacity": { - "markdownDescription": "The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.\n\nIf the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.\n\n> When specifying weights, the price used in the `lowest-price` and `price-capacity-optimized` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested `TargetCapacity` , resulting in only 1 instance being launched, the price used is per *instance* hour.", - "title": "WeightedCapacity", - "type": "number" } }, + "required": [ + "Tools" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { + "AWS::DevOpsAgent::Association.MCPServerDatadogConfiguration": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { - "markdownDescription": "The ID of the launch template.\n\nYou must specify the `LaunchTemplateId` or the `LaunchTemplateName` , but not both.", - "title": "LaunchTemplateId", + "Description": { + "markdownDescription": "The description of the MCP server.", + "title": "Description", "type": "string" }, - "LaunchTemplateName": { - "markdownDescription": "The name of the launch template.\n\nYou must specify the `LaunchTemplateName` or the `LaunchTemplateId` , but not both.", - "title": "LaunchTemplateName", - "type": "string" + "EnableWebhookUpdates": { + "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", + "title": "EnableWebhookUpdates", + "type": "boolean" }, - "LaunchTemplateSpecificationUserData": { + "Endpoint": { + "markdownDescription": "MCP server endpoint URL.", + "title": "Endpoint", "type": "string" }, - "Version": { - "markdownDescription": "The launch template version number, `$Latest` , or `$Default` . You must specify a value, otherwise the request fails.\n\nIf the value is `$Latest` , Amazon EC2 uses the latest version of the launch template.\n\nIf the value is `$Default` , Amazon EC2 uses the default version of the launch template.", - "title": "Version", + "Name": { + "markdownDescription": "The name of the MCP server.", + "title": "Name", "type": "string" } }, - "required": [ - "Version" - ], "type": "object" }, - "AWS::EC2::EC2Fleet.IamInstanceProfileSpecification": { + "AWS::DevOpsAgent::Association.MCPServerGrafanaConfiguration": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" + "EnableWebhookUpdates": { + "type": "boolean" }, - "Name": { + "Endpoint": { "type": "string" + }, + "Tools": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "Endpoint" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.InstanceMetadataOptionsRequest": { + "AWS::DevOpsAgent::Association.MCPServerNewRelicConfiguration": { "additionalProperties": false, "properties": { - "HttpEndpoint": { + "AccountId": { + "markdownDescription": "New Relic Account ID.", + "title": "AccountId", "type": "string" }, - "HttpPutResponseHopLimit": { - "type": "number" - }, - "HttpTokens": { + "Endpoint": { + "markdownDescription": "MCP server endpoint URL (e.g., https://mcp.newrelic.com/mcp/).", + "title": "Endpoint", "type": "string" } }, + "required": [ + "AccountId", + "Endpoint" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.InstanceRequirementsRequest": { + "AWS::DevOpsAgent::Association.MCPServerSigV4Configuration": { "additionalProperties": false, "properties": { - "AcceleratorCount": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.AcceleratorCountRequest", - "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n\nTo exclude accelerator-enabled instance types, set `Max` to `0` .\n\nDefault: No minimum or maximum limits", - "title": "AcceleratorCount" - }, - "AcceleratorManufacturers": { - "items": { - "type": "string" - }, - "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n\n- For instance types with AWS devices, specify `amazon-web-services` .\n- For instance types with AMD devices, specify `amd` .\n- For instance types with Habana devices, specify `habana` .\n- For instance types with NVIDIA devices, specify `nvidia` .\n- For instance types with Xilinx devices, specify `xilinx` .\n\nDefault: Any manufacturer", - "title": "AcceleratorManufacturers", - "type": "array" - }, - "AcceleratorNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The accelerators that must be on the instance type.\n\n- For instance types with NVIDIA A10G GPUs, specify `a10g` .\n- For instance types with NVIDIA A100 GPUs, specify `a100` .\n- For instance types with NVIDIA H100 GPUs, specify `h100` .\n- For instance types with AWS Inferentia chips, specify `inferentia` .\n- For instance types with AWS Inferentia2 chips, specify `inferentia2` .\n- For instance types with Habana Gaudi HL-205 GPUs, specify `gaudi-hl-205` .\n- For instance types with NVIDIA GRID K520 GPUs, specify `k520` .\n- For instance types with NVIDIA K80 GPUs, specify `k80` .\n- For instance types with NVIDIA L4 GPUs, specify `l4` .\n- For instance types with NVIDIA L40S GPUs, specify `l40s` .\n- For instance types with NVIDIA M60 GPUs, specify `m60` .\n- For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` .\n- For instance types with AWS Trainium chips, specify `trainium` .\n- For instance types with AWS Trainium2 chips, specify `trainium2` .\n- For instance types with NVIDIA T4 GPUs, specify `t4` .\n- For instance types with NVIDIA T4G GPUs, specify `t4g` .\n- For instance types with Xilinx U30 cards, specify `u30` .\n- For instance types with Xilinx VU9P FPGAs, specify `vu9p` .\n- For instance types with NVIDIA V100 GPUs, specify `v100` .\n\nDefault: Any accelerator", - "title": "AcceleratorNames", - "type": "array" - }, - "AcceleratorTotalMemoryMiB": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.AcceleratorTotalMemoryMiBRequest", - "markdownDescription": "The minimum and maximum amount of total accelerator memory, in MiB.\n\nDefault: No minimum or maximum limits", - "title": "AcceleratorTotalMemoryMiB" - }, - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The accelerator types that must be on the instance type.\n\n- For instance types with FPGA accelerators, specify `fpga` .\n- For instance types with GPU accelerators, specify `gpu` .\n- For instance types with Inference accelerators, specify `inference` .\n- For instance types with Media accelerators, specify `media` .\n\nDefault: Any accelerator type", - "title": "AcceleratorTypes", - "type": "array" - }, - "AllowedInstanceTypes": { + "Tools": { "items": { "type": "string" }, - "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n\n> If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . \n\nDefault: All instance types", - "title": "AllowedInstanceTypes", "type": "array" - }, - "BareMetal": { - "markdownDescription": "Indicates whether bare metal instance types must be included, excluded, or required.\n\n- To include bare metal instance types, specify `included` .\n- To require only bare metal instance types, specify `required` .\n- To exclude bare metal instance types, specify `excluded` .\n\nDefault: `excluded`", - "title": "BareMetal", + } + }, + "required": [ + "Tools" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Association.MCPServerSplunkConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "The description of the MCP server.", + "title": "Description", "type": "string" }, - "BaselineEbsBandwidthMbps": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.BaselineEbsBandwidthMbpsRequest", - "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", - "title": "BaselineEbsBandwidthMbps" + "EnableWebhookUpdates": { + "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", + "title": "EnableWebhookUpdates", + "type": "boolean" }, - "BaselinePerformanceFactors": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.BaselinePerformanceFactorsRequest", - "markdownDescription": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .", - "title": "BaselinePerformanceFactors" + "Endpoint": { + "markdownDescription": "MCP server endpoint URL.", + "title": "Endpoint", + "type": "string" }, - "BurstablePerformance": { - "markdownDescription": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`", - "title": "BurstablePerformance", + "Name": { + "markdownDescription": "The name of the MCP server.", + "title": "Name", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Association.PagerDutyConfiguration": { + "additionalProperties": false, + "properties": { + "CustomerEmail": { "type": "string" }, - "CpuManufacturers": { - "items": { - "type": "string" - }, - "markdownDescription": "The CPU manufacturers to include.\n\n- For instance types with Intel CPUs, specify `intel` .\n- For instance types with AMD CPUs, specify `amd` .\n- For instance types with AWS CPUs, specify `amazon-web-services` .\n- For instance types with Apple CPUs, specify `apple` .\n\n> Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. \n\nDefault: Any manufacturer", - "title": "CpuManufacturers", - "type": "array" + "EnableWebhookUpdates": { + "type": "boolean" }, - "ExcludedInstanceTypes": { + "Services": { "items": { "type": "string" }, - "markdownDescription": "The instance types to exclude.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance family, type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n\n> If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . \n\nDefault: No excluded instance types", - "title": "ExcludedInstanceTypes", "type": "array" + } + }, + "required": [ + "CustomerEmail", + "Services" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Association.ServiceConfiguration": { + "additionalProperties": false, + "properties": { + "Aws": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.AWSConfiguration", + "markdownDescription": "Configuration for AWS monitor account integration. Specifies the account ID, assumable role ARN, and resources to be monitored in the primary monitoring account.", + "title": "Aws" }, - "InstanceGenerations": { - "items": { - "type": "string" - }, - "markdownDescription": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nFor current generation instance types, specify `current` .\n\nFor previous generation instance types, specify `previous` .\n\nDefault: Current and previous generation instance types", - "title": "InstanceGenerations", - "type": "array" + "Azure": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.AzureConfiguration" }, - "LocalStorage": { - "markdownDescription": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* .\n\n- To include instance types with instance store volumes, specify `included` .\n- To require only instance types with instance store volumes, specify `required` .\n- To exclude instance types with instance store volumes, specify `excluded` .\n\nDefault: `included`", - "title": "LocalStorage", - "type": "string" + "Dynatrace": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.DynatraceConfiguration", + "markdownDescription": "Configuration for Dynatrace monitoring integration. Specifies the environment ID, resources to monitor, and webhook settings to enable the Agent Space to access Dynatrace metrics, traces, and logs.", + "title": "Dynatrace" }, - "LocalStorageTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The type of local storage that is required.\n\n- For instance types with hard disk drive (HDD) storage, specify `hdd` .\n- For instance types with solid state drive (SSD) storage, specify `ssd` .\n\nDefault: `hdd` and `ssd`", - "title": "LocalStorageTypes", - "type": "array" + "EventChannel": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.EventChannelConfiguration", + "markdownDescription": "Configuration for Event Channel integration. Specifies webhook settings to enable the Agent Space to receive and process real-time events from external systems.", + "title": "EventChannel" }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { - "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` .", - "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", - "type": "number" + "GitHub": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.GitHubConfiguration", + "markdownDescription": "Configuration for GitHub repository integration. Specifies the repository name, repository ID, owner, and owner type to enable the Agent Space to access code, pull requests, and issues.", + "title": "GitHub" }, - "MemoryGiBPerVCpu": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.MemoryGiBPerVCpuRequest", - "markdownDescription": "The minimum and maximum amount of memory per vCPU, in GiB.\n\nDefault: No minimum or maximum limits", - "title": "MemoryGiBPerVCpu" + "GitLab": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.GitLabConfiguration", + "markdownDescription": "Configuration for GitLab project integration. Specifies the project ID, project path, instance identifier, and webhook settings to enable the Agent Space to access code, merge requests, and issues.", + "title": "GitLab" }, - "MemoryMiB": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.MemoryMiBRequest", - "markdownDescription": "The minimum and maximum amount of memory, in MiB.", - "title": "MemoryMiB" + "MCPServer": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerConfiguration", + "markdownDescription": "Configuration for custom MCP (Model Context Protocol) server integration. Specifies the server name, endpoint URL, available tools, description, and webhook settings to enable the Agent Space to interact with custom MCP servers.", + "title": "MCPServer" }, - "NetworkBandwidthGbps": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.NetworkBandwidthGbpsRequest", - "markdownDescription": "The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more information, see [Amazon EC2 instance network bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", - "title": "NetworkBandwidthGbps" + "MCPServerDatadog": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerDatadogConfiguration", + "markdownDescription": "Configuration for Datadog MCP server integration. Specifies the server name, endpoint URL, optional description, and webhook settings to enable the Agent Space to query metrics, traces, and logs from Datadog.", + "title": "MCPServerDatadog" }, - "NetworkInterfaceCount": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.NetworkInterfaceCountRequest", - "markdownDescription": "The minimum and maximum number of network interfaces.\n\nDefault: No minimum or maximum limits", - "title": "NetworkInterfaceCount" + "MCPServerGrafana": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerGrafanaConfiguration" }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nTo indicate no price protection threshold, specify a high value, such as `999999` .\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. \n\nDefault: `20`", - "title": "OnDemandMaxPricePercentageOverLowestPrice", - "type": "number" + "MCPServerNewRelic": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerNewRelicConfiguration", + "markdownDescription": "Configuration for New Relic MCP server integration. Specifies the New Relic account ID and MCP endpoint URL to enable the Agent Space to query metrics, traces, and logs from New Relic.", + "title": "MCPServerNewRelic" }, - "RequireEncryptionInTransit": { - "markdownDescription": "Specifies whether instance types must support encrypting in-transit traffic between instances. For more information, including the supported instance types, see [Encryption in transit](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-protection.html#encryption-transit) in the *Amazon EC2 User Guide* .\n\nDefault: `false`", - "title": "RequireEncryptionInTransit", - "type": "boolean" + "MCPServerSigV4": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerSigV4Configuration" }, - "RequireHibernateSupport": { - "markdownDescription": "Indicates whether instance types must support hibernation for On-Demand Instances.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) .\n\nDefault: `false`", - "title": "RequireHibernateSupport", - "type": "boolean" + "MCPServerSplunk": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerSplunkConfiguration", + "markdownDescription": "Configuration for Splunk MCP server integration. Specifies the server name, endpoint URL, optional description, and webhook settings to enable the Agent Space to query logs, metrics, and events from Splunk.", + "title": "MCPServerSplunk" }, - "SpotMaxPricePercentageOverLowestPrice": { - "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` . \n\nDefault: `100`", - "title": "SpotMaxPricePercentageOverLowestPrice", - "type": "number" + "PagerDuty": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.PagerDutyConfiguration" }, - "TotalLocalStorageGB": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TotalLocalStorageGBRequest", - "markdownDescription": "The minimum and maximum amount of total local storage, in GB.\n\nDefault: No minimum or maximum limits", - "title": "TotalLocalStorageGB" + "ServiceNow": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.ServiceNowConfiguration", + "markdownDescription": "Configuration for ServiceNow instance integration. Specifies the instance URL, instance ID, and webhook settings to enable the Agent Space to create, update, and manage ServiceNow incidents and change requests.", + "title": "ServiceNow" }, - "VCpuCount": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.VCpuCountRangeRequest", - "markdownDescription": "The minimum and maximum number of vCPUs.", - "title": "VCpuCount" + "Slack": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.SlackConfiguration", + "markdownDescription": "Configuration for Slack workspace integration. Specifies the workspace ID, workspace name, and transmission targets to enable the Agent Space to send notifications to designated Slack channels.", + "title": "Slack" + }, + "SourceAws": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.SourceAwsConfiguration", + "markdownDescription": "Configuration for AWS source account integration. Specifies the account ID, assumable role ARN, and resources to be monitored in the source account.", + "title": "SourceAws" } }, "type": "object" }, - "AWS::EC2::EC2Fleet.Ipv6AddressRequest": { + "AWS::DevOpsAgent::Association.ServiceNowConfiguration": { "additionalProperties": false, "properties": { - "Ipv6Address": { + "EnableWebhookUpdates": { + "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", + "title": "EnableWebhookUpdates", + "type": "boolean" + }, + "InstanceId": { + "markdownDescription": "ServiceNow instance ID.", + "title": "InstanceId", "type": "string" } }, "type": "object" }, - "AWS::EC2::EC2Fleet.MaintenanceStrategies": { - "additionalProperties": false, - "properties": { - "CapacityRebalance": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityRebalance", - "markdownDescription": "The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted.", - "title": "CapacityRebalance" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.MemoryGiBPerVCpuRequest": { + "AWS::DevOpsAgent::Association.SlackChannel": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "ChannelId": { + "markdownDescription": "Slack channel ID.", + "title": "ChannelId", + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "ChannelName": { + "markdownDescription": "Slack channel name.", + "title": "ChannelName", + "type": "string" } }, + "required": [ + "ChannelId" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.MemoryMiBRequest": { + "AWS::DevOpsAgent::Association.SlackConfiguration": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "TransmissionTarget": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.SlackTransmissionTarget", + "markdownDescription": "Transmission targets for agent notifications.", + "title": "TransmissionTarget" }, - "Min": { - "markdownDescription": "The minimum amount of memory, in MiB. To specify no minimum limit, specify `0` .", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.NetworkBandwidthGbpsRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "WorkspaceId": { + "markdownDescription": "Associated Slack workspace ID.", + "title": "WorkspaceId", + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "WorkspaceName": { + "markdownDescription": "Associated Slack workspace name.", + "title": "WorkspaceName", + "type": "string" } }, + "required": [ + "TransmissionTarget", + "WorkspaceId", + "WorkspaceName" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.NetworkInterfaceCountRequest": { + "AWS::DevOpsAgent::Association.SlackTransmissionTarget": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of network interfaces. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum number of network interfaces. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "IncidentResponseTarget": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.SlackChannel", + "markdownDescription": "Destination for AWS DevOps Agent Incident Response.", + "title": "IncidentResponseTarget" } }, + "required": [ + "IncidentResponseTarget" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.NetworkInterfaceSpecificationRequest": { + "AWS::DevOpsAgent::Association.SourceAwsConfiguration": { "additionalProperties": false, "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" + "AccountId": { + "markdownDescription": "Account ID corresponding to the provided resources.", + "title": "AccountId", + "type": "string" }, - "Description": { + "AccountType": { + "markdownDescription": "Account Type 'source' for AWS DevOps Agent monitoring.", + "title": "AccountType", "type": "string" }, - "DeviceIndex": { - "type": "number" + "AssumableRoleArn": { + "markdownDescription": "Role ARN to be assumed by AWS DevOps Agent to operate on behalf of customer.", + "title": "AssumableRoleArn", + "type": "string" }, - "Groups": { + "Resources": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DevOpsAgent::Association.AWSResource" }, + "markdownDescription": "List of resources to monitor.", + "title": "Resources", "type": "array" }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.Ipv6AddressRequest" + "$ref": "#/definitions/AWS::DevOpsAgent::Association.KeyValuePair" }, + "markdownDescription": "List of tags as key-value pairs, used to identify resources for topology crawl.", + "title": "Tags", "type": "array" - }, - "NetworkCardIndex": { - "type": "number" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.PrivateIpAddressSpecificationRequest" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "markdownDescription": "The strategy that determines the order of the launch template overrides to use in fulfilling On-Demand capacity.\n\n`lowest-price` - EC2 Fleet uses price to determine the order, launching the lowest price first.\n\n`prioritized` - EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first.\n\nDefault: `lowest-price`", - "title": "AllocationStrategy", - "type": "string" - }, - "CapacityReservationOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest", - "markdownDescription": "The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.\n\nSupported only for fleets of type `instant` .", - "title": "CapacityReservationOptions" - }, - "MaxTotalPrice": { - "markdownDescription": "The maximum amount per hour for On-Demand Instances that you're willing to pay.\n\n> If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `MaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `MaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", - "title": "MaxTotalPrice", - "type": "string" - }, - "MinTargetCapacity": { - "markdownDescription": "The minimum target capacity for On-Demand Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.\n\nConstraints: Maximum value of `1000` . Supported only for fleets of type `instant` .\n\nAt least one of the following must be specified: `SingleAvailabilityZone` | `SingleInstanceType`", - "title": "MinTargetCapacity", - "type": "number" - }, - "SingleAvailabilityZone": { - "markdownDescription": "Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.\n\nSupported only for fleets of type `instant` .", - "title": "SingleAvailabilityZone", - "type": "boolean" - }, - "SingleInstanceType": { - "markdownDescription": "Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet.\n\nSupported only for fleets of type `instant` .", - "title": "SingleInstanceType", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.PerformanceFactorReferenceRequest": { - "additionalProperties": false, - "properties": { - "InstanceFamily": { - "markdownDescription": "The instance family to use as a baseline reference.\n\n> Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( `.` ) in the instance type name. For example, in the instance type `c6i.large` , the instance family is `c6i` , not `c6` . For more information, see [Amazon EC2 instance type naming conventions](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) in *Amazon EC2 Instance Types* . \n\nThe following instance families are *not supported* for performance protection:\n\n- `c1`\n- `g3` | `g3s`\n- `hpc7g`\n- `m1` | `m2`\n- `mac1` | `mac2` | `mac2-m1ultra` | `mac2-m2` | `mac2-m2pro`\n- `p3dn` | `p4d` | `p5`\n- `t1`\n- `u-12tb1` | `u-18tb1` | `u-24tb1` | `u-3tb1` | `u-6tb1` | `u-9tb1` | `u7i-12tb` | `u7in-16tb` | `u7in-24tb` | `u7in-32tb`\n\nIf you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.\n\nIf you specify an unsupported instance family as a value for baseline performance, the API returns an empty response response for [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) and an exception for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html) , [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) , [ModifyFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html) , and [ModifySpotFleetRequest](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html) .", - "title": "InstanceFamily", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "markdownDescription": "The affinity setting for the instance on the Dedicated Host.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) or [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) .", - "title": "Affinity", - "type": "string" - }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone of the instance.\n\nOn input, you can specify `AvailabilityZone` or `AvailabilityZoneId` , but not both. If you specify neither one, Amazon EC2 automatically selects an Availability Zone for you.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) .", - "title": "AvailabilityZone", - "type": "string" - }, - "GroupName": { - "markdownDescription": "The name of the placement group that the instance is in.\n\nOn input, you can specify `GroupId` or `GroupName` , but not both.", - "title": "GroupName", - "type": "string" - }, - "HostId": { - "markdownDescription": "The ID of the Dedicated Host on which the instance resides.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) or [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) .", - "title": "HostId", - "type": "string" - }, - "HostResourceGroupArn": { - "markdownDescription": "The ARN of the host resource group in which to launch the instances.\n\nOn input, if you specify this parameter, either omit the *Tenancy* parameter or set it to `host` .\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) .", - "title": "HostResourceGroupArn", - "type": "string" - }, - "PartitionNumber": { - "markdownDescription": "The number of the partition that the instance is in. Valid only if the placement group strategy is set to `partition` .\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) .", - "title": "PartitionNumber", - "type": "number" - }, - "SpreadDomain": { - "markdownDescription": "Reserved for future use.", - "title": "SpreadDomain", - "type": "string" - }, - "Tenancy": { - "markdownDescription": "The tenancy of the instance. An instance with a tenancy of `dedicated` runs on single-tenant hardware.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) . The `host` tenancy is not supported for [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) or for T3 instances that are configured for the `unlimited` CPU credit option.", - "title": "Tenancy", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.PrivateIpAddressSpecificationRequest": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.ReservedCapacityOptionsRequest": { - "additionalProperties": false, - "properties": { - "ReservationTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.SpotOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "markdownDescription": "Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet.\n\nIf the allocation strategy is `lowestPrice` , EC2 Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy.\n\nIf the allocation strategy is `diversified` , EC2 Fleet launches instances from all the Spot Instance pools that you specify.\n\nIf the allocation strategy is `capacityOptimized` , EC2 Fleet launches instances from Spot Instance pools that are optimally chosen based on the available Spot Instance capacity.\n\n*Allowed Values* : `lowestPrice` | `diversified` | `capacityOptimized` | `capacityOptimizedPrioritized`", - "title": "AllocationStrategy", - "type": "string" - }, - "InstanceInterruptionBehavior": { - "markdownDescription": "The behavior when a Spot Instance is interrupted.\n\nDefault: `terminate`", - "title": "InstanceInterruptionBehavior", - "type": "string" - }, - "InstancePoolsToUseCount": { - "markdownDescription": "The number of Spot pools across which to allocate your target Spot capacity. Supported only when Spot `AllocationStrategy` is set to `lowest-price` . EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.\n\nNote that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified.", - "title": "InstancePoolsToUseCount", - "type": "number" - }, - "MaintenanceStrategies": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.MaintenanceStrategies", - "markdownDescription": "The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.", - "title": "MaintenanceStrategies" - }, - "MaxTotalPrice": { - "markdownDescription": "The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter. > If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `MaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `MaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", - "title": "MaxTotalPrice", - "type": "string" - }, - "MinTargetCapacity": { - "markdownDescription": "The minimum target capacity for Spot Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.\n\nConstraints: Maximum value of `1000` . Supported only for fleets of type `instant` .\n\nAt least one of the following must be specified: `SingleAvailabilityZone` | `SingleInstanceType`", - "title": "MinTargetCapacity", - "type": "number" - }, - "SingleAvailabilityZone": { - "markdownDescription": "Indicates that the fleet launches all Spot Instances into a single Availability Zone.\n\nSupported only for fleets of type `instant` .", - "title": "SingleAvailabilityZone", - "type": "boolean" - }, - "SingleInstanceType": { - "markdownDescription": "Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet.\n\nSupported only for fleets of type `instant` .", - "title": "SingleInstanceType", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "markdownDescription": "The type of resource to tag.", - "title": "ResourceType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to the resource.", - "title": "Tags", - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { - "additionalProperties": false, - "properties": { - "DefaultTargetCapacityType": { - "markdownDescription": "The default target capacity type.", - "title": "DefaultTargetCapacityType", - "type": "string" - }, - "OnDemandTargetCapacity": { - "markdownDescription": "The number of On-Demand units to request.", - "title": "OnDemandTargetCapacity", - "type": "number" - }, - "SpotTargetCapacity": { - "markdownDescription": "The number of Spot units to request.", - "title": "SpotTargetCapacity", - "type": "number" - }, - "TargetCapacityUnitType": { - "markdownDescription": "The unit for the target capacity. You can specify this parameter only when using attributed-based instance type selection.\n\nDefault: `units` (the number of instances)", - "title": "TargetCapacityUnitType", - "type": "string" - }, - "TotalTargetCapacity": { - "markdownDescription": "The number of units to request, filled using the default target capacity type.", - "title": "TotalTargetCapacity", - "type": "number" } }, "required": [ - "TotalTargetCapacity" + "AccountId", + "AccountType", + "AssumableRoleArn" ], "type": "object" }, - "AWS::EC2::EC2Fleet.TotalLocalStorageGBRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.VCpuCountRangeRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum number of vCPUs. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum number of vCPUs. To specify no minimum limit, specify `0` .", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::EIP": { + "AWS::DevOpsAgent::PrivateConnection": { "additionalProperties": false, "properties": { "Condition": { @@ -121646,55 +120791,31 @@ "Properties": { "additionalProperties": false, "properties": { - "Address": { - "markdownDescription": "An Elastic IP address or a carrier IP address in a Wavelength Zone.", - "title": "Address", - "type": "string" - }, - "Domain": { - "markdownDescription": "The network ( `vpc` ).\n\nIf you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) on this resource.", - "title": "Domain", - "type": "string" - }, - "InstanceId": { - "markdownDescription": "The ID of the instance.\n\n> Updates to the `InstanceId` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.", - "title": "InstanceId", - "type": "string" - }, - "IpamPoolId": { - "markdownDescription": "The ID of an IPAM pool which has an Amazon-provided or BYOIP public IPv4 CIDR provisioned to it. For more information, see [Allocate sequential Elastic IP addresses from an IPAM pool](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html) in the *Amazon VPC IPAM User Guide* .", - "title": "IpamPoolId", + "Certificate": { "type": "string" }, - "NetworkBorderGroup": { - "markdownDescription": "A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.\n\nUse [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups.", - "title": "NetworkBorderGroup", - "type": "string" + "ConnectionConfiguration": { + "$ref": "#/definitions/AWS::DevOpsAgent::PrivateConnection.ConnectionConfiguration" }, - "PublicIpv4Pool": { - "markdownDescription": "The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool.\n\n> Updates to the `PublicIpv4Pool` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.", - "title": "PublicIpv4Pool", + "Name": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the Elastic IP address.\n\n> Updates to the `Tags` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.", - "title": "Tags", "type": "array" - }, - "TransferAddress": { - "markdownDescription": "The Elastic IP address you are accepting for transfer. You can only accept one transferred address. For more information on Elastic IP address transfers, see [Transfer Elastic IP addresses](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#transfer-EIPs-intro) in the *Amazon Virtual Private Cloud User Guide* .", - "title": "TransferAddress", - "type": "string" } }, + "required": [ + "ConnectionConfiguration", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EIP" + "AWS::DevOpsAgent::PrivateConnection" ], "type": "string" }, @@ -121708,237 +120829,79 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::EIPAssociation": { + "AWS::DevOpsAgent::PrivateConnection.ConnectionConfiguration": { "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": { - "AllocationId": { - "markdownDescription": "The allocation ID. This is required.", - "title": "AllocationId", - "type": "string" - }, - "InstanceId": { - "markdownDescription": "The ID of the instance. The instance must have exactly one attached network interface. You can specify either the instance ID or the network interface ID, but not both.", - "title": "InstanceId", - "type": "string" - }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.\n\nYou can specify either the instance ID or the network interface ID, but not both.", - "title": "NetworkInterfaceId", - "type": "string" - }, - "PrivateIpAddress": { - "markdownDescription": "The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.", - "title": "PrivateIpAddress", - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EIPAssociation" - ], - "type": "string" + "SelfManaged": { + "$ref": "#/definitions/AWS::DevOpsAgent::PrivateConnection.SelfManagedMode" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ServiceManaged": { + "$ref": "#/definitions/AWS::DevOpsAgent::PrivateConnection.ServiceManagedMode" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::EC2::EgressOnlyInternetGateway": { + "AWS::DevOpsAgent::PrivateConnection.SelfManagedMode": { "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" - }, - "markdownDescription": "The tags assigned to the egress-only internet gateway.", - "title": "Tags", - "type": "array" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC for which to create the egress-only internet gateway.", - "title": "VpcId", - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EgressOnlyInternetGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ResourceConfigurationId": { "type": "string" } }, "required": [ - "Type", - "Properties" + "ResourceConfigurationId" ], "type": "object" }, - "AWS::EC2::EnclaveCertificateIamRoleAssociation": { + "AWS::DevOpsAgent::PrivateConnection.ServiceManagedMode": { "additionalProperties": false, "properties": { - "Condition": { + "DnsResolution": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "HostAddress": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "IpAddressType": { + "type": "string" }, - "Metadata": { - "type": "object" + "Ipv4AddressesPerEni": { + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "markdownDescription": "The ARN of the ACM certificate with which to associate the IAM role.", - "title": "CertificateArn", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The ARN of the IAM role to associate with the ACM certificate. You can associate up to 16 IAM roles with an ACM certificate.", - "title": "RoleArn", - "type": "string" - } + "PortRanges": { + "items": { + "type": "string" }, - "required": [ - "CertificateArn", - "RoleArn" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::EC2::EnclaveCertificateIamRoleAssociation" - ], - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { "type": "string" } }, "required": [ - "Type", - "Properties" + "HostAddress", + "VpcId" ], "type": "object" }, - "AWS::EC2::ExportInstanceTask": { + "AWS::DevOpsAgent::Service": { "additionalProperties": false, "properties": { "Condition": { @@ -121973,13 +120936,19 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "ExchangeUrlPrivateConnectionName": { "type": "string" }, - "ExportToS3Task": { - "$ref": "#/definitions/AWS::EC2::ExportInstanceTask.ExportToS3Task" + "KmsKeyArn": { + "type": "string" }, - "InstanceId": { + "PrivateConnectionName": { + "type": "string" + }, + "ServiceDetails": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.ServiceDetails" + }, + "ServiceType": { "type": "string" }, "Tags": { @@ -121988,19 +120957,18 @@ }, "type": "array" }, - "TargetEnvironment": { + "TargetUrlPrivateConnectionName": { "type": "string" } }, "required": [ - "InstanceId", - "TargetEnvironment" + "ServiceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ExportInstanceTask" + "AWS::DevOpsAgent::Service" ], "type": "string" }, @@ -122019,473 +120987,717 @@ ], "type": "object" }, - "AWS::EC2::ExportInstanceTask.ExportToS3Task": { + "AWS::DevOpsAgent::Service.AdditionalServiceDetails": { "additionalProperties": false, "properties": { - "ContainerFormat": { - "type": "string" + "AzureIdentity": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredAzureIdentityDetails" }, - "DiskImageFormat": { + "Dynatrace": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredDynatraceDetails" + }, + "GitLab": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredGitLabServiceDetails" + }, + "MCPServer": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerDetails" + }, + "MCPServerGrafana": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerGrafanaDetails" + }, + "MCPServerNewRelic": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredNewRelicDetails" + }, + "MCPServerSigV4": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerSigV4Details" + }, + "MCPServerSplunk": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerDetails" + }, + "PagerDuty": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredPagerDutyDetails" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredServiceNowDetails" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Service.ApiKeyDetails": { + "additionalProperties": false, + "properties": { + "ApiKeyHeader": { "type": "string" }, - "S3Bucket": { + "ApiKeyName": { "type": "string" }, - "S3Key": { + "ApiKeyValue": { "type": "string" } }, + "required": [ + "ApiKeyHeader", + "ApiKeyName", + "ApiKeyValue" + ], "type": "object" }, - "AWS::EC2::FlowLog": { + "AWS::DevOpsAgent::Service.AzureIdentityServiceDetails": { "additionalProperties": false, "properties": { - "Condition": { + "ClientId": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TenantId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliverCrossAccountRole": { - "markdownDescription": "The ARN of the IAM role that allows the service to publish flow logs across accounts.", - "title": "DeliverCrossAccountRole", - "type": "string" - }, - "DeliverLogsPermissionArn": { - "markdownDescription": "The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination.\n\nThis parameter is required if the destination type is `cloud-watch-logs` , or if the destination type is `kinesis-data-firehose` and the delivery stream and the resources to monitor are in different accounts.", - "title": "DeliverLogsPermissionArn", - "type": "string" - }, - "DestinationOptions": { - "$ref": "#/definitions/AWS::EC2::FlowLog.DestinationOptions", - "markdownDescription": "The destination options.", - "title": "DestinationOptions" - }, - "LogDestination": { - "markdownDescription": "The destination for the flow log data. The meaning of this parameter depends on the destination type.\n\n- If the destination type is `cloud-watch-logs` , specify the ARN of a CloudWatch Logs log group. For example:\n\narn:aws:logs: *region* : *account_id* :log-group: *my_group*\n\nAlternatively, use the `LogGroupName` parameter.\n- If the destination type is `s3` , specify the ARN of an S3 bucket. For example:\n\narn:aws:s3::: *my_bucket* / *my_subfolder* /\n\nThe subfolder is optional. Note that you can't use `AWSLogs` as a subfolder name.\n- If the destination type is `kinesis-data-firehose` , specify the ARN of a Kinesis Data Firehose delivery stream. For example:\n\narn:aws:firehose: *region* : *account_id* :deliverystream: *my_stream*", - "title": "LogDestination", - "type": "string" - }, - "LogDestinationType": { - "markdownDescription": "The type of destination for the flow log data.\n\nDefault: `cloud-watch-logs`", - "title": "LogDestinationType", - "type": "string" - }, - "LogFormat": { - "markdownDescription": "The fields to include in the flow log record, in the order in which they should appear. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field. For more information about the available fields, see [Flow log records](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records) in the *Amazon VPC User Guide* or [Transit Gateway Flow Log records](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-flow-logs.html#flow-log-records) in the *AWS Transit Gateway Guide* .\n\nSpecify the fields using the `${field-id}` format, separated by spaces.", - "title": "LogFormat", - "type": "string" - }, - "LogGroupName": { - "markdownDescription": "The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.\n\nThis parameter is valid only if the destination type is `cloud-watch-logs` .", - "title": "LogGroupName", - "type": "string" - }, - "MaxAggregationInterval": { - "markdownDescription": "The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for transit gateway resource types.\n\nWhen a network interface is attached to a [Nitro-based instance](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) , the aggregation interval is always 60 seconds or less, regardless of the value that you specify.\n\nDefault: 600", - "title": "MaxAggregationInterval", - "type": "number" - }, - "ResourceId": { - "markdownDescription": "The ID of the resource to monitor. For example, if the resource type is `VPC` , specify the ID of the VPC.", - "title": "ResourceId", - "type": "string" - }, - "ResourceType": { - "markdownDescription": "The type of resource to monitor.", - "title": "ResourceType", - "type": "string" - }, - "TagFieldSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::FlowLog.TagFieldSpecification" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to the flow logs.", - "title": "Tags", - "type": "array" - }, - "TrafficType": { - "markdownDescription": "The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic). This parameter is not supported for transit gateway resource types. It is required for the other resource types.", - "title": "TrafficType", - "type": "string" - } - }, - "required": [ - "ResourceId", - "ResourceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::FlowLog" - ], + "WebIdentityRoleArn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "WebIdentityTokenAudiences": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Type", - "Properties" + "ClientId", + "TenantId", + "WebIdentityRoleArn", + "WebIdentityTokenAudiences" ], "type": "object" }, - "AWS::EC2::FlowLog.DestinationOptions": { + "AWS::DevOpsAgent::Service.BearerTokenDetails": { "additionalProperties": false, "properties": { - "FileFormat": { - "markdownDescription": "The format for the flow log. The default is `plain-text` .", - "title": "FileFormat", + "AuthorizationHeader": { "type": "string" }, - "HiveCompatiblePartitions": { - "markdownDescription": "Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. The default is `false` .", - "title": "HiveCompatiblePartitions", - "type": "boolean" + "TokenName": { + "type": "string" }, - "PerHourPartition": { - "markdownDescription": "Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. The default is `false` .", - "title": "PerHourPartition", - "type": "boolean" + "TokenValue": { + "type": "string" } }, "required": [ - "FileFormat", - "HiveCompatiblePartitions", - "PerHourPartition" + "TokenName", + "TokenValue" ], "type": "object" }, - "AWS::EC2::FlowLog.TagFieldSpecification": { + "AWS::DevOpsAgent::Service.DynatraceAuthorizationConfig": { "additionalProperties": false, "properties": { - "ResourceType": { + "OAuthClientCredentials": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.OAuthClientDetails" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Service.DynatraceServiceDetails": { + "additionalProperties": false, + "properties": { + "AccountUrn": { "type": "string" }, - "TagKeys": { - "items": { - "type": "string" - }, - "type": "array" + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.DynatraceAuthorizationConfig" } }, "required": [ - "ResourceType", - "TagKeys" + "AccountUrn" ], "type": "object" }, - "AWS::EC2::FpgaImage": { + "AWS::DevOpsAgent::Service.GitLabDetails": { "additionalProperties": false, "properties": { - "Condition": { + "GroupId": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TargetUrl": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "TokenType": { + "type": "string" }, - "Metadata": { - "type": "object" + "TokenValue": { + "type": "string" + } + }, + "required": [ + "TargetUrl", + "TokenType", + "TokenValue" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.MCPServerAuthorizationConfig": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.ApiKeyDetails" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InputStorageLocation": { - "$ref": "#/definitions/AWS::EC2::FpgaImage.StorageLocation" - }, - "LogsStorageLocation": { - "$ref": "#/definitions/AWS::EC2::FpgaImage.StorageLocation" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" + "BearerToken": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.BearerTokenDetails" }, - "Type": { - "enum": [ - "AWS::EC2::FpgaImage" - ], + "OAuthClientCredentials": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerOAuthClientCredentialsConfig" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Service.MCPServerDetails": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerAuthorizationConfig" + }, + "Description": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Endpoint": { + "type": "string" + }, + "Name": { "type": "string" } }, "required": [ - "Type" + "AuthorizationConfig", + "Endpoint", + "Name" ], "type": "object" }, - "AWS::EC2::FpgaImage.StorageLocation": { + "AWS::DevOpsAgent::Service.MCPServerGrafanaAuthorizationConfig": { "additionalProperties": false, "properties": { - "Bucket": { + "BearerToken": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.BearerTokenDetails" + } + }, + "required": [ + "BearerToken" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.MCPServerGrafanaDetails": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerGrafanaAuthorizationConfig" + }, + "Description": { "type": "string" }, - "Key": { + "Endpoint": { + "type": "string" + }, + "Name": { "type": "string" } }, + "required": [ + "AuthorizationConfig", + "Endpoint", + "Name" + ], "type": "object" }, - "AWS::EC2::GatewayRouteTableAssociation": { + "AWS::DevOpsAgent::Service.MCPServerOAuthClientCredentialsConfig": { "additionalProperties": false, "properties": { - "Condition": { + "ClientId": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ClientSecret": { + "type": "string" }, - "Metadata": { + "ExchangeParameters": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayId": { - "markdownDescription": "The ID of the gateway.", - "title": "GatewayId", - "type": "string" - }, - "RouteTableId": { - "markdownDescription": "The ID of the route table.", - "title": "RouteTableId", + "ExchangeUrl": { + "type": "string" + }, + "Scopes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ClientId", + "ClientSecret", + "ExchangeUrl" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.MCPServerSigV4AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "CustomHeaders": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "GatewayId", - "RouteTableId" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::EC2::GatewayRouteTableAssociation" - ], + "McpRoleArn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Region": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Service": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Region", + "Service" ], "type": "object" }, - "AWS::EC2::Host": { + "AWS::DevOpsAgent::Service.MCPServerSigV4Details": { "additionalProperties": false, "properties": { - "Condition": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSigV4AuthorizationConfig" + }, + "Description": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Endpoint": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Name": { + "type": "string" + } + }, + "required": [ + "AuthorizationConfig", + "Endpoint", + "Name" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.MCPServerSplunkAuthorizationConfig": { + "additionalProperties": false, + "properties": { + "BearerToken": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.BearerTokenDetails" + } + }, + "required": [ + "BearerToken" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.MCPServerSplunkDetails": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSplunkAuthorizationConfig" }, - "Metadata": { + "Description": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "AuthorizationConfig", + "Endpoint", + "Name" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.NewRelicApiKeyConfig": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "AlertPolicyIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ApiKey": { + "type": "string" + }, + "ApplicationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EntityGuids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "AccountId", + "ApiKey", + "Region" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.NewRelicAuthorizationConfig": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.NewRelicApiKeyConfig" + } + }, + "required": [ + "ApiKey" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.NewRelicServiceDetails": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.NewRelicAuthorizationConfig" + } + }, + "required": [ + "AuthorizationConfig" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.OAuthClientDetails": { + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string" + }, + "ClientName": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ExchangeParameters": { "type": "object" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.PagerDutyAuthorizationConfig": { + "additionalProperties": false, + "properties": { + "OAuthClientCredentials": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.OAuthClientDetails" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Service.PagerDutyDetails": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.PagerDutyAuthorizationConfig" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetId": { - "markdownDescription": "The ID of the Outpost hardware asset on which the Dedicated Host is allocated.", - "title": "AssetId", - "type": "string" - }, - "AutoPlacement": { - "markdownDescription": "Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. For more information, see [Understanding auto-placement and affinity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding) in the *Amazon EC2 User Guide* .\n\nDefault: `off`", - "title": "AutoPlacement", - "type": "string" - }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone in which to allocate the Dedicated Host.", - "title": "AvailabilityZone", - "type": "string" - }, - "HostMaintenance": { - "markdownDescription": "Indicates whether host maintenance is enabled or disabled for the Dedicated Host.", - "title": "HostMaintenance", - "type": "string" - }, - "HostRecovery": { - "markdownDescription": "Indicates whether to enable or disable host recovery for the Dedicated Host. Host recovery is disabled by default. For more information, see [Host recovery](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html) in the *Amazon EC2 User Guide* .\n\nDefault: `off`", - "title": "HostRecovery", - "type": "string" - }, - "InstanceFamily": { - "markdownDescription": "The instance family supported by the Dedicated Host. For example, `m5` .", - "title": "InstanceFamily", - "type": "string" - }, - "InstanceType": { - "markdownDescription": "Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only.", - "title": "InstanceType", - "type": "string" - }, - "OutpostArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Outpost on which the Dedicated Host is allocated.", - "title": "OutpostArn", + "Scopes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AuthorizationConfig", + "Scopes" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredAzureIdentityDetails": { + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string" + }, + "TenantId": { + "type": "string" + }, + "WebIdentityRoleArn": { + "type": "string" + }, + "WebIdentityTokenAudiences": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ClientId", + "TenantId", + "WebIdentityRoleArn", + "WebIdentityTokenAudiences" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredDynatraceDetails": { + "additionalProperties": false, + "properties": { + "AccountUrn": { + "type": "string" + } + }, + "required": [ + "AccountUrn" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredGitLabServiceDetails": { + "additionalProperties": false, + "properties": { + "GroupId": { + "type": "string" + }, + "TargetUrl": { + "type": "string" + }, + "TokenType": { + "type": "string" + } + }, + "required": [ + "TargetUrl", + "TokenType" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredMCPServerDetails": { + "additionalProperties": false, + "properties": { + "ApiKeyHeader": { + "type": "string" + }, + "AuthorizationMethod": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "AuthorizationMethod", + "Endpoint", + "Name" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredMCPServerGrafanaDetails": { + "additionalProperties": false, + "properties": { + "AuthorizationMethod": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "AuthorizationMethod", + "Endpoint" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredMCPServerSigV4Details": { + "additionalProperties": false, + "properties": { + "CustomHeaders": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Any tags assigned to the Dedicated Host.", - "title": "Tags", - "type": "array" } }, - "required": [ - "AvailabilityZone" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::EC2::Host" - ], + "Description": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Endpoint": { + "type": "string" + }, + "McpRoleArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Service": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Endpoint", + "Name", + "Region", + "RoleArn", + "Service" ], "type": "object" }, - "AWS::EC2::IPAM": { + "AWS::DevOpsAgent::Service.RegisteredNewRelicDetails": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "AccountId", + "Region" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredPagerDutyDetails": { + "additionalProperties": false, + "properties": { + "Scopes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Scopes" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredServiceNowDetails": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.ServiceDetails": { + "additionalProperties": false, + "properties": { + "AzureIdentity": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.AzureIdentityServiceDetails" + }, + "Dynatrace": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.DynatraceServiceDetails" + }, + "GitLab": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.GitLabDetails" + }, + "MCPServer": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerDetails" + }, + "MCPServerGrafana": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerGrafanaDetails" + }, + "MCPServerNewRelic": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.NewRelicServiceDetails" + }, + "MCPServerSigV4": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSigV4Details" + }, + "MCPServerSplunk": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSplunkDetails" + }, + "PagerDuty": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.PagerDutyDetails" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.ServiceNowServiceDetails" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Service.ServiceNowAuthorizationConfig": { + "additionalProperties": false, + "properties": { + "OAuthClientCredentials": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.OAuthClientDetails" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Service.ServiceNowServiceDetails": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.ServiceNowAuthorizationConfig" + }, + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Trigger": { "additionalProperties": false, "properties": { "Condition": { @@ -122520,56 +121732,33 @@ "Properties": { "additionalProperties": false, "properties": { - "DefaultResourceDiscoveryOrganizationalUnitExclusions": { - "items": { - "$ref": "#/definitions/AWS::EC2::IPAM.IpamOrganizationalUnitExclusion" - }, - "markdownDescription": "If your IPAM is integrated with AWS Organizations, you can exclude an [organizational unit (OU)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit) from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see [Exclude organizational units from IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html) in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .", - "title": "DefaultResourceDiscoveryOrganizationalUnitExclusions", - "type": "array" + "Action": { + "type": "object" }, - "Description": { - "markdownDescription": "The description for the IPAM.", - "title": "Description", + "AgentSpaceId": { "type": "string" }, - "EnablePrivateGua": { - "markdownDescription": "Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.", - "title": "EnablePrivateGua", - "type": "boolean" + "Condition": { + "$ref": "#/definitions/AWS::DevOpsAgent::Trigger.Condition" }, - "MeteredAccount": { - "markdownDescription": "A metered account is an AWS account that is charged for active IP addresses managed in IPAM. For more information, see [Enable cost distribution](https://docs.aws.amazon.com/vpc/latest/ipam/ipam-enable-cost-distro.html) in the *Amazon VPC IPAM User Guide* .\n\nPossible values:\n\n- `ipam-owner` (default): The AWS account which owns the IPAM is charged for all active IP addresses managed in IPAM.\n- `resource-owner` : The AWS account that owns the IP address is charged for the active IP address.", - "title": "MeteredAccount", + "Status": { "type": "string" }, - "OperatingRegions": { - "items": { - "$ref": "#/definitions/AWS::EC2::IPAM.IpamOperatingRegion" - }, - "markdownDescription": "The operating Regions for an IPAM. Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions.\n\nFor more information about operating Regions, see [Create an IPAM](https://docs.aws.amazon.com//vpc/latest/ipam/create-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "OperatingRegions", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value.", - "title": "Tags", - "type": "array" - }, - "Tier": { - "markdownDescription": "IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see the [VPC IPAM product pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", - "title": "Tier", + "Type": { "type": "string" } }, + "required": [ + "Action", + "AgentSpaceId", + "Condition", + "Type" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAM" + "AWS::DevOpsAgent::Trigger" ], "type": "string" }, @@ -122583,39 +121772,36 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::IPAM.IpamOperatingRegion": { + "AWS::DevOpsAgent::Trigger.Condition": { "additionalProperties": false, "properties": { - "RegionName": { - "markdownDescription": "The name of the operating Region.", - "title": "RegionName", - "type": "string" + "Schedule": { + "$ref": "#/definitions/AWS::DevOpsAgent::Trigger.Schedule" } }, "required": [ - "RegionName" + "Schedule" ], "type": "object" }, - "AWS::EC2::IPAM.IpamOrganizationalUnitExclusion": { + "AWS::DevOpsAgent::Trigger.Schedule": { "additionalProperties": false, "properties": { - "OrganizationsEntityPath": { - "markdownDescription": "An AWS Organizations entity path. For more information on the entity path, see [Understand the AWS Organizations entity path](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path) in the *AWS Identity and Access Management User Guide* .", - "title": "OrganizationsEntityPath", + "Expression": { "type": "string" } }, "required": [ - "OrganizationsEntityPath" + "Expression" ], "type": "object" }, - "AWS::EC2::IPAMAllocation": { + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration": { "additionalProperties": false, "properties": { "Condition": { @@ -122649,36 +121835,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Cidr": { - "markdownDescription": "The CIDR you would like to allocate from the IPAM pool. Note the following:\n\n- If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.\n- If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.\n\nPossible values: Any available IPv4 or IPv6 CIDR.", - "title": "Cidr", - "type": "string" - }, - "Description": { - "markdownDescription": "A description for the allocation.", - "title": "Description", - "type": "string" - }, - "IpamPoolId": { - "markdownDescription": "The ID of the IPAM pool from which you would like to allocate a CIDR.", - "title": "IpamPoolId", - "type": "string" - }, - "NetmaskLength": { - "markdownDescription": "The netmask length of the CIDR you would like to allocate from the IPAM pool. Note the following:\n\n- If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.\n- If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.\n\nPossible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.", - "title": "NetmaskLength", - "type": "number" - } - }, - "required": [ - "IpamPoolId" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMAllocation" + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" ], "type": "string" }, @@ -122692,12 +121854,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::IPAMPool": { + "AWS::DevOpsGuru::NotificationChannel": { "additionalProperties": false, "properties": { "Condition": { @@ -122732,105 +121893,20 @@ "Properties": { "additionalProperties": false, "properties": { - "AddressFamily": { - "markdownDescription": "The address family of the pool.", - "title": "AddressFamily", - "type": "string" - }, - "AllocationDefaultNetmaskLength": { - "markdownDescription": "The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.", - "title": "AllocationDefaultNetmaskLength", - "type": "number" - }, - "AllocationMaxNetmaskLength": { - "markdownDescription": "The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.", - "title": "AllocationMaxNetmaskLength", - "type": "number" - }, - "AllocationMinNetmaskLength": { - "markdownDescription": "The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.", - "title": "AllocationMinNetmaskLength", - "type": "number" - }, - "AllocationResourceTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.", - "title": "AllocationResourceTags", - "type": "array" - }, - "AutoImport": { - "markdownDescription": "If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.\n\nA locale must be set on the pool for this feature to work.", - "title": "AutoImport", - "type": "boolean" - }, - "AwsService": { - "markdownDescription": "Limits which service in AWS that the pool can be used in. \"ec2\", for example, allows users to use space for Elastic IP addresses and VPCs.", - "title": "AwsService", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the IPAM pool.", - "title": "Description", - "type": "string" - }, - "IpamScopeId": { - "markdownDescription": "The ID of the scope in which you would like to create the IPAM pool.", - "title": "IpamScopeId", - "type": "string" - }, - "Locale": { - "markdownDescription": "The locale of the IPAM pool.\n\nThe locale for the pool should be one of the following:\n\n- An AWS Region where you want this IPAM pool to be available for allocations.\n- The network border group for an AWS Local Zone where you want this IPAM pool to be available for allocations ( [supported Local Zones](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail) ). This option is only available for IPAM IPv4 pools in the public scope.\n\nIf you choose an AWS Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.", - "title": "Locale", - "type": "string" - }, - "ProvisionedCidrs": { - "items": { - "$ref": "#/definitions/AWS::EC2::IPAMPool.ProvisionedCidr" - }, - "markdownDescription": "Information about the CIDRs provisioned to an IPAM pool.", - "title": "ProvisionedCidrs", - "type": "array" - }, - "PublicIpSource": { - "markdownDescription": "The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is `BYOIP` . For more information, see [Create IPv6 pools](https://docs.aws.amazon.com//vpc/latest/ipam/intro-create-ipv6-pools.html) in the *Amazon VPC IPAM User Guide* . By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see [Quotas for your IPAM](https://docs.aws.amazon.com//vpc/latest/ipam/quotas-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "PublicIpSource", - "type": "string" - }, - "PubliclyAdvertisable": { - "markdownDescription": "Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to `ipv4` .", - "title": "PubliclyAdvertisable", - "type": "boolean" - }, - "SourceIpamPoolId": { - "markdownDescription": "The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.", - "title": "SourceIpamPoolId", - "type": "string" - }, - "SourceResource": { - "$ref": "#/definitions/AWS::EC2::IPAMPool.SourceResource", - "markdownDescription": "The resource used to provision CIDRs to a resource planning pool.", - "title": "SourceResource" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value.", - "title": "Tags", - "type": "array" + "Config": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig", + "markdownDescription": "A `NotificationChannelConfig` object that contains information about configured notification channels.", + "title": "Config" } }, "required": [ - "AddressFamily", - "IpamScopeId" + "Config" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMPool" + "AWS::DevOpsGuru::NotificationChannel" ], "type": "string" }, @@ -122849,53 +121925,56 @@ ], "type": "object" }, - "AWS::EC2::IPAMPool.ProvisionedCidr": { + "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { "additionalProperties": false, "properties": { - "Cidr": { - "markdownDescription": "The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is `10.24.34.0/23` . An IPv6 CIDR example is `2001:DB8::/32` .", - "title": "Cidr", - "type": "string" + "Filters": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationFilterConfig", + "markdownDescription": "The filter configurations for the Amazon SNS notification topic you use with DevOps Guru. If you do not provide filter configurations, the default configurations are to receive notifications for all message types of `High` or `Medium` severity.", + "title": "Filters" + }, + "Sns": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig", + "markdownDescription": "Information about a notification channel configured in DevOps Guru to send notifications when insights are created.\n\nIf you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission to send it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. DevOps Guru only supports standard SNS topics. For more information, see [Permissions for Amazon SNS topics](https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html) .\n\nIf you use an Amazon SNS topic that is encrypted by an AWS Key Management Service customer-managed key (CMK), then you must add permissions to the CMK. For more information, see [Permissions for AWS KMS\u2013encrypted Amazon SNS topics](https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html) .", + "title": "Sns" } }, - "required": [ - "Cidr" - ], "type": "object" }, - "AWS::EC2::IPAMPool.SourceResource": { + "AWS::DevOpsGuru::NotificationChannel.NotificationFilterConfig": { "additionalProperties": false, "properties": { - "ResourceId": { - "markdownDescription": "The source resource ID.", - "title": "ResourceId", - "type": "string" - }, - "ResourceOwner": { - "markdownDescription": "The source resource owner.", - "title": "ResourceOwner", - "type": "string" - }, - "ResourceRegion": { - "markdownDescription": "The source resource Region.", - "title": "ResourceRegion", - "type": "string" + "MessageTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The events that you want to receive notifications for. For example, you can choose to receive notifications only when the severity level is upgraded or a new insight is created.", + "title": "MessageTypes", + "type": "array" }, - "ResourceType": { - "markdownDescription": "The source resource type.", - "title": "ResourceType", + "Severities": { + "items": { + "type": "string" + }, + "markdownDescription": "The severity levels that you want to receive notifications for. For example, you can choose to receive notifications only for insights with `HIGH` and `MEDIUM` severity levels. For more information, see [Understanding insight severities](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-insights.html#understanding-insights-severities) .", + "title": "Severities", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an Amazon Simple Notification Service topic.", + "title": "TopicArn", "type": "string" } }, - "required": [ - "ResourceId", - "ResourceOwner", - "ResourceRegion", - "ResourceType" - ], "type": "object" }, - "AWS::EC2::IPAMPoolCidr": { + "AWS::DevOpsGuru::ResourceCollection": { "additionalProperties": false, "properties": { "Condition": { @@ -122930,30 +122009,20 @@ "Properties": { "additionalProperties": false, "properties": { - "Cidr": { - "markdownDescription": "The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is `10.24.34.0/23` . An IPv6 CIDR example is `2001:DB8::/32` .", - "title": "Cidr", - "type": "string" - }, - "IpamPoolId": { - "markdownDescription": "The ID of the IPAM pool.", - "title": "IpamPoolId", - "type": "string" - }, - "NetmaskLength": { - "markdownDescription": "The netmask length of the CIDR you'd like to provision to a pool. Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. \"NetmaskLength\" or \"Cidr\" is required.", - "title": "NetmaskLength", - "type": "number" + "ResourceCollectionFilter": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter", + "markdownDescription": "Information about a filter used to specify which AWS resources are analyzed for anomalous behavior by DevOps Guru.", + "title": "ResourceCollectionFilter" } }, "required": [ - "IpamPoolId" + "ResourceCollectionFilter" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMPoolCidr" + "AWS::DevOpsGuru::ResourceCollection" ], "type": "string" }, @@ -122972,7 +122041,59 @@ ], "type": "object" }, - "AWS::EC2::IPAMPrefixListResolver": { + "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { + "additionalProperties": false, + "properties": { + "StackNames": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of CloudFormation stack names.", + "title": "StackNames", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { + "additionalProperties": false, + "properties": { + "CloudFormation": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter", + "markdownDescription": "Information about AWS CloudFormation stacks. You can use up to 1000 stacks to specify which AWS resources in your account to analyze. For more information, see [Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html) in the *AWS CloudFormation User Guide* .", + "title": "CloudFormation" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.TagCollection" + }, + "markdownDescription": "The AWS tags used to filter the resources in the resource collection.\n\nTags help you identify and organize your AWS resources. Many AWS services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an AWS Lambda function. For more information about using tags, see the [Tagging best practices](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) whitepaper.\n\nEach AWS tag has two parts.\n\n- A tag *key* (for example, `CostCenter` , `Environment` , `Project` , or `Secret` ). Tag *keys* are case-sensitive.\n- A field known as a tag *value* (for example, `111122223333` , `Production` , or a team name). Omitting the tag *value* is the same as using an empty string. Like tag *keys* , tag *values* are case-sensitive. The tag value is a required property when AppBoundaryKey is specified.\n\nTogether these are known as *key* - *value* pairs.\n\n> The string used for a *key* in a tag that you use to define your resource coverage must begin with the prefix `Devops-guru-` . The tag *key* might be `DevOps-Guru-deployment-application` or `devops-guru-rds-application` . When you create a *key* , the case of characters in the *key* can be whatever you choose. After you create a *key* , it is case-sensitive. For example, DevOps Guru works with a *key* named `devops-guru-rds` and a *key* named `DevOps-Guru-RDS` , and these act as two different *keys* . Possible *key* / *value* pairs in your application might be `Devops-Guru-production-application/RDS` or `Devops-Guru-production-application/containers` .", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.TagCollection": { + "additionalProperties": false, + "properties": { + "AppBoundaryKey": { + "markdownDescription": "An AWS tag *key* that is used to identify the AWS resources that DevOps Guru analyzes. All AWS resources in your account and Region tagged with this *key* make up your DevOps Guru application and analysis boundary.\n\n> When you create a *key* , the case of characters in the *key* can be whatever you choose. After you create a *key* , it is case-sensitive. For example, DevOps Guru works with a *key* named `devops-guru-rds` and a *key* named `DevOps-Guru-RDS` , and these act as two different *keys* . Possible *key* / *value* pairs in your application might be `Devops-Guru-production-application/RDS` or `Devops-Guru-production-application/containers` .", + "title": "AppBoundaryKey", + "type": "string" + }, + "TagValues": { + "items": { + "type": "string" + }, + "markdownDescription": "The values in an AWS tag collection.\n\nThe tag's *value* is a field used to associate a string with the tag *key* (for example, `111122223333` , `Production` , or a team name). The *key* and *value* are the tag's *key* pair. Omitting the tag *value* is the same as using an empty string. Like tag *keys* , tag *values* are case-sensitive. You can specify a maximum of 256 characters for a tag value. The tag value is a required property when *AppBoundaryKey* is specified.", + "title": "TagValues", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DirectConnect::Connection": { "additionalProperties": false, "properties": { "Condition": { @@ -123007,20 +122128,23 @@ "Properties": { "additionalProperties": false, "properties": { - "AddressFamily": { + "Bandwidth": { "type": "string" }, - "Description": { + "ConnectionName": { "type": "string" }, - "IpamId": { + "LagId": { "type": "string" }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRule" - }, - "type": "array" + "Location": { + "type": "string" + }, + "ProviderName": { + "type": "string" + }, + "RequestMACSec": { + "type": "boolean" }, "Tags": { "items": { @@ -123030,13 +122154,15 @@ } }, "required": [ - "AddressFamily" + "Bandwidth", + "ConnectionName", + "Location" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMPrefixListResolver" + "AWS::DirectConnect::Connection" ], "type": "string" }, @@ -123055,64 +122181,7 @@ ], "type": "object" }, - "AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRule": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRuleCondition" - }, - "type": "array" - }, - "IpamScopeId": { - "type": "string" - }, - "ResourceType": { - "type": "string" - }, - "RuleType": { - "type": "string" - }, - "StaticCidr": { - "type": "string" - } - }, - "required": [ - "RuleType" - ], - "type": "object" - }, - "AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRuleCondition": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "IpamPoolId": { - "type": "string" - }, - "Operation": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "ResourceOwner": { - "type": "string" - }, - "ResourceRegion": { - "type": "string" - }, - "ResourceTag": { - "$ref": "#/definitions/Tag" - } - }, - "required": [ - "Operation" - ], - "type": "object" - }, - "AWS::EC2::IPAMPrefixListResolverTarget": { + "AWS::DirectConnect::DirectConnectGateway": { "additionalProperties": false, "properties": { "Condition": { @@ -123147,16 +122216,10 @@ "Properties": { "additionalProperties": false, "properties": { - "DesiredVersion": { - "type": "number" - }, - "IpamPrefixListResolverId": { - "type": "string" - }, - "PrefixListId": { + "AmazonSideAsn": { "type": "string" }, - "PrefixListRegion": { + "DirectConnectGatewayName": { "type": "string" }, "Tags": { @@ -123164,22 +122227,16 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TrackLatestVersion": { - "type": "boolean" } }, "required": [ - "IpamPrefixListResolverId", - "PrefixListId", - "PrefixListRegion", - "TrackLatestVersion" + "DirectConnectGatewayName" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMPrefixListResolverTarget" + "AWS::DirectConnect::DirectConnectGateway" ], "type": "string" }, @@ -123198,7 +122255,7 @@ ], "type": "object" }, - "AWS::EC2::IPAMResourceDiscovery": { + "AWS::DirectConnect::DirectConnectGatewayAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -123233,41 +122290,31 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The resource discovery description.", - "title": "Description", + "AcceptDirectConnectGatewayAssociationProposalRoleArn": { "type": "string" }, - "OperatingRegions": { + "AllowedPrefixesToDirectConnectGateway": { "items": { - "$ref": "#/definitions/AWS::EC2::IPAMResourceDiscovery.IpamOperatingRegion" + "type": "string" }, - "markdownDescription": "The operating Regions for the resource discovery. Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions.", - "title": "OperatingRegions", "type": "array" }, - "OrganizationalUnitExclusions": { - "items": { - "$ref": "#/definitions/AWS::EC2::IPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusion" - }, - "markdownDescription": "If your IPAM is integrated with AWS Organizations, you can exclude an [organizational unit (OU)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit) from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see [Exclude organizational units from IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html) in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .", - "title": "OrganizationalUnitExclusions", - "type": "array" + "AssociatedGatewayId": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A tag is a label that you assign to an AWS resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your AWS costs.", - "title": "Tags", - "type": "array" + "DirectConnectGatewayId": { + "type": "string" } }, + "required": [ + "AssociatedGatewayId", + "DirectConnectGatewayId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMResourceDiscovery" + "AWS::DirectConnect::DirectConnectGatewayAssociation" ], "type": "string" }, @@ -123281,39 +122328,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::IPAMResourceDiscovery.IpamOperatingRegion": { - "additionalProperties": false, - "properties": { - "RegionName": { - "markdownDescription": "The name of the operating Region.", - "title": "RegionName", - "type": "string" - } - }, - "required": [ - "RegionName" - ], - "type": "object" - }, - "AWS::EC2::IPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusion": { - "additionalProperties": false, - "properties": { - "OrganizationsEntityPath": { - "markdownDescription": "An AWS Organizations entity path. For more information on the entity path, see [Understand the AWS Organizations entity path](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path) in the *AWS Identity and Access Management User Guide* .", - "title": "OrganizationsEntityPath", - "type": "string" - } - }, - "required": [ - "OrganizationsEntityPath" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::IPAMResourceDiscoveryAssociation": { + "AWS::DirectConnect::Lag": { "additionalProperties": false, "properties": { "Condition": { @@ -123348,34 +122368,41 @@ "Properties": { "additionalProperties": false, "properties": { - "IpamId": { - "markdownDescription": "The IPAM ID.", - "title": "IpamId", + "ConnectionsBandwidth": { "type": "string" }, - "IpamResourceDiscoveryId": { - "markdownDescription": "The resource discovery ID.", - "title": "IpamResourceDiscoveryId", + "LagName": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "MinimumLinks": { + "type": "number" + }, + "ProviderName": { "type": "string" }, + "RequestMACSec": { + "type": "boolean" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A tag is a label that you assign to an AWS resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your AWS costs.", - "title": "Tags", "type": "array" } }, "required": [ - "IpamId", - "IpamResourceDiscoveryId" + "ConnectionsBandwidth", + "LagName", + "Location" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMResourceDiscoveryAssociation" + "AWS::DirectConnect::Lag" ], "type": "string" }, @@ -123394,7 +122421,7 @@ ], "type": "object" }, - "AWS::EC2::IPAMScope": { + "AWS::DirectConnect::PrivateVirtualInterface": { "additionalProperties": false, "properties": { "Condition": { @@ -123429,38 +122456,57 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the scope.", - "title": "Description", + "AllocatePrivateVirtualInterfaceRoleArn": { "type": "string" }, - "ExternalAuthorityConfiguration": { - "$ref": "#/definitions/AWS::EC2::IPAMScope.IpamScopeExternalAuthorityConfiguration", - "markdownDescription": "The configuration that links an Amazon VPC IPAM scope to an external authority system. It specifies the type of external system and the external resource identifier that identifies your account or instance in that system.\n\nFor more information, see [Integrate VPC IPAM with Infoblox infrastructure](https://docs.aws.amazon.com/vpc/latest/ipam/integrate-infoblox-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "ExternalAuthorityConfiguration" + "BgpPeers": { + "items": { + "$ref": "#/definitions/AWS::DirectConnect::PrivateVirtualInterface.BgpPeer" + }, + "type": "array" }, - "IpamId": { - "markdownDescription": "The ID of the IPAM for which you're creating this scope.", - "title": "IpamId", + "ConnectionId": { + "type": "string" + }, + "DirectConnectGatewayId": { + "type": "string" + }, + "EnableSiteLink": { + "type": "boolean" + }, + "Mtu": { + "type": "number" + }, + "RateLimit": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value.", - "title": "Tags", "type": "array" + }, + "VirtualGatewayId": { + "type": "string" + }, + "VirtualInterfaceName": { + "type": "string" + }, + "Vlan": { + "type": "number" } }, "required": [ - "IpamId" + "BgpPeers", + "ConnectionId", + "VirtualInterfaceName", + "Vlan" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMScope" + "AWS::DirectConnect::PrivateVirtualInterface" ], "type": "string" }, @@ -123479,35 +122525,40 @@ ], "type": "object" }, - "AWS::EC2::IPAMScope.IpamScopeExternalAuthorityConfiguration": { + "AWS::DirectConnect::PrivateVirtualInterface.BgpPeer": { "additionalProperties": false, "properties": { - "ExternalResourceIdentifier": { - "markdownDescription": "The identifier for the external resource managing this scope. For Infoblox integrations, this is the Infoblox resource identifier in the format `.identity.account..` .", - "title": "ExternalResourceIdentifier", + "AddressFamily": { "type": "string" }, - "IpamScopeExternalAuthorityType": { - "markdownDescription": "The type of external authority managing this scope. Currently supports `Infoblox` for integration with Infoblox Universal DDI.", - "title": "IpamScopeExternalAuthorityType", + "AmazonAddress": { + "type": "string" + }, + "Asn": { + "type": "string" + }, + "AuthKey": { + "type": "string" + }, + "BgpPeerId": { + "type": "string" + }, + "CustomerAddress": { "type": "string" } }, "required": [ - "ExternalResourceIdentifier", - "IpamScopeExternalAuthorityType" + "AddressFamily", + "Asn" ], "type": "object" }, - "AWS::EC2::Instance": { + "AWS::DirectConnect::PublicVirtualInterface": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, - "CreationPolicy": { - "type": "object" - }, "DeletionPolicy": { "enum": [ "Delete", @@ -123537,250 +122588,51 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalInfo": { - "markdownDescription": "This property is reserved for internal use. If you use it, the stack fails with this error: `Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)` .", - "title": "AdditionalInfo", - "type": "string" - }, - "Affinity": { - "markdownDescription": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify `host` . If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify `default` .", - "title": "Affinity", - "type": "string" - }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone of the instance.\n\nIf not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region.\n\nThis parameter is not supported by [DescribeImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html) .", - "title": "AvailabilityZone", - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" - }, - "markdownDescription": "The block device mapping entries that defines the block devices to attach to the instance at launch.\n\nBy default, the block devices specified in the block device mapping for the AMI are used. You can override the AMI block device mapping using the instance block device mapping. For the root volume, you can override only the volume size, volume type, volume encryption settings, and the `DeleteOnTermination` setting.\n\n> After the instance is running, you can modify only the `DeleteOnTermination` parameter for the attached volumes without interrupting the instance. Modifying any other parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "BlockDeviceMappings", - "type": "array" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions", - "markdownDescription": "The CPU options for the instance. For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification", - "markdownDescription": "The credit option for CPU usage of the burstable performance instance. Valid values are `standard` and `unlimited` . To change this attribute after launch, use [ModifyInstanceCreditSpecification](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html) . For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) in the *Amazon EC2 User Guide* .\n\nDefault: `standard` (T2 instances) or `unlimited` (T3/T3a/T4g instances)\n\nFor T3 instances with `host` tenancy, only `standard` is supported.", - "title": "CreditSpecification" - }, - "DisableApiTermination": { - "markdownDescription": "Indicates whether termination protection is enabled for the instance. The default is `false` , which means that you can terminate the instance using the Amazon EC2 console, command line tools, or API. You can enable termination protection when you launch an instance, while the instance is running, or while the instance is stopped.", - "title": "DisableApiTermination", - "type": "boolean" - }, - "EbsOptimized": { - "markdownDescription": "Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.\n\nDefault: `false`", - "title": "EbsOptimized", - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" - }, - "markdownDescription": "An elastic GPU to associate with the instance.\n\n> Amazon Elastic Graphics reached end of life on January 8, 2024.", - "title": "ElasticGpuSpecifications", - "type": "array" - }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" - }, - "markdownDescription": "An elastic inference accelerator to associate with the instance.\n\n> Amazon Elastic Inference is no longer available.", - "title": "ElasticInferenceAccelerators", - "type": "array" - }, - "EnclaveOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions", - "markdownDescription": "Indicates whether the instance is enabled for AWS Nitro Enclaves.", - "title": "EnclaveOptions" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions", - "markdownDescription": "Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the [hibernation prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernating-prerequisites.html) . For more information, see [Hibernate your Amazon EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) in the *Amazon EC2 User Guide* .\n\nYou can't enable hibernation and AWS Nitro Enclaves on the same instance.", - "title": "HibernationOptions" - }, - "HostId": { - "markdownDescription": "If you specify host for the `Affinity` property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. This type of launch is called an untargeted launch. Note that for untargeted launches, you must have a compatible, dedicated host available to successfully launch instances.", - "title": "HostId", - "type": "string" - }, - "HostResourceGroupArn": { - "markdownDescription": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the *Tenancy* parameter or set it to `host` .", - "title": "HostResourceGroupArn", - "type": "string" - }, - "IamInstanceProfile": { - "markdownDescription": "The name of an IAM instance profile. To create a new IAM instance profile, use the [AWS::IAM::InstanceProfile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html) resource.", - "title": "IamInstanceProfile", - "type": "string" - }, - "ImageId": { - "markdownDescription": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.", - "title": "ImageId", - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "markdownDescription": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).\n\nDefault: `stop`", - "title": "InstanceInitiatedShutdownBehavior", - "type": "string" - }, - "InstanceType": { - "markdownDescription": "The instance type. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nWhen you change your EBS-backed instance type, instance restart or replacement behavior depends on the instance type compatibility between the old and new types. An instance with an instance store volume as the root volume is always replaced. For more information, see [Change the instance type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html) in the *Amazon EC2 User Guide* .", - "title": "InstanceType", - "type": "string" - }, - "Ipv6AddressCount": { - "markdownDescription": "The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.\n\nYou cannot specify this option and the network interfaces option in the same request.", - "title": "Ipv6AddressCount", - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" - }, - "markdownDescription": "The IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.\n\nYou cannot specify this option and the network interfaces option in the same request.", - "title": "Ipv6Addresses", - "type": "array" - }, - "KernelId": { - "markdownDescription": "The ID of the kernel.\n\n> We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [PV-GRUB](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", - "title": "KernelId", - "type": "string" - }, - "KeyName": { - "markdownDescription": "The name of the key pair. For more information, see [Create a key pair for your EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html) .\n\n> If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.", - "title": "KeyName", + "AllocatePublicVirtualInterfaceRoleArn": { "type": "string" }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification", - "markdownDescription": "The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.", - "title": "LaunchTemplate" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" - }, - "markdownDescription": "The license configurations.", - "title": "LicenseSpecifications", - "type": "array" - }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.MetadataOptions", - "markdownDescription": "The metadata options for the instance.", - "title": "MetadataOptions" - }, - "Monitoring": { - "markdownDescription": "Specifies whether detailed monitoring is enabled for the instance. Specify `true` to enable detailed monitoring. Otherwise, basic monitoring is enabled. For more information about detailed monitoring, see [Enable or turn off detailed monitoring for your instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html) in the *Amazon EC2 User Guide* .", - "title": "Monitoring", - "type": "boolean" - }, - "NetworkInterfaces": { + "BgpPeers": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + "$ref": "#/definitions/AWS::DirectConnect::PublicVirtualInterface.BgpPeer" }, - "markdownDescription": "The network interfaces to associate with the instance.\n\n> If you use this property to point to a network interface, you must terminate the original interface before attaching a new one to allow the update of the instance to succeed.\n> \n> If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the VPC-gateway attachment.", - "title": "NetworkInterfaces", "type": "array" }, - "PlacementGroupName": { - "markdownDescription": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).", - "title": "PlacementGroupName", - "type": "string" - }, - "PrivateDnsNameOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.PrivateDnsNameOptions", - "markdownDescription": "The options for the instance hostname.", - "title": "PrivateDnsNameOptions" - }, - "PrivateIpAddress": { - "markdownDescription": "The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.\n\nOnly one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.\n\nYou cannot specify this option and the network interfaces option in the same request.\n\nIf you make an update to an instance that requires replacement, you must assign a new private IP address. During a replacement, AWS CloudFormation creates a new instance but doesn't delete the old instance until the stack has successfully updated. If the stack update fails, AWS CloudFormation uses the old instance to roll back the stack to the previous working state. The old and new instances cannot have the same private IP address.", - "title": "PrivateIpAddress", + "ConnectionId": { "type": "string" }, - "PropagateTagsToVolumeOnCreation": { - "markdownDescription": "Indicates whether to assign the tags specified in the `Tags` property to the volumes specified in the `BlockDeviceMappings` property.\n\nNote that using this feature does not assign the tags to volumes that are created separately and then attached using `AWS::EC2::VolumeAttachment` .", - "title": "PropagateTagsToVolumeOnCreation", - "type": "boolean" - }, - "RamdiskId": { - "markdownDescription": "The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID.\n\n> We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [PV-GRUB](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", - "title": "RamdiskId", + "RateLimit": { "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the security groups. You can specify the IDs of existing security groups and references to resources created by the stack template.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SecurityGroups": { + "RouteFilterPrefixes": { "items": { "type": "string" }, - "markdownDescription": "[Default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead.\n\nYou cannot specify this option and the network interfaces option in the same request. The list can contain both the name of existing Amazon EC2 security groups or references to AWS::EC2::SecurityGroup resources created in the template.\n\nDefault: Amazon EC2 uses the default security group.", - "title": "SecurityGroups", - "type": "array" - }, - "SourceDestCheck": { - "markdownDescription": "Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is `true` , source/destination checks are enabled; otherwise, they are disabled. The default value is `true` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.", - "title": "SourceDestCheck", - "type": "boolean" - }, - "SsmAssociations": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" - }, - "markdownDescription": "The SSM [document](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html) and parameter values in AWS Systems Manager to associate with this instance. To use this property, you must specify an IAM instance profile role for the instance. For more information, see [Create an IAM instance profile for Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-configuring-access-role.html) in the *AWS Systems Manager User Guide* .\n\n> You can associate only one document with an instance.", - "title": "SsmAssociations", "type": "array" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet to launch the instance into.\n\nIf you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.", - "title": "SubnetId", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to add to the instance. These tags are not applied to the EBS volumes, such as the root volume, unless [PropagateTagsToVolumeOnCreation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-propagatetagstovolumeoncreation) is `true` .", - "title": "Tags", "type": "array" }, - "Tenancy": { - "markdownDescription": "The tenancy of the instance. An instance with a tenancy of `dedicated` runs on single-tenant hardware.", - "title": "Tenancy", - "type": "string" - }, - "UserData": { - "markdownDescription": "The parameters or scripts to store as user data. Any scripts in user data are run when you launch the instance. User data is limited to 16 KB. You must provide base64-encoded text. For more information, see [Fn::Base64](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-base64.html) .\n\nIf the root volume is an EBS volume and you update user data, CloudFormation restarts the instance. If the root volume is an instance store volume and you update user data, the instance is replaced.", - "title": "UserData", + "VirtualInterfaceName": { "type": "string" }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.Volume" - }, - "markdownDescription": "The volumes to attach to the instance.", - "title": "Volumes", - "type": "array" + "Vlan": { + "type": "number" } }, + "required": [ + "BgpPeers", + "ConnectionId", + "VirtualInterfaceName", + "Vlan" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Instance" + "AWS::DirectConnect::PublicVirtualInterface" ], "type": "string" }, @@ -123794,483 +122646,40 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.AssociationParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The name of an input parameter that is in the associated SSM document.", - "title": "Key", - "type": "string" - }, - "Value": { - "items": { - "type": "string" - }, - "markdownDescription": "The value of an input parameter.", - "title": "Value", - "type": "array" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EC2::Instance.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "markdownDescription": "The device name. For available device names, see [Device names for volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html) .\n\n> After the instance is running, this parameter is used to specify the device name of the block device mapping to update.", - "title": "DeviceName", - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::Instance.Ebs", - "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.\n\n> After the instance is running, you can modify only the `DeleteOnTermination` parameter for the attached volumes without interrupting the instance. Modifying any other parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) .", - "title": "Ebs" - }, - "NoDevice": { - "markdownDescription": "To omit the device from the block device mapping, specify an empty string.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "NoDevice", - "type": "object" - }, - "VirtualName": { - "markdownDescription": "The virtual device name ( `ephemeral` N). The name must be in the form `ephemeral` *X* where *X* is a number starting from zero (0). For example, an instance type with 2 available instance store volumes can specify mappings for `ephemeral0` and `ephemeral1` . The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.\n\nNVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.\n\n*Constraints* : For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "VirtualName", - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "type": "object" - }, - "AWS::EC2::Instance.CpuOptions": { - "additionalProperties": false, - "properties": { - "CoreCount": { - "markdownDescription": "The number of CPU cores for the instance.", - "title": "CoreCount", - "type": "number" - }, - "ThreadsPerCore": { - "markdownDescription": "The number of threads per CPU core.", - "title": "ThreadsPerCore", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CPUCredits": { - "markdownDescription": "The credit option for CPU usage of the instance.\n\nValid values: `standard` | `unlimited`\n\nT3 instances with `host` tenancy do not support the `unlimited` CPU credit option.", - "title": "CPUCredits", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.Ebs": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "markdownDescription": "Indicates whether the EBS volume is deleted on instance termination. For more information, see [Preserving Amazon EBS volumes on instance termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) in the *Amazon EC2 User Guide* .", - "title": "DeleteOnTermination", - "type": "boolean" - }, - "Encrypted": { - "markdownDescription": "Indicates whether the volume should be encrypted. The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) in the *Amazon Elastic Compute Cloud User Guide* .\n\nEncrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances) .\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "Encrypted", - "type": "boolean" - }, - "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-64,000 IOPS\n\nFor `io1` and `io2` volumes, we guarantee 64,000 IOPS only for [Instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . Other instance families guarantee performance up to 32,000 IOPS.\n\nThis parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS. This parameter is not supported for `gp2` , `st1` , `sc1` , or `standard` volumes.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "Iops", - "type": "number" - }, - "KmsKeyId": { - "markdownDescription": "The identifier of the AWS KMS key to use for Amazon EBS encryption. If `KmsKeyId` is specified, the encrypted state must be `true` . If the encrypted state is `true` but you do not specify `KmsKeyId` , your KMS key for EBS is used.\n\nYou can specify the KMS key using any of the following:\n\n- Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.\n- Key alias. For example, alias/ExampleAlias.\n- Key ARN. For example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n- Alias ARN. For example, arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "KmsKeyId", - "type": "string" - }, - "SnapshotId": { - "markdownDescription": "The ID of the snapshot.\n\nIf you specify both `SnapshotId` and `VolumeSize` , `VolumeSize` must be equal or greater than the size of the snapshot.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "SnapshotId", - "type": "string" - }, - "VolumeSize": { - "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.\n\nThe following are the supported volumes sizes 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\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "VolumeSize", - "type": "number" - }, - "VolumeType": { - "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the *Amazon EC2 User Guide* . If the volume type is `io1` or `io2` , you must specify the IOPS that the volume supports.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "VolumeType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.ElasticGpuSpecification": { - "additionalProperties": false, - "properties": { - "Type": { - "markdownDescription": "The type of Elastic Graphics accelerator.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.ElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "markdownDescription": "The number of elastic inference accelerators to attach to the instance.", - "title": "Count", - "type": "number" - }, - "Type": { - "markdownDescription": "The type of elastic inference accelerator. The possible values are `eia1.medium` , `eia1.large` , `eia1.xlarge` , `eia2.medium` , `eia2.large` , and `eia2.xlarge` .", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.EnaSrdSpecification": { - "additionalProperties": false, - "properties": { - "EnaSrdEnabled": { - "markdownDescription": "Indicates whether ENA Express is enabled for the network interface.", - "title": "EnaSrdEnabled", - "type": "boolean" - }, - "EnaSrdUdpSpecification": { - "$ref": "#/definitions/AWS::EC2::Instance.EnaSrdUdpSpecification", - "markdownDescription": "Configures ENA Express for UDP network traffic.", - "title": "EnaSrdUdpSpecification" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.EnaSrdUdpSpecification": { - "additionalProperties": false, - "properties": { - "EnaSrdUdpEnabled": { - "markdownDescription": "Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.", - "title": "EnaSrdUdpEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.EnclaveOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "If this parameter is set to `true` , the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.", - "title": "Enabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "markdownDescription": "Set to `true` to enable your instance for hibernation.\n\nFor Spot Instances, if you set `Configured` to `true` , either omit the `InstanceInterruptionBehavior` parameter (for [`SpotMarketOptions`](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotMarketOptions.html) ), or set it to `hibernate` . When `Configured` is true:\n\n- If you omit `InstanceInterruptionBehavior` , it defaults to `hibernate` .\n- If you set `InstanceInterruptionBehavior` to a value other than `hibernate` , you'll get an error.\n\nDefault: `false`", - "title": "Configured", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "markdownDescription": "The IPv6 address.", - "title": "Ipv6Address", - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::Instance.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "markdownDescription": "The ID of the launch template.\n\nYou must specify either the launch template ID or the launch template name, but not both.", - "title": "LaunchTemplateId", - "type": "string" - }, - "LaunchTemplateName": { - "markdownDescription": "The name of the launch template.\n\nYou must specify either the launch template ID or the launch template name, but not both.", - "title": "LaunchTemplateName", - "type": "string" - }, - "Version": { - "markdownDescription": "The version number of the launch template. You must specify this property.\n\nTo specify the default version of the template, use the `Fn::GetAtt` intrinsic function to retrieve the `DefaultVersionNumber` attribute of the launch template. To specify the latest version of the template, use `Fn::GetAtt` to retrieve the `LatestVersionNumber` attribute. For more information, see [AWS::EC2:LaunchTemplate return values for Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate-return-values-fn--getatt) .", - "title": "Version", - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::EC2::Instance.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the license configuration.", - "title": "LicenseConfigurationArn", - "type": "string" - } - }, - "required": [ - "LicenseConfigurationArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::Instance.MetadataOptions": { - "additionalProperties": false, - "properties": { - "HttpEndpoint": { - "markdownDescription": "Enables or disables the HTTP metadata endpoint on your instances.\n\nIf you specify a value of `disabled` , you cannot access your instance metadata.\n\nDefault: `enabled`", - "title": "HttpEndpoint", - "type": "string" - }, - "HttpProtocolIpv6": { - "markdownDescription": "Enables or disables the IPv6 endpoint for the instance metadata service.\n\nDefault: `disabled`", - "title": "HttpProtocolIpv6", - "type": "string" - }, - "HttpPutResponseHopLimit": { - "markdownDescription": "The maximum number of hops that the metadata token can travel.\n\nPossible values: Integers from 1 to 64", - "title": "HttpPutResponseHopLimit", - "type": "number" - }, - "HttpTokens": { - "markdownDescription": "Indicates whether IMDSv2 is required.\n\n- `optional` - IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.\n- `required` - IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.\n\nDefault:\n\n- If the value of `ImdsSupport` for the Amazon Machine Image (AMI) for your instance is `v2.0` and the account level default is set to `no-preference` , the default is `required` .\n- If the value of `ImdsSupport` for the Amazon Machine Image (AMI) for your instance is `v2.0` , but the account level default is set to `V1 or V2` , the default is `optional` .\n\nThe default value can also be affected by other combinations of parameters. For more information, see [Order of precedence for instance metadata options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html#instance-metadata-options-order-of-precedence) in the *Amazon EC2 User Guide* .", - "title": "HttpTokens", - "type": "string" - }, - "InstanceMetadataTags": { - "markdownDescription": "Set to `enabled` to allow access to instance tags from the instance metadata. Set to `disabled` to turn off access to instance tags from the instance metadata. For more information, see [Work with instance tags using the instance metadata](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS) .\n\nDefault: `disabled`", - "title": "InstanceMetadataTags", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.NetworkInterface": { + "AWS::DirectConnect::PublicVirtualInterface.BgpPeer": { "additionalProperties": false, "properties": { - "AssociateCarrierIpAddress": { - "markdownDescription": "Indicates whether to assign a carrier IP address to the network interface.\n\nYou can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see [Carrier IP address](https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip) in the *AWS Wavelength Developer Guide* .", - "title": "AssociateCarrierIpAddress", - "type": "boolean" - }, - "AssociatePublicIpAddress": { - "markdownDescription": "Indicates whether to assign a public IPv4 address to an instance. Applies only if creating a network interface when launching an instance. The network interface must be the primary network interface. If launching into a default subnet, the default value is `true` .\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", - "title": "AssociatePublicIpAddress", - "type": "boolean" - }, - "DeleteOnTermination": { - "markdownDescription": "Indicates whether the network interface is deleted when the instance is terminated. Applies only if creating a network interface when launching an instance.", - "title": "DeleteOnTermination", - "type": "boolean" - }, - "Description": { - "markdownDescription": "The description of the network interface. Applies only if creating a network interface when launching an instance.", - "title": "Description", - "type": "string" - }, - "DeviceIndex": { - "markdownDescription": "The position of the network interface in the attachment order. A primary network interface has a device index of 0.\n\nIf you create a network interface when launching an instance, you must specify the device index.", - "title": "DeviceIndex", - "type": "string" - }, - "EnaSrdSpecification": { - "$ref": "#/definitions/AWS::EC2::Instance.EnaSrdSpecification", - "markdownDescription": "Configures ENA Express for UDP network traffic.", - "title": "EnaSrdSpecification" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.", - "title": "GroupSet", - "type": "array" - }, - "Ipv6AddressCount": { - "markdownDescription": "A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.", - "title": "Ipv6AddressCount", - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" - }, - "markdownDescription": "The IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.", - "title": "Ipv6Addresses", - "type": "array" - }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of the network interface, when attaching an existing network interface.", - "title": "NetworkInterfaceId", - "type": "string" - }, - "PrivateIpAddress": { - "markdownDescription": "The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance.", - "title": "PrivateIpAddress", - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" - }, - "markdownDescription": "One or more private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary.", - "title": "PrivateIpAddresses", - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "markdownDescription": "The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option.", - "title": "SecondaryPrivateIpAddressCount", - "type": "number" - }, - "SubnetId": { - "markdownDescription": "The ID of the subnet associated with the network interface.", - "title": "SubnetId", + "AddressFamily": { "type": "string" - } - }, - "required": [ - "DeviceIndex" - ], - "type": "object" - }, - "AWS::EC2::Instance.PrivateDnsNameOptions": { - "additionalProperties": false, - "properties": { - "EnableResourceNameDnsAAAARecord": { - "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "EnableResourceNameDnsAAAARecord", - "type": "boolean" - }, - "EnableResourceNameDnsARecord": { - "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "EnableResourceNameDnsARecord", - "type": "boolean" }, - "HostnameType": { - "markdownDescription": "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "HostnameType", + "AmazonAddress": { "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "markdownDescription": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.", - "title": "Primary", - "type": "boolean" }, - "PrivateIpAddress": { - "markdownDescription": "The private IPv4 address.", - "title": "PrivateIpAddress", + "Asn": { "type": "string" - } - }, - "required": [ - "Primary", - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::Instance.SsmAssociation": { - "additionalProperties": false, - "properties": { - "AssociationParameters": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" - }, - "markdownDescription": "The input parameter values to use with the associated SSM document.", - "title": "AssociationParameters", - "type": "array" }, - "DocumentName": { - "markdownDescription": "The name of an SSM document to associate with the instance.", - "title": "DocumentName", - "type": "string" - } - }, - "required": [ - "DocumentName" - ], - "type": "object" - }, - "AWS::EC2::Instance.State": { - "additionalProperties": false, - "properties": { - "Code": { - "markdownDescription": "The state of the instance as a 16-bit unsigned integer.\n\nThe high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values between 256 and 65,535. These numerical values are used for internal purposes and should be ignored.\n\nThe low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values between 0 and 255.\n\nThe valid values for instance-state-code will all be in the range of the low byte and they are:\n\n- `0` : `pending`\n- `16` : `running`\n- `32` : `shutting-down`\n- `48` : `terminated`\n- `64` : `stopping`\n- `80` : `stopped`\n\nYou can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in decimal.", - "title": "Code", + "AuthKey": { "type": "string" }, - "Name": { - "markdownDescription": "The current state of the instance.", - "title": "Name", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.Volume": { - "additionalProperties": false, - "properties": { - "Device": { - "markdownDescription": "The device name (for example, `/dev/sdh` or `xvdh` ).", - "title": "Device", + "BgpPeerId": { "type": "string" }, - "VolumeId": { - "markdownDescription": "The ID of the EBS volume. The volume and instance must be within the same Availability Zone.", - "title": "VolumeId", + "CustomerAddress": { "type": "string" } }, "required": [ - "Device", - "VolumeId" + "AddressFamily", + "Asn" ], "type": "object" }, - "AWS::EC2::InstanceConnectEndpoint": { + "AWS::DirectConnect::TransitVirtualInterface": { "additionalProperties": false, "properties": { "Condition": { @@ -124305,46 +122714,55 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientToken": { - "markdownDescription": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", - "title": "ClientToken", + "AllocateTransitVirtualInterfaceRoleArn": { "type": "string" }, - "PreserveClientIp": { - "markdownDescription": "Indicates whether the client IP address is preserved as the source. The following are the possible values.\n\n- `true` - Use the client IP address as the source.\n- `false` - Use the network interface IP address as the source.\n\n> `PreserveClientIp` is only supported on IPv4 EC2 Instance Connect Endpoints. To use `PreserveClientIp` , the value for `IpAddressType` must be `ipv4` . \n\nDefault: `false`", - "title": "PreserveClientIp", - "type": "boolean" - }, - "SecurityGroupIds": { + "BgpPeers": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DirectConnect::TransitVirtualInterface.BgpPeer" }, - "markdownDescription": "One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for your VPC will be associated with the endpoint.", - "title": "SecurityGroupIds", "type": "array" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet in which to create the EC2 Instance Connect Endpoint.", - "title": "SubnetId", + "ConnectionId": { + "type": "string" + }, + "DirectConnectGatewayId": { + "type": "string" + }, + "EnableSiteLink": { + "type": "boolean" + }, + "Mtu": { + "type": "number" + }, + "RateLimit": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to apply to the EC2 Instance Connect Endpoint during creation.", - "title": "Tags", "type": "array" + }, + "VirtualInterfaceName": { + "type": "string" + }, + "Vlan": { + "type": "number" } }, "required": [ - "SubnetId" + "BgpPeers", + "ConnectionId", + "DirectConnectGatewayId", + "VirtualInterfaceName", + "Vlan" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::InstanceConnectEndpoint" + "AWS::DirectConnect::TransitVirtualInterface" ], "type": "string" }, @@ -124363,31 +122781,35 @@ ], "type": "object" }, - "AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointDnsNames": { + "AWS::DirectConnect::TransitVirtualInterface.BgpPeer": { "additionalProperties": false, "properties": { - "DnsName": { + "AddressFamily": { "type": "string" }, - "FipsDnsName": { + "AmazonAddress": { "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointPublicDnsNames": { - "additionalProperties": false, - "properties": { - "Dualstack": { - "$ref": "#/definitions/AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointDnsNames" }, - "Ipv4": { - "$ref": "#/definitions/AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointDnsNames" + "Asn": { + "type": "string" + }, + "AuthKey": { + "type": "string" + }, + "BgpPeerId": { + "type": "string" + }, + "CustomerAddress": { + "type": "string" } }, + "required": [ + "AddressFamily", + "Asn" + ], "type": "object" }, - "AWS::EC2::InternetGateway": { + "AWS::DirectoryService::MicrosoftAD": { "additionalProperties": false, "properties": { "Condition": { @@ -124422,20 +122844,52 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Any tags to assign to the internet gateway.", - "title": "Tags", - "type": "array" + "CreateAlias": { + "markdownDescription": "Specifies an alias for a directory and assigns the alias to the directory. The alias is used to construct the access URL for the directory, such as `http://.awsapps.com` . By default, CloudFormation does not create an alias.\n\n> After an alias has been created, it cannot be deleted or reused, so this operation should only be used when absolutely necessary.", + "title": "CreateAlias", + "type": "boolean" + }, + "Edition": { + "markdownDescription": "AWS Managed Microsoft AD is available in two editions: `Standard` and `Enterprise` . `Enterprise` is the default.", + "title": "Edition", + "type": "string" + }, + "EnableSso": { + "markdownDescription": "Whether to enable single sign-on for a Microsoft Active Directory in AWS . Single sign-on allows users in your directory to access certain AWS services from a computer joined to the directory without having to enter their credentials separately. If you don't specify a value, CloudFormation disables single sign-on by default.", + "title": "EnableSso", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The fully qualified domain name for the AWS Managed Microsoft AD directory, such as `corp.example.com` . This name will resolve inside your VPC only. It does not need to be publicly resolvable.", + "title": "Name", + "type": "string" + }, + "Password": { + "markdownDescription": "The password for the default administrative user named `Admin` .\n\nIf you need to change the password for the administrator account, see the [ResetUserPassword](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_ResetUserPassword.html) API call in the *Directory Service API Reference* .", + "title": "Password", + "type": "string" + }, + "ShortName": { + "markdownDescription": "The NetBIOS name for your domain, such as `CORP` . If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, `CORP` for the directory DNS `corp.example.com` .", + "title": "ShortName", + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings", + "markdownDescription": "Specifies the VPC settings of the Microsoft AD directory server in AWS .", + "title": "VpcSettings" } }, + "required": [ + "Name", + "Password", + "VpcSettings" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::InternetGateway" + "AWS::DirectoryService::MicrosoftAD" ], "type": "string" }, @@ -124449,11 +122903,35 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::IpPoolRouteTableAssociation": { + "AWS::DirectoryService::MicrosoftAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The identifiers of the subnets for the directory servers. The two subnets must be in different Availability Zones. Directory Service specifies a directory server and a DNS server in each of these subnets.", + "title": "SubnetIds", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The identifier of the VPC in which to create the directory.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DirectoryService::SimpleAD": { "additionalProperties": false, "properties": { "Condition": { @@ -124488,26 +122966,63 @@ "Properties": { "additionalProperties": false, "properties": { - "PublicIpv4Pool": { - "markdownDescription": "The ID of a public IPv4 address pool.", - "title": "PublicIpv4Pool", + "CreateAlias": { + "markdownDescription": "If set to `true` , specifies an alias for a directory and assigns the alias to the directory. The alias is used to construct the access URL for the directory, such as `http://.awsapps.com` . By default, this property is set to `false` .\n\n> After an alias has been created, it cannot be deleted or reused, so this operation should only be used when absolutely necessary.", + "title": "CreateAlias", + "type": "boolean" + }, + "Description": { + "markdownDescription": "A description for the directory.", + "title": "Description", "type": "string" }, - "RouteTableId": { - "markdownDescription": "The ID of a route table.", - "title": "RouteTableId", + "EnableSso": { + "markdownDescription": "Whether to enable single sign-on for a directory. If you don't specify a value, CloudFormation disables single sign-on by default.", + "title": "EnableSso", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The fully qualified name for the directory, such as `corp.example.com` .", + "title": "Name", + "type": "string" + }, + "Password": { + "markdownDescription": "The password for the directory administrator. The directory creation process creates a directory administrator account with the user name `Administrator` and this password.\n\nIf you need to change the password for the administrator account, see the [ResetUserPassword](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_ResetUserPassword.html) API call in the *Directory Service API Reference* .", + "title": "Password", + "type": "string" + }, + "ShortName": { + "markdownDescription": "The NetBIOS name of the directory, such as `CORP` .", + "title": "ShortName", + "type": "string" + }, + "Size": { + "markdownDescription": "The size of the directory. For valid values, see [CreateDirectory](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_CreateDirectory.html) in the *Directory Service API Reference* .", + "title": "Size", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings", + "markdownDescription": "A [DirectoryVpcSettings](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_DirectoryVpcSettings.html) object that contains additional information for the operation.", + "title": "VpcSettings" } }, "required": [ - "PublicIpv4Pool", - "RouteTableId" + "Name", + "Size", + "VpcSettings" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IpPoolRouteTableAssociation" + "AWS::DirectoryService::SimpleAD" ], "type": "string" }, @@ -124526,7 +123041,30 @@ ], "type": "object" }, - "AWS::EC2::IpamExternalResourceVerificationToken": { + "AWS::DirectoryService::SimpleAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The identifiers of the subnets for the directory servers. The two subnets must be in different Availability Zones. Directory Service specifies a directory server and a DNS server in each of these subnets.", + "title": "SubnetIds", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The identifier of the VPC in which to create the directory.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DocDB::DBCluster": { "additionalProperties": false, "properties": { "Condition": { @@ -124561,24 +123099,174 @@ "Properties": { "additionalProperties": false, "properties": { - "IpamId": { - "type": "string" - }, - "Tags": { + "AvailabilityZones": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, + "markdownDescription": "A list of Amazon EC2 Availability Zones that instances in the cluster can be created in.", + "title": "AvailabilityZones", "type": "array" - } + }, + "BackupRetentionPeriod": { + "markdownDescription": "The number of days for which automated backups are retained. You must specify a minimum value of 1.\n\nDefault: 1\n\nConstraints:\n\n- Must be a value from 1 to 35.", + "title": "BackupRetentionPeriod", + "type": "number" + }, + "CopyTagsToSnapshot": { + "markdownDescription": "Set to `true` to copy all tags from the source cluster snapshot to the target cluster snapshot, and otherwise `false` . The default is `false` .", + "title": "CopyTagsToSnapshot", + "type": "boolean" + }, + "DBClusterIdentifier": { + "markdownDescription": "The cluster identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n- Must contain from 1 to 63 letters, numbers, or hyphens.\n- The first character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n\nExample: `my-cluster`", + "title": "DBClusterIdentifier", + "type": "string" + }, + "DBClusterParameterGroupName": { + "markdownDescription": "The name of the cluster parameter group to associate with this cluster.", + "title": "DBClusterParameterGroupName", + "type": "string" + }, + "DBSubnetGroupName": { + "markdownDescription": "A subnet group to associate with this cluster.\n\nConstraints: Must match the name of an existing `DBSubnetGroup` . Must not be default.\n\nExample: `mySubnetgroup`", + "title": "DBSubnetGroupName", + "type": "string" + }, + "DeletionProtection": { + "markdownDescription": "Protects clusters from being accidentally deleted. If enabled, the cluster cannot be deleted unless it is modified and `DeletionProtection` is disabled.", + "title": "DeletionProtection", + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of log types that need to be enabled for exporting to Amazon CloudWatch Logs. You can enable audit logs or profiler logs. For more information, see [Auditing Amazon DocumentDB Events](https://docs.aws.amazon.com/documentdb/latest/developerguide/event-auditing.html) and [Profiling Amazon DocumentDB Operations](https://docs.aws.amazon.com/documentdb/latest/developerguide/profiling.html) .", + "title": "EnableCloudwatchLogsExports", + "type": "array" + }, + "EngineVersion": { + "markdownDescription": "The version number of the database engine to use. The `--engine-version` will default to the latest major engine version. For production workloads, we recommend explicitly declaring this parameter with the intended major engine version.\n\nIf you intend to trigger an in-place upgrade, please refer to [Amazon DocumentDB in-place major version upgrade](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-mvu.html) . Note that for an in-place engine version upgrade, you need to remove other cluster properties changes (e.g. SecurityGroupId) from the CFN template.", + "title": "EngineVersion", + "type": "string" + }, + "GlobalClusterIdentifier": { + "markdownDescription": "The cluster identifier of the new global cluster.", + "title": "GlobalClusterIdentifier", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "The AWS key identifier for an encrypted cluster.\n\nThe AWS key identifier is the Amazon Resource Name (ARN) for the AWS encryption key. If you are creating a cluster using the same AWS account that owns the AWS encryption key that is used to encrypt the new cluster, you can use the AWS key alias instead of the ARN for the AWS encryption key.\n\nIf an encryption key is not specified in `KmsKeyId` :\n\n- If the `StorageEncrypted` parameter is `true` , Amazon DocumentDB uses your default encryption key.\n\nAWS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Regions .", + "title": "KmsKeyId", + "type": "string" + }, + "ManageMasterUserPassword": { + "markdownDescription": "Specifies whether to manage the master user password with Amazon Web Services Secrets Manager.\n\nConstraint: You can't manage the master user password with Amazon Web Services Secrets Manager if `MasterUserPassword` is specified.", + "title": "ManageMasterUserPassword", + "type": "boolean" + }, + "MasterUserPassword": { + "markdownDescription": "The password for the master database user. This password can contain any printable ASCII character except forward slash (/), double quote (\"), or the \"at\" symbol (@).\n\nConstraints: Must contain from 8 to 100 characters.", + "title": "MasterUserPassword", + "type": "string" + }, + "MasterUserSecretKmsKeyId": { + "markdownDescription": "The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager. This setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the DB cluster.\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.\n\nIf you don't specify `MasterUserSecretKmsKeyId` , then the `aws/secretsmanager` KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the `aws/secretsmanager` KMS key to encrypt the secret, and you must use a customer managed KMS key.\n\nThere is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.", + "title": "MasterUserSecretKmsKeyId", + "type": "string" + }, + "MasterUsername": { + "markdownDescription": "The name of the master user for the cluster.\n\nConstraints:\n\n- Must be from 1 to 63 letters or numbers.\n- The first character must be a letter.\n- Cannot be a reserved word for the chosen database engine.", + "title": "MasterUsername", + "type": "string" + }, + "NetworkType": { + "markdownDescription": "The network type of the cluster.\n\nThe network type is determined by the `DBSubnetGroup` specified for the cluster. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and the IPv6 protocols ( `DUAL` ).\n\nFor more information, see [DocumentDB clusters in a VPC](https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html) in the Amazon DocumentDB Developer Guide.\n\nValid Values: `IPV4` | `DUAL`", + "title": "NetworkType", + "type": "string" + }, + "Port": { + "markdownDescription": "Specifies the port that the database engine is listening on.", + "title": "Port", + "type": "number" + }, + "PreferredBackupWindow": { + "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled using the `BackupRetentionPeriod` parameter.\n\nThe default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region .\n\nConstraints:\n\n- Must be in the format `hh24:mi-hh24:mi` .\n- Must be in Universal Coordinated Time (UTC).\n- Must not conflict with the preferred maintenance window.\n- Must be at least 30 minutes.", + "title": "PreferredBackupWindow", + "type": "string" + }, + "PreferredMaintenanceWindow": { + "markdownDescription": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n\nFormat: `ddd:hh24:mi-ddd:hh24:mi`\n\nThe default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week.\n\nValid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\nConstraints: Minimum 30-minute window.", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "RestoreToTime": { + "markdownDescription": "The date and time to restore the cluster to.\n\nValid values: A time in Universal Coordinated Time (UTC) format.\n\nConstraints:\n\n- Must be before the latest restorable time for the instance.\n- Must be specified if the `UseLatestRestorableTime` parameter is not provided.\n- Cannot be specified if the `UseLatestRestorableTime` parameter is `true` .\n- Cannot be specified if the `RestoreType` parameter is `copy-on-write` .\n\nExample: `2015-03-07T23:45:00Z`", + "title": "RestoreToTime", + "type": "string" + }, + "RestoreType": { + "markdownDescription": "The type of restore to be performed. You can specify one of the following values:\n\n- `full-copy` - The new DB cluster is restored as a full copy of the source DB cluster.\n- `copy-on-write` - The new DB cluster is restored as a clone of the source DB cluster.\n\nConstraints: You can't specify `copy-on-write` if the engine version of the source DB cluster is earlier than 1.11.\n\nIf you don't specify a `RestoreType` value, then the new DB cluster is restored as a full copy of the source DB cluster.", + "title": "RestoreType", + "type": "string" + }, + "RotateMasterUserPassword": { + "markdownDescription": "Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password.\n\nThis setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the cluster. The secret value contains the updated password.\n\nConstraint: You must apply the change immediately when rotating the master user password.", + "title": "RotateMasterUserPassword", + "type": "boolean" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/AWS::DocDB::DBCluster.ServerlessV2ScalingConfiguration", + "markdownDescription": "Contains the scaling configuration of an Amazon DocumentDB Serverless cluster.", + "title": "ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "markdownDescription": "The identifier for the snapshot or cluster snapshot to restore from.\n\nYou can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use only the ARN to specify a snapshot.\n\nConstraints:\n\n- Must match the identifier of an existing snapshot.", + "title": "SnapshotIdentifier", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "markdownDescription": "The identifier of the source cluster from which to restore.\n\nConstraints:\n\n- Must match the identifier of an existing `DBCluster` .", + "title": "SourceDBClusterIdentifier", + "type": "string" + }, + "StorageEncrypted": { + "markdownDescription": "Specifies whether the cluster is encrypted.\n\nIf you specify `SourceDBClusterIdentifier` or `SnapshotIdentifier` and don\u2019t specify `StorageEncrypted` , the encryption property is inherited from the source cluster or snapshot (unless `KMSKeyId` is specified, in which case the restored cluster will be encrypted with that KMS key). If the source is encrypted and `StorageEncrypted` is specified to be true, the restored cluster will be encrypted (if you want to use a different KMS key, specify the `KMSKeyId` property as well). If the source is unencrypted and `StorageEncrypted` is specified to be true, then the `KMSKeyId` property must be specified. If the source is encrypted, don\u2019t specify `StorageEncrypted` to be false as opting out of encryption is not allowed.", + "title": "StorageEncrypted", + "type": "boolean" + }, + "StorageType": { + "markdownDescription": "The storage type to associate with the DB cluster.\n\nFor information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the *Amazon DocumentDB Developer Guide* .\n\nValid values for storage type - `standard | iopt1`\n\nDefault value is `standard`\n\n> When you create an Amazon DocumentDB cluster with the storage type set to `iopt1` , the storage type is returned in the response. The storage type isn't returned when you set it to `standard` .", + "title": "StorageType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to be assigned to the cluster.", + "title": "Tags", + "type": "array" + }, + "UseLatestRestorableTime": { + "markdownDescription": "A value that is set to `true` to restore the cluster to the latest restorable backup time, and `false` otherwise.\n\nDefault: `false`\n\nConstraints: Cannot be specified if the `RestoreToTime` parameter is provided.", + "title": "UseLatestRestorableTime", + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of EC2 VPC security groups to associate with this cluster.", + "title": "VpcSecurityGroupIds", + "type": "array" + } }, - "required": [ - "IpamId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IpamExternalResourceVerificationToken" + "AWS::DocDB::DBCluster" ], "type": "string" }, @@ -124592,12 +123280,31 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::KeyPair": { + "AWS::DocDB::DBCluster.ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "markdownDescription": "The maximum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. You can specify DCU values in half-step increments, such as 32, 32.5, 33, and so on.", + "title": "MaxCapacity", + "type": "number" + }, + "MinCapacity": { + "markdownDescription": "The minimum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. You can specify DCU values in half-step increments, such as 8, 8.5, 9, and so on.", + "title": "MinCapacity", + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::DocDB::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -124632,43 +123339,45 @@ "Properties": { "additionalProperties": false, "properties": { - "KeyFormat": { - "markdownDescription": "The format of the key pair.\n\nDefault: `pem`", - "title": "KeyFormat", + "Description": { + "markdownDescription": "The description for the cluster parameter group.", + "title": "Description", "type": "string" }, - "KeyName": { - "markdownDescription": "A unique name for the key pair.\n\nConstraints: Up to 255 ASCII characters", - "title": "KeyName", + "Family": { + "markdownDescription": "The cluster parameter group family name.", + "title": "Family", "type": "string" }, - "KeyType": { - "markdownDescription": "The type of key pair. Note that ED25519 keys are not supported for Windows instances.\n\nIf the `PublicKeyMaterial` property is specified, the `KeyType` property is ignored, and the key type is inferred from the `PublicKeyMaterial` value.\n\nDefault: `rsa`", - "title": "KeyType", + "Name": { + "markdownDescription": "The name of the DB cluster parameter group.\n\nConstraints:\n\n- Must not match the name of an existing `DBClusterParameterGroup` .\n\n> This value is stored as a lowercase string.", + "title": "Name", "type": "string" }, - "PublicKeyMaterial": { - "markdownDescription": "The public key material. The `PublicKeyMaterial` property is used to import a key pair. If this property is not specified, then a new key pair will be created.", - "title": "PublicKeyMaterial", - "type": "string" + "Parameters": { + "markdownDescription": "Provides a list of parameters for the cluster parameter group.", + "title": "Parameters", + "type": "object" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to apply to the key pair.", + "markdownDescription": "The tags to be assigned to the cluster parameter group.", "title": "Tags", "type": "array" } }, "required": [ - "KeyName" + "Description", + "Family", + "Parameters" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::KeyPair" + "AWS::DocDB::DBClusterParameterGroup" ], "type": "string" }, @@ -124687,7 +123396,7 @@ ], "type": "object" }, - "AWS::EC2::LaunchTemplate": { + "AWS::DocDB::DBInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -124722,38 +123431,69 @@ "Properties": { "additionalProperties": false, "properties": { - "LaunchTemplateData": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData", - "markdownDescription": "The information for the launch template.", - "title": "LaunchTemplateData" + "AutoMinorVersionUpgrade": { + "markdownDescription": "This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor version upgrades regardless of the value set.\n\nDefault: `false`", + "title": "AutoMinorVersionUpgrade", + "type": "boolean" }, - "LaunchTemplateName": { - "markdownDescription": "A name for the launch template.", - "title": "LaunchTemplateName", + "AvailabilityZone": { + "markdownDescription": "The Amazon EC2 Availability Zone that the instance is created in.\n\nDefault: A random, system-chosen Availability Zone in the endpoint's AWS Region .\n\nExample: `us-east-1d`", + "title": "AvailabilityZone", "type": "string" }, - "TagSpecifications": { + "CACertificateIdentifier": { + "markdownDescription": "The identifier of the CA certificate for this DB instance.", + "title": "CACertificateIdentifier", + "type": "string" + }, + "CertificateRotationRestart": { + "markdownDescription": "Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate.\n\nBy default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted.\n\n> Set this parameter only if you are *not* using SSL/TLS to connect to the DB instance. \n\nIf you are using SSL/TLS to connect to the DB instance, see [Updating Your Amazon DocumentDB TLS Certificates](https://docs.aws.amazon.com/documentdb/latest/developerguide/ca_cert_rotation.html) and [Encrypting Data in Transit](https://docs.aws.amazon.com/documentdb/latest/developerguide/security.encryption.ssl.html) in the *Amazon DocumentDB Developer Guide* .", + "title": "CertificateRotationRestart", + "type": "boolean" + }, + "DBClusterIdentifier": { + "markdownDescription": "The identifier of the cluster that the instance will belong to.", + "title": "DBClusterIdentifier", + "type": "string" + }, + "DBInstanceClass": { + "markdownDescription": "The compute and memory capacity of the instance; for example, `db.m4.large` . If you change the class of an instance there can be some interruption in the cluster's service.", + "title": "DBInstanceClass", + "type": "string" + }, + "DBInstanceIdentifier": { + "markdownDescription": "The instance identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n- Must contain from 1 to 63 letters, numbers, or hyphens.\n- The first character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n\nExample: `mydbinstance`", + "title": "DBInstanceIdentifier", + "type": "string" + }, + "EnablePerformanceInsights": { + "markdownDescription": "A value that indicates whether to enable Performance Insights for the DB Instance. For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html) .", + "title": "EnablePerformanceInsights", + "type": "boolean" + }, + "PreferredMaintenanceWindow": { + "markdownDescription": "The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC).\n\nFormat: `ddd:hh24:mi-ddd:hh24:mi`\n\nThe default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week.\n\nValid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\nConstraints: Minimum 30-minute window.", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be `launch-template` .\n\nTo specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) .", - "title": "TagSpecifications", + "markdownDescription": "The tags to be assigned to the instance. You can assign up to 10 tags to an instance.", + "title": "Tags", "type": "array" - }, - "VersionDescription": { - "markdownDescription": "A description for the first version of the launch template.", - "title": "VersionDescription", - "type": "string" } }, "required": [ - "LaunchTemplateData" + "DBClusterIdentifier", + "DBInstanceClass" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LaunchTemplate" + "AWS::DocDB::DBInstance" ], "type": "string" }, @@ -124772,1166 +123512,1362 @@ ], "type": "object" }, - "AWS::EC2::LaunchTemplate.AcceleratorCount": { + "AWS::DocDB::DBSubnetGroup": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of accelerators. To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` .", - "title": "Max", - "type": "number" + "Condition": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum number of accelerators. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.AcceleratorTotalMemoryMiB": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.BaselineEbsBandwidthMbps": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Min": { - "markdownDescription": "The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.BaselinePerformanceFactors": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Cpu", - "markdownDescription": "The CPU performance to consider, using an instance family as the baseline reference.", - "title": "Cpu" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "markdownDescription": "The description for the subnet group.", + "title": "DBSubnetGroupDescription", + "type": "string" + }, + "DBSubnetGroupName": { + "markdownDescription": "The name for the subnet group. This value is stored as a lowercase string.\n\nConstraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.\n\nExample: `mySubnetgroup`", + "title": "DBSubnetGroupName", + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon EC2 subnet IDs for the subnet group.", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to be assigned to the subnet group.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { + "AWS::DocDB::EventSubscription": { "additionalProperties": false, "properties": { - "DeviceName": { - "markdownDescription": "The device name (for example, /dev/sdh or xvdh).", - "title": "DeviceName", + "Condition": { "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs", - "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.", - "title": "Ebs" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "NoDevice": { - "markdownDescription": "To omit the device from the block device mapping, specify an empty string.", - "title": "NoDevice", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "A Boolean value; set to `true` to activate the subscription, set to `false` to create the subscription but not active it.", + "title": "Enabled", + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of event categories for a `SourceType` that you want to subscribe to.", + "title": "EventCategories", + "type": "array" + }, + "SnsTopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. Amazon SNS creates the ARN when you create a topic and subscribe to it.", + "title": "SnsTopicArn", + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.\n\nConstraints:\n\n- If `SourceIds` are provided, `SourceType` must also be provided.\n- If the source type is an instance, a `DBInstanceIdentifier` must be provided.\n- If the source type is a security group, a `DBSecurityGroupName` must be provided.\n- If the source type is a parameter group, a `DBParameterGroupName` must be provided.\n- If the source type is a snapshot, a `DBSnapshotIdentifier` must be provided.", + "title": "SourceIds", + "type": "array" + }, + "SourceType": { + "markdownDescription": "The type of source that is generating the events. For example, if you want to be notified of events generated by an instance, you would set this parameter to `db-instance` . If this value is not specified, all events are returned.\n\nValid values: `db-instance` , `db-cluster` , `db-parameter-group` , `db-security-group` , `db-cluster-snapshot`", + "title": "SourceType", + "type": "string" + }, + "SubscriptionName": { + "markdownDescription": "The name of the subscription.\n\nConstraints: The name must be fewer than 255 characters.", + "title": "SubscriptionName", + "type": "string" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::EventSubscription" + ], "type": "string" }, - "VirtualName": { - "markdownDescription": "The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.", - "title": "VirtualName", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { + "AWS::DocDB::GlobalCluster": { "additionalProperties": false, "properties": { - "CapacityReservationPreference": { - "markdownDescription": "Indicates the instance's Capacity Reservation preferences. Possible preferences include:\n\n- `capacity-reservations-only` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.\n- `open` - The instance can run in any `open` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).\n- `none` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.", - "title": "CapacityReservationPreference", + "Condition": { "type": "string" }, - "CapacityReservationTarget": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget", - "markdownDescription": "Information about the target Capacity Reservation or Capacity Reservation group.", - "title": "CapacityReservationTarget" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { - "additionalProperties": false, - "properties": { - "CapacityReservationId": { - "markdownDescription": "The ID of the Capacity Reservation in which to run the instance.", - "title": "CapacityReservationId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "CapacityReservationResourceGroupArn": { - "markdownDescription": "The ARN of the Capacity Reservation resource group in which to run the instance.", - "title": "CapacityReservationResourceGroupArn", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GlobalClusterIdentifier" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::GlobalCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.ConnectionTrackingSpecification": { + "AWS::DocDBElastic::Cluster": { "additionalProperties": false, "properties": { - "TcpEstablishedTimeout": { - "markdownDescription": "Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.", - "title": "TcpEstablishedTimeout", - "type": "number" + "Condition": { + "type": "string" }, - "UdpStreamTimeout": { - "markdownDescription": "Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.", - "title": "UdpStreamTimeout", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "UdpTimeout": { - "markdownDescription": "Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.", - "title": "UdpTimeout", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Cpu": { - "additionalProperties": false, - "properties": { - "References": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Reference" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdminUserName": { + "markdownDescription": "The name of the Amazon DocumentDB elastic clusters administrator.\n\n*Constraints* :\n\n- Must be from 1 to 63 letters or numbers.\n- The first character must be a letter.\n- Cannot be a reserved word.", + "title": "AdminUserName", + "type": "string" + }, + "AdminUserPassword": { + "markdownDescription": "The password for the Elastic DocumentDB cluster administrator and can contain any printable ASCII characters.\n\n*Constraints* :\n\n- Must contain from 8 to 100 characters.\n- Cannot contain a forward slash (/), double quote (\"), or the \"at\" symbol (@).\n- A valid `AdminUserName` entry is also required.", + "title": "AdminUserPassword", + "type": "string" + }, + "AuthType": { + "markdownDescription": "The authentication type used to determine where to fetch the password used for accessing the elastic cluster. Valid types are `PLAIN_TEXT` or `SECRET_ARN` .", + "title": "AuthType", + "type": "string" + }, + "BackupRetentionPeriod": { + "markdownDescription": "The number of days for which automatic snapshots are retained.", + "title": "BackupRetentionPeriod", + "type": "number" + }, + "ClusterName": { + "markdownDescription": "The name of the new elastic cluster. This parameter is stored as a lowercase string.\n\n*Constraints* :\n\n- Must contain from 1 to 63 letters, numbers, or hyphens.\n- The first character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n\n*Example* : `my-cluster`", + "title": "ClusterName", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "The KMS key identifier to use to encrypt the new elastic cluster.\n\nThe KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias instead of the ARN as the KMS encryption key.\n\nIf an encryption key is not specified, Amazon DocumentDB uses the default encryption key that KMS creates for your account. Your account has a different default encryption key for each Amazon Region.", + "title": "KmsKeyId", + "type": "string" + }, + "PreferredBackupWindow": { + "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled, as determined by `backupRetentionPeriod` .", + "title": "PreferredBackupWindow", + "type": "string" + }, + "PreferredMaintenanceWindow": { + "markdownDescription": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n\n*Format* : `ddd:hh24:mi-ddd:hh24:mi`\n\n*Default* : a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week.\n\n*Valid days* : Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\n*Constraints* : Minimum 30-minute window.", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "ShardCapacity": { + "markdownDescription": "The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64.", + "title": "ShardCapacity", + "type": "number" + }, + "ShardCount": { + "markdownDescription": "The number of shards assigned to the elastic cluster. Maximum is 32.", + "title": "ShardCount", + "type": "number" + }, + "ShardInstanceCount": { + "markdownDescription": "The number of replica instances applying to all shards in the cluster. A `shardInstanceCount` value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.", + "title": "ShardInstanceCount", + "type": "number" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon EC2 subnet IDs for the new elastic cluster.", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to be assigned to the new elastic cluster.", + "title": "Tags", + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of EC2 VPC security groups to associate with the new elastic cluster.", + "title": "VpcSecurityGroupIds", + "type": "array" + } }, - "markdownDescription": "The instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes are compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.", - "title": "References", - "type": "array" + "required": [ + "AdminUserName", + "AuthType", + "ClusterName", + "ShardCapacity", + "ShardCount" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDBElastic::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CpuOptions": { + "AWS::DocDBElastic::ClusterSnapshot": { "additionalProperties": false, "properties": { - "AmdSevSnp": { - "markdownDescription": "Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. For more information, see [AMD SEV-SNP for Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sev-snp.html) .", - "title": "AmdSevSnp", + "Condition": { "type": "string" }, - "CoreCount": { - "markdownDescription": "The number of CPU cores for the instance.", - "title": "CoreCount", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "NestedVirtualization": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterArn": { + "type": "string" + }, + "SnapshotName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterArn", + "SnapshotName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDBElastic::ClusterSnapshot" + ], "type": "string" }, - "ThreadsPerCore": { - "markdownDescription": "The number of threads per CPU core. To disable multithreading for the instance, specify a value of `1` . Otherwise, specify the default value of `2` .", - "title": "ThreadsPerCore", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CpuCredits": { - "markdownDescription": "The credit option for CPU usage of a T instance.\n\nValid values: `standard` | `unlimited`", - "title": "CpuCredits", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Ebs": { + "AWS::DynamoDB::Export": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "markdownDescription": "Indicates whether the EBS volume is deleted on instance termination.", - "title": "DeleteOnTermination", - "type": "boolean" - }, - "EbsCardIndex": { - "type": "number" - }, - "Encrypted": { - "markdownDescription": "Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value.", - "title": "Encrypted", - "type": "boolean" - }, - "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 - 80,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nFor `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) . On other instances, you can achieve performance up to 32,000 IOPS.\n\nThis parameter is supported for `io1` , `io2` , and `gp3` volumes only.", - "title": "Iops", - "type": "number" - }, - "KmsKeyId": { - "markdownDescription": "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.", - "title": "KmsKeyId", + "Condition": { "type": "string" }, - "SnapshotId": { - "markdownDescription": "The ID of the snapshot.", - "title": "SnapshotId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Throughput": { - "markdownDescription": "The throughput to provision for a `gp3` volume, with a maximum of 2,000 MiB/s.\n\nValid Range: Minimum value of 125. Maximum value of 2,000.", - "title": "Throughput", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "VolumeInitializationRate": { - "markdownDescription": "Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as *volume initialization* . Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation.\n\nThis parameter is supported only for volumes created from snapshots. Omit this parameter if:\n\n- You want to create the volume using fast snapshot restore. You must specify a snapshot that is enabled for fast snapshot restore. In this case, the volume is fully initialized at creation.\n\n> If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, the volume will be initialized at the specified rate instead of fast snapshot restore.\n- You want to create a volume that is initialized at the default rate.\n\nFor more information, see [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EC2 User Guide* .\n\nValid range: 100 - 300 MiB/s", - "title": "VolumeInitializationRate", - "type": "number" + "Metadata": { + "type": "object" }, - "VolumeSize": { - "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following are the supported volumes sizes for each volume type:\n\n- `gp2` : 1 - 16,384 GiB\n- `gp3` : 1 - 65,536 GiB\n- `io1` : 4 - 16,384 GiB\n- `io2` : 4 - 65,536 GiB\n- `st1` and `sc1` : 125 - 16,384 GiB\n- `standard` : 1 - 1024 GiB", - "title": "VolumeSize", - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ExportFormat": { + "type": "string" + }, + "ExportType": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3BucketOwner": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + }, + "S3SseAlgorithm": { + "type": "string" + }, + "TableArn": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "TableArn" + ], + "type": "object" }, - "VolumeType": { - "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .", - "title": "VolumeType", + "Type": { + "enum": [ + "AWS::DynamoDB::Export" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.EnaSrdSpecification": { - "additionalProperties": false, - "properties": { - "EnaSrdEnabled": { - "markdownDescription": "Indicates whether ENA Express is enabled for the network interface.", - "title": "EnaSrdEnabled", - "type": "boolean" }, - "EnaSrdUdpSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification", - "markdownDescription": "Configures ENA Express for UDP network traffic.", - "title": "EnaSrdUdpSpecification" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification": { - "additionalProperties": false, - "properties": { - "EnaSrdUdpEnabled": { - "markdownDescription": "Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.", - "title": "EnaSrdUdpEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.EnclaveOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "If this parameter is set to `true` , the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.", - "title": "Enabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "markdownDescription": "If you set this parameter to `true` , the instance is enabled for hibernation.\n\nDefault: `false`", - "title": "Configured", - "type": "boolean" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.IamInstanceProfile": { + "AWS::DynamoDB::GlobalTable": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile.", - "title": "Arn", + "Condition": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the instance profile.", - "title": "Name", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeDefinitions": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.AttributeDefinition" + }, + "markdownDescription": "A list of attributes that describe the key schema for the global table and indexes.", + "title": "AttributeDefinitions", + "type": "array" + }, + "BillingMode": { + "markdownDescription": "Specifies how you are charged for read and write throughput and how you manage capacity. Valid values are:\n\n- `PAY_PER_REQUEST`\n- `PROVISIONED`\n\nAll replicas in your global table will have the same billing mode. If you use `PROVISIONED` billing mode, you must provide an auto scaling configuration via the `WriteProvisionedThroughputSettings` property. The default value of this property is `PROVISIONED` .", + "title": "BillingMode", + "type": "string" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex" + }, + "markdownDescription": "Global secondary indexes to be created on the global table. You can create up to 20 global secondary indexes. Each replica in your global table will have the same global secondary index settings. You can only create or delete one global secondary index in a single stack operation.\n\nSince the backfilling of an index could take a long time, CloudFormation does not wait for the index to become active. If a stack operation rolls back, CloudFormation might not delete an index that has been added. In that case, you will need to delete the index manually.", + "title": "GlobalSecondaryIndexes", + "type": "array" + }, + "GlobalTableSourceArn": { + "type": "string" + }, + "GlobalTableWitnesses": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalTableWitness" + }, + "markdownDescription": "The list of witnesses of the MRSC global table. Only one witness Region can be configured per MRSC global table.", + "title": "GlobalTableWitnesses", + "type": "array" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + }, + "markdownDescription": "Specifies the attributes that make up the primary key for the table. The attributes in the `KeySchema` property must also be defined in the `AttributeDefinitions` property.", + "title": "KeySchema", + "type": "array" + }, + "LocalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.LocalSecondaryIndex" + }, + "markdownDescription": "Local secondary indexes to be created on the table. You can create up to five local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes. Each replica in your global table will have the same local secondary index settings.", + "title": "LocalSecondaryIndexes", + "type": "array" + }, + "MultiRegionConsistency": { + "markdownDescription": "Specifies the consistency mode for a new global table.\n\nYou can specify one of the following consistency modes:\n\n- `EVENTUAL` : Configures a new global table for multi-Region eventual consistency (MREC).\n- `STRONG` : Configures a new global table for multi-Region strong consistency (MRSC).\n\nIf you don't specify this field, the global table consistency mode defaults to `EVENTUAL` . For more information about global tables consistency modes, see [Consistency modes](https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes) in DynamoDB developer guide.", + "title": "MultiRegionConsistency", + "type": "string" + }, + "ReadOnDemandThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings" + }, + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalReadProvisionedThroughputSettings" + }, + "Replicas": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSpecification" + }, + "markdownDescription": "Specifies the list of replicas for your global table. The list must contain at least one element, the region where the stack defining the global table is deployed. For example, if you define your table in a stack deployed to us-east-1, you must have an entry in `Replicas` with the region us-east-1. You cannot remove the replica in the stack region.\n\n> Adding a replica might take a few minutes for an empty table, or up to several hours for large tables. If you want to add or remove a replica, we recommend submitting an `UpdateStack` operation containing only that change.\n> \n> If you add or delete a replica during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new replica, you might need to manually delete the replica. \n\nYou can create a new global table with as many replicas as needed. You can add or remove replicas after table creation, but you can only add or remove a single replica in each update. For Multi-Region Strong Consistency (MRSC), you can add or remove up to 3 replicas, or 2 replicas plus a witness Region.", + "title": "Replicas", + "type": "array" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SSESpecification", + "markdownDescription": "Specifies the settings to enable server-side encryption. These settings will be applied to all replicas. If you plan to use customer-managed KMS keys, you must provide a key for each replica using the `ReplicaSpecification.ReplicaSSESpecification` property.", + "title": "SSESpecification" + }, + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.StreamSpecification", + "markdownDescription": "Specifies the streams settings on your global table. You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica. For Multi-Region Strong Consistency (MRSC), you do not need to provide a value for this property and can change the settings at any time.", + "title": "StreamSpecification" + }, + "TableName": { + "markdownDescription": "A name for the global table. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID as the table name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "TableName", + "type": "string" + }, + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TimeToLiveSpecification", + "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.", + "title": "WarmThroughput" + }, + "WriteOnDemandThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteOnDemandThroughputSettings", + "markdownDescription": "Sets the write request settings for a global table or a global secondary index. You can only specify this setting if your resource uses the `PAY_PER_REQUEST` `BillingMode` .", + "title": "WriteOnDemandThroughputSettings" + }, + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings", + "markdownDescription": "Specifies an auto scaling policy for write capacity. This policy will be applied to all replicas. This setting must be specified if `BillingMode` is set to `PROVISIONED` .", + "title": "WriteProvisionedThroughputSettings" + } + }, + "required": [ + "Replicas" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DynamoDB::GlobalTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { + "AWS::DynamoDB::GlobalTable.AttributeDefinition": { "additionalProperties": false, "properties": { - "MarketType": { - "markdownDescription": "The market type.", - "title": "MarketType", + "AttributeName": { + "markdownDescription": "A name for the attribute.", + "title": "AttributeName", "type": "string" }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions", - "markdownDescription": "The options for Spot Instances.", - "title": "SpotOptions" + "AttributeType": { + "markdownDescription": "The data type for the attribute, where:\n\n- `S` - the attribute is of type String\n- `N` - the attribute is of type Number\n- `B` - the attribute is of type Binary", + "title": "AttributeType", + "type": "string" } }, + "required": [ + "AttributeName", + "AttributeType" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.InstanceRequirements": { + "AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings": { "additionalProperties": false, "properties": { - "AcceleratorCount": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.AcceleratorCount", - "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n\nTo exclude accelerator-enabled instance types, set `Max` to `0` .\n\nDefault: No minimum or maximum limits", - "title": "AcceleratorCount" - }, - "AcceleratorManufacturers": { - "items": { - "type": "string" - }, - "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n\n- For instance types with AWS devices, specify `amazon-web-services` .\n- For instance types with AMD devices, specify `amd` .\n- For instance types with Habana devices, specify `habana` .\n- For instance types with NVIDIA devices, specify `nvidia` .\n- For instance types with Xilinx devices, specify `xilinx` .\n\nDefault: Any manufacturer", - "title": "AcceleratorManufacturers", - "type": "array" - }, - "AcceleratorNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The accelerators that must be on the instance type.\n\n- For instance types with NVIDIA A10G GPUs, specify `a10g` .\n- For instance types with NVIDIA A100 GPUs, specify `a100` .\n- For instance types with NVIDIA H100 GPUs, specify `h100` .\n- For instance types with AWS Inferentia chips, specify `inferentia` .\n- For instance types with AWS Inferentia2 chips, specify `inferentia2` .\n- For instance types with Habana Gaudi HL-205 GPUs, specify `gaudi-hl-205` .\n- For instance types with NVIDIA GRID K520 GPUs, specify `k520` .\n- For instance types with NVIDIA K80 GPUs, specify `k80` .\n- For instance types with NVIDIA L4 GPUs, specify `l4` .\n- For instance types with NVIDIA L40S GPUs, specify `l40s` .\n- For instance types with NVIDIA M60 GPUs, specify `m60` .\n- For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` .\n- For instance types with AWS Trainium chips, specify `trainium` .\n- For instance types with AWS Trainium2 chips, specify `trainium2` .\n- For instance types with NVIDIA T4 GPUs, specify `t4` .\n- For instance types with NVIDIA T4G GPUs, specify `t4g` .\n- For instance types with Xilinx U30 cards, specify `u30` .\n- For instance types with Xilinx VU9P FPGAs, specify `vu9p` .\n- For instance types with NVIDIA V100 GPUs, specify `v100` .\n\nDefault: Any accelerator", - "title": "AcceleratorNames", - "type": "array" - }, - "AcceleratorTotalMemoryMiB": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.AcceleratorTotalMemoryMiB", - "markdownDescription": "The minimum and maximum amount of total accelerator memory, in MiB.\n\nDefault: No minimum or maximum limits", - "title": "AcceleratorTotalMemoryMiB" - }, - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The accelerator types that must be on the instance type.\n\n- For instance types with FPGA accelerators, specify `fpga` .\n- For instance types with GPU accelerators, specify `gpu` .\n- For instance types with Inference accelerators, specify `inference` .\n- For instance types with Media accelerators, specify `media` .\n\nDefault: Any accelerator type", - "title": "AcceleratorTypes", - "type": "array" - }, - "AllowedInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n\n> If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . \n\nDefault: All instance types", - "title": "AllowedInstanceTypes", - "type": "array" + "MaxCapacity": { + "markdownDescription": "The maximum provisioned capacity units for the global table.", + "title": "MaxCapacity", + "type": "number" }, - "BareMetal": { - "markdownDescription": "Indicates whether bare metal instance types must be included, excluded, or required.\n\n- To include bare metal instance types, specify `included` .\n- To require only bare metal instance types, specify `required` .\n- To exclude bare metal instance types, specify `excluded` .\n\nDefault: `excluded`", - "title": "BareMetal", - "type": "string" + "MinCapacity": { + "markdownDescription": "The minimum provisioned capacity units for the global table.", + "title": "MinCapacity", + "type": "number" }, - "BaselineEbsBandwidthMbps": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BaselineEbsBandwidthMbps", - "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", - "title": "BaselineEbsBandwidthMbps" + "SeedCapacity": { + "markdownDescription": "When switching billing mode from `PAY_PER_REQUEST` to `PROVISIONED` , DynamoDB requires you to specify read and write capacity unit values for the table and for each global secondary index. These values will be applied to all replicas. The table will use these provisioned values until CloudFormation creates the autoscaling policies you configured in your template. CloudFormation cannot determine what capacity the table and its global secondary indexes will require in this time period, since they are application-dependent.\n\nIf you want to switch a table's billing mode from `PAY_PER_REQUEST` to `PROVISIONED` , you must specify a value for this property for each autoscaled resource. If you specify different values for the same resource in different regions, CloudFormation will use the highest value found in either the `SeedCapacity` or `ReadCapacityUnits` properties. For example, if your global secondary index `myGSI` has a `SeedCapacity` of 10 in us-east-1 and a fixed `ReadCapacityUnits` of 20 in eu-west-1, CloudFormation will initially set the read capacity for `myGSI` to 20. Note that if you disable `ScaleIn` for `myGSI` in us-east-1, its read capacity units might not be set back to 10.\n\nYou must also specify a value for `SeedCapacity` when you plan to switch a table's billing mode from `PROVISIONED` to `PAY_PER_REQUEST` , because CloudFormation might need to roll back the operation (reverting the billing mode to `PROVISIONED` ) and this cannot succeed without specifying a value for `SeedCapacity` .", + "title": "SeedCapacity", + "type": "number" }, - "BaselinePerformanceFactors": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BaselinePerformanceFactors", - "markdownDescription": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .", - "title": "BaselinePerformanceFactors" + "TargetTrackingScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration", + "markdownDescription": "Defines a target tracking scaling policy.", + "title": "TargetTrackingScalingPolicyConfiguration" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity", + "TargetTrackingScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).", + "title": "Enabled", + "type": "boolean" }, - "BurstablePerformance": { - "markdownDescription": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`", - "title": "BurstablePerformance", + "Mode": { + "markdownDescription": "Specifies the CloudWatch Contributor Insights mode for a global table. Valid values are `ACCESSED_AND_THROTTLED_KEYS` (tracks all access and throttled events) or `THROTTLED_KEYS` (tracks only throttled events). This setting determines what type of contributor insights data is collected for the global table.", + "title": "Mode", "type": "string" - }, - "CpuManufacturers": { - "items": { - "type": "string" - }, - "markdownDescription": "The CPU manufacturers to include.\n\n- For instance types with Intel CPUs, specify `intel` .\n- For instance types with AMD CPUs, specify `amd` .\n- For instance types with AWS CPUs, specify `amazon-web-services` .\n- For instance types with Apple CPUs, specify `apple` .\n\n> Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. \n\nDefault: Any manufacturer", - "title": "CpuManufacturers", - "type": "array" - }, - "ExcludedInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The instance types to exclude.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n\n> If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . \n\nDefault: No excluded instance types", - "title": "ExcludedInstanceTypes", - "type": "array" - }, - "InstanceGenerations": { - "items": { - "type": "string" - }, - "markdownDescription": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nFor current generation instance types, specify `current` .\n\nFor previous generation instance types, specify `previous` .\n\nDefault: Current and previous generation instance types", - "title": "InstanceGenerations", - "type": "array" - }, - "LocalStorage": { - "markdownDescription": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* .\n\n- To include instance types with instance store volumes, specify `included` .\n- To require only instance types with instance store volumes, specify `required` .\n- To exclude instance types with instance store volumes, specify `excluded` .\n\nDefault: `included`", - "title": "LocalStorage", + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.GlobalReadProvisionedThroughputSettings": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "markdownDescription": "The name of the global secondary index. The name must be unique among all other indexes on this table.", + "title": "IndexName", "type": "string" }, - "LocalStorageTypes": { + "KeySchema": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" }, - "markdownDescription": "The type of local storage that is required.\n\n- For instance types with hard disk drive (HDD) storage, specify `hdd` .\n- For instance types with solid state drive (SSD) storage, specify `ssd` .\n\nDefault: `hdd` and `ssd`", - "title": "LocalStorageTypes", + "markdownDescription": "The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", + "title": "KeySchema", "type": "array" }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { - "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` .", - "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", - "type": "number" - }, - "MemoryGiBPerVCpu": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu", - "markdownDescription": "The minimum and maximum amount of memory per vCPU, in GiB.\n\nDefault: No minimum or maximum limits", - "title": "MemoryGiBPerVCpu" - }, - "MemoryMiB": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MemoryMiB", - "markdownDescription": "The minimum and maximum amount of memory, in MiB.", - "title": "MemoryMiB" - }, - "NetworkBandwidthGbps": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkBandwidthGbps", - "markdownDescription": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n\nDefault: No minimum or maximum limits", - "title": "NetworkBandwidthGbps" - }, - "NetworkInterfaceCount": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterfaceCount", - "markdownDescription": "The minimum and maximum number of network interfaces.\n\nDefault: No minimum or maximum limits", - "title": "NetworkInterfaceCount" + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection", + "markdownDescription": "Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", + "title": "Projection" }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nTo turn off price protection, specify a high value, such as `999999` .\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. \n\nDefault: `20`", - "title": "OnDemandMaxPricePercentageOverLowestPrice", - "type": "number" + "ReadOnDemandThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings" }, - "RequireHibernateSupport": { - "markdownDescription": "Indicates whether instance types must support hibernation for On-Demand Instances.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) .\n\nDefault: `false`", - "title": "RequireHibernateSupport", - "type": "boolean" + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalReadProvisionedThroughputSettings" }, - "SpotMaxPricePercentageOverLowestPrice": { - "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` . \n\nDefault: `100`", - "title": "SpotMaxPricePercentageOverLowestPrice", - "type": "number" + "WarmThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WarmThroughput", + "markdownDescription": "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both.", + "title": "WarmThroughput" }, - "TotalLocalStorageGB": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TotalLocalStorageGB", - "markdownDescription": "The minimum and maximum amount of total local storage, in GB.\n\nDefault: No minimum or maximum limits", - "title": "TotalLocalStorageGB" + "WriteOnDemandThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteOnDemandThroughputSettings", + "markdownDescription": "Sets the write request settings for a global table or a global secondary index. You can only specify this setting if your resource uses the `PAY_PER_REQUEST` `BillingMode` .", + "title": "WriteOnDemandThroughputSettings" }, - "VCpuCount": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.VCpuCount", - "markdownDescription": "The minimum and maximum number of vCPUs.", - "title": "VCpuCount" + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings", + "markdownDescription": "Defines write capacity settings for the global secondary index. You must specify a value for this property if the table's `BillingMode` is `PROVISIONED` . All replicas will have the same write capacity settings for this global secondary index.", + "title": "WriteProvisionedThroughputSettings" } }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Ipv4PrefixSpecification": { + "AWS::DynamoDB::GlobalTable.GlobalTableWitness": { "additionalProperties": false, "properties": { - "Ipv4Prefix": { - "markdownDescription": "The IPv4 prefix. For information, see [Assigning prefixes to network interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) in the *Amazon EC2 User Guide* .", - "title": "Ipv4Prefix", + "Region": { + "markdownDescription": "The name of the AWS Region that serves as a witness for the MRSC global table.", + "title": "Region", "type": "string" } }, "type": "object" }, - "AWS::EC2::LaunchTemplate.Ipv6Add": { + "AWS::DynamoDB::GlobalTable.KeySchema": { "additionalProperties": false, "properties": { - "Ipv6Address": { - "markdownDescription": "One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.", - "title": "Ipv6Address", + "AttributeName": { + "markdownDescription": "The name of a key attribute.", + "title": "AttributeName", + "type": "string" + }, + "KeyType": { + "markdownDescription": "The role that this key attribute will assume:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", + "title": "KeyType", "type": "string" } }, + "required": [ + "AttributeName", + "KeyType" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Ipv6PrefixSpecification": { + "AWS::DynamoDB::GlobalTable.KinesisStreamSpecification": { "additionalProperties": false, "properties": { - "Ipv6Prefix": { - "markdownDescription": "The IPv6 prefix.", - "title": "Ipv6Prefix", + "ApproximateCreationDateTimePrecision": { + "markdownDescription": "The precision for the time and date that the stream was created.", + "title": "ApproximateCreationDateTimePrecision", + "type": "string" + }, + "StreamArn": { + "markdownDescription": "The ARN for a specific Kinesis data stream.", + "title": "StreamArn", "type": "string" } }, + "required": [ + "StreamArn" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.LaunchTemplateData": { + "AWS::DynamoDB::GlobalTable.LocalSecondaryIndex": { "additionalProperties": false, "properties": { - "BlockDeviceMappings": { + "IndexName": { + "markdownDescription": "The name of the local secondary index. The name must be unique among all other indexes on this table.", + "title": "IndexName", + "type": "string" + }, + "KeySchema": { "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" }, - "markdownDescription": "The block device mapping.", - "title": "BlockDeviceMappings", + "markdownDescription": "The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", + "title": "KeySchema", "type": "array" }, - "CapacityReservationSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification", - "markdownDescription": "The Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to `open` , which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).", - "title": "CapacityReservationSpecification" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions", - "markdownDescription": "The CPU options for the instance. For more information, see [CPU options for Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *Amazon EC2 User Guide* .", - "title": "CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification", - "markdownDescription": "The credit option for CPU usage of the instance. Valid only for T instances.", - "title": "CreditSpecification" - }, - "DisableApiStop": { - "markdownDescription": "Indicates whether to enable the instance for stop protection. For more information, see [Enable stop protection for your EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html) in the *Amazon EC2 User Guide* .", - "title": "DisableApiStop", - "type": "boolean" - }, - "DisableApiTermination": { - "markdownDescription": "Indicates whether termination protection is enabled for the instance. The default is `false` , which means that you can terminate the instance using the Amazon EC2 console, command line tools, or API. You can enable termination protection when you launch an instance, while the instance is running, or while the instance is stopped.", - "title": "DisableApiTermination", - "type": "boolean" - }, - "EbsOptimized": { - "markdownDescription": "Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.", - "title": "EbsOptimized", + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection", + "markdownDescription": "Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", + "title": "Projection" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification": { + "additionalProperties": false, + "properties": { + "PointInTimeRecoveryEnabled": { + "markdownDescription": "Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.", + "title": "PointInTimeRecoveryEnabled", "type": "boolean" }, - "EnclaveOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions", - "markdownDescription": "Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see [What is Nitro Enclaves?](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html) in the *AWS Nitro Enclaves User Guide* .\n\nYou can't enable AWS Nitro Enclaves and hibernation on the same instance.", - "title": "EnclaveOptions" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions", - "markdownDescription": "Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the [hibernation prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernating-prerequisites.html) . For more information, see [Hibernate your Amazon EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) in the *Amazon EC2 User Guide* .", - "title": "HibernationOptions" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile", - "markdownDescription": "The name or Amazon Resource Name (ARN) of an IAM instance profile.", - "title": "IamInstanceProfile" - }, - "ImageId": { - "markdownDescription": "The ID of the AMI. Alternatively, you can specify a Systems Manager parameter, which will resolve to an AMI ID on launch.\n\nValid formats:\n\n- `ami-0ac394d6a3example`\n- `resolve:ssm:parameter-name`\n- `resolve:ssm:parameter-name:version-number`\n- `resolve:ssm:parameter-name:label`\n\nFor more information, see [Use a Systems Manager parameter to find an AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html#using-systems-manager-parameter-to-find-AMI) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "ImageId", - "type": "string" + "RecoveryPeriodInDays": { + "markdownDescription": "The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. This parameter is optional. If no value is provided, the value will default to 35.", + "title": "RecoveryPeriodInDays", + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "markdownDescription": "Represents the non-key attribute names which will be projected into the index.\n\nFor global and local secondary indexes, the total count of `NonKeyAttributes` summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. This limit only applies when you specify the ProjectionType of `INCLUDE` . You still can specify the ProjectionType of `ALL` to project all attributes from the source table, even if the table has more than 100 attributes.", + "title": "NonKeyAttributes", + "type": "array" }, - "InstanceInitiatedShutdownBehavior": { - "markdownDescription": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).\n\nDefault: `stop`", - "title": "InstanceInitiatedShutdownBehavior", + "ProjectionType": { + "markdownDescription": "The set of attributes that are projected into the index:\n\n- `KEYS_ONLY` - Only the index and primary keys are projected into the index.\n- `INCLUDE` - In addition to the attributes described in `KEYS_ONLY` , the secondary index will include other non-key attributes that you specify.\n- `ALL` - All of the table attributes are projected into the index.\n\nWhen using the DynamoDB console, `ALL` is selected by default.", + "title": "ProjectionType", "type": "string" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings": { + "additionalProperties": false, + "properties": { + "MaxReadRequestUnits": { + "markdownDescription": "Maximum number of read request units for the specified replica of a global table.", + "title": "MaxReadRequestUnits", + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings": { + "additionalProperties": false, + "properties": { + "ReadCapacityAutoScalingSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings", + "markdownDescription": "Specifies auto scaling settings for the replica table or global secondary index.", + "title": "ReadCapacityAutoScalingSettings" }, - "InstanceMarketOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions", - "markdownDescription": "The market (purchasing) option for the instances.", - "title": "InstanceMarketOptions" - }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceRequirements", - "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n\nYou must specify `VCpuCount` and `MemoryMiB` . All other attributes are optional. Any unspecified optional attribute is set to its default.\n\nWhen you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n\nTo limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n\n- `AllowedInstanceTypes` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n- `ExcludedInstanceTypes` - The instance types to exclude from the list, even if they match your specified attributes.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .\n> \n> Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html) , or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify `InstanceRequirements` . \n\nFor more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide* .", - "title": "InstanceRequirements" + "ReadCapacityUnits": { + "markdownDescription": "Specifies a fixed read capacity for the replica table or global secondary index.", + "title": "ReadCapacityUnits", + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification", + "markdownDescription": "Updates the status for contributor insights for a specific table or index. CloudWatch Contributor Insights for DynamoDB graphs display the partition key and (if applicable) sort key of frequently accessed items and frequently throttled items in plaintext. If you require the use of AWS Key Management Service (KMS) to encrypt this table\u2019s partition key and sort key data with an AWS managed key or customer managed key, you should not enable CloudWatch Contributor Insights for DynamoDB for this table.", + "title": "ContributorInsightsSpecification" }, - "InstanceType": { - "markdownDescription": "The instance type. For more information, see [Amazon EC2 instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nIf you specify `InstanceType` , you can't specify `InstanceRequirements` .", - "title": "InstanceType", + "IndexName": { + "markdownDescription": "The name of the global secondary index. The name must be unique among all other indexes on this table.", + "title": "IndexName", "type": "string" }, - "KernelId": { - "markdownDescription": "The ID of the kernel.\n\nWe recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [User Provided Kernels](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", - "title": "KernelId", - "type": "string" + "ReadOnDemandThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings", + "markdownDescription": "Sets the read request settings for a replica global secondary index. You can only specify this setting if your resource uses the `PAY_PER_REQUEST` `BillingMode` .", + "title": "ReadOnDemandThroughputSettings" }, - "KeyName": { - "markdownDescription": "The name of the key pair. You can create a key pair using [CreateKeyPair](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html) or [ImportKeyPair](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html) .\n\n> If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.", - "title": "KeyName", + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings", + "markdownDescription": "Allows you to specify the read capacity settings for a replica global secondary index when the `BillingMode` is set to `PROVISIONED` .", + "title": "ReadProvisionedThroughputSettings" + } + }, + "required": [ + "IndexName" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaSSESpecification": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyId": { + "markdownDescription": "The AWS key that should be used for the AWS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key `alias/aws/dynamodb` .", + "title": "KMSMasterKeyId", "type": "string" + } + }, + "required": [ + "KMSMasterKeyId" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaSpecification": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification", + "markdownDescription": "The settings used to enable or disable CloudWatch Contributor Insights for the specified replica. When not specified, defaults to contributor insights disabled for the replica.", + "title": "ContributorInsightsSpecification" }, - "LicenseSpecifications": { + "DeletionProtectionEnabled": { + "markdownDescription": "Determines if a replica is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .", + "title": "DeletionProtectionEnabled", + "type": "boolean" + }, + "GlobalSecondaryIndexes": { "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification" }, - "markdownDescription": "The license configurations.", - "title": "LicenseSpecifications", + "markdownDescription": "Defines additional settings for the global secondary indexes of this replica.", + "title": "GlobalSecondaryIndexes", "type": "array" }, - "MaintenanceOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MaintenanceOptions", - "markdownDescription": "The maintenance options of your instance.", - "title": "MaintenanceOptions" + "GlobalTableSettingsReplicationMode": { + "type": "string" }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions", - "markdownDescription": "The metadata options for the instance. For more information, see [Configure the Instance Metadata Service options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) in the *Amazon EC2 User Guide* .", - "title": "MetadataOptions" + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KinesisStreamSpecification", + "markdownDescription": "Defines the Kinesis Data Streams configuration for the specified replica.", + "title": "KinesisStreamSpecification" }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring", - "markdownDescription": "The monitoring for the instance.", - "title": "Monitoring" + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification", + "markdownDescription": "The settings used to enable point in time recovery. When not specified, defaults to point in time recovery disabled for the replica.", + "title": "PointInTimeRecoverySpecification" }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" - }, - "markdownDescription": "The network interfaces for the instance.", - "title": "NetworkInterfaces", - "type": "array" + "ReadOnDemandThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings", + "markdownDescription": "Sets read request settings for the replica table.", + "title": "ReadOnDemandThroughputSettings" }, - "NetworkPerformanceOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkPerformanceOptions", - "markdownDescription": "The settings for the network performance options for the instance. For more information, see [EC2 instance bandwidth weighting configuration](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html) .", - "title": "NetworkPerformanceOptions" + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings", + "markdownDescription": "Defines read capacity settings for the replica table.", + "title": "ReadProvisionedThroughputSettings" }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement", - "markdownDescription": "The placement for the instance.", - "title": "Placement" + "Region": { + "markdownDescription": "The region in which this replica exists.", + "title": "Region", + "type": "string" }, - "PrivateDnsNameOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateDnsNameOptions", - "markdownDescription": "The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries should be handled. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "PrivateDnsNameOptions" + "ReplicaStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification", + "markdownDescription": "Represents the DynamoDB Streams configuration for a global table replica.", + "title": "ReplicaStreamSpecification" }, - "RamDiskId": { - "markdownDescription": "The ID of the RAM disk.\n\n> We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [User provided kernels](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", - "title": "RamDiskId", - "type": "string" + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy", + "markdownDescription": "A resource-based policy document that contains permissions to add to the specified replica of a DynamoDB global table. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.\n\nIn a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", + "title": "ResourcePolicy" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the security groups. You can specify the IDs of existing security groups and references to resources created by the stack template.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface instead.", - "title": "SecurityGroupIds", - "type": "array" + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification", + "markdownDescription": "Allows you to specify a customer-managed key for the replica. When using customer-managed keys for server-side encryption, this property must have a value in all replicas.", + "title": "SSESpecification" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "The names of the security groups. For a nondefault VPC, you must use security group IDs instead.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.", - "title": "SecurityGroups", - "type": "array" + "TableClass": { + "markdownDescription": "The table class of the specified table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS` .", + "title": "TableClass", + "type": "string" }, - "TagSpecifications": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to apply to resources that are created during instance launch.\n\nTo tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications) .", - "title": "TagSpecifications", + "markdownDescription": "An array of key-value pairs to apply to this replica.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "title": "Tags", "type": "array" - }, - "UserData": { - "markdownDescription": "The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands when you launch an EC2 instance with user data input](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) in the *Amazon EC2 User Guide* .\n\nIf you are creating the launch template for use with AWS Batch , the user data must be provided in the [MIME multi-part archive format](https://docs.aws.amazon.com/https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive) . For more information, see [Amazon EC2 user data in launch templates](https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html#lt-user-data) in the *AWS Batch User Guide* .", - "title": "UserData", - "type": "string" } }, + "required": [ + "Region" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification": { + "AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification": { "additionalProperties": false, "properties": { - "ResourceType": { - "markdownDescription": "The type of resource. To tag a launch template, `ResourceType` must be `launch-template` .", - "title": "ResourceType", - "type": "string" + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy", + "markdownDescription": "A resource-based policy document that contains the permissions for the specified stream of a DynamoDB global table replica. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.\n\nIn a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .\n\nYou can update the `ResourcePolicy` property if you've specified more than one table using the [AWS ::DynamoDB::GlobalTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html) resource.", + "title": "ResourcePolicy" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the resource.", - "title": "Tags", "type": "array" } }, "type": "object" }, - "AWS::EC2::LaunchTemplate.LicenseSpecification": { + "AWS::DynamoDB::GlobalTable.ResourcePolicy": { "additionalProperties": false, "properties": { - "LicenseConfigurationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the license configuration.", - "title": "LicenseConfigurationArn", - "type": "string" + "PolicyDocument": { + "markdownDescription": "A resource-based policy document that contains permissions to add to the specified DynamoDB table, its indexes, and stream. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", + "title": "PolicyDocument", + "type": "object" } }, + "required": [ + "PolicyDocument" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.MaintenanceOptions": { + "AWS::DynamoDB::GlobalTable.SSESpecification": { "additionalProperties": false, "properties": { - "AutoRecovery": { - "markdownDescription": "Disables the automatic recovery behavior of your instance or sets it to default.", - "title": "AutoRecovery", + "SSEEnabled": { + "markdownDescription": "Indicates whether server-side encryption is performed using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to KMS and an AWS managed key is used ( AWS charges apply). If disabled (false) or not specified,server-side encryption is set to an AWS owned key. If you choose to use KMS encryption, you can also use customer managed KMS keys by specifying them in the `ReplicaSpecification.SSESpecification` object. You cannot mix AWS managed and customer managed KMS keys.", + "title": "SSEEnabled", + "type": "boolean" + }, + "SSEType": { + "markdownDescription": "Server-side encryption type. The only supported value is:\n\n- `KMS` - Server-side encryption that uses AWS Key Management Service . The key is stored in your account and is managed by AWS ( AWS charges apply).", + "title": "SSEType", "type": "string" } }, + "required": [ + "SSEEnabled" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu": { + "AWS::DynamoDB::GlobalTable.SearchSchemaElement": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "AttributeName": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "SearchSchemaElementType": { + "type": "string" } }, + "required": [ + "AttributeName", + "SearchSchemaElementType" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.MemoryMiB": { + "AWS::DynamoDB::GlobalTable.StreamSpecification": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum amount of memory, in MiB. To specify no minimum limit, specify `0` .", - "title": "Min", - "type": "number" + "StreamViewType": { + "markdownDescription": "When an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table. Valid values for `StreamViewType` are:\n\n- `KEYS_ONLY` - Only the key attributes of the modified item are written to the stream.\n- `NEW_IMAGE` - The entire item, as it appears after it was modified, is written to the stream.\n- `OLD_IMAGE` - The entire item, as it appeared before it was modified, is written to the stream.\n- `NEW_AND_OLD_IMAGES` - Both the new and the old item images of the item are written to the stream.", + "title": "StreamViewType", + "type": "string" } }, + "required": [ + "StreamViewType" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.MetadataOptions": { + "AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration": { "additionalProperties": false, "properties": { - "HttpEndpoint": { - "markdownDescription": "Enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is `enabled` .\n\n> If you specify a value of `disabled` , you will not be able to access your instance metadata.", - "title": "HttpEndpoint", - "type": "string" - }, - "HttpProtocolIpv6": { - "markdownDescription": "Enables or disables the IPv6 endpoint for the instance metadata service.\n\nDefault: `disabled`", - "title": "HttpProtocolIpv6", - "type": "string" + "DisableScaleIn": { + "markdownDescription": "Indicates whether scale in by the target tracking scaling policy is disabled. The default value is `false` .", + "title": "DisableScaleIn", + "type": "boolean" }, - "HttpPutResponseHopLimit": { - "markdownDescription": "The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.\n\nDefault: `1`\n\nPossible values: Integers from 1 to 64", - "title": "HttpPutResponseHopLimit", + "ScaleInCooldown": { + "markdownDescription": "The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start.", + "title": "ScaleInCooldown", "type": "number" }, - "HttpTokens": { - "markdownDescription": "Indicates whether IMDSv2 is required.\n\n- `optional` - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.\n- `required` - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.\n\nDefault: If the value of `ImdsSupport` for the Amazon Machine Image (AMI) for your instance is `v2.0` , the default is `required` .", - "title": "HttpTokens", - "type": "string" + "ScaleOutCooldown": { + "markdownDescription": "The amount of time, in seconds, after a scale-out activity completes before another scale-out activity can start.", + "title": "ScaleOutCooldown", + "type": "number" }, - "InstanceMetadataTags": { - "markdownDescription": "Set to `enabled` to allow access to instance tags from the instance metadata. Set to `disabled` to turn off access to instance tags from the instance metadata. For more information, see [View tags for your EC2 instances using instance metadata](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/work-with-tags-in-IMDS.html) .\n\nDefault: `disabled`", - "title": "InstanceMetadataTags", - "type": "string" + "TargetValue": { + "markdownDescription": "Defines a target value for the scaling policy.", + "title": "TargetValue", + "type": "number" } }, + "required": [ + "TargetValue" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Monitoring": { + "AWS::DynamoDB::GlobalTable.TimeToLiveSpecification": { "additionalProperties": false, "properties": { + "AttributeName": { + "markdownDescription": "The name of the attribute used to store the expiration time for items in the table.\n\nCurrently, you cannot directly change the attribute name used to evaluate time to live. In order to do so, you must first disable time to live, and then re-enable it with the new attribute name. It can take up to one hour for changes to time to live to take effect. If you attempt to modify time to live within that time window, your stack operation might be delayed.", + "title": "AttributeName", + "type": "string" + }, "Enabled": { - "markdownDescription": "Specify `true` to enable detailed monitoring. Otherwise, basic monitoring is enabled.", + "markdownDescription": "Indicates whether TTL is to be enabled (true) or disabled (false) on the table.", "title": "Enabled", "type": "boolean" } }, + "required": [ + "Enabled" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.NetworkBandwidthGbps": { + "AWS::DynamoDB::GlobalTable.VectorAttribute": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no minimum limit.", - "title": "Min", - "type": "number" + "AttributeName": { + "type": "string" } }, + "required": [ + "AttributeName" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.NetworkInterface": { + "AWS::DynamoDB::GlobalTable.VectorIndex": { "additionalProperties": false, "properties": { - "AssociateCarrierIpAddress": { - "markdownDescription": "Associates a Carrier IP address with eth0 for a new network interface.\n\nUse this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. For more information about Carrier IP addresses, see [Carrier IP addresses](https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip) in the *AWS Wavelength Developer Guide* .", - "title": "AssociateCarrierIpAddress", - "type": "boolean" - }, - "AssociatePublicIpAddress": { - "markdownDescription": "Associates a public IPv4 address with eth0 for a new network interface.\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [Amazon VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", - "title": "AssociatePublicIpAddress", - "type": "boolean" - }, - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ConnectionTrackingSpecification", - "markdownDescription": "A connection tracking specification for the network interface.", - "title": "ConnectionTrackingSpecification" - }, - "DeleteOnTermination": { - "markdownDescription": "Indicates whether the network interface is deleted when the instance is terminated.", - "title": "DeleteOnTermination", - "type": "boolean" - }, - "Description": { - "markdownDescription": "A description for the network interface.", - "title": "Description", - "type": "string" - }, - "DeviceIndex": { - "markdownDescription": "The device index for the network interface attachment. The primary network interface has a device index of 0. If the network interface is of type `interface` , you must specify a device index.\n\nIf you create a launch template that includes secondary network interfaces but no primary network interface, and you specify it using the `LaunchTemplate` property of `AWS::EC2::Instance` , then you must include a primary network interface using the `NetworkInterfaces` property of `AWS::EC2::Instance` .", - "title": "DeviceIndex", - "type": "number" - }, - "EnaQueueCount": { - "markdownDescription": "The number of ENA queues to be created with the instance.", - "title": "EnaQueueCount", + "Dimensions": { "type": "number" }, - "EnaSrdSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdSpecification", - "markdownDescription": "The ENA Express configuration for the network interface.", - "title": "EnaSrdSpecification" - }, - "Groups": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of one or more security groups.", - "title": "Groups", - "type": "array" - }, - "InterfaceType": { - "markdownDescription": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify `efa` or `efa` . For more information, see [Elastic Fabric Adapter for AI/ML and HPC workloads on Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide* .\n\nIf you are not creating an EFA, specify `interface` or omit this parameter.\n\nIf you specify `efa-only` , do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.\n\nValid values: `interface` | `efa` | `efa-only`", - "title": "InterfaceType", + "DistanceFunction": { "type": "string" }, - "Ipv4PrefixCount": { - "markdownDescription": "The number of IPv4 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the `Ipv4Prefix` option.", - "title": "Ipv4PrefixCount", - "type": "number" - }, - "Ipv4Prefixes": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv4PrefixSpecification" - }, - "markdownDescription": "One or more IPv4 prefixes to be assigned to the network interface. You cannot use this option if you use the `Ipv4PrefixCount` option.", - "title": "Ipv4Prefixes", - "type": "array" - }, - "Ipv6AddressCount": { - "markdownDescription": "The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.", - "title": "Ipv6AddressCount", - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" - }, - "markdownDescription": "One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.", - "title": "Ipv6Addresses", - "type": "array" - }, - "Ipv6PrefixCount": { - "markdownDescription": "The number of IPv6 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the `Ipv6Prefix` option.", - "title": "Ipv6PrefixCount", - "type": "number" - }, - "Ipv6Prefixes": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6PrefixSpecification" - }, - "markdownDescription": "One or more IPv6 prefixes to be assigned to the network interface. You cannot use this option if you use the `Ipv6PrefixCount` option.", - "title": "Ipv6Prefixes", - "type": "array" - }, - "NetworkCardIndex": { - "markdownDescription": "The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.", - "title": "NetworkCardIndex", - "type": "number" - }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of the network interface.", - "title": "NetworkInterfaceId", + "IndexName": { "type": "string" }, - "PrimaryIpv6": { - "markdownDescription": "The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) .", - "title": "PrimaryIpv6", - "type": "boolean" - }, - "PrivateIpAddress": { - "markdownDescription": "The primary private IPv4 address of the network interface.", - "title": "PrivateIpAddress", - "type": "string" + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" }, - "PrivateIpAddresses": { + "SearchSchema": { "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SearchSchemaElement" }, - "markdownDescription": "One or more private IPv4 addresses.", - "title": "PrivateIpAddresses", "type": "array" }, - "SecondaryPrivateIpAddressCount": { - "markdownDescription": "The number of secondary private IPv4 addresses to assign to a network interface.", - "title": "SecondaryPrivateIpAddressCount", - "type": "number" - }, - "SubnetId": { - "markdownDescription": "The ID of the subnet for the network interface.", - "title": "SubnetId", - "type": "string" + "VectorAttribute": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.VectorAttribute" } }, + "required": [ + "Dimensions", + "DistanceFunction", + "IndexName", + "Projection", + "VectorAttribute" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.NetworkInterfaceCount": { + "AWS::DynamoDB::GlobalTable.WarmThroughput": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of network interfaces. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum number of network interfaces. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.NetworkPerformanceOptions": { - "additionalProperties": false, - "properties": { - "BandwidthWeighting": { - "markdownDescription": "Specify the bandwidth weighting option to boost the associated type of baseline bandwidth, as follows:\n\n- **default** - This option uses the standard bandwidth configuration for your instance type.\n- **vpc-1** - This option boosts your networking baseline bandwidth and reduces your EBS baseline bandwidth.\n- **ebs-1** - This option boosts your EBS baseline bandwidth and reduces your networking baseline bandwidth.", - "title": "BandwidthWeighting", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "markdownDescription": "The affinity setting for an instance on a Dedicated Host.", - "title": "Affinity", - "type": "string" - }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone for the instance.\n\nEither `AvailabilityZone` or `AvailabilityZoneId` can be specified, but not both", - "title": "AvailabilityZone", - "type": "string" - }, - "GroupId": { - "markdownDescription": "The Group Id of a placement group. You must specify the Placement Group *Group Id* to launch an instance in a shared placement group.", - "title": "GroupId", - "type": "string" - }, - "GroupName": { - "markdownDescription": "The name of the placement group for the instance.", - "title": "GroupName", - "type": "string" - }, - "HostId": { - "markdownDescription": "The ID of the Dedicated Host for the instance.", - "title": "HostId", - "type": "string" - }, - "HostResourceGroupArn": { - "markdownDescription": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the *Tenancy* parameter or set it to `host` .", - "title": "HostResourceGroupArn", - "type": "string" - }, - "PartitionNumber": { - "markdownDescription": "The number of the partition the instance should launch in. Valid only if the placement group strategy is set to `partition` .", - "title": "PartitionNumber", + "ReadUnitsPerSecond": { + "markdownDescription": "Represents the number of read operations your base table can instantaneously support.", + "title": "ReadUnitsPerSecond", "type": "number" }, - "SpreadDomain": { - "markdownDescription": "Reserved for future use.", - "title": "SpreadDomain", - "type": "string" - }, - "Tenancy": { - "markdownDescription": "The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware.", - "title": "Tenancy", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.PrivateDnsNameOptions": { - "additionalProperties": false, - "properties": { - "EnableResourceNameDnsAAAARecord": { - "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.", - "title": "EnableResourceNameDnsAAAARecord", - "type": "boolean" - }, - "EnableResourceNameDnsARecord": { - "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records.", - "title": "EnableResourceNameDnsARecord", - "type": "boolean" - }, - "HostnameType": { - "markdownDescription": "The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "HostnameType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.PrivateIpAdd": { - "additionalProperties": false, - "properties": { - "Primary": { - "markdownDescription": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.", - "title": "Primary", - "type": "boolean" - }, - "PrivateIpAddress": { - "markdownDescription": "The private IPv4 address.", - "title": "PrivateIpAddress", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Reference": { - "additionalProperties": false, - "properties": { - "InstanceFamily": { - "markdownDescription": "The instance family to use as a baseline reference.\n\n> Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( `.` ) in the instance type name. For example, in the instance type `c6i.large` , the instance family is `c6i` , not `c6` . For more information, see [Amazon EC2 instance type naming conventions](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) in *Amazon EC2 Instance Types* . \n\nThe following instance families are *not supported* for performance protection:\n\n- `c1`\n- `g3` | `g3s`\n- `hpc7g`\n- `m1` | `m2`\n- `mac1` | `mac2` | `mac2-m1ultra` | `mac2-m2` | `mac2-m2pro`\n- `p3dn` | `p4d` | `p5`\n- `t1`\n- `u-12tb1` | `u-18tb1` | `u-24tb1` | `u-3tb1` | `u-6tb1` | `u-9tb1` | `u7i-12tb` | `u7in-16tb` | `u7in-24tb` | `u7in-32tb`\n\nIf you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.", - "title": "InstanceFamily", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.SpotOptions": { - "additionalProperties": false, - "properties": { - "BlockDurationMinutes": { - "markdownDescription": "Deprecated.", - "title": "BlockDurationMinutes", + "WriteUnitsPerSecond": { + "markdownDescription": "Represents the number of write operations your base table can instantaneously support.", + "title": "WriteUnitsPerSecond", "type": "number" - }, - "InstanceInterruptionBehavior": { - "markdownDescription": "The behavior when a Spot Instance is interrupted. The default is `terminate` .", - "title": "InstanceInterruptionBehavior", - "type": "string" - }, - "MaxPrice": { - "markdownDescription": "The maximum hourly price you're willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price. If you do specify this parameter, it must be more than USD $0.001. Specifying a value below USD $0.001 will result in an `InvalidParameterValue` error message when the launch template is used to launch an instance.\n\n> If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.", - "title": "MaxPrice", - "type": "string" - }, - "SpotInstanceType": { - "markdownDescription": "The Spot Instance request type.\n\nIf you are using Spot Instances with an Auto Scaling group, use `one-time` requests, as the Amazon EC2 Auto Scaling service handles requesting new Spot Instances whenever the group is below its desired capacity.", - "title": "SpotInstanceType", - "type": "string" - }, - "ValidUntil": { - "markdownDescription": "The end date of the request, in UTC format ( *YYYY-MM-DD* T *HH:MM:SS* Z). Supported only for persistent requests.\n\n- For a persistent request, the request remains active until the `ValidUntil` date and time is reached. Otherwise, the request remains active until you cancel it.\n- For a one-time request, `ValidUntil` is not supported. The request remains active until all instances launch or you cancel the request.\n\nDefault: 7 days from the current date", - "title": "ValidUntil", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "markdownDescription": "The type of resource to tag. You can specify tags for the following resource types only: `instance` | `volume` | `network-interface` | `spot-instances-request` . If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include a volume.\n\nTo tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) .", - "title": "ResourceType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to the resource.", - "title": "Tags", - "type": "array" } }, "type": "object" }, - "AWS::EC2::LaunchTemplate.TotalLocalStorageGB": { + "AWS::DynamoDB::GlobalTable.WriteOnDemandThroughputSettings": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter.", - "title": "Min", + "MaxWriteRequestUnits": { + "markdownDescription": "Maximum number of write request settings for the specified replica of a global table.", + "title": "MaxWriteRequestUnits", "type": "number" } }, "type": "object" }, - "AWS::EC2::LaunchTemplate.VCpuCount": { + "AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of vCPUs. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum number of vCPUs. To specify no minimum limit, specify `0` .", - "title": "Min", - "type": "number" + "WriteCapacityAutoScalingSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings", + "markdownDescription": "Specifies auto scaling settings for the replica table or global secondary index.", + "title": "WriteCapacityAutoScalingSettings" } }, "type": "object" }, - "AWS::EC2::LocalGatewayRoute": { + "AWS::DynamoDB::Stream": { "additionalProperties": false, "properties": { "Condition": { @@ -125966,36 +124902,18 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { - "markdownDescription": "The CIDR block used for destination matches.", - "title": "DestinationCidrBlock", - "type": "string" - }, - "LocalGatewayRouteTableId": { - "markdownDescription": "The ID of the local gateway route table.", - "title": "LocalGatewayRouteTableId", - "type": "string" - }, - "LocalGatewayVirtualInterfaceGroupId": { - "markdownDescription": "The ID of the virtual interface group.", - "title": "LocalGatewayVirtualInterfaceGroupId", + "StreamViewType": { "type": "string" }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of the network interface.", - "title": "NetworkInterfaceId", + "TableName": { "type": "string" } }, - "required": [ - "DestinationCidrBlock", - "LocalGatewayRouteTableId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayRoute" + "AWS::DynamoDB::Stream" ], "type": "string" }, @@ -126009,17 +124927,39 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::LocalGatewayRouteTable": { + "AWS::DynamoDB::Stream.KeySchemaItems": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "KeyType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, + "Connectors": { + "additionalProperties": { + "$ref": "#/definitions/EmbeddedConnector" + }, + "title": "Connectors", + "type": "object" + }, "DeletionPolicy": { "enum": [ "Delete", @@ -126049,33 +124989,136 @@ "Properties": { "additionalProperties": false, "properties": { - "LocalGatewayId": { - "markdownDescription": "The ID of the local gateway.", - "title": "LocalGatewayId", + "AttributeDefinitions": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" + }, + "markdownDescription": "A list of attributes that describe the key schema for the table and indexes.\n\nThis property is required to create a DynamoDB table.\n\nUpdate requires: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . Replacement if you edit an existing AttributeDefinition.", + "title": "AttributeDefinitions", + "type": "array" + }, + "BillingMode": { + "markdownDescription": "Specify how you are charged for read and write throughput and how you manage capacity.\n\nValid values include:\n\n- `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for most DynamoDB workloads. `PAY_PER_REQUEST` sets the billing mode to [On-demand capacity mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html) .\n- `PROVISIONED` - We recommend using `PROVISIONED` for steady workloads with predictable growth where capacity requirements can be reliably forecasted. `PROVISIONED` sets the billing mode to [Provisioned capacity mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html) .\n\nIf not specified, the default is `PROVISIONED` .", + "title": "BillingMode", "type": "string" }, - "Mode": { - "markdownDescription": "The mode of the local gateway route table.", - "title": "Mode", + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification", + "markdownDescription": "The settings used to specify whether to enable CloudWatch Contributor Insights for the table and define which events to monitor.", + "title": "ContributorInsightsSpecification" + }, + "DeletionProtectionEnabled": { + "markdownDescription": "Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .", + "title": "DeletionProtectionEnabled", + "type": "boolean" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" + }, + "markdownDescription": "Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes.\n\n> If you update a table to include a new global secondary index, AWS CloudFormation initiates the index creation and then proceeds with the stack update. AWS CloudFormation doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is `ACTIVE` . You can track its status by using the DynamoDB [DescribeTable](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html) command.\n> \n> If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index.\n> \n> Updates are not supported. The following are exceptions:\n> \n> - If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption.\n> - You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.", + "title": "GlobalSecondaryIndexes", + "type": "array" + }, + "ImportSourceSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ImportSourceSpecification", + "markdownDescription": "Specifies the properties of data being imported from the S3 bucket source to the\" table.\n\n> If you specify the `ImportSourceSpecification` property, and also specify either the `StreamSpecification` , the `TableClass` property, the `DeletionProtectionEnabled` property, or the `WarmThroughput` property, the IAM entity creating/updating stack must have `UpdateTable` permission.", + "title": "ImportSourceSpecification" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "markdownDescription": "Specifies the attributes that make up the primary key for the table. The attributes in the `KeySchema` property must also be defined in the `AttributeDefinitions` property.", + "title": "KeySchema", + "type": "array" + }, + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification", + "markdownDescription": "The Kinesis Data Streams configuration for the specified table.", + "title": "KinesisStreamSpecification" + }, + "LocalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" + }, + "markdownDescription": "Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.", + "title": "LocalSecondaryIndexes", + "type": "array" + }, + "OnDemandThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.OnDemandThroughput", + "markdownDescription": "Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify `MaxReadRequestUnits` , `MaxWriteRequestUnits` , or both.", + "title": "OnDemandThroughput" + }, + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification", + "markdownDescription": "The settings used to enable point in time recovery.", + "title": "PointInTimeRecoverySpecification" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput", + "markdownDescription": "Throughput for the specified table, which consists of values for `ReadCapacityUnits` and `WriteCapacityUnits` . For more information about the contents of a provisioned throughput structure, see [Amazon DynamoDB Table ProvisionedThroughput](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html) .\n\nIf you set `BillingMode` as `PROVISIONED` , you must specify this property. If you set `BillingMode` as `PAY_PER_REQUEST` , you cannot specify this property.", + "title": "ProvisionedThroughput" + }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy", + "markdownDescription": "An AWS resource-based policy document in JSON format that will be attached to the table.\n\nWhen you attach a resource-based policy while creating a table, the policy application is *strongly consistent* .\n\nThe maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that apply for resource-based policies, see [Resource-based policy considerations](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html) .\n\n> You need to specify the `CreateTable` and `PutResourcePolicy` IAM actions for authorizing a user to create a table with a resource-based policy.", + "title": "ResourcePolicy" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification", + "markdownDescription": "Specifies the settings to enable server-side encryption.", + "title": "SSESpecification" + }, + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification", + "markdownDescription": "The settings for the DynamoDB table stream, which captures changes to items stored in the table. Including this property in your AWS CloudFormation template automatically enables streaming.", + "title": "StreamSpecification" + }, + "TableClass": { + "markdownDescription": "The table class of the new table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS` .", + "title": "TableClass", + "type": "string" + }, + "TableName": { + "markdownDescription": "A name for the table. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the table name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "TableName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags assigned to the local gateway route table.", + "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" + }, + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification", + "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.", + "title": "WarmThroughput" } }, "required": [ - "LocalGatewayId" + "KeySchema" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayRouteTable" + "AWS::DynamoDB::Table" ], "type": "string" }, @@ -126094,88 +125137,478 @@ ], "type": "object" }, - "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { + "AWS::DynamoDB::Table.AttributeDefinition": { "additionalProperties": false, "properties": { - "Condition": { + "AttributeName": { + "markdownDescription": "A name for the attribute.", + "title": "AttributeName", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AttributeType": { + "markdownDescription": "The data type for the attribute, where:\n\n- `S` - the attribute is of type String\n- `N` - the attribute is of type Number\n- `B` - the attribute is of type Binary", + "title": "AttributeType", "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.ContributorInsightsSpecification": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).", + "title": "Enabled", + "type": "boolean" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Mode": { + "markdownDescription": "Specifies the CloudWatch Contributor Insights mode for a table. Valid values are `ACCESSED_AND_THROTTLED_KEYS` (tracks all access and throttled events) or `THROTTLED_KEYS` (tracks only throttled events). This setting determines what type of contributor insights data is collected for the table.", + "title": "Mode", + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.Csv": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "markdownDescription": "The delimiter used for separating items in the CSV file being imported.", + "title": "Delimiter", + "type": "string" }, - "Metadata": { - "type": "object" + "HeaderList": { + "items": { + "type": "string" + }, + "markdownDescription": "List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.", + "title": "HeaderList", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.GlobalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification", + "markdownDescription": "The settings used to specify whether to enable CloudWatch Contributor Insights for the global table and define which events to monitor.", + "title": "ContributorInsightsSpecification" }, - "Properties": { - "additionalProperties": false, - "properties": { - "LocalGatewayRouteTableId": { - "markdownDescription": "The ID of the local gateway route table.", - "title": "LocalGatewayRouteTableId", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the association.", - "title": "Tags", - "type": "array" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", - "type": "string" - } + "IndexName": { + "markdownDescription": "The name of the global secondary index. The name must be unique among all other indexes on this table.", + "title": "IndexName", + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" }, - "required": [ - "LocalGatewayRouteTableId", - "VpcId" - ], + "markdownDescription": "The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", + "title": "KeySchema", + "type": "array" + }, + "OnDemandThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.OnDemandThroughput", + "markdownDescription": "The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify `MaxReadRequestUnits` , `MaxWriteRequestUnits` , or both. You must use either `OnDemandThroughput` or `ProvisionedThroughput` based on your table's capacity mode.", + "title": "OnDemandThroughput" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection", + "markdownDescription": "Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", + "title": "Projection" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput", + "markdownDescription": "Represents the provisioned throughput settings for the specified global secondary index. You must use either `OnDemandThroughput` or `ProvisionedThroughput` based on your table's capacity mode.\n\nFor current minimum and maximum provisioned throughput values, see [Service, Account, and Table Quotas](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the *Amazon DynamoDB Developer Guide* .", + "title": "ProvisionedThroughput" + }, + "WarmThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.WarmThroughput", + "markdownDescription": "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both.", + "title": "WarmThroughput" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.ImportSourceSpecification": { + "additionalProperties": false, + "properties": { + "InputCompressionType": { + "markdownDescription": "Type of compression to be used on the input coming from the imported table.", + "title": "InputCompressionType", + "type": "string" + }, + "InputFormat": { + "markdownDescription": "The format of the source data. Valid values for `ImportFormat` are `CSV` , `DYNAMODB_JSON` or `ION` .", + "title": "InputFormat", + "type": "string" + }, + "InputFormatOptions": { + "$ref": "#/definitions/AWS::DynamoDB::Table.InputFormatOptions", + "markdownDescription": "Additional properties that specify how the input is formatted,", + "title": "InputFormatOptions" + }, + "S3BucketSource": { + "$ref": "#/definitions/AWS::DynamoDB::Table.S3BucketSource", + "markdownDescription": "The S3 bucket that provides the source for the import.", + "title": "S3BucketSource" + } + }, + "required": [ + "InputFormat", + "S3BucketSource" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.InputFormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Csv", + "markdownDescription": "The options for imported source files in CSV format. The values are Delimiter and HeaderList.", + "title": "Csv" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.KeySchema": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "markdownDescription": "The name of a key attribute.", + "title": "AttributeName", + "type": "string" + }, + "KeyType": { + "markdownDescription": "The role that this key attribute will assume:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", + "title": "KeyType", + "type": "string" + } + }, + "required": [ + "AttributeName", + "KeyType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.KinesisStreamSpecification": { + "additionalProperties": false, + "properties": { + "ApproximateCreationDateTimePrecision": { + "markdownDescription": "The precision for the time and date that the stream was created.", + "title": "ApproximateCreationDateTimePrecision", + "type": "string" + }, + "StreamArn": { + "markdownDescription": "The ARN for a specific Kinesis data stream.\n\nLength Constraints: Minimum length of 37. Maximum length of 1024.", + "title": "StreamArn", + "type": "string" + } + }, + "required": [ + "StreamArn" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.LocalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "markdownDescription": "The name of the local secondary index. The name must be unique among all other indexes on this table.", + "title": "IndexName", + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "markdownDescription": "The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", + "title": "KeySchema", + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection", + "markdownDescription": "Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", + "title": "Projection" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.OnDemandThroughput": { + "additionalProperties": false, + "properties": { + "MaxReadRequestUnits": { + "markdownDescription": "Maximum number of read request units for the specified table.\n\nTo specify a maximum `OnDemandThroughput` on your table, set the value of `MaxReadRequestUnits` as greater than or equal to 1. To remove the maximum `OnDemandThroughput` that is currently set on your table, set the value of `MaxReadRequestUnits` to -1.", + "title": "MaxReadRequestUnits", + "type": "number" + }, + "MaxWriteRequestUnits": { + "markdownDescription": "Maximum number of write request units for the specified table.\n\nTo specify a maximum `OnDemandThroughput` on your table, set the value of `MaxWriteRequestUnits` as greater than or equal to 1. To remove the maximum `OnDemandThroughput` that is currently set on your table, set the value of `MaxWriteRequestUnits` to -1.", + "title": "MaxWriteRequestUnits", + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { + "additionalProperties": false, + "properties": { + "PointInTimeRecoveryEnabled": { + "markdownDescription": "Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.", + "title": "PointInTimeRecoveryEnabled", + "type": "boolean" + }, + "RecoveryPeriodInDays": { + "markdownDescription": "The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. This parameter is optional. If no value is provided, the value will default to 35.", + "title": "RecoveryPeriodInDays", + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "markdownDescription": "Represents the non-key attribute names which will be projected into the index.\n\nFor global and local secondary indexes, the total count of `NonKeyAttributes` summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. This limit only applies when you specify the ProjectionType of `INCLUDE` . You still can specify the ProjectionType of `ALL` to project all attributes from the source table, even if the table has more than 100 attributes.", + "title": "NonKeyAttributes", + "type": "array" + }, + "ProjectionType": { + "markdownDescription": "The set of attributes that are projected into the index:\n\n- `KEYS_ONLY` - Only the index and primary keys are projected into the index.\n- `INCLUDE` - In addition to the attributes described in `KEYS_ONLY` , the secondary index will include other non-key attributes that you specify.\n- `ALL` - All of the table attributes are projected into the index.\n\nWhen using the DynamoDB console, `ALL` is selected by default.", + "title": "ProjectionType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "markdownDescription": "The maximum number of strongly consistent reads consumed per second before DynamoDB returns a `ThrottlingException` . For more information, see [Specifying Read and Write Requirements](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html) in the *Amazon DynamoDB Developer Guide* .\n\nIf read/write capacity mode is `PAY_PER_REQUEST` the value is set to 0.", + "title": "ReadCapacityUnits", + "type": "number" + }, + "WriteCapacityUnits": { + "markdownDescription": "The maximum number of writes consumed per second before DynamoDB returns a `ThrottlingException` . For more information, see [Specifying Read and Write Requirements](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html) in the *Amazon DynamoDB Developer Guide* .\n\nIf read/write capacity mode is `PAY_PER_REQUEST` the value is set to 0.", + "title": "WriteCapacityUnits", + "type": "number" + } + }, + "required": [ + "ReadCapacityUnits", + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "markdownDescription": "A resource-based policy document that contains permissions to add to the specified DynamoDB table, index, or both. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", + "title": "PolicyDocument", "type": "object" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.S3BucketSource": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "markdownDescription": "The S3 bucket that is being imported from.", + "title": "S3Bucket", + "type": "string" }, - "Type": { - "enum": [ - "AWS::EC2::LocalGatewayRouteTableVPCAssociation" - ], + "S3BucketOwner": { + "markdownDescription": "The account number of the S3 bucket that is being imported from. If the bucket is owned by the requester this is optional.", + "title": "S3BucketOwner", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3KeyPrefix": { + "markdownDescription": "The key prefix shared by all S3 Objects that are being imported.", + "title": "S3KeyPrefix", "type": "string" } }, "required": [ - "Type", - "Properties" + "S3Bucket" ], "type": "object" }, - "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { + "AWS::DynamoDB::Table.SSESpecification": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyId": { + "markdownDescription": "The AWS key that should be used for the AWS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key `alias/aws/dynamodb` .", + "title": "KMSMasterKeyId", + "type": "string" + }, + "SSEEnabled": { + "markdownDescription": "Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to `KMS` and an AWS managed key is used ( AWS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.", + "title": "SSEEnabled", + "type": "boolean" + }, + "SSEType": { + "markdownDescription": "Server-side encryption type. The only supported value is:\n\n- `KMS` - Server-side encryption that uses AWS Key Management Service . The key is stored in your account and is managed by AWS ( AWS charges apply).", + "title": "SSEType", + "type": "string" + } + }, + "required": [ + "SSEEnabled" + ], + "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": { + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy", + "markdownDescription": "Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table's streams. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.\n\n> When you remove the `StreamSpecification` property from the template, DynamoDB disables the stream but retains any attached resource policy until the stream is deleted after 24 hours. When you modify the `StreamViewType` property, DynamoDB creates a new stream and retains the old stream's resource policy. The old stream and its resource policy are deleted after the 24-hour retention period. \n\nIn a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", + "title": "ResourcePolicy" + }, + "StreamViewType": { + "markdownDescription": "When an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table. Valid values for `StreamViewType` are:\n\n- `KEYS_ONLY` - Only the key attributes of the modified item are written to the stream.\n- `NEW_IMAGE` - The entire item, as it appears after it was modified, is written to the stream.\n- `OLD_IMAGE` - The entire item, as it appeared before it was modified, is written to the stream.\n- `NEW_AND_OLD_IMAGES` - Both the new and the old item images of the item are written to the stream.", + "title": "StreamViewType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "StreamViewType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.TimeToLiveSpecification": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "markdownDescription": "The name of the TTL attribute used to store the expiration time for items in the table.\n\n> - The `AttributeName` property is required when enabling the TTL, or when TTL is already enabled.\n> - To update this property, you must first disable TTL and then enable TTL with the new attribute name.", + "title": "AttributeName", + "type": "string" + }, + "Enabled": { + "markdownDescription": "Indicates whether TTL is to be enabled (true) or disabled (false) on the table.", + "title": "Enabled", + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "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": { + "ReadUnitsPerSecond": { + "markdownDescription": "Represents the number of read operations your base table can instantaneously support.", + "title": "ReadUnitsPerSecond", + "type": "number" + }, + "WriteUnitsPerSecond": { + "markdownDescription": "Represents the number of write operations your base table can instantaneously support.", + "title": "WriteUnitsPerSecond", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::ApplicationStatusCheck": { "additionalProperties": false, "properties": { "Condition": { @@ -126210,34 +125643,67 @@ "Properties": { "additionalProperties": false, "properties": { - "LocalGatewayRouteTableId": { - "markdownDescription": "The ID of the local gateway route table.", - "title": "LocalGatewayRouteTableId", + "Aggregation": { "type": "string" }, - "LocalGatewayVirtualInterfaceGroupId": { - "markdownDescription": "The ID of the virtual interface group.", - "title": "LocalGatewayVirtualInterfaceGroupId", + "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" }, - "markdownDescription": "The tags assigned to the association.", - "title": "Tags", "type": "array" + }, + "Timeout": { + "type": "number" } }, "required": [ - "LocalGatewayRouteTableId", - "LocalGatewayVirtualInterfaceGroupId" + "Port", + "Protocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation" + "AWS::EC2::ApplicationStatusCheck" ], "type": "string" }, @@ -126256,7 +125722,46 @@ ], "type": "object" }, - "AWS::EC2::LocalGatewayVirtualInterface": { + "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": { "Condition": { @@ -126291,62 +125796,45 @@ "Properties": { "additionalProperties": false, "properties": { - "LocalAddress": { - "markdownDescription": "The local address.", - "title": "LocalAddress", + "OutputFormat": { + "markdownDescription": "The file format of the exported data.", + "title": "OutputFormat", "type": "string" }, - "LocalGatewayVirtualInterfaceGroupId": { - "markdownDescription": "The ID of the local gateway virtual interface group.", - "title": "LocalGatewayVirtualInterfaceGroupId", + "S3BucketName": { + "markdownDescription": "The name of the S3 bucket where export files are delivered.", + "title": "S3BucketName", "type": "string" }, - "OutpostLagId": { - "markdownDescription": "The Outpost LAG ID.", - "title": "OutpostLagId", + "S3BucketPrefix": { + "markdownDescription": "The S3 key prefix used for organizing export files within the bucket.", + "title": "S3BucketPrefix", "type": "string" }, - "PeerAddress": { - "markdownDescription": "The peer address.", - "title": "PeerAddress", + "Schedule": { + "markdownDescription": "The frequency at which data exports are generated.", + "title": "Schedule", "type": "string" }, - "PeerBgpAsn": { - "markdownDescription": "The peer BGP ASN.", - "title": "PeerBgpAsn", - "type": "number" - }, - "PeerBgpAsnExtended": { - "markdownDescription": "The extended 32-bit ASN of the BGP peer for use with larger ASN values.", - "title": "PeerBgpAsnExtended", - "type": "number" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags assigned to the virtual interface.", + "markdownDescription": "The tags associated with the data export configuration.", "title": "Tags", "type": "array" - }, - "Vlan": { - "markdownDescription": "The ID of the VLAN.", - "title": "Vlan", - "type": "number" } }, "required": [ - "LocalAddress", - "LocalGatewayVirtualInterfaceGroupId", - "OutpostLagId", - "PeerAddress", - "Vlan" + "OutputFormat", + "S3BucketName", + "Schedule" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayVirtualInterface" + "AWS::EC2::CapacityManagerDataExport" ], "type": "string" }, @@ -126365,7 +125853,7 @@ ], "type": "object" }, - "AWS::EC2::LocalGatewayVirtualInterfaceGroup": { + "AWS::EC2::CapacityReservation": { "additionalProperties": false, "properties": { "Condition": { @@ -126400,38 +125888,95 @@ "Properties": { "additionalProperties": false, "properties": { - "LocalBgpAsn": { - "markdownDescription": "The Autonomous System Number(ASN) for the local Border Gateway Protocol (BGP).", - "title": "LocalBgpAsn", - "type": "number" - }, - "LocalBgpAsnExtended": { - "markdownDescription": "The extended 32-bit ASN for the local BGP configuration.", - "title": "LocalBgpAsnExtended", - "type": "number" + "AvailabilityZone": { + "markdownDescription": "The Availability Zone in which to create the Capacity Reservation.", + "title": "AvailabilityZone", + "type": "string" }, - "LocalGatewayId": { - "markdownDescription": "The ID of the local gateway.", - "title": "LocalGatewayId", + "AvailabilityZoneId": { + "markdownDescription": "The ID of the Availability Zone in which the capacity is reserved.", + "title": "AvailabilityZoneId", "type": "string" }, - "Tags": { + "EbsOptimized": { + "markdownDescription": "Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance.", + "title": "EbsOptimized", + "type": "boolean" + }, + "EndDate": { + "markdownDescription": "The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to `expired` when it reaches its end date and time.\n\nYou must provide an `EndDate` value if `EndDateType` is `limited` . Omit `EndDate` if `EndDateType` is `unlimited` .\n\nIf the `EndDateType` is `limited` , the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.\n\nIf you are requesting a future-dated Capacity Reservation, you can't specify an end date and time that is within the commitment duration.", + "title": "EndDate", + "type": "string" + }, + "EndDateType": { + "markdownDescription": "Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:\n\n- `unlimited` - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an `EndDate` if the `EndDateType` is `unlimited` .\n- `limited` - The Capacity Reservation expires automatically at a specified date and time. You must provide an `EndDate` value if the `EndDateType` value is `limited` .", + "title": "EndDateType", + "type": "string" + }, + "EphemeralStorage": { + "markdownDescription": "*Deprecated.*", + "title": "EphemeralStorage", + "type": "boolean" + }, + "InstanceCount": { + "markdownDescription": "The number of instances for which to reserve capacity.\n\n> You can request future-dated Capacity Reservations for an instance count with a minimum of 32 vCPUs. For example, if you request a future-dated Capacity Reservation for `m5.xlarge` instances, you must request at least 8 instances ( *8 * m5.xlarge = 32 vCPUs* ). \n\nValid range: 1 - 1000", + "title": "InstanceCount", + "type": "number" + }, + "InstanceMatchCriteria": { + "markdownDescription": "Indicates the type of instance launches that the Capacity Reservation accepts. The options include:\n\n- `open` - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters.\n- `targeted` - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.\n\n> If you are requesting a future-dated Capacity Reservation, you must specify `targeted` . \n\nDefault: `open`", + "title": "InstanceMatchCriteria", + "type": "string" + }, + "InstancePlatform": { + "markdownDescription": "The type of operating system for which to reserve capacity.", + "title": "InstancePlatform", + "type": "string" + }, + "InstanceType": { + "markdownDescription": "The instance type for which to reserve capacity.\n\n> You can request future-dated Capacity Reservations for instance types in the C, M, R, I, T, and G instance families only. \n\nFor more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .", + "title": "InstanceType", + "type": "string" + }, + "OutPostArn": { + "markdownDescription": "> Not supported for future-dated Capacity Reservations. \n\nThe Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.", + "title": "OutPostArn", + "type": "string" + }, + "PlacementGroupArn": { + "markdownDescription": "> Not supported for future-dated Capacity Reservations. \n\nThe Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. For more information, see [Capacity Reservations for cluster placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html) in the *Amazon EC2 User Guide* .", + "title": "PlacementGroupArn", + "type": "string" + }, + "TagSpecifications": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" }, - "markdownDescription": "The tags assigned to the virtual interface group.", - "title": "Tags", + "markdownDescription": "The tags to apply to the Capacity Reservation during launch.", + "title": "TagSpecifications", "type": "array" + }, + "Tenancy": { + "markdownDescription": "Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:\n\n- `default` - The Capacity Reservation is created on hardware that is shared with other AWS accounts .\n- `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account .", + "title": "Tenancy", + "type": "string" + }, + "UnusedReservationBillingOwnerId": { + "markdownDescription": "The ID of the AWS account to which to assign billing of the unused capacity of the Capacity Reservation. A request will be sent to the specified account. That account must accept the request for the billing to be assigned to their account. For more information, see [Billing assignment for shared Amazon EC2 Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/assign-billing.html) .\n\nYou can assign billing only for shared Capacity Reservations. To share a Capacity Reservation, you must add it to a resource share. For more information, see [AWS::RAM::ResourceShare](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html) .", + "title": "UnusedReservationBillingOwnerId", + "type": "string" } }, "required": [ - "LocalGatewayId" + "InstanceCount", + "InstancePlatform", + "InstanceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayVirtualInterfaceGroup" + "AWS::EC2::CapacityReservation" ], "type": "string" }, @@ -126450,7 +125995,58 @@ ], "type": "object" }, - "AWS::EC2::NatGateway": { + "AWS::EC2::CapacityReservation.CapacityAllocation": { + "additionalProperties": false, + "properties": { + "AllocationType": { + "markdownDescription": "The usage type. `used` indicates that the instance capacity is in use by instances that are running in the Capacity Reservation.", + "title": "AllocationType", + "type": "string" + }, + "Count": { + "markdownDescription": "The amount of instance capacity associated with the usage. For example a value of `4` indicates that instance capacity for 4 instances is currently in use.", + "title": "Count", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::CapacityReservation.CommitmentInfo": { + "additionalProperties": false, + "properties": { + "CommitmentEndDate": { + "markdownDescription": "The date and time at which the commitment duration expires, in the ISO8601 format in the UTC time zone ( `YYYY-MM-DDThh:mm:ss.sssZ` ). You can't decrease the instance count or cancel the Capacity Reservation before this date and time.", + "title": "CommitmentEndDate", + "type": "string" + }, + "CommittedInstanceCount": { + "markdownDescription": "The instance capacity that you committed to when you requested the future-dated Capacity Reservation.", + "title": "CommittedInstanceCount", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::CapacityReservation.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "markdownDescription": "The type of resource to tag. Specify `capacity-reservation` .", + "title": "ResourceType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::CapacityReservationFleet": { "additionalProperties": false, "properties": { "Condition": { @@ -126485,84 +126081,63 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocationId": { - "markdownDescription": "[Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway. This property is required for a public NAT gateway and cannot be specified with a private NAT gateway.", - "title": "AllocationId", - "type": "string" - }, - "AvailabilityMode": { - "markdownDescription": "Indicates whether this is a zonal (single-AZ) or regional (multi-AZ) NAT gateway.\n\nA zonal NAT gateway is a NAT Gateway that provides redundancy and scalability within a single availability zone. A regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.\n\nFor more information, see [Regional NAT gateways for automatic multi-AZ expansion](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html) in the *Amazon VPC User Guide* .", - "title": "AvailabilityMode", + "AllocationStrategy": { + "markdownDescription": "The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. Currently, only the `prioritized` allocation strategy is supported. For more information, see [Allocation strategy](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#allocation-strategy) in the *Amazon EC2 User Guide* .\n\nValid values: `prioritized`", + "title": "AllocationStrategy", "type": "string" }, - "AvailabilityZoneAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NatGateway.AvailabilityZoneAddress" - }, - "markdownDescription": "For regional NAT gateways only: Specifies which Availability Zones you want the NAT gateway to support and the Elastic IP addresses (EIPs) to use in each AZ. The regional NAT gateway uses these EIPs to handle outbound NAT traffic from their respective AZs. If not specified, the NAT gateway will automatically expand to new AZs and associate EIPs upon detection of an elastic network interface. If you specify this parameter, auto-expansion is disabled and you must manually manage AZ coverage.\n\nA regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.\n\nFor more information, see [Regional NAT gateways for automatic multi-AZ expansion](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html) in the *Amazon VPC User Guide* .", - "title": "AvailabilityZoneAddresses", - "type": "array" - }, - "ConnectivityType": { - "markdownDescription": "Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.", - "title": "ConnectivityType", + "EndDate": { + "markdownDescription": "The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation Fleet expires, its state changes to `expired` and all of the Capacity Reservations in the Fleet expire.\n\nThe Capacity Reservation Fleet expires within an hour after the specified time. For example, if you specify `5/31/2019` , `13:30:55` , the Capacity Reservation Fleet is guaranteed to expire between `13:30:55` and `14:30:55` on `5/31/2019` .", + "title": "EndDate", "type": "string" }, - "MaxDrainDurationSeconds": { - "markdownDescription": "The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. Default value is 350 seconds.", - "title": "MaxDrainDurationSeconds", - "type": "number" - }, - "PrivateIpAddress": { - "markdownDescription": "The private IPv4 address to assign to the NAT gateway. If you don't provide an address, a private IPv4 address will be automatically assigned.", - "title": "PrivateIpAddress", + "InstanceMatchCriteria": { + "markdownDescription": "Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All Capacity Reservations in the Fleet inherit this instance matching criteria.\n\nCurrently, Capacity Reservation Fleets support `open` instance matching criteria only. This means that instances that have matching attributes (instance type, platform, and Availability Zone) run in the Capacity Reservations automatically. Instances do not need to explicitly target a Capacity Reservation Fleet to use its reserved capacity.", + "title": "InstanceMatchCriteria", "type": "string" }, - "SecondaryAllocationIds": { + "InstanceTypeSpecifications": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EC2::CapacityReservationFleet.InstanceTypeSpecification" }, - "markdownDescription": "Secondary EIP allocation IDs. For more information, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html) in the *Amazon VPC User Guide* .", - "title": "SecondaryAllocationIds", + "markdownDescription": "Information about the instance types for which to reserve the capacity.", + "title": "InstanceTypeSpecifications", "type": "array" }, - "SecondaryPrivateIpAddressCount": { - "markdownDescription": "[Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon Virtual Private Cloud User Guide* .\n\n`SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be set at the same time.", - "title": "SecondaryPrivateIpAddressCount", - "type": "number" - }, - "SecondaryPrivateIpAddresses": { - "items": { - "type": "string" - }, - "markdownDescription": "Secondary private IPv4 addresses. For more information about secondary addresses, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon Virtual Private Cloud User Guide* .\n\n`SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be set at the same time.", - "title": "SecondaryPrivateIpAddresses", - "type": "array" + "NoRemoveEndDate": { + "markdownDescription": "Used to add an end date to a Capacity Reservation Fleet that has no end date and time. To add an end date to a Capacity Reservation Fleet, specify `true` for this paramater and specify the end date and time (in UTC time format) for the *EndDate* parameter.", + "title": "NoRemoveEndDate", + "type": "boolean" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet in which the NAT gateway is located.", - "title": "SubnetId", - "type": "string" + "RemoveEndDate": { + "markdownDescription": "Used to remove an end date from a Capacity Reservation Fleet that is configured to end automatically at a specific date and time. To remove the end date from a Capacity Reservation Fleet, specify `true` for this paramater and omit the *EndDate* parameter.", + "title": "RemoveEndDate", + "type": "boolean" }, - "Tags": { + "TagSpecifications": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::EC2::CapacityReservationFleet.TagSpecification" }, - "markdownDescription": "The tags for the NAT gateway.", - "title": "Tags", + "markdownDescription": "The tags to assign to the Capacity Reservation Fleet. The tags are automatically assigned to the Capacity Reservations in the Fleet.", + "title": "TagSpecifications", "type": "array" }, - "VpcId": { - "markdownDescription": "The ID of the VPC in which the NAT gateway is located.", - "title": "VpcId", + "Tenancy": { + "markdownDescription": "Indicates the tenancy of the Capacity Reservation Fleet. All Capacity Reservations in the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of the following tenancy settings:\n\n- `default` - The Capacity Reservation Fleet is created on hardware that is shared with other AWS accounts .\n- `dedicated` - The Capacity Reservations are created on single-tenant hardware that is dedicated to a single AWS account .", + "title": "Tenancy", "type": "string" + }, + "TotalTargetCapacity": { + "markdownDescription": "The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see [Total target capacity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity) in the *Amazon EC2 User Guide* .", + "title": "TotalTargetCapacity", + "type": "number" } }, "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NatGateway" + "AWS::EC2::CapacityReservationFleet" ], "type": "string" }, @@ -126580,34 +126155,67 @@ ], "type": "object" }, - "AWS::EC2::NatGateway.AvailabilityZoneAddress": { + "AWS::EC2::CapacityReservationFleet.InstanceTypeSpecification": { "additionalProperties": false, "properties": { - "AllocationIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The allocation IDs of the Elastic IP addresses (EIPs) to be used for handling outbound NAT traffic in this specific Availability Zone.", - "title": "AllocationIds", - "type": "array" - }, "AvailabilityZone": { - "markdownDescription": "For regional NAT gateways only: The Availability Zone where this specific NAT gateway configuration will be active. Each AZ in a regional NAT gateway has its own configuration to handle outbound NAT traffic from that AZ.\n\nA regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.", + "markdownDescription": "The Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you specify for the Fleet must use the same Availability Zone.", "title": "AvailabilityZone", "type": "string" }, "AvailabilityZoneId": { - "markdownDescription": "For regional NAT gateways only: The ID of the Availability Zone where this specific NAT gateway configuration will be active. Each AZ in a regional NAT gateway has its own configuration to handle outbound NAT traffic from that AZ. Use this instead of AvailabilityZone for consistent identification of AZs across AWS Regions.\n\nA regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.", + "markdownDescription": "The ID of the Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you specify for the Fleet must use the same Availability Zone.", "title": "AvailabilityZoneId", "type": "string" + }, + "EbsOptimized": { + "markdownDescription": "Indicates whether the Capacity Reservation Fleet supports EBS-optimized instances types. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using EBS-optimized instance types.", + "title": "EbsOptimized", + "type": "boolean" + }, + "InstancePlatform": { + "markdownDescription": "The type of operating system for which the Capacity Reservation Fleet reserves capacity.", + "title": "InstancePlatform", + "type": "string" + }, + "InstanceType": { + "markdownDescription": "The instance type for which the Capacity Reservation Fleet reserves capacity.", + "title": "InstanceType", + "type": "string" + }, + "Priority": { + "markdownDescription": "The priority to assign to the instance type. This value is used to determine which of the instance types specified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more information, see [Instance type priority](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#instance-priority) in the *Amazon EC2 User Guide* .", + "title": "Priority", + "type": "number" + }, + "Weight": { + "markdownDescription": "The number of capacity units provided by the specified instance type. This value, together with the total target capacity that you specify for the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see [Total target capacity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity) in the Amazon EC2 User Guide.\n\nValid Range: Minimum value of `0.001` . Maximum value of `99.999` .", + "title": "Weight", + "type": "number" } }, - "required": [ - "AllocationIds" - ], "type": "object" }, - "AWS::EC2::NetworkAcl": { + "AWS::EC2::CapacityReservationFleet.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "markdownDescription": "The type of resource to tag on creation. Specify `capacity-reservation-fleet` .\n\nTo tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) .", + "title": "ResourceType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::CarrierGateway": { "additionalProperties": false, "properties": { "Condition": { @@ -126646,12 +126254,12 @@ "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the network ACL.", + "markdownDescription": "The tags assigned to the carrier gateway.", "title": "Tags", "type": "array" }, "VpcId": { - "markdownDescription": "The ID of the VPC for the network ACL.", + "markdownDescription": "The ID of the VPC associated with the carrier gateway.", "title": "VpcId", "type": "string" } @@ -126663,7 +126271,7 @@ }, "Type": { "enum": [ - "AWS::EC2::NetworkAcl" + "AWS::EC2::CarrierGateway" ], "type": "string" }, @@ -126682,7 +126290,7 @@ ], "type": "object" }, - "AWS::EC2::NetworkAclEntry": { + "AWS::EC2::ClientVpnAuthorizationRule": { "additionalProperties": false, "properties": { "Condition": { @@ -126717,63 +126325,41 @@ "Properties": { "additionalProperties": false, "properties": { - "CidrBlock": { - "markdownDescription": "The IPv4 CIDR range to allow or deny, in CIDR notation (for example, 172.16.0.0/24). You must specify an IPv4 CIDR block or an IPv6 CIDR block.", - "title": "CidrBlock", + "AccessGroupId": { + "markdownDescription": "The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group. Required if `AuthorizeAllGroups` is `false` or not specified.", + "title": "AccessGroupId", "type": "string" }, - "Egress": { - "markdownDescription": "Whether this rule applies to egress traffic from the subnet ( `true` ) or ingress traffic to the subnet ( `false` ). By default, AWS CloudFormation specifies `false` .", - "title": "Egress", + "AuthorizeAllGroups": { + "markdownDescription": "Indicates whether to grant access to all clients. Specify `true` to grant all clients who successfully establish a VPN connection access to the network. Must be set to `true` if `AccessGroupId` is not specified.", + "title": "AuthorizeAllGroups", "type": "boolean" }, - "Icmp": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp", - "markdownDescription": "The Internet Control Message Protocol (ICMP) code and type. Required if specifying 1 (ICMP) for the protocol parameter.", - "title": "Icmp" - }, - "Ipv6CidrBlock": { - "markdownDescription": "The IPv6 network range to allow or deny, in CIDR notation. You must specify an IPv4 CIDR block or an IPv6 CIDR block.", - "title": "Ipv6CidrBlock", + "ClientVpnEndpointId": { + "markdownDescription": "The ID of the Client VPN endpoint.", + "title": "ClientVpnEndpointId", "type": "string" }, - "NetworkAclId": { - "markdownDescription": "The ID of the ACL for the entry.", - "title": "NetworkAclId", + "Description": { + "markdownDescription": "A brief description of the authorization rule.", + "title": "Description", "type": "string" }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange", - "markdownDescription": "The range of port numbers for the UDP/TCP protocol. Required if specifying 6 (TCP) or 17 (UDP) for the protocol parameter.", - "title": "PortRange" - }, - "Protocol": { - "markdownDescription": "The IP protocol that the rule applies to. You must specify -1 or a protocol number. You can specify -1 for all protocols.\n\n> If you specify -1, all ports are opened and the `PortRange` property is ignored.", - "title": "Protocol", - "type": "number" - }, - "RuleAction": { - "markdownDescription": "Whether to allow or deny traffic that matches the rule; valid values are \"allow\" or \"deny\".", - "title": "RuleAction", + "TargetNetworkCidr": { + "markdownDescription": "The IPv4 address range, in CIDR notation, of the network for which access is being authorized.", + "title": "TargetNetworkCidr", "type": "string" - }, - "RuleNumber": { - "markdownDescription": "Rule number to assign to the entry, such as 100. ACL entries are processed in ascending order by rule number. Entries can't use the same rule number unless one is an egress rule and the other is an ingress rule.", - "title": "RuleNumber", - "type": "number" } }, "required": [ - "NetworkAclId", - "Protocol", - "RuleAction", - "RuleNumber" + "ClientVpnEndpointId", + "TargetNetworkCidr" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkAclEntry" + "AWS::EC2::ClientVpnAuthorizationRule" ], "type": "string" }, @@ -126792,39 +126378,7 @@ ], "type": "object" }, - "AWS::EC2::NetworkAclEntry.Icmp": { - "additionalProperties": false, - "properties": { - "Code": { - "markdownDescription": "The Internet Control Message Protocol (ICMP) code. You can use -1 to specify all ICMP codes for the given ICMP type. Required if you specify 1 (ICMP) for the protocol parameter.", - "title": "Code", - "type": "number" - }, - "Type": { - "markdownDescription": "The Internet Control Message Protocol (ICMP) type. You can use -1 to specify all ICMP types. Conditional requirement: Required if you specify 1 (ICMP) for the `CreateNetworkAclEntry` protocol parameter.", - "title": "Type", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkAclEntry.PortRange": { - "additionalProperties": false, - "properties": { - "From": { - "markdownDescription": "The first port in the range. Required if you specify 6 (TCP) or 17 (UDP) for the protocol parameter.", - "title": "From", - "type": "number" - }, - "To": { - "markdownDescription": "The last port in the range. Required if you specify 6 (TCP) or 17 (UDP) for the protocol parameter.", - "title": "To", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAccessScope": { + "AWS::EC2::ClientVpnEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -126859,36 +126413,132 @@ "Properties": { "additionalProperties": false, "properties": { - "ExcludePaths": { + "AuthenticationOptions": { "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest" + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" }, - "markdownDescription": "The paths to exclude.", - "title": "ExcludePaths", + "markdownDescription": "Information about the authentication method to be used to authenticate clients.", + "title": "AuthenticationOptions", "type": "array" }, - "MatchPaths": { + "ClientCidrBlock": { + "markdownDescription": "The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12.", + "title": "ClientCidrBlock", + "type": "string" + }, + "ClientConnectOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions", + "markdownDescription": "The options for managing connection authorization for new client connections.", + "title": "ClientConnectOptions" + }, + "ClientLoginBannerOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientLoginBannerOptions", + "markdownDescription": "Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established.", + "title": "ClientLoginBannerOptions" + }, + "ClientRouteEnforcementOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientRouteEnforcementOptions", + "markdownDescription": "Client route enforcement is a feature of the Client VPN service that helps enforce administrator defined routes on devices connected through the VPN. T his feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel.\n\nClient route enforcement works by monitoring the route table of a connected device for routing policy changes to the VPN connection. If the feature detects any VPN routing policy modifications, it will automatically force an update to the route table, reverting it back to the expected route configurations.", + "title": "ClientRouteEnforcementOptions" + }, + "ConnectionLogOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions", + "markdownDescription": "Information about the client connection logging options.\n\nIf you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged:\n\n- Client connection requests\n- Client connection results (successful and unsuccessful)\n- Reasons for unsuccessful client connection requests\n- Client connection termination time", + "title": "ConnectionLogOptions" + }, + "Description": { + "markdownDescription": "A brief description of the Client VPN endpoint.", + "title": "Description", + "type": "string" + }, + "DisconnectOnSessionTimeout": { + "markdownDescription": "Indicates whether the client VPN session is disconnected after the maximum `sessionTimeoutHours` is reached. If `true` , users are prompted to reconnect client VPN. If `false` , client VPN attempts to reconnect automatically. The default value is `true` .", + "title": "DisconnectOnSessionTimeout", + "type": "boolean" + }, + "DnsServers": { "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest" + "type": "string" }, - "markdownDescription": "The paths to match.", - "title": "MatchPaths", + "markdownDescription": "Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.", + "title": "DnsServers", "type": "array" }, - "Tags": { + "EndpointIpAddressType": { + "markdownDescription": "The IP address type of the Client VPN endpoint. Possible values are `ipv4` for IPv4 addressing only, `ipv6` for IPv6 addressing only, or `dual-stack` for both IPv4 and IPv6 addressing.", + "title": "EndpointIpAddressType", + "type": "string" + }, + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The tags.", - "title": "Tags", + "markdownDescription": "The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.", + "title": "SecurityGroupIds", + "type": "array" + }, + "SelfServicePortal": { + "markdownDescription": "Specify whether to enable the self-service portal for the Client VPN endpoint.\n\nDefault Value: `enabled`", + "title": "SelfServicePortal", + "type": "string" + }, + "ServerCertificateArn": { + "markdownDescription": "The ARN of the server certificate. For more information, see the [Certificate Manager User Guide](https://docs.aws.amazon.com/acm/latest/userguide/) .", + "title": "ServerCertificateArn", + "type": "string" + }, + "SessionTimeoutHours": { + "markdownDescription": "The maximum VPN session duration time in hours.\n\nValid values: `8 | 10 | 12 | 24`\n\nDefault value: `24`", + "title": "SessionTimeoutHours", + "type": "number" + }, + "SplitTunnel": { + "markdownDescription": "Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.\n\nBy default, split-tunnel on a VPN endpoint is disabled.\n\nFor information about split-tunnel VPN endpoints, see [Split-tunnel AWS Client VPN endpoint](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html) in the *AWS Client VPN Administrator Guide* .", + "title": "SplitTunnel", + "type": "boolean" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" + }, + "markdownDescription": "The tags to apply to the Client VPN endpoint during creation.", + "title": "TagSpecifications", "type": "array" + }, + "TrafficIpAddressType": { + "markdownDescription": "The IP address type of the Client VPN endpoint. Possible values are either `ipv4` for IPv4 addressing only, `ipv6` for IPv6 addressing only, or `dual-stack` for both IPv4 and IPv6 addressing.", + "title": "TrafficIpAddressType", + "type": "string" + }, + "TransitGatewayConfiguration": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TransitGatewayConfiguration" + }, + "TransportProtocol": { + "markdownDescription": "The transport protocol to be used by the VPN session.\n\nDefault value: `udp`", + "title": "TransportProtocol", + "type": "string" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.", + "title": "VpcId", + "type": "string" + }, + "VpnPort": { + "markdownDescription": "The port number to assign to the Client VPN endpoint for TCP and UDP traffic.\n\nValid Values: `443` | `1194`\n\nDefault Value: `443`", + "title": "VpnPort", + "type": "number" } }, + "required": [ + "AuthenticationOptions", + "ConnectionLogOptions", + "ServerCertificateArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInsightsAccessScope" + "AWS::EC2::ClientVpnEndpoint" ], "type": "string" }, @@ -126902,146 +126552,291 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest": { + "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest", - "markdownDescription": "The destination.", - "title": "Destination" + "ClientRootCertificateChainArn": { + "markdownDescription": "The ARN of the client certificate. The certificate must be signed by a certificate authority (CA) and it must be provisioned in Certificate Manager (ACM).", + "title": "ClientRootCertificateChainArn", + "type": "string" + } + }, + "required": [ + "ClientRootCertificateChainArn" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "ActiveDirectory": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest", + "markdownDescription": "Information about the Active Directory to be used, if applicable. You must provide this information if *Type* is `directory-service-authentication` .", + "title": "ActiveDirectory" }, - "Source": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest", - "markdownDescription": "The source.", - "title": "Source" + "FederatedAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest", + "markdownDescription": "Information about the IAM SAML identity provider, if applicable.", + "title": "FederatedAuthentication" }, - "ThroughResources": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ThroughResourcesStatementRequest" - }, - "markdownDescription": "The through resources.", - "title": "ThroughResources", - "type": "array" + "MutualAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest", + "markdownDescription": "Information about the authentication certificates to be used, if applicable. You must provide this information if *Type* is `certificate-authentication` .", + "title": "MutualAuthentication" + }, + "Type": { + "markdownDescription": "The type of client authentication to be used.", + "title": "Type", + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::EC2::NetworkInsightsAccessScope.PacketHeaderStatementRequest": { + "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { "additionalProperties": false, "properties": { - "DestinationAddresses": { - "items": { - "type": "string" - }, - "markdownDescription": "The destination addresses.", - "title": "DestinationAddresses", - "type": "array" - }, - "DestinationPorts": { - "items": { - "type": "string" - }, - "markdownDescription": "The destination ports.", - "title": "DestinationPorts", - "type": "array" + "Enabled": { + "markdownDescription": "Indicates whether client connect options are enabled. The default is `false` (not enabled).", + "title": "Enabled", + "type": "boolean" }, - "DestinationPrefixLists": { - "items": { - "type": "string" - }, - "markdownDescription": "The destination prefix lists.", - "title": "DestinationPrefixLists", - "type": "array" + "LambdaFunctionArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Lambda function used for connection authorization.", + "title": "LambdaFunctionArn", + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ClientLoginBannerOptions": { + "additionalProperties": false, + "properties": { + "BannerText": { + "markdownDescription": "Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters.", + "title": "BannerText", + "type": "string" }, - "Protocols": { - "items": { - "type": "string" - }, - "markdownDescription": "The protocols.", - "title": "Protocols", - "type": "array" + "Enabled": { + "markdownDescription": "Enable or disable a customizable text banner that will be displayed on AWS provided clients when a VPN session is established.\n\nValid values: `true | false`\n\nDefault value: `false`", + "title": "Enabled", + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ClientRouteEnforcementOptions": { + "additionalProperties": false, + "properties": { + "Enforced": { + "markdownDescription": "Enable or disable Client Route Enforcement. The state can either be `true` (enabled) or `false` (disabled). The default is `false` .\n\nValid values: `true | false`\n\nDefault value: `false`", + "title": "Enforced", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { + "additionalProperties": false, + "properties": { + "CloudwatchLogGroup": { + "markdownDescription": "The name of the CloudWatch Logs log group. Required if connection logging is enabled.", + "title": "CloudwatchLogGroup", + "type": "string" }, - "SourceAddresses": { - "items": { - "type": "string" - }, - "markdownDescription": "The source addresses.", - "title": "SourceAddresses", - "type": "array" + "CloudwatchLogStream": { + "markdownDescription": "The name of the CloudWatch Logs log stream to which the connection data is published.", + "title": "CloudwatchLogStream", + "type": "string" }, - "SourcePorts": { - "items": { - "type": "string" - }, - "markdownDescription": "The source ports.", - "title": "SourcePorts", - "type": "array" + "Enabled": { + "markdownDescription": "Indicates whether connection logging is enabled.", + "title": "Enabled", + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "DirectoryId": { + "markdownDescription": "The ID of the Active Directory to be used for authentication.", + "title": "DirectoryId", + "type": "string" + } + }, + "required": [ + "DirectoryId" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "SAMLProviderArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM SAML identity provider.", + "title": "SAMLProviderArn", + "type": "string" }, - "SourcePrefixLists": { - "items": { - "type": "string" - }, - "markdownDescription": "The source prefix lists.", - "title": "SourcePrefixLists", - "type": "array" + "SelfServiceSAMLProviderArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.", + "title": "SelfServiceSAMLProviderArn", + "type": "string" } }, + "required": [ + "SAMLProviderArn" + ], "type": "object" }, - "AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest": { + "AWS::EC2::ClientVpnEndpoint.TagSpecification": { "additionalProperties": false, "properties": { - "PacketHeaderStatement": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PacketHeaderStatementRequest", - "markdownDescription": "The packet header statement.", - "title": "PacketHeaderStatement" + "ResourceType": { + "markdownDescription": "The type of resource to tag. To tag a Client VPN endpoint, `ResourceType` must be `client-vpn-endpoint` .", + "title": "ResourceType", + "type": "string" }, - "ResourceStatement": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest", - "markdownDescription": "The resource statement.", - "title": "ResourceStatement" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the resource.", + "title": "Tags", + "type": "array" } }, + "required": [ + "ResourceType", + "Tags" + ], "type": "object" }, - "AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest": { + "AWS::EC2::ClientVpnEndpoint.TransitGatewayConfiguration": { "additionalProperties": false, "properties": { - "ResourceTypes": { + "AvailabilityZoneIds": { "items": { "type": "string" }, - "markdownDescription": "The resource types.", - "title": "ResourceTypes", "type": "array" }, - "Resources": { + "AvailabilityZones": { "items": { "type": "string" }, - "markdownDescription": "The resources.", - "title": "Resources", "type": "array" + }, + "TransitGatewayId": { + "type": "string" } }, + "required": [ + "TransitGatewayId" + ], "type": "object" }, - "AWS::EC2::NetworkInsightsAccessScope.ThroughResourcesStatementRequest": { + "AWS::EC2::ClientVpnRoute": { "additionalProperties": false, "properties": { - "ResourceStatement": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest", - "markdownDescription": "The resource statement.", - "title": "ResourceStatement" + "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": { + "ClientVpnEndpointId": { + "markdownDescription": "The ID of the Client VPN endpoint to which to add the route.", + "title": "ClientVpnEndpointId", + "type": "string" + }, + "Description": { + "markdownDescription": "A brief description of the route.", + "title": "Description", + "type": "string" + }, + "DestinationCidrBlock": { + "markdownDescription": "The IPv4 address range, in CIDR notation, of the route destination. For example:\n\n- To add a route for Internet access, enter `0.0.0.0/0`\n- To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range\n- To add a route for an on-premises network, enter the AWS Site-to-Site VPN connection's IPv4 CIDR range\n- To add a route for the local network, enter the client CIDR range", + "title": "DestinationCidrBlock", + "type": "string" + }, + "TargetVpcSubnetId": { + "markdownDescription": "The ID of the subnet through which you want to route traffic. The specified subnet must be an existing target network of the Client VPN endpoint.\n\nAlternatively, if you're adding a route for the local network, specify `local` .", + "title": "TargetVpcSubnetId", + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId", + "DestinationCidrBlock" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::NetworkInsightsAccessScopeAnalysis": { + "AWS::EC2::ClientVpnTargetNetworkAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -127076,28 +126871,132 @@ "Properties": { "additionalProperties": false, "properties": { - "NetworkInsightsAccessScopeId": { - "markdownDescription": "The ID of the Network Access Scope.", - "title": "NetworkInsightsAccessScopeId", + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneId": { + "type": "string" + }, + "ClientVpnEndpointId": { + "markdownDescription": "The ID of the Client VPN endpoint.", + "title": "ClientVpnEndpointId", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet to associate with the Client VPN endpoint.", + "title": "SubnetId", + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnTargetNetworkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::CustomerGateway": { + "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": { + "BgpAsn": { + "markdownDescription": "For customer gateway devices that support BGP, specify the device's ASN. You must specify either `BgpAsn` or `BgpAsnExtended` when creating the customer gateway. If the ASN is larger than `2,147,483,647` , you must use `BgpAsnExtended` .\n\nDefault: 65000\n\nValid values: `1` to `2,147,483,647`", + "title": "BgpAsn", + "type": "number" + }, + "BgpAsnExtended": { + "markdownDescription": "For customer gateway devices that support BGP, specify the device's ASN. You must specify either `BgpAsn` or `BgpAsnExtended` when creating the customer gateway. If the ASN is larger than `2,147,483,647` , you must use `BgpAsnExtended` .\n\nValid values: `2,147,483,648` to `4,294,967,295`", + "title": "BgpAsnExtended", + "type": "number" + }, + "CertificateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the customer gateway certificate.", + "title": "CertificateArn", + "type": "string" + }, + "DeviceName": { + "markdownDescription": "The name of customer gateway device.", + "title": "DeviceName", + "type": "string" + }, + "IpAddress": { + "markdownDescription": "The IP address for the customer gateway device's outside interface. The address must be static. If `OutsideIpAddressType` in your VPN connection options is set to `PrivateIpv4` , you can use an RFC6598 or RFC1918 private IPv4 address. If `OutsideIpAddressType` is set to `Ipv6` , you can use an IPv6 address.", + "title": "IpAddress", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags.", + "markdownDescription": "One or more tags for the customer gateway.", "title": "Tags", "type": "array" + }, + "Type": { + "markdownDescription": "The type of VPN connection that this customer gateway supports ( `ipsec.1` ).", + "title": "Type", + "type": "string" } }, "required": [ - "NetworkInsightsAccessScopeId" + "IpAddress", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInsightsAccessScopeAnalysis" + "AWS::EC2::CustomerGateway" ], "type": "string" }, @@ -127116,7 +127015,7 @@ ], "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis": { + "AWS::EC2::DHCPOptions": { "additionalProperties": false, "properties": { "Condition": { @@ -127151,52 +127050,59 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalAccounts": { + "DomainName": { + "markdownDescription": "This value is used to complete unqualified DNS hostnames. If you're using AmazonProvidedDNS in `us-east-1` , specify `ec2.internal` . If you're using AmazonProvidedDNS in another Region, specify *region* . `compute.internal` (for example, `ap-northeast-1.compute.internal` ). Otherwise, specify a domain name (for example, *MyCompany.com* ).", + "title": "DomainName", + "type": "string" + }, + "DomainNameServers": { "items": { "type": "string" }, - "markdownDescription": "The member accounts that contain resources that the path can traverse.", - "title": "AdditionalAccounts", + "markdownDescription": "The IPv4 addresses of up to four domain name servers, or `AmazonProvidedDNS` . The default is `AmazonProvidedDNS` . To have your instance receive a custom DNS hostname as specified in `DomainName` , you must set this property to a custom DNS server.", + "title": "DomainNameServers", "type": "array" }, - "FilterInArns": { + "Ipv6AddressPreferredLeaseTime": { + "markdownDescription": "A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.", + "title": "Ipv6AddressPreferredLeaseTime", + "type": "number" + }, + "NetbiosNameServers": { "items": { "type": "string" }, - "markdownDescription": "The Amazon Resource Names (ARN) of the resources that the path must traverse.", - "title": "FilterInArns", + "markdownDescription": "The IPv4 addresses of up to four NetBIOS name servers.", + "title": "NetbiosNameServers", "type": "array" }, - "FilterOutArns": { + "NetbiosNodeType": { + "markdownDescription": "The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported).", + "title": "NetbiosNodeType", + "type": "number" + }, + "NtpServers": { "items": { "type": "string" }, - "markdownDescription": "The Amazon Resource Names (ARN) of the resources that the path must ignore.", - "title": "FilterOutArns", + "markdownDescription": "The IPv4 addresses of up to four Network Time Protocol (NTP) servers.", + "title": "NtpServers", "type": "array" }, - "NetworkInsightsPathId": { - "markdownDescription": "The ID of the path.", - "title": "NetworkInsightsPathId", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to apply.", + "markdownDescription": "Any tags assigned to the DHCP options set.", "title": "Tags", "type": "array" } }, - "required": [ - "NetworkInsightsPathId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInsightsAnalysis" + "AWS::EC2::DHCPOptions" ], "type": "string" }, @@ -127210,727 +127116,1075 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AdditionalDetail": { + "AWS::EC2::EC2Fleet": { "additionalProperties": false, "properties": { - "AdditionalDetailType": { - "markdownDescription": "The additional detail code.", - "title": "AdditionalDetailType", + "Condition": { "type": "string" }, - "Component": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The path component.", - "title": "Component" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "markdownDescription": "The load balancers.", - "title": "LoadBalancers", - "type": "array" - }, - "ServiceName": { - "markdownDescription": "The name of the VPC endpoint service.", - "title": "ServiceName", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the component.", - "title": "ComponentArn", + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Context": { + "markdownDescription": "Reserved.", + "title": "Context", + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "markdownDescription": "Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.\n\nSupported only for fleets of type `maintain` .", + "title": "ExcessCapacityTerminationPolicy", + "type": "string" + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest" + }, + "markdownDescription": "The configuration for the EC2 Fleet.", + "title": "LaunchTemplateConfigs", + "type": "array" + }, + "OnDemandOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.OnDemandOptionsRequest", + "markdownDescription": "Describes the configuration of On-Demand Instances in an EC2 Fleet.", + "title": "OnDemandOptions" + }, + "ReplaceUnhealthyInstances": { + "markdownDescription": "Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for fleets of type `maintain` . For more information, see [EC2 Fleet health checks](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks) in the *Amazon EC2 User Guide* .", + "title": "ReplaceUnhealthyInstances", + "type": "boolean" + }, + "ReservedCapacityOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.ReservedCapacityOptionsRequest" + }, + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.SpotOptionsRequest", + "markdownDescription": "Describes the configuration of Spot Instances in an EC2 Fleet.", + "title": "SpotOptions" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagSpecification" + }, + "markdownDescription": "The key-value pair for tagging the EC2 Fleet request on creation. For more information, see [Tag your resources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources) .\n\nIf the fleet type is `instant` , specify a resource type of `fleet` to tag the fleet or `instance` to tag the instances at launch.\n\nIf the fleet type is `maintain` or `request` , specify a resource type of `fleet` to tag the fleet. You cannot specify a resource type of `instance` . To tag instances at launch, specify the tags in a [launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template) .", + "title": "TagSpecifications", + "type": "array" + }, + "TargetCapacitySpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest", + "markdownDescription": "The number of units to request.", + "title": "TargetCapacitySpecification" + }, + "TerminateInstancesWithExpiration": { + "markdownDescription": "Indicates whether running instances should be terminated when the EC2 Fleet expires.", + "title": "TerminateInstancesWithExpiration", + "type": "boolean" + }, + "Type": { + "markdownDescription": "The fleet type. The default value is `maintain` .\n\n- `maintain` - The EC2 Fleet places an asynchronous request for your desired capacity, and continues to maintain your desired Spot capacity by replenishing interrupted Spot Instances.\n- `request` - The EC2 Fleet places an asynchronous one-time request for your desired capacity, but does submit Spot requests in alternative capacity pools if Spot capacity is unavailable, and does not maintain Spot capacity if Spot Instances are interrupted.\n- `instant` - The EC2 Fleet places a synchronous one-time request for your desired capacity, and returns errors for any instances that could not be launched.\n\nFor more information, see [EC2 Fleet request types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-request-type.html) in the *Amazon EC2 User Guide* .", + "title": "Type", + "type": "string" + }, + "ValidFrom": { + "markdownDescription": "The start date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). The default is to start fulfilling the request immediately.", + "title": "ValidFrom", + "type": "string" + }, + "ValidUntil": { + "markdownDescription": "The end date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.", + "title": "ValidUntil", + "type": "string" + } + }, + "required": [ + "LaunchTemplateConfigs", + "TargetCapacitySpecification" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EC2Fleet" + ], "type": "string" }, - "ComponentId": { - "markdownDescription": "The ID of the component.", - "title": "ComponentId", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { + "AWS::EC2::EC2Fleet.AcceleratorCountRequest": { "additionalProperties": false, "properties": { - "Cidr": { - "markdownDescription": "The IPv4 address range, in CIDR notation.", - "title": "Cidr", - "type": "string" - }, - "Egress": { - "markdownDescription": "Indicates whether the rule is an outbound rule.", - "title": "Egress", - "type": "boolean" - }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange", - "markdownDescription": "The range of ports.", - "title": "PortRange" - }, - "Protocol": { - "markdownDescription": "The protocol.", - "title": "Protocol", - "type": "string" - }, - "RuleAction": { - "markdownDescription": "Indicates whether to allow or deny traffic that matches the rule.", - "title": "RuleAction", - "type": "string" + "Max": { + "markdownDescription": "The maximum number of accelerators. To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` .", + "title": "Max", + "type": "number" }, - "RuleNumber": { - "markdownDescription": "The rule number.", - "title": "RuleNumber", + "Min": { + "markdownDescription": "The minimum number of accelerators. To specify no minimum limit, omit this parameter.", + "title": "Min", "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { + "AWS::EC2::EC2Fleet.AcceleratorTotalMemoryMiBRequest": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the component.", - "title": "Arn", - "type": "string" + "Max": { + "markdownDescription": "The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" }, - "Id": { - "markdownDescription": "The ID of the component.", - "title": "Id", - "type": "string" + "Min": { + "markdownDescription": "The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { + "AWS::EC2::EC2Fleet.BaselineEbsBandwidthMbpsRequest": { "additionalProperties": false, "properties": { - "InstancePort": { - "markdownDescription": "[Classic Load Balancers] The back-end port for the listener.", - "title": "InstancePort", + "Max": { + "markdownDescription": "The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.", + "title": "Max", "type": "number" }, - "LoadBalancerPort": { - "markdownDescription": "The port on which the load balancer is listening.", - "title": "LoadBalancerPort", + "Min": { + "markdownDescription": "The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.", + "title": "Min", "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { + "AWS::EC2::EC2Fleet.BaselinePerformanceFactorsRequest": { "additionalProperties": false, "properties": { - "Address": { - "markdownDescription": "The IP address.", - "title": "Address", + "Cpu": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CpuPerformanceFactorRequest", + "markdownDescription": "The CPU performance to consider, using an instance family as the baseline reference.", + "title": "Cpu" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "markdownDescription": "The device name. For available device names, see [Device names for volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html) .", + "title": "DeviceName", "type": "string" }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone.", - "title": "AvailabilityZone", + "Ebs": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.EbsBlockDevice", + "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.", + "title": "Ebs" + }, + "NoDevice": { + "markdownDescription": "To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.", + "title": "NoDevice", "type": "string" }, - "Instance": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "Information about the instance.", - "title": "Instance" + "VirtualName": { + "markdownDescription": "The virtual device name ( `ephemeral` N). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for `ephemeral0` and `ephemeral1` . The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.\n\nNVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.\n\nConstraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.", + "title": "VirtualName", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.CapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "markdownDescription": "The replacement strategy to use. Only available for fleets of type `maintain` .\n\n`launch` - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.\n\n`launch-before-terminate` - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in `TerminationDelay` ), terminates the instances that received a rebalance notification.", + "title": "ReplacementStrategy", + "type": "string" }, - "Port": { - "markdownDescription": "The port on which the target is listening.", - "title": "Port", + "TerminationDelay": { + "markdownDescription": "The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.\n\nRequired when `ReplacementStrategy` is set to `launch-before-terminate` .\n\nNot valid when `ReplacementStrategy` is set to `launch` .\n\nValid values: Minimum value of `120` seconds. Maximum value of `7200` seconds.", + "title": "TerminationDelay", "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { + "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { "additionalProperties": false, "properties": { - "DestinationAddresses": { + "UsageStrategy": { + "markdownDescription": "Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.\n\nIf you specify `use-capacity-reservations-first` , the fleet uses unused Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If multiple instance pools have unused Capacity Reservations, the On-Demand allocation strategy ( `lowest-price` or `prioritized` ) is applied. If the number of unused Capacity Reservations is less than the On-Demand target capacity, the remaining On-Demand target capacity is launched according to the On-Demand allocation strategy ( `lowest-price` or `prioritized` ).\n\nIf you do not specify a value, the fleet fulfils the On-Demand capacity according to the chosen On-Demand allocation strategy.", + "title": "UsageStrategy", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.CapacityReservationTargetRequest": { + "additionalProperties": false, + "properties": { + "CapacityReservationIds": { "items": { "type": "string" }, - "markdownDescription": "The destination addresses.", - "title": "DestinationAddresses", - "type": "array" - }, - "DestinationPortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "markdownDescription": "The destination port ranges.", - "title": "DestinationPortRanges", "type": "array" }, - "Protocol": { - "markdownDescription": "The protocol.", - "title": "Protocol", - "type": "string" - }, - "SourceAddresses": { + "CapacityReservationResourceGroupArns": { "items": { "type": "string" }, - "markdownDescription": "The source addresses.", - "title": "SourceAddresses", "type": "array" - }, - "SourcePortRanges": { + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + "$ref": "#/definitions/AWS::EC2::EC2Fleet.PerformanceFactorReferenceRequest" }, - "markdownDescription": "The source port ranges.", - "title": "SourcePortRanges", + "markdownDescription": "Specify an instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.\n\n> Currently, only one instance family can be specified in the list.", + "title": "References", "type": "array" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { + "AWS::EC2::EC2Fleet.EbsBlockDevice": { "additionalProperties": false, "properties": { - "NatGatewayId": { - "markdownDescription": "The ID of a NAT gateway.", - "title": "NatGatewayId", - "type": "string" + "DeleteOnTermination": { + "markdownDescription": "Indicates whether the EBS volume is deleted on instance termination. For more information, see [Preserving Amazon EBS volumes on instance termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) in the *Amazon EC2 User Guide* .", + "title": "DeleteOnTermination", + "type": "boolean" }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of a network interface.", - "title": "NetworkInterfaceId", - "type": "string" + "Encrypted": { + "markdownDescription": "Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Amazon EBS encryption](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html#encryption-parameters) in the *Amazon EBS User Guide* .\n\nIn no case can you remove encryption from an encrypted volume.\n\nEncrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances) .\n\n- If you are creating a block device mapping for a *new (empty) volume* , you can include this parameter, and specify either `true` for an encrypted volume, or `false` for an unencrypted volume. If you omit this parameter, it defaults to `false` (unencrypted).\n- If you are creating a block device mapping from an *existing encrypted or unencrypted snapshot* , you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.\n- If you are creating a block device mapping from an *existing unencrypted volume* , you can include this parameter, but you must specify `false` . If you specify `true` , the request will fail. In this case, we recommend that you omit the parameter.\n- If you are creating a block device mapping from an *existing encrypted volume* , you can include this parameter, and specify either `true` or `false` . However, if you specify `false` , the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.", + "title": "Encrypted", + "type": "boolean" }, - "Origin": { - "markdownDescription": "Describes how the route was created. The following are the possible values:\n\n- CreateRouteTable - The route was automatically created when the route table was created.\n- CreateRoute - The route was manually added to the route table.\n- EnableVgwRoutePropagation - The route was propagated by route propagation.", - "title": "Origin", + "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 - 80,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nFor `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . On other instances, you can achieve performance up to 32,000 IOPS.\n\nThis parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS.", + "title": "Iops", + "type": "number" + }, + "KmsKeyId": { + "markdownDescription": "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.\n\nThis parameter is only supported on `BlockDeviceMapping` objects called by [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) , [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) , and [RequestSpotInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html) .", + "title": "KmsKeyId", "type": "string" }, - "State": { - "markdownDescription": "The state. The following are the possible values:\n\n- active\n- blackhole", - "title": "State", + "MultiAvailabilityZoneConfiguration": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.MultiAvailabilityZoneConfiguration" + }, + "SnapshotId": { + "markdownDescription": "The ID of the snapshot.", + "title": "SnapshotId", "type": "string" }, - "TransitGatewayId": { - "markdownDescription": "The ID of a transit gateway.", - "title": "TransitGatewayId", + "VolumeSize": { + "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.\n\nThe following are the supported sizes for each volume type:\n\n- `gp2` : 1 - 16,384 GiB\n- `gp3` : 1 - 65,536 GiB\n- `io1` : 4 - 16,384 GiB\n- `io2` : 4 - 65,536 GiB\n- `st1` and `sc1` : 125 - 16,384 GiB\n- `standard` : 1 - 1024 GiB", + "title": "VolumeSize", + "type": "number" + }, + "VolumeType": { + "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .", + "title": "VolumeType", "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest", + "markdownDescription": "The launch template to use. You must specify either the launch template ID or launch template name in the request.", + "title": "LaunchTemplateSpecification" }, - "VpcPeeringConnectionId": { - "markdownDescription": "The ID of a VPC peering connection.", - "title": "VpcPeeringConnectionId", + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" + }, + "markdownDescription": "Any parameters that you specify override the same parameters in the launch template.\n\nFor fleets of type `request` and `maintain` , a maximum of 300 items is allowed across all launch templates.", + "title": "Overrides", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "markdownDescription": "The Availability Zone in which to launch the instances. For example, `us-east-2a` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", + "title": "AvailabilityZone", "type": "string" }, - "destinationCidr": { - "markdownDescription": "The destination IPv4 address, in CIDR notation.", - "title": "destinationCidr", + "AvailabilityZoneId": { + "markdownDescription": "The ID of the Availability Zone in which to launch the instances. For example, `use2-az1` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", + "title": "AvailabilityZoneId", "type": "string" }, - "destinationPrefixListId": { - "markdownDescription": "The prefix of the AWS service.", - "title": "destinationPrefixListId", + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.BlockDeviceMapping" + }, + "markdownDescription": "The block device mappings, which define the EBS volumes and instance store volumes to attach to the instance at launch.\n\nSupported only for fleets of type `instant` .\n\nFor more information, see [Block device mappings for volumes on Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) in the *Amazon EC2 User Guide* .", + "title": "BlockDeviceMappings", + "type": "array" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.IamInstanceProfileSpecification" + }, + "InstanceRequirements": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.InstanceRequirementsRequest", + "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .", + "title": "InstanceRequirements" + }, + "InstanceType": { + "markdownDescription": "The instance type.\n\n`mac1.metal` is not supported as a launch template override.\n\n> If you specify `InstanceType` , you can't specify `InstanceRequirements` .", + "title": "InstanceType", "type": "string" }, - "egressOnlyInternetGatewayId": { - "markdownDescription": "The ID of an egress-only internet gateway.", - "title": "egressOnlyInternetGatewayId", + "KeyName": { "type": "string" }, - "gatewayId": { - "markdownDescription": "The ID of the gateway, such as an internet gateway or virtual private gateway.", - "title": "gatewayId", + "MaxPrice": { + "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.\n> \n> If you specify a maximum price, it must be more than USD $0.001. Specifying a value below USD $0.001 will result in an `InvalidParameterValue` error message.", + "title": "MaxPrice", "type": "string" }, - "instanceId": { - "markdownDescription": "The ID of the instance, such as a NAT instance.", - "title": "instanceId", + "MetadataOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.InstanceMetadataOptionsRequest" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.NetworkInterfaceSpecificationRequest" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement", + "markdownDescription": "The location where the instance launched, if applicable.", + "title": "Placement" + }, + "Priority": { + "markdownDescription": "The priority for the launch template override. The highest priority is launched first.\n\nIf the On-Demand `AllocationStrategy` is set to `prioritized` , EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.\n\nIf the Spot `AllocationStrategy` is set to `capacity-optimized-prioritized` , EC2 Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.\n\nValid values are whole numbers starting at `0` . The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.", + "title": "Priority", + "type": "number" + }, + "SubnetId": { + "markdownDescription": "The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, `subnet-1234abcdeexample1, subnet-0987cdef6example2` ). A request of type `instant` can have only one subnet ID.", + "title": "SubnetId", "type": "string" + }, + "WeightedCapacity": { + "markdownDescription": "The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.\n\nIf the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.\n\n> When specifying weights, the price used in the `lowest-price` and `price-capacity-optimized` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested `TargetCapacity` , resulting in only 1 instance being launched, the price used is per *instance* hour.", + "title": "WeightedCapacity", + "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { + "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { "additionalProperties": false, "properties": { - "Cidr": { - "markdownDescription": "The IPv4 address range, in CIDR notation.", - "title": "Cidr", + "LaunchTemplateId": { + "markdownDescription": "The ID of the launch template.\n\nYou must specify the `LaunchTemplateId` or the `LaunchTemplateName` , but not both.", + "title": "LaunchTemplateId", "type": "string" }, - "Direction": { - "markdownDescription": "The direction. The following are the possible values:\n\n- egress\n- ingress", - "title": "Direction", + "LaunchTemplateName": { + "markdownDescription": "The name of the launch template.\n\nYou must specify the `LaunchTemplateName` or the `LaunchTemplateId` , but not both.", + "title": "LaunchTemplateName", "type": "string" }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange", - "markdownDescription": "The port range.", - "title": "PortRange" - }, - "PrefixListId": { - "markdownDescription": "The prefix list ID.", - "title": "PrefixListId", + "LaunchTemplateSpecificationUserData": { "type": "string" }, - "Protocol": { - "markdownDescription": "The protocol name.", - "title": "Protocol", + "Version": { + "markdownDescription": "The launch template version number, `$Latest` , or `$Default` . You must specify a value, otherwise the request fails.\n\nIf the value is `$Latest` , Amazon EC2 uses the latest version of the launch template.\n\nIf the value is `$Default` , Amazon EC2 uses the default version of the launch template.", + "title": "Version", + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::EC2Fleet.IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { "type": "string" }, - "SecurityGroupId": { - "markdownDescription": "The security group ID.", - "title": "SecurityGroupId", + "Name": { "type": "string" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.Explanation": { + "AWS::EC2::EC2Fleet.InstanceMetadataOptionsRequest": { "additionalProperties": false, "properties": { - "Acl": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The network ACL.", - "title": "Acl" + "HttpEndpoint": { + "type": "string" }, - "AclRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule", - "markdownDescription": "The network ACL rule.", - "title": "AclRule" + "HttpPutResponseHopLimit": { + "type": "number" }, - "Address": { - "markdownDescription": "The IPv4 address, in CIDR notation.", - "title": "Address", + "HttpTokens": { "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.AcceleratorCountRequest", + "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n\nTo exclude accelerator-enabled instance types, set `Max` to `0` .\n\nDefault: No minimum or maximum limits", + "title": "AcceleratorCount" }, - "Addresses": { + "AcceleratorManufacturers": { "items": { "type": "string" }, - "markdownDescription": "The IPv4 addresses, in CIDR notation.", - "title": "Addresses", + "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n\n- For instance types with AWS devices, specify `amazon-web-services` .\n- For instance types with AMD devices, specify `amd` .\n- For instance types with Habana devices, specify `habana` .\n- For instance types with NVIDIA devices, specify `nvidia` .\n- For instance types with Xilinx devices, specify `xilinx` .\n\nDefault: Any manufacturer", + "title": "AcceleratorManufacturers", "type": "array" }, - "AttachedTo": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The resource to which the component is attached.", - "title": "AttachedTo" - }, - "AvailabilityZones": { + "AcceleratorNames": { "items": { "type": "string" }, - "markdownDescription": "The Availability Zones.", - "title": "AvailabilityZones", + "markdownDescription": "The accelerators that must be on the instance type.\n\n- For instance types with NVIDIA A10G GPUs, specify `a10g` .\n- For instance types with NVIDIA A100 GPUs, specify `a100` .\n- For instance types with NVIDIA H100 GPUs, specify `h100` .\n- For instance types with AWS Inferentia chips, specify `inferentia` .\n- For instance types with AWS Inferentia2 chips, specify `inferentia2` .\n- For instance types with Habana Gaudi HL-205 GPUs, specify `gaudi-hl-205` .\n- For instance types with NVIDIA GRID K520 GPUs, specify `k520` .\n- For instance types with NVIDIA K80 GPUs, specify `k80` .\n- For instance types with NVIDIA L4 GPUs, specify `l4` .\n- For instance types with NVIDIA L40S GPUs, specify `l40s` .\n- For instance types with NVIDIA M60 GPUs, specify `m60` .\n- For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` .\n- For instance types with AWS Trainium chips, specify `trainium` .\n- For instance types with AWS Trainium2 chips, specify `trainium2` .\n- For instance types with NVIDIA T4 GPUs, specify `t4` .\n- For instance types with NVIDIA T4G GPUs, specify `t4g` .\n- For instance types with Xilinx U30 cards, specify `u30` .\n- For instance types with Xilinx VU9P FPGAs, specify `vu9p` .\n- For instance types with NVIDIA V100 GPUs, specify `v100` .\n\nDefault: Any accelerator", + "title": "AcceleratorNames", "type": "array" }, - "Cidrs": { + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.AcceleratorTotalMemoryMiBRequest", + "markdownDescription": "The minimum and maximum amount of total accelerator memory, in MiB.\n\nDefault: No minimum or maximum limits", + "title": "AcceleratorTotalMemoryMiB" + }, + "AcceleratorTypes": { "items": { "type": "string" }, - "markdownDescription": "The CIDR ranges.", - "title": "Cidrs", + "markdownDescription": "The accelerator types that must be on the instance type.\n\n- For instance types with FPGA accelerators, specify `fpga` .\n- For instance types with GPU accelerators, specify `gpu` .\n- For instance types with Inference accelerators, specify `inference` .\n- For instance types with Media accelerators, specify `media` .\n\nDefault: Any accelerator type", + "title": "AcceleratorTypes", "type": "array" }, - "ClassicLoadBalancerListener": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener", - "markdownDescription": "The listener for a Classic Load Balancer.", - "title": "ClassicLoadBalancerListener" - }, - "Component": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The component.", - "title": "Component" - }, - "ComponentAccount": { - "markdownDescription": "The AWS account for the component.", - "title": "ComponentAccount", - "type": "string" - }, - "ComponentRegion": { - "markdownDescription": "The Region for the component.", - "title": "ComponentRegion", - "type": "string" - }, - "CustomerGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The customer gateway.", - "title": "CustomerGateway" - }, - "Destination": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The destination.", - "title": "Destination" - }, - "DestinationVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The destination VPC.", - "title": "DestinationVpc" - }, - "Direction": { - "markdownDescription": "The direction. The following are the possible values:\n\n- egress\n- ingress", - "title": "Direction", - "type": "string" - }, - "ElasticLoadBalancerListener": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The load balancer listener.", - "title": "ElasticLoadBalancerListener" - }, - "ExplanationCode": { - "markdownDescription": "The explanation code.", - "title": "ExplanationCode", - "type": "string" - }, - "IngressRouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The route table.", - "title": "IngressRouteTable" - }, - "InternetGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The internet gateway.", - "title": "InternetGateway" - }, - "LoadBalancerArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the load balancer.", - "title": "LoadBalancerArn", - "type": "string" - }, - "LoadBalancerListenerPort": { - "markdownDescription": "The listener port of the load balancer.", - "title": "LoadBalancerListenerPort", - "type": "number" - }, - "LoadBalancerTarget": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget", - "markdownDescription": "The target.", - "title": "LoadBalancerTarget" - }, - "LoadBalancerTargetGroup": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The target group.", - "title": "LoadBalancerTargetGroup" - }, - "LoadBalancerTargetGroups": { + "AllowedInstanceTypes": { "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + "type": "string" }, - "markdownDescription": "The target groups.", - "title": "LoadBalancerTargetGroups", + "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n\n> If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . \n\nDefault: All instance types", + "title": "AllowedInstanceTypes", "type": "array" }, - "LoadBalancerTargetPort": { - "markdownDescription": "The target port.", - "title": "LoadBalancerTargetPort", - "type": "number" - }, - "MissingComponent": { - "markdownDescription": "The missing component.", - "title": "MissingComponent", + "BareMetal": { + "markdownDescription": "Indicates whether bare metal instance types must be included, excluded, or required.\n\n- To include bare metal instance types, specify `included` .\n- To require only bare metal instance types, specify `required` .\n- To exclude bare metal instance types, specify `excluded` .\n\nDefault: `excluded`", + "title": "BareMetal", "type": "string" }, - "NatGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The NAT gateway.", - "title": "NatGateway" + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.BaselineEbsBandwidthMbpsRequest", + "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", + "title": "BaselineEbsBandwidthMbps" }, - "NetworkInterface": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The network interface.", - "title": "NetworkInterface" + "BaselinePerformanceFactors": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.BaselinePerformanceFactorsRequest", + "markdownDescription": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .", + "title": "BaselinePerformanceFactors" }, - "PacketField": { - "markdownDescription": "The packet field.", - "title": "PacketField", + "BurstablePerformance": { + "markdownDescription": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`", + "title": "BurstablePerformance", "type": "string" }, - "Port": { - "markdownDescription": "The port.", - "title": "Port", - "type": "number" - }, - "PortRanges": { + "CpuManufacturers": { "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + "type": "string" }, - "markdownDescription": "The port ranges.", - "title": "PortRanges", + "markdownDescription": "The CPU manufacturers to include.\n\n- For instance types with Intel CPUs, specify `intel` .\n- For instance types with AMD CPUs, specify `amd` .\n- For instance types with AWS CPUs, specify `amazon-web-services` .\n- For instance types with Apple CPUs, specify `apple` .\n\n> Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. \n\nDefault: Any manufacturer", + "title": "CpuManufacturers", "type": "array" }, - "PrefixList": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The prefix list.", - "title": "PrefixList" - }, - "Protocols": { + "ExcludedInstanceTypes": { "items": { "type": "string" }, - "markdownDescription": "The protocols.", - "title": "Protocols", + "markdownDescription": "The instance types to exclude.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance family, type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n\n> If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . \n\nDefault: No excluded instance types", + "title": "ExcludedInstanceTypes", "type": "array" }, - "RouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The route table.", - "title": "RouteTable" - }, - "RouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute", - "markdownDescription": "The route table route.", - "title": "RouteTableRoute" - }, - "SecurityGroup": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The security group.", - "title": "SecurityGroup" - }, - "SecurityGroupRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule", - "markdownDescription": "The security group rule.", - "title": "SecurityGroupRule" - }, - "SecurityGroups": { + "InstanceGenerations": { "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + "type": "string" }, - "markdownDescription": "The security groups.", - "title": "SecurityGroups", + "markdownDescription": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nFor current generation instance types, specify `current` .\n\nFor previous generation instance types, specify `previous` .\n\nDefault: Current and previous generation instance types", + "title": "InstanceGenerations", "type": "array" }, - "SourceVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The source VPC.", - "title": "SourceVpc" - }, - "State": { - "markdownDescription": "The state.", - "title": "State", + "LocalStorage": { + "markdownDescription": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* .\n\n- To include instance types with instance store volumes, specify `included` .\n- To require only instance types with instance store volumes, specify `required` .\n- To exclude instance types with instance store volumes, specify `excluded` .\n\nDefault: `included`", + "title": "LocalStorage", "type": "string" }, - "Subnet": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The subnet.", - "title": "Subnet" + "LocalStorageTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The type of local storage that is required.\n\n- For instance types with hard disk drive (HDD) storage, specify `hdd` .\n- For instance types with solid state drive (SSD) storage, specify `ssd` .\n\nDefault: `hdd` and `ssd`", + "title": "LocalStorageTypes", + "type": "array" }, - "SubnetRouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The route table for the subnet.", - "title": "SubnetRouteTable" + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` .", + "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", + "type": "number" }, - "TransitGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The transit gateway.", - "title": "TransitGateway" + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.MemoryGiBPerVCpuRequest", + "markdownDescription": "The minimum and maximum amount of memory per vCPU, in GiB.\n\nDefault: No minimum or maximum limits", + "title": "MemoryGiBPerVCpu" }, - "TransitGatewayAttachment": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The transit gateway attachment.", - "title": "TransitGatewayAttachment" + "MemoryMiB": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.MemoryMiBRequest", + "markdownDescription": "The minimum and maximum amount of memory, in MiB.", + "title": "MemoryMiB" }, - "TransitGatewayRouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The transit gateway route table.", - "title": "TransitGatewayRouteTable" + "NetworkBandwidthGbps": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.NetworkBandwidthGbpsRequest", + "markdownDescription": "The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more information, see [Amazon EC2 instance network bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", + "title": "NetworkBandwidthGbps" }, - "TransitGatewayRouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute", - "markdownDescription": "The transit gateway route table route.", - "title": "TransitGatewayRouteTableRoute" + "NetworkInterfaceCount": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.NetworkInterfaceCountRequest", + "markdownDescription": "The minimum and maximum number of network interfaces.\n\nDefault: No minimum or maximum limits", + "title": "NetworkInterfaceCount" }, - "Vpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The component VPC.", - "title": "Vpc" + "OnDemandMaxPricePercentageOverLowestPrice": { + "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nTo indicate no price protection threshold, specify a high value, such as `999999` .\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. \n\nDefault: `20`", + "title": "OnDemandMaxPricePercentageOverLowestPrice", + "type": "number" }, - "VpcPeeringConnection": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The VPC peering connection.", - "title": "VpcPeeringConnection" + "RequireEncryptionInTransit": { + "markdownDescription": "Specifies whether instance types must support encrypting in-transit traffic between instances. For more information, including the supported instance types, see [Encryption in transit](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-protection.html#encryption-transit) in the *Amazon EC2 User Guide* .\n\nDefault: `false`", + "title": "RequireEncryptionInTransit", + "type": "boolean" }, - "VpnConnection": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The VPN connection.", - "title": "VpnConnection" + "RequireHibernateSupport": { + "markdownDescription": "Indicates whether instance types must support hibernation for On-Demand Instances.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) .\n\nDefault: `false`", + "title": "RequireHibernateSupport", + "type": "boolean" }, - "VpnGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The VPN gateway.", - "title": "VpnGateway" + "SpotMaxPricePercentageOverLowestPrice": { + "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` . \n\nDefault: `100`", + "title": "SpotMaxPricePercentageOverLowestPrice", + "type": "number" }, - "vpcEndpoint": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The VPC endpoint.", - "title": "vpcEndpoint" + "TotalLocalStorageGB": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.TotalLocalStorageGBRequest", + "markdownDescription": "The minimum and maximum amount of total local storage, in GB.\n\nDefault: No minimum or maximum limits", + "title": "TotalLocalStorageGB" + }, + "VCpuCount": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.VCpuCountRangeRequest", + "markdownDescription": "The minimum and maximum number of vCPUs.", + "title": "VCpuCount" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { + "AWS::EC2::EC2Fleet.Ipv6AddressRequest": { "additionalProperties": false, "properties": { - "AclRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule", - "markdownDescription": "The network ACL rule.", - "title": "AclRule" - }, - "AdditionalDetails": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AdditionalDetail" - }, - "markdownDescription": "The additional details.", - "title": "AdditionalDetails", - "type": "array" - }, - "Component": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The component.", - "title": "Component" + "Ipv6Address": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.MaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityRebalance", + "markdownDescription": "The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted.", + "title": "CapacityRebalance" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" }, - "DestinationVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The destination VPC.", - "title": "DestinationVpc" + "Min": { + "markdownDescription": "The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" }, - "ElasticLoadBalancerListener": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The load balancer listener.", - "title": "ElasticLoadBalancerListener" + "Min": { + "markdownDescription": "The minimum amount of memory, in MiB. To specify no minimum limit, specify `0` .", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.MultiAvailabilityZoneConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationType": { + "type": "string" }, - "Explanations": { + "StandbyAvailabilityZones": { "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.Explanation" + "$ref": "#/definitions/AWS::EC2::EC2Fleet.StandbyAvailabilityZone" }, - "markdownDescription": "The explanation codes.", - "title": "Explanations", "type": "array" - }, - "InboundHeader": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader", - "markdownDescription": "The inbound header.", - "title": "InboundHeader" - }, - "OutboundHeader": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader", - "markdownDescription": "The outbound header.", - "title": "OutboundHeader" - }, - "RouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute", - "markdownDescription": "The route table route.", - "title": "RouteTableRoute" - }, - "SecurityGroupRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule", - "markdownDescription": "The security group rule.", - "title": "SecurityGroupRule" - }, - "SequenceNumber": { - "markdownDescription": "The sequence number.", - "title": "SequenceNumber", + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter.", + "title": "Max", "type": "number" }, - "ServiceName": { - "markdownDescription": "The name of the VPC endpoint service.", - "title": "ServiceName", - "type": "string" - }, - "SourceVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The source VPC.", - "title": "SourceVpc" - }, - "Subnet": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The subnet.", - "title": "Subnet" - }, - "TransitGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The transit gateway.", - "title": "TransitGateway" - }, - "TransitGatewayRouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute", - "markdownDescription": "The route in a transit gateway route table.", - "title": "TransitGatewayRouteTableRoute" - }, - "Vpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The component VPC.", - "title": "Vpc" + "Min": { + "markdownDescription": "The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.PortRange": { + "AWS::EC2::EC2Fleet.NetworkInterfaceCountRequest": { "additionalProperties": false, "properties": { - "From": { - "markdownDescription": "The first port in the range.", - "title": "From", + "Max": { + "markdownDescription": "The maximum number of network interfaces. To specify no maximum limit, omit this parameter.", + "title": "Max", "type": "number" }, - "To": { - "markdownDescription": "The last port in the range.", - "title": "To", + "Min": { + "markdownDescription": "The minimum number of network interfaces. To specify no minimum limit, omit this parameter.", + "title": "Min", "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute": { + "AWS::EC2::EC2Fleet.NetworkInterfaceSpecificationRequest": { "additionalProperties": false, "properties": { - "AttachmentId": { - "markdownDescription": "The ID of the route attachment.", - "title": "AttachmentId", - "type": "string" + "AssociatePublicIpAddress": { + "type": "boolean" }, - "DestinationCidr": { - "markdownDescription": "The CIDR block used for destination matches.", - "title": "DestinationCidr", - "type": "string" + "DeleteOnTermination": { + "type": "boolean" }, - "PrefixListId": { - "markdownDescription": "The ID of the prefix list.", - "title": "PrefixListId", + "Description": { "type": "string" }, - "ResourceId": { - "markdownDescription": "The ID of the resource for the route attachment.", - "title": "ResourceId", - "type": "string" + "DeviceIndex": { + "type": "number" }, - "ResourceType": { - "markdownDescription": "The resource type for the route attachment.", - "title": "ResourceType", - "type": "string" + "Groups": { + "items": { + "type": "string" + }, + "type": "array" }, - "RouteOrigin": { - "markdownDescription": "The route origin. The following are the possible values:\n\n- static\n- propagated", - "title": "RouteOrigin", + "InterfaceType": { "type": "string" }, - "State": { - "markdownDescription": "The state of the route.", - "title": "State", - "type": "string" + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Ipv6AddressRequest" + }, + "type": "array" + }, + "NetworkCardIndex": { + "type": "number" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.PrivateIpAddressSpecificationRequest" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsPath": { + "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "markdownDescription": "The strategy that determines the order of the launch template overrides to use in fulfilling On-Demand capacity.\n\n`lowest-price` - EC2 Fleet uses price to determine the order, launching the lowest price first.\n\n`prioritized` - EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first.\n\nDefault: `lowest-price`", + "title": "AllocationStrategy", + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest", + "markdownDescription": "The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.\n\nSupported only for fleets of type `instant` .", + "title": "CapacityReservationOptions" + }, + "MaxTotalPrice": { + "markdownDescription": "The maximum amount per hour for On-Demand Instances that you're willing to pay.\n\n> If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `MaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `MaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", + "title": "MaxTotalPrice", + "type": "string" + }, + "MinTargetCapacity": { + "markdownDescription": "The minimum target capacity for On-Demand Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.\n\nConstraints: Maximum value of `1000` . Supported only for fleets of type `instant` .\n\nAt least one of the following must be specified: `SingleAvailabilityZone` | `SingleInstanceType`", + "title": "MinTargetCapacity", + "type": "number" + }, + "SingleAvailabilityZone": { + "markdownDescription": "Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.\n\nSupported only for fleets of type `instant` .", + "title": "SingleAvailabilityZone", + "type": "boolean" + }, + "SingleInstanceType": { + "markdownDescription": "Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet.\n\nSupported only for fleets of type `instant` .", + "title": "SingleInstanceType", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "markdownDescription": "The instance family to use as a baseline reference.\n\n> Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( `.` ) in the instance type name. For example, in the instance type `c6i.large` , the instance family is `c6i` , not `c6` . For more information, see [Amazon EC2 instance type naming conventions](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) in *Amazon EC2 Instance Types* . \n\nThe following instance families are *not supported* for performance protection:\n\n- `c1`\n- `g3` | `g3s`\n- `hpc7g`\n- `m1` | `m2`\n- `mac1` | `mac2` | `mac2-m1ultra` | `mac2-m2` | `mac2-m2pro`\n- `p3dn` | `p4d` | `p5`\n- `t1`\n- `u-12tb1` | `u-18tb1` | `u-24tb1` | `u-3tb1` | `u-6tb1` | `u-9tb1` | `u7i-12tb` | `u7in-16tb` | `u7in-24tb` | `u7in-32tb`\n\nIf you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.\n\nIf you specify an unsupported instance family as a value for baseline performance, the API returns an empty response response for [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) and an exception for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html) , [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) , [ModifyFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html) , and [ModifySpotFleetRequest](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html) .", + "title": "InstanceFamily", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "markdownDescription": "The affinity setting for the instance on the Dedicated Host.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) or [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) .", + "title": "Affinity", + "type": "string" + }, + "AvailabilityZone": { + "markdownDescription": "The Availability Zone of the instance.\n\nOn input, you can specify `AvailabilityZone` or `AvailabilityZoneId` , but not both. If you specify neither one, Amazon EC2 automatically selects an Availability Zone for you.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) .", + "title": "AvailabilityZone", + "type": "string" + }, + "GroupName": { + "markdownDescription": "The name of the placement group that the instance is in.\n\nOn input, you can specify `GroupId` or `GroupName` , but not both.", + "title": "GroupName", + "type": "string" + }, + "HostId": { + "markdownDescription": "The ID of the Dedicated Host on which the instance resides.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) or [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) .", + "title": "HostId", + "type": "string" + }, + "HostResourceGroupArn": { + "markdownDescription": "The ARN of the host resource group in which to launch the instances.\n\nOn input, if you specify this parameter, either omit the *Tenancy* parameter or set it to `host` .\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) .", + "title": "HostResourceGroupArn", + "type": "string" + }, + "PartitionNumber": { + "markdownDescription": "The number of the partition that the instance is in. Valid only if the placement group strategy is set to `partition` .\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) .", + "title": "PartitionNumber", + "type": "number" + }, + "SpreadDomain": { + "markdownDescription": "Reserved for future use.", + "title": "SpreadDomain", + "type": "string" + }, + "Tenancy": { + "markdownDescription": "The tenancy of the instance. An instance with a tenancy of `dedicated` runs on single-tenant hardware.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) . The `host` tenancy is not supported for [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) or for T3 instances that are configured for the `unlimited` CPU credit option.", + "title": "Tenancy", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.PrivateIpAddressSpecificationRequest": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "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" + }, + "AWS::EC2::EC2Fleet.SpotOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "markdownDescription": "Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet.\n\nIf the allocation strategy is `lowestPrice` , EC2 Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy.\n\nIf the allocation strategy is `diversified` , EC2 Fleet launches instances from all the Spot Instance pools that you specify.\n\nIf the allocation strategy is `capacityOptimized` , EC2 Fleet launches instances from Spot Instance pools that are optimally chosen based on the available Spot Instance capacity.\n\n*Allowed Values* : `lowestPrice` | `diversified` | `capacityOptimized` | `capacityOptimizedPrioritized`", + "title": "AllocationStrategy", + "type": "string" + }, + "InstanceInterruptionBehavior": { + "markdownDescription": "The behavior when a Spot Instance is interrupted.\n\nDefault: `terminate`", + "title": "InstanceInterruptionBehavior", + "type": "string" + }, + "InstancePoolsToUseCount": { + "markdownDescription": "The number of Spot pools across which to allocate your target Spot capacity. Supported only when Spot `AllocationStrategy` is set to `lowest-price` . EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.\n\nNote that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified.", + "title": "InstancePoolsToUseCount", + "type": "number" + }, + "MaintenanceStrategies": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.MaintenanceStrategies", + "markdownDescription": "The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.", + "title": "MaintenanceStrategies" + }, + "MaxTotalPrice": { + "markdownDescription": "The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter. > If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `MaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `MaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", + "title": "MaxTotalPrice", + "type": "string" + }, + "MinTargetCapacity": { + "markdownDescription": "The minimum target capacity for Spot Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.\n\nConstraints: Maximum value of `1000` . Supported only for fleets of type `instant` .\n\nAt least one of the following must be specified: `SingleAvailabilityZone` | `SingleInstanceType`", + "title": "MinTargetCapacity", + "type": "number" + }, + "SingleAvailabilityZone": { + "markdownDescription": "Indicates that the fleet launches all Spot Instances into a single Availability Zone.\n\nSupported only for fleets of type `instant` .", + "title": "SingleAvailabilityZone", + "type": "boolean" + }, + "SingleInstanceType": { + "markdownDescription": "Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet.\n\nSupported only for fleets of type `instant` .", + "title": "SingleInstanceType", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.StandbyAvailabilityZone": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "markdownDescription": "The type of resource to tag.", + "title": "ResourceType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { + "markdownDescription": "The default target capacity type.", + "title": "DefaultTargetCapacityType", + "type": "string" + }, + "OnDemandTargetCapacity": { + "markdownDescription": "The number of On-Demand units to request.", + "title": "OnDemandTargetCapacity", + "type": "number" + }, + "SpotTargetCapacity": { + "markdownDescription": "The number of Spot units to request.", + "title": "SpotTargetCapacity", + "type": "number" + }, + "TargetCapacityUnitType": { + "markdownDescription": "The unit for the target capacity. You can specify this parameter only when using attributed-based instance type selection.\n\nDefault: `units` (the number of instances)", + "title": "TargetCapacityUnitType", + "type": "string" + }, + "TotalTargetCapacity": { + "markdownDescription": "The number of units to request, filled using the default target capacity type.", + "title": "TotalTargetCapacity", + "type": "number" + } + }, + "required": [ + "TotalTargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::EC2Fleet.TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of vCPUs. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of vCPUs. To specify no minimum limit, specify `0` .", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::EIP": { "additionalProperties": false, "properties": { "Condition": { @@ -127965,64 +128219,55 @@ "Properties": { "additionalProperties": false, "properties": { - "Destination": { - "markdownDescription": "The ID or ARN of the destination. If the resource is in another account, you must specify an ARN.", - "title": "Destination", + "Address": { + "markdownDescription": "An Elastic IP address or a carrier IP address in a Wavelength Zone.", + "title": "Address", "type": "string" }, - "DestinationIp": { - "markdownDescription": "The IP address of the destination.", - "title": "DestinationIp", + "Domain": { + "markdownDescription": "The network ( `vpc` ).\n\nIf you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) on this resource.", + "title": "Domain", "type": "string" }, - "DestinationPort": { - "markdownDescription": "The destination port.", - "title": "DestinationPort", - "type": "number" - }, - "FilterAtDestination": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.PathFilter", - "markdownDescription": "Scopes the analysis to network paths that match specific filters at the destination. If you specify this parameter, you can't specify the parameter for the destination IP address.", - "title": "FilterAtDestination" - }, - "FilterAtSource": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.PathFilter", - "markdownDescription": "Scopes the analysis to network paths that match specific filters at the source. If you specify this parameter, you can't specify the parameters for the source IP address or the destination port.", - "title": "FilterAtSource" + "InstanceId": { + "markdownDescription": "The ID of the instance.\n\n> Updates to the `InstanceId` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.", + "title": "InstanceId", + "type": "string" }, - "Protocol": { - "markdownDescription": "The protocol.", - "title": "Protocol", + "IpamPoolId": { + "markdownDescription": "The ID of an IPAM pool which has an Amazon-provided or BYOIP public IPv4 CIDR provisioned to it. For more information, see [Allocate sequential Elastic IP addresses from an IPAM pool](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html) in the *Amazon VPC IPAM User Guide* .", + "title": "IpamPoolId", "type": "string" }, - "Source": { - "markdownDescription": "The ID or ARN of the source. If the resource is in another account, you must specify an ARN.", - "title": "Source", + "NetworkBorderGroup": { + "markdownDescription": "A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.\n\nUse [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups.", + "title": "NetworkBorderGroup", "type": "string" }, - "SourceIp": { - "markdownDescription": "The IP address of the source.", - "title": "SourceIp", + "PublicIpv4Pool": { + "markdownDescription": "The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool.\n\n> Updates to the `PublicIpv4Pool` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.", + "title": "PublicIpv4Pool", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to add to the path.", + "markdownDescription": "Any tags assigned to the Elastic IP address.\n\n> Updates to the `Tags` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.", "title": "Tags", "type": "array" + }, + "TransferAddress": { + "markdownDescription": "The Elastic IP address you are accepting for transfer. You can only accept one transferred address. For more information on Elastic IP address transfers, see [Transfer Elastic IP addresses](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#transfer-EIPs-intro) in the *Amazon Virtual Private Cloud User Guide* .", + "title": "TransferAddress", + "type": "string" } }, - "required": [ - "Protocol", - "Source" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInsightsPath" + "AWS::EC2::EIP" ], "type": "string" }, @@ -128036,54 +128281,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::NetworkInsightsPath.FilterPortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "markdownDescription": "The first port in the range.", - "title": "FromPort", - "type": "number" - }, - "ToPort": { - "markdownDescription": "The last port in the range.", - "title": "ToPort", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsPath.PathFilter": { - "additionalProperties": false, - "properties": { - "DestinationAddress": { - "markdownDescription": "The destination IPv4 address.", - "title": "DestinationAddress", - "type": "string" - }, - "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.FilterPortRange", - "markdownDescription": "The destination port range.", - "title": "DestinationPortRange" - }, - "SourceAddress": { - "markdownDescription": "The source IPv4 address.", - "title": "SourceAddress", - "type": "string" - }, - "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.FilterPortRange", - "markdownDescription": "The source port range.", - "title": "SourcePortRange" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInterface": { + "AWS::EC2::EIPAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -128118,118 +128320,32 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.ConnectionTrackingSpecification", - "markdownDescription": "A connection tracking specification for the network interface.", - "title": "ConnectionTrackingSpecification" - }, - "Description": { - "markdownDescription": "A description for the network interface.", - "title": "Description", + "AllocationId": { + "markdownDescription": "The allocation ID. This is required.", + "title": "AllocationId", "type": "string" }, - "GroupSet": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the security groups associated with this network interface.", - "title": "GroupSet", - "type": "array" - }, - "InterfaceType": { - "markdownDescription": "The type of network interface. The default is `interface` . The supported values are `efa` and `trunk` .", - "title": "InterfaceType", + "InstanceId": { + "markdownDescription": "The ID of the instance. The instance must have exactly one attached network interface. You can specify either the instance ID or the network interface ID, but not both.", + "title": "InstanceId", "type": "string" }, - "Ipv4PrefixCount": { - "markdownDescription": "The number of IPv4 prefixes to be automatically assigned to the network interface.\n\nWhen creating a network interface, you can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.", - "title": "Ipv4PrefixCount", - "type": "number" - }, - "Ipv4Prefixes": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.Ipv4PrefixSpecification" - }, - "markdownDescription": "The IPv4 delegated prefixes that are assigned to the network interface.\n\nWhen creating a network interface, you can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.", - "title": "Ipv4Prefixes", - "type": "array" - }, - "Ipv6AddressCount": { - "markdownDescription": "The number of IPv6 addresses to assign to the network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the `Ipv6Addresses` property and don't specify this property.\n\nWhen creating a network interface, you can't specify a count of IPv6 addresses if you've specified one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.", - "title": "Ipv6AddressCount", - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" - }, - "markdownDescription": "The IPv6 addresses from the IPv6 CIDR block range of your subnet to assign to the network interface. If you're specifying a number of IPv6 addresses, use the `Ipv6AddressCount` property and don't specify this property.\n\nWhen creating a network interface, you can't specify IPv6 addresses if you've specified one of the following: a count of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.", - "title": "Ipv6Addresses", - "type": "array" - }, - "Ipv6PrefixCount": { - "markdownDescription": "The number of IPv6 prefixes to be automatically assigned to the network interface.\n\nWhen creating a network interface, you can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.", - "title": "Ipv6PrefixCount", - "type": "number" - }, - "Ipv6Prefixes": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.Ipv6PrefixSpecification" - }, - "markdownDescription": "The IPv6 delegated prefixes that are assigned to the network interface.\n\nWhen creating a network interface, you can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.", - "title": "Ipv6Prefixes", - "type": "array" + "NetworkInterfaceId": { + "markdownDescription": "The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.\n\nYou can specify either the instance ID or the network interface ID, but not both.", + "title": "NetworkInterfaceId", + "type": "string" }, "PrivateIpAddress": { - "markdownDescription": "The private IPv4 address to assign to the network interface as the primary private IP address. If you want to specify multiple private IP addresses, use the `PrivateIpAddresses` property.", + "markdownDescription": "The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.", "title": "PrivateIpAddress", "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" - }, - "markdownDescription": "The private IPv4 addresses to assign to the network interface. You can specify a primary private IP address by setting the value of the `Primary` property to `true` in the `PrivateIpAddressSpecification` property. If you want EC2 to automatically assign private IP addresses, use the `SecondaryPrivateIpAddressCount` property and do not specify this property.\n\nWhen creating a network interface, you can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.", - "title": "PrivateIpAddresses", - "type": "array" - }, - "PublicIpDnsHostnameTypeSpecification": { - "markdownDescription": "", - "title": "PublicIpDnsHostnameTypeSpecification", - "type": "string" - }, - "SecondaryPrivateIpAddressCount": { - "markdownDescription": "The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using `privateIpAddresses` .\n\nWhen creating a Network Interface, you can't specify a count of private IPv4 addresses if you've specified one of the following: specific private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.", - "title": "SecondaryPrivateIpAddressCount", - "type": "number" - }, - "SourceDestCheck": { - "markdownDescription": "Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is `true` , source/destination checks are enabled; otherwise, they are disabled. The default value is `true` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.", - "title": "SourceDestCheck", - "type": "boolean" - }, - "SubnetId": { - "markdownDescription": "The ID of the subnet to associate with the network interface.", - "title": "SubnetId", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to the network interface.", - "title": "Tags", - "type": "array" } }, - "required": [ - "SubnetId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInterface" + "AWS::EC2::EIPAssociation" ], "type": "string" }, @@ -128243,121 +128359,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "markdownDescription": "Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.", - "title": "TcpEstablishedTimeout", - "type": "number" - }, - "UdpStreamTimeout": { - "markdownDescription": "Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.", - "title": "UdpStreamTimeout", - "type": "number" - }, - "UdpTimeout": { - "markdownDescription": "Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.", - "title": "UdpTimeout", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInterface.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "markdownDescription": "An IPv6 address to associate with the network interface.", - "title": "Ipv6Address", - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "markdownDescription": "The IPv4 prefix. For information, see [Assigning prefixes to network interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) in the *Amazon EC2 User Guide* .", - "title": "Ipv4Prefix", - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "markdownDescription": "The IPv6 prefix. For information, see [Assigning prefixes to Amazon EC2 network interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "Ipv6Prefix", - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "markdownDescription": "Sets the private IP address as the primary private address. You can set only one primary private IP address. If you don't specify a primary private IP address, Amazon EC2 automatically assigns a primary private IP address.", - "title": "Primary", - "type": "boolean" - }, - "PrivateIpAddress": { - "markdownDescription": "The private IP address of the network interface.", - "title": "PrivateIpAddress", - "type": "string" - } - }, - "required": [ - "Primary", - "PrivateIpAddress" + "Type" ], "type": "object" }, - "AWS::EC2::NetworkInterface.PublicIpDnsNameOptions": { - "additionalProperties": false, - "properties": { - "DnsHostnameType": { - "markdownDescription": "The public hostname type. For more information, see [EC2 instance hostnames, DNS names, and domains](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon EC2 User Guide* .", - "title": "DnsHostnameType", - "type": "string" - }, - "PublicDualStackDnsName": { - "markdownDescription": "A dual-stack public hostname for a network interface. Requests from within the VPC resolve to both the private IPv4 address and the IPv6 Global Unicast Address of the network interface. Requests from the internet resolve to both the public IPv4 and the IPv6 GUA address of the network interface.", - "title": "PublicDualStackDnsName", - "type": "string" - }, - "PublicIpv4DnsName": { - "markdownDescription": "An IPv4-enabled public hostname for a network interface. Requests from within the VPC resolve to the private primary IPv4 address of the network interface. Requests from the internet resolve to the public IPv4 address of the network interface.", - "title": "PublicIpv4DnsName", - "type": "string" - }, - "PublicIpv6DnsName": { - "markdownDescription": "An IPv6-enabled public hostname for a network interface. Requests from within the VPC or from the internet resolve to the IPv6 GUA of the network interface.", - "title": "PublicIpv6DnsName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInterfaceAttachment": { + "AWS::EC2::EgressOnlyInternetGateway": { "additionalProperties": false, "properties": { "Condition": { @@ -128392,47 +128398,28 @@ "Properties": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "markdownDescription": "Whether to delete the network interface when the instance terminates. By default, this value is set to `true` .", - "title": "DeleteOnTermination", - "type": "boolean" - }, - "DeviceIndex": { - "markdownDescription": "The network interface's position in the attachment order. For example, the first attached network interface has a `DeviceIndex` of 0.", - "title": "DeviceIndex", - "type": "string" - }, - "EnaQueueCount": { - "markdownDescription": "The number of ENA queues created with the instance.", - "title": "EnaQueueCount", - "type": "number" - }, - "EnaSrdSpecification": { - "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment.EnaSrdSpecification", - "markdownDescription": "Configures ENA Express for the network interface that this action attaches to the instance.", - "title": "EnaSrdSpecification" - }, - "InstanceId": { - "markdownDescription": "The ID of the instance to which you will attach the ENI.", - "title": "InstanceId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the egress-only internet gateway.", + "title": "Tags", + "type": "array" }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of the ENI that you want to attach.", - "title": "NetworkInterfaceId", + "VpcId": { + "markdownDescription": "The ID of the VPC for which to create the egress-only internet gateway.", + "title": "VpcId", "type": "string" } }, "required": [ - "DeviceIndex", - "InstanceId", - "NetworkInterfaceId" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInterfaceAttachment" + "AWS::EC2::EgressOnlyInternetGateway" ], "type": "string" }, @@ -128451,34 +128438,7 @@ ], "type": "object" }, - "AWS::EC2::NetworkInterfaceAttachment.EnaSrdSpecification": { - "additionalProperties": false, - "properties": { - "EnaSrdEnabled": { - "markdownDescription": "Indicates whether ENA Express is enabled for the network interface.", - "title": "EnaSrdEnabled", - "type": "boolean" - }, - "EnaSrdUdpSpecification": { - "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment.EnaSrdUdpSpecification", - "markdownDescription": "Configures ENA Express for UDP network traffic.", - "title": "EnaSrdUdpSpecification" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInterfaceAttachment.EnaSrdUdpSpecification": { - "additionalProperties": false, - "properties": { - "EnaSrdUdpEnabled": { - "markdownDescription": "Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.", - "title": "EnaSrdUdpEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInterfacePermission": { + "AWS::EC2::EnclaveCertificateIamRoleAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -128513,32 +128473,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AwsAccountId": { - "markdownDescription": "The AWS account ID.", - "title": "AwsAccountId", - "type": "string" - }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of the network interface.", - "title": "NetworkInterfaceId", + "CertificateArn": { + "markdownDescription": "The ARN of the ACM certificate with which to associate the IAM role.", + "title": "CertificateArn", "type": "string" }, - "Permission": { - "markdownDescription": "The type of permission to grant: `INSTANCE-ATTACH` or `EIP-ASSOCIATE` .", - "title": "Permission", + "RoleArn": { + "markdownDescription": "The ARN of the IAM role to associate with the ACM certificate. You can associate up to 16 IAM roles with an ACM certificate.", + "title": "RoleArn", "type": "string" } }, "required": [ - "AwsAccountId", - "NetworkInterfaceId", - "Permission" + "CertificateArn", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInterfacePermission" + "AWS::EC2::EnclaveCertificateIamRoleAssociation" ], "type": "string" }, @@ -128557,7 +128511,7 @@ ], "type": "object" }, - "AWS::EC2::NetworkPerformanceMetricSubscription": { + "AWS::EC2::ExportInstanceTask": { "additionalProperties": false, "properties": { "Condition": { @@ -128592,38 +128546,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Destination": { - "markdownDescription": "The Region or Availability Zone that's the target for the subscription. For example, `eu-west-1` .", - "title": "Destination", + "Description": { "type": "string" }, - "Metric": { - "markdownDescription": "The metric used for the subscription.", - "title": "Metric", - "type": "string" + "ExportToS3Task": { + "$ref": "#/definitions/AWS::EC2::ExportInstanceTask.ExportToS3Task" }, - "Source": { - "markdownDescription": "The Region or Availability Zone that's the source for the subscription. For example, `us-east-1` .", - "title": "Source", + "InstanceId": { "type": "string" }, - "Statistic": { - "markdownDescription": "The statistic used for the subscription.", - "title": "Statistic", + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetEnvironment": { "type": "string" } }, "required": [ - "Destination", - "Metric", - "Source", - "Statistic" + "InstanceId", + "TargetEnvironment" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkPerformanceMetricSubscription" + "AWS::EC2::ExportInstanceTask" ], "type": "string" }, @@ -128642,7 +128592,25 @@ ], "type": "object" }, - "AWS::EC2::PlacementGroup": { + "AWS::EC2::ExportInstanceTask.ExportToS3Task": { + "additionalProperties": false, + "properties": { + "ContainerFormat": { + "type": "string" + }, + "DiskImageFormat": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::FlowLog": { "additionalProperties": false, "properties": { "Condition": { @@ -128677,38 +128645,85 @@ "Properties": { "additionalProperties": false, "properties": { - "ParentGroupId": { + "DeliverCrossAccountRole": { + "markdownDescription": "The ARN of the IAM role that allows the service to publish flow logs across accounts.", + "title": "DeliverCrossAccountRole", "type": "string" }, - "PartitionCount": { - "markdownDescription": "The number of partitions. Valid only when *Strategy* is set to `partition` .", - "title": "PartitionCount", + "DeliverLogsPermissionArn": { + "markdownDescription": "The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination.\n\nThis parameter is required if the destination type is `cloud-watch-logs` , or if the destination type is `kinesis-data-firehose` and the delivery stream and the resources to monitor are in different accounts.", + "title": "DeliverLogsPermissionArn", + "type": "string" + }, + "DestinationOptions": { + "$ref": "#/definitions/AWS::EC2::FlowLog.DestinationOptions", + "markdownDescription": "The destination options.", + "title": "DestinationOptions" + }, + "LogDestination": { + "markdownDescription": "The destination for the flow log data. The meaning of this parameter depends on the destination type.\n\n- If the destination type is `cloud-watch-logs` , specify the ARN of a CloudWatch Logs log group. For example:\n\narn:aws:logs: *region* : *account_id* :log-group: *my_group*\n\nAlternatively, use the `LogGroupName` parameter.\n- If the destination type is `s3` , specify the ARN of an S3 bucket. For example:\n\narn:aws:s3::: *my_bucket* / *my_subfolder* /\n\nThe subfolder is optional. Note that you can't use `AWSLogs` as a subfolder name.\n- If the destination type is `kinesis-data-firehose` , specify the ARN of a Kinesis Data Firehose delivery stream. For example:\n\narn:aws:firehose: *region* : *account_id* :deliverystream: *my_stream*", + "title": "LogDestination", + "type": "string" + }, + "LogDestinationType": { + "markdownDescription": "The type of destination for the flow log data.\n\nDefault: `cloud-watch-logs`", + "title": "LogDestinationType", + "type": "string" + }, + "LogFormat": { + "markdownDescription": "The fields to include in the flow log record, in the order in which they should appear. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field. For more information about the available fields, see [Flow log records](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records) in the *Amazon VPC User Guide* or [Transit Gateway Flow Log records](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-flow-logs.html#flow-log-records) in the *AWS Transit Gateway Guide* .\n\nSpecify the fields using the `${field-id}` format, separated by spaces.", + "title": "LogFormat", + "type": "string" + }, + "LogGroupName": { + "markdownDescription": "The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.\n\nThis parameter is valid only if the destination type is `cloud-watch-logs` .", + "title": "LogGroupName", + "type": "string" + }, + "MaxAggregationInterval": { + "markdownDescription": "The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for transit gateway resource types.\n\nWhen a network interface is attached to a [Nitro-based instance](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) , the aggregation interval is always 60 seconds or less, regardless of the value that you specify.\n\nDefault: 600", + "title": "MaxAggregationInterval", "type": "number" }, - "SpreadLevel": { - "markdownDescription": "Determines how placement groups spread instances.\n\n- Host \u2013 You can use `host` only with Outpost placement groups.\n- Rack \u2013 No usage restrictions.", - "title": "SpreadLevel", + "ResourceId": { + "markdownDescription": "The ID of the resource to monitor. For example, if the resource type is `VPC` , specify the ID of the VPC.", + "title": "ResourceId", "type": "string" }, - "Strategy": { - "markdownDescription": "The placement strategy.", - "title": "Strategy", + "ResourceType": { + "markdownDescription": "The type of resource to monitor.", + "title": "ResourceType", "type": "string" }, + "TagFieldSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::FlowLog.TagFieldSpecification" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to apply to the new placement group.", + "markdownDescription": "The tags to apply to the flow logs.", "title": "Tags", "type": "array" + }, + "TrafficType": { + "markdownDescription": "The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic). This parameter is not supported for transit gateway resource types. It is required for the other resource types.", + "title": "TrafficType", + "type": "string" } }, + "required": [ + "ResourceId", + "ResourceType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::PlacementGroup" + "AWS::EC2::FlowLog" ], "type": "string" }, @@ -128722,11 +128737,57 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::PrefixList": { + "AWS::EC2::FlowLog.DestinationOptions": { + "additionalProperties": false, + "properties": { + "FileFormat": { + "markdownDescription": "The format for the flow log. The default is `plain-text` .", + "title": "FileFormat", + "type": "string" + }, + "HiveCompatiblePartitions": { + "markdownDescription": "Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. The default is `false` .", + "title": "HiveCompatiblePartitions", + "type": "boolean" + }, + "PerHourPartition": { + "markdownDescription": "Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. The default is `false` .", + "title": "PerHourPartition", + "type": "boolean" + } + }, + "required": [ + "FileFormat", + "HiveCompatiblePartitions", + "PerHourPartition" + ], + "type": "object" + }, + "AWS::EC2::FlowLog.TagFieldSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "TagKeys": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ResourceType", + "TagKeys" + ], + "type": "object" + }, + "AWS::EC2::FpgaImage": { "additionalProperties": false, "properties": { "Condition": { @@ -128761,47 +128822,30 @@ "Properties": { "additionalProperties": false, "properties": { - "AddressFamily": { - "markdownDescription": "The IP address type.\n\nValid Values: `IPv4` | `IPv6`", - "title": "AddressFamily", + "Description": { "type": "string" }, - "Entries": { - "items": { - "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" - }, - "markdownDescription": "The entries for the prefix list.", - "title": "Entries", - "type": "array" + "InputStorageLocation": { + "$ref": "#/definitions/AWS::EC2::FpgaImage.StorageLocation" }, - "MaxEntries": { - "markdownDescription": "The maximum number of entries for the prefix list. You can't modify the entries and the size of a prefix list at the same time.\n\nThis property is required when you create a prefix list.", - "title": "MaxEntries", - "type": "number" + "LogsStorageLocation": { + "$ref": "#/definitions/AWS::EC2::FpgaImage.StorageLocation" }, - "PrefixListName": { - "markdownDescription": "A name for the prefix list.\n\nConstraints: Up to 255 characters in length. The name cannot start with `com.amazonaws` .", - "title": "PrefixListName", + "Name": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the prefix list.", - "title": "Tags", "type": "array" } }, - "required": [ - "AddressFamily", - "PrefixListName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::PrefixList" + "AWS::EC2::FpgaImage" ], "type": "string" }, @@ -128815,31 +128859,23 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::PrefixList.Entry": { + "AWS::EC2::FpgaImage.StorageLocation": { "additionalProperties": false, "properties": { - "Cidr": { - "markdownDescription": "The CIDR block.", - "title": "Cidr", + "Bucket": { "type": "string" }, - "Description": { - "markdownDescription": "A description for the entry.\n\nConstraints: Up to 255 characters in length.", - "title": "Description", + "Key": { "type": "string" } }, - "required": [ - "Cidr" - ], "type": "object" }, - "AWS::EC2::ReplaceRootVolumeTask": { + "AWS::EC2::GatewayRouteTableAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -128874,27 +128910,26 @@ "Properties": { "additionalProperties": false, "properties": { - "DeleteReplacedRootVolume": { - "type": "boolean" - }, - "InstanceId": { + "GatewayId": { + "markdownDescription": "The ID of the gateway.", + "title": "GatewayId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "RouteTableId": { + "markdownDescription": "The ID of the route table.", + "title": "RouteTableId", + "type": "string" } }, "required": [ - "InstanceId" + "GatewayId", + "RouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ReplaceRootVolumeTask" + "AWS::EC2::GatewayRouteTableAssociation" ], "type": "string" }, @@ -128913,7 +128948,7 @@ ], "type": "object" }, - "AWS::EC2::Route": { + "AWS::EC2::Host": { "additionalProperties": false, "properties": { "Condition": { @@ -128948,93 +128983,63 @@ "Properties": { "additionalProperties": false, "properties": { - "CarrierGatewayId": { - "markdownDescription": "The ID of the carrier gateway.\n\nYou can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.", - "title": "CarrierGatewayId", + "AssetId": { + "markdownDescription": "The ID of the Outpost hardware asset on which the Dedicated Host is allocated.", + "title": "AssetId", "type": "string" }, - "CoreNetworkArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the core network.", - "title": "CoreNetworkArn", + "AutoPlacement": { + "markdownDescription": "Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. For more information, see [Understanding auto-placement and affinity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding) in the *Amazon EC2 User Guide* .\n\nDefault: `off`", + "title": "AutoPlacement", "type": "string" }, - "DestinationCidrBlock": { - "markdownDescription": "The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify `100.68.0.18/18` , we modify it to `100.68.0.0/18` .", - "title": "DestinationCidrBlock", + "AvailabilityZone": { + "markdownDescription": "The Availability Zone in which to allocate the Dedicated Host.", + "title": "AvailabilityZone", "type": "string" }, - "DestinationIpv6CidrBlock": { - "markdownDescription": "The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.", - "title": "DestinationIpv6CidrBlock", + "HostMaintenance": { + "markdownDescription": "Indicates whether host maintenance is enabled or disabled for the Dedicated Host.", + "title": "HostMaintenance", "type": "string" }, - "DestinationPrefixListId": { - "markdownDescription": "The ID of a prefix list used for the destination match.", - "title": "DestinationPrefixListId", + "HostRecovery": { + "markdownDescription": "Indicates whether to enable or disable host recovery for the Dedicated Host. Host recovery is disabled by default. For more information, see [Host recovery](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html) in the *Amazon EC2 User Guide* .\n\nDefault: `off`", + "title": "HostRecovery", "type": "string" }, - "EgressOnlyInternetGatewayId": { - "markdownDescription": "[IPv6 traffic only] The ID of an egress-only internet gateway.", - "title": "EgressOnlyInternetGatewayId", + "InstanceFamily": { + "markdownDescription": "The instance family supported by the Dedicated Host. For example, `m5` .", + "title": "InstanceFamily", "type": "string" }, - "GatewayId": { - "markdownDescription": "The ID of an internet gateway or virtual private gateway attached to your VPC.", - "title": "GatewayId", + "InstanceType": { + "markdownDescription": "Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only.", + "title": "InstanceType", "type": "string" }, - "InstanceId": { - "markdownDescription": "The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.", - "title": "InstanceId", - "type": "string" - }, - "LocalGatewayId": { - "markdownDescription": "The ID of the local gateway.", - "title": "LocalGatewayId", - "type": "string" - }, - "NatGatewayId": { - "markdownDescription": "[IPv4 traffic only] The ID of a NAT gateway.", - "title": "NatGatewayId", - "type": "string" - }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of a network interface.", - "title": "NetworkInterfaceId", - "type": "string" - }, - "OdbNetworkArn": { - "type": "string" - }, - "RouteTableId": { - "markdownDescription": "The ID of the route table for the route.", - "title": "RouteTableId", - "type": "string" - }, - "TransitGatewayId": { - "markdownDescription": "The ID of a transit gateway.", - "title": "TransitGatewayId", - "type": "string" - }, - "VpcEndpointId": { - "markdownDescription": "The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.", - "title": "VpcEndpointId", + "OutpostArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Outpost on which the Dedicated Host is allocated.", + "title": "OutpostArn", "type": "string" }, - "VpcPeeringConnectionId": { - "markdownDescription": "The ID of a VPC peering connection.", - "title": "VpcPeeringConnectionId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the Dedicated Host.", + "title": "Tags", + "type": "array" } }, "required": [ - "RouteTableId" + "AvailabilityZone" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Route" + "AWS::EC2::Host" ], "type": "string" }, @@ -129053,7 +129058,7 @@ ], "type": "object" }, - "AWS::EC2::RouteServer": { + "AWS::EC2::IPAM": { "additionalProperties": false, "properties": { "Condition": { @@ -129088,43 +129093,56 @@ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { - "markdownDescription": "The Border Gateway Protocol (BGP) Autonomous System Number (ASN) for the appliance. Valid values are from 1 to 4294967295. We recommend using a private ASN in the 64512\u201365534 (16-bit ASN) or 4200000000\u20134294967294 (32-bit ASN) range.", - "title": "AmazonSideAsn", - "type": "number" + "DefaultResourceDiscoveryOrganizationalUnitExclusions": { + "items": { + "$ref": "#/definitions/AWS::EC2::IPAM.IpamOrganizationalUnitExclusion" + }, + "markdownDescription": "If your IPAM is integrated with AWS Organizations, you can exclude an [organizational unit (OU)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit) from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see [Exclude organizational units from IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html) in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .", + "title": "DefaultResourceDiscoveryOrganizationalUnitExclusions", + "type": "array" }, - "PersistRoutes": { - "markdownDescription": "Indicates whether routes should be persisted after all BGP sessions are terminated.", - "title": "PersistRoutes", + "Description": { + "markdownDescription": "The description for the IPAM.", + "title": "Description", "type": "string" }, - "PersistRoutesDuration": { - "markdownDescription": "The number of minutes a route server will wait after BGP is re-established to unpersist the routes in the FIB and RIB. Value must be in the range of 1-5. The default value is 1. Only valid if `persistRoutesState` is 'enabled'.\n\nIf you set the duration to 1 minute, then when your network appliance re-establishes BGP with route server, it has 1 minute to relearn it's adjacent network and advertise those routes to route server before route server resumes normal functionality. In most cases, 1 minute is probably sufficient. If, however, you have concerns that your BGP network may not be capable of fully re-establishing and re-learning everything in 1 minute, you can increase the duration up to 5 minutes.", - "title": "PersistRoutesDuration", - "type": "number" - }, - "SnsNotificationsEnabled": { - "markdownDescription": "Indicates whether SNS notifications are enabled for the route server. Enabling SNS notifications persists BGP status changes to an SNS topic provisioned by AWS .", - "title": "SnsNotificationsEnabled", + "EnablePrivateGua": { + "markdownDescription": "Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.", + "title": "EnablePrivateGua", "type": "boolean" }, + "MeteredAccount": { + "markdownDescription": "A metered account is an AWS account that is charged for active IP addresses managed in IPAM. For more information, see [Enable cost distribution](https://docs.aws.amazon.com/vpc/latest/ipam/ipam-enable-cost-distro.html) in the *Amazon VPC IPAM User Guide* .\n\nPossible values:\n\n- `ipam-owner` (default): The AWS account which owns the IPAM is charged for all active IP addresses managed in IPAM.\n- `resource-owner` : The AWS account that owns the IP address is charged for the active IP address.", + "title": "MeteredAccount", + "type": "string" + }, + "OperatingRegions": { + "items": { + "$ref": "#/definitions/AWS::EC2::IPAM.IpamOperatingRegion" + }, + "markdownDescription": "The operating Regions for an IPAM. Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions.\n\nFor more information about operating Regions, see [Create an IPAM](https://docs.aws.amazon.com//vpc/latest/ipam/create-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "OperatingRegions", + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the route server.", + "markdownDescription": "The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value.", "title": "Tags", "type": "array" + }, + "Tier": { + "markdownDescription": "IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see the [VPC IPAM product pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", + "title": "Tier", + "type": "string" } }, - "required": [ - "AmazonSideAsn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteServer" + "AWS::EC2::IPAM" ], "type": "string" }, @@ -129138,12 +129156,39 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::RouteServerAssociation": { + "AWS::EC2::IPAM.IpamOperatingRegion": { + "additionalProperties": false, + "properties": { + "RegionName": { + "markdownDescription": "The name of the operating Region.", + "title": "RegionName", + "type": "string" + } + }, + "required": [ + "RegionName" + ], + "type": "object" + }, + "AWS::EC2::IPAM.IpamOrganizationalUnitExclusion": { + "additionalProperties": false, + "properties": { + "OrganizationsEntityPath": { + "markdownDescription": "An AWS Organizations entity path. For more information on the entity path, see [Understand the AWS Organizations entity path](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path) in the *AWS Identity and Access Management User Guide* .", + "title": "OrganizationsEntityPath", + "type": "string" + } + }, + "required": [ + "OrganizationsEntityPath" + ], + "type": "object" + }, + "AWS::EC2::IPAMAllocation": { "additionalProperties": false, "properties": { "Condition": { @@ -129178,26 +129223,35 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteServerId": { - "markdownDescription": "The ID of the associated route server.", - "title": "RouteServerId", + "Cidr": { + "markdownDescription": "The CIDR you would like to allocate from the IPAM pool. Note the following:\n\n- If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.\n- If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.\n\nPossible values: Any available IPv4 or IPv6 CIDR.", + "title": "Cidr", "type": "string" }, - "VpcId": { - "markdownDescription": "The ID of the associated VPC.", - "title": "VpcId", + "Description": { + "markdownDescription": "A description for the allocation.", + "title": "Description", + "type": "string" + }, + "IpamPoolId": { + "markdownDescription": "The ID of the IPAM pool from which you would like to allocate a CIDR.", + "title": "IpamPoolId", "type": "string" + }, + "NetmaskLength": { + "markdownDescription": "The netmask length of the CIDR you would like to allocate from the IPAM pool. Note the following:\n\n- If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.\n- If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.\n\nPossible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.", + "title": "NetmaskLength", + "type": "number" } }, "required": [ - "RouteServerId", - "VpcId" + "IpamPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteServerAssociation" + "AWS::EC2::IPAMAllocation" ], "type": "string" }, @@ -129216,7 +129270,7 @@ ], "type": "object" }, - "AWS::EC2::RouteServerEndpoint": { + "AWS::EC2::IPAMPool": { "additionalProperties": false, "properties": { "Condition": { @@ -129251,34 +129305,105 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteServerId": { - "markdownDescription": "The ID of the route server associated with this endpoint.", - "title": "RouteServerId", + "AddressFamily": { + "markdownDescription": "The address family of the pool.", + "title": "AddressFamily", "type": "string" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet to place the route server endpoint into.", - "title": "SubnetId", + "AllocationDefaultNetmaskLength": { + "markdownDescription": "The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.", + "title": "AllocationDefaultNetmaskLength", + "type": "number" + }, + "AllocationMaxNetmaskLength": { + "markdownDescription": "The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.", + "title": "AllocationMaxNetmaskLength", + "type": "number" + }, + "AllocationMinNetmaskLength": { + "markdownDescription": "The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.", + "title": "AllocationMinNetmaskLength", + "type": "number" + }, + "AllocationResourceTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.", + "title": "AllocationResourceTags", + "type": "array" + }, + "AutoImport": { + "markdownDescription": "If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.\n\nA locale must be set on the pool for this feature to work.", + "title": "AutoImport", + "type": "boolean" + }, + "AwsService": { + "markdownDescription": "Limits which service in AWS that the pool can be used in. \"ec2\", for example, allows users to use space for Elastic IP addresses and VPCs.", + "title": "AwsService", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the IPAM pool.", + "title": "Description", + "type": "string" + }, + "IpamScopeId": { + "markdownDescription": "The ID of the scope in which you would like to create the IPAM pool.", + "title": "IpamScopeId", + "type": "string" + }, + "Locale": { + "markdownDescription": "The locale of the IPAM pool.\n\nThe locale for the pool should be one of the following:\n\n- An AWS Region where you want this IPAM pool to be available for allocations.\n- The network border group for an AWS Local Zone where you want this IPAM pool to be available for allocations ( [supported Local Zones](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail) ). This option is only available for IPAM IPv4 pools in the public scope.\n\nIf you choose an AWS Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.", + "title": "Locale", + "type": "string" + }, + "ProvisionedCidrs": { + "items": { + "$ref": "#/definitions/AWS::EC2::IPAMPool.ProvisionedCidr" + }, + "markdownDescription": "Information about the CIDRs provisioned to an IPAM pool.", + "title": "ProvisionedCidrs", + "type": "array" + }, + "PublicIpSource": { + "markdownDescription": "The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is `BYOIP` . For more information, see [Create IPv6 pools](https://docs.aws.amazon.com//vpc/latest/ipam/intro-create-ipv6-pools.html) in the *Amazon VPC IPAM User Guide* . By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see [Quotas for your IPAM](https://docs.aws.amazon.com//vpc/latest/ipam/quotas-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "PublicIpSource", + "type": "string" + }, + "PubliclyAdvertisable": { + "markdownDescription": "Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to `ipv4` .", + "title": "PubliclyAdvertisable", + "type": "boolean" + }, + "SourceIpamPoolId": { + "markdownDescription": "The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.", + "title": "SourceIpamPoolId", "type": "string" }, + "SourceResource": { + "$ref": "#/definitions/AWS::EC2::IPAMPool.SourceResource", + "markdownDescription": "The resource used to provision CIDRs to a resource planning pool.", + "title": "SourceResource" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the route server endpoint.", + "markdownDescription": "The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value.", "title": "Tags", "type": "array" } }, "required": [ - "RouteServerId", - "SubnetId" + "AddressFamily", + "IpamScopeId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteServerEndpoint" + "AWS::EC2::IPAMPool" ], "type": "string" }, @@ -129297,7 +129422,53 @@ ], "type": "object" }, - "AWS::EC2::RouteServerPeer": { + "AWS::EC2::IPAMPool.ProvisionedCidr": { + "additionalProperties": false, + "properties": { + "Cidr": { + "markdownDescription": "The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is `10.24.34.0/23` . An IPv6 CIDR example is `2001:DB8::/32` .", + "title": "Cidr", + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, + "AWS::EC2::IPAMPool.SourceResource": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "markdownDescription": "The source resource ID.", + "title": "ResourceId", + "type": "string" + }, + "ResourceOwner": { + "markdownDescription": "The source resource owner.", + "title": "ResourceOwner", + "type": "string" + }, + "ResourceRegion": { + "markdownDescription": "The source resource Region.", + "title": "ResourceRegion", + "type": "string" + }, + "ResourceType": { + "markdownDescription": "The source resource type.", + "title": "ResourceType", + "type": "string" + } + }, + "required": [ + "ResourceId", + "ResourceOwner", + "ResourceRegion", + "ResourceType" + ], + "type": "object" + }, + "AWS::EC2::IPAMPoolCidr": { "additionalProperties": false, "properties": { "Condition": { @@ -129332,40 +129503,30 @@ "Properties": { "additionalProperties": false, "properties": { - "BgpOptions": { - "$ref": "#/definitions/AWS::EC2::RouteServerPeer.BgpOptions", - "markdownDescription": "The BGP configuration options for this peer, including ASN (Autonomous System Number) and BFD (Bidrectional Forwarding Detection) settings.", - "title": "BgpOptions" - }, - "PeerAddress": { - "markdownDescription": "The IPv4 address of the peer device.", - "title": "PeerAddress", + "Cidr": { + "markdownDescription": "The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is `10.24.34.0/23` . An IPv6 CIDR example is `2001:DB8::/32` .", + "title": "Cidr", "type": "string" }, - "RouteServerEndpointId": { - "markdownDescription": "The ID of the route server endpoint associated with this peer.", - "title": "RouteServerEndpointId", + "IpamPoolId": { + "markdownDescription": "The ID of the IPAM pool.", + "title": "IpamPoolId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Any tags assigned to the route server peer.", - "title": "Tags", - "type": "array" + "NetmaskLength": { + "markdownDescription": "The netmask length of the CIDR you'd like to provision to a pool. Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. \"NetmaskLength\" or \"Cidr\" is required.", + "title": "NetmaskLength", + "type": "number" } }, "required": [ - "BgpOptions", - "PeerAddress", - "RouteServerEndpointId" + "IpamPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteServerPeer" + "AWS::EC2::IPAMPoolCidr" ], "type": "string" }, @@ -129384,23 +129545,7 @@ ], "type": "object" }, - "AWS::EC2::RouteServerPeer.BgpOptions": { - "additionalProperties": false, - "properties": { - "PeerAsn": { - "markdownDescription": "The Border Gateway Protocol (BGP) Autonomous System Number (ASN) for the appliance. Valid values are from 1 to 4294967295. We recommend using a private ASN in the 64512\u201365534 (16-bit ASN) or 4200000000\u20134294967294 (32-bit ASN) range.", - "title": "PeerAsn", - "type": "number" - }, - "PeerLivenessDetection": { - "markdownDescription": "The liveness detection protocol used for the BGP peer.\n\nThe requested liveness detection protocol for the BGP peer.\n\n- `bgp-keepalive` : The standard BGP keep alive mechanism ( [RFC4271](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc4271#page-21) ) that is stable but may take longer to fail-over in cases of network impact or router failure.\n- `bfd` : An additional Bidirectional Forwarding Detection (BFD) protocol ( [RFC5880](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc5880) ) that enables fast failover by using more sensitive liveness detection.\n\nDefaults to `bgp-keepalive` .", - "title": "PeerLivenessDetection", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::RouteServerPropagation": { + "AWS::EC2::IPAMPrefixListResolver": { "additionalProperties": false, "properties": { "Condition": { @@ -129435,26 +129580,36 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteServerId": { - "markdownDescription": "The ID of the route server configured for route propagation.", - "title": "RouteServerId", + "AddressFamily": { "type": "string" }, - "RouteTableId": { - "markdownDescription": "The ID of the route table configured for route server propagation.", - "title": "RouteTableId", + "Description": { + "type": "string" + }, + "IpamId": { "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRule" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "RouteServerId", - "RouteTableId" + "AddressFamily" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteServerPropagation" + "AWS::EC2::IPAMPrefixListResolver" ], "type": "string" }, @@ -129473,7 +129628,64 @@ ], "type": "object" }, - "AWS::EC2::RouteTable": { + "AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRule": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRuleCondition" + }, + "type": "array" + }, + "IpamScopeId": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "RuleType": { + "type": "string" + }, + "StaticCidr": { + "type": "string" + } + }, + "required": [ + "RuleType" + ], + "type": "object" + }, + "AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRuleCondition": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "IpamPoolId": { + "type": "string" + }, + "Operation": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ResourceOwner": { + "type": "string" + }, + "ResourceRegion": { + "type": "string" + }, + "ResourceTag": { + "$ref": "#/definitions/Tag" + } + }, + "required": [ + "Operation" + ], + "type": "object" + }, + "AWS::EC2::IPAMPrefixListResolverTarget": { "additionalProperties": false, "properties": { "Condition": { @@ -129508,28 +129720,39 @@ "Properties": { "additionalProperties": false, "properties": { + "DesiredVersion": { + "type": "number" + }, + "IpamPrefixListResolverId": { + "type": "string" + }, + "PrefixListId": { + "type": "string" + }, + "PrefixListRegion": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the route table.", - "title": "Tags", "type": "array" }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", - "type": "string" + "TrackLatestVersion": { + "type": "boolean" } }, "required": [ - "VpcId" + "IpamPrefixListResolverId", + "PrefixListId", + "PrefixListRegion", + "TrackLatestVersion" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteTable" + "AWS::EC2::IPAMPrefixListResolverTarget" ], "type": "string" }, @@ -129548,7 +129771,7 @@ ], "type": "object" }, - "AWS::EC2::SecurityGroup": { + "AWS::EC2::IPAMResourceDiscovery": { "additionalProperties": false, "properties": { "Condition": { @@ -129583,54 +129806,41 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupDescription": { - "markdownDescription": "A description for the security group.\n\nConstraints: Up to 255 characters in length\n\nValid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*", - "title": "GroupDescription", - "type": "string" - }, - "GroupName": { - "markdownDescription": "The name of the security group. Names are case-insensitive and must be unique within the VPC.\n\nConstraints: Up to 255 characters in length. Can't start with `sg-` .\n\nValid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*", - "title": "GroupName", + "Description": { + "markdownDescription": "The resource discovery description.", + "title": "Description", "type": "string" }, - "SecurityGroupEgress": { + "OperatingRegions": { "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" + "$ref": "#/definitions/AWS::EC2::IPAMResourceDiscovery.IpamOperatingRegion" }, - "markdownDescription": "The outbound rules associated with the security group.", - "title": "SecurityGroupEgress", + "markdownDescription": "The operating Regions for the resource discovery. Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions.", + "title": "OperatingRegions", "type": "array" }, - "SecurityGroupIngress": { + "OrganizationalUnitExclusions": { "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" + "$ref": "#/definitions/AWS::EC2::IPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusion" }, - "markdownDescription": "The inbound rules associated with the security group.", - "title": "SecurityGroupIngress", + "markdownDescription": "If your IPAM is integrated with AWS Organizations, you can exclude an [organizational unit (OU)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit) from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see [Exclude organizational units from IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html) in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .", + "title": "OrganizationalUnitExclusions", "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the security group.", + "markdownDescription": "A tag is a label that you assign to an AWS resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your AWS costs.", "title": "Tags", "type": "array" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC for the security group. If you do not specify a VPC, the default is to use the default VPC for the Region. If there's no specified VPC and no default VPC, security group creation fails.", - "title": "VpcId", - "type": "string" } }, - "required": [ - "GroupDescription" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroup" + "AWS::EC2::IPAMResourceDiscovery" ], "type": "string" }, @@ -129644,120 +129854,39 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SecurityGroup.Egress": { + "AWS::EC2::IPAMResourceDiscovery.IpamOperatingRegion": { "additionalProperties": false, "properties": { - "CidrIp": { - "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIp", - "type": "string" - }, - "CidrIpv6": { - "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIpv6", - "type": "string" - }, - "Description": { - "markdownDescription": "A description for the security group rule.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", - "title": "Description", - "type": "string" - }, - "DestinationPrefixListId": { - "markdownDescription": "The prefix list IDs for the destination AWS service. This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", - "title": "DestinationPrefixListId", - "type": "string" - }, - "DestinationSecurityGroupId": { - "markdownDescription": "The ID of the destination VPC security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", - "title": "DestinationSecurityGroupId", - "type": "string" - }, - "FromPort": { - "markdownDescription": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).", - "title": "FromPort", - "type": "number" - }, - "IpProtocol": { - "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", - "title": "IpProtocol", + "RegionName": { + "markdownDescription": "The name of the operating Region.", + "title": "RegionName", "type": "string" - }, - "ToPort": { - "markdownDescription": "If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).", - "title": "ToPort", - "type": "number" } }, "required": [ - "IpProtocol" + "RegionName" ], "type": "object" }, - "AWS::EC2::SecurityGroup.Ingress": { + "AWS::EC2::IPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusion": { "additionalProperties": false, "properties": { - "CidrIp": { - "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIp", - "type": "string" - }, - "CidrIpv6": { - "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIpv6", - "type": "string" - }, - "Description": { - "markdownDescription": "Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", - "title": "Description", - "type": "string" - }, - "FromPort": { - "markdownDescription": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).", - "title": "FromPort", - "type": "number" - }, - "IpProtocol": { - "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", - "title": "IpProtocol", - "type": "string" - }, - "SourcePrefixListId": { - "markdownDescription": "The ID of a prefix list.", - "title": "SourcePrefixListId", - "type": "string" - }, - "SourceSecurityGroupId": { - "markdownDescription": "The ID of the security group.", - "title": "SourceSecurityGroupId", - "type": "string" - }, - "SourceSecurityGroupName": { - "markdownDescription": "[Default VPC] The name of the source security group. You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nFor security groups in a nondefault VPC, you must specify the group ID.", - "title": "SourceSecurityGroupName", - "type": "string" - }, - "SourceSecurityGroupOwnerId": { - "markdownDescription": "[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nIf you specify `SourceSecurityGroupName` or `SourceSecurityGroupId` and that security group is owned by a different account than the account creating the stack, you must specify the `SourceSecurityGroupOwnerId` ; otherwise, this property is optional.", - "title": "SourceSecurityGroupOwnerId", + "OrganizationsEntityPath": { + "markdownDescription": "An AWS Organizations entity path. For more information on the entity path, see [Understand the AWS Organizations entity path](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path) in the *AWS Identity and Access Management User Guide* .", + "title": "OrganizationsEntityPath", "type": "string" - }, - "ToPort": { - "markdownDescription": "If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).", - "title": "ToPort", - "type": "number" } }, "required": [ - "IpProtocol" + "OrganizationsEntityPath" ], "type": "object" }, - "AWS::EC2::SecurityGroupEgress": { + "AWS::EC2::IPAMResourceDiscoveryAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -129792,61 +129921,34 @@ "Properties": { "additionalProperties": false, "properties": { - "CidrIp": { - "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIp", - "type": "string" - }, - "CidrIpv6": { - "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIpv6", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of an egress (outbound) security group rule.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", - "title": "Description", - "type": "string" - }, - "DestinationPrefixListId": { - "markdownDescription": "The prefix list IDs for an AWS service. This is the AWS service to access through a VPC endpoint from instances associated with the security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", - "title": "DestinationPrefixListId", - "type": "string" - }, - "DestinationSecurityGroupId": { - "markdownDescription": "The ID of the security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", - "title": "DestinationSecurityGroupId", - "type": "string" - }, - "FromPort": { - "markdownDescription": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).", - "title": "FromPort", - "type": "number" - }, - "GroupId": { - "markdownDescription": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", - "title": "GroupId", + "IpamId": { + "markdownDescription": "The IPAM ID.", + "title": "IpamId", "type": "string" }, - "IpProtocol": { - "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", - "title": "IpProtocol", + "IpamResourceDiscoveryId": { + "markdownDescription": "The resource discovery ID.", + "title": "IpamResourceDiscoveryId", "type": "string" }, - "ToPort": { - "markdownDescription": "If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).", - "title": "ToPort", - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A tag is a label that you assign to an AWS resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your AWS costs.", + "title": "Tags", + "type": "array" } }, "required": [ - "GroupId", - "IpProtocol" + "IpamId", + "IpamResourceDiscoveryId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroupEgress" + "AWS::EC2::IPAMResourceDiscoveryAssociation" ], "type": "string" }, @@ -129865,7 +129967,7 @@ ], "type": "object" }, - "AWS::EC2::SecurityGroupIngress": { + "AWS::EC2::IPAMScope": { "additionalProperties": false, "properties": { "Condition": { @@ -129900,75 +130002,38 @@ "Properties": { "additionalProperties": false, "properties": { - "CidrIp": { - "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIp", - "type": "string" - }, - "CidrIpv6": { - "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIpv6", - "type": "string" - }, "Description": { - "markdownDescription": "Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", + "markdownDescription": "The description of the scope.", "title": "Description", "type": "string" }, - "FromPort": { - "markdownDescription": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of `-1` indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.\n\nUse this for ICMP and any protocol that uses ports.", - "title": "FromPort", - "type": "number" - }, - "GroupId": { - "markdownDescription": "The ID of the security group.", - "title": "GroupId", - "type": "string" - }, - "GroupName": { - "markdownDescription": "[Default VPC] The name of the security group. For security groups for a default VPC you can specify either the ID or the name of the security group. For security groups for a nondefault VPC, you must specify the ID of the security group.", - "title": "GroupName", - "type": "string" - }, - "IpProtocol": { - "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", - "title": "IpProtocol", - "type": "string" - }, - "SourcePrefixListId": { - "markdownDescription": "The ID of a prefix list.", - "title": "SourcePrefixListId", - "type": "string" - }, - "SourceSecurityGroupId": { - "markdownDescription": "The ID of the security group. You must specify either the security group ID or the security group name. For security groups in a nondefault VPC, you must specify the security group ID.", - "title": "SourceSecurityGroupId", - "type": "string" - }, - "SourceSecurityGroupName": { - "markdownDescription": "[Default VPC] The name of the source security group. You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nFor security groups in a nondefault VPC, you must specify the group ID.", - "title": "SourceSecurityGroupName", - "type": "string" + "ExternalAuthorityConfiguration": { + "$ref": "#/definitions/AWS::EC2::IPAMScope.IpamScopeExternalAuthorityConfiguration", + "markdownDescription": "The configuration that links an Amazon VPC IPAM scope to an external authority system. It specifies the type of external system and the external resource identifier that identifies your account or instance in that system.\n\nFor more information, see [Integrate VPC IPAM with Infoblox infrastructure](https://docs.aws.amazon.com/vpc/latest/ipam/integrate-infoblox-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "ExternalAuthorityConfiguration" }, - "SourceSecurityGroupOwnerId": { - "markdownDescription": "[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nIf you specify `SourceSecurityGroupName` or `SourceSecurityGroupId` and that security group is owned by a different account than the account creating the stack, you must specify `SourceSecurityGroupOwnerId` ; otherwise, this property is optional.", - "title": "SourceSecurityGroupOwnerId", + "IpamId": { + "markdownDescription": "The ID of the IPAM for which you're creating this scope.", + "title": "IpamId", "type": "string" }, - "ToPort": { - "markdownDescription": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of `-1` indicates all ICMP/ICMPv6 codes for the specified ICMP type. If you specify all ICMP/ICMPv6 types, you must specify all codes.\n\nUse this for ICMP and any protocol that uses ports.", - "title": "ToPort", - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value.", + "title": "Tags", + "type": "array" } }, "required": [ - "IpProtocol" + "IpamId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroupIngress" + "AWS::EC2::IPAMScope" ], "type": "string" }, @@ -129987,7 +130052,27 @@ ], "type": "object" }, - "AWS::EC2::SecurityGroupVpcAssociation": { + "AWS::EC2::IPAMScope.IpamScopeExternalAuthorityConfiguration": { + "additionalProperties": false, + "properties": { + "ExternalResourceIdentifier": { + "markdownDescription": "The identifier for the external resource managing this scope. For Infoblox integrations, this is the Infoblox resource identifier in the format `.identity.account..` .", + "title": "ExternalResourceIdentifier", + "type": "string" + }, + "IpamScopeExternalAuthorityType": { + "markdownDescription": "The type of external authority managing this scope. Currently supports `Infoblox` for integration with Infoblox Universal DDI.", + "title": "IpamScopeExternalAuthorityType", + "type": "string" + } + }, + "required": [ + "ExternalResourceIdentifier", + "IpamScopeExternalAuthorityType" + ], + "type": "object" + }, + "AWS::EC2::IPv4Pool": { "additionalProperties": false, "properties": { "Condition": { @@ -130022,26 +130107,18 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupId": { - "markdownDescription": "The association's security group ID.", - "title": "GroupId", - "type": "string" - }, - "VpcId": { - "markdownDescription": "The association's VPC ID.", - "title": "VpcId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "GroupId", - "VpcId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroupVpcAssociation" + "AWS::EC2::IPv4Pool" ], "type": "string" }, @@ -130055,12 +130132,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SnapshotBlockPublicAccess": { + "AWS::EC2::ImageUsageReport": { "additionalProperties": false, "properties": { "Condition": { @@ -130095,20 +130171,37 @@ "Properties": { "additionalProperties": false, "properties": { - "State": { - "markdownDescription": "The mode in which to enable block public access for snapshots for the Region. Specify one of the following values:\n\n- `block-all-sharing` - Prevents all public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. Additionally, snapshots that are already publicly shared are treated as private and they are no longer publicly available.\n\n> If you enable block public access for snapshots in `block-all-sharing` mode, it does not change the permissions for snapshots that are already publicly shared. Instead, it prevents these snapshots from be publicly visible and publicly accessible. Therefore, the attributes for these snapshots still indicate that they are publicly shared, even though they are not publicly available.\n- `block-new-sharing` - Prevents only new public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. However, snapshots that are already publicly shared, remain publicly available.", - "title": "State", + "AccountIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ImageId": { "type": "string" + }, + "ResourceTypes": { + "items": { + "$ref": "#/definitions/AWS::EC2::ImageUsageReport.ImageUsageResourceType" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "State" + "ImageId", + "ResourceTypes" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SnapshotBlockPublicAccess" + "AWS::EC2::ImageUsageReport" ], "type": "string" }, @@ -130127,7 +130220,37 @@ ], "type": "object" }, - "AWS::EC2::SpotFleet": { + "AWS::EC2::ImageUsageReport.ImageUsageResourceType": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "ResourceTypeOptions": { + "items": { + "$ref": "#/definitions/AWS::EC2::ImageUsageReport.ImageUsageResourceTypeOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::ImageUsageReport.ImageUsageResourceTypeOption": { + "additionalProperties": false, + "properties": { + "OptionName": { + "type": "string" + }, + "OptionValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::ImportImageTask": { "additionalProperties": false, "properties": { "Condition": { @@ -130162,28 +130285,42 @@ "Properties": { "additionalProperties": false, "properties": { - "SpotFleetRequestConfigData": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData", - "markdownDescription": "Describes the configuration of a Spot Fleet request.", - "title": "SpotFleetRequestConfigData" + "BootMode": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::ImportImageTask.ImportImageLicenseConfiguration" + }, + "type": "array" + }, + "LicenseType": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for a Spot Fleet resource.", - "title": "Tags", "type": "array" + }, + "UsageOperation": { + "type": "string" } }, - "required": [ - "SpotFleetRequestConfigData" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SpotFleet" + "AWS::EC2::ImportImageTask" ], "type": "string" }, @@ -130197,145 +130334,519 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.AcceleratorCountRequest": { + "AWS::EC2::ImportImageTask.ImportImageLicenseConfiguration": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of accelerators. To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` .", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum number of accelerators. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "LicenseConfigurationArn": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.AcceleratorTotalMemoryMiBRequest": { + "AWS::EC2::ImportImageTask.SnapshotDetail": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter.", - "title": "Max", + "DiskImageSize": { "type": "number" }, - "Min": { - "markdownDescription": "The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.BaselineEbsBandwidthMbpsRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "Format": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "SnapshotId": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "UserBucket": { + "$ref": "#/definitions/AWS::EC2::ImportImageTask.UserBucket" } }, "type": "object" }, - "AWS::EC2::SpotFleet.BaselinePerformanceFactorsRequest": { + "AWS::EC2::ImportImageTask.UserBucket": { "additionalProperties": false, "properties": { - "Cpu": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.CpuPerformanceFactorRequest", - "markdownDescription": "The CPU performance to consider, using an instance family as the baseline reference.", - "title": "Cpu" + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.BlockDeviceMapping": { + "AWS::EC2::ImportSnapshotTask": { "additionalProperties": false, "properties": { - "DeviceName": { - "markdownDescription": "The device name. For available device names, see [Device names for volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html) .", - "title": "DeviceName", + "Condition": { "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice", - "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.", - "title": "Ebs" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "NoDevice": { - "markdownDescription": "To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.", - "title": "NoDevice", + "DependsOn": { + "anyOf": [ + { + "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" + }, + "Encrypted": { + "type": "boolean" + }, + "Format": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserBucket": { + "$ref": "#/definitions/AWS::EC2::ImportSnapshotTask.UserBucket" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ImportSnapshotTask" + ], "type": "string" }, - "VirtualName": { - "markdownDescription": "The virtual device name ( `ephemeral` N). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for `ephemeral0` and `ephemeral1` . The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.\n\nNVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.\n\nConstraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.", - "title": "VirtualName", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DeviceName" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "AWS::EC2::ImportSnapshotTask.UserBucket": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the load balancer.", - "title": "Name", + "S3Bucket": { + "type": "string" + }, + "S3Key": { "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, - "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "AWS::EC2::Instance": { "additionalProperties": false, "properties": { - "ClassicLoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" - }, - "markdownDescription": "One or more Classic Load Balancers.", - "title": "ClassicLoadBalancers", - "type": "array" + "Condition": { + "type": "string" + }, + "CreationPolicy": { + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "markdownDescription": "This property is reserved for internal use. If you use it, the stack fails with this error: `Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)` .", + "title": "AdditionalInfo", + "type": "string" + }, + "Affinity": { + "markdownDescription": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify `host` . If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify `default` .", + "title": "Affinity", + "type": "string" + }, + "AvailabilityZone": { + "markdownDescription": "The Availability Zone of the instance.\n\nIf not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region.\n\nThis parameter is not supported by [DescribeImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html) .", + "title": "AvailabilityZone", + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" + }, + "markdownDescription": "The block device mapping entries that defines the block devices to attach to the instance at launch.\n\nBy default, the block devices specified in the block device mapping for the AMI are used. You can override the AMI block device mapping using the instance block device mapping. For the root volume, you can override only the volume size, volume type, volume encryption settings, and the `DeleteOnTermination` setting.\n\n> After the instance is running, you can modify only the `DeleteOnTermination` parameter for the attached volumes without interrupting the instance. Modifying any other parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", + "title": "BlockDeviceMappings", + "type": "array" + }, + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions", + "markdownDescription": "The CPU options for the instance. For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification", + "markdownDescription": "The credit option for CPU usage of the burstable performance instance. Valid values are `standard` and `unlimited` . To change this attribute after launch, use [ModifyInstanceCreditSpecification](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html) . For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) in the *Amazon EC2 User Guide* .\n\nDefault: `standard` (T2 instances) or `unlimited` (T3/T3a/T4g instances)\n\nFor T3 instances with `host` tenancy, only `standard` is supported.", + "title": "CreditSpecification" + }, + "DisableApiTermination": { + "markdownDescription": "Indicates whether termination protection is enabled for the instance. The default is `false` , which means that you can terminate the instance using the Amazon EC2 console, command line tools, or API. You can enable termination protection when you launch an instance, while the instance is running, or while the instance is stopped.", + "title": "DisableApiTermination", + "type": "boolean" + }, + "EbsOptimized": { + "markdownDescription": "Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.\n\nDefault: `false`", + "title": "EbsOptimized", + "type": "boolean" + }, + "ElasticGpuSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" + }, + "markdownDescription": "An elastic GPU to associate with the instance.\n\n> Amazon Elastic Graphics reached end of life on January 8, 2024.", + "title": "ElasticGpuSpecifications", + "type": "array" + }, + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" + }, + "markdownDescription": "An elastic inference accelerator to associate with the instance.\n\n> Amazon Elastic Inference is no longer available.", + "title": "ElasticInferenceAccelerators", + "type": "array" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions", + "markdownDescription": "Indicates whether the instance is enabled for AWS Nitro Enclaves.", + "title": "EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions", + "markdownDescription": "Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the [hibernation prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernating-prerequisites.html) . For more information, see [Hibernate your Amazon EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) in the *Amazon EC2 User Guide* .\n\nYou can't enable hibernation and AWS Nitro Enclaves on the same instance.", + "title": "HibernationOptions" + }, + "HostId": { + "markdownDescription": "If you specify host for the `Affinity` property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. This type of launch is called an untargeted launch. Note that for untargeted launches, you must have a compatible, dedicated host available to successfully launch instances.", + "title": "HostId", + "type": "string" + }, + "HostResourceGroupArn": { + "markdownDescription": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the *Tenancy* parameter or set it to `host` .", + "title": "HostResourceGroupArn", + "type": "string" + }, + "IamInstanceProfile": { + "markdownDescription": "The name of an IAM instance profile. To create a new IAM instance profile, use the [AWS::IAM::InstanceProfile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html) resource.", + "title": "IamInstanceProfile", + "type": "string" + }, + "ImageId": { + "markdownDescription": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.", + "title": "ImageId", + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "markdownDescription": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).\n\nDefault: `stop`", + "title": "InstanceInitiatedShutdownBehavior", + "type": "string" + }, + "InstanceType": { + "markdownDescription": "The instance type. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nWhen you change your EBS-backed instance type, instance restart or replacement behavior depends on the instance type compatibility between the old and new types. An instance with an instance store volume as the root volume is always replaced. For more information, see [Change the instance type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html) in the *Amazon EC2 User Guide* .", + "title": "InstanceType", + "type": "string" + }, + "Ipv6AddressCount": { + "markdownDescription": "The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.\n\nYou cannot specify this option and the network interfaces option in the same request.", + "title": "Ipv6AddressCount", + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "markdownDescription": "The IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.\n\nYou cannot specify this option and the network interfaces option in the same request.", + "title": "Ipv6Addresses", + "type": "array" + }, + "KernelId": { + "markdownDescription": "The ID of the kernel.\n\n> We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [PV-GRUB](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", + "title": "KernelId", + "type": "string" + }, + "KeyName": { + "markdownDescription": "The name of the key pair. For more information, see [Create a key pair for your EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html) .\n\n> If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.", + "title": "KeyName", + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification", + "markdownDescription": "The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.", + "title": "LaunchTemplate" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" + }, + "markdownDescription": "The license configurations.", + "title": "LicenseSpecifications", + "type": "array" + }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.MetadataOptions", + "markdownDescription": "The metadata options for the instance.", + "title": "MetadataOptions" + }, + "Monitoring": { + "markdownDescription": "Specifies whether detailed monitoring is enabled for the instance. Specify `true` to enable detailed monitoring. Otherwise, basic monitoring is enabled. For more information about detailed monitoring, see [Enable or turn off detailed monitoring for your instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html) in the *Amazon EC2 User Guide* .", + "title": "Monitoring", + "type": "boolean" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + }, + "markdownDescription": "The network interfaces to associate with the instance.\n\n> If you use this property to point to a network interface, you must terminate the original interface before attaching a new one to allow the update of the instance to succeed.\n> \n> If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the VPC-gateway attachment.", + "title": "NetworkInterfaces", + "type": "array" + }, + "PlacementGroupName": { + "markdownDescription": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).", + "title": "PlacementGroupName", + "type": "string" + }, + "PrivateDnsNameOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.PrivateDnsNameOptions", + "markdownDescription": "The options for the instance hostname.", + "title": "PrivateDnsNameOptions" + }, + "PrivateIpAddress": { + "markdownDescription": "The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.\n\nOnly one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.\n\nYou cannot specify this option and the network interfaces option in the same request.\n\nIf you make an update to an instance that requires replacement, you must assign a new private IP address. During a replacement, AWS CloudFormation creates a new instance but doesn't delete the old instance until the stack has successfully updated. If the stack update fails, AWS CloudFormation uses the old instance to roll back the stack to the previous working state. The old and new instances cannot have the same private IP address.", + "title": "PrivateIpAddress", + "type": "string" + }, + "PropagateTagsToVolumeOnCreation": { + "markdownDescription": "Indicates whether to assign the tags specified in the `Tags` property to the volumes specified in the `BlockDeviceMappings` property.\n\nNote that using this feature does not assign the tags to volumes that are created separately and then attached using `AWS::EC2::VolumeAttachment` .", + "title": "PropagateTagsToVolumeOnCreation", + "type": "boolean" + }, + "RamdiskId": { + "markdownDescription": "The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID.\n\n> We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [PV-GRUB](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", + "title": "RamdiskId", + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the security groups. You can specify the IDs of existing security groups and references to resources created by the stack template.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface.", + "title": "SecurityGroupIds", + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "[Default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead.\n\nYou cannot specify this option and the network interfaces option in the same request. The list can contain both the name of existing Amazon EC2 security groups or references to AWS::EC2::SecurityGroup resources created in the template.\n\nDefault: Amazon EC2 uses the default security group.", + "title": "SecurityGroups", + "type": "array" + }, + "SourceDestCheck": { + "markdownDescription": "Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is `true` , source/destination checks are enabled; otherwise, they are disabled. The default value is `true` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.", + "title": "SourceDestCheck", + "type": "boolean" + }, + "SsmAssociations": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" + }, + "markdownDescription": "The SSM [document](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html) and parameter values in AWS Systems Manager to associate with this instance. To use this property, you must specify an IAM instance profile role for the instance. For more information, see [Create an IAM instance profile for Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-configuring-access-role.html) in the *AWS Systems Manager User Guide* .\n\n> You can associate only one document with an instance.", + "title": "SsmAssociations", + "type": "array" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet to launch the instance into.\n\nIf you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.", + "title": "SubnetId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to add to the instance. These tags are not applied to the EBS volumes, such as the root volume, unless [PropagateTagsToVolumeOnCreation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-propagatetagstovolumeoncreation) is `true` .", + "title": "Tags", + "type": "array" + }, + "Tenancy": { + "markdownDescription": "The tenancy of the instance. An instance with a tenancy of `dedicated` runs on single-tenant hardware.", + "title": "Tenancy", + "type": "string" + }, + "UserData": { + "markdownDescription": "The parameters or scripts to store as user data. Any scripts in user data are run when you launch the instance. User data is limited to 16 KB. You must provide base64-encoded text. For more information, see [Fn::Base64](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-base64.html) .\n\nIf the root volume is an EBS volume and you update user data, CloudFormation restarts the instance. If the root volume is an instance store volume and you update user data, the instance is replaced.", + "title": "UserData", + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.Volume" + }, + "markdownDescription": "The volumes to attach to the instance.", + "title": "Volumes", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ClassicLoadBalancers" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.CpuPerformanceFactorRequest": { + "AWS::EC2::Instance.AssociationParameter": { "additionalProperties": false, "properties": { - "References": { + "Key": { + "markdownDescription": "The name of an input parameter that is in the associated SSM document.", + "title": "Key", + "type": "string" + }, + "Value": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.PerformanceFactorReferenceRequest" + "type": "string" }, - "markdownDescription": "Specify an instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.\n\n> Currently, only one instance family can be specified in the list.", - "title": "References", + "markdownDescription": "The value of an input parameter.", + "title": "Value", "type": "array" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::EC2::SpotFleet.EbsBlockDevice": { + "AWS::EC2::Instance.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "markdownDescription": "The device name. For available device names, see [Device names for volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html) .\n\n> After the instance is running, this parameter is used to specify the device name of the block device mapping to update.", + "title": "DeviceName", + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::Instance.Ebs", + "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.\n\n> After the instance is running, you can modify only the `DeleteOnTermination` parameter for the attached volumes without interrupting the instance. Modifying any other parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) .", + "title": "Ebs" + }, + "NoDevice": { + "markdownDescription": "To omit the device from the block device mapping, specify an empty string.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", + "title": "NoDevice", + "type": "object" + }, + "VirtualName": { + "markdownDescription": "The virtual device name ( `ephemeral` N). The name must be in the form `ephemeral` *X* where *X* is a number starting from zero (0). For example, an instance type with 2 available instance store volumes can specify mappings for `ephemeral0` and `ephemeral1` . The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.\n\nNVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.\n\n*Constraints* : For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", + "title": "VirtualName", + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::Instance.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "markdownDescription": "The number of CPU cores for the instance.", + "title": "CoreCount", + "type": "number" + }, + "ThreadsPerCore": { + "markdownDescription": "The number of threads per CPU core.", + "title": "ThreadsPerCore", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CPUCredits": { + "markdownDescription": "The credit option for CPU usage of the instance.\n\nValid values: `standard` | `unlimited`\n\nT3 instances with `host` tenancy do not support the `unlimited` CPU credit option.", + "title": "CPUCredits", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.Ebs": { "additionalProperties": false, "properties": { "DeleteOnTermination": { @@ -130344,83 +130855,121 @@ "type": "boolean" }, "Encrypted": { - "markdownDescription": "Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Amazon EBS Encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters) in the *Amazon EC2 User Guide* .\n\nIn no case can you remove encryption from an encrypted volume.\n\nEncrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see [Supported Instance Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances) .\n\nThis parameter is not returned by [DescribeImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html) .", + "markdownDescription": "Indicates whether the volume should be encrypted. The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) in the *Amazon Elastic Compute Cloud User Guide* .\n\nEncrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances) .\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", "title": "Encrypted", "type": "boolean" }, "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 - 80,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nFor `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . On other instances, you can achieve performance up to 32,000 IOPS.\n\nThis parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 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-64,000 IOPS\n\nFor `io1` and `io2` volumes, we guarantee 64,000 IOPS only for [Instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . Other instance families guarantee performance up to 32,000 IOPS.\n\nThis parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS. This parameter is not supported for `gp2` , `st1` , `sc1` , or `standard` volumes.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", "title": "Iops", "type": "number" }, + "KmsKeyId": { + "markdownDescription": "The identifier of the AWS KMS key to use for Amazon EBS encryption. If `KmsKeyId` is specified, the encrypted state must be `true` . If the encrypted state is `true` but you do not specify `KmsKeyId` , your KMS key for EBS is used.\n\nYou can specify the KMS key using any of the following:\n\n- Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.\n- Key alias. For example, alias/ExampleAlias.\n- Key ARN. For example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n- Alias ARN. For example, arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", + "title": "KmsKeyId", + "type": "string" + }, "SnapshotId": { - "markdownDescription": "The ID of the snapshot.", + "markdownDescription": "The ID of the snapshot.\n\nIf you specify both `SnapshotId` and `VolumeSize` , `VolumeSize` must be equal or greater than the size of the snapshot.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", "title": "SnapshotId", "type": "string" }, "VolumeSize": { - "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.\n\nThe following are the supported sizes for each volume type:\n\n- `gp2` : 1 - 16,384 GiB\n- `gp3` : 1 - 65,536 GiB\n- `io1` : 4 - 16,384 GiB\n- `io2` : 4 - 65,536 GiB\n- `st1` and `sc1` : 125 - 16,384 GiB\n- `standard` : 1 - 1024 GiB", + "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.\n\nThe following are the supported volumes sizes 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\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", "title": "VolumeSize", "type": "number" }, "VolumeType": { - "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .", + "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the *Amazon EC2 User Guide* . If the volume type is `io1` or `io2` , you must specify the IOPS that the volume supports.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", "title": "VolumeType", "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "AWS::EC2::Instance.ElasticGpuSpecification": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { - "markdownDescription": "The ID of the launch template.\n\nYou must specify the `LaunchTemplateId` or the `LaunchTemplateName` , but not both.", - "title": "LaunchTemplateId", - "type": "string" - }, - "LaunchTemplateName": { - "markdownDescription": "The name of the launch template.\n\nYou must specify the `LaunchTemplateName` or the `LaunchTemplateId` , but not both.", - "title": "LaunchTemplateName", - "type": "string" - }, - "Version": { - "markdownDescription": "The version number of the launch template.\n\nSpecifying `$Latest` or `$Default` for the template version number is not supported. However, you can specify `LatestVersionNumber` or `DefaultVersionNumber` using the `Fn::GetAtt` intrinsic function. For more information, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate-return-values-fn--getatt) .", - "title": "Version", + "Type": { + "markdownDescription": "The type of Elastic Graphics accelerator.", + "title": "Type", "type": "string" } }, "required": [ - "Version" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.GroupIdentifier": { + "AWS::EC2::Instance.ElasticInferenceAccelerator": { "additionalProperties": false, "properties": { - "GroupId": { - "markdownDescription": "The ID of the security group.", - "title": "GroupId", + "Count": { + "markdownDescription": "The number of elastic inference accelerators to attach to the instance.", + "title": "Count", + "type": "number" + }, + "Type": { + "markdownDescription": "The type of elastic inference accelerator. The possible values are `eia1.medium` , `eia1.large` , `eia1.xlarge` , `eia2.medium` , `eia2.large` , and `eia2.xlarge` .", + "title": "Type", "type": "string" } }, "required": [ - "GroupId" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "AWS::EC2::Instance.EnaSrdSpecification": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile.", - "title": "Arn", - "type": "string" + "EnaSrdEnabled": { + "markdownDescription": "Indicates whether ENA Express is enabled for the network interface.", + "title": "EnaSrdEnabled", + "type": "boolean" + }, + "EnaSrdUdpSpecification": { + "$ref": "#/definitions/AWS::EC2::Instance.EnaSrdUdpSpecification", + "markdownDescription": "Configures ENA Express for UDP network traffic.", + "title": "EnaSrdUdpSpecification" } }, "type": "object" }, - "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "AWS::EC2::Instance.EnaSrdUdpSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdUdpEnabled": { + "markdownDescription": "Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.", + "title": "EnaSrdUdpEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "If this parameter is set to `true` , the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.", + "title": "Enabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "markdownDescription": "Set to `true` to enable your instance for hibernation.\n\nFor Spot Instances, if you set `Configured` to `true` , either omit the `InstanceInterruptionBehavior` parameter (for [`SpotMarketOptions`](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotMarketOptions.html) ), or set it to `hibernate` . When `Configured` is true:\n\n- If you omit `InstanceInterruptionBehavior` , it defaults to `hibernate` .\n- If you set `InstanceInterruptionBehavior` to a value other than `hibernate` , you'll get an error.\n\nDefault: `false`", + "title": "Configured", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.InstanceIpv6Address": { "additionalProperties": false, "properties": { "Ipv6Address": { @@ -130434,16 +130983,90 @@ ], "type": "object" }, - "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "AWS::EC2::Instance.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "markdownDescription": "The ID of the launch template.\n\nYou must specify either the launch template ID or the launch template name, but not both.", + "title": "LaunchTemplateId", + "type": "string" + }, + "LaunchTemplateName": { + "markdownDescription": "The name of the launch template.\n\nYou must specify either the launch template ID or the launch template name, but not both.", + "title": "LaunchTemplateName", + "type": "string" + }, + "Version": { + "markdownDescription": "The version number of the launch template. You must specify this property.\n\nTo specify the default version of the template, use the `Fn::GetAtt` intrinsic function to retrieve the `DefaultVersionNumber` attribute of the launch template. To specify the latest version of the template, use `Fn::GetAtt` to retrieve the `LatestVersionNumber` attribute. For more information, see [AWS::EC2:LaunchTemplate return values for Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate-return-values-fn--getatt) .", + "title": "Version", + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::Instance.LicenseSpecification": { + "additionalProperties": false, + "properties": { + "LicenseConfigurationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the license configuration.", + "title": "LicenseConfigurationArn", + "type": "string" + } + }, + "required": [ + "LicenseConfigurationArn" + ], + "type": "object" + }, + "AWS::EC2::Instance.MetadataOptions": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "markdownDescription": "Enables or disables the HTTP metadata endpoint on your instances.\n\nIf you specify a value of `disabled` , you cannot access your instance metadata.\n\nDefault: `enabled`", + "title": "HttpEndpoint", + "type": "string" + }, + "HttpProtocolIpv6": { + "markdownDescription": "Enables or disables the IPv6 endpoint for the instance metadata service.\n\nDefault: `disabled`", + "title": "HttpProtocolIpv6", + "type": "string" + }, + "HttpPutResponseHopLimit": { + "markdownDescription": "The maximum number of hops that the metadata token can travel.\n\nPossible values: Integers from 1 to 64", + "title": "HttpPutResponseHopLimit", + "type": "number" + }, + "HttpTokens": { + "markdownDescription": "Indicates whether IMDSv2 is required.\n\n- `optional` - IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.\n- `required` - IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.\n\nDefault:\n\n- If the value of `ImdsSupport` for the Amazon Machine Image (AMI) for your instance is `v2.0` and the account level default is set to `no-preference` , the default is `required` .\n- If the value of `ImdsSupport` for the Amazon Machine Image (AMI) for your instance is `v2.0` , but the account level default is set to `V1 or V2` , the default is `optional` .\n\nThe default value can also be affected by other combinations of parameters. For more information, see [Order of precedence for instance metadata options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html#instance-metadata-options-order-of-precedence) in the *Amazon EC2 User Guide* .", + "title": "HttpTokens", + "type": "string" + }, + "InstanceMetadataTags": { + "markdownDescription": "Set to `enabled` to allow access to instance tags from the instance metadata. Set to `disabled` to turn off access to instance tags from the instance metadata. For more information, see [Work with instance tags using the instance metadata](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS) .\n\nDefault: `disabled`", + "title": "InstanceMetadataTags", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.NetworkInterface": { "additionalProperties": false, "properties": { + "AssociateCarrierIpAddress": { + "markdownDescription": "Indicates whether to assign a carrier IP address to the network interface.\n\nYou can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see [Carrier IP address](https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip) in the *AWS Wavelength Developer Guide* .", + "title": "AssociateCarrierIpAddress", + "type": "boolean" + }, "AssociatePublicIpAddress": { - "markdownDescription": "Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is `true` .\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [Amazon VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", + "markdownDescription": "Indicates whether to assign a public IPv4 address to an instance. Applies only if creating a network interface when launching an instance. The network interface must be the primary network interface. If launching into a default subnet, the default value is `true` .\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", "title": "AssociatePublicIpAddress", "type": "boolean" }, "DeleteOnTermination": { - "markdownDescription": "Indicates whether the network interface is deleted when the instance is terminated.", + "markdownDescription": "Indicates whether the network interface is deleted when the instance is terminated. Applies only if creating a network interface when launching an instance.", "title": "DeleteOnTermination", "type": "boolean" }, @@ -130453,16 +131076,21 @@ "type": "string" }, "DeviceIndex": { - "markdownDescription": "The position of the network interface in the attachment order. A primary network interface has a device index of 0.\n\nIf you specify a network interface when launching an instance, you must specify the device index.", + "markdownDescription": "The position of the network interface in the attachment order. A primary network interface has a device index of 0.\n\nIf you create a network interface when launching an instance, you must specify the device index.", "title": "DeviceIndex", - "type": "number" + "type": "string" }, - "Groups": { + "EnaSrdSpecification": { + "$ref": "#/definitions/AWS::EC2::Instance.EnaSrdSpecification", + "markdownDescription": "Configures ENA Express for UDP network traffic.", + "title": "EnaSrdSpecification" + }, + "GroupSet": { "items": { "type": "string" }, "markdownDescription": "The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.", - "title": "Groups", + "title": "GroupSet", "type": "array" }, "Ipv6AddressCount": { @@ -130472,27 +131100,32 @@ }, "Ipv6Addresses": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" }, "markdownDescription": "The IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.", "title": "Ipv6Addresses", "type": "array" }, "NetworkInterfaceId": { - "markdownDescription": "The ID of the network interface.\n\nIf you are creating a Spot Fleet, omit this parameter because you can\u2019t specify a network interface ID in a launch specification.", + "markdownDescription": "The ID of the network interface, when attaching an existing network interface.", "title": "NetworkInterfaceId", "type": "string" }, + "PrivateIpAddress": { + "markdownDescription": "The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance.", + "title": "PrivateIpAddress", + "type": "string" + }, "PrivateIpAddresses": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" }, - "markdownDescription": "The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're launching more than one instance in a [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) request.", + "markdownDescription": "One or more private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary.", "title": "PrivateIpAddresses", "type": "array" }, "SecondaryPrivateIpAddressCount": { - "markdownDescription": "The number of secondary private IPv4 addresses. You can\u2019t specify this parameter and also specify a secondary private IP address using the `PrivateIpAddress` parameter.", + "markdownDescription": "The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option.", "title": "SecondaryPrivateIpAddressCount", "type": "number" }, @@ -130502,735 +131135,8683 @@ "type": "string" } }, + "required": [ + "DeviceIndex" + ], "type": "object" }, - "AWS::EC2::SpotFleet.InstanceRequirementsRequest": { + "AWS::EC2::Instance.PrivateDnsNameOptions": { "additionalProperties": false, "properties": { - "AcceleratorCount": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.AcceleratorCountRequest", - "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n\nTo exclude accelerator-enabled instance types, set `Max` to `0` .\n\nDefault: No minimum or maximum limits", - "title": "AcceleratorCount" - }, - "AcceleratorManufacturers": { - "items": { - "type": "string" - }, - "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n\n- For instance types with AWS devices, specify `amazon-web-services` .\n- For instance types with AMD devices, specify `amd` .\n- For instance types with Habana devices, specify `habana` .\n- For instance types with NVIDIA devices, specify `nvidia` .\n- For instance types with Xilinx devices, specify `xilinx` .\n\nDefault: Any manufacturer", - "title": "AcceleratorManufacturers", - "type": "array" - }, - "AcceleratorNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The accelerators that must be on the instance type.\n\n- For instance types with NVIDIA A10G GPUs, specify `a10g` .\n- For instance types with NVIDIA A100 GPUs, specify `a100` .\n- For instance types with NVIDIA H100 GPUs, specify `h100` .\n- For instance types with AWS Inferentia chips, specify `inferentia` .\n- For instance types with AWS Inferentia2 chips, specify `inferentia2` .\n- For instance types with Habana Gaudi HL-205 GPUs, specify `gaudi-hl-205` .\n- For instance types with NVIDIA GRID K520 GPUs, specify `k520` .\n- For instance types with NVIDIA K80 GPUs, specify `k80` .\n- For instance types with NVIDIA L4 GPUs, specify `l4` .\n- For instance types with NVIDIA L40S GPUs, specify `l40s` .\n- For instance types with NVIDIA M60 GPUs, specify `m60` .\n- For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` .\n- For instance types with AWS Trainium chips, specify `trainium` .\n- For instance types with AWS Trainium2 chips, specify `trainium2` .\n- For instance types with NVIDIA T4 GPUs, specify `t4` .\n- For instance types with NVIDIA T4G GPUs, specify `t4g` .\n- For instance types with Xilinx U30 cards, specify `u30` .\n- For instance types with Xilinx VU9P FPGAs, specify `vu9p` .\n- For instance types with NVIDIA V100 GPUs, specify `v100` .\n\nDefault: Any accelerator", - "title": "AcceleratorNames", - "type": "array" - }, - "AcceleratorTotalMemoryMiB": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.AcceleratorTotalMemoryMiBRequest", - "markdownDescription": "The minimum and maximum amount of total accelerator memory, in MiB.\n\nDefault: No minimum or maximum limits", - "title": "AcceleratorTotalMemoryMiB" - }, - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The accelerator types that must be on the instance type.\n\n- For instance types with FPGA accelerators, specify `fpga` .\n- For instance types with GPU accelerators, specify `gpu` .\n- For instance types with Inference accelerators, specify `inference` .\n- For instance types with Media accelerators, specify `media` .\n\nDefault: Any accelerator type", - "title": "AcceleratorTypes", - "type": "array" - }, - "AllowedInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n\n> If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . \n\nDefault: All instance types", - "title": "AllowedInstanceTypes", - "type": "array" - }, - "BareMetal": { - "markdownDescription": "Indicates whether bare metal instance types must be included, excluded, or required.\n\n- To include bare metal instance types, specify `included` .\n- To require only bare metal instance types, specify `required` .\n- To exclude bare metal instance types, specify `excluded` .\n\nDefault: `excluded`", - "title": "BareMetal", - "type": "string" - }, - "BaselineEbsBandwidthMbps": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.BaselineEbsBandwidthMbpsRequest", - "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", - "title": "BaselineEbsBandwidthMbps" - }, - "BaselinePerformanceFactors": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.BaselinePerformanceFactorsRequest", - "markdownDescription": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .", - "title": "BaselinePerformanceFactors" - }, - "BurstablePerformance": { - "markdownDescription": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`", - "title": "BurstablePerformance", - "type": "string" - }, - "CpuManufacturers": { - "items": { - "type": "string" - }, - "markdownDescription": "The CPU manufacturers to include.\n\n- For instance types with Intel CPUs, specify `intel` .\n- For instance types with AMD CPUs, specify `amd` .\n- For instance types with AWS CPUs, specify `amazon-web-services` .\n- For instance types with Apple CPUs, specify `apple` .\n\n> Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. \n\nDefault: Any manufacturer", - "title": "CpuManufacturers", - "type": "array" - }, - "ExcludedInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The instance types to exclude.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance family, type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n\n> If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . \n\nDefault: No excluded instance types", - "title": "ExcludedInstanceTypes", - "type": "array" - }, - "InstanceGenerations": { - "items": { - "type": "string" - }, - "markdownDescription": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nFor current generation instance types, specify `current` .\n\nFor previous generation instance types, specify `previous` .\n\nDefault: Current and previous generation instance types", - "title": "InstanceGenerations", - "type": "array" - }, - "LocalStorage": { - "markdownDescription": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* .\n\n- To include instance types with instance store volumes, specify `included` .\n- To require only instance types with instance store volumes, specify `required` .\n- To exclude instance types with instance store volumes, specify `excluded` .\n\nDefault: `included`", - "title": "LocalStorage", - "type": "string" - }, - "LocalStorageTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The type of local storage that is required.\n\n- For instance types with hard disk drive (HDD) storage, specify `hdd` .\n- For instance types with solid state drive (SSD) storage, specify `ssd` .\n\nDefault: `hdd` and `ssd`", - "title": "LocalStorageTypes", - "type": "array" - }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { - "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` .", - "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", - "type": "number" - }, - "MemoryGiBPerVCpu": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.MemoryGiBPerVCpuRequest", - "markdownDescription": "The minimum and maximum amount of memory per vCPU, in GiB.\n\nDefault: No minimum or maximum limits", - "title": "MemoryGiBPerVCpu" - }, - "MemoryMiB": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.MemoryMiBRequest", - "markdownDescription": "The minimum and maximum amount of memory, in MiB.", - "title": "MemoryMiB" - }, - "NetworkBandwidthGbps": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.NetworkBandwidthGbpsRequest", - "markdownDescription": "The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more information, see [Amazon EC2 instance network bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", - "title": "NetworkBandwidthGbps" - }, - "NetworkInterfaceCount": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.NetworkInterfaceCountRequest", - "markdownDescription": "The minimum and maximum number of network interfaces.\n\nDefault: No minimum or maximum limits", - "title": "NetworkInterfaceCount" - }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nTo indicate no price protection threshold, specify a high value, such as `999999` .\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. \n\nDefault: `20`", - "title": "OnDemandMaxPricePercentageOverLowestPrice", - "type": "number" - }, - "RequireEncryptionInTransit": { - "markdownDescription": "Specifies whether instance types must support encrypting in-transit traffic between instances. For more information, including the supported instance types, see [Encryption in transit](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-protection.html#encryption-transit) in the *Amazon EC2 User Guide* .\n\nDefault: `false`", - "title": "RequireEncryptionInTransit", + "EnableResourceNameDnsAAAARecord": { + "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "EnableResourceNameDnsAAAARecord", "type": "boolean" }, - "RequireHibernateSupport": { - "markdownDescription": "Indicates whether instance types must support hibernation for On-Demand Instances.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) .\n\nDefault: `false`", - "title": "RequireHibernateSupport", + "EnableResourceNameDnsARecord": { + "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "EnableResourceNameDnsARecord", "type": "boolean" }, - "SpotMaxPricePercentageOverLowestPrice": { - "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` . \n\nDefault: `100`", - "title": "SpotMaxPricePercentageOverLowestPrice", - "type": "number" - }, - "TotalLocalStorageGB": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TotalLocalStorageGBRequest", - "markdownDescription": "The minimum and maximum amount of total local storage, in GB.\n\nDefault: No minimum or maximum limits", - "title": "TotalLocalStorageGB" - }, - "VCpuCount": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.VCpuCountRangeRequest", - "markdownDescription": "The minimum and maximum number of vCPUs.", - "title": "VCpuCount" + "HostnameType": { + "markdownDescription": "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "HostnameType", + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "AWS::EC2::Instance.PrivateIpAddressSpecification": { "additionalProperties": false, "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification", - "markdownDescription": "The launch template to use. Make sure that the launch template does not contain the `NetworkInterfaceId` parameter because you can't specify a network interface ID in a Spot Fleet.", - "title": "LaunchTemplateSpecification" + "Primary": { + "markdownDescription": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.", + "title": "Primary", + "type": "boolean" }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" - }, - "markdownDescription": "Any parameters that you specify override the same parameters in the launch template.", - "title": "Overrides", - "type": "array" + "PrivateIpAddress": { + "markdownDescription": "The private IPv4 address.", + "title": "PrivateIpAddress", + "type": "string" } }, + "required": [ + "Primary", + "PrivateIpAddress" + ], "type": "object" }, - "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "AWS::EC2::Instance.SsmAssociation": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone in which to launch the instances. For example, `us-east-2a` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", - "title": "AvailabilityZone", - "type": "string" - }, - "AvailabilityZoneId": { - "markdownDescription": "The ID of the Availability Zone in which to launch the instances. For example, `use2-az1` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", - "title": "AvailabilityZoneId", - "type": "string" - }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceRequirementsRequest", - "markdownDescription": "The instance requirements. When you specify instance requirements, Amazon EC2 will identify instance types with the provided requirements, and then use your On-Demand and Spot allocation strategies to launch instances from these instance types, in the same way as when you specify a list of instance types.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .", - "title": "InstanceRequirements" - }, - "InstanceType": { - "markdownDescription": "The instance type.", - "title": "InstanceType", - "type": "string" - }, - "Priority": { - "markdownDescription": "The priority for the launch template override. The highest priority is launched first.\n\nIf `OnDemandAllocationStrategy` is set to `prioritized` , Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.\n\nIf the Spot `AllocationStrategy` is set to `capacityOptimizedPrioritized` , Spot Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.\n\nValid values are whole numbers starting at `0` . The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.", - "title": "Priority", - "type": "number" - }, - "SpotPrice": { - "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.", - "title": "SpotPrice", - "type": "string" + "AssociationParameters": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" + }, + "markdownDescription": "The input parameter values to use with the associated SSM document.", + "title": "AssociationParameters", + "type": "array" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet in which to launch the instances.", - "title": "SubnetId", + "DocumentName": { + "markdownDescription": "The name of an SSM document to associate with the instance.", + "title": "DocumentName", "type": "string" - }, - "WeightedCapacity": { - "markdownDescription": "The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.\n\nIf the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.\n\n> When specifying weights, the price used in the `lowestPrice` and `priceCapacityOptimized` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested `TargetCapacity` , resulting in only 1 instance being launched, the price used is per *instance* hour.", - "title": "WeightedCapacity", - "type": "number" } }, + "required": [ + "DocumentName" + ], "type": "object" }, - "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "AWS::EC2::Instance.State": { "additionalProperties": false, "properties": { - "ClassicLoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig", - "markdownDescription": "The Classic Load Balancers.", - "title": "ClassicLoadBalancersConfig" + "Code": { + "markdownDescription": "The state of the instance as a 16-bit unsigned integer.\n\nThe high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values between 256 and 65,535. These numerical values are used for internal purposes and should be ignored.\n\nThe low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values between 0 and 255.\n\nThe valid values for instance-state-code will all be in the range of the low byte and they are:\n\n- `0` : `pending`\n- `16` : `running`\n- `32` : `shutting-down`\n- `48` : `terminated`\n- `64` : `stopping`\n- `80` : `stopped`\n\nYou can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in decimal.", + "title": "Code", + "type": "string" }, - "TargetGroupsConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig", - "markdownDescription": "The target groups.", - "title": "TargetGroupsConfig" + "Name": { + "markdownDescription": "The current state of the instance.", + "title": "Name", + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.MemoryGiBPerVCpuRequest": { + "AWS::EC2::Instance.Volume": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "Device": { + "markdownDescription": "The device name (for example, `/dev/sdh` or `xvdh` ).", + "title": "Device", + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "VolumeId": { + "markdownDescription": "The ID of the EBS volume. The volume and instance must be within the same Availability Zone.", + "title": "VolumeId", + "type": "string" } }, + "required": [ + "Device", + "VolumeId" + ], "type": "object" }, - "AWS::EC2::SpotFleet.MemoryMiBRequest": { + "AWS::EC2::InstanceConnectEndpoint": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "Condition": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of memory, in MiB. To specify no minimum limit, specify `0` .", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.NetworkBandwidthGbpsRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.NetworkInterfaceCountRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum number of network interfaces. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Min": { - "markdownDescription": "The minimum number of network interfaces. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.PerformanceFactorReferenceRequest": { - "additionalProperties": false, - "properties": { - "InstanceFamily": { - "markdownDescription": "The instance family to use as a baseline reference.\n\n> Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( `.` ) in the instance type name. For example, in the instance type `c6i.large` , the instance family is `c6i` , not `c6` . For more information, see [Amazon EC2 instance type naming conventions](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) in *Amazon EC2 Instance Types* . \n\nThe following instance families are *not supported* for performance protection:\n\n- `c1`\n- `g3` | `g3s`\n- `hpc7g`\n- `m1` | `m2`\n- `mac1` | `mac2` | `mac2-m1ultra` | `mac2-m2` | `mac2-m2pro`\n- `p3dn` | `p4d` | `p5`\n- `t1`\n- `u-12tb1` | `u-18tb1` | `u-24tb1` | `u-3tb1` | `u-6tb1` | `u-9tb1` | `u7i-12tb` | `u7in-16tb` | `u7in-24tb` | `u7in-32tb`\n\nIf you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.\n\nIf you specify an unsupported instance family as a value for baseline performance, the API returns an empty response for [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) and an exception for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html) , [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) , [ModifyFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html) , and [ModifySpotFleetRequest](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html) .", - "title": "InstanceFamily", + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientToken": { + "markdownDescription": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "title": "ClientToken", + "type": "string" + }, + "PreserveClientIp": { + "markdownDescription": "Indicates whether the client IP address is preserved as the source. The following are the possible values.\n\n- `true` - Use the client IP address as the source.\n- `false` - Use the network interface IP address as the source.\n\n> `PreserveClientIp` is only supported on IPv4 EC2 Instance Connect Endpoints. To use `PreserveClientIp` , the value for `IpAddressType` must be `ipv4` . \n\nDefault: `false`", + "title": "PreserveClientIp", + "type": "boolean" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for your VPC will be associated with the endpoint.", + "title": "SecurityGroupIds", + "type": "array" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet in which to create the EC2 Instance Connect Endpoint.", + "title": "SubnetId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the EC2 Instance Connect Endpoint during creation.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::InstanceConnectEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointDnsNames": { "additionalProperties": false, "properties": { - "Primary": { - "markdownDescription": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.", - "title": "Primary", - "type": "boolean" + "DnsName": { + "type": "string" }, - "PrivateIpAddress": { - "markdownDescription": "The private IPv4 address.", - "title": "PrivateIpAddress", + "FipsDnsName": { "type": "string" } }, - "required": [ - "PrivateIpAddress" - ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotCapacityRebalance": { + "AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointPublicDnsNames": { "additionalProperties": false, "properties": { - "ReplacementStrategy": { - "markdownDescription": "The replacement strategy to use. Only available for fleets of type `maintain` .\n\n`launch` - Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.\n\n`launch-before-terminate` - Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in `TerminationDelay` ), terminates the instances that received a rebalance notification.", - "title": "ReplacementStrategy", - "type": "string" + "Dualstack": { + "$ref": "#/definitions/AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointDnsNames" }, - "TerminationDelay": { - "markdownDescription": "The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.\n\nRequired when `ReplacementStrategy` is set to `launch-before-terminate` .\n\nNot valid when `ReplacementStrategy` is set to `launch` .\n\nValid values: Minimum value of `120` seconds. Maximum value of `7200` seconds.", - "title": "TerminationDelay", - "type": "number" + "Ipv4": { + "$ref": "#/definitions/AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointDnsNames" } }, "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "AWS::EC2::InstanceEventWindow": { "additionalProperties": false, "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" - }, - "markdownDescription": "One or more block devices that are mapped to the Spot Instances. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.", - "title": "BlockDeviceMappings", - "type": "array" + "Condition": { + "type": "string" }, - "EbsOptimized": { - "markdownDescription": "Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.\n\nDefault: `false`", - "title": "EbsOptimized", - "type": "boolean" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification", - "markdownDescription": "The IAM instance profile.", - "title": "IamInstanceProfile" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ImageId": { - "markdownDescription": "The ID of the AMI.", - "title": "ImageId", - "type": "string" + "Metadata": { + "type": "object" }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceRequirementsRequest", - "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .", - "title": "InstanceRequirements" + "Properties": { + "additionalProperties": false, + "properties": { + "CronExpression": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::InstanceEventWindow.TimeRange" + }, + "type": "array" + } + }, + "type": "object" }, - "InstanceType": { - "markdownDescription": "The instance type.", - "title": "InstanceType", + "Type": { + "enum": [ + "AWS::EC2::InstanceEventWindow" + ], "type": "string" }, - "KernelId": { - "markdownDescription": "The ID of the kernel.", - "title": "KernelId", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::InstanceEventWindow.TimeRange": { + "additionalProperties": false, + "properties": { + "EndHour": { + "type": "number" }, - "KeyName": { - "markdownDescription": "The name of the key pair.", - "title": "KeyName", + "EndWeekDay": { "type": "string" }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring", - "markdownDescription": "Enable or disable monitoring for the instances.", - "title": "Monitoring" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" - }, - "markdownDescription": "The network interfaces.", - "title": "NetworkInterfaces", - "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement", - "markdownDescription": "The placement information.", - "title": "Placement" + "StartHour": { + "type": "number" }, - "RamdiskId": { - "markdownDescription": "The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the AWS Resource Center and search for the kernel ID.", - "title": "RamdiskId", + "StartWeekDay": { "type": "string" - }, - "SecurityGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" - }, - "markdownDescription": "The security groups.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.", - "title": "SecurityGroups", - "type": "array" - }, - "SpotPrice": { - "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.", - "title": "SpotPrice", + } + }, + "type": "object" + }, + "AWS::EC2::InternetGateway": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "SubnetId": { - "markdownDescription": "The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, \"subnet-1234abcdeexample1, subnet-0987cdef6example2\".\n\nIf you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.", - "title": "SubnetId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + "DependsOn": { + "anyOf": [ + { + "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" + }, + "markdownDescription": "Any tags to assign to the internet gateway.", + "title": "Tags", + "type": "array" + } }, - "markdownDescription": "The tags to apply during creation.", - "title": "TagSpecifications", - "type": "array" + "type": "object" }, - "UserData": { - "markdownDescription": "The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.", - "title": "UserData", + "Type": { + "enum": [ + "AWS::EC2::InternetGateway" + ], "type": "string" }, - "WeightedCapacity": { - "markdownDescription": "The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.\n\nIf the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.\n\n> When specifying weights, the price used in the `lowestPrice` and `priceCapacityOptimized` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested `TargetCapacity` , resulting in only 1 instance being launched, the price used is per *instance* hour.", - "title": "WeightedCapacity", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ImageId" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetMonitoring": { + "AWS::EC2::IpPoolRouteTableAssociation": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "Enables monitoring for the instance.\n\nDefault: `false`", - "title": "Enabled", - "type": "boolean" + "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": { + "PublicIpv4Pool": { + "markdownDescription": "The ID of a public IPv4 address pool.", + "title": "PublicIpv4Pool", + "type": "string" + }, + "RouteTableId": { + "markdownDescription": "The ID of a route table.", + "title": "RouteTableId", + "type": "string" + } + }, + "required": [ + "PublicIpv4Pool", + "RouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::IpPoolRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "AWS::EC2::IpamExternalResourceVerificationToken": { "additionalProperties": false, "properties": { - "AllocationStrategy": { - "markdownDescription": "The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see [Allocation strategies for Spot Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-allocation-strategy.html) in the *Amazon EC2 User Guide* .\n\n- **priceCapacityOptimized (recommended)** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.\n- **capacityOptimized** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use `capacityOptimizedPrioritized` . Set a priority for each instance type by using the `Priority` parameter for `LaunchTemplateOverrides` . You can assign the same priority to different `LaunchTemplateOverrides` . EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. `capacityOptimizedPrioritized` is supported only if your Spot Fleet uses a launch template. Note that if the `OnDemandAllocationStrategy` is set to `prioritized` , the same priority is applied when fulfilling On-Demand capacity.\n- **diversified** - Spot Fleet requests instances from all of the Spot Instance pools that you specify.\n- **lowestPrice (not recommended)** - > We don't recommend the `lowestPrice` allocation strategy because it has the highest risk of interruption for your Spot Instances. \n\nSpot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.\n\nDefault: `lowestPrice`", - "title": "AllocationStrategy", + "Condition": { "type": "string" }, - "Context": { - "markdownDescription": "Reserved.", - "title": "Context", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ExcessCapacityTerminationPolicy": { - "markdownDescription": "Indicates whether running Spot Instances should be terminated if you decrease the target capacity of the Spot Fleet request below the current size of the Spot Fleet.\n\nSupported only for fleets of type `maintain` .", - "title": "ExcessCapacityTerminationPolicy", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IpamId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IpamId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::IpamExternalResourceVerificationToken" + ], "type": "string" }, - "IamFleetRole": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that grants the Spot Fleet the permission to request, launch, terminate, and tag instances on your behalf. For more information, see [Spot Fleet Prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites) in the *Amazon EC2 User Guide* . Spot Fleet can terminate Spot Instances on your behalf when you cancel its Spot Fleet request or when the Spot Fleet request expires, if you set `TerminateInstancesWithExpiration` .", - "title": "IamFleetRole", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::KeyPair": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "InstanceInterruptionBehavior": { - "markdownDescription": "The behavior when a Spot Instance is interrupted. The default is `terminate` .", - "title": "InstanceInterruptionBehavior", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "InstancePoolsToUseCount": { - "markdownDescription": "The number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot *AllocationStrategy* is set to `lowest-price` . Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.\n\nNote that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified.", - "title": "InstancePoolsToUseCount", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "LaunchSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetLaunchSpecification" - }, - "markdownDescription": "The launch specifications for the Spot Fleet request. If you specify `LaunchSpecifications` , you can't specify `LaunchTemplateConfigs` .", - "title": "LaunchSpecifications", - "type": "array" + "Metadata": { + "type": "object" }, - "LaunchTemplateConfigs": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateConfig" + "Properties": { + "additionalProperties": false, + "properties": { + "KeyFormat": { + "markdownDescription": "The format of the key pair.\n\nDefault: `pem`", + "title": "KeyFormat", + "type": "string" + }, + "KeyName": { + "markdownDescription": "A unique name for the key pair.\n\nConstraints: Up to 255 ASCII characters", + "title": "KeyName", + "type": "string" + }, + "KeyType": { + "markdownDescription": "The type of key pair. Note that ED25519 keys are not supported for Windows instances.\n\nIf the `PublicKeyMaterial` property is specified, the `KeyType` property is ignored, and the key type is inferred from the `PublicKeyMaterial` value.\n\nDefault: `rsa`", + "title": "KeyType", + "type": "string" + }, + "PublicKeyMaterial": { + "markdownDescription": "The public key material. The `PublicKeyMaterial` property is used to import a key pair. If this property is not specified, then a new key pair will be created.", + "title": "PublicKeyMaterial", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the key pair.", + "title": "Tags", + "type": "array" + } }, - "markdownDescription": "The launch template and overrides. If you specify `LaunchTemplateConfigs` , you can't specify `LaunchSpecifications` .", - "title": "LaunchTemplateConfigs", - "type": "array" + "required": [ + "KeyName" + ], + "type": "object" }, - "LoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LoadBalancersConfig", - "markdownDescription": "One or more Classic Load Balancers and target groups to attach to the Spot Fleet request. Spot Fleet registers the running Spot Instances with the specified Classic Load Balancers and target groups.\n\nWith Network Load Balancers, Spot Fleet cannot register instances that have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1.", - "title": "LoadBalancersConfig" + "Type": { + "enum": [ + "AWS::EC2::KeyPair" + ], + "type": "string" }, - "OnDemandAllocationStrategy": { - "markdownDescription": "The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify `lowestPrice` , Spot Fleet uses price to determine the order, launching the lowest price first. If you specify `prioritized` , Spot Fleet uses the priority that you assign to each Spot Fleet launch template override, launching the highest priority first. If you do not specify a value, Spot Fleet defaults to `lowestPrice` .", - "title": "OnDemandAllocationStrategy", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LaunchTemplate": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "OnDemandMaxTotalPrice": { - "markdownDescription": "The maximum amount per hour for On-Demand Instances that you're willing to pay. You can use the `onDemandMaxTotalPrice` parameter, the `spotMaxTotalPrice` parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn\u2019t met the target capacity.\n\n> If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `onDemandMaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `onDemandMaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", - "title": "OnDemandMaxTotalPrice", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "OnDemandTargetCapacity": { - "markdownDescription": "The number of On-Demand units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is `maintain` , you can specify a target capacity of 0 and add capacity later.", - "title": "OnDemandTargetCapacity", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ReplaceUnhealthyInstances": { - "markdownDescription": "Indicates whether Spot Fleet should replace unhealthy instances.", - "title": "ReplaceUnhealthyInstances", - "type": "boolean" + "Metadata": { + "type": "object" }, - "SpotMaintenanceStrategies": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotMaintenanceStrategies", - "markdownDescription": "The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.", - "title": "SpotMaintenanceStrategies" + "Properties": { + "additionalProperties": false, + "properties": { + "LaunchTemplateData": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData", + "markdownDescription": "The information for the launch template.", + "title": "LaunchTemplateData" + }, + "LaunchTemplateName": { + "markdownDescription": "A name for the launch template.", + "title": "LaunchTemplateName", + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification" + }, + "markdownDescription": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be `launch-template` .\n\nTo specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) .", + "title": "TagSpecifications", + "type": "array" + }, + "VersionDescription": { + "markdownDescription": "A description for the first version of the launch template.", + "title": "VersionDescription", + "type": "string" + } + }, + "required": [ + "LaunchTemplateData" + ], + "type": "object" }, - "SpotMaxTotalPrice": { - "markdownDescription": "The maximum amount per hour for Spot Instances that you're willing to pay. You can use the `spotMaxTotalPrice` parameter, the `onDemandMaxTotalPrice` parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn\u2019t met the target capacity.\n\n> If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `spotMaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `spotMaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", - "title": "SpotMaxTotalPrice", + "Type": { + "enum": [ + "AWS::EC2::LaunchTemplate" + ], "type": "string" }, - "SpotPrice": { - "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.", - "title": "SpotPrice", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LaunchTemplate.AcceleratorCount": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of accelerators. To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` .", + "title": "Max", + "type": "number" }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" - }, - "markdownDescription": "The key-value pair for tagging the Spot Fleet request on creation. The value for `ResourceType` must be `spot-fleet-request` , otherwise the Spot Fleet request fails. To tag instances at launch, specify the tags in the [launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template) (valid only if you use `LaunchTemplateConfigs` ) or in the `[SpotFleetTagSpecification](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetTagSpecification.html)` (valid only if you use `LaunchSpecifications` ). For information about tagging after launch, see [Tag your resources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources) .", - "title": "TagSpecifications", - "type": "array" + "Min": { + "markdownDescription": "The minimum number of accelerators. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.AcceleratorTotalMemoryMiB": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" }, - "TargetCapacity": { - "markdownDescription": "The number of units to request for the Spot Fleet. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is `maintain` , you can specify a target capacity of 0 and add capacity later.", - "title": "TargetCapacity", + "Min": { + "markdownDescription": "The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.BaselineEbsBandwidthMbps": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.", + "title": "Max", "type": "number" }, - "TargetCapacityUnitType": { - "markdownDescription": "The unit for the target capacity. You can specify this parameter only when using attribute-based instance type selection.\n\nDefault: `units` (the number of instances)", - "title": "TargetCapacityUnitType", + "Min": { + "markdownDescription": "The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.BaselinePerformanceFactors": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Cpu", + "markdownDescription": "The CPU performance to consider, using an instance family as the baseline reference.", + "title": "Cpu" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "markdownDescription": "The device name (for example, /dev/sdh or xvdh).", + "title": "DeviceName", "type": "string" }, - "TerminateInstancesWithExpiration": { - "markdownDescription": "Indicates whether running Spot Instances are terminated when the Spot Fleet request expires.", - "title": "TerminateInstancesWithExpiration", - "type": "boolean" + "Ebs": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs", + "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.", + "title": "Ebs" }, - "Type": { - "markdownDescription": "The type of request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. When this value is `request` , the Spot Fleet only places the required requests. It does not attempt to replenish Spot Instances if capacity is diminished, nor does it submit requests in alternative Spot pools if capacity is not available. When this value is `maintain` , the Spot Fleet maintains the target capacity. The Spot Fleet places the required requests to meet capacity and automatically replenishes any interrupted instances. Default: `maintain` . `instant` is listed but is not used by Spot Fleet.", - "title": "Type", + "NoDevice": { + "markdownDescription": "To omit the device from the block device mapping, specify an empty string.", + "title": "NoDevice", "type": "string" }, - "ValidFrom": { - "markdownDescription": "The start date and time of the request, in UTC format ( *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). By default, Amazon EC2 starts fulfilling the request immediately.", - "title": "ValidFrom", + "VirtualName": { + "markdownDescription": "The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.", + "title": "VirtualName", "type": "string" - }, - "ValidUntil": { - "markdownDescription": "The end date and time of the request, in UTC format ( *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). After the end date and time, no new Spot Instance requests are placed or able to fulfill the request. If no value is specified, the Spot Fleet request remains until you cancel it.", - "title": "ValidUntil", + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { + "additionalProperties": false, + "properties": { + "CapacityReservationPreference": { + "markdownDescription": "Indicates the instance's Capacity Reservation preferences. Possible preferences include:\n\n- `capacity-reservations-only` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.\n- `open` - The instance can run in any `open` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).\n- `none` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.", + "title": "CapacityReservationPreference", "type": "string" + }, + "CapacityReservationTarget": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget", + "markdownDescription": "Information about the target Capacity Reservation or Capacity Reservation group.", + "title": "CapacityReservationTarget" } }, - "required": [ - "IamFleetRole", - "TargetCapacity" - ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { "additionalProperties": false, "properties": { - "ResourceType": { - "markdownDescription": "The type of resource. Currently, the only resource type that is supported is `instance` . To tag the Spot Fleet request on creation, use the `TagSpecifications` parameter in `[SpotFleetRequestConfigData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetRequestConfigData.html)` .", - "title": "ResourceType", + "CapacityReservationId": { + "markdownDescription": "The ID of the Capacity Reservation in which to run the instance.", + "title": "CapacityReservationId", "type": "string" }, - "Tags": { + "CapacityReservationResourceGroupArn": { + "markdownDescription": "The ARN of the Capacity Reservation resource group in which to run the instance.", + "title": "CapacityReservationResourceGroupArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.ConnectionTrackingSpecification": { + "additionalProperties": false, + "properties": { + "TcpEstablishedTimeout": { + "markdownDescription": "Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.", + "title": "TcpEstablishedTimeout", + "type": "number" + }, + "UdpStreamTimeout": { + "markdownDescription": "Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.", + "title": "UdpStreamTimeout", + "type": "number" + }, + "UdpTimeout": { + "markdownDescription": "Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.", + "title": "UdpTimeout", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Cpu": { + "additionalProperties": false, + "properties": { + "References": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Reference" }, - "markdownDescription": "The tags.", - "title": "Tags", + "markdownDescription": "The instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes are compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.", + "title": "References", "type": "array" } }, "type": "object" }, - "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { + "AWS::EC2::LaunchTemplate.CpuOptions": { "additionalProperties": false, "properties": { - "CapacityRebalance": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance", - "markdownDescription": "The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see [Capacity rebalancing](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html) in the *Amazon EC2 User Guide* .", - "title": "CapacityRebalance" + "AmdSevSnp": { + "markdownDescription": "Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. For more information, see [AMD SEV-SNP for Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sev-snp.html) .", + "title": "AmdSevSnp", + "type": "string" + }, + "CoreCount": { + "markdownDescription": "The number of CPU cores for the instance.", + "title": "CoreCount", + "type": "number" + }, + "NestedVirtualization": { + "type": "string" + }, + "ThreadsPerCore": { + "markdownDescription": "The number of threads per CPU core. To disable multithreading for the instance, specify a value of `1` . Otherwise, specify the default value of `2` .", + "title": "ThreadsPerCore", + "type": "number" } }, "type": "object" }, - "AWS::EC2::SpotFleet.SpotPlacement": { + "AWS::EC2::LaunchTemplate.CreditSpecification": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone.\n\nTo specify multiple Availability Zones, separate them using commas; for example, \"us-west-2a, us-west-2b\".", - "title": "AvailabilityZone", + "CpuCredits": { + "markdownDescription": "The credit option for CPU usage of a T instance.\n\nValid values: `standard` | `unlimited`", + "title": "CpuCredits", "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "markdownDescription": "Indicates whether the EBS volume is deleted on instance termination.", + "title": "DeleteOnTermination", + "type": "boolean" }, - "AvailabilityZoneId": { - "markdownDescription": "The ID of the Availability Zone. For example, `use2-az1` .\n\n[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, \" `use2-az1` , `use2-bz1` \".\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", - "title": "AvailabilityZoneId", + "EbsCardIndex": { + "type": "number" + }, + "Encrypted": { + "markdownDescription": "Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value.", + "title": "Encrypted", + "type": "boolean" + }, + "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 - 80,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nFor `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) . On other instances, you can achieve performance up to 32,000 IOPS.\n\nThis parameter is supported for `io1` , `io2` , and `gp3` volumes only.", + "title": "Iops", + "type": "number" + }, + "KmsKeyId": { + "markdownDescription": "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.", + "title": "KmsKeyId", "type": "string" }, - "GroupName": { - "markdownDescription": "The name of the placement group.", - "title": "GroupName", + "SnapshotId": { + "markdownDescription": "The ID of the snapshot.", + "title": "SnapshotId", "type": "string" }, - "Tenancy": { - "markdownDescription": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of `dedicated` runs on single-tenant hardware. The `host` tenancy is not supported for Spot Instances.", - "title": "Tenancy", + "Throughput": { + "markdownDescription": "The throughput to provision for a `gp3` volume, with a maximum of 2,000 MiB/s.\n\nValid Range: Minimum value of 125. Maximum value of 2,000.", + "title": "Throughput", + "type": "number" + }, + "VolumeInitializationRate": { + "markdownDescription": "Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as *volume initialization* . Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation.\n\nThis parameter is supported only for volumes created from snapshots. Omit this parameter if:\n\n- You want to create the volume using fast snapshot restore. You must specify a snapshot that is enabled for fast snapshot restore. In this case, the volume is fully initialized at creation.\n\n> If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, the volume will be initialized at the specified rate instead of fast snapshot restore.\n- You want to create a volume that is initialized at the default rate.\n\nFor more information, see [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EC2 User Guide* .\n\nValid range: 100 - 300 MiB/s", + "title": "VolumeInitializationRate", + "type": "number" + }, + "VolumeSize": { + "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following are the supported volumes sizes for each volume type:\n\n- `gp2` : 1 - 16,384 GiB\n- `gp3` : 1 - 65,536 GiB\n- `io1` : 4 - 16,384 GiB\n- `io2` : 4 - 65,536 GiB\n- `st1` and `sc1` : 125 - 16,384 GiB\n- `standard` : 1 - 1024 GiB", + "title": "VolumeSize", + "type": "number" + }, + "VolumeType": { + "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .", + "title": "VolumeType", "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.TargetGroup": { + "AWS::EC2::LaunchTemplate.EnaSrdSpecification": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the target group.", - "title": "Arn", - "type": "string" + "EnaSrdEnabled": { + "markdownDescription": "Indicates whether ENA Express is enabled for the network interface.", + "title": "EnaSrdEnabled", + "type": "boolean" + }, + "EnaSrdUdpSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification", + "markdownDescription": "Configures ENA Express for UDP network traffic.", + "title": "EnaSrdUdpSpecification" } }, - "required": [ - "Arn" - ], "type": "object" }, - "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification": { "additionalProperties": false, "properties": { - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" - }, - "markdownDescription": "One or more target groups.", - "title": "TargetGroups", - "type": "array" + "EnaSrdUdpEnabled": { + "markdownDescription": "Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.", + "title": "EnaSrdUdpEnabled", + "type": "boolean" } }, - "required": [ - "TargetGroups" - ], "type": "object" }, - "AWS::EC2::SpotFleet.TotalLocalStorageGBRequest": { + "AWS::EC2::LaunchTemplate.EnclaveOptions": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "Enabled": { + "markdownDescription": "If this parameter is set to `true` , the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.", + "title": "Enabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "markdownDescription": "If you set this parameter to `true` , the instance is enabled for hibernation.\n\nDefault: `false`", + "title": "Configured", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.IamInstanceProfile": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile.", + "title": "Arn", + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "Name": { + "markdownDescription": "The name of the instance profile.", + "title": "Name", + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.VCpuCountRangeRequest": { + "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of vCPUs. To specify no maximum limit, omit this parameter.", - "title": "Max", + "MarketType": { + "markdownDescription": "The market type.", + "title": "MarketType", + "type": "string" + }, + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions", + "markdownDescription": "The options for Spot Instances.", + "title": "SpotOptions" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.InstanceRequirements": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.AcceleratorCount", + "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n\nTo exclude accelerator-enabled instance types, set `Max` to `0` .\n\nDefault: No minimum or maximum limits", + "title": "AcceleratorCount" + }, + "AcceleratorManufacturers": { + "items": { + "type": "string" + }, + "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n\n- For instance types with AWS devices, specify `amazon-web-services` .\n- For instance types with AMD devices, specify `amd` .\n- For instance types with Habana devices, specify `habana` .\n- For instance types with NVIDIA devices, specify `nvidia` .\n- For instance types with Xilinx devices, specify `xilinx` .\n\nDefault: Any manufacturer", + "title": "AcceleratorManufacturers", + "type": "array" + }, + "AcceleratorNames": { + "items": { + "type": "string" + }, + "markdownDescription": "The accelerators that must be on the instance type.\n\n- For instance types with NVIDIA A10G GPUs, specify `a10g` .\n- For instance types with NVIDIA A100 GPUs, specify `a100` .\n- For instance types with NVIDIA H100 GPUs, specify `h100` .\n- For instance types with AWS Inferentia chips, specify `inferentia` .\n- For instance types with AWS Inferentia2 chips, specify `inferentia2` .\n- For instance types with Habana Gaudi HL-205 GPUs, specify `gaudi-hl-205` .\n- For instance types with NVIDIA GRID K520 GPUs, specify `k520` .\n- For instance types with NVIDIA K80 GPUs, specify `k80` .\n- For instance types with NVIDIA L4 GPUs, specify `l4` .\n- For instance types with NVIDIA L40S GPUs, specify `l40s` .\n- For instance types with NVIDIA M60 GPUs, specify `m60` .\n- For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` .\n- For instance types with AWS Trainium chips, specify `trainium` .\n- For instance types with AWS Trainium2 chips, specify `trainium2` .\n- For instance types with NVIDIA T4 GPUs, specify `t4` .\n- For instance types with NVIDIA T4G GPUs, specify `t4g` .\n- For instance types with Xilinx U30 cards, specify `u30` .\n- For instance types with Xilinx VU9P FPGAs, specify `vu9p` .\n- For instance types with NVIDIA V100 GPUs, specify `v100` .\n\nDefault: Any accelerator", + "title": "AcceleratorNames", + "type": "array" + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.AcceleratorTotalMemoryMiB", + "markdownDescription": "The minimum and maximum amount of total accelerator memory, in MiB.\n\nDefault: No minimum or maximum limits", + "title": "AcceleratorTotalMemoryMiB" + }, + "AcceleratorTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The accelerator types that must be on the instance type.\n\n- For instance types with FPGA accelerators, specify `fpga` .\n- For instance types with GPU accelerators, specify `gpu` .\n- For instance types with Inference accelerators, specify `inference` .\n- For instance types with Media accelerators, specify `media` .\n\nDefault: Any accelerator type", + "title": "AcceleratorTypes", + "type": "array" + }, + "AllowedInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n\n> If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . \n\nDefault: All instance types", + "title": "AllowedInstanceTypes", + "type": "array" + }, + "BareMetal": { + "markdownDescription": "Indicates whether bare metal instance types must be included, excluded, or required.\n\n- To include bare metal instance types, specify `included` .\n- To require only bare metal instance types, specify `required` .\n- To exclude bare metal instance types, specify `excluded` .\n\nDefault: `excluded`", + "title": "BareMetal", + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BaselineEbsBandwidthMbps", + "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", + "title": "BaselineEbsBandwidthMbps" + }, + "BaselinePerformanceFactors": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BaselinePerformanceFactors", + "markdownDescription": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .", + "title": "BaselinePerformanceFactors" + }, + "BurstablePerformance": { + "markdownDescription": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`", + "title": "BurstablePerformance", + "type": "string" + }, + "CpuManufacturers": { + "items": { + "type": "string" + }, + "markdownDescription": "The CPU manufacturers to include.\n\n- For instance types with Intel CPUs, specify `intel` .\n- For instance types with AMD CPUs, specify `amd` .\n- For instance types with AWS CPUs, specify `amazon-web-services` .\n- For instance types with Apple CPUs, specify `apple` .\n\n> Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. \n\nDefault: Any manufacturer", + "title": "CpuManufacturers", + "type": "array" + }, + "ExcludedInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The instance types to exclude.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n\n> If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . \n\nDefault: No excluded instance types", + "title": "ExcludedInstanceTypes", + "type": "array" + }, + "InstanceGenerations": { + "items": { + "type": "string" + }, + "markdownDescription": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nFor current generation instance types, specify `current` .\n\nFor previous generation instance types, specify `previous` .\n\nDefault: Current and previous generation instance types", + "title": "InstanceGenerations", + "type": "array" + }, + "LocalStorage": { + "markdownDescription": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* .\n\n- To include instance types with instance store volumes, specify `included` .\n- To require only instance types with instance store volumes, specify `required` .\n- To exclude instance types with instance store volumes, specify `excluded` .\n\nDefault: `included`", + "title": "LocalStorage", + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The type of local storage that is required.\n\n- For instance types with hard disk drive (HDD) storage, specify `hdd` .\n- For instance types with solid state drive (SSD) storage, specify `ssd` .\n\nDefault: `hdd` and `ssd`", + "title": "LocalStorageTypes", + "type": "array" + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` .", + "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", "type": "number" }, - "Min": { - "markdownDescription": "The minimum number of vCPUs. To specify no minimum limit, specify `0` .", - "title": "Min", - "type": "number" + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu", + "markdownDescription": "The minimum and maximum amount of memory per vCPU, in GiB.\n\nDefault: No minimum or maximum limits", + "title": "MemoryGiBPerVCpu" + }, + "MemoryMiB": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MemoryMiB", + "markdownDescription": "The minimum and maximum amount of memory, in MiB.", + "title": "MemoryMiB" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkBandwidthGbps", + "markdownDescription": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n\nDefault: No minimum or maximum limits", + "title": "NetworkBandwidthGbps" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterfaceCount", + "markdownDescription": "The minimum and maximum number of network interfaces.\n\nDefault: No minimum or maximum limits", + "title": "NetworkInterfaceCount" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nTo turn off price protection, specify a high value, such as `999999` .\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. \n\nDefault: `20`", + "title": "OnDemandMaxPricePercentageOverLowestPrice", + "type": "number" + }, + "RequireHibernateSupport": { + "markdownDescription": "Indicates whether instance types must support hibernation for On-Demand Instances.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) .\n\nDefault: `false`", + "title": "RequireHibernateSupport", + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` . \n\nDefault: `100`", + "title": "SpotMaxPricePercentageOverLowestPrice", + "type": "number" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TotalLocalStorageGB", + "markdownDescription": "The minimum and maximum amount of total local storage, in GB.\n\nDefault: No minimum or maximum limits", + "title": "TotalLocalStorageGB" + }, + "VCpuCount": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.VCpuCount", + "markdownDescription": "The minimum and maximum number of vCPUs.", + "title": "VCpuCount" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ipv4PrefixSpecification": { + "additionalProperties": false, + "properties": { + "Ipv4Prefix": { + "markdownDescription": "The IPv4 prefix. For information, see [Assigning prefixes to network interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) in the *Amazon EC2 User Guide* .", + "title": "Ipv4Prefix", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ipv6Add": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "markdownDescription": "One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.", + "title": "Ipv6Address", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ipv6PrefixSpecification": { + "additionalProperties": false, + "properties": { + "Ipv6Prefix": { + "markdownDescription": "The IPv6 prefix.", + "title": "Ipv6Prefix", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateData": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" + }, + "markdownDescription": "The block device mapping.", + "title": "BlockDeviceMappings", + "type": "array" + }, + "CapacityReservationSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification", + "markdownDescription": "The Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to `open` , which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).", + "title": "CapacityReservationSpecification" + }, + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions", + "markdownDescription": "The CPU options for the instance. For more information, see [CPU options for Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *Amazon EC2 User Guide* .", + "title": "CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification", + "markdownDescription": "The credit option for CPU usage of the instance. Valid only for T instances.", + "title": "CreditSpecification" + }, + "DisableApiStop": { + "markdownDescription": "Indicates whether to enable the instance for stop protection. For more information, see [Enable stop protection for your EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html) in the *Amazon EC2 User Guide* .", + "title": "DisableApiStop", + "type": "boolean" + }, + "DisableApiTermination": { + "markdownDescription": "Indicates whether termination protection is enabled for the instance. The default is `false` , which means that you can terminate the instance using the Amazon EC2 console, command line tools, or API. You can enable termination protection when you launch an instance, while the instance is running, or while the instance is stopped.", + "title": "DisableApiTermination", + "type": "boolean" + }, + "EbsOptimized": { + "markdownDescription": "Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.", + "title": "EbsOptimized", + "type": "boolean" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions", + "markdownDescription": "Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see [What is Nitro Enclaves?](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html) in the *AWS Nitro Enclaves User Guide* .\n\nYou can't enable AWS Nitro Enclaves and hibernation on the same instance.", + "title": "EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions", + "markdownDescription": "Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the [hibernation prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernating-prerequisites.html) . For more information, see [Hibernate your Amazon EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) in the *Amazon EC2 User Guide* .", + "title": "HibernationOptions" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile", + "markdownDescription": "The name or Amazon Resource Name (ARN) of an IAM instance profile.", + "title": "IamInstanceProfile" + }, + "ImageId": { + "markdownDescription": "The ID of the AMI. Alternatively, you can specify a Systems Manager parameter, which will resolve to an AMI ID on launch.\n\nValid formats:\n\n- `ami-0ac394d6a3example`\n- `resolve:ssm:parameter-name`\n- `resolve:ssm:parameter-name:version-number`\n- `resolve:ssm:parameter-name:label`\n\nFor more information, see [Use a Systems Manager parameter to find an AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html#using-systems-manager-parameter-to-find-AMI) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "ImageId", + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "markdownDescription": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).\n\nDefault: `stop`", + "title": "InstanceInitiatedShutdownBehavior", + "type": "string" + }, + "InstanceMarketOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions", + "markdownDescription": "The market (purchasing) option for the instances.", + "title": "InstanceMarketOptions" + }, + "InstanceRequirements": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceRequirements", + "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n\nYou must specify `VCpuCount` and `MemoryMiB` . All other attributes are optional. Any unspecified optional attribute is set to its default.\n\nWhen you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n\nTo limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n\n- `AllowedInstanceTypes` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n- `ExcludedInstanceTypes` - The instance types to exclude from the list, even if they match your specified attributes.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .\n> \n> Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html) , or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify `InstanceRequirements` . \n\nFor more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide* .", + "title": "InstanceRequirements" + }, + "InstanceType": { + "markdownDescription": "The instance type. For more information, see [Amazon EC2 instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nIf you specify `InstanceType` , you can't specify `InstanceRequirements` .", + "title": "InstanceType", + "type": "string" + }, + "KernelId": { + "markdownDescription": "The ID of the kernel.\n\nWe recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [User Provided Kernels](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", + "title": "KernelId", + "type": "string" + }, + "KeyName": { + "markdownDescription": "The name of the key pair. You can create a key pair using [CreateKeyPair](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html) or [ImportKeyPair](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html) .\n\n> If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.", + "title": "KeyName", + "type": "string" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" + }, + "markdownDescription": "The license configurations.", + "title": "LicenseSpecifications", + "type": "array" + }, + "MaintenanceOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MaintenanceOptions", + "markdownDescription": "The maintenance options of your instance.", + "title": "MaintenanceOptions" + }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions", + "markdownDescription": "The metadata options for the instance. For more information, see [Configure the Instance Metadata Service options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) in the *Amazon EC2 User Guide* .", + "title": "MetadataOptions" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring", + "markdownDescription": "The monitoring for the instance.", + "title": "Monitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" + }, + "markdownDescription": "The network interfaces for the instance.", + "title": "NetworkInterfaces", + "type": "array" + }, + "NetworkPerformanceOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkPerformanceOptions", + "markdownDescription": "The settings for the network performance options for the instance. For more information, see [EC2 instance bandwidth weighting configuration](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html) .", + "title": "NetworkPerformanceOptions" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement", + "markdownDescription": "The placement for the instance.", + "title": "Placement" + }, + "PrivateDnsNameOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateDnsNameOptions", + "markdownDescription": "The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries should be handled. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "PrivateDnsNameOptions" + }, + "RamDiskId": { + "markdownDescription": "The ID of the RAM disk.\n\n> We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [User provided kernels](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", + "title": "RamDiskId", + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the security groups. You can specify the IDs of existing security groups and references to resources created by the stack template.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface instead.", + "title": "SecurityGroupIds", + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "The names of the security groups. For a nondefault VPC, you must use security group IDs instead.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.", + "title": "SecurityGroups", + "type": "array" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" + }, + "markdownDescription": "The tags to apply to resources that are created during instance launch.\n\nTo tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications) .", + "title": "TagSpecifications", + "type": "array" + }, + "UserData": { + "markdownDescription": "The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands when you launch an EC2 instance with user data input](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) in the *Amazon EC2 User Guide* .\n\nIf you are creating the launch template for use with AWS Batch , the user data must be provided in the [MIME multi-part archive format](https://docs.aws.amazon.com/https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive) . For more information, see [Amazon EC2 user data in launch templates](https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html#lt-user-data) in the *AWS Batch User Guide* .", + "title": "UserData", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "markdownDescription": "The type of resource. To tag a launch template, `ResourceType` must be `launch-template` .", + "title": "ResourceType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LicenseSpecification": { + "additionalProperties": false, + "properties": { + "LicenseConfigurationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the license configuration.", + "title": "LicenseConfigurationArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.MaintenanceOptions": { + "additionalProperties": false, + "properties": { + "AutoRecovery": { + "markdownDescription": "Disables the automatic recovery behavior of your instance or sets it to default.", + "title": "AutoRecovery", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.MemoryMiB": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of memory, in MiB. To specify no minimum limit, specify `0` .", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.MetadataOptions": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "markdownDescription": "Enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is `enabled` .\n\n> If you specify a value of `disabled` , you will not be able to access your instance metadata.", + "title": "HttpEndpoint", + "type": "string" + }, + "HttpProtocolIpv6": { + "markdownDescription": "Enables or disables the IPv6 endpoint for the instance metadata service.\n\nDefault: `disabled`", + "title": "HttpProtocolIpv6", + "type": "string" + }, + "HttpPutResponseHopLimit": { + "markdownDescription": "The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.\n\nDefault: `1`\n\nPossible values: Integers from 1 to 64", + "title": "HttpPutResponseHopLimit", + "type": "number" + }, + "HttpTokens": { + "markdownDescription": "Indicates whether IMDSv2 is required.\n\n- `optional` - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.\n- `required` - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.\n\nDefault: If the value of `ImdsSupport` for the Amazon Machine Image (AMI) for your instance is `v2.0` , the default is `required` .", + "title": "HttpTokens", + "type": "string" + }, + "InstanceMetadataTags": { + "markdownDescription": "Set to `enabled` to allow access to instance tags from the instance metadata. Set to `disabled` to turn off access to instance tags from the instance metadata. For more information, see [View tags for your EC2 instances using instance metadata](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/work-with-tags-in-IMDS.html) .\n\nDefault: `disabled`", + "title": "InstanceMetadataTags", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Monitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "Specify `true` to enable detailed monitoring. Otherwise, basic monitoring is enabled.", + "title": "Enabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.NetworkBandwidthGbps": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no minimum limit.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociateCarrierIpAddress": { + "markdownDescription": "Associates a Carrier IP address with eth0 for a new network interface.\n\nUse this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. For more information about Carrier IP addresses, see [Carrier IP addresses](https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip) in the *AWS Wavelength Developer Guide* .", + "title": "AssociateCarrierIpAddress", + "type": "boolean" + }, + "AssociatePublicIpAddress": { + "markdownDescription": "Associates a public IPv4 address with eth0 for a new network interface.\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [Amazon VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", + "title": "AssociatePublicIpAddress", + "type": "boolean" + }, + "ConnectionTrackingSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ConnectionTrackingSpecification", + "markdownDescription": "A connection tracking specification for the network interface.", + "title": "ConnectionTrackingSpecification" + }, + "DeleteOnTermination": { + "markdownDescription": "Indicates whether the network interface is deleted when the instance is terminated.", + "title": "DeleteOnTermination", + "type": "boolean" + }, + "Description": { + "markdownDescription": "A description for the network interface.", + "title": "Description", + "type": "string" + }, + "DeviceIndex": { + "markdownDescription": "The device index for the network interface attachment. The primary network interface has a device index of 0. If the network interface is of type `interface` , you must specify a device index.\n\nIf you create a launch template that includes secondary network interfaces but no primary network interface, and you specify it using the `LaunchTemplate` property of `AWS::EC2::Instance` , then you must include a primary network interface using the `NetworkInterfaces` property of `AWS::EC2::Instance` .", + "title": "DeviceIndex", + "type": "number" + }, + "EnaQueueCount": { + "markdownDescription": "The number of ENA queues to be created with the instance.", + "title": "EnaQueueCount", + "type": "number" + }, + "EnaSrdSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdSpecification", + "markdownDescription": "The ENA Express configuration for the network interface.", + "title": "EnaSrdSpecification" + }, + "Groups": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of one or more security groups.", + "title": "Groups", + "type": "array" + }, + "InterfaceType": { + "markdownDescription": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify `efa` or `efa` . For more information, see [Elastic Fabric Adapter for AI/ML and HPC workloads on Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide* .\n\nIf you are not creating an EFA, specify `interface` or omit this parameter.\n\nIf you specify `efa-only` , do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.\n\nValid values: `interface` | `efa` | `efa-only`", + "title": "InterfaceType", + "type": "string" + }, + "Ipv4PrefixCount": { + "markdownDescription": "The number of IPv4 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the `Ipv4Prefix` option.", + "title": "Ipv4PrefixCount", + "type": "number" + }, + "Ipv4Prefixes": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv4PrefixSpecification" + }, + "markdownDescription": "One or more IPv4 prefixes to be assigned to the network interface. You cannot use this option if you use the `Ipv4PrefixCount` option.", + "title": "Ipv4Prefixes", + "type": "array" + }, + "Ipv6AddressCount": { + "markdownDescription": "The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.", + "title": "Ipv6AddressCount", + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" + }, + "markdownDescription": "One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.", + "title": "Ipv6Addresses", + "type": "array" + }, + "Ipv6PrefixCount": { + "markdownDescription": "The number of IPv6 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the `Ipv6Prefix` option.", + "title": "Ipv6PrefixCount", + "type": "number" + }, + "Ipv6Prefixes": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6PrefixSpecification" + }, + "markdownDescription": "One or more IPv6 prefixes to be assigned to the network interface. You cannot use this option if you use the `Ipv6PrefixCount` option.", + "title": "Ipv6Prefixes", + "type": "array" + }, + "NetworkCardIndex": { + "markdownDescription": "The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.", + "title": "NetworkCardIndex", + "type": "number" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of the network interface.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "PrimaryIpv6": { + "markdownDescription": "The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) .", + "title": "PrimaryIpv6", + "type": "boolean" + }, + "PrivateIpAddress": { + "markdownDescription": "The primary private IPv4 address of the network interface.", + "title": "PrivateIpAddress", + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" + }, + "markdownDescription": "One or more private IPv4 addresses.", + "title": "PrivateIpAddresses", + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "markdownDescription": "The number of secondary private IPv4 addresses to assign to a network interface.", + "title": "SecondaryPrivateIpAddressCount", + "type": "number" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet for the network interface.", + "title": "SubnetId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.NetworkInterfaceCount": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of network interfaces. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of network interfaces. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.NetworkPerformanceOptions": { + "additionalProperties": false, + "properties": { + "BandwidthWeighting": { + "markdownDescription": "Specify the bandwidth weighting option to boost the associated type of baseline bandwidth, as follows:\n\n- **default** - This option uses the standard bandwidth configuration for your instance type.\n- **vpc-1** - This option boosts your networking baseline bandwidth and reduces your EBS baseline bandwidth.\n- **ebs-1** - This option boosts your EBS baseline bandwidth and reduces your networking baseline bandwidth.", + "title": "BandwidthWeighting", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "markdownDescription": "The affinity setting for an instance on a Dedicated Host.", + "title": "Affinity", + "type": "string" + }, + "AvailabilityZone": { + "markdownDescription": "The Availability Zone for the instance.\n\nEither `AvailabilityZone` or `AvailabilityZoneId` can be specified, but not both", + "title": "AvailabilityZone", + "type": "string" + }, + "GroupId": { + "markdownDescription": "The Group Id of a placement group. You must specify the Placement Group *Group Id* to launch an instance in a shared placement group.", + "title": "GroupId", + "type": "string" + }, + "GroupName": { + "markdownDescription": "The name of the placement group for the instance.", + "title": "GroupName", + "type": "string" + }, + "HostId": { + "markdownDescription": "The ID of the Dedicated Host for the instance.", + "title": "HostId", + "type": "string" + }, + "HostResourceGroupArn": { + "markdownDescription": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the *Tenancy* parameter or set it to `host` .", + "title": "HostResourceGroupArn", + "type": "string" + }, + "PartitionNumber": { + "markdownDescription": "The number of the partition the instance should launch in. Valid only if the placement group strategy is set to `partition` .", + "title": "PartitionNumber", + "type": "number" + }, + "SpreadDomain": { + "markdownDescription": "Reserved for future use.", + "title": "SpreadDomain", + "type": "string" + }, + "Tenancy": { + "markdownDescription": "The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware.", + "title": "Tenancy", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.PrivateDnsNameOptions": { + "additionalProperties": false, + "properties": { + "EnableResourceNameDnsAAAARecord": { + "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.", + "title": "EnableResourceNameDnsAAAARecord", + "type": "boolean" + }, + "EnableResourceNameDnsARecord": { + "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records.", + "title": "EnableResourceNameDnsARecord", + "type": "boolean" + }, + "HostnameType": { + "markdownDescription": "The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "HostnameType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.PrivateIpAdd": { + "additionalProperties": false, + "properties": { + "Primary": { + "markdownDescription": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.", + "title": "Primary", + "type": "boolean" + }, + "PrivateIpAddress": { + "markdownDescription": "The private IPv4 address.", + "title": "PrivateIpAddress", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Reference": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "markdownDescription": "The instance family to use as a baseline reference.\n\n> Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( `.` ) in the instance type name. For example, in the instance type `c6i.large` , the instance family is `c6i` , not `c6` . For more information, see [Amazon EC2 instance type naming conventions](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) in *Amazon EC2 Instance Types* . \n\nThe following instance families are *not supported* for performance protection:\n\n- `c1`\n- `g3` | `g3s`\n- `hpc7g`\n- `m1` | `m2`\n- `mac1` | `mac2` | `mac2-m1ultra` | `mac2-m2` | `mac2-m2pro`\n- `p3dn` | `p4d` | `p5`\n- `t1`\n- `u-12tb1` | `u-18tb1` | `u-24tb1` | `u-3tb1` | `u-6tb1` | `u-9tb1` | `u7i-12tb` | `u7in-16tb` | `u7in-24tb` | `u7in-32tb`\n\nIf you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.", + "title": "InstanceFamily", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.SpotOptions": { + "additionalProperties": false, + "properties": { + "BlockDurationMinutes": { + "markdownDescription": "Deprecated.", + "title": "BlockDurationMinutes", + "type": "number" + }, + "InstanceInterruptionBehavior": { + "markdownDescription": "The behavior when a Spot Instance is interrupted. The default is `terminate` .", + "title": "InstanceInterruptionBehavior", + "type": "string" + }, + "MaxPrice": { + "markdownDescription": "The maximum hourly price you're willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price. If you do specify this parameter, it must be more than USD $0.001. Specifying a value below USD $0.001 will result in an `InvalidParameterValue` error message when the launch template is used to launch an instance.\n\n> If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.", + "title": "MaxPrice", + "type": "string" + }, + "SpotInstanceType": { + "markdownDescription": "The Spot Instance request type.\n\nIf you are using Spot Instances with an Auto Scaling group, use `one-time` requests, as the Amazon EC2 Auto Scaling service handles requesting new Spot Instances whenever the group is below its desired capacity.", + "title": "SpotInstanceType", + "type": "string" + }, + "ValidUntil": { + "markdownDescription": "The end date of the request, in UTC format ( *YYYY-MM-DD* T *HH:MM:SS* Z). Supported only for persistent requests.\n\n- For a persistent request, the request remains active until the `ValidUntil` date and time is reached. Otherwise, the request remains active until you cancel it.\n- For a one-time request, `ValidUntil` is not supported. The request remains active until all instances launch or you cancel the request.\n\nDefault: 7 days from the current date", + "title": "ValidUntil", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "markdownDescription": "The type of resource to tag. You can specify tags for the following resource types only: `instance` | `volume` | `network-interface` | `spot-instances-request` . If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include a volume.\n\nTo tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) .", + "title": "ResourceType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.TotalLocalStorageGB": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.VCpuCount": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of vCPUs. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of vCPUs. To specify no minimum limit, specify `0` .", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LocalGatewayRoute": { + "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": { + "DestinationCidrBlock": { + "markdownDescription": "The CIDR block used for destination matches.", + "title": "DestinationCidrBlock", + "type": "string" + }, + "LocalGatewayRouteTableId": { + "markdownDescription": "The ID of the local gateway route table.", + "title": "LocalGatewayRouteTableId", + "type": "string" + }, + "LocalGatewayVirtualInterfaceGroupId": { + "markdownDescription": "The ID of the virtual interface group.", + "title": "LocalGatewayVirtualInterfaceGroupId", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of the network interface.", + "title": "NetworkInterfaceId", + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "LocalGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LocalGatewayRouteTable": { + "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": { + "LocalGatewayId": { + "markdownDescription": "The ID of the local gateway.", + "title": "LocalGatewayId", + "type": "string" + }, + "Mode": { + "markdownDescription": "The mode of the local gateway route table.", + "title": "Mode", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the local gateway route table.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "LocalGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { + "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": { + "LocalGatewayRouteTableId": { + "markdownDescription": "The ID of the local gateway route table.", + "title": "LocalGatewayRouteTableId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the association.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "LocalGatewayRouteTableId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRouteTableVPCAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { + "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": { + "LocalGatewayRouteTableId": { + "markdownDescription": "The ID of the local gateway route table.", + "title": "LocalGatewayRouteTableId", + "type": "string" + }, + "LocalGatewayVirtualInterfaceGroupId": { + "markdownDescription": "The ID of the virtual interface group.", + "title": "LocalGatewayVirtualInterfaceGroupId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the association.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "LocalGatewayRouteTableId", + "LocalGatewayVirtualInterfaceGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LocalGatewayVirtualInterface": { + "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": { + "LocalAddress": { + "markdownDescription": "The local address.", + "title": "LocalAddress", + "type": "string" + }, + "LocalGatewayVirtualInterfaceGroupId": { + "markdownDescription": "The ID of the local gateway virtual interface group.", + "title": "LocalGatewayVirtualInterfaceGroupId", + "type": "string" + }, + "OutpostLagId": { + "markdownDescription": "The Outpost LAG ID.", + "title": "OutpostLagId", + "type": "string" + }, + "PeerAddress": { + "markdownDescription": "The peer address.", + "title": "PeerAddress", + "type": "string" + }, + "PeerBgpAsn": { + "markdownDescription": "The peer BGP ASN.", + "title": "PeerBgpAsn", + "type": "number" + }, + "PeerBgpAsnExtended": { + "markdownDescription": "The extended 32-bit ASN of the BGP peer for use with larger ASN values.", + "title": "PeerBgpAsnExtended", + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the virtual interface.", + "title": "Tags", + "type": "array" + }, + "Vlan": { + "markdownDescription": "The ID of the VLAN.", + "title": "Vlan", + "type": "number" + } + }, + "required": [ + "LocalAddress", + "LocalGatewayVirtualInterfaceGroupId", + "OutpostLagId", + "PeerAddress", + "Vlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayVirtualInterface" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LocalGatewayVirtualInterfaceGroup": { + "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": { + "LocalBgpAsn": { + "markdownDescription": "The Autonomous System Number(ASN) for the local Border Gateway Protocol (BGP).", + "title": "LocalBgpAsn", + "type": "number" + }, + "LocalBgpAsnExtended": { + "markdownDescription": "The extended 32-bit ASN for the local BGP configuration.", + "title": "LocalBgpAsnExtended", + "type": "number" + }, + "LocalGatewayId": { + "markdownDescription": "The ID of the local gateway.", + "title": "LocalGatewayId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the virtual interface group.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "LocalGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayVirtualInterfaceGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NatGateway": { + "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": { + "AllocationId": { + "markdownDescription": "[Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway. This property is required for a public NAT gateway and cannot be specified with a private NAT gateway.", + "title": "AllocationId", + "type": "string" + }, + "AvailabilityMode": { + "markdownDescription": "Indicates whether this is a zonal (single-AZ) or regional (multi-AZ) NAT gateway.\n\nA zonal NAT gateway is a NAT Gateway that provides redundancy and scalability within a single availability zone. A regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.\n\nFor more information, see [Regional NAT gateways for automatic multi-AZ expansion](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html) in the *Amazon VPC User Guide* .", + "title": "AvailabilityMode", + "type": "string" + }, + "AvailabilityZoneAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NatGateway.AvailabilityZoneAddress" + }, + "markdownDescription": "For regional NAT gateways only: Specifies which Availability Zones you want the NAT gateway to support and the Elastic IP addresses (EIPs) to use in each AZ. The regional NAT gateway uses these EIPs to handle outbound NAT traffic from their respective AZs. If not specified, the NAT gateway will automatically expand to new AZs and associate EIPs upon detection of an elastic network interface. If you specify this parameter, auto-expansion is disabled and you must manually manage AZ coverage.\n\nA regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.\n\nFor more information, see [Regional NAT gateways for automatic multi-AZ expansion](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html) in the *Amazon VPC User Guide* .", + "title": "AvailabilityZoneAddresses", + "type": "array" + }, + "ConnectivityType": { + "markdownDescription": "Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.", + "title": "ConnectivityType", + "type": "string" + }, + "MaxDrainDurationSeconds": { + "markdownDescription": "The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. Default value is 350 seconds.", + "title": "MaxDrainDurationSeconds", + "type": "number" + }, + "PrivateIpAddress": { + "markdownDescription": "The private IPv4 address to assign to the NAT gateway. If you don't provide an address, a private IPv4 address will be automatically assigned.", + "title": "PrivateIpAddress", + "type": "string" + }, + "SecondaryAllocationIds": { + "items": { + "type": "string" + }, + "markdownDescription": "Secondary EIP allocation IDs. For more information, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html) in the *Amazon VPC User Guide* .", + "title": "SecondaryAllocationIds", + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "markdownDescription": "[Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon Virtual Private Cloud User Guide* .\n\n`SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be set at the same time.", + "title": "SecondaryPrivateIpAddressCount", + "type": "number" + }, + "SecondaryPrivateIpAddresses": { + "items": { + "type": "string" + }, + "markdownDescription": "Secondary private IPv4 addresses. For more information about secondary addresses, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon Virtual Private Cloud User Guide* .\n\n`SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be set at the same time.", + "title": "SecondaryPrivateIpAddresses", + "type": "array" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet in which the NAT gateway is located.", + "title": "SubnetId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the NAT gateway.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC in which the NAT gateway is located.", + "title": "VpcId", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NatGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::NatGateway.AvailabilityZoneAddress": { + "additionalProperties": false, + "properties": { + "AllocationIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The allocation IDs of the Elastic IP addresses (EIPs) to be used for handling outbound NAT traffic in this specific Availability Zone.", + "title": "AllocationIds", + "type": "array" + }, + "AvailabilityZone": { + "markdownDescription": "For regional NAT gateways only: The Availability Zone where this specific NAT gateway configuration will be active. Each AZ in a regional NAT gateway has its own configuration to handle outbound NAT traffic from that AZ.\n\nA regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.", + "title": "AvailabilityZone", + "type": "string" + }, + "AvailabilityZoneId": { + "markdownDescription": "For regional NAT gateways only: The ID of the Availability Zone where this specific NAT gateway configuration will be active. Each AZ in a regional NAT gateway has its own configuration to handle outbound NAT traffic from that AZ. Use this instead of AvailabilityZone for consistent identification of AZs across AWS Regions.\n\nA regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.", + "title": "AvailabilityZoneId", + "type": "string" + } + }, + "required": [ + "AllocationIds" + ], + "type": "object" + }, + "AWS::EC2::NetworkAcl": { + "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" + }, + "markdownDescription": "The tags for the network ACL.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC for the network ACL.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkAcl" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkAclEntry": { + "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": { + "CidrBlock": { + "markdownDescription": "The IPv4 CIDR range to allow or deny, in CIDR notation (for example, 172.16.0.0/24). You must specify an IPv4 CIDR block or an IPv6 CIDR block.", + "title": "CidrBlock", + "type": "string" + }, + "Egress": { + "markdownDescription": "Whether this rule applies to egress traffic from the subnet ( `true` ) or ingress traffic to the subnet ( `false` ). By default, AWS CloudFormation specifies `false` .", + "title": "Egress", + "type": "boolean" + }, + "Icmp": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp", + "markdownDescription": "The Internet Control Message Protocol (ICMP) code and type. Required if specifying 1 (ICMP) for the protocol parameter.", + "title": "Icmp" + }, + "Ipv6CidrBlock": { + "markdownDescription": "The IPv6 network range to allow or deny, in CIDR notation. You must specify an IPv4 CIDR block or an IPv6 CIDR block.", + "title": "Ipv6CidrBlock", + "type": "string" + }, + "NetworkAclId": { + "markdownDescription": "The ID of the ACL for the entry.", + "title": "NetworkAclId", + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange", + "markdownDescription": "The range of port numbers for the UDP/TCP protocol. Required if specifying 6 (TCP) or 17 (UDP) for the protocol parameter.", + "title": "PortRange" + }, + "Protocol": { + "markdownDescription": "The IP protocol that the rule applies to. You must specify -1 or a protocol number. You can specify -1 for all protocols.\n\n> If you specify -1, all ports are opened and the `PortRange` property is ignored.", + "title": "Protocol", + "type": "number" + }, + "RuleAction": { + "markdownDescription": "Whether to allow or deny traffic that matches the rule; valid values are \"allow\" or \"deny\".", + "title": "RuleAction", + "type": "string" + }, + "RuleNumber": { + "markdownDescription": "Rule number to assign to the entry, such as 100. ACL entries are processed in ascending order by rule number. Entries can't use the same rule number unless one is an egress rule and the other is an ingress rule.", + "title": "RuleNumber", + "type": "number" + } + }, + "required": [ + "NetworkAclId", + "Protocol", + "RuleAction", + "RuleNumber" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkAclEntry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.Icmp": { + "additionalProperties": false, + "properties": { + "Code": { + "markdownDescription": "The Internet Control Message Protocol (ICMP) code. You can use -1 to specify all ICMP codes for the given ICMP type. Required if you specify 1 (ICMP) for the protocol parameter.", + "title": "Code", + "type": "number" + }, + "Type": { + "markdownDescription": "The Internet Control Message Protocol (ICMP) type. You can use -1 to specify all ICMP types. Conditional requirement: Required if you specify 1 (ICMP) for the `CreateNetworkAclEntry` protocol parameter.", + "title": "Type", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "markdownDescription": "The first port in the range. Required if you specify 6 (TCP) or 17 (UDP) for the protocol parameter.", + "title": "From", + "type": "number" + }, + "To": { + "markdownDescription": "The last port in the range. Required if you specify 6 (TCP) or 17 (UDP) for the protocol parameter.", + "title": "To", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAccessScope": { + "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": { + "ExcludePaths": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest" + }, + "markdownDescription": "The paths to exclude.", + "title": "ExcludePaths", + "type": "array" + }, + "MatchPaths": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest" + }, + "markdownDescription": "The paths to match.", + "title": "MatchPaths", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsAccessScope" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest", + "markdownDescription": "The destination.", + "title": "Destination" + }, + "Source": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest", + "markdownDescription": "The source.", + "title": "Source" + }, + "ThroughResources": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ThroughResourcesStatementRequest" + }, + "markdownDescription": "The through resources.", + "title": "ThroughResources", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAccessScope.PacketHeaderStatementRequest": { + "additionalProperties": false, + "properties": { + "DestinationAddresses": { + "items": { + "type": "string" + }, + "markdownDescription": "The destination addresses.", + "title": "DestinationAddresses", + "type": "array" + }, + "DestinationPorts": { + "items": { + "type": "string" + }, + "markdownDescription": "The destination ports.", + "title": "DestinationPorts", + "type": "array" + }, + "DestinationPrefixLists": { + "items": { + "type": "string" + }, + "markdownDescription": "The destination prefix lists.", + "title": "DestinationPrefixLists", + "type": "array" + }, + "Protocols": { + "items": { + "type": "string" + }, + "markdownDescription": "The protocols.", + "title": "Protocols", + "type": "array" + }, + "SourceAddresses": { + "items": { + "type": "string" + }, + "markdownDescription": "The source addresses.", + "title": "SourceAddresses", + "type": "array" + }, + "SourcePorts": { + "items": { + "type": "string" + }, + "markdownDescription": "The source ports.", + "title": "SourcePorts", + "type": "array" + }, + "SourcePrefixLists": { + "items": { + "type": "string" + }, + "markdownDescription": "The source prefix lists.", + "title": "SourcePrefixLists", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest": { + "additionalProperties": false, + "properties": { + "PacketHeaderStatement": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PacketHeaderStatementRequest", + "markdownDescription": "The packet header statement.", + "title": "PacketHeaderStatement" + }, + "ResourceStatement": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest", + "markdownDescription": "The resource statement.", + "title": "ResourceStatement" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest": { + "additionalProperties": false, + "properties": { + "ResourceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The resource types.", + "title": "ResourceTypes", + "type": "array" + }, + "Resources": { + "items": { + "type": "string" + }, + "markdownDescription": "The resources.", + "title": "Resources", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAccessScope.ThroughResourcesStatementRequest": { + "additionalProperties": false, + "properties": { + "ResourceStatement": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest", + "markdownDescription": "The resource statement.", + "title": "ResourceStatement" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAccessScopeAnalysis": { + "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": { + "NetworkInsightsAccessScopeId": { + "markdownDescription": "The ID of the Network Access Scope.", + "title": "NetworkInsightsAccessScopeId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "NetworkInsightsAccessScopeId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsAccessScopeAnalysis" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis": { + "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": { + "AdditionalAccounts": { + "items": { + "type": "string" + }, + "markdownDescription": "The member accounts that contain resources that the path can traverse.", + "title": "AdditionalAccounts", + "type": "array" + }, + "FilterInArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARN) of the resources that the path must traverse.", + "title": "FilterInArns", + "type": "array" + }, + "FilterOutArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARN) of the resources that the path must ignore.", + "title": "FilterOutArns", + "type": "array" + }, + "NetworkInsightsPathId": { + "markdownDescription": "The ID of the path.", + "title": "NetworkInsightsPathId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "NetworkInsightsPathId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsAnalysis" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AdditionalDetail": { + "additionalProperties": false, + "properties": { + "AdditionalDetailType": { + "markdownDescription": "The additional detail code.", + "title": "AdditionalDetailType", + "type": "string" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The path component.", + "title": "Component" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "markdownDescription": "The load balancers.", + "title": "LoadBalancers", + "type": "array" + }, + "ServiceName": { + "markdownDescription": "The name of the VPC endpoint service.", + "title": "ServiceName", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the component.", + "title": "ComponentArn", + "type": "string" + }, + "ComponentId": { + "markdownDescription": "The ID of the component.", + "title": "ComponentId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "markdownDescription": "The IPv4 address range, in CIDR notation.", + "title": "Cidr", + "type": "string" + }, + "Egress": { + "markdownDescription": "Indicates whether the rule is an outbound rule.", + "title": "Egress", + "type": "boolean" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange", + "markdownDescription": "The range of ports.", + "title": "PortRange" + }, + "Protocol": { + "markdownDescription": "The protocol.", + "title": "Protocol", + "type": "string" + }, + "RuleAction": { + "markdownDescription": "Indicates whether to allow or deny traffic that matches the rule.", + "title": "RuleAction", + "type": "string" + }, + "RuleNumber": { + "markdownDescription": "The rule number.", + "title": "RuleNumber", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the component.", + "title": "Arn", + "type": "string" + }, + "Id": { + "markdownDescription": "The ID of the component.", + "title": "Id", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { + "additionalProperties": false, + "properties": { + "InstancePort": { + "markdownDescription": "[Classic Load Balancers] The back-end port for the listener.", + "title": "InstancePort", + "type": "number" + }, + "LoadBalancerPort": { + "markdownDescription": "The port on which the load balancer is listening.", + "title": "LoadBalancerPort", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { + "additionalProperties": false, + "properties": { + "Address": { + "markdownDescription": "The IP address.", + "title": "Address", + "type": "string" + }, + "AvailabilityZone": { + "markdownDescription": "The Availability Zone.", + "title": "AvailabilityZone", + "type": "string" + }, + "Instance": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "Information about the instance.", + "title": "Instance" + }, + "Port": { + "markdownDescription": "The port on which the target is listening.", + "title": "Port", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { + "additionalProperties": false, + "properties": { + "DestinationAddresses": { + "items": { + "type": "string" + }, + "markdownDescription": "The destination addresses.", + "title": "DestinationAddresses", + "type": "array" + }, + "DestinationPortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "markdownDescription": "The destination port ranges.", + "title": "DestinationPortRanges", + "type": "array" + }, + "Protocol": { + "markdownDescription": "The protocol.", + "title": "Protocol", + "type": "string" + }, + "SourceAddresses": { + "items": { + "type": "string" + }, + "markdownDescription": "The source addresses.", + "title": "SourceAddresses", + "type": "array" + }, + "SourcePortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "markdownDescription": "The source port ranges.", + "title": "SourcePortRanges", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { + "additionalProperties": false, + "properties": { + "NatGatewayId": { + "markdownDescription": "The ID of a NAT gateway.", + "title": "NatGatewayId", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of a network interface.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "Origin": { + "markdownDescription": "Describes how the route was created. The following are the possible values:\n\n- CreateRouteTable - The route was automatically created when the route table was created.\n- CreateRoute - The route was manually added to the route table.\n- EnableVgwRoutePropagation - The route was propagated by route propagation.", + "title": "Origin", + "type": "string" + }, + "State": { + "markdownDescription": "The state. The following are the possible values:\n\n- active\n- blackhole", + "title": "State", + "type": "string" + }, + "TransitGatewayId": { + "markdownDescription": "The ID of a transit gateway.", + "title": "TransitGatewayId", + "type": "string" + }, + "VpcPeeringConnectionId": { + "markdownDescription": "The ID of a VPC peering connection.", + "title": "VpcPeeringConnectionId", + "type": "string" + }, + "destinationCidr": { + "markdownDescription": "The destination IPv4 address, in CIDR notation.", + "title": "destinationCidr", + "type": "string" + }, + "destinationPrefixListId": { + "markdownDescription": "The prefix of the AWS service.", + "title": "destinationPrefixListId", + "type": "string" + }, + "egressOnlyInternetGatewayId": { + "markdownDescription": "The ID of an egress-only internet gateway.", + "title": "egressOnlyInternetGatewayId", + "type": "string" + }, + "gatewayId": { + "markdownDescription": "The ID of the gateway, such as an internet gateway or virtual private gateway.", + "title": "gatewayId", + "type": "string" + }, + "instanceId": { + "markdownDescription": "The ID of the instance, such as a NAT instance.", + "title": "instanceId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "markdownDescription": "The IPv4 address range, in CIDR notation.", + "title": "Cidr", + "type": "string" + }, + "Direction": { + "markdownDescription": "The direction. The following are the possible values:\n\n- egress\n- ingress", + "title": "Direction", + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange", + "markdownDescription": "The port range.", + "title": "PortRange" + }, + "PrefixListId": { + "markdownDescription": "The prefix list ID.", + "title": "PrefixListId", + "type": "string" + }, + "Protocol": { + "markdownDescription": "The protocol name.", + "title": "Protocol", + "type": "string" + }, + "SecurityGroupId": { + "markdownDescription": "The security group ID.", + "title": "SecurityGroupId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.Explanation": { + "additionalProperties": false, + "properties": { + "Acl": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The network ACL.", + "title": "Acl" + }, + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule", + "markdownDescription": "The network ACL rule.", + "title": "AclRule" + }, + "Address": { + "markdownDescription": "The IPv4 address, in CIDR notation.", + "title": "Address", + "type": "string" + }, + "Addresses": { + "items": { + "type": "string" + }, + "markdownDescription": "The IPv4 addresses, in CIDR notation.", + "title": "Addresses", + "type": "array" + }, + "AttachedTo": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The resource to which the component is attached.", + "title": "AttachedTo" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "markdownDescription": "The Availability Zones.", + "title": "AvailabilityZones", + "type": "array" + }, + "Cidrs": { + "items": { + "type": "string" + }, + "markdownDescription": "The CIDR ranges.", + "title": "Cidrs", + "type": "array" + }, + "ClassicLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener", + "markdownDescription": "The listener for a Classic Load Balancer.", + "title": "ClassicLoadBalancerListener" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The component.", + "title": "Component" + }, + "ComponentAccount": { + "markdownDescription": "The AWS account for the component.", + "title": "ComponentAccount", + "type": "string" + }, + "ComponentRegion": { + "markdownDescription": "The Region for the component.", + "title": "ComponentRegion", + "type": "string" + }, + "CustomerGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The customer gateway.", + "title": "CustomerGateway" + }, + "Destination": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The destination.", + "title": "Destination" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The destination VPC.", + "title": "DestinationVpc" + }, + "Direction": { + "markdownDescription": "The direction. The following are the possible values:\n\n- egress\n- ingress", + "title": "Direction", + "type": "string" + }, + "ElasticLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The load balancer listener.", + "title": "ElasticLoadBalancerListener" + }, + "ExplanationCode": { + "markdownDescription": "The explanation code.", + "title": "ExplanationCode", + "type": "string" + }, + "IngressRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The route table.", + "title": "IngressRouteTable" + }, + "InternetGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The internet gateway.", + "title": "InternetGateway" + }, + "LoadBalancerArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the load balancer.", + "title": "LoadBalancerArn", + "type": "string" + }, + "LoadBalancerListenerPort": { + "markdownDescription": "The listener port of the load balancer.", + "title": "LoadBalancerListenerPort", + "type": "number" + }, + "LoadBalancerTarget": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget", + "markdownDescription": "The target.", + "title": "LoadBalancerTarget" + }, + "LoadBalancerTargetGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The target group.", + "title": "LoadBalancerTargetGroup" + }, + "LoadBalancerTargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "markdownDescription": "The target groups.", + "title": "LoadBalancerTargetGroups", + "type": "array" + }, + "LoadBalancerTargetPort": { + "markdownDescription": "The target port.", + "title": "LoadBalancerTargetPort", + "type": "number" + }, + "MissingComponent": { + "markdownDescription": "The missing component.", + "title": "MissingComponent", + "type": "string" + }, + "NatGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The NAT gateway.", + "title": "NatGateway" + }, + "NetworkInterface": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The network interface.", + "title": "NetworkInterface" + }, + "PacketField": { + "markdownDescription": "The packet field.", + "title": "PacketField", + "type": "string" + }, + "Port": { + "markdownDescription": "The port.", + "title": "Port", + "type": "number" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "markdownDescription": "The port ranges.", + "title": "PortRanges", + "type": "array" + }, + "PrefixList": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The prefix list.", + "title": "PrefixList" + }, + "Protocols": { + "items": { + "type": "string" + }, + "markdownDescription": "The protocols.", + "title": "Protocols", + "type": "array" + }, + "RouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The route table.", + "title": "RouteTable" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute", + "markdownDescription": "The route table route.", + "title": "RouteTableRoute" + }, + "SecurityGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The security group.", + "title": "SecurityGroup" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule", + "markdownDescription": "The security group rule.", + "title": "SecurityGroupRule" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "markdownDescription": "The security groups.", + "title": "SecurityGroups", + "type": "array" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The source VPC.", + "title": "SourceVpc" + }, + "State": { + "markdownDescription": "The state.", + "title": "State", + "type": "string" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The subnet.", + "title": "Subnet" + }, + "SubnetRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The route table for the subnet.", + "title": "SubnetRouteTable" + }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The transit gateway.", + "title": "TransitGateway" + }, + "TransitGatewayAttachment": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The transit gateway attachment.", + "title": "TransitGatewayAttachment" + }, + "TransitGatewayRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The transit gateway route table.", + "title": "TransitGatewayRouteTable" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute", + "markdownDescription": "The transit gateway route table route.", + "title": "TransitGatewayRouteTableRoute" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The component VPC.", + "title": "Vpc" + }, + "VpcPeeringConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The VPC peering connection.", + "title": "VpcPeeringConnection" + }, + "VpnConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The VPN connection.", + "title": "VpnConnection" + }, + "VpnGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The VPN gateway.", + "title": "VpnGateway" + }, + "vpcEndpoint": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The VPC endpoint.", + "title": "vpcEndpoint" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { + "additionalProperties": false, + "properties": { + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule", + "markdownDescription": "The network ACL rule.", + "title": "AclRule" + }, + "AdditionalDetails": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AdditionalDetail" + }, + "markdownDescription": "The additional details.", + "title": "AdditionalDetails", + "type": "array" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The component.", + "title": "Component" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The destination VPC.", + "title": "DestinationVpc" + }, + "ElasticLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The load balancer listener.", + "title": "ElasticLoadBalancerListener" + }, + "Explanations": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.Explanation" + }, + "markdownDescription": "The explanation codes.", + "title": "Explanations", + "type": "array" + }, + "InboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader", + "markdownDescription": "The inbound header.", + "title": "InboundHeader" + }, + "OutboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader", + "markdownDescription": "The outbound header.", + "title": "OutboundHeader" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute", + "markdownDescription": "The route table route.", + "title": "RouteTableRoute" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule", + "markdownDescription": "The security group rule.", + "title": "SecurityGroupRule" + }, + "SequenceNumber": { + "markdownDescription": "The sequence number.", + "title": "SequenceNumber", + "type": "number" + }, + "ServiceName": { + "markdownDescription": "The name of the VPC endpoint service.", + "title": "ServiceName", + "type": "string" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The source VPC.", + "title": "SourceVpc" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The subnet.", + "title": "Subnet" + }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The transit gateway.", + "title": "TransitGateway" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute", + "markdownDescription": "The route in a transit gateway route table.", + "title": "TransitGatewayRouteTableRoute" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The component VPC.", + "title": "Vpc" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "markdownDescription": "The first port in the range.", + "title": "From", + "type": "number" + }, + "To": { + "markdownDescription": "The last port in the range.", + "title": "To", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute": { + "additionalProperties": false, + "properties": { + "AttachmentId": { + "markdownDescription": "The ID of the route attachment.", + "title": "AttachmentId", + "type": "string" + }, + "DestinationCidr": { + "markdownDescription": "The CIDR block used for destination matches.", + "title": "DestinationCidr", + "type": "string" + }, + "PrefixListId": { + "markdownDescription": "The ID of the prefix list.", + "title": "PrefixListId", + "type": "string" + }, + "ResourceId": { + "markdownDescription": "The ID of the resource for the route attachment.", + "title": "ResourceId", + "type": "string" + }, + "ResourceType": { + "markdownDescription": "The resource type for the route attachment.", + "title": "ResourceType", + "type": "string" + }, + "RouteOrigin": { + "markdownDescription": "The route origin. The following are the possible values:\n\n- static\n- propagated", + "title": "RouteOrigin", + "type": "string" + }, + "State": { + "markdownDescription": "The state of the route.", + "title": "State", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsPath": { + "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": { + "Destination": { + "markdownDescription": "The ID or ARN of the destination. If the resource is in another account, you must specify an ARN.", + "title": "Destination", + "type": "string" + }, + "DestinationIp": { + "markdownDescription": "The IP address of the destination.", + "title": "DestinationIp", + "type": "string" + }, + "DestinationPort": { + "markdownDescription": "The destination port.", + "title": "DestinationPort", + "type": "number" + }, + "FilterAtDestination": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.PathFilter", + "markdownDescription": "Scopes the analysis to network paths that match specific filters at the destination. If you specify this parameter, you can't specify the parameter for the destination IP address.", + "title": "FilterAtDestination" + }, + "FilterAtSource": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.PathFilter", + "markdownDescription": "Scopes the analysis to network paths that match specific filters at the source. If you specify this parameter, you can't specify the parameters for the source IP address or the destination port.", + "title": "FilterAtSource" + }, + "Protocol": { + "markdownDescription": "The protocol.", + "title": "Protocol", + "type": "string" + }, + "Source": { + "markdownDescription": "The ID or ARN of the source. If the resource is in another account, you must specify an ARN.", + "title": "Source", + "type": "string" + }, + "SourceIp": { + "markdownDescription": "The IP address of the source.", + "title": "SourceIp", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to add to the path.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Protocol", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsPath" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInsightsPath.FilterPortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "markdownDescription": "The first port in the range.", + "title": "FromPort", + "type": "number" + }, + "ToPort": { + "markdownDescription": "The last port in the range.", + "title": "ToPort", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsPath.PathFilter": { + "additionalProperties": false, + "properties": { + "DestinationAddress": { + "markdownDescription": "The destination IPv4 address.", + "title": "DestinationAddress", + "type": "string" + }, + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.FilterPortRange", + "markdownDescription": "The destination port range.", + "title": "DestinationPortRange" + }, + "SourceAddress": { + "markdownDescription": "The source IPv4 address.", + "title": "SourceAddress", + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.FilterPortRange", + "markdownDescription": "The source port range.", + "title": "SourcePortRange" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInterface": { + "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": { + "ConnectionTrackingSpecification": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.ConnectionTrackingSpecification", + "markdownDescription": "A connection tracking specification for the network interface.", + "title": "ConnectionTrackingSpecification" + }, + "Description": { + "markdownDescription": "A description for the network interface.", + "title": "Description", + "type": "string" + }, + "GroupSet": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the security groups associated with this network interface.", + "title": "GroupSet", + "type": "array" + }, + "InterfaceType": { + "markdownDescription": "The type of network interface. The default is `interface` . The supported values are `efa` and `trunk` .", + "title": "InterfaceType", + "type": "string" + }, + "Ipv4PrefixCount": { + "markdownDescription": "The number of IPv4 prefixes to be automatically assigned to the network interface.\n\nWhen creating a network interface, you can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.", + "title": "Ipv4PrefixCount", + "type": "number" + }, + "Ipv4Prefixes": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.Ipv4PrefixSpecification" + }, + "markdownDescription": "The IPv4 delegated prefixes that are assigned to the network interface.\n\nWhen creating a network interface, you can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.", + "title": "Ipv4Prefixes", + "type": "array" + }, + "Ipv6AddressCount": { + "markdownDescription": "The number of IPv6 addresses to assign to the network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the `Ipv6Addresses` property and don't specify this property.\n\nWhen creating a network interface, you can't specify a count of IPv6 addresses if you've specified one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.", + "title": "Ipv6AddressCount", + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" + }, + "markdownDescription": "The IPv6 addresses from the IPv6 CIDR block range of your subnet to assign to the network interface. If you're specifying a number of IPv6 addresses, use the `Ipv6AddressCount` property and don't specify this property.\n\nWhen creating a network interface, you can't specify IPv6 addresses if you've specified one of the following: a count of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.", + "title": "Ipv6Addresses", + "type": "array" + }, + "Ipv6PrefixCount": { + "markdownDescription": "The number of IPv6 prefixes to be automatically assigned to the network interface.\n\nWhen creating a network interface, you can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.", + "title": "Ipv6PrefixCount", + "type": "number" + }, + "Ipv6Prefixes": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.Ipv6PrefixSpecification" + }, + "markdownDescription": "The IPv6 delegated prefixes that are assigned to the network interface.\n\nWhen creating a network interface, you can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.", + "title": "Ipv6Prefixes", + "type": "array" + }, + "PrivateIpAddress": { + "markdownDescription": "The private IPv4 address to assign to the network interface as the primary private IP address. If you want to specify multiple private IP addresses, use the `PrivateIpAddresses` property.", + "title": "PrivateIpAddress", + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" + }, + "markdownDescription": "The private IPv4 addresses to assign to the network interface. You can specify a primary private IP address by setting the value of the `Primary` property to `true` in the `PrivateIpAddressSpecification` property. If you want EC2 to automatically assign private IP addresses, use the `SecondaryPrivateIpAddressCount` property and do not specify this property.\n\nWhen creating a network interface, you can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.", + "title": "PrivateIpAddresses", + "type": "array" + }, + "PublicIpDnsHostnameTypeSpecification": { + "markdownDescription": "", + "title": "PublicIpDnsHostnameTypeSpecification", + "type": "string" + }, + "SecondaryPrivateIpAddressCount": { + "markdownDescription": "The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using `privateIpAddresses` .\n\nWhen creating a Network Interface, you can't specify a count of private IPv4 addresses if you've specified one of the following: specific private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.", + "title": "SecondaryPrivateIpAddressCount", + "type": "number" + }, + "SourceDestCheck": { + "markdownDescription": "Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is `true` , source/destination checks are enabled; otherwise, they are disabled. The default value is `true` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.", + "title": "SourceDestCheck", + "type": "boolean" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet to associate with the network interface.", + "title": "SubnetId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the network interface.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterface" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.ConnectionTrackingSpecification": { + "additionalProperties": false, + "properties": { + "TcpEstablishedTimeout": { + "markdownDescription": "Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.", + "title": "TcpEstablishedTimeout", + "type": "number" + }, + "UdpStreamTimeout": { + "markdownDescription": "Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.", + "title": "UdpStreamTimeout", + "type": "number" + }, + "UdpTimeout": { + "markdownDescription": "Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.", + "title": "UdpTimeout", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInterface.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "markdownDescription": "An IPv6 address to associate with the network interface.", + "title": "Ipv6Address", + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.Ipv4PrefixSpecification": { + "additionalProperties": false, + "properties": { + "Ipv4Prefix": { + "markdownDescription": "The IPv4 prefix. For information, see [Assigning prefixes to network interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) in the *Amazon EC2 User Guide* .", + "title": "Ipv4Prefix", + "type": "string" + } + }, + "required": [ + "Ipv4Prefix" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.Ipv6PrefixSpecification": { + "additionalProperties": false, + "properties": { + "Ipv6Prefix": { + "markdownDescription": "The IPv6 prefix. For information, see [Assigning prefixes to Amazon EC2 network interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "Ipv6Prefix", + "type": "string" + } + }, + "required": [ + "Ipv6Prefix" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "markdownDescription": "Sets the private IP address as the primary private address. You can set only one primary private IP address. If you don't specify a primary private IP address, Amazon EC2 automatically assigns a primary private IP address.", + "title": "Primary", + "type": "boolean" + }, + "PrivateIpAddress": { + "markdownDescription": "The private IP address of the network interface.", + "title": "PrivateIpAddress", + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.PublicIpDnsNameOptions": { + "additionalProperties": false, + "properties": { + "DnsHostnameType": { + "markdownDescription": "The public hostname type. For more information, see [EC2 instance hostnames, DNS names, and domains](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon EC2 User Guide* .", + "title": "DnsHostnameType", + "type": "string" + }, + "PublicDualStackDnsName": { + "markdownDescription": "A dual-stack public hostname for a network interface. Requests from within the VPC resolve to both the private IPv4 address and the IPv6 Global Unicast Address of the network interface. Requests from the internet resolve to both the public IPv4 and the IPv6 GUA address of the network interface.", + "title": "PublicDualStackDnsName", + "type": "string" + }, + "PublicIpv4DnsName": { + "markdownDescription": "An IPv4-enabled public hostname for a network interface. Requests from within the VPC resolve to the private primary IPv4 address of the network interface. Requests from the internet resolve to the public IPv4 address of the network interface.", + "title": "PublicIpv4DnsName", + "type": "string" + }, + "PublicIpv6DnsName": { + "markdownDescription": "An IPv6-enabled public hostname for a network interface. Requests from within the VPC or from the internet resolve to the IPv6 GUA of the network interface.", + "title": "PublicIpv6DnsName", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInterfaceAttachment": { + "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": { + "DeleteOnTermination": { + "markdownDescription": "Whether to delete the network interface when the instance terminates. By default, this value is set to `true` .", + "title": "DeleteOnTermination", + "type": "boolean" + }, + "DeviceIndex": { + "markdownDescription": "The network interface's position in the attachment order. For example, the first attached network interface has a `DeviceIndex` of 0.", + "title": "DeviceIndex", + "type": "string" + }, + "EnaQueueCount": { + "markdownDescription": "The number of ENA queues created with the instance.", + "title": "EnaQueueCount", + "type": "number" + }, + "EnaSrdSpecification": { + "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment.EnaSrdSpecification", + "markdownDescription": "Configures ENA Express for the network interface that this action attaches to the instance.", + "title": "EnaSrdSpecification" + }, + "InstanceId": { + "markdownDescription": "The ID of the instance to which you will attach the ENI.", + "title": "InstanceId", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of the ENI that you want to attach.", + "title": "NetworkInterfaceId", + "type": "string" + } + }, + "required": [ + "DeviceIndex", + "InstanceId", + "NetworkInterfaceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterfaceAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterfaceAttachment.EnaSrdSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdEnabled": { + "markdownDescription": "Indicates whether ENA Express is enabled for the network interface.", + "title": "EnaSrdEnabled", + "type": "boolean" + }, + "EnaSrdUdpSpecification": { + "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment.EnaSrdUdpSpecification", + "markdownDescription": "Configures ENA Express for UDP network traffic.", + "title": "EnaSrdUdpSpecification" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInterfaceAttachment.EnaSrdUdpSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdUdpEnabled": { + "markdownDescription": "Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.", + "title": "EnaSrdUdpEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInterfacePermission": { + "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": { + "AwsAccountId": { + "markdownDescription": "The AWS account ID.", + "title": "AwsAccountId", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of the network interface.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "Permission": { + "markdownDescription": "The type of permission to grant: `INSTANCE-ATTACH` or `EIP-ASSOCIATE` .", + "title": "Permission", + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "NetworkInterfaceId", + "Permission" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterfacePermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkPerformanceMetricSubscription": { + "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": { + "Destination": { + "markdownDescription": "The Region or Availability Zone that's the target for the subscription. For example, `eu-west-1` .", + "title": "Destination", + "type": "string" + }, + "Metric": { + "markdownDescription": "The metric used for the subscription.", + "title": "Metric", + "type": "string" + }, + "Source": { + "markdownDescription": "The Region or Availability Zone that's the source for the subscription. For example, `us-east-1` .", + "title": "Source", + "type": "string" + }, + "Statistic": { + "markdownDescription": "The statistic used for the subscription.", + "title": "Statistic", + "type": "string" + } + }, + "required": [ + "Destination", + "Metric", + "Source", + "Statistic" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkPerformanceMetricSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PlacementGroup": { + "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": { + "ParentGroupId": { + "type": "string" + }, + "PartitionCount": { + "markdownDescription": "The number of partitions. Valid only when *Strategy* is set to `partition` .", + "title": "PartitionCount", + "type": "number" + }, + "SpreadLevel": { + "markdownDescription": "Determines how placement groups spread instances.\n\n- Host \u2013 You can use `host` only with Outpost placement groups.\n- Rack \u2013 No usage restrictions.", + "title": "SpreadLevel", + "type": "string" + }, + "Strategy": { + "markdownDescription": "The placement strategy.", + "title": "Strategy", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the new placement group.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PlacementGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::PrefixList": { + "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": { + "AddressFamily": { + "markdownDescription": "The IP address type.\n\nValid Values: `IPv4` | `IPv6`", + "title": "AddressFamily", + "type": "string" + }, + "Entries": { + "items": { + "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" + }, + "markdownDescription": "The entries for the prefix list.", + "title": "Entries", + "type": "array" + }, + "MaxEntries": { + "markdownDescription": "The maximum number of entries for the prefix list. You can't modify the entries and the size of a prefix list at the same time.\n\nThis property is required when you create a prefix list.", + "title": "MaxEntries", + "type": "number" + }, + "PrefixListName": { + "markdownDescription": "A name for the prefix list.\n\nConstraints: Up to 255 characters in length. The name cannot start with `com.amazonaws` .", + "title": "PrefixListName", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the prefix list.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "AddressFamily", + "PrefixListName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PrefixList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PrefixList.Entry": { + "additionalProperties": false, + "properties": { + "Cidr": { + "markdownDescription": "The CIDR block.", + "title": "Cidr", + "type": "string" + }, + "Description": { + "markdownDescription": "A description for the entry.\n\nConstraints: Up to 255 characters in length.", + "title": "Description", + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, + "AWS::EC2::ReplaceRootVolumeTask": { + "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": { + "DeleteReplacedRootVolume": { + "type": "boolean" + }, + "InstanceId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ReplaceRootVolumeTask" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ReservedInstances": { + "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": { + "InstanceCount": { + "type": "number" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ReservedInstances" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::ReservedInstances.RecurringCharge": { + "additionalProperties": false, + "properties": { + "Amount": { + "type": "number" + }, + "Frequency": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Route": { + "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": { + "CarrierGatewayId": { + "markdownDescription": "The ID of the carrier gateway.\n\nYou can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.", + "title": "CarrierGatewayId", + "type": "string" + }, + "CoreNetworkArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the core network.", + "title": "CoreNetworkArn", + "type": "string" + }, + "DestinationCidrBlock": { + "markdownDescription": "The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify `100.68.0.18/18` , we modify it to `100.68.0.0/18` .", + "title": "DestinationCidrBlock", + "type": "string" + }, + "DestinationIpv6CidrBlock": { + "markdownDescription": "The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.", + "title": "DestinationIpv6CidrBlock", + "type": "string" + }, + "DestinationPrefixListId": { + "markdownDescription": "The ID of a prefix list used for the destination match.", + "title": "DestinationPrefixListId", + "type": "string" + }, + "EgressOnlyInternetGatewayId": { + "markdownDescription": "[IPv6 traffic only] The ID of an egress-only internet gateway.", + "title": "EgressOnlyInternetGatewayId", + "type": "string" + }, + "GatewayId": { + "markdownDescription": "The ID of an internet gateway or virtual private gateway attached to your VPC.", + "title": "GatewayId", + "type": "string" + }, + "InstanceId": { + "markdownDescription": "The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.", + "title": "InstanceId", + "type": "string" + }, + "LocalGatewayId": { + "markdownDescription": "The ID of the local gateway.", + "title": "LocalGatewayId", + "type": "string" + }, + "NatGatewayId": { + "markdownDescription": "[IPv4 traffic only] The ID of a NAT gateway.", + "title": "NatGatewayId", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of a network interface.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "OdbNetworkArn": { + "type": "string" + }, + "RouteTableId": { + "markdownDescription": "The ID of the route table for the route.", + "title": "RouteTableId", + "type": "string" + }, + "TransitGatewayId": { + "markdownDescription": "The ID of a transit gateway.", + "title": "TransitGatewayId", + "type": "string" + }, + "VpcEndpointId": { + "markdownDescription": "The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.", + "title": "VpcEndpointId", + "type": "string" + }, + "VpcPeeringConnectionId": { + "markdownDescription": "The ID of a VPC peering connection.", + "title": "VpcPeeringConnectionId", + "type": "string" + } + }, + "required": [ + "RouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteServer": { + "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": { + "AmazonSideAsn": { + "markdownDescription": "The Border Gateway Protocol (BGP) Autonomous System Number (ASN) for the appliance. Valid values are from 1 to 4294967295. We recommend using a private ASN in the 64512\u201365534 (16-bit ASN) or 4200000000\u20134294967294 (32-bit ASN) range.", + "title": "AmazonSideAsn", + "type": "number" + }, + "PersistRoutes": { + "markdownDescription": "Indicates whether routes should be persisted after all BGP sessions are terminated.", + "title": "PersistRoutes", + "type": "string" + }, + "PersistRoutesDuration": { + "markdownDescription": "The number of minutes a route server will wait after BGP is re-established to unpersist the routes in the FIB and RIB. Value must be in the range of 1-5. The default value is 1. Only valid if `persistRoutesState` is 'enabled'.\n\nIf you set the duration to 1 minute, then when your network appliance re-establishes BGP with route server, it has 1 minute to relearn it's adjacent network and advertise those routes to route server before route server resumes normal functionality. In most cases, 1 minute is probably sufficient. If, however, you have concerns that your BGP network may not be capable of fully re-establishing and re-learning everything in 1 minute, you can increase the duration up to 5 minutes.", + "title": "PersistRoutesDuration", + "type": "number" + }, + "SnsNotificationsEnabled": { + "markdownDescription": "Indicates whether SNS notifications are enabled for the route server. Enabling SNS notifications persists BGP status changes to an SNS topic provisioned by AWS .", + "title": "SnsNotificationsEnabled", + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the route server.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "AmazonSideAsn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteServer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteServerAssociation": { + "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": { + "RouteServerId": { + "markdownDescription": "The ID of the associated route server.", + "title": "RouteServerId", + "type": "string" + }, + "VpcId": { + "markdownDescription": "The ID of the associated VPC.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "RouteServerId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteServerAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteServerEndpoint": { + "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": { + "RouteServerId": { + "markdownDescription": "The ID of the route server associated with this endpoint.", + "title": "RouteServerId", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet to place the route server endpoint into.", + "title": "SubnetId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the route server endpoint.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "RouteServerId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteServerEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteServerPeer": { + "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": { + "BgpOptions": { + "$ref": "#/definitions/AWS::EC2::RouteServerPeer.BgpOptions", + "markdownDescription": "The BGP configuration options for this peer, including ASN (Autonomous System Number) and BFD (Bidrectional Forwarding Detection) settings.", + "title": "BgpOptions" + }, + "PeerAddress": { + "markdownDescription": "The IPv4 address of the peer device.", + "title": "PeerAddress", + "type": "string" + }, + "RouteServerEndpointId": { + "markdownDescription": "The ID of the route server endpoint associated with this peer.", + "title": "RouteServerEndpointId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the route server peer.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "BgpOptions", + "PeerAddress", + "RouteServerEndpointId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteServerPeer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteServerPeer.BgpOptions": { + "additionalProperties": false, + "properties": { + "PeerAsn": { + "markdownDescription": "The Border Gateway Protocol (BGP) Autonomous System Number (ASN) for the appliance. Valid values are from 1 to 4294967295. We recommend using a private ASN in the 64512\u201365534 (16-bit ASN) or 4200000000\u20134294967294 (32-bit ASN) range.", + "title": "PeerAsn", + "type": "number" + }, + "PeerLivenessDetection": { + "markdownDescription": "The liveness detection protocol used for the BGP peer.\n\nThe requested liveness detection protocol for the BGP peer.\n\n- `bgp-keepalive` : The standard BGP keep alive mechanism ( [RFC4271](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc4271#page-21) ) that is stable but may take longer to fail-over in cases of network impact or router failure.\n- `bfd` : An additional Bidirectional Forwarding Detection (BFD) protocol ( [RFC5880](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc5880) ) that enables fast failover by using more sensitive liveness detection.\n\nDefaults to `bgp-keepalive` .", + "title": "PeerLivenessDetection", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::RouteServerPropagation": { + "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": { + "RouteServerId": { + "markdownDescription": "The ID of the route server configured for route propagation.", + "title": "RouteServerId", + "type": "string" + }, + "RouteTableId": { + "markdownDescription": "The ID of the route table configured for route server propagation.", + "title": "RouteTableId", + "type": "string" + } + }, + "required": [ + "RouteServerId", + "RouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteServerPropagation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteTable": { + "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" + }, + "markdownDescription": "Any tags assigned to the route table.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup": { + "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": { + "GroupDescription": { + "markdownDescription": "A description for the security group.\n\nConstraints: Up to 255 characters in length\n\nValid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*", + "title": "GroupDescription", + "type": "string" + }, + "GroupName": { + "markdownDescription": "The name of the security group. Names are case-insensitive and must be unique within the VPC.\n\nConstraints: Up to 255 characters in length. Can't start with `sg-` .\n\nValid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*", + "title": "GroupName", + "type": "string" + }, + "SecurityGroupEgress": { + "items": { + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" + }, + "markdownDescription": "The outbound rules associated with the security group.", + "title": "SecurityGroupEgress", + "type": "array" + }, + "SecurityGroupIngress": { + "items": { + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" + }, + "markdownDescription": "The inbound rules associated with the security group.", + "title": "SecurityGroupIngress", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the security group.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC for the security group. If you do not specify a VPC, the default is to use the default VPC for the Region. If there's no specified VPC and no default VPC, security group creation fails.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "GroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup.Egress": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIp", + "type": "string" + }, + "CidrIpv6": { + "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIpv6", + "type": "string" + }, + "Description": { + "markdownDescription": "A description for the security group rule.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", + "title": "Description", + "type": "string" + }, + "DestinationPrefixListId": { + "markdownDescription": "The prefix list IDs for the destination AWS service. This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", + "title": "DestinationPrefixListId", + "type": "string" + }, + "DestinationSecurityGroupId": { + "markdownDescription": "The ID of the destination VPC security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", + "title": "DestinationSecurityGroupId", + "type": "string" + }, + "FromPort": { + "markdownDescription": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).", + "title": "FromPort", + "type": "number" + }, + "IpProtocol": { + "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", + "title": "IpProtocol", + "type": "string" + }, + "ToPort": { + "markdownDescription": "If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).", + "title": "ToPort", + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup.Ingress": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIp", + "type": "string" + }, + "CidrIpv6": { + "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIpv6", + "type": "string" + }, + "Description": { + "markdownDescription": "Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", + "title": "Description", + "type": "string" + }, + "FromPort": { + "markdownDescription": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).", + "title": "FromPort", + "type": "number" + }, + "IpProtocol": { + "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", + "title": "IpProtocol", + "type": "string" + }, + "SourcePrefixListId": { + "markdownDescription": "The ID of a prefix list.", + "title": "SourcePrefixListId", + "type": "string" + }, + "SourceSecurityGroupId": { + "markdownDescription": "The ID of the security group.", + "title": "SourceSecurityGroupId", + "type": "string" + }, + "SourceSecurityGroupName": { + "markdownDescription": "[Default VPC] The name of the source security group. You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nFor security groups in a nondefault VPC, you must specify the group ID.", + "title": "SourceSecurityGroupName", + "type": "string" + }, + "SourceSecurityGroupOwnerId": { + "markdownDescription": "[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nIf you specify `SourceSecurityGroupName` or `SourceSecurityGroupId` and that security group is owned by a different account than the account creating the stack, you must specify the `SourceSecurityGroupOwnerId` ; otherwise, this property is optional.", + "title": "SourceSecurityGroupOwnerId", + "type": "string" + }, + "ToPort": { + "markdownDescription": "If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).", + "title": "ToPort", + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroupEgress": { + "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": { + "CidrIp": { + "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIp", + "type": "string" + }, + "CidrIpv6": { + "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIpv6", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of an egress (outbound) security group rule.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", + "title": "Description", + "type": "string" + }, + "DestinationPrefixListId": { + "markdownDescription": "The prefix list IDs for an AWS service. This is the AWS service to access through a VPC endpoint from instances associated with the security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", + "title": "DestinationPrefixListId", + "type": "string" + }, + "DestinationSecurityGroupId": { + "markdownDescription": "The ID of the security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", + "title": "DestinationSecurityGroupId", + "type": "string" + }, + "FromPort": { + "markdownDescription": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).", + "title": "FromPort", + "type": "number" + }, + "GroupId": { + "markdownDescription": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", + "title": "GroupId", + "type": "string" + }, + "IpProtocol": { + "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", + "title": "IpProtocol", + "type": "string" + }, + "ToPort": { + "markdownDescription": "If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).", + "title": "ToPort", + "type": "number" + } + }, + "required": [ + "GroupId", + "IpProtocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroupEgress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroupIngress": { + "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": { + "CidrIp": { + "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIp", + "type": "string" + }, + "CidrIpv6": { + "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIpv6", + "type": "string" + }, + "Description": { + "markdownDescription": "Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", + "title": "Description", + "type": "string" + }, + "FromPort": { + "markdownDescription": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of `-1` indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.\n\nUse this for ICMP and any protocol that uses ports.", + "title": "FromPort", + "type": "number" + }, + "GroupId": { + "markdownDescription": "The ID of the security group.", + "title": "GroupId", + "type": "string" + }, + "GroupName": { + "markdownDescription": "[Default VPC] The name of the security group. For security groups for a default VPC you can specify either the ID or the name of the security group. For security groups for a nondefault VPC, you must specify the ID of the security group.", + "title": "GroupName", + "type": "string" + }, + "IpProtocol": { + "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", + "title": "IpProtocol", + "type": "string" + }, + "SourcePrefixListId": { + "markdownDescription": "The ID of a prefix list.", + "title": "SourcePrefixListId", + "type": "string" + }, + "SourceSecurityGroupId": { + "markdownDescription": "The ID of the security group. You must specify either the security group ID or the security group name. For security groups in a nondefault VPC, you must specify the security group ID.", + "title": "SourceSecurityGroupId", + "type": "string" + }, + "SourceSecurityGroupName": { + "markdownDescription": "[Default VPC] The name of the source security group. You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nFor security groups in a nondefault VPC, you must specify the group ID.", + "title": "SourceSecurityGroupName", + "type": "string" + }, + "SourceSecurityGroupOwnerId": { + "markdownDescription": "[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nIf you specify `SourceSecurityGroupName` or `SourceSecurityGroupId` and that security group is owned by a different account than the account creating the stack, you must specify `SourceSecurityGroupOwnerId` ; otherwise, this property is optional.", + "title": "SourceSecurityGroupOwnerId", + "type": "string" + }, + "ToPort": { + "markdownDescription": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of `-1` indicates all ICMP/ICMPv6 codes for the specified ICMP type. If you specify all ICMP/ICMPv6 types, you must specify all codes.\n\nUse this for ICMP and any protocol that uses ports.", + "title": "ToPort", + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroupVpcAssociation": { + "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": { + "GroupId": { + "markdownDescription": "The association's security group ID.", + "title": "GroupId", + "type": "string" + }, + "VpcId": { + "markdownDescription": "The association's VPC ID.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "GroupId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroupVpcAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SnapshotBlockPublicAccess": { + "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": { + "State": { + "markdownDescription": "The mode in which to enable block public access for snapshots for the Region. Specify one of the following values:\n\n- `block-all-sharing` - Prevents all public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. Additionally, snapshots that are already publicly shared are treated as private and they are no longer publicly available.\n\n> If you enable block public access for snapshots in `block-all-sharing` mode, it does not change the permissions for snapshots that are already publicly shared. Instead, it prevents these snapshots from be publicly visible and publicly accessible. Therefore, the attributes for these snapshots still indicate that they are publicly shared, even though they are not publicly available.\n- `block-new-sharing` - Prevents only new public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. However, snapshots that are already publicly shared, remain publicly available.", + "title": "State", + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SnapshotBlockPublicAccess" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet": { + "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": { + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData", + "markdownDescription": "Describes the configuration of a Spot Fleet request.", + "title": "SpotFleetRequestConfigData" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for a Spot Fleet resource.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "SpotFleetRequestConfigData" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SpotFleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.AcceleratorCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of accelerators. To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` .", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of accelerators. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.BaselinePerformanceFactorsRequest": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.CpuPerformanceFactorRequest", + "markdownDescription": "The CPU performance to consider, using an instance family as the baseline reference.", + "title": "Cpu" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "markdownDescription": "The device name. For available device names, see [Device names for volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html) .", + "title": "DeviceName", + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice", + "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.", + "title": "Ebs" + }, + "NoDevice": { + "markdownDescription": "To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.", + "title": "NoDevice", + "type": "string" + }, + "VirtualName": { + "markdownDescription": "The virtual device name ( `ephemeral` N). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for `ephemeral0` and `ephemeral1` . The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.\n\nNVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.\n\nConstraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.", + "title": "VirtualName", + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the load balancer.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" + }, + "markdownDescription": "One or more Classic Load Balancers.", + "title": "ClassicLoadBalancers", + "type": "array" + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.PerformanceFactorReferenceRequest" + }, + "markdownDescription": "Specify an instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.\n\n> Currently, only one instance family can be specified in the list.", + "title": "References", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "markdownDescription": "Indicates whether the EBS volume is deleted on instance termination. For more information, see [Preserving Amazon EBS volumes on instance termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) in the *Amazon EC2 User Guide* .", + "title": "DeleteOnTermination", + "type": "boolean" + }, + "Encrypted": { + "markdownDescription": "Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Amazon EBS Encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters) in the *Amazon EC2 User Guide* .\n\nIn no case can you remove encryption from an encrypted volume.\n\nEncrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see [Supported Instance Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances) .\n\nThis parameter is not returned by [DescribeImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html) .", + "title": "Encrypted", + "type": "boolean" + }, + "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 - 80,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nFor `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . On other instances, you can achieve performance up to 32,000 IOPS.\n\nThis parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS.", + "title": "Iops", + "type": "number" + }, + "SnapshotId": { + "markdownDescription": "The ID of the snapshot.", + "title": "SnapshotId", + "type": "string" + }, + "VolumeSize": { + "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.\n\nThe following are the supported sizes for each volume type:\n\n- `gp2` : 1 - 16,384 GiB\n- `gp3` : 1 - 65,536 GiB\n- `io1` : 4 - 16,384 GiB\n- `io2` : 4 - 65,536 GiB\n- `st1` and `sc1` : 125 - 16,384 GiB\n- `standard` : 1 - 1024 GiB", + "title": "VolumeSize", + "type": "number" + }, + "VolumeType": { + "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .", + "title": "VolumeType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "markdownDescription": "The ID of the launch template.\n\nYou must specify the `LaunchTemplateId` or the `LaunchTemplateName` , but not both.", + "title": "LaunchTemplateId", + "type": "string" + }, + "LaunchTemplateName": { + "markdownDescription": "The name of the launch template.\n\nYou must specify the `LaunchTemplateName` or the `LaunchTemplateId` , but not both.", + "title": "LaunchTemplateName", + "type": "string" + }, + "Version": { + "markdownDescription": "The version number of the launch template.\n\nSpecifying `$Latest` or `$Default` for the template version number is not supported. However, you can specify `LatestVersionNumber` or `DefaultVersionNumber` using the `Fn::GetAtt` intrinsic function. For more information, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate-return-values-fn--getatt) .", + "title": "Version", + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.GroupIdentifier": { + "additionalProperties": false, + "properties": { + "GroupId": { + "markdownDescription": "The ID of the security group.", + "title": "GroupId", + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile.", + "title": "Arn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "markdownDescription": "The IPv6 address.", + "title": "Ipv6Address", + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "markdownDescription": "Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is `true` .\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [Amazon VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", + "title": "AssociatePublicIpAddress", + "type": "boolean" + }, + "DeleteOnTermination": { + "markdownDescription": "Indicates whether the network interface is deleted when the instance is terminated.", + "title": "DeleteOnTermination", + "type": "boolean" + }, + "Description": { + "markdownDescription": "The description of the network interface. Applies only if creating a network interface when launching an instance.", + "title": "Description", + "type": "string" + }, + "DeviceIndex": { + "markdownDescription": "The position of the network interface in the attachment order. A primary network interface has a device index of 0.\n\nIf you specify a network interface when launching an instance, you must specify the device index.", + "title": "DeviceIndex", + "type": "number" + }, + "Groups": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.", + "title": "Groups", + "type": "array" + }, + "Ipv6AddressCount": { + "markdownDescription": "A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.", + "title": "Ipv6AddressCount", + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + }, + "markdownDescription": "The IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.", + "title": "Ipv6Addresses", + "type": "array" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of the network interface.\n\nIf you are creating a Spot Fleet, omit this parameter because you can\u2019t specify a network interface ID in a launch specification.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + }, + "markdownDescription": "The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're launching more than one instance in a [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) request.", + "title": "PrivateIpAddresses", + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "markdownDescription": "The number of secondary private IPv4 addresses. You can\u2019t specify this parameter and also specify a secondary private IP address using the `PrivateIpAddress` parameter.", + "title": "SecondaryPrivateIpAddressCount", + "type": "number" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet associated with the network interface.", + "title": "SubnetId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.AcceleratorCountRequest", + "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n\nTo exclude accelerator-enabled instance types, set `Max` to `0` .\n\nDefault: No minimum or maximum limits", + "title": "AcceleratorCount" + }, + "AcceleratorManufacturers": { + "items": { + "type": "string" + }, + "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n\n- For instance types with AWS devices, specify `amazon-web-services` .\n- For instance types with AMD devices, specify `amd` .\n- For instance types with Habana devices, specify `habana` .\n- For instance types with NVIDIA devices, specify `nvidia` .\n- For instance types with Xilinx devices, specify `xilinx` .\n\nDefault: Any manufacturer", + "title": "AcceleratorManufacturers", + "type": "array" + }, + "AcceleratorNames": { + "items": { + "type": "string" + }, + "markdownDescription": "The accelerators that must be on the instance type.\n\n- For instance types with NVIDIA A10G GPUs, specify `a10g` .\n- For instance types with NVIDIA A100 GPUs, specify `a100` .\n- For instance types with NVIDIA H100 GPUs, specify `h100` .\n- For instance types with AWS Inferentia chips, specify `inferentia` .\n- For instance types with AWS Inferentia2 chips, specify `inferentia2` .\n- For instance types with Habana Gaudi HL-205 GPUs, specify `gaudi-hl-205` .\n- For instance types with NVIDIA GRID K520 GPUs, specify `k520` .\n- For instance types with NVIDIA K80 GPUs, specify `k80` .\n- For instance types with NVIDIA L4 GPUs, specify `l4` .\n- For instance types with NVIDIA L40S GPUs, specify `l40s` .\n- For instance types with NVIDIA M60 GPUs, specify `m60` .\n- For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` .\n- For instance types with AWS Trainium chips, specify `trainium` .\n- For instance types with AWS Trainium2 chips, specify `trainium2` .\n- For instance types with NVIDIA T4 GPUs, specify `t4` .\n- For instance types with NVIDIA T4G GPUs, specify `t4g` .\n- For instance types with Xilinx U30 cards, specify `u30` .\n- For instance types with Xilinx VU9P FPGAs, specify `vu9p` .\n- For instance types with NVIDIA V100 GPUs, specify `v100` .\n\nDefault: Any accelerator", + "title": "AcceleratorNames", + "type": "array" + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.AcceleratorTotalMemoryMiBRequest", + "markdownDescription": "The minimum and maximum amount of total accelerator memory, in MiB.\n\nDefault: No minimum or maximum limits", + "title": "AcceleratorTotalMemoryMiB" + }, + "AcceleratorTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The accelerator types that must be on the instance type.\n\n- For instance types with FPGA accelerators, specify `fpga` .\n- For instance types with GPU accelerators, specify `gpu` .\n- For instance types with Inference accelerators, specify `inference` .\n- For instance types with Media accelerators, specify `media` .\n\nDefault: Any accelerator type", + "title": "AcceleratorTypes", + "type": "array" + }, + "AllowedInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n\n> If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . \n\nDefault: All instance types", + "title": "AllowedInstanceTypes", + "type": "array" + }, + "BareMetal": { + "markdownDescription": "Indicates whether bare metal instance types must be included, excluded, or required.\n\n- To include bare metal instance types, specify `included` .\n- To require only bare metal instance types, specify `required` .\n- To exclude bare metal instance types, specify `excluded` .\n\nDefault: `excluded`", + "title": "BareMetal", + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.BaselineEbsBandwidthMbpsRequest", + "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", + "title": "BaselineEbsBandwidthMbps" + }, + "BaselinePerformanceFactors": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.BaselinePerformanceFactorsRequest", + "markdownDescription": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .", + "title": "BaselinePerformanceFactors" + }, + "BurstablePerformance": { + "markdownDescription": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`", + "title": "BurstablePerformance", + "type": "string" + }, + "CpuManufacturers": { + "items": { + "type": "string" + }, + "markdownDescription": "The CPU manufacturers to include.\n\n- For instance types with Intel CPUs, specify `intel` .\n- For instance types with AMD CPUs, specify `amd` .\n- For instance types with AWS CPUs, specify `amazon-web-services` .\n- For instance types with Apple CPUs, specify `apple` .\n\n> Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. \n\nDefault: Any manufacturer", + "title": "CpuManufacturers", + "type": "array" + }, + "ExcludedInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The instance types to exclude.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance family, type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n\n> If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . \n\nDefault: No excluded instance types", + "title": "ExcludedInstanceTypes", + "type": "array" + }, + "InstanceGenerations": { + "items": { + "type": "string" + }, + "markdownDescription": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nFor current generation instance types, specify `current` .\n\nFor previous generation instance types, specify `previous` .\n\nDefault: Current and previous generation instance types", + "title": "InstanceGenerations", + "type": "array" + }, + "LocalStorage": { + "markdownDescription": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* .\n\n- To include instance types with instance store volumes, specify `included` .\n- To require only instance types with instance store volumes, specify `required` .\n- To exclude instance types with instance store volumes, specify `excluded` .\n\nDefault: `included`", + "title": "LocalStorage", + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The type of local storage that is required.\n\n- For instance types with hard disk drive (HDD) storage, specify `hdd` .\n- For instance types with solid state drive (SSD) storage, specify `ssd` .\n\nDefault: `hdd` and `ssd`", + "title": "LocalStorageTypes", + "type": "array" + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` .", + "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", + "type": "number" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.MemoryGiBPerVCpuRequest", + "markdownDescription": "The minimum and maximum amount of memory per vCPU, in GiB.\n\nDefault: No minimum or maximum limits", + "title": "MemoryGiBPerVCpu" + }, + "MemoryMiB": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.MemoryMiBRequest", + "markdownDescription": "The minimum and maximum amount of memory, in MiB.", + "title": "MemoryMiB" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.NetworkBandwidthGbpsRequest", + "markdownDescription": "The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more information, see [Amazon EC2 instance network bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", + "title": "NetworkBandwidthGbps" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.NetworkInterfaceCountRequest", + "markdownDescription": "The minimum and maximum number of network interfaces.\n\nDefault: No minimum or maximum limits", + "title": "NetworkInterfaceCount" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nTo indicate no price protection threshold, specify a high value, such as `999999` .\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. \n\nDefault: `20`", + "title": "OnDemandMaxPricePercentageOverLowestPrice", + "type": "number" + }, + "RequireEncryptionInTransit": { + "markdownDescription": "Specifies whether instance types must support encrypting in-transit traffic between instances. For more information, including the supported instance types, see [Encryption in transit](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-protection.html#encryption-transit) in the *Amazon EC2 User Guide* .\n\nDefault: `false`", + "title": "RequireEncryptionInTransit", + "type": "boolean" + }, + "RequireHibernateSupport": { + "markdownDescription": "Indicates whether instance types must support hibernation for On-Demand Instances.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) .\n\nDefault: `false`", + "title": "RequireHibernateSupport", + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` . \n\nDefault: `100`", + "title": "SpotMaxPricePercentageOverLowestPrice", + "type": "number" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TotalLocalStorageGBRequest", + "markdownDescription": "The minimum and maximum amount of total local storage, in GB.\n\nDefault: No minimum or maximum limits", + "title": "TotalLocalStorageGB" + }, + "VCpuCount": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.VCpuCountRangeRequest", + "markdownDescription": "The minimum and maximum number of vCPUs.", + "title": "VCpuCount" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification", + "markdownDescription": "The launch template to use. Make sure that the launch template does not contain the `NetworkInterfaceId` parameter because you can't specify a network interface ID in a Spot Fleet.", + "title": "LaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" + }, + "markdownDescription": "Any parameters that you specify override the same parameters in the launch template.", + "title": "Overrides", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "markdownDescription": "The Availability Zone in which to launch the instances. For example, `us-east-2a` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", + "title": "AvailabilityZone", + "type": "string" + }, + "AvailabilityZoneId": { + "markdownDescription": "The ID of the Availability Zone in which to launch the instances. For example, `use2-az1` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", + "title": "AvailabilityZoneId", + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceRequirementsRequest", + "markdownDescription": "The instance requirements. When you specify instance requirements, Amazon EC2 will identify instance types with the provided requirements, and then use your On-Demand and Spot allocation strategies to launch instances from these instance types, in the same way as when you specify a list of instance types.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .", + "title": "InstanceRequirements" + }, + "InstanceType": { + "markdownDescription": "The instance type.", + "title": "InstanceType", + "type": "string" + }, + "Priority": { + "markdownDescription": "The priority for the launch template override. The highest priority is launched first.\n\nIf `OnDemandAllocationStrategy` is set to `prioritized` , Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.\n\nIf the Spot `AllocationStrategy` is set to `capacityOptimizedPrioritized` , Spot Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.\n\nValid values are whole numbers starting at `0` . The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.", + "title": "Priority", + "type": "number" + }, + "SpotPrice": { + "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.", + "title": "SpotPrice", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet in which to launch the instances.", + "title": "SubnetId", + "type": "string" + }, + "WeightedCapacity": { + "markdownDescription": "The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.\n\nIf the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.\n\n> When specifying weights, the price used in the `lowestPrice` and `priceCapacityOptimized` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested `TargetCapacity` , resulting in only 1 instance being launched, the price used is per *instance* hour.", + "title": "WeightedCapacity", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig", + "markdownDescription": "The Classic Load Balancers.", + "title": "ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig", + "markdownDescription": "The target groups.", + "title": "TargetGroupsConfig" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of memory, in MiB. To specify no minimum limit, specify `0` .", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of network interfaces. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of network interfaces. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "markdownDescription": "The instance family to use as a baseline reference.\n\n> Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( `.` ) in the instance type name. For example, in the instance type `c6i.large` , the instance family is `c6i` , not `c6` . For more information, see [Amazon EC2 instance type naming conventions](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) in *Amazon EC2 Instance Types* . \n\nThe following instance families are *not supported* for performance protection:\n\n- `c1`\n- `g3` | `g3s`\n- `hpc7g`\n- `m1` | `m2`\n- `mac1` | `mac2` | `mac2-m1ultra` | `mac2-m2` | `mac2-m2pro`\n- `p3dn` | `p4d` | `p5`\n- `t1`\n- `u-12tb1` | `u-18tb1` | `u-24tb1` | `u-3tb1` | `u-6tb1` | `u-9tb1` | `u7i-12tb` | `u7in-16tb` | `u7in-24tb` | `u7in-32tb`\n\nIf you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.\n\nIf you specify an unsupported instance family as a value for baseline performance, the API returns an empty response for [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) and an exception for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html) , [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) , [ModifyFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html) , and [ModifySpotFleetRequest](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html) .", + "title": "InstanceFamily", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "markdownDescription": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.", + "title": "Primary", + "type": "boolean" + }, + "PrivateIpAddress": { + "markdownDescription": "The private IPv4 address.", + "title": "PrivateIpAddress", + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "markdownDescription": "The replacement strategy to use. Only available for fleets of type `maintain` .\n\n`launch` - Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.\n\n`launch-before-terminate` - Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in `TerminationDelay` ), terminates the instances that received a rebalance notification.", + "title": "ReplacementStrategy", + "type": "string" + }, + "TerminationDelay": { + "markdownDescription": "The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.\n\nRequired when `ReplacementStrategy` is set to `launch-before-terminate` .\n\nNot valid when `ReplacementStrategy` is set to `launch` .\n\nValid values: Minimum value of `120` seconds. Maximum value of `7200` seconds.", + "title": "TerminationDelay", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" + }, + "markdownDescription": "One or more block devices that are mapped to the Spot Instances. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.", + "title": "BlockDeviceMappings", + "type": "array" + }, + "EbsOptimized": { + "markdownDescription": "Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.\n\nDefault: `false`", + "title": "EbsOptimized", + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification", + "markdownDescription": "The IAM instance profile.", + "title": "IamInstanceProfile" + }, + "ImageId": { + "markdownDescription": "The ID of the AMI.", + "title": "ImageId", + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceRequirementsRequest", + "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .", + "title": "InstanceRequirements" + }, + "InstanceType": { + "markdownDescription": "The instance type.", + "title": "InstanceType", + "type": "string" + }, + "KernelId": { + "markdownDescription": "The ID of the kernel.", + "title": "KernelId", + "type": "string" + }, + "KeyName": { + "markdownDescription": "The name of the key pair.", + "title": "KeyName", + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring", + "markdownDescription": "Enable or disable monitoring for the instances.", + "title": "Monitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" + }, + "markdownDescription": "The network interfaces.", + "title": "NetworkInterfaces", + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement", + "markdownDescription": "The placement information.", + "title": "Placement" + }, + "RamdiskId": { + "markdownDescription": "The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the AWS Resource Center and search for the kernel ID.", + "title": "RamdiskId", + "type": "string" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" + }, + "markdownDescription": "The security groups.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.", + "title": "SecurityGroups", + "type": "array" + }, + "SpotPrice": { + "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.", + "title": "SpotPrice", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, \"subnet-1234abcdeexample1, subnet-0987cdef6example2\".\n\nIf you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.", + "title": "SubnetId", + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + }, + "markdownDescription": "The tags to apply during creation.", + "title": "TagSpecifications", + "type": "array" + }, + "UserData": { + "markdownDescription": "The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.", + "title": "UserData", + "type": "string" + }, + "WeightedCapacity": { + "markdownDescription": "The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.\n\nIf the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.\n\n> When specifying weights, the price used in the `lowestPrice` and `priceCapacityOptimized` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested `TargetCapacity` , resulting in only 1 instance being launched, the price used is per *instance* hour.", + "title": "WeightedCapacity", + "type": "number" + } + }, + "required": [ + "ImageId" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "Enables monitoring for the instance.\n\nDefault: `false`", + "title": "Enabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "markdownDescription": "The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see [Allocation strategies for Spot Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-allocation-strategy.html) in the *Amazon EC2 User Guide* .\n\n- **priceCapacityOptimized (recommended)** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.\n- **capacityOptimized** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use `capacityOptimizedPrioritized` . Set a priority for each instance type by using the `Priority` parameter for `LaunchTemplateOverrides` . You can assign the same priority to different `LaunchTemplateOverrides` . EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. `capacityOptimizedPrioritized` is supported only if your Spot Fleet uses a launch template. Note that if the `OnDemandAllocationStrategy` is set to `prioritized` , the same priority is applied when fulfilling On-Demand capacity.\n- **diversified** - Spot Fleet requests instances from all of the Spot Instance pools that you specify.\n- **lowestPrice (not recommended)** - > We don't recommend the `lowestPrice` allocation strategy because it has the highest risk of interruption for your Spot Instances. \n\nSpot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.\n\nDefault: `lowestPrice`", + "title": "AllocationStrategy", + "type": "string" + }, + "Context": { + "markdownDescription": "Reserved.", + "title": "Context", + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "markdownDescription": "Indicates whether running Spot Instances should be terminated if you decrease the target capacity of the Spot Fleet request below the current size of the Spot Fleet.\n\nSupported only for fleets of type `maintain` .", + "title": "ExcessCapacityTerminationPolicy", + "type": "string" + }, + "IamFleetRole": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that grants the Spot Fleet the permission to request, launch, terminate, and tag instances on your behalf. For more information, see [Spot Fleet Prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites) in the *Amazon EC2 User Guide* . Spot Fleet can terminate Spot Instances on your behalf when you cancel its Spot Fleet request or when the Spot Fleet request expires, if you set `TerminateInstancesWithExpiration` .", + "title": "IamFleetRole", + "type": "string" + }, + "InstanceInterruptionBehavior": { + "markdownDescription": "The behavior when a Spot Instance is interrupted. The default is `terminate` .", + "title": "InstanceInterruptionBehavior", + "type": "string" + }, + "InstancePoolsToUseCount": { + "markdownDescription": "The number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot *AllocationStrategy* is set to `lowest-price` . Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.\n\nNote that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified.", + "title": "InstancePoolsToUseCount", + "type": "number" + }, + "LaunchSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetLaunchSpecification" + }, + "markdownDescription": "The launch specifications for the Spot Fleet request. If you specify `LaunchSpecifications` , you can't specify `LaunchTemplateConfigs` .", + "title": "LaunchSpecifications", + "type": "array" + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateConfig" + }, + "markdownDescription": "The launch template and overrides. If you specify `LaunchTemplateConfigs` , you can't specify `LaunchSpecifications` .", + "title": "LaunchTemplateConfigs", + "type": "array" + }, + "LoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LoadBalancersConfig", + "markdownDescription": "One or more Classic Load Balancers and target groups to attach to the Spot Fleet request. Spot Fleet registers the running Spot Instances with the specified Classic Load Balancers and target groups.\n\nWith Network Load Balancers, Spot Fleet cannot register instances that have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1.", + "title": "LoadBalancersConfig" + }, + "OnDemandAllocationStrategy": { + "markdownDescription": "The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify `lowestPrice` , Spot Fleet uses price to determine the order, launching the lowest price first. If you specify `prioritized` , Spot Fleet uses the priority that you assign to each Spot Fleet launch template override, launching the highest priority first. If you do not specify a value, Spot Fleet defaults to `lowestPrice` .", + "title": "OnDemandAllocationStrategy", + "type": "string" + }, + "OnDemandMaxTotalPrice": { + "markdownDescription": "The maximum amount per hour for On-Demand Instances that you're willing to pay. You can use the `onDemandMaxTotalPrice` parameter, the `spotMaxTotalPrice` parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn\u2019t met the target capacity.\n\n> If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `onDemandMaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `onDemandMaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", + "title": "OnDemandMaxTotalPrice", + "type": "string" + }, + "OnDemandTargetCapacity": { + "markdownDescription": "The number of On-Demand units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is `maintain` , you can specify a target capacity of 0 and add capacity later.", + "title": "OnDemandTargetCapacity", + "type": "number" + }, + "ReplaceUnhealthyInstances": { + "markdownDescription": "Indicates whether Spot Fleet should replace unhealthy instances.", + "title": "ReplaceUnhealthyInstances", + "type": "boolean" + }, + "SpotMaintenanceStrategies": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotMaintenanceStrategies", + "markdownDescription": "The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.", + "title": "SpotMaintenanceStrategies" + }, + "SpotMaxTotalPrice": { + "markdownDescription": "The maximum amount per hour for Spot Instances that you're willing to pay. You can use the `spotMaxTotalPrice` parameter, the `onDemandMaxTotalPrice` parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn\u2019t met the target capacity.\n\n> If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `spotMaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `spotMaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", + "title": "SpotMaxTotalPrice", + "type": "string" + }, + "SpotPrice": { + "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.", + "title": "SpotPrice", + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + }, + "markdownDescription": "The key-value pair for tagging the Spot Fleet request on creation. The value for `ResourceType` must be `spot-fleet-request` , otherwise the Spot Fleet request fails. To tag instances at launch, specify the tags in the [launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template) (valid only if you use `LaunchTemplateConfigs` ) or in the `[SpotFleetTagSpecification](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetTagSpecification.html)` (valid only if you use `LaunchSpecifications` ). For information about tagging after launch, see [Tag your resources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources) .", + "title": "TagSpecifications", + "type": "array" + }, + "TargetCapacity": { + "markdownDescription": "The number of units to request for the Spot Fleet. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is `maintain` , you can specify a target capacity of 0 and add capacity later.", + "title": "TargetCapacity", + "type": "number" + }, + "TargetCapacityUnitType": { + "markdownDescription": "The unit for the target capacity. You can specify this parameter only when using attribute-based instance type selection.\n\nDefault: `units` (the number of instances)", + "title": "TargetCapacityUnitType", + "type": "string" + }, + "TerminateInstancesWithExpiration": { + "markdownDescription": "Indicates whether running Spot Instances are terminated when the Spot Fleet request expires.", + "title": "TerminateInstancesWithExpiration", + "type": "boolean" + }, + "Type": { + "markdownDescription": "The type of request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. When this value is `request` , the Spot Fleet only places the required requests. It does not attempt to replenish Spot Instances if capacity is diminished, nor does it submit requests in alternative Spot pools if capacity is not available. When this value is `maintain` , the Spot Fleet maintains the target capacity. The Spot Fleet places the required requests to meet capacity and automatically replenishes any interrupted instances. Default: `maintain` . `instant` is listed but is not used by Spot Fleet.", + "title": "Type", + "type": "string" + }, + "ValidFrom": { + "markdownDescription": "The start date and time of the request, in UTC format ( *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). By default, Amazon EC2 starts fulfilling the request immediately.", + "title": "ValidFrom", + "type": "string" + }, + "ValidUntil": { + "markdownDescription": "The end date and time of the request, in UTC format ( *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). After the end date and time, no new Spot Instance requests are placed or able to fulfill the request. If no value is specified, the Spot Fleet request remains until you cancel it.", + "title": "ValidUntil", + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "markdownDescription": "The type of resource. Currently, the only resource type that is supported is `instance` . To tag the Spot Fleet request on creation, use the `TagSpecifications` parameter in `[SpotFleetRequestConfigData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetRequestConfigData.html)` .", + "title": "ResourceType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance", + "markdownDescription": "The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see [Capacity rebalancing](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html) in the *Amazon EC2 User Guide* .", + "title": "CapacityRebalance" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "markdownDescription": "The Availability Zone.\n\nTo specify multiple Availability Zones, separate them using commas; for example, \"us-west-2a, us-west-2b\".", + "title": "AvailabilityZone", + "type": "string" + }, + "AvailabilityZoneId": { + "markdownDescription": "The ID of the Availability Zone. For example, `use2-az1` .\n\n[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, \" `use2-az1` , `use2-bz1` \".\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", + "title": "AvailabilityZoneId", + "type": "string" + }, + "GroupName": { + "markdownDescription": "The name of the placement group.", + "title": "GroupName", + "type": "string" + }, + "Tenancy": { + "markdownDescription": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of `dedicated` runs on single-tenant hardware. The `host` tenancy is not supported for Spot Instances.", + "title": "Tenancy", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the target group.", + "title": "Arn", + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" + }, + "markdownDescription": "One or more target groups.", + "title": "TargetGroups", + "type": "array" + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of vCPUs. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of vCPUs. To specify no minimum limit, specify `0` .", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest": { + "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": { + "AvailabilityZoneGroup": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "LaunchGroup": { + "type": "string" + }, + "LaunchSpecification": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.LaunchSpecification" + }, + "SpotPrice": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SpotInstancesRequest" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "Throughput": { + "type": "number" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.GroupIdentifier": { + "additionalProperties": false, + "properties": { + "GroupId": { + "type": "string" + }, + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.LaunchSpecification": { + "additionalProperties": false, + "properties": { + "AddressingType": { + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.IamInstanceProfileSpecification" + }, + "ImageId": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.MonitoringEnabled" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.InstanceNetworkInterfaceSpecification" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.GroupIdentifier" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.MonitoringEnabled": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.SpotInstanceStatus": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "UpdateTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneId": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SqlHaStandbyDetectedInstance": { + "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": { + "InstanceId": { + "type": "string" + }, + "SqlServerCredentials": { + "type": "string" + } + }, + "required": [ + "InstanceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SqlHaStandbyDetectedInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Subnet": { + "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": { + "AssignIpv6AddressOnCreation": { + "markdownDescription": "Indicates whether a network interface created in this subnet receives an IPv6 address. The default value is `false` .\n\nIf you specify `AssignIpv6AddressOnCreation` , you must also specify an IPv6 CIDR block.", + "title": "AssignIpv6AddressOnCreation", + "type": "boolean" + }, + "AvailabilityZone": { + "markdownDescription": "The Availability Zone of the subnet.\n\nIf you update this property, you must also update the `CidrBlock` property.", + "title": "AvailabilityZone", + "type": "string" + }, + "AvailabilityZoneId": { + "markdownDescription": "The AZ ID of the subnet.", + "title": "AvailabilityZoneId", + "type": "string" + }, + "CidrBlock": { + "markdownDescription": "The IPv4 CIDR block assigned to the subnet.\n\nIf you update this property, we create a new subnet, and then delete the existing one.", + "title": "CidrBlock", + "type": "string" + }, + "EnableDns64": { + "markdownDescription": "Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations.\n\n> You must first configure a NAT gateway in a public subnet (separate from the subnet containing the IPv6-only workloads). For example, the subnet containing the NAT gateway should have a `0.0.0.0/0` route pointing to the internet gateway. For more information, see [Configure DNS64 and NAT64](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-nat64-dns64.html#nat-gateway-nat64-dns64-walkthrough) in the *Amazon Virtual Private Cloud User Guide* .", + "title": "EnableDns64", + "type": "boolean" + }, + "EnableLniAtDeviceIndex": { + "markdownDescription": "Indicates the device position for local network interfaces in this subnet. For example, `1` indicates local network interfaces in this subnet are the secondary network interface (eth1).", + "title": "EnableLniAtDeviceIndex", + "type": "number" + }, + "Ipv4IpamPoolId": { + "markdownDescription": "An IPv4 IPAM pool ID for the subnet.", + "title": "Ipv4IpamPoolId", + "type": "string" + }, + "Ipv4NetmaskLength": { + "markdownDescription": "An IPv4 netmask length for the subnet.", + "title": "Ipv4NetmaskLength", + "type": "number" + }, + "Ipv6CidrBlock": { + "markdownDescription": "The IPv6 CIDR block.\n\nIf you specify `AssignIpv6AddressOnCreation` , you must also specify an IPv6 CIDR block.", + "title": "Ipv6CidrBlock", + "type": "string" + }, + "Ipv6IpamPoolId": { + "markdownDescription": "An IPv6 IPAM pool ID for the subnet.", + "title": "Ipv6IpamPoolId", + "type": "string" + }, + "Ipv6Native": { + "markdownDescription": "Indicates whether this is an IPv6 only subnet. For more information, see [Subnet basics](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#subnet-basics) in the *Amazon Virtual Private Cloud User Guide* .", + "title": "Ipv6Native", + "type": "boolean" + }, + "Ipv6NetmaskLength": { + "markdownDescription": "An IPv6 netmask length for the subnet.", + "title": "Ipv6NetmaskLength", + "type": "number" + }, + "MapPublicIpOnLaunch": { + "markdownDescription": "Indicates whether instances launched in this subnet receive a public IPv4 address. The default value is `false` .\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", + "title": "MapPublicIpOnLaunch", + "type": "boolean" + }, + "OutpostArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Outpost.", + "title": "OutpostArn", + "type": "string" + }, + "PrivateDnsNameOptionsOnLaunch": { + "$ref": "#/definitions/AWS::EC2::Subnet.PrivateDnsNameOptionsOnLaunch", + "markdownDescription": "The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries to the instances should be handled. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .\n\nAvailable options:\n\n- EnableResourceNameDnsAAAARecord (true | false)\n- EnableResourceNameDnsARecord (true | false)\n- HostnameType (ip-name | resource-name)", + "title": "PrivateDnsNameOptionsOnLaunch" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the subnet.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC the subnet is in.\n\nIf you update this property, you must also update the `CidrBlock` property.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Subnet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Subnet.BlockPublicAccessStates": { + "additionalProperties": false, + "properties": { + "InternetGatewayBlockMode": { + "markdownDescription": "The mode of VPC BPA.\n\n- `off` : VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.\n- `block-bidirectional` : Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).\n- `block-ingress` : Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.", + "title": "InternetGatewayBlockMode", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Subnet.PrivateDnsNameOptionsOnLaunch": { + "additionalProperties": false, + "properties": { + "EnableResourceNameDnsAAAARecord": { + "markdownDescription": "Indicates whether to respond to DNS queries for instance hostname with DNS AAAA records.", + "title": "EnableResourceNameDnsAAAARecord", + "type": "boolean" + }, + "EnableResourceNameDnsARecord": { + "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records.", + "title": "EnableResourceNameDnsARecord", + "type": "boolean" + }, + "HostnameType": { + "markdownDescription": "The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID.", + "title": "HostnameType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SubnetCidrBlock": { + "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": { + "Ipv6CidrBlock": { + "markdownDescription": "The IPv6 network range for the subnet, in CIDR notation.", + "title": "Ipv6CidrBlock", + "type": "string" + }, + "Ipv6IpamPoolId": { + "markdownDescription": "An IPv6 IPAM pool ID for the subnet.", + "title": "Ipv6IpamPoolId", + "type": "string" + }, + "Ipv6NetmaskLength": { + "markdownDescription": "An IPv6 netmask length for the subnet.", + "title": "Ipv6NetmaskLength", + "type": "number" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet.", + "title": "SubnetId", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetCidrBlock" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetCidrReservation": { + "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": { + "Cidr": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ReservationType": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Cidr", + "ReservationType", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetCidrReservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetNetworkAclAssociation": { + "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": { + "NetworkAclId": { + "markdownDescription": "The ID of the network ACL.", + "title": "NetworkAclId", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet.", + "title": "SubnetId", + "type": "string" + } + }, + "required": [ + "NetworkAclId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetNetworkAclAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetRouteTableAssociation": { + "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": { + "RouteTableId": { + "markdownDescription": "The ID of the route table.\n\nThe physical ID changes when the route table ID is changed.", + "title": "RouteTableId", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet.", + "title": "SubnetId", + "type": "string" + } + }, + "required": [ + "RouteTableId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilter": { + "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": { + "markdownDescription": "The description of the Traffic Mirror filter.", + "title": "Description", + "type": "string" + }, + "NetworkServices": { + "items": { + "type": "string" + }, + "markdownDescription": "The network service traffic that is associated with the Traffic Mirror filter.\n\nValid values are `amazon-dns` .", + "title": "NetworkServices", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to assign to a Traffic Mirror filter.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule": { + "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": { + "markdownDescription": "The description of the Traffic Mirror rule.", + "title": "Description", + "type": "string" + }, + "DestinationCidrBlock": { + "markdownDescription": "The destination CIDR block to assign to the Traffic Mirror rule.", + "title": "DestinationCidrBlock", + "type": "string" + }, + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange", + "markdownDescription": "The destination port range.", + "title": "DestinationPortRange" + }, + "Protocol": { + "markdownDescription": "The protocol, for example UDP, to assign to the Traffic Mirror rule.\n\nFor information about the protocol value, see [Protocol Numbers](https://docs.aws.amazon.com/https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) on the Internet Assigned Numbers Authority (IANA) website.", + "title": "Protocol", + "type": "number" + }, + "RuleAction": { + "markdownDescription": "The action to take on the filtered traffic.", + "title": "RuleAction", + "type": "string" + }, + "RuleNumber": { + "markdownDescription": "The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.", + "title": "RuleNumber", + "type": "number" + }, + "SourceCidrBlock": { + "markdownDescription": "The source CIDR block to assign to the Traffic Mirror rule.", + "title": "SourceCidrBlock", + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange", + "markdownDescription": "The source port range.", + "title": "SourcePortRange" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags on Traffic Mirroring filter rules.", + "title": "Tags", + "type": "array" + }, + "TrafficDirection": { + "markdownDescription": "The type of traffic.", + "title": "TrafficDirection", + "type": "string" + }, + "TrafficMirrorFilterId": { + "markdownDescription": "The ID of the filter that this rule is associated with.", + "title": "TrafficMirrorFilterId", + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "RuleAction", + "RuleNumber", + "SourceCidrBlock", + "TrafficDirection", + "TrafficMirrorFilterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilterRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "markdownDescription": "The start of the Traffic Mirror port range. This applies to the TCP and UDP protocols.", + "title": "FromPort", + "type": "number" + }, + "ToPort": { + "markdownDescription": "The end of the Traffic Mirror port range. This applies to the TCP and UDP protocols.", + "title": "ToPort", + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorSession": { + "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": { + "markdownDescription": "The description of the Traffic Mirror session.", + "title": "Description", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of the source network interface.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "OwnerId": { + "markdownDescription": "The ID of the account that owns the Traffic Mirror session.", + "title": "OwnerId", + "type": "string" + }, + "PacketLength": { + "markdownDescription": "The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target.\n\nIf you do not want to mirror the entire packet, use the `PacketLength` parameter to specify the number of bytes in each packet to mirror.\n\nFor sessions with Network Load Balancer (NLB) Traffic Mirror targets the default `PacketLength` will be set to 8500. Valid values are 1-8500. Setting a `PacketLength` greater than 8500 will result in an error response.", + "title": "PacketLength", + "type": "number" + }, + "SessionNumber": { + "markdownDescription": "The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.\n\nValid values are 1-32766.", + "title": "SessionNumber", + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to assign to a Traffic Mirror session.", + "title": "Tags", + "type": "array" + }, + "TrafficMirrorFilterId": { + "markdownDescription": "The ID of the Traffic Mirror filter.", + "title": "TrafficMirrorFilterId", + "type": "string" + }, + "TrafficMirrorTargetId": { + "markdownDescription": "The ID of the Traffic Mirror target.", + "title": "TrafficMirrorTargetId", + "type": "string" + }, + "VirtualNetworkId": { + "markdownDescription": "The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see [RFC 7348](https://docs.aws.amazon.com/https://datatracker.ietf.org/doc/html/rfc7348) . If you do not specify a `VirtualNetworkId` , an account-wide unique ID is chosen at random.", + "title": "VirtualNetworkId", + "type": "number" + } + }, + "required": [ + "NetworkInterfaceId", + "SessionNumber", + "TrafficMirrorFilterId", + "TrafficMirrorTargetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorSession" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorTarget": { + "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": { + "markdownDescription": "The description of the Traffic Mirror target.", + "title": "Description", + "type": "string" + }, + "GatewayLoadBalancerEndpointId": { + "markdownDescription": "The ID of the Gateway Load Balancer endpoint.", + "title": "GatewayLoadBalancerEndpointId", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The network interface ID that is associated with the target.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "NetworkLoadBalancerArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.", + "title": "NetworkLoadBalancerArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to assign to the Traffic Mirror target.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TransitGateway": { + "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": { + "AmazonSideAsn": { + "markdownDescription": "A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs. The default is 64512.", + "title": "AmazonSideAsn", + "type": "number" + }, + "AssociationDefaultRouteTableId": { + "markdownDescription": "The ID of the default association route table.", + "title": "AssociationDefaultRouteTableId", + "type": "string" + }, + "AutoAcceptSharedAttachments": { + "markdownDescription": "Enable or disable automatic acceptance of attachment requests. Disabled by default.", + "title": "AutoAcceptSharedAttachments", + "type": "string" + }, + "DefaultRouteTableAssociation": { + "markdownDescription": "Enable or disable automatic association with the default association route table. Enabled by default. If `DefaultRouteTableAssociation` is set to enable, AWS Transit Gateway will create the default transit gateway route table.", + "title": "DefaultRouteTableAssociation", + "type": "string" + }, + "DefaultRouteTablePropagation": { + "markdownDescription": "Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default. If `DefaultRouteTablePropagation` is set to enable, AWS Transit Gateway will create the default transit gateway route table.", + "title": "DefaultRouteTablePropagation", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the transit gateway.", + "title": "Description", + "type": "string" + }, + "DnsSupport": { + "markdownDescription": "Enable or disable DNS support. Enabled by default.", + "title": "DnsSupport", + "type": "string" + }, + "EncryptionSupport": { + "markdownDescription": "Enable or disable encryption support. Disabled by default.", + "title": "EncryptionSupport", + "type": "string" + }, + "MulticastSupport": { + "markdownDescription": "Indicates whether multicast is enabled on the transit gateway", + "title": "MulticastSupport", + "type": "string" + }, + "PropagationDefaultRouteTableId": { + "markdownDescription": "The ID of the default propagation route table.", + "title": "PropagationDefaultRouteTableId", + "type": "string" + }, + "SecurityGroupReferencingSupport": { + "markdownDescription": "Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.\n\nFor important information about this feature, see [Create a transit gateway](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#create-tgw) in the *AWS Transit Gateway Guide* .", + "title": "SecurityGroupReferencingSupport", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the transit gateway.", + "title": "Tags", + "type": "array" + }, + "TransitGatewayCidrBlocks": { + "items": { + "type": "string" + }, + "markdownDescription": "The transit gateway CIDR blocks.", + "title": "TransitGatewayCidrBlocks", + "type": "array" + }, + "VpnEcmpSupport": { + "markdownDescription": "Enable or disable Equal Cost Multipath Protocol support. Enabled by default.", + "title": "VpnEcmpSupport", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::EC2::SqlHaStandbyDetectedInstance": { + "AWS::EC2::TransitGatewayAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -131265,21 +139846,48 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceId": { + "Options": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment.Options", + "markdownDescription": "The VPC attachment options.", + "title": "Options" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of one or more subnets. You can specify only one subnet per Availability Zone. You must specify at least one subnet, but we recommend that you specify two subnets for better availability. The transit gateway uses one IP address from each specified subnet.", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the attachment.", + "title": "Tags", + "type": "array" + }, + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway.", + "title": "TransitGatewayId", "type": "string" }, - "SqlServerCredentials": { + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", "type": "string" } }, "required": [ - "InstanceId" + "SubnetIds", + "TransitGatewayId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SqlHaStandbyDetectedInstance" + "AWS::EC2::TransitGatewayAttachment" ], "type": "string" }, @@ -131298,7 +139906,33 @@ ], "type": "object" }, - "AWS::EC2::Subnet": { + "AWS::EC2::TransitGatewayAttachment.Options": { + "additionalProperties": false, + "properties": { + "ApplianceModeSupport": { + "markdownDescription": "Enable or disable appliance mode support. The default is `disable` .", + "title": "ApplianceModeSupport", + "type": "string" + }, + "DnsSupport": { + "markdownDescription": "Enable or disable DNS support. The default is `disable` .", + "title": "DnsSupport", + "type": "string" + }, + "Ipv6Support": { + "markdownDescription": "Enable or disable IPv6 support. The default is `disable` .", + "title": "Ipv6Support", + "type": "string" + }, + "SecurityGroupReferencingSupport": { + "markdownDescription": "Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.\n\nFor important information about this feature, see [Create a transit gateway](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#create-tgw) in the *AWS Transit Gateway Guide* .", + "title": "SecurityGroupReferencingSupport", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::TransitGatewayConnect": { "additionalProperties": false, "properties": { "Condition": { @@ -131333,103 +139967,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AssignIpv6AddressOnCreation": { - "markdownDescription": "Indicates whether a network interface created in this subnet receives an IPv6 address. The default value is `false` .\n\nIf you specify `AssignIpv6AddressOnCreation` , you must also specify an IPv6 CIDR block.", - "title": "AssignIpv6AddressOnCreation", - "type": "boolean" - }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone of the subnet.\n\nIf you update this property, you must also update the `CidrBlock` property.", - "title": "AvailabilityZone", - "type": "string" - }, - "AvailabilityZoneId": { - "markdownDescription": "The AZ ID of the subnet.", - "title": "AvailabilityZoneId", - "type": "string" - }, - "CidrBlock": { - "markdownDescription": "The IPv4 CIDR block assigned to the subnet.\n\nIf you update this property, we create a new subnet, and then delete the existing one.", - "title": "CidrBlock", - "type": "string" - }, - "EnableDns64": { - "markdownDescription": "Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations.\n\n> You must first configure a NAT gateway in a public subnet (separate from the subnet containing the IPv6-only workloads). For example, the subnet containing the NAT gateway should have a `0.0.0.0/0` route pointing to the internet gateway. For more information, see [Configure DNS64 and NAT64](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-nat64-dns64.html#nat-gateway-nat64-dns64-walkthrough) in the *Amazon Virtual Private Cloud User Guide* .", - "title": "EnableDns64", - "type": "boolean" - }, - "EnableLniAtDeviceIndex": { - "markdownDescription": "Indicates the device position for local network interfaces in this subnet. For example, `1` indicates local network interfaces in this subnet are the secondary network interface (eth1).", - "title": "EnableLniAtDeviceIndex", - "type": "number" - }, - "Ipv4IpamPoolId": { - "markdownDescription": "An IPv4 IPAM pool ID for the subnet.", - "title": "Ipv4IpamPoolId", - "type": "string" - }, - "Ipv4NetmaskLength": { - "markdownDescription": "An IPv4 netmask length for the subnet.", - "title": "Ipv4NetmaskLength", - "type": "number" - }, - "Ipv6CidrBlock": { - "markdownDescription": "The IPv6 CIDR block.\n\nIf you specify `AssignIpv6AddressOnCreation` , you must also specify an IPv6 CIDR block.", - "title": "Ipv6CidrBlock", - "type": "string" - }, - "Ipv6IpamPoolId": { - "markdownDescription": "An IPv6 IPAM pool ID for the subnet.", - "title": "Ipv6IpamPoolId", - "type": "string" - }, - "Ipv6Native": { - "markdownDescription": "Indicates whether this is an IPv6 only subnet. For more information, see [Subnet basics](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#subnet-basics) in the *Amazon Virtual Private Cloud User Guide* .", - "title": "Ipv6Native", - "type": "boolean" - }, - "Ipv6NetmaskLength": { - "markdownDescription": "An IPv6 netmask length for the subnet.", - "title": "Ipv6NetmaskLength", - "type": "number" - }, - "MapPublicIpOnLaunch": { - "markdownDescription": "Indicates whether instances launched in this subnet receive a public IPv4 address. The default value is `false` .\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", - "title": "MapPublicIpOnLaunch", - "type": "boolean" - }, - "OutpostArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Outpost.", - "title": "OutpostArn", - "type": "string" - }, - "PrivateDnsNameOptionsOnLaunch": { - "$ref": "#/definitions/AWS::EC2::Subnet.PrivateDnsNameOptionsOnLaunch", - "markdownDescription": "The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries to the instances should be handled. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .\n\nAvailable options:\n\n- EnableResourceNameDnsAAAARecord (true | false)\n- EnableResourceNameDnsARecord (true | false)\n- HostnameType (ip-name | resource-name)", - "title": "PrivateDnsNameOptionsOnLaunch" + "Options": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions", + "markdownDescription": "The Connect attachment options.\n\n- protocol (gre)", + "title": "Options" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the subnet.", + "markdownDescription": "The tags for the attachment.", "title": "Tags", "type": "array" }, - "VpcId": { - "markdownDescription": "The ID of the VPC the subnet is in.\n\nIf you update this property, you must also update the `CidrBlock` property.", - "title": "VpcId", + "TransportTransitGatewayAttachmentId": { + "markdownDescription": "The ID of the attachment from which the Connect attachment was created.", + "title": "TransportTransitGatewayAttachmentId", "type": "string" } }, "required": [ - "VpcId" + "Options", + "TransportTransitGatewayAttachmentId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Subnet" + "AWS::EC2::TransitGatewayConnect" ], "type": "string" }, @@ -131448,39 +140013,18 @@ ], "type": "object" }, - "AWS::EC2::Subnet.BlockPublicAccessStates": { - "additionalProperties": false, - "properties": { - "InternetGatewayBlockMode": { - "markdownDescription": "The mode of VPC BPA.\n\n- `off` : VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.\n- `block-bidirectional` : Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).\n- `block-ingress` : Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.", - "title": "InternetGatewayBlockMode", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Subnet.PrivateDnsNameOptionsOnLaunch": { + "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { "additionalProperties": false, "properties": { - "EnableResourceNameDnsAAAARecord": { - "markdownDescription": "Indicates whether to respond to DNS queries for instance hostname with DNS AAAA records.", - "title": "EnableResourceNameDnsAAAARecord", - "type": "boolean" - }, - "EnableResourceNameDnsARecord": { - "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records.", - "title": "EnableResourceNameDnsARecord", - "type": "boolean" - }, - "HostnameType": { - "markdownDescription": "The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID.", - "title": "HostnameType", + "Protocol": { + "markdownDescription": "The tunnel protocol.", + "title": "Protocol", "type": "string" } }, "type": "object" }, - "AWS::EC2::SubnetCidrBlock": { + "AWS::EC2::TransitGatewayConnectPeer": { "additionalProperties": false, "properties": { "Condition": { @@ -131515,35 +140059,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Ipv6CidrBlock": { - "markdownDescription": "The IPv6 network range for the subnet, in CIDR notation.", - "title": "Ipv6CidrBlock", - "type": "string" - }, - "Ipv6IpamPoolId": { - "markdownDescription": "An IPv6 IPAM pool ID for the subnet.", - "title": "Ipv6IpamPoolId", - "type": "string" + "ConnectPeerConfiguration": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnectPeer.TransitGatewayConnectPeerConfiguration", + "markdownDescription": "The Connect peer details.", + "title": "ConnectPeerConfiguration" }, - "Ipv6NetmaskLength": { - "markdownDescription": "An IPv6 netmask length for the subnet.", - "title": "Ipv6NetmaskLength", - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the Connect peer.", + "title": "Tags", + "type": "array" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet.", - "title": "SubnetId", + "TransitGatewayAttachmentId": { + "markdownDescription": "The ID of the Connect attachment.", + "title": "TransitGatewayAttachmentId", "type": "string" } }, "required": [ - "SubnetId" + "ConnectPeerConfiguration", + "TransitGatewayAttachmentId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetCidrBlock" + "AWS::EC2::TransitGatewayConnectPeer" ], "type": "string" }, @@ -131562,7 +140105,79 @@ ], "type": "object" }, - "AWS::EC2::SubnetNetworkAclAssociation": { + "AWS::EC2::TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfiguration": { + "additionalProperties": false, + "properties": { + "BgpStatus": { + "markdownDescription": "The BGP status.", + "title": "BgpStatus", + "type": "string" + }, + "PeerAddress": { + "markdownDescription": "The interior BGP peer IP address for the appliance.", + "title": "PeerAddress", + "type": "string" + }, + "PeerAsn": { + "markdownDescription": "The peer Autonomous System Number (ASN).", + "title": "PeerAsn", + "type": "number" + }, + "TransitGatewayAddress": { + "markdownDescription": "The interior BGP peer IP address for the transit gateway.", + "title": "TransitGatewayAddress", + "type": "string" + }, + "TransitGatewayAsn": { + "markdownDescription": "The transit gateway Autonomous System Number (ASN).", + "title": "TransitGatewayAsn", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::TransitGatewayConnectPeer.TransitGatewayConnectPeerConfiguration": { + "additionalProperties": false, + "properties": { + "BgpConfigurations": { + "items": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfiguration" + }, + "markdownDescription": "The BGP configuration details.", + "title": "BgpConfigurations", + "type": "array" + }, + "InsideCidrBlocks": { + "items": { + "type": "string" + }, + "markdownDescription": "The range of interior BGP peer IP addresses.", + "title": "InsideCidrBlocks", + "type": "array" + }, + "PeerAddress": { + "markdownDescription": "The Connect peer IP address on the appliance side of the tunnel.", + "title": "PeerAddress", + "type": "string" + }, + "Protocol": { + "markdownDescription": "The tunnel protocol.", + "title": "Protocol", + "type": "string" + }, + "TransitGatewayAddress": { + "markdownDescription": "The Connect peer IP address on the transit gateway side of the tunnel.", + "title": "TransitGatewayAddress", + "type": "string" + } + }, + "required": [ + "InsideCidrBlocks", + "PeerAddress" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayMeteringPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -131597,26 +140212,36 @@ "Properties": { "additionalProperties": false, "properties": { - "NetworkAclId": { - "markdownDescription": "The ID of the network ACL.", - "title": "NetworkAclId", - "type": "string" + "MiddleboxAttachmentIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the middlebox attachments associated with the metering policy.", + "title": "MiddleboxAttachmentIds", + "type": "array" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet.", - "title": "SubnetId", + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the transit gateway metering policy.", + "title": "Tags", + "type": "array" + }, + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway associated with the metering policy.", + "title": "TransitGatewayId", "type": "string" } }, "required": [ - "NetworkAclId", - "SubnetId" + "TransitGatewayId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" + "AWS::EC2::TransitGatewayMeteringPolicy" ], "type": "string" }, @@ -131635,7 +140260,7 @@ ], "type": "object" }, - "AWS::EC2::SubnetRouteTableAssociation": { + "AWS::EC2::TransitGatewayMeteringPolicyEntry": { "additionalProperties": false, "properties": { "Condition": { @@ -131670,26 +140295,77 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteTableId": { - "markdownDescription": "The ID of the route table.\n\nThe physical ID changes when the route table ID is changed.", - "title": "RouteTableId", + "DestinationCidrBlock": { + "markdownDescription": "Describes an IPv4 CIDR block.", + "title": "DestinationCidrBlock", "type": "string" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet.", - "title": "SubnetId", + "DestinationPortRange": { + "markdownDescription": "Describes a range of ports.", + "title": "DestinationPortRange", + "type": "string" + }, + "DestinationTransitGatewayAttachmentId": { + "markdownDescription": "", + "title": "DestinationTransitGatewayAttachmentId", + "type": "string" + }, + "DestinationTransitGatewayAttachmentType": { + "markdownDescription": "", + "title": "DestinationTransitGatewayAttachmentType", + "type": "string" + }, + "MeteredAccount": { + "markdownDescription": "The AWS account ID to which the metered traffic is attributed.", + "title": "MeteredAccount", + "type": "string" + }, + "PolicyRuleNumber": { + "markdownDescription": "The rule number of the metering policy entry.", + "title": "PolicyRuleNumber", + "type": "number" + }, + "Protocol": { + "markdownDescription": "", + "title": "Protocol", + "type": "string" + }, + "SourceCidrBlock": { + "markdownDescription": "Describes an IPv4 CIDR block.", + "title": "SourceCidrBlock", + "type": "string" + }, + "SourcePortRange": { + "markdownDescription": "Describes a range of ports.", + "title": "SourcePortRange", + "type": "string" + }, + "SourceTransitGatewayAttachmentId": { + "markdownDescription": "", + "title": "SourceTransitGatewayAttachmentId", + "type": "string" + }, + "SourceTransitGatewayAttachmentType": { + "markdownDescription": "", + "title": "SourceTransitGatewayAttachmentType", + "type": "string" + }, + "TransitGatewayMeteringPolicyId": { + "markdownDescription": "", + "title": "TransitGatewayMeteringPolicyId", "type": "string" } }, "required": [ - "RouteTableId", - "SubnetId" + "MeteredAccount", + "PolicyRuleNumber", + "TransitGatewayMeteringPolicyId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" + "AWS::EC2::TransitGatewayMeteringPolicyEntry" ], "type": "string" }, @@ -131708,7 +140384,7 @@ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilter": { + "AWS::EC2::TransitGatewayMulticastDomain": { "additionalProperties": false, "properties": { "Condition": { @@ -131743,33 +140419,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the Traffic Mirror filter.", - "title": "Description", - "type": "string" - }, - "NetworkServices": { - "items": { - "type": "string" - }, - "markdownDescription": "The network service traffic that is associated with the Traffic Mirror filter.\n\nValid values are `amazon-dns` .", - "title": "NetworkServices", - "type": "array" + "Options": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain.Options", + "markdownDescription": "The options for the transit gateway multicast domain.\n\n- AutoAcceptSharedAssociations (enable | disable)\n- Igmpv2Support (enable | disable)\n- StaticSourcesSupport (enable | disable)", + "title": "Options" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to assign to a Traffic Mirror filter.", + "markdownDescription": "The tags for the transit gateway multicast domain.", "title": "Tags", "type": "array" + }, + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway.", + "title": "TransitGatewayId", + "type": "string" } }, + "required": [ + "TransitGatewayId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorFilter" + "AWS::EC2::TransitGatewayMulticastDomain" ], "type": "string" }, @@ -131783,11 +140459,33 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule": { + "AWS::EC2::TransitGatewayMulticastDomain.Options": { + "additionalProperties": false, + "properties": { + "AutoAcceptSharedAssociations": { + "markdownDescription": "Indicates whether to automatically accept cross-account subnet associations that are associated with the transit gateway multicast domain.", + "title": "AutoAcceptSharedAssociations", + "type": "string" + }, + "Igmpv2Support": { + "markdownDescription": "Specify whether to enable Internet Group Management Protocol (IGMP) version 2 for the transit gateway multicast domain.", + "title": "Igmpv2Support", + "type": "string" + }, + "StaticSourcesSupport": { + "markdownDescription": "Specify whether to enable support for statically configuring multicast group sources for a domain.", + "title": "StaticSourcesSupport", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastDomainAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -131822,78 +140520,32 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the Traffic Mirror rule.", - "title": "Description", - "type": "string" - }, - "DestinationCidrBlock": { - "markdownDescription": "The destination CIDR block to assign to the Traffic Mirror rule.", - "title": "DestinationCidrBlock", - "type": "string" - }, - "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange", - "markdownDescription": "The destination port range.", - "title": "DestinationPortRange" - }, - "Protocol": { - "markdownDescription": "The protocol, for example UDP, to assign to the Traffic Mirror rule.\n\nFor information about the protocol value, see [Protocol Numbers](https://docs.aws.amazon.com/https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) on the Internet Assigned Numbers Authority (IANA) website.", - "title": "Protocol", - "type": "number" - }, - "RuleAction": { - "markdownDescription": "The action to take on the filtered traffic.", - "title": "RuleAction", - "type": "string" - }, - "RuleNumber": { - "markdownDescription": "The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.", - "title": "RuleNumber", - "type": "number" - }, - "SourceCidrBlock": { - "markdownDescription": "The source CIDR block to assign to the Traffic Mirror rule.", - "title": "SourceCidrBlock", + "SubnetId": { + "markdownDescription": "The IDs of the subnets to associate with the transit gateway multicast domain.", + "title": "SubnetId", "type": "string" }, - "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange", - "markdownDescription": "The source port range.", - "title": "SourcePortRange" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags on Traffic Mirroring filter rules.", - "title": "Tags", - "type": "array" - }, - "TrafficDirection": { - "markdownDescription": "The type of traffic.", - "title": "TrafficDirection", + "TransitGatewayAttachmentId": { + "markdownDescription": "The ID of the transit gateway attachment.", + "title": "TransitGatewayAttachmentId", "type": "string" }, - "TrafficMirrorFilterId": { - "markdownDescription": "The ID of the filter that this rule is associated with.", - "title": "TrafficMirrorFilterId", + "TransitGatewayMulticastDomainId": { + "markdownDescription": "The ID of the transit gateway multicast domain.", + "title": "TransitGatewayMulticastDomainId", "type": "string" } }, "required": [ - "DestinationCidrBlock", - "RuleAction", - "RuleNumber", - "SourceCidrBlock", - "TrafficDirection", - "TrafficMirrorFilterId" + "SubnetId", + "TransitGatewayAttachmentId", + "TransitGatewayMulticastDomainId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorFilterRule" + "AWS::EC2::TransitGatewayMulticastDomainAssociation" ], "type": "string" }, @@ -131912,27 +140564,7 @@ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "markdownDescription": "The start of the Traffic Mirror port range. This applies to the TCP and UDP protocols.", - "title": "FromPort", - "type": "number" - }, - "ToPort": { - "markdownDescription": "The end of the Traffic Mirror port range. This applies to the TCP and UDP protocols.", - "title": "ToPort", - "type": "number" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorSession": { + "AWS::EC2::TransitGatewayMulticastGroupMember": { "additionalProperties": false, "properties": { "Condition": { @@ -131967,66 +140599,32 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the Traffic Mirror session.", - "title": "Description", + "GroupIpAddress": { + "markdownDescription": "The IP address assigned to the transit gateway multicast group.", + "title": "GroupIpAddress", "type": "string" }, "NetworkInterfaceId": { - "markdownDescription": "The ID of the source network interface.", + "markdownDescription": "The group members' network interface IDs to register with the transit gateway multicast group.", "title": "NetworkInterfaceId", "type": "string" }, - "OwnerId": { - "markdownDescription": "The ID of the account that owns the Traffic Mirror session.", - "title": "OwnerId", - "type": "string" - }, - "PacketLength": { - "markdownDescription": "The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target.\n\nIf you do not want to mirror the entire packet, use the `PacketLength` parameter to specify the number of bytes in each packet to mirror.\n\nFor sessions with Network Load Balancer (NLB) Traffic Mirror targets the default `PacketLength` will be set to 8500. Valid values are 1-8500. Setting a `PacketLength` greater than 8500 will result in an error response.", - "title": "PacketLength", - "type": "number" - }, - "SessionNumber": { - "markdownDescription": "The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.\n\nValid values are 1-32766.", - "title": "SessionNumber", - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to assign to a Traffic Mirror session.", - "title": "Tags", - "type": "array" - }, - "TrafficMirrorFilterId": { - "markdownDescription": "The ID of the Traffic Mirror filter.", - "title": "TrafficMirrorFilterId", - "type": "string" - }, - "TrafficMirrorTargetId": { - "markdownDescription": "The ID of the Traffic Mirror target.", - "title": "TrafficMirrorTargetId", + "TransitGatewayMulticastDomainId": { + "markdownDescription": "The ID of the transit gateway multicast domain.", + "title": "TransitGatewayMulticastDomainId", "type": "string" - }, - "VirtualNetworkId": { - "markdownDescription": "The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see [RFC 7348](https://docs.aws.amazon.com/https://datatracker.ietf.org/doc/html/rfc7348) . If you do not specify a `VirtualNetworkId` , an account-wide unique ID is chosen at random.", - "title": "VirtualNetworkId", - "type": "number" } }, "required": [ + "GroupIpAddress", "NetworkInterfaceId", - "SessionNumber", - "TrafficMirrorFilterId", - "TrafficMirrorTargetId" + "TransitGatewayMulticastDomainId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorSession" + "AWS::EC2::TransitGatewayMulticastGroupMember" ], "type": "string" }, @@ -132045,7 +140643,7 @@ ], "type": "object" }, - "AWS::EC2::TrafficMirrorTarget": { + "AWS::EC2::TransitGatewayMulticastGroupSource": { "additionalProperties": false, "properties": { "Condition": { @@ -132080,40 +140678,32 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the Traffic Mirror target.", - "title": "Description", - "type": "string" - }, - "GatewayLoadBalancerEndpointId": { - "markdownDescription": "The ID of the Gateway Load Balancer endpoint.", - "title": "GatewayLoadBalancerEndpointId", + "GroupIpAddress": { + "markdownDescription": "The IP address assigned to the transit gateway multicast group.", + "title": "GroupIpAddress", "type": "string" }, "NetworkInterfaceId": { - "markdownDescription": "The network interface ID that is associated with the target.", + "markdownDescription": "The group sources' network interface IDs to register with the transit gateway multicast group.", "title": "NetworkInterfaceId", "type": "string" }, - "NetworkLoadBalancerArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.", - "title": "NetworkLoadBalancerArn", + "TransitGatewayMulticastDomainId": { + "markdownDescription": "The ID of the transit gateway multicast domain.", + "title": "TransitGatewayMulticastDomainId", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to assign to the Traffic Mirror target.", - "title": "Tags", - "type": "array" } }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorTarget" + "AWS::EC2::TransitGatewayMulticastGroupSource" ], "type": "string" }, @@ -132127,11 +140717,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TransitGateway": { + "AWS::EC2::TransitGatewayPeeringAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -132166,88 +140757,46 @@ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { - "markdownDescription": "A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs. The default is 64512.", - "title": "AmazonSideAsn", - "type": "number" - }, - "AssociationDefaultRouteTableId": { - "markdownDescription": "The ID of the default association route table.", - "title": "AssociationDefaultRouteTableId", - "type": "string" - }, - "AutoAcceptSharedAttachments": { - "markdownDescription": "Enable or disable automatic acceptance of attachment requests. Disabled by default.", - "title": "AutoAcceptSharedAttachments", - "type": "string" - }, - "DefaultRouteTableAssociation": { - "markdownDescription": "Enable or disable automatic association with the default association route table. Enabled by default. If `DefaultRouteTableAssociation` is set to enable, AWS Transit Gateway will create the default transit gateway route table.", - "title": "DefaultRouteTableAssociation", - "type": "string" - }, - "DefaultRouteTablePropagation": { - "markdownDescription": "Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default. If `DefaultRouteTablePropagation` is set to enable, AWS Transit Gateway will create the default transit gateway route table.", - "title": "DefaultRouteTablePropagation", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the transit gateway.", - "title": "Description", - "type": "string" - }, - "DnsSupport": { - "markdownDescription": "Enable or disable DNS support. Enabled by default.", - "title": "DnsSupport", - "type": "string" - }, - "EncryptionSupport": { - "markdownDescription": "Enable or disable encryption support. Disabled by default.", - "title": "EncryptionSupport", - "type": "string" - }, - "MulticastSupport": { - "markdownDescription": "Indicates whether multicast is enabled on the transit gateway", - "title": "MulticastSupport", + "PeerAccountId": { + "markdownDescription": "The ID of the AWS account that owns the transit gateway.", + "title": "PeerAccountId", "type": "string" }, - "PropagationDefaultRouteTableId": { - "markdownDescription": "The ID of the default propagation route table.", - "title": "PropagationDefaultRouteTableId", + "PeerRegion": { + "markdownDescription": "The Region where the transit gateway that you want to create the peer for is located.", + "title": "PeerRegion", "type": "string" }, - "SecurityGroupReferencingSupport": { - "markdownDescription": "Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.\n\nFor important information about this feature, see [Create a transit gateway](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#create-tgw) in the *AWS Transit Gateway Guide* .", - "title": "SecurityGroupReferencingSupport", + "PeerTransitGatewayId": { + "markdownDescription": "The ID of the transit gateway in the PeerRegion.", + "title": "PeerTransitGatewayId", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the transit gateway.", + "markdownDescription": "The tags for the transit gateway peering attachment.", "title": "Tags", "type": "array" }, - "TransitGatewayCidrBlocks": { - "items": { - "type": "string" - }, - "markdownDescription": "The transit gateway CIDR blocks.", - "title": "TransitGatewayCidrBlocks", - "type": "array" - }, - "VpnEcmpSupport": { - "markdownDescription": "Enable or disable Equal Cost Multipath Protocol support. Enabled by default.", - "title": "VpnEcmpSupport", + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway peering attachment.", + "title": "TransitGatewayId", "type": "string" } }, + "required": [ + "PeerAccountId", + "PeerRegion", + "PeerTransitGatewayId", + "TransitGatewayId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGateway" + "AWS::EC2::TransitGatewayPeeringAttachment" ], "type": "string" }, @@ -132261,11 +140810,28 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TransitGatewayAttachment": { + "AWS::EC2::TransitGatewayPeeringAttachment.PeeringAttachmentStatus": { + "additionalProperties": false, + "properties": { + "Code": { + "markdownDescription": "The status code.", + "title": "Code", + "type": "string" + }, + "Message": { + "markdownDescription": "The status message, if applicable.", + "title": "Message", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::TransitGatewayPolicyTable": { "additionalProperties": false, "properties": { "Condition": { @@ -132300,48 +140866,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Options": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment.Options", - "markdownDescription": "The VPC attachment options.", - "title": "Options" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of one or more subnets. You can specify only one subnet per Availability Zone. You must specify at least one subnet, but we recommend that you specify two subnets for better availability. The transit gateway uses one IP address from each specified subnet.", - "title": "SubnetIds", - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the attachment.", - "title": "Tags", "type": "array" }, "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway.", - "title": "TransitGatewayId", - "type": "string" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", "type": "string" } }, "required": [ - "SubnetIds", - "TransitGatewayId", - "VpcId" + "TransitGatewayId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayAttachment" + "AWS::EC2::TransitGatewayPolicyTable" ], "type": "string" }, @@ -132360,33 +140902,76 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayAttachment.Options": { + "AWS::EC2::TransitGatewayPolicyTableAssociation": { "additionalProperties": false, "properties": { - "ApplianceModeSupport": { - "markdownDescription": "Enable or disable appliance mode support. The default is `disable` .", - "title": "ApplianceModeSupport", + "Condition": { "type": "string" }, - "DnsSupport": { - "markdownDescription": "Enable or disable DNS support. The default is `disable` .", - "title": "DnsSupport", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Ipv6Support": { - "markdownDescription": "Enable or disable IPv6 support. The default is `disable` .", - "title": "Ipv6Support", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayPolicyTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayPolicyTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayPolicyTableAssociation" + ], "type": "string" }, - "SecurityGroupReferencingSupport": { - "markdownDescription": "Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.\n\nFor important information about this feature, see [Create a transit gateway](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#create-tgw) in the *AWS Transit Gateway Guide* .", - "title": "SecurityGroupReferencingSupport", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::TransitGatewayConnect": { + "AWS::EC2::TransitGatewayPolicyTableEntry": { "additionalProperties": false, "properties": { "Condition": { @@ -132421,34 +141006,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Options": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions", - "markdownDescription": "The Connect attachment options.\n\n- protocol (gre)", - "title": "Options" + "PolicyRule": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayPolicyTableEntry.TransitGatewayPolicyRule" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags for the attachment.", - "title": "Tags", - "type": "array" + "PolicyRuleNumber": { + "type": "string" }, - "TransportTransitGatewayAttachmentId": { - "markdownDescription": "The ID of the attachment from which the Connect attachment was created.", - "title": "TransportTransitGatewayAttachmentId", + "TargetRouteTableId": { + "type": "string" + }, + "TransitGatewayPolicyTableId": { "type": "string" } }, "required": [ - "Options", - "TransportTransitGatewayAttachmentId" + "PolicyRule", + "PolicyRuleNumber", + "TargetRouteTableId", + "TransitGatewayPolicyTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayConnect" + "AWS::EC2::TransitGatewayPolicyTableEntry" ], "type": "string" }, @@ -132467,18 +141048,28 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { + "AWS::EC2::TransitGatewayPolicyTableEntry.TransitGatewayPolicyRule": { "additionalProperties": false, "properties": { + "DestinationCidrBlock": { + "type": "string" + }, + "DestinationPortRange": { + "type": "string" + }, "Protocol": { - "markdownDescription": "The tunnel protocol.", - "title": "Protocol", + "type": "string" + }, + "SourceCidrBlock": { + "type": "string" + }, + "SourcePortRange": { "type": "string" } }, "type": "object" }, - "AWS::EC2::TransitGatewayConnectPeer": { + "AWS::EC2::TransitGatewayRoute": { "additionalProperties": false, "properties": { "Condition": { @@ -132513,34 +141104,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectPeerConfiguration": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayConnectPeer.TransitGatewayConnectPeerConfiguration", - "markdownDescription": "The Connect peer details.", - "title": "ConnectPeerConfiguration" + "Blackhole": { + "markdownDescription": "Indicates whether to drop traffic that matches this route.", + "title": "Blackhole", + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags for the Connect peer.", - "title": "Tags", - "type": "array" + "DestinationCidrBlock": { + "markdownDescription": "The CIDR block used for destination matches.", + "title": "DestinationCidrBlock", + "type": "string" }, "TransitGatewayAttachmentId": { - "markdownDescription": "The ID of the Connect attachment.", + "markdownDescription": "The ID of the attachment.", "title": "TransitGatewayAttachmentId", "type": "string" + }, + "TransitGatewayRouteTableId": { + "markdownDescription": "The ID of the transit gateway route table.", + "title": "TransitGatewayRouteTableId", + "type": "string" } }, "required": [ - "ConnectPeerConfiguration", - "TransitGatewayAttachmentId" + "DestinationCidrBlock", + "TransitGatewayRouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayConnectPeer" + "AWS::EC2::TransitGatewayRoute" ], "type": "string" }, @@ -132559,79 +141152,82 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfiguration": { + "AWS::EC2::TransitGatewayRouteTable": { "additionalProperties": false, "properties": { - "BgpStatus": { - "markdownDescription": "The BGP status.", - "title": "BgpStatus", - "type": "string" - }, - "PeerAddress": { - "markdownDescription": "The interior BGP peer IP address for the appliance.", - "title": "PeerAddress", + "Condition": { "type": "string" }, - "PeerAsn": { - "markdownDescription": "The peer Autonomous System Number (ASN).", - "title": "PeerAsn", - "type": "number" - }, - "TransitGatewayAddress": { - "markdownDescription": "The interior BGP peer IP address for the transit gateway.", - "title": "TransitGatewayAddress", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TransitGatewayAsn": { - "markdownDescription": "The transit gateway Autonomous System Number (ASN).", - "title": "TransitGatewayAsn", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::TransitGatewayConnectPeer.TransitGatewayConnectPeerConfiguration": { - "additionalProperties": false, - "properties": { - "BgpConfigurations": { - "items": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfiguration" - }, - "markdownDescription": "The BGP configuration details.", - "title": "BgpConfigurations", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InsideCidrBlocks": { - "items": { - "type": "string" - }, - "markdownDescription": "The range of interior BGP peer IP addresses.", - "title": "InsideCidrBlocks", - "type": "array" + "Metadata": { + "type": "object" }, - "PeerAddress": { - "markdownDescription": "The Connect peer IP address on the appliance side of the tunnel.", - "title": "PeerAddress", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the route table.", + "title": "Tags", + "type": "array" + }, + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway.", + "title": "TransitGatewayId", + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" }, - "Protocol": { - "markdownDescription": "The tunnel protocol.", - "title": "Protocol", + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTable" + ], "type": "string" }, - "TransitGatewayAddress": { - "markdownDescription": "The Connect peer IP address on the transit gateway side of the tunnel.", - "title": "TransitGatewayAddress", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "InsideCidrBlocks", - "PeerAddress" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TransitGatewayMeteringPolicy": { + "AWS::EC2::TransitGatewayRouteTableAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -132666,36 +141262,26 @@ "Properties": { "additionalProperties": false, "properties": { - "MiddleboxAttachmentIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the middlebox attachments associated with the metering policy.", - "title": "MiddleboxAttachmentIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the transit gateway metering policy.", - "title": "Tags", - "type": "array" + "TransitGatewayAttachmentId": { + "markdownDescription": "The ID of the attachment.", + "title": "TransitGatewayAttachmentId", + "type": "string" }, - "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway associated with the metering policy.", - "title": "TransitGatewayId", + "TransitGatewayRouteTableId": { + "markdownDescription": "The ID of the route table for the transit gateway.", + "title": "TransitGatewayRouteTableId", "type": "string" } }, "required": [ - "TransitGatewayId" + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayMeteringPolicy" + "AWS::EC2::TransitGatewayRouteTableAssociation" ], "type": "string" }, @@ -132714,7 +141300,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayMeteringPolicyEntry": { + "AWS::EC2::TransitGatewayRouteTablePropagation": { "additionalProperties": false, "properties": { "Condition": { @@ -132749,77 +141335,26 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { - "markdownDescription": "Describes an IPv4 CIDR block.", - "title": "DestinationCidrBlock", - "type": "string" - }, - "DestinationPortRange": { - "markdownDescription": "Describes a range of ports.", - "title": "DestinationPortRange", - "type": "string" - }, - "DestinationTransitGatewayAttachmentId": { - "markdownDescription": "", - "title": "DestinationTransitGatewayAttachmentId", - "type": "string" - }, - "DestinationTransitGatewayAttachmentType": { - "markdownDescription": "", - "title": "DestinationTransitGatewayAttachmentType", - "type": "string" - }, - "MeteredAccount": { - "markdownDescription": "The AWS account ID to which the metered traffic is attributed.", - "title": "MeteredAccount", - "type": "string" - }, - "PolicyRuleNumber": { - "markdownDescription": "The rule number of the metering policy entry.", - "title": "PolicyRuleNumber", - "type": "number" - }, - "Protocol": { - "markdownDescription": "", - "title": "Protocol", - "type": "string" - }, - "SourceCidrBlock": { - "markdownDescription": "Describes an IPv4 CIDR block.", - "title": "SourceCidrBlock", - "type": "string" - }, - "SourcePortRange": { - "markdownDescription": "Describes a range of ports.", - "title": "SourcePortRange", - "type": "string" - }, - "SourceTransitGatewayAttachmentId": { - "markdownDescription": "", - "title": "SourceTransitGatewayAttachmentId", - "type": "string" - }, - "SourceTransitGatewayAttachmentType": { - "markdownDescription": "", - "title": "SourceTransitGatewayAttachmentType", + "TransitGatewayAttachmentId": { + "markdownDescription": "The ID of the attachment.", + "title": "TransitGatewayAttachmentId", "type": "string" }, - "TransitGatewayMeteringPolicyId": { - "markdownDescription": "", - "title": "TransitGatewayMeteringPolicyId", + "TransitGatewayRouteTableId": { + "markdownDescription": "The ID of the propagation route table.", + "title": "TransitGatewayRouteTableId", "type": "string" } }, "required": [ - "MeteredAccount", - "PolicyRuleNumber", - "TransitGatewayMeteringPolicyId" + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayMeteringPolicyEntry" + "AWS::EC2::TransitGatewayRouteTablePropagation" ], "type": "string" }, @@ -132838,7 +141373,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayMulticastDomain": { + "AWS::EC2::TransitGatewayVpcAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -132873,16 +141408,40 @@ "Properties": { "additionalProperties": false, "properties": { + "AddSubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.", + "title": "AddSubnetIds", + "type": "array" + }, "Options": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain.Options", - "markdownDescription": "The options for the transit gateway multicast domain.\n\n- AutoAcceptSharedAssociations (enable | disable)\n- Igmpv2Support (enable | disable)\n- StaticSourcesSupport (enable | disable)", + "$ref": "#/definitions/AWS::EC2::TransitGatewayVpcAttachment.Options", + "markdownDescription": "The VPC attachment options.", "title": "Options" }, + "RemoveSubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of one or more subnets to remove.", + "title": "RemoveSubnetIds", + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the subnets.", + "title": "SubnetIds", + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the transit gateway multicast domain.", + "markdownDescription": "The tags for the VPC attachment.", "title": "Tags", "type": "array" }, @@ -132890,16 +141449,23 @@ "markdownDescription": "The ID of the transit gateway.", "title": "TransitGatewayId", "type": "string" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", + "type": "string" } }, "required": [ - "TransitGatewayId" + "SubnetIds", + "TransitGatewayId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayMulticastDomain" + "AWS::EC2::TransitGatewayVpcAttachment" ], "type": "string" }, @@ -132918,28 +141484,33 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayMulticastDomain.Options": { + "AWS::EC2::TransitGatewayVpcAttachment.Options": { "additionalProperties": false, "properties": { - "AutoAcceptSharedAssociations": { - "markdownDescription": "Indicates whether to automatically accept cross-account subnet associations that are associated with the transit gateway multicast domain.", - "title": "AutoAcceptSharedAssociations", + "ApplianceModeSupport": { + "markdownDescription": "Enable or disable appliance mode support. The default is `disable` .", + "title": "ApplianceModeSupport", "type": "string" }, - "Igmpv2Support": { - "markdownDescription": "Specify whether to enable Internet Group Management Protocol (IGMP) version 2 for the transit gateway multicast domain.", - "title": "Igmpv2Support", + "DnsSupport": { + "markdownDescription": "Enable or disable DNS support. The default is `disable` .", + "title": "DnsSupport", "type": "string" }, - "StaticSourcesSupport": { - "markdownDescription": "Specify whether to enable support for statically configuring multicast group sources for a domain.", - "title": "StaticSourcesSupport", + "Ipv6Support": { + "markdownDescription": "Enable or disable IPv6 support. The default is `disable` .", + "title": "Ipv6Support", + "type": "string" + }, + "SecurityGroupReferencingSupport": { + "markdownDescription": "Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.\n\nFor important information about this feature, see [Create a transit gateway](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#create-tgw) in the *AWS Transit Gateway Guide* .", + "title": "SecurityGroupReferencingSupport", "type": "string" } }, "type": "object" }, - "AWS::EC2::TransitGatewayMulticastDomainAssociation": { + "AWS::EC2::VPC": { "additionalProperties": false, "properties": { "Condition": { @@ -132974,32 +141545,53 @@ "Properties": { "additionalProperties": false, "properties": { - "SubnetId": { - "markdownDescription": "The IDs of the subnets to associate with the transit gateway multicast domain.", - "title": "SubnetId", + "CidrBlock": { + "markdownDescription": "The IPv4 network range for the VPC, in CIDR notation. For example, `10.0.0.0/16` . We modify the specified CIDR block to its canonical form; for example, if you specify `100.68.0.18/18` , we modify it to `100.68.0.0/18` .\n\nYou must specify either `CidrBlock` or `Ipv4IpamPoolId` .", + "title": "CidrBlock", "type": "string" }, - "TransitGatewayAttachmentId": { - "markdownDescription": "The ID of the transit gateway attachment.", - "title": "TransitGatewayAttachmentId", + "EnableDnsHostnames": { + "markdownDescription": "Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not. Disabled by default for nondefault VPCs. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) .\n\nYou can only enable DNS hostnames if you've enabled DNS support.", + "title": "EnableDnsHostnames", + "type": "boolean" + }, + "EnableDnsSupport": { + "markdownDescription": "Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range \"plus two\" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled. Enabled by default. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) .", + "title": "EnableDnsSupport", + "type": "boolean" + }, + "InstanceTenancy": { + "markdownDescription": "The allowed tenancy of instances launched into the VPC.\n\n- `default` : An instance launched into the VPC runs on shared hardware by default, unless you explicitly specify a different tenancy during instance launch.\n- `dedicated` : An instance launched into the VPC runs on dedicated hardware by default, unless you explicitly specify a tenancy of `host` during instance launch. You cannot specify a tenancy of `default` during instance launch.\n\nUpdating `InstanceTenancy` requires no replacement only if you are updating its value from `dedicated` to `default` . Updating `InstanceTenancy` from `default` to `dedicated` requires replacement.", + "title": "InstanceTenancy", "type": "string" }, - "TransitGatewayMulticastDomainId": { - "markdownDescription": "The ID of the transit gateway multicast domain.", - "title": "TransitGatewayMulticastDomainId", + "Ipv4IpamPoolId": { + "markdownDescription": "The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .\n\nYou must specify either `CidrBlock` or `Ipv4IpamPoolId` .", + "title": "Ipv4IpamPoolId", "type": "string" + }, + "Ipv4NetmaskLength": { + "markdownDescription": "The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "Ipv4NetmaskLength", + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the VPC.", + "title": "Tags", + "type": "array" + }, + "VpcEncryptionControl": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControl" } }, - "required": [ - "SubnetId", - "TransitGatewayAttachmentId", - "TransitGatewayMulticastDomainId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayMulticastDomainAssociation" + "AWS::EC2::VPC" ], "type": "string" }, @@ -133013,12 +141605,101 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::TransitGatewayMulticastGroupMember": { + "AWS::EC2::VPC.VpcEncryptionControl": { + "additionalProperties": false, + "properties": { + "EgressOnlyInternetGatewayExclusion": { + "type": "string" + }, + "ElasticFileSystemExclusion": { + "type": "string" + }, + "InternetGatewayExclusion": { + "type": "string" + }, + "LambdaExclusion": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "NatGatewayExclusion": { + "type": "string" + }, + "ResourceExclusions": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusions" + }, + "State": { + "type": "string" + }, + "StateMessage": { + "type": "string" + }, + "VirtualPrivateGatewayExclusion": { + "type": "string" + }, + "VpcEncryptionControlId": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "VpcLatticeExclusion": { + "type": "string" + }, + "VpcPeeringExclusion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPC.VpcEncryptionControlExclusion": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + }, + "StateMessage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPC.VpcEncryptionControlExclusions": { + "additionalProperties": false, + "properties": { + "EgressOnlyInternetGateway": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + }, + "ElasticFileSystem": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + }, + "InternetGateway": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + }, + "Lambda": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + }, + "NatGateway": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + }, + "VirtualPrivateGateway": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + }, + "VpcLattice": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + }, + "VpcPeering": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + } + }, + "type": "object" + }, + "AWS::EC2::VPCBlockPublicAccessExclusion": { "additionalProperties": false, "properties": { "Condition": { @@ -133053,32 +141734,38 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupIpAddress": { - "markdownDescription": "The IP address assigned to the transit gateway multicast group.", - "title": "GroupIpAddress", + "InternetGatewayExclusionMode": { + "markdownDescription": "The desired VPC Block Public Access mode for a specific VPC or subnet exclusion.\n\n- `allow-bidirectional` : Allow all internet traffic to and from the excluded VPCs and subnets.\n- `allow-egress` : Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to `block-bidirectional` .", + "title": "InternetGatewayExclusionMode", "type": "string" }, - "NetworkInterfaceId": { - "markdownDescription": "The group members' network interface IDs to register with the transit gateway multicast group.", - "title": "NetworkInterfaceId", + "SubnetId": { + "markdownDescription": "The ID of the subnet you want to exclude. Required only if you don't specify VpcId.", + "title": "SubnetId", "type": "string" }, - "TransitGatewayMulticastDomainId": { - "markdownDescription": "The ID of the transit gateway multicast domain.", - "title": "TransitGatewayMulticastDomainId", + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC you want to exclude. Required only if you don't specify SubnetId.", + "title": "VpcId", "type": "string" } }, "required": [ - "GroupIpAddress", - "NetworkInterfaceId", - "TransitGatewayMulticastDomainId" + "InternetGatewayExclusionMode" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupMember" + "AWS::EC2::VPCBlockPublicAccessExclusion" ], "type": "string" }, @@ -133097,7 +141784,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayMulticastGroupSource": { + "AWS::EC2::VPCBlockPublicAccessOptions": { "additionalProperties": false, "properties": { "Condition": { @@ -133132,32 +141819,20 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupIpAddress": { - "markdownDescription": "The IP address assigned to the transit gateway multicast group.", - "title": "GroupIpAddress", - "type": "string" - }, - "NetworkInterfaceId": { - "markdownDescription": "The group sources' network interface IDs to register with the transit gateway multicast group.", - "title": "NetworkInterfaceId", - "type": "string" - }, - "TransitGatewayMulticastDomainId": { - "markdownDescription": "The ID of the transit gateway multicast domain.", - "title": "TransitGatewayMulticastDomainId", + "InternetGatewayBlockMode": { + "markdownDescription": "The desired VPC Block Public Access mode for internet gateways in your account. We do not allow you to create this resource type in an \"off\" mode since off is the default value.\n\n- `block-bidirectional` : Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).\n- `block-ingress` : Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.", + "title": "InternetGatewayBlockMode", "type": "string" } }, "required": [ - "GroupIpAddress", - "NetworkInterfaceId", - "TransitGatewayMulticastDomainId" + "InternetGatewayBlockMode" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupSource" + "AWS::EC2::VPCBlockPublicAccessOptions" ], "type": "string" }, @@ -133176,7 +141851,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayPeeringAttachment": { + "AWS::EC2::VPCCidrBlock": { "additionalProperties": false, "properties": { "Condition": { @@ -133211,46 +141886,65 @@ "Properties": { "additionalProperties": false, "properties": { - "PeerAccountId": { - "markdownDescription": "The ID of the AWS account that owns the transit gateway.", - "title": "PeerAccountId", + "AmazonProvidedIpv6CidrBlock": { + "markdownDescription": "Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses or the size of the CIDR block.", + "title": "AmazonProvidedIpv6CidrBlock", + "type": "boolean" + }, + "CidrBlock": { + "markdownDescription": "An IPv4 CIDR block to associate with the VPC.", + "title": "CidrBlock", "type": "string" }, - "PeerRegion": { - "markdownDescription": "The Region where the transit gateway that you want to create the peer for is located.", - "title": "PeerRegion", + "Ipv4IpamPoolId": { + "markdownDescription": "Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "Ipv4IpamPoolId", "type": "string" }, - "PeerTransitGatewayId": { - "markdownDescription": "The ID of the transit gateway in the PeerRegion.", - "title": "PeerTransitGatewayId", + "Ipv4NetmaskLength": { + "markdownDescription": "The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "Ipv4NetmaskLength", + "type": "number" + }, + "Ipv6CidrBlock": { + "markdownDescription": "An IPv6 CIDR block from the IPv6 address pool. You must also specify `Ipv6Pool` in the request.\n\nTo let Amazon choose the IPv6 CIDR block for you, omit this parameter.", + "title": "Ipv6CidrBlock", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags for the transit gateway peering attachment.", - "title": "Tags", - "type": "array" + "Ipv6CidrBlockNetworkBorderGroup": { + "markdownDescription": "The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the CIDR block to this location.\n\nYou must set `AmazonProvidedIpv6CidrBlock` to `true` to use this parameter.\n\nYou can have one IPv6 CIDR block association per network border group.", + "title": "Ipv6CidrBlockNetworkBorderGroup", + "type": "string" }, - "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway peering attachment.", - "title": "TransitGatewayId", + "Ipv6IpamPoolId": { + "markdownDescription": "Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "Ipv6IpamPoolId", + "type": "string" + }, + "Ipv6NetmaskLength": { + "markdownDescription": "The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "Ipv6NetmaskLength", + "type": "number" + }, + "Ipv6Pool": { + "markdownDescription": "The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.", + "title": "Ipv6Pool", + "type": "string" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", "type": "string" } }, "required": [ - "PeerAccountId", - "PeerRegion", - "PeerTransitGatewayId", - "TransitGatewayId" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayPeeringAttachment" + "AWS::EC2::VPCCidrBlock" ], "type": "string" }, @@ -133269,23 +141963,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayPeeringAttachment.PeeringAttachmentStatus": { - "additionalProperties": false, - "properties": { - "Code": { - "markdownDescription": "The status code.", - "title": "Code", - "type": "string" - }, - "Message": { - "markdownDescription": "The status message, if applicable.", - "title": "Message", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::TransitGatewayPolicyTable": { + "AWS::EC2::VPCDHCPOptionsAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -133320,24 +141998,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "DhcpOptionsId": { + "markdownDescription": "The ID of the DHCP options set, or `default` to associate no DHCP options with the VPC.", + "title": "DhcpOptionsId", + "type": "string" }, - "TransitGatewayId": { + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", "type": "string" } }, "required": [ - "TransitGatewayId" + "DhcpOptionsId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayPolicyTable" + "AWS::EC2::VPCDHCPOptionsAssociation" ], "type": "string" }, @@ -133356,7 +142036,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayPolicyTableAssociation": { + "AWS::EC2::VPCEncryptionControl": { "additionalProperties": false, "properties": { "Condition": { @@ -133391,22 +142071,70 @@ "Properties": { "additionalProperties": false, "properties": { - "TransitGatewayAttachmentId": { + "EgressOnlyInternetGatewayExclusionInput": { + "markdownDescription": "Specifies whether to exclude egress-only internet gateway traffic from encryption enforcement.", + "title": "EgressOnlyInternetGatewayExclusionInput", "type": "string" }, - "TransitGatewayPolicyTableId": { + "ElasticFileSystemExclusionInput": { + "markdownDescription": "Specifies whether to exclude Elastic File System traffic from encryption enforcement.", + "title": "ElasticFileSystemExclusionInput", + "type": "string" + }, + "InternetGatewayExclusionInput": { + "markdownDescription": "Specifies whether to exclude internet gateway traffic from encryption enforcement.", + "title": "InternetGatewayExclusionInput", + "type": "string" + }, + "LambdaExclusionInput": { + "markdownDescription": "Specifies whether to exclude Lambda function traffic from encryption enforcement.", + "title": "LambdaExclusionInput", + "type": "string" + }, + "Mode": { + "markdownDescription": "The encryption mode for the VPC Encryption Control configuration.", + "title": "Mode", + "type": "string" + }, + "NatGatewayExclusionInput": { + "markdownDescription": "Specifies whether to exclude NAT gateway traffic from encryption enforcement.", + "title": "NatGatewayExclusionInput", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the VPC Encryption Control configuration.", + "title": "Tags", + "type": "array" + }, + "VirtualPrivateGatewayExclusionInput": { + "markdownDescription": "Specifies whether to exclude virtual private gateway traffic from encryption enforcement.", + "title": "VirtualPrivateGatewayExclusionInput", + "type": "string" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC for which to create the encryption control configuration.", + "title": "VpcId", + "type": "string" + }, + "VpcLatticeExclusionInput": { + "markdownDescription": "Specifies whether to exclude VPC Lattice traffic from encryption enforcement.", + "title": "VpcLatticeExclusionInput", + "type": "string" + }, + "VpcPeeringExclusionInput": { + "markdownDescription": "Specifies whether to exclude VPC peering connection traffic from encryption enforcement.", + "title": "VpcPeeringExclusionInput", "type": "string" } }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayPolicyTableId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayPolicyTableAssociation" + "AWS::EC2::VPCEncryptionControl" ], "type": "string" }, @@ -133420,12 +142148,73 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::TransitGatewayPolicyTableEntry": { + "AWS::EC2::VPCEncryptionControl.ResourceExclusions": { + "additionalProperties": false, + "properties": { + "EgressOnlyInternetGateway": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude egress-only internet gateway traffic from encryption enforcement.", + "title": "EgressOnlyInternetGateway" + }, + "ElasticFileSystem": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude Elastic File System traffic from encryption enforcement.", + "title": "ElasticFileSystem" + }, + "InternetGateway": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude internet gateway traffic from encryption enforcement.", + "title": "InternetGateway" + }, + "Lambda": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude Lambda function traffic from encryption enforcement.", + "title": "Lambda" + }, + "NatGateway": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude NAT gateway traffic from encryption enforcement.", + "title": "NatGateway" + }, + "VirtualPrivateGateway": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude virtual private gateway traffic from encryption enforcement.", + "title": "VirtualPrivateGateway" + }, + "VpcLattice": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude VPC Lattice traffic from encryption enforcement.", + "title": "VpcLattice" + }, + "VpcPeering": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude VPC peering connection traffic from encryption enforcement.", + "title": "VpcPeering" + } + }, + "type": "object" + }, + "AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion": { + "additionalProperties": false, + "properties": { + "State": { + "markdownDescription": "The current state of the exclusion configuration.", + "title": "State", + "type": "string" + }, + "StateMessage": { + "markdownDescription": "A message providing additional information about the exclusion state.", + "title": "StateMessage", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPCEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -133460,30 +142249,97 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyRule": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayPolicyTableEntry.TransitGatewayPolicyRule" + "DnsOptions": { + "$ref": "#/definitions/AWS::EC2::VPCEndpoint.DnsOptionsSpecification", + "markdownDescription": "Describes the DNS options for an endpoint.", + "title": "DnsOptions" }, - "PolicyRuleNumber": { + "IpAddressType": { + "markdownDescription": "The supported IP address types.", + "title": "IpAddressType", "type": "string" }, - "TargetRouteTableId": { + "PolicyDocument": { + "markdownDescription": "An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints.\n\nFor CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. For example, if you have a JSON policy, you can convert it to YAML before including it in the YAML template, and AWS CloudFormation converts the policy to JSON format before calling the API actions for AWS PrivateLink . Alternatively, you can include the JSON directly in the YAML, as shown in the following `Properties` section:\n\n`Properties: VpcEndpointType: 'Interface' ServiceName: !Sub 'com.amazonaws.${AWS::Region}.logs' PolicyDocument: '{ \"Version\":\"2012-10-17\", \"Statement\": [{ \"Effect\":\"Allow\", \"Principal\":\"*\", \"Action\":[\"logs:Describe*\",\"logs:Get*\",\"logs:List*\",\"logs:FilterLogEvents\"], \"Resource\":\"*\" }] }'`", + "title": "PolicyDocument", + "type": "object" + }, + "PrivateDnsEnabled": { + "markdownDescription": "Indicate whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, `kinesis.us-east-1.amazonaws.com` ), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.\n\nTo use a private hosted zone, you must set the following VPC attributes to `true` : `enableDnsHostnames` and `enableDnsSupport` .\n\nThis property is supported only for interface endpoints.\n\nDefault: `false`", + "title": "PrivateDnsEnabled", + "type": "boolean" + }, + "ResourceConfigurationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource configuration.", + "title": "ResourceConfigurationArn", "type": "string" }, - "TransitGatewayPolicyTableId": { + "RouteTableIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the route tables. Routing is supported only for gateway endpoints.", + "title": "RouteTableIds", + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the security groups to associate with the endpoint network interfaces. If this parameter is not specified, we use the default security group for the VPC. Security groups are supported only for interface endpoints.", + "title": "SecurityGroupIds", + "type": "array" + }, + "ServiceName": { + "markdownDescription": "The name of the endpoint service.", + "title": "ServiceName", + "type": "string" + }, + "ServiceNetworkArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the service network.", + "title": "ServiceNetworkArn", + "type": "string" + }, + "ServiceRegion": { + "markdownDescription": "Describes a Region.", + "title": "ServiceRegion", + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to associate with the endpoint.", + "title": "Tags", + "type": "array" + }, + "VpcEndpointType": { + "markdownDescription": "The type of endpoint.\n\nDefault: Gateway", + "title": "VpcEndpointType", + "type": "string" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", "type": "string" } }, "required": [ - "PolicyRule", - "PolicyRuleNumber", - "TargetRouteTableId", - "TransitGatewayPolicyTableId" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayPolicyTableEntry" + "AWS::EC2::VPCEndpoint" ], "type": "string" }, @@ -133502,28 +142358,36 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayPolicyTableEntry.TransitGatewayPolicyRule": { + "AWS::EC2::VPCEndpoint.DnsOptionsSpecification": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationPortRange": { + "DnsRecordIpType": { + "markdownDescription": "The DNS records created for the endpoint.", + "title": "DnsRecordIpType", "type": "string" }, - "Protocol": { + "PrivateDnsOnlyForInboundResolverEndpoint": { + "markdownDescription": "Indicates whether to enable private DNS only for inbound endpoints. This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint.", + "title": "PrivateDnsOnlyForInboundResolverEndpoint", "type": "string" }, - "SourceCidrBlock": { + "PrivateDnsPreference": { + "markdownDescription": "The preference for which private domains have a private hosted zone created for and associated with the specified VPC. Only supported when private DNS is enabled and when the VPC endpoint type is ServiceNetwork or Resource.", + "title": "PrivateDnsPreference", "type": "string" }, - "SourcePortRange": { - "type": "string" + "PrivateDnsSpecifiedDomains": { + "items": { + "type": "string" + }, + "markdownDescription": "Indicates which of the private domains to create private hosted zones for and associate with the specified VPC. Only supported when private DNS is enabled and the private DNS preference is `VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS` or `SPECIFIED_DOMAINS_ONLY` .", + "title": "PrivateDnsSpecifiedDomains", + "type": "array" } }, "type": "object" }, - "AWS::EC2::TransitGatewayRoute": { + "AWS::EC2::VPCEndpointConnection": { "additionalProperties": false, "properties": { "Condition": { @@ -133557,37 +142421,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Blackhole": { - "markdownDescription": "Indicates whether to drop traffic that matches this route.", - "title": "Blackhole", - "type": "boolean" - }, - "DestinationCidrBlock": { - "markdownDescription": "The CIDR block used for destination matches.", - "title": "DestinationCidrBlock", - "type": "string" - }, - "TransitGatewayAttachmentId": { - "markdownDescription": "The ID of the attachment.", - "title": "TransitGatewayAttachmentId", - "type": "string" - }, - "TransitGatewayRouteTableId": { - "markdownDescription": "The ID of the transit gateway route table.", - "title": "TransitGatewayRouteTableId", - "type": "string" - } - }, - "required": [ - "DestinationCidrBlock", - "TransitGatewayRouteTableId" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRoute" + "AWS::EC2::VPCEndpointConnection" ], "type": "string" }, @@ -133601,12 +142440,23 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTable": { + "AWS::EC2::VPCEndpointConnection.DnsEntry": { + "additionalProperties": false, + "properties": { + "DnsName": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPCEndpointConnectionNotification": { "additionalProperties": false, "properties": { "Condition": { @@ -133641,28 +142491,39 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { + "ConnectionEvents": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "Any tags assigned to the route table.", - "title": "Tags", + "markdownDescription": "The endpoint events for which to receive notifications. Valid values are `Accept` , `Connect` , `Delete` , and `Reject` .", + "title": "ConnectionEvents", "type": "array" }, - "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway.", - "title": "TransitGatewayId", + "ConnectionNotificationArn": { + "markdownDescription": "The ARN of the SNS topic for the notifications.", + "title": "ConnectionNotificationArn", + "type": "string" + }, + "ServiceId": { + "markdownDescription": "The ID of the endpoint service.", + "title": "ServiceId", + "type": "string" + }, + "VPCEndpointId": { + "markdownDescription": "The ID of the endpoint.", + "title": "VPCEndpointId", "type": "string" } }, "required": [ - "TransitGatewayId" + "ConnectionEvents", + "ConnectionNotificationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRouteTable" + "AWS::EC2::VPCEndpointConnectionNotification" ], "type": "string" }, @@ -133681,7 +142542,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTableAssociation": { + "AWS::EC2::VPCEndpointService": { "additionalProperties": false, "properties": { "Condition": { @@ -133716,26 +142577,73 @@ "Properties": { "additionalProperties": false, "properties": { - "TransitGatewayAttachmentId": { - "markdownDescription": "The ID of the attachment.", - "title": "TransitGatewayAttachmentId", + "AcceptanceRequired": { + "markdownDescription": "Indicates whether requests from service consumers to create an endpoint to your service must be accepted.", + "title": "AcceptanceRequired", + "type": "boolean" + }, + "ContributorInsightsEnabled": { + "markdownDescription": "Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink .", + "title": "ContributorInsightsEnabled", + "type": "boolean" + }, + "GatewayLoadBalancerArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the Gateway Load Balancers.", + "title": "GatewayLoadBalancerArns", + "type": "array" + }, + "NetworkLoadBalancerArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the Network Load Balancers.", + "title": "NetworkLoadBalancerArns", + "type": "array" + }, + "PayerResponsibility": { + "markdownDescription": "The entity that is responsible for the endpoint costs. The default is the endpoint owner. If you set the payer responsibility to the service owner, you cannot set it back to the endpoint owner.", + "title": "PayerResponsibility", "type": "string" }, - "TransitGatewayRouteTableId": { - "markdownDescription": "The ID of the route table for the transit gateway.", - "title": "TransitGatewayRouteTableId", + "PrivateDnsName": { "type": "string" + }, + "PrivateDnsNameConfiguration": { + "$ref": "#/definitions/AWS::EC2::VPCEndpointService.PrivateDnsNameConfiguration" + }, + "SupportedIpAddressTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The supported IP address types. The possible values are `ipv4` and `ipv6` .", + "title": "SupportedIpAddressTypes", + "type": "array" + }, + "SupportedRegions": { + "items": { + "type": "string" + }, + "markdownDescription": "The Regions from which service consumers can access the service.", + "title": "SupportedRegions", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to associate with the service.", + "title": "Tags", + "type": "array" } }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRouteTableAssociation" + "AWS::EC2::VPCEndpointService" ], "type": "string" }, @@ -133749,12 +142657,29 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTablePropagation": { + "AWS::EC2::VPCEndpointService.PrivateDnsNameConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPCEndpointServicePermissions": { "additionalProperties": false, "properties": { "Condition": { @@ -133789,26 +142714,28 @@ "Properties": { "additionalProperties": false, "properties": { - "TransitGatewayAttachmentId": { - "markdownDescription": "The ID of the attachment.", - "title": "TransitGatewayAttachmentId", - "type": "string" + "AllowedPrincipals": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARN) of one or more principals (for example, users, IAM roles, and AWS accounts ). Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*). Permissions are revoked for principals not in this list. If the list is empty, then all permissions are revoked.", + "title": "AllowedPrincipals", + "type": "array" }, - "TransitGatewayRouteTableId": { - "markdownDescription": "The ID of the propagation route table.", - "title": "TransitGatewayRouteTableId", + "ServiceId": { + "markdownDescription": "The ID of the service.", + "title": "ServiceId", "type": "string" } }, "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" + "ServiceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRouteTablePropagation" + "AWS::EC2::VPCEndpointServicePermissions" ], "type": "string" }, @@ -133827,7 +142754,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayVpcAttachment": { + "AWS::EC2::VPCGatewayAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -133862,64 +142789,30 @@ "Properties": { "additionalProperties": false, "properties": { - "AddSubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.", - "title": "AddSubnetIds", - "type": "array" - }, - "Options": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayVpcAttachment.Options", - "markdownDescription": "The VPC attachment options.", - "title": "Options" - }, - "RemoveSubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of one or more subnets to remove.", - "title": "RemoveSubnetIds", - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the subnets.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags for the VPC attachment.", - "title": "Tags", - "type": "array" - }, - "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway.", - "title": "TransitGatewayId", + "InternetGatewayId": { + "markdownDescription": "The ID of the internet gateway.\n\nYou must specify either `InternetGatewayId` or `VpnGatewayId` , but not both.", + "title": "InternetGatewayId", "type": "string" }, "VpcId": { "markdownDescription": "The ID of the VPC.", "title": "VpcId", "type": "string" + }, + "VpnGatewayId": { + "markdownDescription": "The ID of the virtual private gateway.\n\nYou must specify either `InternetGatewayId` or `VpnGatewayId` , but not both.", + "title": "VpnGatewayId", + "type": "string" } }, "required": [ - "SubnetIds", - "TransitGatewayId", "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayVpcAttachment" + "AWS::EC2::VPCGatewayAttachment" ], "type": "string" }, @@ -133935,36 +142828,10 @@ "required": [ "Type", "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayVpcAttachment.Options": { - "additionalProperties": false, - "properties": { - "ApplianceModeSupport": { - "markdownDescription": "Enable or disable appliance mode support. The default is `disable` .", - "title": "ApplianceModeSupport", - "type": "string" - }, - "DnsSupport": { - "markdownDescription": "Enable or disable DNS support. The default is `disable` .", - "title": "DnsSupport", - "type": "string" - }, - "Ipv6Support": { - "markdownDescription": "Enable or disable IPv6 support. The default is `disable` .", - "title": "Ipv6Support", - "type": "string" - }, - "SecurityGroupReferencingSupport": { - "markdownDescription": "Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.\n\nFor important information about this feature, see [Create a transit gateway](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#create-tgw) in the *AWS Transit Gateway Guide* .", - "title": "SecurityGroupReferencingSupport", - "type": "string" - } - }, + ], "type": "object" }, - "AWS::EC2::VPC": { + "AWS::EC2::VPCPeeringConnection": { "additionalProperties": false, "properties": { "Condition": { @@ -133999,53 +142866,52 @@ "Properties": { "additionalProperties": false, "properties": { - "CidrBlock": { - "markdownDescription": "The IPv4 network range for the VPC, in CIDR notation. For example, `10.0.0.0/16` . We modify the specified CIDR block to its canonical form; for example, if you specify `100.68.0.18/18` , we modify it to `100.68.0.0/18` .\n\nYou must specify either `CidrBlock` or `Ipv4IpamPoolId` .", - "title": "CidrBlock", + "AssumeRoleRegion": { "type": "string" }, - "EnableDnsHostnames": { - "markdownDescription": "Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not. Disabled by default for nondefault VPCs. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) .\n\nYou can only enable DNS hostnames if you've enabled DNS support.", - "title": "EnableDnsHostnames", - "type": "boolean" - }, - "EnableDnsSupport": { - "markdownDescription": "Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range \"plus two\" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled. Enabled by default. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) .", - "title": "EnableDnsSupport", - "type": "boolean" + "PeerOwnerId": { + "markdownDescription": "The AWS account ID of the owner of the accepter VPC.\n\nDefault: Your AWS account ID", + "title": "PeerOwnerId", + "type": "string" }, - "InstanceTenancy": { - "markdownDescription": "The allowed tenancy of instances launched into the VPC.\n\n- `default` : An instance launched into the VPC runs on shared hardware by default, unless you explicitly specify a different tenancy during instance launch.\n- `dedicated` : An instance launched into the VPC runs on dedicated hardware by default, unless you explicitly specify a tenancy of `host` during instance launch. You cannot specify a tenancy of `default` during instance launch.\n\nUpdating `InstanceTenancy` requires no replacement only if you are updating its value from `dedicated` to `default` . Updating `InstanceTenancy` from `default` to `dedicated` requires replacement.", - "title": "InstanceTenancy", + "PeerRegion": { + "markdownDescription": "The Region code for the accepter VPC, if the accepter VPC is located in a Region other than the Region in which you make the request.\n\nDefault: The Region in which you make the request.", + "title": "PeerRegion", "type": "string" }, - "Ipv4IpamPoolId": { - "markdownDescription": "The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .\n\nYou must specify either `CidrBlock` or `Ipv4IpamPoolId` .", - "title": "Ipv4IpamPoolId", + "PeerRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the VPC peer role for the peering connection in another AWS account.\n\nThis is required when you are peering a VPC in a different AWS account.", + "title": "PeerRoleArn", "type": "string" }, - "Ipv4NetmaskLength": { - "markdownDescription": "The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "Ipv4NetmaskLength", - "type": "number" + "PeerVpcId": { + "markdownDescription": "The ID of the VPC with which you are creating the VPC peering connection. You must specify this parameter in the request.", + "title": "PeerVpcId", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the VPC.", + "markdownDescription": "Any tags assigned to the resource.", "title": "Tags", "type": "array" }, - "VpcEncryptionControl": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControl" + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", + "type": "string" } }, + "required": [ + "PeerVpcId", + "VpcId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPC" + "AWS::EC2::VPCPeeringConnection" ], "type": "string" }, @@ -134059,101 +142925,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::VPC.VpcEncryptionControl": { - "additionalProperties": false, - "properties": { - "EgressOnlyInternetGatewayExclusion": { - "type": "string" - }, - "ElasticFileSystemExclusion": { - "type": "string" - }, - "InternetGatewayExclusion": { - "type": "string" - }, - "LambdaExclusion": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "NatGatewayExclusion": { - "type": "string" - }, - "ResourceExclusions": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusions" - }, - "State": { - "type": "string" - }, - "StateMessage": { - "type": "string" - }, - "VirtualPrivateGatewayExclusion": { - "type": "string" - }, - "VpcEncryptionControlId": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "VpcLatticeExclusion": { - "type": "string" - }, - "VpcPeeringExclusion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPC.VpcEncryptionControlExclusion": { - "additionalProperties": false, - "properties": { - "State": { - "type": "string" - }, - "StateMessage": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPC.VpcEncryptionControlExclusions": { - "additionalProperties": false, - "properties": { - "EgressOnlyInternetGateway": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - }, - "ElasticFileSystem": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - }, - "InternetGateway": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - }, - "Lambda": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - }, - "NatGateway": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - }, - "VirtualPrivateGateway": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - }, - "VpcLattice": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - }, - "VpcPeering": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - } - }, - "type": "object" - }, - "AWS::EC2::VPCBlockPublicAccessExclusion": { + "AWS::EC2::VPNConcentrator": { "additionalProperties": false, "properties": { "Condition": { @@ -134188,38 +142965,34 @@ "Properties": { "additionalProperties": false, "properties": { - "InternetGatewayExclusionMode": { - "markdownDescription": "The desired VPC Block Public Access mode for a specific VPC or subnet exclusion.\n\n- `allow-bidirectional` : Allow all internet traffic to and from the excluded VPCs and subnets.\n- `allow-egress` : Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to `block-bidirectional` .", - "title": "InternetGatewayExclusionMode", - "type": "string" - }, - "SubnetId": { - "markdownDescription": "The ID of the subnet you want to exclude. Required only if you don't specify VpcId.", - "title": "SubnetId", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", + "markdownDescription": "Any tags assigned to the VPN concentrator.", "title": "Tags", "type": "array" }, - "VpcId": { - "markdownDescription": "The ID of the VPC you want to exclude. Required only if you don't specify SubnetId.", - "title": "VpcId", + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway associated with the VPN concentrator.", + "title": "TransitGatewayId", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of VPN concentrator.", + "title": "Type", "type": "string" } }, "required": [ - "InternetGatewayExclusionMode" + "TransitGatewayId", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCBlockPublicAccessExclusion" + "AWS::EC2::VPNConcentrator" ], "type": "string" }, @@ -134238,7 +143011,7 @@ ], "type": "object" }, - "AWS::EC2::VPCBlockPublicAccessOptions": { + "AWS::EC2::VPNConnection": { "additionalProperties": false, "properties": { "Condition": { @@ -134273,20 +143046,112 @@ "Properties": { "additionalProperties": false, "properties": { - "InternetGatewayBlockMode": { - "markdownDescription": "The desired VPC Block Public Access mode for internet gateways in your account. We do not allow you to create this resource type in an \"off\" mode since off is the default value.\n\n- `block-bidirectional` : Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).\n- `block-ingress` : Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.", - "title": "InternetGatewayBlockMode", + "CustomerGatewayId": { + "markdownDescription": "The ID of the customer gateway at your end of the VPN connection.", + "title": "CustomerGatewayId", + "type": "string" + }, + "EnableAcceleration": { + "markdownDescription": "Indicate whether to enable acceleration for the VPN connection.\n\nDefault: `false`", + "title": "EnableAcceleration", + "type": "boolean" + }, + "LocalIpv4NetworkCidr": { + "markdownDescription": "The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.\n\nDefault: `0.0.0.0/0`", + "title": "LocalIpv4NetworkCidr", + "type": "string" + }, + "LocalIpv6NetworkCidr": { + "markdownDescription": "The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.\n\nDefault: `::/0`", + "title": "LocalIpv6NetworkCidr", + "type": "string" + }, + "OutsideIpAddressType": { + "markdownDescription": "The type of IP address assigned to the outside interface of the customer gateway device.\n\nValid values: `PrivateIpv4` | `PublicIpv4` | `Ipv6`\n\nDefault: `PublicIpv4`", + "title": "OutsideIpAddressType", + "type": "string" + }, + "PreSharedKeyStorage": { + "markdownDescription": "Describes the storage location for an instance store-backed AMI.", + "title": "PreSharedKeyStorage", + "type": "string" + }, + "RemoteIpv4NetworkCidr": { + "markdownDescription": "The IPv4 CIDR on the AWS side of the VPN connection.\n\nDefault: `0.0.0.0/0`", + "title": "RemoteIpv4NetworkCidr", + "type": "string" + }, + "RemoteIpv6NetworkCidr": { + "markdownDescription": "The IPv6 CIDR on the AWS side of the VPN connection.\n\nDefault: `::/0`", + "title": "RemoteIpv6NetworkCidr", + "type": "string" + }, + "StaticRoutesOnly": { + "markdownDescription": "Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.\n\nIf you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify `true` .", + "title": "StaticRoutesOnly", + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the VPN connection.", + "title": "Tags", + "type": "array" + }, + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway associated with the VPN connection.\n\nYou must specify either `TransitGatewayId` or `VpnGatewayId` , but not both.", + "title": "TransitGatewayId", + "type": "string" + }, + "TransportTransitGatewayAttachmentId": { + "markdownDescription": "The transit gateway attachment ID to use for the VPN tunnel.\n\nRequired if `OutsideIpAddressType` is set to `PrivateIpv4` .", + "title": "TransportTransitGatewayAttachmentId", + "type": "string" + }, + "TunnelBandwidth": { + "markdownDescription": "The desired bandwidth specification for the VPN tunnel, used when creating or modifying VPN connection options to set the tunnel's throughput capacity. `standard` supports up to 1.25 Gbps per tunnel, while `large` supports up to 5 Gbps per tunnel. The default value is `standard` . Existing VPN connections without a bandwidth setting will automatically default to `standard` .", + "title": "TunnelBandwidth", + "type": "string" + }, + "TunnelInsideIpVersion": { + "markdownDescription": "Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.\n\nDefault: `ipv4`", + "title": "TunnelInsideIpVersion", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of VPN connection.", + "title": "Type", + "type": "string" + }, + "VpnConcentratorId": { + "markdownDescription": "The ID of the VPN concentrator to associate with the VPN connection.", + "title": "VpnConcentratorId", + "type": "string" + }, + "VpnGatewayId": { + "markdownDescription": "The ID of the virtual private gateway at the AWS side of the VPN connection.\n\nYou must specify either `TransitGatewayId` or `VpnGatewayId` , but not both.", + "title": "VpnGatewayId", "type": "string" + }, + "VpnTunnelOptionsSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" + }, + "markdownDescription": "The tunnel options for the VPN connection.", + "title": "VpnTunnelOptionsSpecifications", + "type": "array" } }, "required": [ - "InternetGatewayBlockMode" + "CustomerGatewayId", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCBlockPublicAccessOptions" + "AWS::EC2::VPNConnection" ], "type": "string" }, @@ -134305,7 +143170,258 @@ ], "type": "object" }, - "AWS::EC2::VPCCidrBlock": { + "AWS::EC2::VPNConnection.CloudwatchLogOptionsSpecification": { + "additionalProperties": false, + "properties": { + "BgpLogEnabled": { + "markdownDescription": "Specifies whether to enable BGP logging for the VPN connection. Default value is `False` .\n\nValid values: `True` | `False`", + "title": "BgpLogEnabled", + "type": "boolean" + }, + "BgpLogGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch log group where BGP logs will be sent.", + "title": "BgpLogGroupArn", + "type": "string" + }, + "BgpLogOutputFormat": { + "markdownDescription": "The desired output format for BGP logs to be sent to CloudWatch. Default format is `json` .\n\nValid values: `json` | `text`", + "title": "BgpLogOutputFormat", + "type": "string" + }, + "LogEnabled": { + "markdownDescription": "Enable or disable VPN tunnel logging feature. Default value is `False` .\n\nValid values: `True` | `False`", + "title": "LogEnabled", + "type": "boolean" + }, + "LogGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.", + "title": "LogGroupArn", + "type": "string" + }, + "LogOutputFormat": { + "markdownDescription": "Set log format. Default format is `json` .\n\nValid values: `json` | `text`", + "title": "LogOutputFormat", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.IKEVersionsRequestListValue": { + "additionalProperties": false, + "properties": { + "Value": { + "markdownDescription": "The IKE version.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.Phase1DHGroupNumbersRequestListValue": { + "additionalProperties": false, + "properties": { + "Value": { + "markdownDescription": "The Diffie-Hellmann group number.", + "title": "Value", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.Phase1EncryptionAlgorithmsRequestListValue": { + "additionalProperties": false, + "properties": { + "Value": { + "markdownDescription": "The value for the encryption algorithm.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.Phase1IntegrityAlgorithmsRequestListValue": { + "additionalProperties": false, + "properties": { + "Value": { + "markdownDescription": "The value for the integrity algorithm.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.Phase2DHGroupNumbersRequestListValue": { + "additionalProperties": false, + "properties": { + "Value": { + "markdownDescription": "The Diffie-Hellmann group number.", + "title": "Value", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.Phase2EncryptionAlgorithmsRequestListValue": { + "additionalProperties": false, + "properties": { + "Value": { + "markdownDescription": "The encryption algorithm.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.Phase2IntegrityAlgorithmsRequestListValue": { + "additionalProperties": false, + "properties": { + "Value": { + "markdownDescription": "The integrity algorithm.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.VpnTunnelLogOptionsSpecification": { + "additionalProperties": false, + "properties": { + "CloudwatchLogOptions": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.CloudwatchLogOptionsSpecification", + "markdownDescription": "Options for sending VPN tunnel logs to CloudWatch.", + "title": "CloudwatchLogOptions" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DPDTimeoutAction": { + "markdownDescription": "The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session.\n\nValid Values: `clear` | `none` | `restart`\n\nDefault: `clear`", + "title": "DPDTimeoutAction", + "type": "string" + }, + "DPDTimeoutSeconds": { + "markdownDescription": "The number of seconds after which a DPD timeout occurs.\n\nConstraints: A value greater than or equal to 30.\n\nDefault: `30`", + "title": "DPDTimeoutSeconds", + "type": "number" + }, + "EnableTunnelLifecycleControl": { + "markdownDescription": "Turn on or off tunnel endpoint lifecycle control feature.", + "title": "EnableTunnelLifecycleControl", + "type": "boolean" + }, + "IKEVersions": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.IKEVersionsRequestListValue" + }, + "markdownDescription": "The IKE versions that are permitted for the VPN tunnel.\n\nValid values: `ikev1` | `ikev2`", + "title": "IKEVersions", + "type": "array" + }, + "LogOptions": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelLogOptionsSpecification", + "markdownDescription": "Options for logging VPN tunnel activity.", + "title": "LogOptions" + }, + "Phase1DHGroupNumbers": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase1DHGroupNumbersRequestListValue" + }, + "markdownDescription": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`", + "title": "Phase1DHGroupNumbers", + "type": "array" + }, + "Phase1EncryptionAlgorithms": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase1EncryptionAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`", + "title": "Phase1EncryptionAlgorithms", + "type": "array" + }, + "Phase1IntegrityAlgorithms": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase1IntegrityAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`", + "title": "Phase1IntegrityAlgorithms", + "type": "array" + }, + "Phase1LifetimeSeconds": { + "markdownDescription": "The lifetime for phase 1 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 28,800.\n\nDefault: `28800`", + "title": "Phase1LifetimeSeconds", + "type": "number" + }, + "Phase2DHGroupNumbers": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase2DHGroupNumbersRequestListValue" + }, + "markdownDescription": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`", + "title": "Phase2DHGroupNumbers", + "type": "array" + }, + "Phase2EncryptionAlgorithms": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase2EncryptionAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`", + "title": "Phase2EncryptionAlgorithms", + "type": "array" + }, + "Phase2IntegrityAlgorithms": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase2IntegrityAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`", + "title": "Phase2IntegrityAlgorithms", + "type": "array" + }, + "Phase2LifetimeSeconds": { + "markdownDescription": "The lifetime for phase 2 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` .\n\nDefault: `3600`", + "title": "Phase2LifetimeSeconds", + "type": "number" + }, + "PreSharedKey": { + "markdownDescription": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n\nConstraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).", + "title": "PreSharedKey", + "type": "string" + }, + "RekeyFuzzPercentage": { + "markdownDescription": "The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected.\n\nConstraints: A value between 0 and 100.\n\nDefault: `100`", + "title": "RekeyFuzzPercentage", + "type": "number" + }, + "RekeyMarginTimeSeconds": { + "markdownDescription": "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` .\n\nConstraints: A value between 60 and half of `Phase2LifetimeSeconds` .\n\nDefault: `270`", + "title": "RekeyMarginTimeSeconds", + "type": "number" + }, + "ReplayWindowSize": { + "markdownDescription": "The number of packets in an IKE replay window.\n\nConstraints: A value between 64 and 2048.\n\nDefault: `1024`", + "title": "ReplayWindowSize", + "type": "number" + }, + "StartupAction": { + "markdownDescription": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation.\n\nValid Values: `add` | `start`\n\nDefault: `add`", + "title": "StartupAction", + "type": "string" + }, + "TunnelInsideCidr": { + "markdownDescription": "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.\n\nConstraints: A size /30 CIDR block from the `169.254.0.0/16` range. The following CIDR blocks are reserved and cannot be used:\n\n- `169.254.0.0/30`\n- `169.254.1.0/30`\n- `169.254.2.0/30`\n- `169.254.3.0/30`\n- `169.254.4.0/30`\n- `169.254.5.0/30`\n- `169.254.169.252/30`", + "title": "TunnelInsideCidr", + "type": "string" + }, + "TunnelInsideIpv6Cidr": { + "markdownDescription": "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n\nConstraints: A size /126 CIDR block from the local `fd00::/8` range.", + "title": "TunnelInsideIpv6Cidr", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnectionRoute": { "additionalProperties": false, "properties": { "Condition": { @@ -134340,65 +143456,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AmazonProvidedIpv6CidrBlock": { - "markdownDescription": "Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses or the size of the CIDR block.", - "title": "AmazonProvidedIpv6CidrBlock", - "type": "boolean" - }, - "CidrBlock": { - "markdownDescription": "An IPv4 CIDR block to associate with the VPC.", - "title": "CidrBlock", - "type": "string" - }, - "Ipv4IpamPoolId": { - "markdownDescription": "Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "Ipv4IpamPoolId", - "type": "string" - }, - "Ipv4NetmaskLength": { - "markdownDescription": "The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "Ipv4NetmaskLength", - "type": "number" - }, - "Ipv6CidrBlock": { - "markdownDescription": "An IPv6 CIDR block from the IPv6 address pool. You must also specify `Ipv6Pool` in the request.\n\nTo let Amazon choose the IPv6 CIDR block for you, omit this parameter.", - "title": "Ipv6CidrBlock", - "type": "string" - }, - "Ipv6CidrBlockNetworkBorderGroup": { - "markdownDescription": "The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the CIDR block to this location.\n\nYou must set `AmazonProvidedIpv6CidrBlock` to `true` to use this parameter.\n\nYou can have one IPv6 CIDR block association per network border group.", - "title": "Ipv6CidrBlockNetworkBorderGroup", - "type": "string" - }, - "Ipv6IpamPoolId": { - "markdownDescription": "Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "Ipv6IpamPoolId", - "type": "string" - }, - "Ipv6NetmaskLength": { - "markdownDescription": "The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "Ipv6NetmaskLength", - "type": "number" - }, - "Ipv6Pool": { - "markdownDescription": "The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.", - "title": "Ipv6Pool", + "DestinationCidrBlock": { + "markdownDescription": "The CIDR block associated with the local subnet of the customer network.", + "title": "DestinationCidrBlock", "type": "string" }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", + "VpnConnectionId": { + "markdownDescription": "The ID of the VPN connection.", + "title": "VpnConnectionId", "type": "string" } }, "required": [ - "VpcId" + "DestinationCidrBlock", + "VpnConnectionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCCidrBlock" + "AWS::EC2::VPNConnectionRoute" ], "type": "string" }, @@ -134417,7 +143494,7 @@ ], "type": "object" }, - "AWS::EC2::VPCDHCPOptionsAssociation": { + "AWS::EC2::VPNGateway": { "additionalProperties": false, "properties": { "Condition": { @@ -134452,26 +143529,33 @@ "Properties": { "additionalProperties": false, "properties": { - "DhcpOptionsId": { - "markdownDescription": "The ID of the DHCP options set, or `default` to associate no DHCP options with the VPC.", - "title": "DhcpOptionsId", - "type": "string" + "AmazonSideAsn": { + "markdownDescription": "The private Autonomous System Number (ASN) for the Amazon side of a BGP session.", + "title": "AmazonSideAsn", + "type": "number" }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the virtual private gateway.", + "title": "Tags", + "type": "array" + }, + "Type": { + "markdownDescription": "The type of VPN connection the virtual private gateway supports.", + "title": "Type", "type": "string" } }, "required": [ - "DhcpOptionsId", - "VpcId" + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCDHCPOptionsAssociation" + "AWS::EC2::VPNGateway" ], "type": "string" }, @@ -134490,7 +143574,7 @@ ], "type": "object" }, - "AWS::EC2::VPCEncryptionControl": { + "AWS::EC2::VPNGatewayRoutePropagation": { "additionalProperties": false, "properties": { "Condition": { @@ -134525,70 +143609,29 @@ "Properties": { "additionalProperties": false, "properties": { - "EgressOnlyInternetGatewayExclusionInput": { - "markdownDescription": "Specifies whether to exclude egress-only internet gateway traffic from encryption enforcement.", - "title": "EgressOnlyInternetGatewayExclusionInput", - "type": "string" - }, - "ElasticFileSystemExclusionInput": { - "markdownDescription": "Specifies whether to exclude Elastic File System traffic from encryption enforcement.", - "title": "ElasticFileSystemExclusionInput", - "type": "string" - }, - "InternetGatewayExclusionInput": { - "markdownDescription": "Specifies whether to exclude internet gateway traffic from encryption enforcement.", - "title": "InternetGatewayExclusionInput", - "type": "string" - }, - "LambdaExclusionInput": { - "markdownDescription": "Specifies whether to exclude Lambda function traffic from encryption enforcement.", - "title": "LambdaExclusionInput", - "type": "string" - }, - "Mode": { - "markdownDescription": "The encryption mode for the VPC Encryption Control configuration.", - "title": "Mode", - "type": "string" - }, - "NatGatewayExclusionInput": { - "markdownDescription": "Specifies whether to exclude NAT gateway traffic from encryption enforcement.", - "title": "NatGatewayExclusionInput", - "type": "string" - }, - "Tags": { + "RouteTableIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The tags assigned to the VPC Encryption Control configuration.", - "title": "Tags", + "markdownDescription": "The ID of the route table. The routing table must be associated with the same VPC that the virtual private gateway is attached to.", + "title": "RouteTableIds", "type": "array" }, - "VirtualPrivateGatewayExclusionInput": { - "markdownDescription": "Specifies whether to exclude virtual private gateway traffic from encryption enforcement.", - "title": "VirtualPrivateGatewayExclusionInput", - "type": "string" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC for which to create the encryption control configuration.", - "title": "VpcId", - "type": "string" - }, - "VpcLatticeExclusionInput": { - "markdownDescription": "Specifies whether to exclude VPC Lattice traffic from encryption enforcement.", - "title": "VpcLatticeExclusionInput", - "type": "string" - }, - "VpcPeeringExclusionInput": { - "markdownDescription": "Specifies whether to exclude VPC peering connection traffic from encryption enforcement.", - "title": "VpcPeeringExclusionInput", + "VpnGatewayId": { + "markdownDescription": "The ID of the virtual private gateway that is attached to a VPC. The virtual private gateway must be attached to the same VPC that the routing tables are associated with.", + "title": "VpnGatewayId", "type": "string" } }, + "required": [ + "RouteTableIds", + "VpnGatewayId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCEncryptionControl" + "AWS::EC2::VPNGatewayRoutePropagation" ], "type": "string" }, @@ -134602,73 +143645,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::VPCEncryptionControl.ResourceExclusions": { - "additionalProperties": false, - "properties": { - "EgressOnlyInternetGateway": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude egress-only internet gateway traffic from encryption enforcement.", - "title": "EgressOnlyInternetGateway" - }, - "ElasticFileSystem": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude Elastic File System traffic from encryption enforcement.", - "title": "ElasticFileSystem" - }, - "InternetGateway": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude internet gateway traffic from encryption enforcement.", - "title": "InternetGateway" - }, - "Lambda": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude Lambda function traffic from encryption enforcement.", - "title": "Lambda" - }, - "NatGateway": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude NAT gateway traffic from encryption enforcement.", - "title": "NatGateway" - }, - "VirtualPrivateGateway": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude virtual private gateway traffic from encryption enforcement.", - "title": "VirtualPrivateGateway" - }, - "VpcLattice": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude VPC Lattice traffic from encryption enforcement.", - "title": "VpcLattice" - }, - "VpcPeering": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude VPC peering connection traffic from encryption enforcement.", - "title": "VpcPeering" - } - }, - "type": "object" - }, - "AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion": { - "additionalProperties": false, - "properties": { - "State": { - "markdownDescription": "The current state of the exclusion configuration.", - "title": "State", - "type": "string" - }, - "StateMessage": { - "markdownDescription": "A message providing additional information about the exclusion state.", - "title": "StateMessage", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPCEndpoint": { + "AWS::EC2::VerifiedAccessEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -134703,97 +143685,103 @@ "Properties": { "additionalProperties": false, "properties": { - "DnsOptions": { - "$ref": "#/definitions/AWS::EC2::VPCEndpoint.DnsOptionsSpecification", - "markdownDescription": "Describes the DNS options for an endpoint.", - "title": "DnsOptions" - }, - "IpAddressType": { - "markdownDescription": "The supported IP address types.", - "title": "IpAddressType", + "ApplicationDomain": { + "markdownDescription": "The DNS name for users to reach your application.", + "title": "ApplicationDomain", "type": "string" }, - "PolicyDocument": { - "markdownDescription": "An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints.\n\nFor CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. For example, if you have a JSON policy, you can convert it to YAML before including it in the YAML template, and AWS CloudFormation converts the policy to JSON format before calling the API actions for AWS PrivateLink . Alternatively, you can include the JSON directly in the YAML, as shown in the following `Properties` section:\n\n`Properties: VpcEndpointType: 'Interface' ServiceName: !Sub 'com.amazonaws.${AWS::Region}.logs' PolicyDocument: '{ \"Version\":\"2012-10-17\", \"Statement\": [{ \"Effect\":\"Allow\", \"Principal\":\"*\", \"Action\":[\"logs:Describe*\",\"logs:Get*\",\"logs:List*\",\"logs:FilterLogEvents\"], \"Resource\":\"*\" }] }'`", - "title": "PolicyDocument", - "type": "object" + "AttachmentType": { + "markdownDescription": "The type of attachment used to provide connectivity between the AWS Verified Access endpoint and the application.", + "title": "AttachmentType", + "type": "string" }, - "PrivateDnsEnabled": { - "markdownDescription": "Indicate whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, `kinesis.us-east-1.amazonaws.com` ), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.\n\nTo use a private hosted zone, you must set the following VPC attributes to `true` : `enableDnsHostnames` and `enableDnsSupport` .\n\nThis property is supported only for interface endpoints.\n\nDefault: `false`", - "title": "PrivateDnsEnabled", - "type": "boolean" + "CidrOptions": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.CidrOptions", + "markdownDescription": "The options for a CIDR endpoint.", + "title": "CidrOptions" }, - "ResourceConfigurationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource configuration.", - "title": "ResourceConfigurationArn", + "Description": { + "markdownDescription": "A description for the AWS Verified Access endpoint.", + "title": "Description", "type": "string" }, - "RouteTableIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the route tables. Routing is supported only for gateway endpoints.", - "title": "RouteTableIds", - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the security groups to associate with the endpoint network interfaces. If this parameter is not specified, we use the default security group for the VPC. Security groups are supported only for interface endpoints.", - "title": "SecurityGroupIds", - "type": "array" + "DomainCertificateArn": { + "markdownDescription": "The ARN of a public TLS/SSL certificate imported into or created with ACM.", + "title": "DomainCertificateArn", + "type": "string" }, - "ServiceName": { - "markdownDescription": "The name of the endpoint service.", - "title": "ServiceName", + "EndpointDomainPrefix": { + "markdownDescription": "A custom identifier that is prepended to the DNS name that is generated for the endpoint.", + "title": "EndpointDomainPrefix", "type": "string" }, - "ServiceNetworkArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the service network.", - "title": "ServiceNetworkArn", + "EndpointType": { + "markdownDescription": "The type of AWS Verified Access endpoint. Incoming application requests will be sent to an IP address, load balancer or a network interface depending on the endpoint type specified.", + "title": "EndpointType", "type": "string" }, - "ServiceRegion": { - "markdownDescription": "Describes a Region.", - "title": "ServiceRegion", + "LoadBalancerOptions": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.LoadBalancerOptions", + "markdownDescription": "The load balancer details if creating the AWS Verified Access endpoint as `load-balancer` type.", + "title": "LoadBalancerOptions" + }, + "NetworkInterfaceOptions": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.NetworkInterfaceOptions", + "markdownDescription": "The options for network-interface type endpoint.", + "title": "NetworkInterfaceOptions" + }, + "PolicyDocument": { + "markdownDescription": "The Verified Access policy document.", + "title": "PolicyDocument", "type": "string" }, - "SubnetIds": { + "PolicyEnabled": { + "markdownDescription": "The status of the Verified Access policy.", + "title": "PolicyEnabled", + "type": "boolean" + }, + "RdsOptions": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.RdsOptions", + "markdownDescription": "The options for an RDS endpoint.", + "title": "RdsOptions" + }, + "SecurityGroupIds": { "items": { "type": "string" }, - "markdownDescription": "The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.", - "title": "SubnetIds", + "markdownDescription": "The IDs of the security groups for the endpoint.", + "title": "SecurityGroupIds", "type": "array" }, + "SseSpecification": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.SseSpecification", + "markdownDescription": "The options for additional server side encryption.", + "title": "SseSpecification" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to associate with the endpoint.", + "markdownDescription": "The tags.", "title": "Tags", "type": "array" }, - "VpcEndpointType": { - "markdownDescription": "The type of endpoint.\n\nDefault: Gateway", - "title": "VpcEndpointType", - "type": "string" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", + "VerifiedAccessGroupId": { + "markdownDescription": "The ID of the AWS Verified Access group.", + "title": "VerifiedAccessGroupId", "type": "string" } }, "required": [ - "VpcId" + "AttachmentType", + "EndpointType", + "VerifiedAccessGroupId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCEndpoint" + "AWS::EC2::VerifiedAccessEndpoint" ], "type": "string" }, @@ -134812,36 +143800,181 @@ ], "type": "object" }, - "AWS::EC2::VPCEndpoint.DnsOptionsSpecification": { + "AWS::EC2::VerifiedAccessEndpoint.CidrOptions": { "additionalProperties": false, "properties": { - "DnsRecordIpType": { - "markdownDescription": "The DNS records created for the endpoint.", - "title": "DnsRecordIpType", + "Cidr": { + "markdownDescription": "The CIDR.", + "title": "Cidr", "type": "string" }, - "PrivateDnsOnlyForInboundResolverEndpoint": { - "markdownDescription": "Indicates whether to enable private DNS only for inbound endpoints. This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint.", - "title": "PrivateDnsOnlyForInboundResolverEndpoint", + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.PortRange" + }, + "markdownDescription": "The port ranges.", + "title": "PortRanges", + "type": "array" + }, + "Protocol": { + "markdownDescription": "The protocol.", + "title": "Protocol", "type": "string" }, - "PrivateDnsPreference": { - "markdownDescription": "The preference for which private domains have a private hosted zone created for and associated with the specified VPC. Only supported when private DNS is enabled and when the VPC endpoint type is ServiceNetwork or Resource.", - "title": "PrivateDnsPreference", + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the subnets.", + "title": "SubnetIds", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessEndpoint.LoadBalancerOptions": { + "additionalProperties": false, + "properties": { + "LoadBalancerArn": { + "markdownDescription": "The ARN of the load balancer.", + "title": "LoadBalancerArn", "type": "string" }, - "PrivateDnsSpecifiedDomains": { + "Port": { + "markdownDescription": "The IP port number.", + "title": "Port", + "type": "number" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.PortRange" + }, + "markdownDescription": "The port ranges.", + "title": "PortRanges", + "type": "array" + }, + "Protocol": { + "markdownDescription": "The IP protocol.", + "title": "Protocol", + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone.", + "title": "SubnetIds", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessEndpoint.NetworkInterfaceOptions": { + "additionalProperties": false, + "properties": { + "NetworkInterfaceId": { + "markdownDescription": "The ID of the network interface.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "Port": { + "markdownDescription": "The IP port number.", + "title": "Port", + "type": "number" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.PortRange" + }, + "markdownDescription": "The port ranges.", + "title": "PortRanges", + "type": "array" + }, + "Protocol": { + "markdownDescription": "The IP protocol.", + "title": "Protocol", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessEndpoint.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "markdownDescription": "The start of the port range.", + "title": "FromPort", + "type": "number" + }, + "ToPort": { + "markdownDescription": "The end of the port range.", + "title": "ToPort", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessEndpoint.RdsOptions": { + "additionalProperties": false, + "properties": { + "Port": { + "markdownDescription": "The port.", + "title": "Port", + "type": "number" + }, + "Protocol": { + "markdownDescription": "The protocol.", + "title": "Protocol", + "type": "string" + }, + "RdsDbClusterArn": { + "markdownDescription": "The ARN of the DB cluster.", + "title": "RdsDbClusterArn", + "type": "string" + }, + "RdsDbInstanceArn": { + "markdownDescription": "The ARN of the RDS instance.", + "title": "RdsDbInstanceArn", + "type": "string" + }, + "RdsDbProxyArn": { + "markdownDescription": "The ARN of the RDS proxy.", + "title": "RdsDbProxyArn", + "type": "string" + }, + "RdsEndpoint": { + "markdownDescription": "The RDS endpoint.", + "title": "RdsEndpoint", + "type": "string" + }, + "SubnetIds": { "items": { "type": "string" }, - "markdownDescription": "Indicates which of the private domains to create private hosted zones for and associate with the specified VPC. Only supported when private DNS is enabled and the private DNS preference is `VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS` or `SPECIFIED_DOMAINS_ONLY` .", - "title": "PrivateDnsSpecifiedDomains", + "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone.", + "title": "SubnetIds", "type": "array" } }, "type": "object" }, - "AWS::EC2::VPCEndpointConnectionNotification": { + "AWS::EC2::VerifiedAccessEndpoint.SseSpecification": { + "additionalProperties": false, + "properties": { + "CustomerManagedKeyEnabled": { + "markdownDescription": "Enable or disable the use of customer managed KMS keys for server side encryption.\n\nValid values: `True` | `False`", + "title": "CustomerManagedKeyEnabled", + "type": "boolean" + }, + "KmsKeyArn": { + "markdownDescription": "The ARN of the KMS key.", + "title": "KmsKeyArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -134876,39 +144009,48 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionEvents": { - "items": { - "type": "string" - }, - "markdownDescription": "The endpoint events for which to receive notifications. Valid values are `Accept` , `Connect` , `Delete` , and `Reject` .", - "title": "ConnectionEvents", - "type": "array" - }, - "ConnectionNotificationArn": { - "markdownDescription": "The ARN of the SNS topic for the notifications.", - "title": "ConnectionNotificationArn", + "Description": { + "markdownDescription": "A description for the AWS Verified Access group.", + "title": "Description", "type": "string" }, - "ServiceId": { - "markdownDescription": "The ID of the endpoint service.", - "title": "ServiceId", + "PolicyDocument": { + "markdownDescription": "The Verified Access policy document.", + "title": "PolicyDocument", "type": "string" }, - "VPCEndpointId": { - "markdownDescription": "The ID of the endpoint.", - "title": "VPCEndpointId", + "PolicyEnabled": { + "markdownDescription": "The status of the Verified Access policy.", + "title": "PolicyEnabled", + "type": "boolean" + }, + "SseSpecification": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessGroup.SseSpecification", + "markdownDescription": "The options for additional server side encryption.", + "title": "SseSpecification" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags.", + "title": "Tags", + "type": "array" + }, + "VerifiedAccessInstanceId": { + "markdownDescription": "The ID of the AWS Verified Access instance.", + "title": "VerifiedAccessInstanceId", "type": "string" } }, "required": [ - "ConnectionEvents", - "ConnectionNotificationArn" + "VerifiedAccessInstanceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCEndpointConnectionNotification" + "AWS::EC2::VerifiedAccessGroup" ], "type": "string" }, @@ -134927,7 +144069,23 @@ ], "type": "object" }, - "AWS::EC2::VPCEndpointService": { + "AWS::EC2::VerifiedAccessGroup.SseSpecification": { + "additionalProperties": false, + "properties": { + "CustomerManagedKeyEnabled": { + "markdownDescription": "Enable or disable the use of customer managed KMS keys for server side encryption.\n\nValid values: `True` | `False`", + "title": "CustomerManagedKeyEnabled", + "type": "boolean" + }, + "KmsKeyArn": { + "markdownDescription": "The ARN of the KMS key.", + "title": "KmsKeyArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -134962,65 +144120,48 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptanceRequired": { - "markdownDescription": "Indicates whether requests from service consumers to create an endpoint to your service must be accepted.", - "title": "AcceptanceRequired", - "type": "boolean" - }, - "ContributorInsightsEnabled": { - "markdownDescription": "Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink .", - "title": "ContributorInsightsEnabled", - "type": "boolean" - }, - "GatewayLoadBalancerArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the Gateway Load Balancers.", - "title": "GatewayLoadBalancerArns", - "type": "array" - }, - "NetworkLoadBalancerArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the Network Load Balancers.", - "title": "NetworkLoadBalancerArns", - "type": "array" - }, - "PayerResponsibility": { - "markdownDescription": "The entity that is responsible for the endpoint costs. The default is the endpoint owner. If you set the payer responsibility to the service owner, you cannot set it back to the endpoint owner.", - "title": "PayerResponsibility", + "CidrEndpointsCustomSubDomain": { + "markdownDescription": "The custom subdomain.", + "title": "CidrEndpointsCustomSubDomain", "type": "string" }, - "PrivateDnsName": { + "Description": { + "markdownDescription": "A description for the AWS Verified Access instance.", + "title": "Description", "type": "string" }, - "PrivateDnsNameConfiguration": { - "$ref": "#/definitions/AWS::EC2::VPCEndpointService.PrivateDnsNameConfiguration" + "FipsEnabled": { + "markdownDescription": "Indicates whether support for Federal Information Processing Standards (FIPS) is enabled on the instance.", + "title": "FipsEnabled", + "type": "boolean" }, - "SupportedIpAddressTypes": { + "LoggingConfigurations": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.VerifiedAccessLogs", + "markdownDescription": "The logging configuration for the Verified Access instances.", + "title": "LoggingConfigurations" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The supported IP address types. The possible values are `ipv4` and `ipv6` .", - "title": "SupportedIpAddressTypes", + "markdownDescription": "The tags.", + "title": "Tags", "type": "array" }, - "SupportedRegions": { + "VerifiedAccessTrustProviderIds": { "items": { "type": "string" }, - "markdownDescription": "The Regions from which service consumers can access the service.", - "title": "SupportedRegions", + "markdownDescription": "The IDs of the AWS Verified Access trust providers.", + "title": "VerifiedAccessTrustProviderIds", "type": "array" }, - "Tags": { + "VerifiedAccessTrustProviders": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.VerifiedAccessTrustProvider" }, - "markdownDescription": "The tags to associate with the service.", - "title": "Tags", + "markdownDescription": "The IDs of the AWS Verified Access trust providers.", + "title": "VerifiedAccessTrustProviders", "type": "array" } }, @@ -135028,7 +144169,7 @@ }, "Type": { "enum": [ - "AWS::EC2::VPCEndpointService" + "AWS::EC2::VerifiedAccessInstance" ], "type": "string" }, @@ -135046,25 +144187,127 @@ ], "type": "object" }, - "AWS::EC2::VPCEndpointService.PrivateDnsNameConfiguration": { + "AWS::EC2::VerifiedAccessInstance.CloudWatchLogs": { "additionalProperties": false, "properties": { - "Name": { + "Enabled": { + "markdownDescription": "Indicates whether logging is enabled.", + "title": "Enabled", + "type": "boolean" + }, + "LogGroup": { + "markdownDescription": "The ID of the CloudWatch Logs log group.", + "title": "LogGroup", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessInstance.KinesisDataFirehose": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "markdownDescription": "The ID of the delivery stream.", + "title": "DeliveryStream", "type": "string" }, - "State": { + "Enabled": { + "markdownDescription": "Indicates whether logging is enabled.", + "title": "Enabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessInstance.S3": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "The bucket name.", + "title": "BucketName", "type": "string" }, - "Type": { + "BucketOwner": { + "markdownDescription": "The AWS account number that owns the bucket.", + "title": "BucketOwner", "type": "string" }, - "Value": { + "Enabled": { + "markdownDescription": "Indicates whether logging is enabled.", + "title": "Enabled", + "type": "boolean" + }, + "Prefix": { + "markdownDescription": "The bucket prefix.", + "title": "Prefix", "type": "string" } }, "type": "object" }, - "AWS::EC2::VPCEndpointServicePermissions": { + "AWS::EC2::VerifiedAccessInstance.VerifiedAccessLogs": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.CloudWatchLogs", + "markdownDescription": "CloudWatch Logs logging destination.", + "title": "CloudWatchLogs" + }, + "IncludeTrustContext": { + "markdownDescription": "Indicates whether to include trust data sent by trust providers in the logs.", + "title": "IncludeTrustContext", + "type": "boolean" + }, + "KinesisDataFirehose": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.KinesisDataFirehose", + "markdownDescription": "Kinesis logging destination.", + "title": "KinesisDataFirehose" + }, + "LogVersion": { + "markdownDescription": "The logging version.\n\nValid values: `ocsf-0.1` | `ocsf-1.0.0-rc.2`", + "title": "LogVersion", + "type": "string" + }, + "S3": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.S3", + "markdownDescription": "Amazon S3 logging options.", + "title": "S3" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessInstance.VerifiedAccessTrustProvider": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "A description for the AWS Verified Access trust provider.", + "title": "Description", + "type": "string" + }, + "DeviceTrustProviderType": { + "markdownDescription": "The type of device-based trust provider.", + "title": "DeviceTrustProviderType", + "type": "string" + }, + "TrustProviderType": { + "markdownDescription": "The type of Verified Access trust provider.", + "title": "TrustProviderType", + "type": "string" + }, + "UserTrustProviderType": { + "markdownDescription": "The type of user-based trust provider.", + "title": "UserTrustProviderType", + "type": "string" + }, + "VerifiedAccessTrustProviderId": { + "markdownDescription": "The ID of the AWS Verified Access trust provider.", + "title": "VerifiedAccessTrustProviderId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessTrustProvider": { "additionalProperties": false, "properties": { "Condition": { @@ -135099,28 +144342,69 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowedPrincipals": { + "Description": { + "markdownDescription": "A description for the AWS Verified Access trust provider.", + "title": "Description", + "type": "string" + }, + "DeviceOptions": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.DeviceOptions", + "markdownDescription": "The options for device-identity trust provider.", + "title": "DeviceOptions" + }, + "DeviceTrustProviderType": { + "markdownDescription": "The type of device-based trust provider.", + "title": "DeviceTrustProviderType", + "type": "string" + }, + "NativeApplicationOidcOptions": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.NativeApplicationOidcOptions", + "markdownDescription": "The OpenID Connect (OIDC) options.", + "title": "NativeApplicationOidcOptions" + }, + "OidcOptions": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.OidcOptions", + "markdownDescription": "The options for an OpenID Connect-compatible user-identity trust provider.", + "title": "OidcOptions" + }, + "PolicyReferenceName": { + "markdownDescription": "The identifier to be used when working with policy rules.", + "title": "PolicyReferenceName", + "type": "string" + }, + "SseSpecification": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.SseSpecification", + "markdownDescription": "The options for additional server side encryption.", + "title": "SseSpecification" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The Amazon Resource Names (ARN) of one or more principals (for example, users, IAM roles, and AWS accounts ). Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*). Permissions are revoked for principals not in this list. If the list is empty, then all permissions are revoked.", - "title": "AllowedPrincipals", + "markdownDescription": "The tags.", + "title": "Tags", "type": "array" }, - "ServiceId": { - "markdownDescription": "The ID of the service.", - "title": "ServiceId", + "TrustProviderType": { + "markdownDescription": "The type of Verified Access trust provider.", + "title": "TrustProviderType", + "type": "string" + }, + "UserTrustProviderType": { + "markdownDescription": "The type of user-based trust provider.", + "title": "UserTrustProviderType", "type": "string" } }, "required": [ - "ServiceId" + "PolicyReferenceName", + "TrustProviderType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" + "AWS::EC2::VerifiedAccessTrustProvider" ], "type": "string" }, @@ -135139,7 +144423,126 @@ ], "type": "object" }, - "AWS::EC2::VPCGatewayAttachment": { + "AWS::EC2::VerifiedAccessTrustProvider.DeviceOptions": { + "additionalProperties": false, + "properties": { + "PublicSigningKeyUrl": { + "markdownDescription": "The URL AWS Verified Access will use to verify the authenticity of the device tokens.", + "title": "PublicSigningKeyUrl", + "type": "string" + }, + "TenantId": { + "markdownDescription": "The ID of the tenant application with the device-identity provider.", + "title": "TenantId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessTrustProvider.NativeApplicationOidcOptions": { + "additionalProperties": false, + "properties": { + "AuthorizationEndpoint": { + "markdownDescription": "The authorization endpoint of the IdP.", + "title": "AuthorizationEndpoint", + "type": "string" + }, + "ClientId": { + "markdownDescription": "The OAuth 2.0 client identifier.", + "title": "ClientId", + "type": "string" + }, + "ClientSecret": { + "markdownDescription": "The OAuth 2.0 client secret.", + "title": "ClientSecret", + "type": "string" + }, + "Issuer": { + "markdownDescription": "The OIDC issuer identifier of the IdP.", + "title": "Issuer", + "type": "string" + }, + "PublicSigningKeyEndpoint": { + "markdownDescription": "The public signing key endpoint.", + "title": "PublicSigningKeyEndpoint", + "type": "string" + }, + "Scope": { + "markdownDescription": "The set of user claims to be requested from the IdP.", + "title": "Scope", + "type": "string" + }, + "TokenEndpoint": { + "markdownDescription": "The token endpoint of the IdP.", + "title": "TokenEndpoint", + "type": "string" + }, + "UserInfoEndpoint": { + "markdownDescription": "The user info endpoint of the IdP.", + "title": "UserInfoEndpoint", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessTrustProvider.OidcOptions": { + "additionalProperties": false, + "properties": { + "AuthorizationEndpoint": { + "markdownDescription": "The OIDC authorization endpoint.", + "title": "AuthorizationEndpoint", + "type": "string" + }, + "ClientId": { + "markdownDescription": "The client identifier.", + "title": "ClientId", + "type": "string" + }, + "ClientSecret": { + "markdownDescription": "The client secret.", + "title": "ClientSecret", + "type": "string" + }, + "Issuer": { + "markdownDescription": "The OIDC issuer.", + "title": "Issuer", + "type": "string" + }, + "Scope": { + "markdownDescription": "The OpenID Connect (OIDC) scope specified.", + "title": "Scope", + "type": "string" + }, + "TokenEndpoint": { + "markdownDescription": "The OIDC token endpoint.", + "title": "TokenEndpoint", + "type": "string" + }, + "UserInfoEndpoint": { + "markdownDescription": "The OIDC user info endpoint.", + "title": "UserInfoEndpoint", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessTrustProvider.SseSpecification": { + "additionalProperties": false, + "properties": { + "CustomerManagedKeyEnabled": { + "markdownDescription": "Enable or disable the use of customer managed KMS keys for server side encryption.\n\nValid values: `True` | `False`", + "title": "CustomerManagedKeyEnabled", + "type": "boolean" + }, + "KmsKeyArn": { + "markdownDescription": "The ARN of the KMS key.", + "title": "KmsKeyArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Volume": { "additionalProperties": false, "properties": { "Condition": { @@ -135174,30 +144577,90 @@ "Properties": { "additionalProperties": false, "properties": { - "InternetGatewayId": { - "markdownDescription": "The ID of the internet gateway.\n\nYou must specify either `InternetGatewayId` or `VpnGatewayId` , but not both.", - "title": "InternetGatewayId", + "AutoEnableIO": { + "markdownDescription": "Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.", + "title": "AutoEnableIO", + "type": "boolean" + }, + "AvailabilityZone": { + "markdownDescription": "The ID of the Availability Zone in which to create the volume. For example, `us-east-1a` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified, but not both.\n\nIf you are creating a volume copy, omit this parameter. The volume copy is created in the same Availability Zone as the source volume.", + "title": "AvailabilityZone", "type": "string" }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", + "AvailabilityZoneId": { + "markdownDescription": "The ID of the Availability Zone in which to create the volume. For example, `use1-az1` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified, but not both.\n\nIf you are creating a volume copy, omit this parameter. The volume copy is created in the same Availability Zone as the source volume.", + "title": "AvailabilityZoneId", "type": "string" }, - "VpnGatewayId": { - "markdownDescription": "The ID of the virtual private gateway.\n\nYou must specify either `InternetGatewayId` or `VpnGatewayId` , but not both.", - "title": "VpnGatewayId", + "Encrypted": { + "markdownDescription": "Indicates whether the volume should be encrypted. The effect of setting the encryption state to `true` depends on the volume origin (new, from a snapshot, or from an existing volume), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default) in the *Amazon EBS User Guide* .\n\nIf you are creating a volume copy, omit this parameter. The volume is automatically encrypted with the same KMS key as the source volume. You can't copy unencrypted volumes.", + "title": "Encrypted", + "type": "boolean" + }, + "Iops": { + "markdownDescription": "The number of I/O operations per second (IOPS) to provision for the volume. Required for `io1` and `io2` volumes. Optional for `gp3` volumes. Omit for all other volume types.\n\nValid ranges:\n\n- gp3: `3,000` ( *default* ) `- 80,000` IOPS\n- io1: `100 - 64,000` IOPS\n- io2: `100 - 256,000` IOPS\n\n> [Instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) can support up to 256,000 IOPS. Other instances can support up to 32,000 IOPS.", + "title": "Iops", + "type": "number" + }, + "KmsKeyId": { + "markdownDescription": "The identifier of the AWS KMS key to use for Amazon EBS encryption. If `KmsKeyId` is specified, the encrypted state must be `true` .\n\nIf you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to `true` , then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the AWS managed key .\n\nAlternatively, if you want to specify a different key, you can specify one of the following:\n\n- Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.\n- Key alias. Specify the alias for the key, prefixed with `alias/` . For example, for a key with the alias `my_cmk` , use `alias/my_cmk` . Or to specify the AWS managed key , use `alias/aws/ebs` .\n- Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n- Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.\n\nIf you are creating a volume copy, omit this parameter. The volume is automatically encrypted with the same KMS key as the source volume. You can't copy unencrypted volumes.", + "title": "KmsKeyId", + "type": "string" + }, + "MultiAttachEnabled": { + "markdownDescription": "Indicates whether Amazon EBS Multi-Attach is enabled.\n\nAWS CloudFormation does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.", + "title": "MultiAttachEnabled", + "type": "boolean" + }, + "OutpostArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Outpost on which to create the volume.\n\nIf you intend to use a volume with an instance running on an outpost, then you must create the volume on the same outpost as the instance. You can't use a volume created in an AWS Region with an instance on an AWS outpost, or the other way around.", + "title": "OutpostArn", + "type": "string" + }, + "Size": { + "markdownDescription": "The size of the volume, in GiBs.\n\n- Required for new empty volumes.\n- Optional for volumes created from snapshots and volume copies. In this case, the size defaults to the size of the snapshot or source volume. You can optionally specify a size that is equal to or larger than the size of the source snapshot or volume.\n\nSupported volume sizes:\n\n- gp2: `1 - 16,384` GiB\n- gp3: `1 - 65,536` GiB\n- io1: `4 - 16,384` GiB\n- io2: `4 - 65,536` GiB\n- st1 and sc1: `125 - 16,384` GiB\n- standard: `1 - 1024` GiB", + "title": "Size", + "type": "number" + }, + "SnapshotId": { + "markdownDescription": "The snapshot from which to create the volume. Only specify to create a volume from a snapshot. To create a new empty volume, omit this parameter and specify a value for `Size` instead. To create a volume copy, omit this parameter and specify `SourceVolumeId` instead.", + "title": "SnapshotId", + "type": "string" + }, + "SourceVolumeId": { + "markdownDescription": "The ID of the source EBS volume to copy. When specified, the volume is created as an exact copy of the specified volume. Only specify to create a volume copy. To create a new empty volume or to create a volume from a snapshot, omit this parameter,", + "title": "SourceVolumeId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the volume during creation.", + "title": "Tags", + "type": "array" + }, + "Throughput": { + "markdownDescription": "The throughput to provision for a volume, with a maximum of 1,000 MiB/s.\n\nThis parameter is valid only for `gp3` volumes. The default value is 125.\n\nValid Range: Minimum value of 125. Maximum value of 1000.", + "title": "Throughput", + "type": "number" + }, + "VolumeInitializationRate": { + "markdownDescription": "Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as *volume initialization* . Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation.\n\nThis parameter is supported only for volumes created from snapshots. Omit this parameter if:\n\n- You want to create the volume using fast snapshot restore. You must specify a snapshot that is enabled for fast snapshot restore. In this case, the volume is fully initialized at creation.\n\n> If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, the volume will be initialized at the specified rate instead of fast snapshot restore.\n- You want to create a volume that is initialized at the default rate.\n\nFor more information, see [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EC2 User Guide* .\n\nValid range: 100 - 300 MiB/s", + "title": "VolumeInitializationRate", + "type": "number" + }, + "VolumeType": { + "markdownDescription": "The volume type. This parameter can be one of the following values:\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> Throughput Optimized HDD ( `st1` ) and Cold HDD ( `sc1` ) volumes can't be used as boot volumes. \n\nFor more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .\n\nDefault: `gp2`", + "title": "VolumeType", "type": "string" } }, - "required": [ - "VpcId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCGatewayAttachment" + "AWS::EC2::Volume" ], "type": "string" }, @@ -135211,12 +144674,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::VPCPeeringConnection": { + "AWS::EC2::VolumeAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -135251,52 +144713,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AssumeRoleRegion": { - "type": "string" - }, - "PeerOwnerId": { - "markdownDescription": "The AWS account ID of the owner of the accepter VPC.\n\nDefault: Your AWS account ID", - "title": "PeerOwnerId", - "type": "string" - }, - "PeerRegion": { - "markdownDescription": "The Region code for the accepter VPC, if the accepter VPC is located in a Region other than the Region in which you make the request.\n\nDefault: The Region in which you make the request.", - "title": "PeerRegion", + "Device": { + "markdownDescription": "The device name (for example, `/dev/sdh` or `xvdh` ).", + "title": "Device", "type": "string" }, - "PeerRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the VPC peer role for the peering connection in another AWS account.\n\nThis is required when you are peering a VPC in a different AWS account.", - "title": "PeerRoleArn", - "type": "string" + "EbsCardIndex": { + "type": "number" }, - "PeerVpcId": { - "markdownDescription": "The ID of the VPC with which you are creating the VPC peering connection. You must specify this parameter in the request.", - "title": "PeerVpcId", + "InstanceId": { + "markdownDescription": "The ID of the instance to which the volume attaches. This value can be a reference to an [`AWS::EC2::Instance`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource, or it can be the physical ID of an existing EC2 instance.", + "title": "InstanceId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Any tags assigned to the resource.", - "title": "Tags", - "type": "array" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", + "VolumeId": { + "markdownDescription": "The ID of the Amazon EBS volume. The volume and instance must be within the same Availability Zone. This value can be a reference to an [`AWS::EC2::Volume`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html) resource, or it can be the volume ID of an existing Amazon EBS volume.", + "title": "VolumeId", "type": "string" } }, "required": [ - "PeerVpcId", - "VpcId" + "InstanceId", + "VolumeId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCPeeringConnection" + "AWS::EC2::VolumeAttachment" ], "type": "string" }, @@ -135315,7 +144759,7 @@ ], "type": "object" }, - "AWS::EC2::VPNConcentrator": { + "AWS::EC2::VpnConnectionDeviceType": { "additionalProperties": false, "properties": { "Condition": { @@ -135349,35 +144793,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Any tags assigned to the VPN concentrator.", - "title": "Tags", - "type": "array" - }, - "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway associated with the VPN concentrator.", - "title": "TransitGatewayId", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of VPN concentrator.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "TransitGatewayId", - "Type" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNConcentrator" + "AWS::EC2::VpnConnectionDeviceType" ], "type": "string" }, @@ -135391,12 +144812,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::VPNConnection": { + "AWS::ECR::PublicRepository": { "additionalProperties": false, "properties": { "Condition": { @@ -135431,112 +144851,35 @@ "Properties": { "additionalProperties": false, "properties": { - "CustomerGatewayId": { - "markdownDescription": "The ID of the customer gateway at your end of the VPN connection.", - "title": "CustomerGatewayId", - "type": "string" - }, - "EnableAcceleration": { - "markdownDescription": "Indicate whether to enable acceleration for the VPN connection.\n\nDefault: `false`", - "title": "EnableAcceleration", - "type": "boolean" - }, - "LocalIpv4NetworkCidr": { - "markdownDescription": "The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.\n\nDefault: `0.0.0.0/0`", - "title": "LocalIpv4NetworkCidr", - "type": "string" - }, - "LocalIpv6NetworkCidr": { - "markdownDescription": "The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.\n\nDefault: `::/0`", - "title": "LocalIpv6NetworkCidr", - "type": "string" - }, - "OutsideIpAddressType": { - "markdownDescription": "The type of IP address assigned to the outside interface of the customer gateway device.\n\nValid values: `PrivateIpv4` | `PublicIpv4` | `Ipv6`\n\nDefault: `PublicIpv4`", - "title": "OutsideIpAddressType", - "type": "string" - }, - "PreSharedKeyStorage": { - "markdownDescription": "Describes the storage location for an instance store-backed AMI.", - "title": "PreSharedKeyStorage", - "type": "string" - }, - "RemoteIpv4NetworkCidr": { - "markdownDescription": "The IPv4 CIDR on the AWS side of the VPN connection.\n\nDefault: `0.0.0.0/0`", - "title": "RemoteIpv4NetworkCidr", - "type": "string" + "RepositoryCatalogData": { + "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData", + "markdownDescription": "The details about the repository that are publicly visible in the Amazon ECR Public Gallery. For more information, see [Amazon ECR Public repository catalog data](https://docs.aws.amazon.com/AmazonECR/latest/public/public-repository-catalog-data.html) in the *Amazon ECR Public User Guide* .", + "title": "RepositoryCatalogData" }, - "RemoteIpv6NetworkCidr": { - "markdownDescription": "The IPv6 CIDR on the AWS side of the VPN connection.\n\nDefault: `::/0`", - "title": "RemoteIpv6NetworkCidr", + "RepositoryName": { + "markdownDescription": "The name to use for the public repository. The repository name may be specified on its own (such as `nginx-web-app` ) or it can be prepended with a namespace to group the repository into a category (such as `project-a/nginx-web-app` ). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the repository name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "RepositoryName", "type": "string" }, - "StaticRoutesOnly": { - "markdownDescription": "Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.\n\nIf you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify `true` .", - "title": "StaticRoutesOnly", - "type": "boolean" + "RepositoryPolicyText": { + "markdownDescription": "The JSON repository policy text to apply to the public repository. For more information, see [Amazon ECR Public repository policies](https://docs.aws.amazon.com/AmazonECR/latest/public/public-repository-policies.html) in the *Amazon ECR Public User Guide* .", + "title": "RepositoryPolicyText", + "type": "object" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the VPN connection.", + "markdownDescription": "An array of key-value pairs to apply to this resource.", "title": "Tags", "type": "array" - }, - "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway associated with the VPN connection.\n\nYou must specify either `TransitGatewayId` or `VpnGatewayId` , but not both.", - "title": "TransitGatewayId", - "type": "string" - }, - "TransportTransitGatewayAttachmentId": { - "markdownDescription": "The transit gateway attachment ID to use for the VPN tunnel.\n\nRequired if `OutsideIpAddressType` is set to `PrivateIpv4` .", - "title": "TransportTransitGatewayAttachmentId", - "type": "string" - }, - "TunnelBandwidth": { - "markdownDescription": "The desired bandwidth specification for the VPN tunnel, used when creating or modifying VPN connection options to set the tunnel's throughput capacity. `standard` supports up to 1.25 Gbps per tunnel, while `large` supports up to 5 Gbps per tunnel. The default value is `standard` . Existing VPN connections without a bandwidth setting will automatically default to `standard` .", - "title": "TunnelBandwidth", - "type": "string" - }, - "TunnelInsideIpVersion": { - "markdownDescription": "Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.\n\nDefault: `ipv4`", - "title": "TunnelInsideIpVersion", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of VPN connection.", - "title": "Type", - "type": "string" - }, - "VpnConcentratorId": { - "markdownDescription": "The ID of the VPN concentrator to associate with the VPN connection.", - "title": "VpnConcentratorId", - "type": "string" - }, - "VpnGatewayId": { - "markdownDescription": "The ID of the virtual private gateway at the AWS side of the VPN connection.\n\nYou must specify either `TransitGatewayId` or `VpnGatewayId` , but not both.", - "title": "VpnGatewayId", - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" - }, - "markdownDescription": "The tunnel options for the VPN connection.", - "title": "VpnTunnelOptionsSpecifications", - "type": "array" } }, - "required": [ - "CustomerGatewayId", - "Type" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNConnection" + "AWS::ECR::PublicRepository" ], "type": "string" }, @@ -135550,263 +144893,48 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::VPNConnection.CloudwatchLogOptionsSpecification": { - "additionalProperties": false, - "properties": { - "BgpLogEnabled": { - "markdownDescription": "Specifies whether to enable BGP logging for the VPN connection. Default value is `False` .\n\nValid values: `True` | `False`", - "title": "BgpLogEnabled", - "type": "boolean" - }, - "BgpLogGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch log group where BGP logs will be sent.", - "title": "BgpLogGroupArn", - "type": "string" - }, - "BgpLogOutputFormat": { - "markdownDescription": "The desired output format for BGP logs to be sent to CloudWatch. Default format is `json` .\n\nValid values: `json` | `text`", - "title": "BgpLogOutputFormat", - "type": "string" - }, - "LogEnabled": { - "markdownDescription": "Enable or disable VPN tunnel logging feature. Default value is `False` .\n\nValid values: `True` | `False`", - "title": "LogEnabled", - "type": "boolean" - }, - "LogGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.", - "title": "LogGroupArn", - "type": "string" - }, - "LogOutputFormat": { - "markdownDescription": "Set log format. Default format is `json` .\n\nValid values: `json` | `text`", - "title": "LogOutputFormat", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.IKEVersionsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "The IKE version.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.Phase1DHGroupNumbersRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "The Diffie-Hellmann group number.", - "title": "Value", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.Phase1EncryptionAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "The value for the encryption algorithm.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.Phase1IntegrityAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "The value for the integrity algorithm.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.Phase2DHGroupNumbersRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "The Diffie-Hellmann group number.", - "title": "Value", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.Phase2EncryptionAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "The encryption algorithm.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.Phase2IntegrityAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "The integrity algorithm.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.VpnTunnelLogOptionsSpecification": { - "additionalProperties": false, - "properties": { - "CloudwatchLogOptions": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.CloudwatchLogOptionsSpecification", - "markdownDescription": "Options for sending VPN tunnel logs to CloudWatch.", - "title": "CloudwatchLogOptions" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { + "AWS::ECR::PublicRepository.RepositoryCatalogData": { "additionalProperties": false, "properties": { - "DPDTimeoutAction": { - "markdownDescription": "The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session.\n\nValid Values: `clear` | `none` | `restart`\n\nDefault: `clear`", - "title": "DPDTimeoutAction", + "AboutText": { + "markdownDescription": "The longform description of the contents of the repository. This text appears in the repository details on the Amazon ECR Public Gallery.", + "title": "AboutText", "type": "string" }, - "DPDTimeoutSeconds": { - "markdownDescription": "The number of seconds after which a DPD timeout occurs.\n\nConstraints: A value greater than or equal to 30.\n\nDefault: `30`", - "title": "DPDTimeoutSeconds", - "type": "number" - }, - "EnableTunnelLifecycleControl": { - "markdownDescription": "Turn on or off tunnel endpoint lifecycle control feature.", - "title": "EnableTunnelLifecycleControl", - "type": "boolean" - }, - "IKEVersions": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.IKEVersionsRequestListValue" - }, - "markdownDescription": "The IKE versions that are permitted for the VPN tunnel.\n\nValid values: `ikev1` | `ikev2`", - "title": "IKEVersions", - "type": "array" - }, - "LogOptions": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelLogOptionsSpecification", - "markdownDescription": "Options for logging VPN tunnel activity.", - "title": "LogOptions" - }, - "Phase1DHGroupNumbers": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase1DHGroupNumbersRequestListValue" - }, - "markdownDescription": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`", - "title": "Phase1DHGroupNumbers", - "type": "array" - }, - "Phase1EncryptionAlgorithms": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase1EncryptionAlgorithmsRequestListValue" - }, - "markdownDescription": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`", - "title": "Phase1EncryptionAlgorithms", - "type": "array" - }, - "Phase1IntegrityAlgorithms": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase1IntegrityAlgorithmsRequestListValue" - }, - "markdownDescription": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`", - "title": "Phase1IntegrityAlgorithms", - "type": "array" - }, - "Phase1LifetimeSeconds": { - "markdownDescription": "The lifetime for phase 1 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 28,800.\n\nDefault: `28800`", - "title": "Phase1LifetimeSeconds", - "type": "number" - }, - "Phase2DHGroupNumbers": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase2DHGroupNumbersRequestListValue" - }, - "markdownDescription": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`", - "title": "Phase2DHGroupNumbers", - "type": "array" - }, - "Phase2EncryptionAlgorithms": { + "Architectures": { "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase2EncryptionAlgorithmsRequestListValue" + "type": "string" }, - "markdownDescription": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`", - "title": "Phase2EncryptionAlgorithms", + "markdownDescription": "The architecture tags that are associated with the repository.", + "title": "Architectures", "type": "array" }, - "Phase2IntegrityAlgorithms": { + "OperatingSystems": { "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase2IntegrityAlgorithmsRequestListValue" + "type": "string" }, - "markdownDescription": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`", - "title": "Phase2IntegrityAlgorithms", + "markdownDescription": "The operating system tags that are associated with the repository.", + "title": "OperatingSystems", "type": "array" }, - "Phase2LifetimeSeconds": { - "markdownDescription": "The lifetime for phase 2 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` .\n\nDefault: `3600`", - "title": "Phase2LifetimeSeconds", - "type": "number" - }, - "PreSharedKey": { - "markdownDescription": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n\nConstraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).", - "title": "PreSharedKey", - "type": "string" - }, - "RekeyFuzzPercentage": { - "markdownDescription": "The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected.\n\nConstraints: A value between 0 and 100.\n\nDefault: `100`", - "title": "RekeyFuzzPercentage", - "type": "number" - }, - "RekeyMarginTimeSeconds": { - "markdownDescription": "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` .\n\nConstraints: A value between 60 and half of `Phase2LifetimeSeconds` .\n\nDefault: `270`", - "title": "RekeyMarginTimeSeconds", - "type": "number" - }, - "ReplayWindowSize": { - "markdownDescription": "The number of packets in an IKE replay window.\n\nConstraints: A value between 64 and 2048.\n\nDefault: `1024`", - "title": "ReplayWindowSize", - "type": "number" - }, - "StartupAction": { - "markdownDescription": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation.\n\nValid Values: `add` | `start`\n\nDefault: `add`", - "title": "StartupAction", - "type": "string" - }, - "TunnelInsideCidr": { - "markdownDescription": "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.\n\nConstraints: A size /30 CIDR block from the `169.254.0.0/16` range. The following CIDR blocks are reserved and cannot be used:\n\n- `169.254.0.0/30`\n- `169.254.1.0/30`\n- `169.254.2.0/30`\n- `169.254.3.0/30`\n- `169.254.4.0/30`\n- `169.254.5.0/30`\n- `169.254.169.252/30`", - "title": "TunnelInsideCidr", + "RepositoryDescription": { + "markdownDescription": "The short description of the repository.", + "title": "RepositoryDescription", "type": "string" }, - "TunnelInsideIpv6Cidr": { - "markdownDescription": "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n\nConstraints: A size /126 CIDR block from the local `fd00::/8` range.", - "title": "TunnelInsideIpv6Cidr", + "UsageText": { + "markdownDescription": "The longform usage details of the contents of the repository. The usage text provides context for users of the repository.", + "title": "UsageText", "type": "string" } }, "type": "object" }, - "AWS::EC2::VPNConnectionRoute": { + "AWS::ECR::PullThroughCacheRule": { "additionalProperties": false, "properties": { "Condition": { @@ -135841,26 +144969,42 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { - "markdownDescription": "The CIDR block associated with the local subnet of the customer network.", - "title": "DestinationCidrBlock", + "CredentialArn": { + "markdownDescription": "The ARN of the Secrets Manager secret associated with the pull through cache rule.", + "title": "CredentialArn", "type": "string" }, - "VpnConnectionId": { - "markdownDescription": "The ID of the VPN connection.", - "title": "VpnConnectionId", + "CustomRoleArn": { + "markdownDescription": "The ARN of the IAM role associated with the pull through cache rule.", + "title": "CustomRoleArn", + "type": "string" + }, + "EcrRepositoryPrefix": { + "markdownDescription": "The Amazon ECR repository prefix associated with the pull through cache rule.", + "title": "EcrRepositoryPrefix", + "type": "string" + }, + "UpstreamRegistry": { + "markdownDescription": "The name of the upstream source registry associated with the pull through cache rule.", + "title": "UpstreamRegistry", + "type": "string" + }, + "UpstreamRegistryUrl": { + "markdownDescription": "The upstream registry URL associated with the pull through cache rule.", + "title": "UpstreamRegistryUrl", + "type": "string" + }, + "UpstreamRepositoryPrefix": { + "markdownDescription": "The upstream repository prefix associated with the pull through cache rule.", + "title": "UpstreamRepositoryPrefix", "type": "string" } }, - "required": [ - "DestinationCidrBlock", - "VpnConnectionId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNConnectionRoute" + "AWS::ECR::PullThroughCacheRule" ], "type": "string" }, @@ -135874,12 +145018,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::VPNGateway": { + "AWS::ECR::PullTimeUpdateExclusion": { "additionalProperties": false, "properties": { "Condition": { @@ -135914,33 +145057,20 @@ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { - "markdownDescription": "The private Autonomous System Number (ASN) for the Amazon side of a BGP session.", - "title": "AmazonSideAsn", - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Any tags assigned to the virtual private gateway.", - "title": "Tags", - "type": "array" - }, - "Type": { - "markdownDescription": "The type of VPN connection the virtual private gateway supports.", - "title": "Type", + "PrincipalArn": { + "markdownDescription": "The ARN of the IAM principal to remove from the pull time update exclusion list.", + "title": "PrincipalArn", "type": "string" } }, "required": [ - "Type" + "PrincipalArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNGateway" + "AWS::ECR::PullTimeUpdateExclusion" ], "type": "string" }, @@ -135959,7 +145089,7 @@ ], "type": "object" }, - "AWS::EC2::VPNGatewayRoutePropagation": { + "AWS::ECR::RegistryPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -135994,29 +145124,20 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteTableIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The ID of the route table. The routing table must be associated with the same VPC that the virtual private gateway is attached to.", - "title": "RouteTableIds", - "type": "array" - }, - "VpnGatewayId": { - "markdownDescription": "The ID of the virtual private gateway that is attached to a VPC. The virtual private gateway must be attached to the same VPC that the routing tables are associated with.", - "title": "VpnGatewayId", - "type": "string" + "PolicyText": { + "markdownDescription": "The JSON policy text for your registry.", + "title": "PolicyText", + "type": "object" } }, "required": [ - "RouteTableIds", - "VpnGatewayId" + "PolicyText" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNGatewayRoutePropagation" + "AWS::ECR::RegistryPolicy" ], "type": "string" }, @@ -136035,7 +145156,7 @@ ], "type": "object" }, - "AWS::EC2::VerifiedAccessEndpoint": { + "AWS::ECR::RegistryScanningConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -136070,103 +145191,29 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationDomain": { - "markdownDescription": "The DNS name for users to reach your application.", - "title": "ApplicationDomain", - "type": "string" - }, - "AttachmentType": { - "markdownDescription": "The type of attachment used to provide connectivity between the AWS Verified Access endpoint and the application.", - "title": "AttachmentType", - "type": "string" - }, - "CidrOptions": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.CidrOptions", - "markdownDescription": "The options for a CIDR endpoint.", - "title": "CidrOptions" - }, - "Description": { - "markdownDescription": "A description for the AWS Verified Access endpoint.", - "title": "Description", - "type": "string" - }, - "DomainCertificateArn": { - "markdownDescription": "The ARN of a public TLS/SSL certificate imported into or created with ACM.", - "title": "DomainCertificateArn", - "type": "string" - }, - "EndpointDomainPrefix": { - "markdownDescription": "A custom identifier that is prepended to the DNS name that is generated for the endpoint.", - "title": "EndpointDomainPrefix", - "type": "string" - }, - "EndpointType": { - "markdownDescription": "The type of AWS Verified Access endpoint. Incoming application requests will be sent to an IP address, load balancer or a network interface depending on the endpoint type specified.", - "title": "EndpointType", - "type": "string" - }, - "LoadBalancerOptions": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.LoadBalancerOptions", - "markdownDescription": "The load balancer details if creating the AWS Verified Access endpoint as `load-balancer` type.", - "title": "LoadBalancerOptions" - }, - "NetworkInterfaceOptions": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.NetworkInterfaceOptions", - "markdownDescription": "The options for network-interface type endpoint.", - "title": "NetworkInterfaceOptions" - }, - "PolicyDocument": { - "markdownDescription": "The Verified Access policy document.", - "title": "PolicyDocument", - "type": "string" - }, - "PolicyEnabled": { - "markdownDescription": "The status of the Verified Access policy.", - "title": "PolicyEnabled", - "type": "boolean" - }, - "RdsOptions": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.RdsOptions", - "markdownDescription": "The options for an RDS endpoint.", - "title": "RdsOptions" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the security groups for the endpoint.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SseSpecification": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.SseSpecification", - "markdownDescription": "The options for additional server side encryption.", - "title": "SseSpecification" - }, - "Tags": { + "Rules": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ECR::RegistryScanningConfiguration.ScanningRule" }, - "markdownDescription": "The tags.", - "title": "Tags", + "markdownDescription": "The scanning rules associated with the registry.", + "title": "Rules", "type": "array" }, - "VerifiedAccessGroupId": { - "markdownDescription": "The ID of the AWS Verified Access group.", - "title": "VerifiedAccessGroupId", + "ScanType": { + "markdownDescription": "The type of scanning configured for the registry.", + "title": "ScanType", "type": "string" } }, "required": [ - "AttachmentType", - "EndpointType", - "VerifiedAccessGroupId" + "Rules", + "ScanType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VerifiedAccessEndpoint" + "AWS::ECR::RegistryScanningConfiguration" ], "type": "string" }, @@ -136185,181 +145232,50 @@ ], "type": "object" }, - "AWS::EC2::VerifiedAccessEndpoint.CidrOptions": { - "additionalProperties": false, - "properties": { - "Cidr": { - "markdownDescription": "The CIDR.", - "title": "Cidr", - "type": "string" - }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.PortRange" - }, - "markdownDescription": "The port ranges.", - "title": "PortRanges", - "type": "array" - }, - "Protocol": { - "markdownDescription": "The protocol.", - "title": "Protocol", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the subnets.", - "title": "SubnetIds", - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::VerifiedAccessEndpoint.LoadBalancerOptions": { - "additionalProperties": false, - "properties": { - "LoadBalancerArn": { - "markdownDescription": "The ARN of the load balancer.", - "title": "LoadBalancerArn", - "type": "string" - }, - "Port": { - "markdownDescription": "The IP port number.", - "title": "Port", - "type": "number" - }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.PortRange" - }, - "markdownDescription": "The port ranges.", - "title": "PortRanges", - "type": "array" - }, - "Protocol": { - "markdownDescription": "The IP protocol.", - "title": "Protocol", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone.", - "title": "SubnetIds", - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::VerifiedAccessEndpoint.NetworkInterfaceOptions": { + "AWS::ECR::RegistryScanningConfiguration.RepositoryFilter": { "additionalProperties": false, "properties": { - "NetworkInterfaceId": { - "markdownDescription": "The ID of the network interface.", - "title": "NetworkInterfaceId", + "Filter": { + "markdownDescription": "The filter to use when scanning.", + "title": "Filter", "type": "string" }, - "Port": { - "markdownDescription": "The IP port number.", - "title": "Port", - "type": "number" - }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.PortRange" - }, - "markdownDescription": "The port ranges.", - "title": "PortRanges", - "type": "array" - }, - "Protocol": { - "markdownDescription": "The IP protocol.", - "title": "Protocol", + "FilterType": { + "markdownDescription": "The type associated with the filter.", + "title": "FilterType", "type": "string" } }, + "required": [ + "Filter", + "FilterType" + ], "type": "object" }, - "AWS::EC2::VerifiedAccessEndpoint.PortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "markdownDescription": "The start of the port range.", - "title": "FromPort", - "type": "number" - }, - "ToPort": { - "markdownDescription": "The end of the port range.", - "title": "ToPort", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::VerifiedAccessEndpoint.RdsOptions": { + "AWS::ECR::RegistryScanningConfiguration.ScanningRule": { "additionalProperties": false, "properties": { - "Port": { - "markdownDescription": "The port.", - "title": "Port", - "type": "number" - }, - "Protocol": { - "markdownDescription": "The protocol.", - "title": "Protocol", - "type": "string" - }, - "RdsDbClusterArn": { - "markdownDescription": "The ARN of the DB cluster.", - "title": "RdsDbClusterArn", - "type": "string" - }, - "RdsDbInstanceArn": { - "markdownDescription": "The ARN of the RDS instance.", - "title": "RdsDbInstanceArn", - "type": "string" - }, - "RdsDbProxyArn": { - "markdownDescription": "The ARN of the RDS proxy.", - "title": "RdsDbProxyArn", - "type": "string" - }, - "RdsEndpoint": { - "markdownDescription": "The RDS endpoint.", - "title": "RdsEndpoint", - "type": "string" - }, - "SubnetIds": { + "RepositoryFilters": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ECR::RegistryScanningConfiguration.RepositoryFilter" }, - "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone.", - "title": "SubnetIds", + "markdownDescription": "The details of a scanning repository filter. For more information on how to use filters, see [Using filters](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html#image-scanning-filters) in the *Amazon Elastic Container Registry User Guide* .", + "title": "RepositoryFilters", "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::VerifiedAccessEndpoint.SseSpecification": { - "additionalProperties": false, - "properties": { - "CustomerManagedKeyEnabled": { - "markdownDescription": "Enable or disable the use of customer managed KMS keys for server side encryption.\n\nValid values: `True` | `False`", - "title": "CustomerManagedKeyEnabled", - "type": "boolean" }, - "KmsKeyArn": { - "markdownDescription": "The ARN of the KMS key.", - "title": "KmsKeyArn", + "ScanFrequency": { + "markdownDescription": "The frequency that scans are performed at for a private registry. When the `ENHANCED` scan type is specified, the supported scan frequencies are `CONTINUOUS_SCAN` and `SCAN_ON_PUSH` . When the `BASIC` scan type is specified, the `SCAN_ON_PUSH` scan frequency is supported. If scan on push is not specified, then the `MANUAL` scan frequency is set by default.", + "title": "ScanFrequency", "type": "string" } }, + "required": [ + "RepositoryFilters", + "ScanFrequency" + ], "type": "object" }, - "AWS::EC2::VerifiedAccessGroup": { + "AWS::ECR::ReplicationConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -136394,48 +145310,20 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description for the AWS Verified Access group.", - "title": "Description", - "type": "string" - }, - "PolicyDocument": { - "markdownDescription": "The Verified Access policy document.", - "title": "PolicyDocument", - "type": "string" - }, - "PolicyEnabled": { - "markdownDescription": "The status of the Verified Access policy.", - "title": "PolicyEnabled", - "type": "boolean" - }, - "SseSpecification": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessGroup.SseSpecification", - "markdownDescription": "The options for additional server side encryption.", - "title": "SseSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags.", - "title": "Tags", - "type": "array" - }, - "VerifiedAccessInstanceId": { - "markdownDescription": "The ID of the AWS Verified Access instance.", - "title": "VerifiedAccessInstanceId", - "type": "string" + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration", + "markdownDescription": "The replication configuration for a registry.", + "title": "ReplicationConfiguration" } }, "required": [ - "VerifiedAccessInstanceId" + "ReplicationConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VerifiedAccessGroup" + "AWS::ECR::ReplicationConfiguration" ], "type": "string" }, @@ -136454,23 +145342,89 @@ ], "type": "object" }, - "AWS::EC2::VerifiedAccessGroup.SseSpecification": { + "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { "additionalProperties": false, "properties": { - "CustomerManagedKeyEnabled": { - "markdownDescription": "Enable or disable the use of customer managed KMS keys for server side encryption.\n\nValid values: `True` | `False`", - "title": "CustomerManagedKeyEnabled", - "type": "boolean" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" + }, + "markdownDescription": "An array of objects representing the replication destinations and repository filters for a replication configuration.", + "title": "Rules", + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "Region": { + "markdownDescription": "The Region to replicate to.", + "title": "Region", + "type": "string" }, - "KmsKeyArn": { - "markdownDescription": "The ARN of the KMS key.", - "title": "KmsKeyArn", + "RegistryId": { + "markdownDescription": "The AWS account ID of the Amazon ECR private registry to replicate to. When configuring cross-Region replication within your own registry, specify your own account ID.", + "title": "RegistryId", "type": "string" } }, + "required": [ + "Region", + "RegistryId" + ], "type": "object" }, - "AWS::EC2::VerifiedAccessInstance": { + "AWS::ECR::ReplicationConfiguration.ReplicationRule": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" + }, + "markdownDescription": "An array of objects representing the destination for a replication rule.", + "title": "Destinations", + "type": "array" + }, + "RepositoryFilters": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.RepositoryFilter" + }, + "markdownDescription": "An array of objects representing the filters for a replication rule. Specifying a repository filter for a replication rule provides a method for controlling which repositories in a private registry are replicated.", + "title": "RepositoryFilters", + "type": "array" + } + }, + "required": [ + "Destinations" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.RepositoryFilter": { + "additionalProperties": false, + "properties": { + "Filter": { + "markdownDescription": "The repository filter details. When the `PREFIX_MATCH` filter type is specified, this value is required and should be the repository name prefix to configure replication for.", + "title": "Filter", + "type": "string" + }, + "FilterType": { + "markdownDescription": "The repository filter type. The only supported value is `PREFIX_MATCH` , which is a repository name prefix specified with the `filter` parameter.", + "title": "FilterType", + "type": "string" + } + }, + "required": [ + "Filter", + "FilterType" + ], + "type": "object" + }, + "AWS::ECR::Repository": { "additionalProperties": false, "properties": { "Condition": { @@ -136505,48 +145459,55 @@ "Properties": { "additionalProperties": false, "properties": { - "CidrEndpointsCustomSubDomain": { - "markdownDescription": "The custom subdomain.", - "title": "CidrEndpointsCustomSubDomain", - "type": "string" + "EmptyOnDelete": { + "markdownDescription": "If true, deleting the repository force deletes the contents of the repository. If false, the repository must be empty before attempting to delete it.", + "title": "EmptyOnDelete", + "type": "boolean" }, - "Description": { - "markdownDescription": "A description for the AWS Verified Access instance.", - "title": "Description", - "type": "string" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration", + "markdownDescription": "The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest.", + "title": "EncryptionConfiguration" }, - "FipsEnabled": { - "markdownDescription": "Indicates whether support for Federal Information Processing Standards (FIPS) is enabled on the instance.", - "title": "FipsEnabled", - "type": "boolean" + "ImageScanningConfiguration": { + "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration", + "markdownDescription": "> The `imageScanningConfiguration` parameter is being deprecated, in favor of specifying the image scanning configuration at the registry level. For more information, see `PutRegistryScanningConfiguration` . \n\nThe image scanning configuration for the repository. This determines whether images are scanned for known vulnerabilities after being pushed to the repository.", + "title": "ImageScanningConfiguration" }, - "LoggingConfigurations": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.VerifiedAccessLogs", - "markdownDescription": "The logging configuration for the Verified Access instances.", - "title": "LoggingConfigurations" + "ImageTagMutability": { + "markdownDescription": "The tag mutability setting for the repository. If this parameter is omitted, the default setting of `MUTABLE` will be used which will allow image tags to be overwritten. If `IMMUTABLE` is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.", + "title": "ImageTagMutability", + "type": "string" }, - "Tags": { + "ImageTagMutabilityExclusionFilters": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ECR::Repository.ImageTagMutabilityExclusionFilter" }, - "markdownDescription": "The tags.", - "title": "Tags", + "markdownDescription": "A list of filters that specify which image tags are excluded from the repository's image tag mutability setting.", + "title": "ImageTagMutabilityExclusionFilters", "type": "array" }, - "VerifiedAccessTrustProviderIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the AWS Verified Access trust providers.", - "title": "VerifiedAccessTrustProviderIds", - "type": "array" + "LifecyclePolicy": { + "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy", + "markdownDescription": "Creates or updates a lifecycle policy. For information about lifecycle policy syntax, see [Lifecycle policy template](https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html) .", + "title": "LifecyclePolicy" }, - "VerifiedAccessTrustProviders": { + "RepositoryName": { + "markdownDescription": "The name to use for the repository. The repository name may be specified on its own (such as `nginx-web-app` ) or it can be prepended with a namespace to group the repository into a category (such as `project-a/nginx-web-app` ). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the repository name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\nThe repository name must start with a letter and can only contain lowercase letters, numbers, hyphens, underscores, and forward slashes.\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "RepositoryName", + "type": "string" + }, + "RepositoryPolicyText": { + "markdownDescription": "The JSON repository policy text to apply to the repository. For more information, see [Amazon ECR repository policies](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html) in the *Amazon Elastic Container Registry User Guide* .", + "title": "RepositoryPolicyText", + "type": "object" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.VerifiedAccessTrustProvider" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The IDs of the AWS Verified Access trust providers.", - "title": "VerifiedAccessTrustProviders", + "markdownDescription": "An array of key-value pairs to apply to this resource.", + "title": "Tags", "type": "array" } }, @@ -136554,7 +145515,7 @@ }, "Type": { "enum": [ - "AWS::EC2::VerifiedAccessInstance" + "AWS::ECR::Repository" ], "type": "string" }, @@ -136572,127 +145533,73 @@ ], "type": "object" }, - "AWS::EC2::VerifiedAccessInstance.CloudWatchLogs": { + "AWS::ECR::Repository.EncryptionConfiguration": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "Indicates whether logging is enabled.", - "title": "Enabled", - "type": "boolean" + "EncryptionType": { + "markdownDescription": "The encryption type to use.\n\nIf you use the `KMS` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS . When you use AWS to encrypt your data, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you already created.\n\nIf you use the `KMS_DSSE` encryption type, the contents of the repository will be encrypted with two layers of encryption using server-side encryption with the AWS Management Service key stored in AWS . Similar to the `KMS` encryption type, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you've already created.\n\nIf you use the `AES256` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm.\n\nFor more information, see [Amazon ECR encryption at rest](https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html) in the *Amazon Elastic Container Registry User Guide* .", + "title": "EncryptionType", + "type": "string" }, - "LogGroup": { - "markdownDescription": "The ID of the CloudWatch Logs log group.", - "title": "LogGroup", + "KmsKey": { + "markdownDescription": "If you use the `KMS` encryption type, specify the AWS key to use for encryption. The alias, key ID, or full ARN of the AWS key can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed AWS key for Amazon ECR will be used.", + "title": "KmsKey", "type": "string" } }, + "required": [ + "EncryptionType" + ], "type": "object" }, - "AWS::EC2::VerifiedAccessInstance.KinesisDataFirehose": { + "AWS::ECR::Repository.ImageScanningConfiguration": { "additionalProperties": false, "properties": { - "DeliveryStream": { - "markdownDescription": "The ID of the delivery stream.", - "title": "DeliveryStream", - "type": "string" - }, - "Enabled": { - "markdownDescription": "Indicates whether logging is enabled.", - "title": "Enabled", + "ScanOnPush": { + "markdownDescription": "The setting that determines whether images are scanned after being pushed to a repository. If set to `true` , images will be scanned after being pushed. If this parameter is not specified, it will default to `false` and images will not be scanned unless a scan is manually started.", + "title": "ScanOnPush", "type": "boolean" } }, "type": "object" }, - "AWS::EC2::VerifiedAccessInstance.S3": { + "AWS::ECR::Repository.ImageTagMutabilityExclusionFilter": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The bucket name.", - "title": "BucketName", - "type": "string" - }, - "BucketOwner": { - "markdownDescription": "The AWS account number that owns the bucket.", - "title": "BucketOwner", - "type": "string" - }, - "Enabled": { - "markdownDescription": "Indicates whether logging is enabled.", - "title": "Enabled", - "type": "boolean" - }, - "Prefix": { - "markdownDescription": "The bucket prefix.", - "title": "Prefix", + "ImageTagMutabilityExclusionFilterType": { + "markdownDescription": "", + "title": "ImageTagMutabilityExclusionFilterType", "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VerifiedAccessInstance.VerifiedAccessLogs": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.CloudWatchLogs", - "markdownDescription": "CloudWatch Logs logging destination.", - "title": "CloudWatchLogs" - }, - "IncludeTrustContext": { - "markdownDescription": "Indicates whether to include trust data sent by trust providers in the logs.", - "title": "IncludeTrustContext", - "type": "boolean" - }, - "KinesisDataFirehose": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.KinesisDataFirehose", - "markdownDescription": "Kinesis logging destination.", - "title": "KinesisDataFirehose" }, - "LogVersion": { - "markdownDescription": "The logging version.\n\nValid values: `ocsf-0.1` | `ocsf-1.0.0-rc.2`", - "title": "LogVersion", + "ImageTagMutabilityExclusionFilterValue": { + "markdownDescription": "", + "title": "ImageTagMutabilityExclusionFilterValue", "type": "string" - }, - "S3": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.S3", - "markdownDescription": "Amazon S3 logging options.", - "title": "S3" } }, + "required": [ + "ImageTagMutabilityExclusionFilterType", + "ImageTagMutabilityExclusionFilterValue" + ], "type": "object" }, - "AWS::EC2::VerifiedAccessInstance.VerifiedAccessTrustProvider": { + "AWS::ECR::Repository.LifecyclePolicy": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description for the AWS Verified Access trust provider.", - "title": "Description", - "type": "string" - }, - "DeviceTrustProviderType": { - "markdownDescription": "The type of device-based trust provider.", - "title": "DeviceTrustProviderType", - "type": "string" - }, - "TrustProviderType": { - "markdownDescription": "The type of Verified Access trust provider.", - "title": "TrustProviderType", - "type": "string" - }, - "UserTrustProviderType": { - "markdownDescription": "The type of user-based trust provider.", - "title": "UserTrustProviderType", + "LifecyclePolicyText": { + "markdownDescription": "The JSON repository policy text to apply to the repository.", + "title": "LifecyclePolicyText", "type": "string" }, - "VerifiedAccessTrustProviderId": { - "markdownDescription": "The ID of the AWS Verified Access trust provider.", - "title": "VerifiedAccessTrustProviderId", + "RegistryId": { + "markdownDescription": "The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.", + "title": "RegistryId", "type": "string" } }, "type": "object" }, - "AWS::EC2::VerifiedAccessTrustProvider": { + "AWS::ECR::RepositoryCreationTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -136727,69 +145634,75 @@ "Properties": { "additionalProperties": false, "properties": { + "AppliedFor": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of enumerable Strings representing the repository creation scenarios that this template will apply towards. The supported scenarios are PULL_THROUGH_CACHE, REPLICATION, and CREATE_ON_PUSH", + "title": "AppliedFor", + "type": "array" + }, + "CustomRoleArn": { + "markdownDescription": "The ARN of the role to be assumed by Amazon ECR. Amazon ECR will assume your supplied role when the customRoleArn is specified. When this field isn't specified, Amazon ECR will use the service-linked role for the repository creation template.", + "title": "CustomRoleArn", + "type": "string" + }, "Description": { - "markdownDescription": "A description for the AWS Verified Access trust provider.", + "markdownDescription": "The description associated with the repository creation template.", "title": "Description", "type": "string" }, - "DeviceOptions": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.DeviceOptions", - "markdownDescription": "The options for device-identity trust provider.", - "title": "DeviceOptions" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::ECR::RepositoryCreationTemplate.EncryptionConfiguration", + "markdownDescription": "The encryption configuration associated with the repository creation template.", + "title": "EncryptionConfiguration" }, - "DeviceTrustProviderType": { - "markdownDescription": "The type of device-based trust provider.", - "title": "DeviceTrustProviderType", + "ImageTagMutability": { + "markdownDescription": "The tag mutability setting for the repository. If this parameter is omitted, the default setting of `MUTABLE` will be used which will allow image tags to be overwritten. If `IMMUTABLE` is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.", + "title": "ImageTagMutability", "type": "string" }, - "NativeApplicationOidcOptions": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.NativeApplicationOidcOptions", - "markdownDescription": "The OpenID Connect (OIDC) options.", - "title": "NativeApplicationOidcOptions" + "ImageTagMutabilityExclusionFilters": { + "items": { + "$ref": "#/definitions/AWS::ECR::RepositoryCreationTemplate.ImageTagMutabilityExclusionFilter" + }, + "markdownDescription": "A list of filters that specify which image tags are excluded from the repository creation template's image tag mutability setting.", + "title": "ImageTagMutabilityExclusionFilters", + "type": "array" }, - "OidcOptions": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.OidcOptions", - "markdownDescription": "The options for an OpenID Connect-compatible user-identity trust provider.", - "title": "OidcOptions" + "LifecyclePolicy": { + "markdownDescription": "The lifecycle policy to use for repositories created using the template.", + "title": "LifecyclePolicy", + "type": "string" }, - "PolicyReferenceName": { - "markdownDescription": "The identifier to be used when working with policy rules.", - "title": "PolicyReferenceName", + "Prefix": { + "markdownDescription": "The repository namespace prefix associated with the repository creation template.", + "title": "Prefix", "type": "string" }, - "SseSpecification": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.SseSpecification", - "markdownDescription": "The options for additional server side encryption.", - "title": "SseSpecification" + "RepositoryPolicy": { + "markdownDescription": "The repository policy to apply to repositories created using the template. A repository policy is a permissions policy associated with a repository to control access permissions.", + "title": "RepositoryPolicy", + "type": "string" }, - "Tags": { + "ResourceTags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags.", - "title": "Tags", + "markdownDescription": "The metadata to apply to the repository to help you categorize and organize. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.", + "title": "ResourceTags", "type": "array" - }, - "TrustProviderType": { - "markdownDescription": "The type of Verified Access trust provider.", - "title": "TrustProviderType", - "type": "string" - }, - "UserTrustProviderType": { - "markdownDescription": "The type of user-based trust provider.", - "title": "UserTrustProviderType", - "type": "string" } }, "required": [ - "PolicyReferenceName", - "TrustProviderType" + "AppliedFor", + "Prefix" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VerifiedAccessTrustProvider" + "AWS::ECR::RepositoryCreationTemplate" ], "type": "string" }, @@ -136808,126 +145721,46 @@ ], "type": "object" }, - "AWS::EC2::VerifiedAccessTrustProvider.DeviceOptions": { - "additionalProperties": false, - "properties": { - "PublicSigningKeyUrl": { - "markdownDescription": "The URL AWS Verified Access will use to verify the authenticity of the device tokens.", - "title": "PublicSigningKeyUrl", - "type": "string" - }, - "TenantId": { - "markdownDescription": "The ID of the tenant application with the device-identity provider.", - "title": "TenantId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VerifiedAccessTrustProvider.NativeApplicationOidcOptions": { + "AWS::ECR::RepositoryCreationTemplate.EncryptionConfiguration": { "additionalProperties": false, "properties": { - "AuthorizationEndpoint": { - "markdownDescription": "The authorization endpoint of the IdP.", - "title": "AuthorizationEndpoint", - "type": "string" - }, - "ClientId": { - "markdownDescription": "The OAuth 2.0 client identifier.", - "title": "ClientId", - "type": "string" - }, - "ClientSecret": { - "markdownDescription": "The OAuth 2.0 client secret.", - "title": "ClientSecret", - "type": "string" - }, - "Issuer": { - "markdownDescription": "The OIDC issuer identifier of the IdP.", - "title": "Issuer", - "type": "string" - }, - "PublicSigningKeyEndpoint": { - "markdownDescription": "The public signing key endpoint.", - "title": "PublicSigningKeyEndpoint", - "type": "string" - }, - "Scope": { - "markdownDescription": "The set of user claims to be requested from the IdP.", - "title": "Scope", - "type": "string" - }, - "TokenEndpoint": { - "markdownDescription": "The token endpoint of the IdP.", - "title": "TokenEndpoint", + "EncryptionType": { + "markdownDescription": "The encryption type to use.\n\nIf you use the `KMS` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS . When you use AWS to encrypt your data, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you already created.\n\nIf you use the `KMS_DSSE` encryption type, the contents of the repository will be encrypted with two layers of encryption using server-side encryption with the AWS Management Service key stored in AWS . Similar to the `KMS` encryption type, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you've already created.\n\nIf you use the `AES256` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm.\n\nFor more information, see [Amazon ECR encryption at rest](https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html) in the *Amazon Elastic Container Registry User Guide* .", + "title": "EncryptionType", "type": "string" }, - "UserInfoEndpoint": { - "markdownDescription": "The user info endpoint of the IdP.", - "title": "UserInfoEndpoint", + "KmsKey": { + "markdownDescription": "If you use the `KMS` encryption type, specify the AWS key to use for encryption. The alias, key ID, or full ARN of the AWS key can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed AWS key for Amazon ECR will be used.", + "title": "KmsKey", "type": "string" } }, + "required": [ + "EncryptionType" + ], "type": "object" }, - "AWS::EC2::VerifiedAccessTrustProvider.OidcOptions": { + "AWS::ECR::RepositoryCreationTemplate.ImageTagMutabilityExclusionFilter": { "additionalProperties": false, "properties": { - "AuthorizationEndpoint": { - "markdownDescription": "The OIDC authorization endpoint.", - "title": "AuthorizationEndpoint", - "type": "string" - }, - "ClientId": { - "markdownDescription": "The client identifier.", - "title": "ClientId", - "type": "string" - }, - "ClientSecret": { - "markdownDescription": "The client secret.", - "title": "ClientSecret", - "type": "string" - }, - "Issuer": { - "markdownDescription": "The OIDC issuer.", - "title": "Issuer", - "type": "string" - }, - "Scope": { - "markdownDescription": "The OpenID Connect (OIDC) scope specified.", - "title": "Scope", - "type": "string" - }, - "TokenEndpoint": { - "markdownDescription": "The OIDC token endpoint.", - "title": "TokenEndpoint", - "type": "string" - }, - "UserInfoEndpoint": { - "markdownDescription": "The OIDC user info endpoint.", - "title": "UserInfoEndpoint", + "ImageTagMutabilityExclusionFilterType": { + "markdownDescription": "", + "title": "ImageTagMutabilityExclusionFilterType", "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VerifiedAccessTrustProvider.SseSpecification": { - "additionalProperties": false, - "properties": { - "CustomerManagedKeyEnabled": { - "markdownDescription": "Enable or disable the use of customer managed KMS keys for server side encryption.\n\nValid values: `True` | `False`", - "title": "CustomerManagedKeyEnabled", - "type": "boolean" }, - "KmsKeyArn": { - "markdownDescription": "The ARN of the KMS key.", - "title": "KmsKeyArn", + "ImageTagMutabilityExclusionFilterValue": { + "markdownDescription": "", + "title": "ImageTagMutabilityExclusionFilterValue", "type": "string" } }, + "required": [ + "ImageTagMutabilityExclusionFilterType", + "ImageTagMutabilityExclusionFilterValue" + ], "type": "object" }, - "AWS::EC2::Volume": { + "AWS::ECR::SigningConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -136962,90 +145795,23 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoEnableIO": { - "markdownDescription": "Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.", - "title": "AutoEnableIO", - "type": "boolean" - }, - "AvailabilityZone": { - "markdownDescription": "The ID of the Availability Zone in which to create the volume. For example, `us-east-1a` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified, but not both.\n\nIf you are creating a volume copy, omit this parameter. The volume copy is created in the same Availability Zone as the source volume.", - "title": "AvailabilityZone", - "type": "string" - }, - "AvailabilityZoneId": { - "markdownDescription": "The ID of the Availability Zone in which to create the volume. For example, `use1-az1` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified, but not both.\n\nIf you are creating a volume copy, omit this parameter. The volume copy is created in the same Availability Zone as the source volume.", - "title": "AvailabilityZoneId", - "type": "string" - }, - "Encrypted": { - "markdownDescription": "Indicates whether the volume should be encrypted. The effect of setting the encryption state to `true` depends on the volume origin (new, from a snapshot, or from an existing volume), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default) in the *Amazon EBS User Guide* .\n\nIf you are creating a volume copy, omit this parameter. The volume is automatically encrypted with the same KMS key as the source volume. You can't copy unencrypted volumes.", - "title": "Encrypted", - "type": "boolean" - }, - "Iops": { - "markdownDescription": "The number of I/O operations per second (IOPS) to provision for the volume. Required for `io1` and `io2` volumes. Optional for `gp3` volumes. Omit for all other volume types.\n\nValid ranges:\n\n- gp3: `3,000` ( *default* ) `- 80,000` IOPS\n- io1: `100 - 64,000` IOPS\n- io2: `100 - 256,000` IOPS\n\n> [Instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) can support up to 256,000 IOPS. Other instances can support up to 32,000 IOPS.", - "title": "Iops", - "type": "number" - }, - "KmsKeyId": { - "markdownDescription": "The identifier of the AWS KMS key to use for Amazon EBS encryption. If `KmsKeyId` is specified, the encrypted state must be `true` .\n\nIf you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to `true` , then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the AWS managed key .\n\nAlternatively, if you want to specify a different key, you can specify one of the following:\n\n- Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.\n- Key alias. Specify the alias for the key, prefixed with `alias/` . For example, for a key with the alias `my_cmk` , use `alias/my_cmk` . Or to specify the AWS managed key , use `alias/aws/ebs` .\n- Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n- Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.\n\nIf you are creating a volume copy, omit this parameter. The volume is automatically encrypted with the same KMS key as the source volume. You can't copy unencrypted volumes.", - "title": "KmsKeyId", - "type": "string" - }, - "MultiAttachEnabled": { - "markdownDescription": "Indicates whether Amazon EBS Multi-Attach is enabled.\n\nAWS CloudFormation does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.", - "title": "MultiAttachEnabled", - "type": "boolean" - }, - "OutpostArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Outpost on which to create the volume.\n\nIf you intend to use a volume with an instance running on an outpost, then you must create the volume on the same outpost as the instance. You can't use a volume created in an AWS Region with an instance on an AWS outpost, or the other way around.", - "title": "OutpostArn", - "type": "string" - }, - "Size": { - "markdownDescription": "The size of the volume, in GiBs.\n\n- Required for new empty volumes.\n- Optional for volumes created from snapshots and volume copies. In this case, the size defaults to the size of the snapshot or source volume. You can optionally specify a size that is equal to or larger than the size of the source snapshot or volume.\n\nSupported volume sizes:\n\n- gp2: `1 - 16,384` GiB\n- gp3: `1 - 65,536` GiB\n- io1: `4 - 16,384` GiB\n- io2: `4 - 65,536` GiB\n- st1 and sc1: `125 - 16,384` GiB\n- standard: `1 - 1024` GiB", - "title": "Size", - "type": "number" - }, - "SnapshotId": { - "markdownDescription": "The snapshot from which to create the volume. Only specify to create a volume from a snapshot. To create a new empty volume, omit this parameter and specify a value for `Size` instead. To create a volume copy, omit this parameter and specify `SourceVolumeId` instead.", - "title": "SnapshotId", - "type": "string" - }, - "SourceVolumeId": { - "markdownDescription": "The ID of the source EBS volume to copy. When specified, the volume is created as an exact copy of the specified volume. Only specify to create a volume copy. To create a new empty volume or to create a volume from a snapshot, omit this parameter,", - "title": "SourceVolumeId", - "type": "string" - }, - "Tags": { + "Rules": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ECR::SigningConfiguration.Rule" }, - "markdownDescription": "The tags to apply to the volume during creation.", - "title": "Tags", + "markdownDescription": "A list of signing rules. Each rule defines a signing profile and optional repository filters that determine which images are automatically signed.", + "title": "Rules", "type": "array" - }, - "Throughput": { - "markdownDescription": "The throughput to provision for a volume, with a maximum of 1,000 MiB/s.\n\nThis parameter is valid only for `gp3` volumes. The default value is 125.\n\nValid Range: Minimum value of 125. Maximum value of 1000.", - "title": "Throughput", - "type": "number" - }, - "VolumeInitializationRate": { - "markdownDescription": "Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as *volume initialization* . Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation.\n\nThis parameter is supported only for volumes created from snapshots. Omit this parameter if:\n\n- You want to create the volume using fast snapshot restore. You must specify a snapshot that is enabled for fast snapshot restore. In this case, the volume is fully initialized at creation.\n\n> If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, the volume will be initialized at the specified rate instead of fast snapshot restore.\n- You want to create a volume that is initialized at the default rate.\n\nFor more information, see [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EC2 User Guide* .\n\nValid range: 100 - 300 MiB/s", - "title": "VolumeInitializationRate", - "type": "number" - }, - "VolumeType": { - "markdownDescription": "The volume type. This parameter can be one of the following values:\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> Throughput Optimized HDD ( `st1` ) and Cold HDD ( `sc1` ) volumes can't be used as boot volumes. \n\nFor more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .\n\nDefault: `gp2`", - "title": "VolumeType", - "type": "string" } }, + "required": [ + "Rules" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Volume" + "AWS::ECR::SigningConfiguration" ], "type": "string" }, @@ -137059,92 +145825,54 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::VolumeAttachment": { + "AWS::ECR::SigningConfiguration.RepositoryFilter": { "additionalProperties": false, "properties": { - "Condition": { + "Filter": { + "markdownDescription": "The filter value used to match repository names. When using `WILDCARD_MATCH` , the `*` character matches any sequence of characters.\n\nExamples:\n\n- `myapp/*` - Matches all repositories starting with `myapp/`\n- `*/production` - Matches all repositories ending with `/production`\n- `*prod*` - Matches all repositories containing `prod`", + "title": "Filter", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FilterType": { + "markdownDescription": "The type of filter to apply. Currently, only `WILDCARD_MATCH` is supported, which uses wildcard patterns to match repository names.", + "title": "FilterType", "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Device": { - "markdownDescription": "The device name (for example, `/dev/sdh` or `xvdh` ).", - "title": "Device", - "type": "string" - }, - "EbsCardIndex": { - "type": "number" - }, - "InstanceId": { - "markdownDescription": "The ID of the instance to which the volume attaches. This value can be a reference to an [`AWS::EC2::Instance`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource, or it can be the physical ID of an existing EC2 instance.", - "title": "InstanceId", - "type": "string" - }, - "VolumeId": { - "markdownDescription": "The ID of the Amazon EBS volume. The volume and instance must be within the same Availability Zone. This value can be a reference to an [`AWS::EC2::Volume`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html) resource, or it can be the volume ID of an existing Amazon EBS volume.", - "title": "VolumeId", - "type": "string" - } + } + }, + "required": [ + "Filter", + "FilterType" + ], + "type": "object" + }, + "AWS::ECR::SigningConfiguration.Rule": { + "additionalProperties": false, + "properties": { + "RepositoryFilters": { + "items": { + "$ref": "#/definitions/AWS::ECR::SigningConfiguration.RepositoryFilter" }, - "required": [ - "InstanceId", - "VolumeId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VolumeAttachment" - ], - "type": "string" + "markdownDescription": "A list of repository filters that determine which repositories have their images signed on push. If no filters are specified, all images pushed to the registry are signed using the rule's signing profile. Maximum of 100 filters per rule.", + "title": "RepositoryFilters", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SigningProfileArn": { + "markdownDescription": "The ARN of the AWS Signer signing profile to use for signing images that match this rule. For more information about signing profiles, see [Signing profiles](https://docs.aws.amazon.com/signer/latest/developerguide/signing-profiles.html) in the *AWS Signer Developer Guide* .", + "title": "SigningProfileArn", "type": "string" } }, "required": [ - "Type", - "Properties" + "SigningProfileArn" ], "type": "object" }, - "AWS::EC2::VpnConnectionDeviceType": { + "AWS::ECRPublic::Registry": { "additionalProperties": false, "properties": { "Condition": { @@ -137183,7 +145911,7 @@ }, "Type": { "enum": [ - "AWS::EC2::VpnConnectionDeviceType" + "AWS::ECRPublic::Registry" ], "type": "string" }, @@ -137201,7 +145929,31 @@ ], "type": "object" }, - "AWS::ECR::PublicRepository": { + "AWS::ECRPublic::Registry.RegistryAlias": { + "additionalProperties": false, + "properties": { + "DefaultRegistryAlias": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "PrimaryRegistryAlias": { + "type": "boolean" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DefaultRegistryAlias", + "Name", + "PrimaryRegistryAlias", + "Status" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider": { "additionalProperties": false, "properties": { "Condition": { @@ -137236,26 +145988,31 @@ "Properties": { "additionalProperties": false, "properties": { - "RepositoryCatalogData": { - "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData", - "markdownDescription": "The details about the repository that are publicly visible in the Amazon ECR Public Gallery. For more information, see [Amazon ECR Public repository catalog data](https://docs.aws.amazon.com/AmazonECR/latest/public/public-repository-catalog-data.html) in the *Amazon ECR Public User Guide* .", - "title": "RepositoryCatalogData" + "AutoScalingGroupProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider", + "markdownDescription": "The Auto Scaling group settings for the capacity provider.", + "title": "AutoScalingGroupProvider" }, - "RepositoryName": { - "markdownDescription": "The name to use for the public repository. The repository name may be specified on its own (such as `nginx-web-app` ) or it can be prepended with a namespace to group the repository into a category (such as `project-a/nginx-web-app` ). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the repository name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "RepositoryName", + "ClusterName": { + "markdownDescription": "The cluster that this capacity provider is associated with. Managed instances capacity providers are cluster-scoped, meaning they can only be used within their associated cluster.\n\nThis is required for Managed instances.", + "title": "ClusterName", "type": "string" }, - "RepositoryPolicyText": { - "markdownDescription": "The JSON repository policy text to apply to the public repository. For more information, see [Amazon ECR Public repository policies](https://docs.aws.amazon.com/AmazonECR/latest/public/public-repository-policies.html) in the *Amazon ECR Public User Guide* .", - "title": "RepositoryPolicyText", - "type": "object" + "ManagedInstancesProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesProvider", + "markdownDescription": "The configuration for the Amazon ECS Managed Instances provider. This includes the infrastructure role, the launch template configuration, and tag propagation settings.", + "title": "ManagedInstancesProvider" + }, + "Name": { + "markdownDescription": "The name of the capacity provider. If a name is specified, it cannot start with `aws` , `ecs` , or `fargate` . If no name is specified, a default name in the `CFNStackName-CFNResourceName-RandomString` format is used.", + "title": "Name", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", + "markdownDescription": "The metadata that you apply to the capacity provider to help you categorize and organize it. Each tag consists of a key and an optional value. You define both.\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" } @@ -137264,7 +146021,7 @@ }, "Type": { "enum": [ - "AWS::ECR::PublicRepository" + "AWS::ECS::CapacityProvider" ], "type": "string" }, @@ -137282,266 +146039,537 @@ ], "type": "object" }, - "AWS::ECR::PublicRepository.RepositoryCatalogData": { + "AWS::ECS::CapacityProvider.AcceleratorCountRequest": { "additionalProperties": false, "properties": { - "AboutText": { - "markdownDescription": "The longform description of the contents of the repository. This text appears in the repository details on the Amazon ECR Public Gallery.", - "title": "AboutText", + "Max": { + "markdownDescription": "The maximum number of accelerators. Instance types with more accelerators are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of accelerators. Instance types with fewer accelerators are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum total accelerator memory in MiB. Instance types with more accelerator memory are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum total accelerator memory in MiB. Instance types with less accelerator memory are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoRepairConfiguration": { + "additionalProperties": false, + "properties": { + "ActionsStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) that identifies the Auto Scaling group, or the Auto Scaling group name.", + "title": "AutoScalingGroupArn", "type": "string" }, - "Architectures": { - "items": { - "type": "string" - }, - "markdownDescription": "The architecture tags that are associated with the repository.", - "title": "Architectures", - "type": "array" + "ManagedDraining": { + "markdownDescription": "The managed draining option for the Auto Scaling group capacity provider. When you enable this, Amazon ECS manages and gracefully drains the EC2 container instances that are in the Auto Scaling group capacity provider.", + "title": "ManagedDraining", + "type": "string" }, - "OperatingSystems": { - "items": { - "type": "string" - }, - "markdownDescription": "The operating system tags that are associated with the repository.", - "title": "OperatingSystems", - "type": "array" + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling", + "markdownDescription": "The managed scaling settings for the Auto Scaling group capacity provider.", + "title": "ManagedScaling" }, - "RepositoryDescription": { - "markdownDescription": "The short description of the repository.", - "title": "RepositoryDescription", + "ManagedTerminationProtection": { + "markdownDescription": "The managed termination protection setting to use for the Auto Scaling group capacity provider. This determines whether the Auto Scaling group has managed termination protection. The default is off.\n\n> When using managed termination protection, managed scaling must also be used otherwise managed termination protection doesn't work. \n\nWhen managed termination protection is on, Amazon ECS prevents the Amazon EC2 instances in an Auto Scaling group that contain tasks from being terminated during a scale-in action. The Auto Scaling group and each instance in the Auto Scaling group must have instance protection from scale-in actions on as well. For more information, see [Instance Protection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) in the *AWS Auto Scaling User Guide* .\n\nWhen managed termination protection is off, your Amazon EC2 instances aren't protected from termination when the Auto Scaling group scales in.", + "title": "ManagedTerminationProtection", "type": "string" + } + }, + "required": [ + "AutoScalingGroupArn" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum baseline Amazon EBS bandwidth in Mbps. Instance types with higher Amazon EBS bandwidth are excluded from selection.", + "title": "Max", + "type": "number" }, - "UsageText": { - "markdownDescription": "The longform usage details of the contents of the repository. The usage text provides context for users of the repository.", - "title": "UsageText", + "Min": { + "markdownDescription": "The minimum baseline Amazon EBS bandwidth in Mbps. Instance types with lower Amazon EBS bandwidth are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.CapacityReservationRequest": { + "additionalProperties": false, + "properties": { + "ReservationGroupArn": { + "type": "string" + }, + "ReservationPreference": { "type": "string" } }, "type": "object" }, - "AWS::ECR::PullThroughCacheRule": { + "AWS::ECS::CapacityProvider.InfrastructureOptimization": { "additionalProperties": false, "properties": { - "Condition": { + "ScaleInAfter": { + "markdownDescription": "This parameter defines the number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle or underutilized instances instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle or underutilized instances,instances more quickly.\n\nValid values are:\n\n- `null` - Uses the default optimization behavior.\n- `-1` - Disables automatic infrastructure optimization.\n- A value between `0` and `3600` (inclusive) - Specifies the number of seconds to wait before optimizing instances.", + "title": "ScaleInAfter", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.InstanceLaunchTemplate": { + "additionalProperties": false, + "properties": { + "CapacityOptionType": { + "markdownDescription": "The capacity option type. This determines whether Amazon ECS launches On-Demand or Spot Instances for your managed instance capacity provider.\n\nValid values are:\n\n- `ON_DEMAND` - Launches standard On-Demand Instances. On-Demand Instances provide predictable pricing and availability.\n- `SPOT` - Launches Spot Instances that use spare Amazon EC2 capacity at reduced cost. Spot Instances can be interrupted by Amazon EC2 with a two-minute notification when the capacity is needed back.\n\nThe default is On-Demand\n\nFor more information about Amazon EC2 capacity options, see [Instance purchasing options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) in the *Amazon EC2 User Guide* .", + "title": "CapacityOptionType", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CapacityReservations": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.CapacityReservationRequest" + }, + "Ec2InstanceProfileArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources.\n\nFor more information, see [Amazon ECS instance profile for Managed Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/managed-instances-instance-profile.html) in the *Amazon ECS Developer Guide* .", + "title": "Ec2InstanceProfileArn", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "FipsEnabled": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "InstanceMetadataTagsPropagation": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CredentialArn": { - "markdownDescription": "The ARN of the Secrets Manager secret associated with the pull through cache rule.", - "title": "CredentialArn", - "type": "string" - }, - "CustomRoleArn": { - "markdownDescription": "The ARN of the IAM role associated with the pull through cache rule.", - "title": "CustomRoleArn", - "type": "string" - }, - "EcrRepositoryPrefix": { - "markdownDescription": "The Amazon ECR repository prefix associated with the pull through cache rule.", - "title": "EcrRepositoryPrefix", - "type": "string" - }, - "UpstreamRegistry": { - "markdownDescription": "The name of the upstream source registry associated with the pull through cache rule.", - "title": "UpstreamRegistry", - "type": "string" - }, - "UpstreamRegistryUrl": { - "markdownDescription": "The upstream registry URL associated with the pull through cache rule.", - "title": "UpstreamRegistryUrl", - "type": "string" - }, - "UpstreamRepositoryPrefix": { - "markdownDescription": "The upstream repository prefix associated with the pull through cache rule.", - "title": "UpstreamRepositoryPrefix", - "type": "string" - } - }, - "type": "object" + "InstanceRequirements": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.InstanceRequirementsRequest", + "markdownDescription": "The instance requirements. You can specify:\n\n- The instance types\n- Instance requirements such as vCPU count, memory, network performance, and accelerator specifications\n\nAmazon ECS automatically selects the instances that match the specified criteria.", + "title": "InstanceRequirements" }, - "Type": { - "enum": [ - "AWS::ECR::PullThroughCacheRule" - ], - "type": "string" + "LocalStorageConfiguration": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesLocalStorageConfiguration" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Monitoring": { + "markdownDescription": "CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see [Detailed monitoring for Amazon ECS Managed Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/detailed-monitoring-managed-instances.html) in the Amazon ECS Developer Guide.", + "title": "Monitoring", "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesNetworkConfiguration", + "markdownDescription": "The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity.", + "title": "NetworkConfiguration" + }, + "StorageConfiguration": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesStorageConfiguration", + "markdownDescription": "The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances.", + "title": "StorageConfiguration" } }, "required": [ - "Type" + "Ec2InstanceProfileArn", + "NetworkConfiguration" ], "type": "object" }, - "AWS::ECR::PullTimeUpdateExclusion": { + "AWS::ECS::CapacityProvider.InstanceRequirementsRequest": { "additionalProperties": false, "properties": { - "Condition": { + "AcceleratorCount": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AcceleratorCountRequest", + "markdownDescription": "The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.", + "title": "AcceleratorCount" + }, + "AcceleratorManufacturers": { + "items": { + "type": "string" + }, + "markdownDescription": "The accelerator manufacturers to include. You can specify `nvidia` , `amd` , `amazon-web-services` , or `xilinx` depending on your accelerator requirements.", + "title": "AcceleratorManufacturers", + "type": "array" + }, + "AcceleratorNames": { + "items": { + "type": "string" + }, + "markdownDescription": "The specific accelerator names to include. For example, you can specify `a100` , `v100` , `k80` , or other specific accelerator models.", + "title": "AcceleratorNames", + "type": "array" + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AcceleratorTotalMemoryMiBRequest", + "markdownDescription": "The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.", + "title": "AcceleratorTotalMemoryMiB" + }, + "AcceleratorTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The accelerator types to include. You can specify `gpu` for graphics processing units, `fpga` for field programmable gate arrays, or `inference` for machine learning inference accelerators.", + "title": "AcceleratorTypes", + "type": "array" + }, + "AllowedInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified.", + "title": "AllowedInstanceTypes", + "type": "array" + }, + "BareMetal": { + "markdownDescription": "Indicates whether to include bare metal instance types. Set to `included` to allow bare metal instances, `excluded` to exclude them, or `required` to use only bare metal instances.", + "title": "BareMetal", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.BaselineEbsBandwidthMbpsRequest", + "markdownDescription": "The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.", + "title": "BaselineEbsBandwidthMbps" + }, + "BurstablePerformance": { + "markdownDescription": "Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to `included` to allow burstable instances, `excluded` to exclude them, or `required` to use only burstable instances.", + "title": "BurstablePerformance", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CpuManufacturers": { + "items": { + "type": "string" + }, + "markdownDescription": "The CPU manufacturers to include or exclude. You can specify `intel` , `amd` , or `amazon-web-services` to control which CPU types are used for your workloads.", + "title": "CpuManufacturers", + "type": "array" }, - "Metadata": { - "type": "object" + "ExcludedInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads.", + "title": "ExcludedInstanceTypes", + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "PrincipalArn": { - "markdownDescription": "The ARN of the IAM principal to remove from the pull time update exclusion list.", - "title": "PrincipalArn", - "type": "string" - } + "InstanceGenerations": { + "items": { + "type": "string" }, - "required": [ - "PrincipalArn" - ], - "type": "object" + "markdownDescription": "The instance generations to include. You can specify `current` to use the latest generation instances, or `previous` to include previous generation instances for cost optimization.", + "title": "InstanceGenerations", + "type": "array" }, - "Type": { - "enum": [ - "AWS::ECR::PullTimeUpdateExclusion" - ], + "LocalStorage": { + "markdownDescription": "Indicates whether to include instance types with local storage. Set to `included` to allow local storage, `excluded` to exclude it, or `required` to use only instances with local storage.", + "title": "LocalStorage", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "LocalStorageTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The local storage types to include. You can specify `hdd` for hard disk drives, `ssd` for solid state drives, or both.", + "title": "LocalStorageTypes", + "type": "array" + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "markdownDescription": "The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.", + "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", + "type": "number" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.MemoryGiBPerVCpuRequest", + "markdownDescription": "The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.", + "title": "MemoryGiBPerVCpu" + }, + "MemoryMiB": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.MemoryMiBRequest", + "markdownDescription": "The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.", + "title": "MemoryMiB" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.NetworkBandwidthGbpsRequest", + "markdownDescription": "The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.", + "title": "NetworkBandwidthGbps" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.NetworkInterfaceCountRequest", + "markdownDescription": "The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.", + "title": "NetworkInterfaceCount" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "markdownDescription": "The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon ECS selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.", + "title": "OnDemandMaxPricePercentageOverLowestPrice", + "type": "number" + }, + "RequireHibernateSupport": { + "markdownDescription": "Indicates whether the instance types must support hibernation. When set to `true` , only instance types that support hibernation are selected.", + "title": "RequireHibernateSupport", + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "markdownDescription": "The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.", + "title": "SpotMaxPricePercentageOverLowestPrice", + "type": "number" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.TotalLocalStorageGBRequest", + "markdownDescription": "The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.", + "title": "TotalLocalStorageGB" + }, + "VCpuCount": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.VCpuCountRangeRequest", + "markdownDescription": "The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.", + "title": "VCpuCount" } }, "required": [ - "Type", - "Properties" + "MemoryMiB", + "VCpuCount" ], "type": "object" }, - "AWS::ECR::RegistryPolicy": { + "AWS::ECS::CapacityProvider.ManagedInstancesLocalStorageConfiguration": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "UseLocalStorage": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedInstancesNetworkConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.", + "title": "SecurityGroups", + "type": "array" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.", + "title": "Subnets", + "type": "array" + } + }, + "required": [ + "SecurityGroups", + "Subnets" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedInstancesProvider": { + "additionalProperties": false, + "properties": { + "AutoRepairConfiguration": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoRepairConfiguration" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "InfrastructureOptimization": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.InfrastructureOptimization", + "markdownDescription": "Defines how Amazon ECS Managed Instances optimizes the infrastastructure in your capacity provider. Configure it to turn on or off the infrastructure optimization in your capacity provider, and to control the idle or underutilized EC2 instances optimization delay.", + "title": "InfrastructureOptimization" }, - "Metadata": { - "type": "object" + "InfrastructureRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS assumes to manage instances. This role must include permissions for Amazon EC2 instance lifecycle management, networking, and any additional AWS services required for your workloads.\n\nFor 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": "InfrastructureRoleArn", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyText": { - "markdownDescription": "The JSON policy text for your registry.", - "title": "PolicyText", - "type": "object" - } - }, - "required": [ - "PolicyText" - ], - "type": "object" + "InstanceLaunchTemplate": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.InstanceLaunchTemplate", + "markdownDescription": "The launch template that defines how Amazon ECS launches Amazon ECS Managed Instances. This includes the instance profile for your tasks, network and storage configuration, and instance requirements that determine which Amazon EC2 instance types can be used.\n\nFor more information, see [Store instance launch parameters in Amazon EC2 launch templates](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the *Amazon EC2 User Guide* .", + "title": "InstanceLaunchTemplate" }, - "Type": { - "enum": [ - "AWS::ECR::RegistryPolicy" - ], + "PropagateTags": { + "markdownDescription": "Determines whether tags from the capacity provider are automatically applied to Amazon ECS Managed Instances. This helps with cost allocation and resource management by ensuring consistent tagging across your infrastructure.", + "title": "PropagateTags", "type": "string" + } + }, + "required": [ + "InfrastructureRoleArn", + "InstanceLaunchTemplate" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedInstancesStorageConfiguration": { + "additionalProperties": false, + "properties": { + "StorageSizeGiB": { + "markdownDescription": "The size of the tasks volume.", + "title": "StorageSizeGiB", + "type": "number" + } + }, + "required": [ + "StorageSizeGiB" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedScaling": { + "additionalProperties": false, + "properties": { + "InstanceWarmupPeriod": { + "markdownDescription": "The period of time, in seconds, after a newly launched Amazon EC2 instance can contribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value of `300` seconds is used.", + "title": "InstanceWarmupPeriod", + "type": "number" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "MaximumScalingStepSize": { + "markdownDescription": "The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this parameter is omitted, the default value of `10000` is used.", + "title": "MaximumScalingStepSize", + "type": "number" + }, + "MinimumScalingStepSize": { + "markdownDescription": "The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale in process is not affected by this parameter If this parameter is omitted, the default value of `1` is used.\n\nWhen additional capacity is required, Amazon ECS will scale up the minimum scaling step size even if the actual demand is less than the minimum scaling step size.", + "title": "MinimumScalingStepSize", + "type": "number" + }, + "Status": { + "markdownDescription": "Determines whether to use managed scaling for the capacity provider.", + "title": "Status", "type": "string" + }, + "TargetCapacity": { + "markdownDescription": "The target capacity utilization as a percentage for the capacity provider. The specified value must be greater than `0` and less than or equal to `100` . For example, if you want the capacity provider to maintain 10% spare capacity, then that means the utilization is 90%, so use a `targetCapacity` of `90` . The default value of `100` percent results in the Amazon EC2 instances in your Auto Scaling group being completely used.", + "title": "TargetCapacity", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory per vCPU in GiB. Instance types with a higher memory-to-vCPU ratio are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of memory per vCPU in GiB. Instance types with a lower memory-to-vCPU ratio are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory in MiB. Instance types with more memory than this value are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of memory in MiB. Instance types with less memory than this value are excluded from selection.", + "title": "Min", + "type": "number" } }, "required": [ - "Type", - "Properties" + "Min" ], "type": "object" }, - "AWS::ECR::RegistryScanningConfiguration": { + "AWS::ECS::CapacityProvider.NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum network bandwidth in Gbps. Instance types with higher network bandwidth are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum network bandwidth in Gbps. Instance types with lower network bandwidth are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of network interfaces. Instance types that support more network interfaces are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of network interfaces. Instance types that support fewer network interfaces are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum total local storage in GB. Instance types with more local storage are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum total local storage in GB. Instance types with less local storage are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of vCPUs. Instance types with more vCPUs than this value are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of vCPUs. Instance types with fewer vCPUs than this value are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "required": [ + "Min" + ], + "type": "object" + }, + "AWS::ECS::Cluster": { "additionalProperties": false, "properties": { "Condition": { @@ -137576,29 +146604,59 @@ "Properties": { "additionalProperties": false, "properties": { - "Rules": { + "CapacityProviders": { "items": { - "$ref": "#/definitions/AWS::ECR::RegistryScanningConfiguration.ScanningRule" + "type": "string" }, - "markdownDescription": "The scanning rules associated with the registry.", - "title": "Rules", + "markdownDescription": "The short name of one or more capacity providers to associate with the cluster. A capacity provider must be associated with a cluster before it can be included as part of the default capacity provider strategy of the cluster or used in a capacity provider strategy when calling the [CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html) or [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) actions.\n\nIf specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created but not associated with another cluster. New Auto Scaling group capacity providers can be created with the [CreateCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCapacityProvider.html) API operation.\n\nTo use a AWS Fargate capacity provider, specify either the `FARGATE` or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.\n\nThe [PutCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutCapacityProvider.html) API operation is used to update the list of available capacity providers for a cluster after the cluster is created.", + "title": "CapacityProviders", "type": "array" }, - "ScanType": { - "markdownDescription": "The type of scanning configured for the registry.", - "title": "ScanType", + "ClusterName": { + "markdownDescription": "A user-generated string that you use to identify your cluster. If you don't specify a name, AWS CloudFormation generates a unique physical ID for the name.", + "title": "ClusterName", "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "markdownDescription": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.\n\nContainer Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up.\n\nFor more information, see [Monitor Amazon ECS containers using Container Insights with enhanced observability](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "ClusterSettings", + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration", + "markdownDescription": "The execute command and managed storage configuration for the cluster.", + "title": "Configuration" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" + }, + "markdownDescription": "The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no launch type or capacity provider strategy specified, the default capacity provider strategy is used.", + "title": "DefaultCapacityProviderStrategy", + "type": "array" + }, + "ServiceConnectDefaults": { + "$ref": "#/definitions/AWS::ECS::Cluster.ServiceConnectDefaults", + "markdownDescription": "Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as client services in the namespace. This setting only applies to new services that set the `enabled` parameter to `true` in the `ServiceConnectConfiguration` . You can set the namespace of each service individually in the `ServiceConnectConfiguration` to override this default parameter.\n\nTasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "ServiceConnectDefaults" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key and an optional value. You define both.\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" } }, - "required": [ - "Rules", - "ScanType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ECR::RegistryScanningConfiguration" + "AWS::ECS::Cluster" ], "type": "string" }, @@ -137612,55 +146670,143 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ECR::RegistryScanningConfiguration.RepositoryFilter": { + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { "additionalProperties": false, "properties": { - "Filter": { - "markdownDescription": "The filter to use when scanning.", - "title": "Filter", + "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" }, - "FilterType": { - "markdownDescription": "The type associated with the filter.", - "title": "FilterType", + "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::Cluster.ClusterConfiguration": { + "additionalProperties": false, + "properties": { + "ExecuteCommandConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration", + "markdownDescription": "The details of the execute command configuration.", + "title": "ExecuteCommandConfiguration" + }, + "ManagedStorageConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ManagedStorageConfiguration", + "markdownDescription": "The details of the managed storage configuration.", + "title": "ManagedStorageConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterSettings": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the cluster setting. The value is `containerInsights` .", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value to set for the cluster setting. The supported values are `enhanced` , `enabled` , and `disabled` .\n\nTo use Container Insights with enhanced observability, set the `containerInsights` account setting to `enhanced` .\n\nTo use Container Insights, set the `containerInsights` account setting to `enabled` .\n\nIf a cluster value is specified, it will override the `containerInsights` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html) .", + "title": "Value", "type": "string" } }, - "required": [ - "Filter", - "FilterType" - ], "type": "object" }, - "AWS::ECR::RegistryScanningConfiguration.ScanningRule": { + "AWS::ECS::Cluster.ExecuteCommandConfiguration": { "additionalProperties": false, "properties": { - "RepositoryFilters": { - "items": { - "$ref": "#/definitions/AWS::ECR::RegistryScanningConfiguration.RepositoryFilter" - }, - "markdownDescription": "The details of a scanning repository filter. For more information on how to use filters, see [Using filters](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html#image-scanning-filters) in the *Amazon Elastic Container Registry User Guide* .", - "title": "RepositoryFilters", - "type": "array" + "KmsKeyId": { + "markdownDescription": "Specify an AWS Key Management Service key ID to encrypt the data between the local client and the container.", + "title": "KmsKeyId", + "type": "string" }, - "ScanFrequency": { - "markdownDescription": "The frequency that scans are performed at for a private registry. When the `ENHANCED` scan type is specified, the supported scan frequencies are `CONTINUOUS_SCAN` and `SCAN_ON_PUSH` . When the `BASIC` scan type is specified, the `SCAN_ON_PUSH` scan frequency is supported. If scan on push is not specified, then the `MANUAL` scan frequency is set by default.", - "title": "ScanFrequency", + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration", + "markdownDescription": "The log configuration for the results of the execute command actions. The logs can be sent to CloudWatch Logs or an Amazon S3 bucket. When `logging=OVERRIDE` is specified, a `logConfiguration` must be provided.", + "title": "LogConfiguration" + }, + "Logging": { + "markdownDescription": "The log setting to use for redirecting logs for your execute command results. The following log settings are available.\n\n- `NONE` : The execute command session is not logged.\n- `DEFAULT` : The `awslogs` configuration in the task definition is used. If no logging parameter is specified, it defaults to this value. If no `awslogs` log driver is configured in the task definition, the output won't be logged.\n- `OVERRIDE` : Specify the logging details as a part of `logConfiguration` . If the `OVERRIDE` logging option is specified, the `logConfiguration` is required.", + "title": "Logging", "type": "string" } }, - "required": [ - "RepositoryFilters", - "ScanFrequency" - ], "type": "object" }, - "AWS::ECR::ReplicationConfiguration": { + "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionEnabled": { + "markdownDescription": "Determines whether to use encryption on the CloudWatch logs. If not specified, encryption will be off.", + "title": "CloudWatchEncryptionEnabled", + "type": "boolean" + }, + "CloudWatchLogGroupName": { + "markdownDescription": "The name of the CloudWatch log group to send logs to.\n\n> The CloudWatch log group must already be created.", + "title": "CloudWatchLogGroupName", + "type": "string" + }, + "S3BucketName": { + "markdownDescription": "The name of the S3 bucket to send logs to.\n\n> The S3 bucket must already be created.", + "title": "S3BucketName", + "type": "string" + }, + "S3EncryptionEnabled": { + "markdownDescription": "Determines whether to use encryption on the S3 logs. If not specified, encryption is not used.", + "title": "S3EncryptionEnabled", + "type": "boolean" + }, + "S3KeyPrefix": { + "markdownDescription": "An optional folder in the S3 bucket to place logs in.", + "title": "S3KeyPrefix", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ManagedStorageConfiguration": { + "additionalProperties": false, + "properties": { + "FargateEphemeralStorageKmsKeyId": { + "markdownDescription": "Specify the AWS Key Management Service key ID for Fargate ephemeral storage.\n\nWhen you specify a `fargateEphemeralStorageKmsKeyId` , AWS Fargate uses the key to encrypt data at rest in ephemeral storage. For more information about Fargate ephemeral storage encryption, see [Customer managed keys for AWS Fargate ephemeral storage for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-storage-encryption.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nThe key must be a single Region key.", + "title": "FargateEphemeralStorageKmsKeyId", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "Specify a AWS Key Management Service key ID to encrypt Amazon ECS managed storage.\n\nWhen you specify a `kmsKeyId` , Amazon ECS uses the key to encrypt data volumes managed by Amazon ECS that are attached to tasks in the cluster. The following data volumes are managed by Amazon ECS: Amazon EBS. For more information about encryption of Amazon EBS volumes attached to Amazon ECS tasks, see [Encrypt data stored in Amazon EBS volumes for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-kms-encryption.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nThe key must be a single Region key.", + "title": "KmsKeyId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ServiceConnectDefaults": { + "additionalProperties": false, + "properties": { + "Namespace": { + "markdownDescription": "The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace that's used when you create a service and don't specify a Service Connect configuration. The namespace name can include up to 1024 characters. The name is case-sensitive. The name can't include greater than (>), less than (<), double quotation marks (\"), or slash (/).\n\nIf you enter an existing namespace name or ARN, then that namespace will be used. Any namespace type is supported. The namespace must be in this account and this AWS Region.\n\nIf you enter a new name, a AWS Cloud Map namespace will be created. Amazon ECS creates a AWS Cloud Map namespace with the \"API calls\" method of instance discovery only. This instance discovery method is the \"HTTP\" namespace type in the AWS Command Line Interface . Other types of instance discovery aren't used by Service Connect.\n\nIf you update the cluster with an empty string `\"\"` for the namespace name, the cluster configuration for Service Connect is removed. Note that the namespace will remain in AWS Cloud Map and must be deleted separately.\n\nFor 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" + } + }, + "type": "object" + }, + "AWS::ECS::ClusterCapacityProviderAssociations": { "additionalProperties": false, "properties": { "Condition": { @@ -137695,121 +146841,80 @@ "Properties": { "additionalProperties": false, "properties": { - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration", - "markdownDescription": "The replication configuration for a registry.", - "title": "ReplicationConfiguration" - } - }, - "required": [ - "ReplicationConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::ReplicationConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" - }, - "markdownDescription": "An array of objects representing the replication destinations and repository filters for a replication configuration.", - "title": "Rules", - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { - "additionalProperties": false, - "properties": { - "Region": { - "markdownDescription": "The Region to replicate to.", - "title": "Region", - "type": "string" - }, - "RegistryId": { - "markdownDescription": "The AWS account ID of the Amazon ECR private registry to replicate to. When configuring cross-Region replication within your own registry, specify your own account ID.", - "title": "RegistryId", - "type": "string" - } - }, - "required": [ - "Region", - "RegistryId" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationRule": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" + "CapacityProviders": { + "items": { + "type": "string" + }, + "markdownDescription": "The capacity providers to associate with the cluster.", + "title": "CapacityProviders", + "type": "array" + }, + "Cluster": { + "markdownDescription": "The cluster the capacity provider association is the target of.", + "title": "Cluster", + "type": "string" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy" + }, + "markdownDescription": "The default capacity provider strategy to associate with the cluster.", + "title": "DefaultCapacityProviderStrategy", + "type": "array" + } }, - "markdownDescription": "An array of objects representing the destination for a replication rule.", - "title": "Destinations", - "type": "array" + "required": [ + "Cluster", + "DefaultCapacityProviderStrategy" + ], + "type": "object" }, - "RepositoryFilters": { - "items": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.RepositoryFilter" - }, - "markdownDescription": "An array of objects representing the filters for a replication rule. Specifying a repository filter for a replication rule provides a method for controlling which repositories in a private registry are replicated.", - "title": "RepositoryFilters", - "type": "array" + "Type": { + "enum": [ + "AWS::ECS::ClusterCapacityProviderAssociations" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Destinations" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECR::ReplicationConfiguration.RepositoryFilter": { + "AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy": { "additionalProperties": false, "properties": { - "Filter": { - "markdownDescription": "The repository filter details. When the `PREFIX_MATCH` filter type is specified, this value is required and should be the repository name prefix to configure replication for.", - "title": "Filter", - "type": "string" + "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" }, - "FilterType": { - "markdownDescription": "The repository filter type. The only supported value is `PREFIX_MATCH` , which is a repository name prefix specified with the `filter` parameter.", - "title": "FilterType", + "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" } }, "required": [ - "Filter", - "FilterType" + "CapacityProvider" ], "type": "object" }, - "AWS::ECR::Repository": { + "AWS::ECS::ContainerInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -137843,64 +146948,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "EmptyOnDelete": { - "markdownDescription": "If true, deleting the repository force deletes the contents of the repository. If false, the repository must be empty before attempting to delete it.", - "title": "EmptyOnDelete", - "type": "boolean" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration", - "markdownDescription": "The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest.", - "title": "EncryptionConfiguration" - }, - "ImageScanningConfiguration": { - "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration", - "markdownDescription": "> The `imageScanningConfiguration` parameter is being deprecated, in favor of specifying the image scanning configuration at the registry level. For more information, see `PutRegistryScanningConfiguration` . \n\nThe image scanning configuration for the repository. This determines whether images are scanned for known vulnerabilities after being pushed to the repository.", - "title": "ImageScanningConfiguration" - }, - "ImageTagMutability": { - "markdownDescription": "The tag mutability setting for the repository. If this parameter is omitted, the default setting of `MUTABLE` will be used which will allow image tags to be overwritten. If `IMMUTABLE` is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.", - "title": "ImageTagMutability", - "type": "string" - }, - "ImageTagMutabilityExclusionFilters": { - "items": { - "$ref": "#/definitions/AWS::ECR::Repository.ImageTagMutabilityExclusionFilter" - }, - "markdownDescription": "A list of filters that specify which image tags are excluded from the repository's image tag mutability setting.", - "title": "ImageTagMutabilityExclusionFilters", - "type": "array" - }, - "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy", - "markdownDescription": "Creates or updates a lifecycle policy. For information about lifecycle policy syntax, see [Lifecycle policy template](https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html) .", - "title": "LifecyclePolicy" - }, - "RepositoryName": { - "markdownDescription": "The name to use for the repository. The repository name may be specified on its own (such as `nginx-web-app` ) or it can be prepended with a namespace to group the repository into a category (such as `project-a/nginx-web-app` ). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the repository name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\nThe repository name must start with a letter and can only contain lowercase letters, numbers, hyphens, underscores, and forward slashes.\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "RepositoryName", - "type": "string" - }, - "RepositoryPolicyText": { - "markdownDescription": "The JSON repository policy text to apply to the repository. For more information, see [Amazon ECR repository policies](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html) in the *Amazon Elastic Container Registry User Guide* .", - "title": "RepositoryPolicyText", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", - "type": "array" - } - }, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::ECR::Repository" + "AWS::ECS::ContainerInstance" ], "type": "string" }, @@ -137918,73 +146971,64 @@ ], "type": "object" }, - "AWS::ECR::Repository.EncryptionConfiguration": { + "AWS::ECS::ContainerInstance.Attribute": { "additionalProperties": false, "properties": { - "EncryptionType": { - "markdownDescription": "The encryption type to use.\n\nIf you use the `KMS` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS . When you use AWS to encrypt your data, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you already created.\n\nIf you use the `KMS_DSSE` encryption type, the contents of the repository will be encrypted with two layers of encryption using server-side encryption with the AWS Management Service key stored in AWS . Similar to the `KMS` encryption type, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you've already created.\n\nIf you use the `AES256` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm.\n\nFor more information, see [Amazon ECR encryption at rest](https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html) in the *Amazon Elastic Container Registry User Guide* .", - "title": "EncryptionType", + "Name": { "type": "string" }, - "KmsKey": { - "markdownDescription": "If you use the `KMS` encryption type, specify the AWS key to use for encryption. The alias, key ID, or full ARN of the AWS key can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed AWS key for Amazon ECR will be used.", - "title": "KmsKey", + "Value": { "type": "string" } }, "required": [ - "EncryptionType" + "Name" ], "type": "object" }, - "AWS::ECR::Repository.ImageScanningConfiguration": { - "additionalProperties": false, - "properties": { - "ScanOnPush": { - "markdownDescription": "The setting that determines whether images are scanned after being pushed to a repository. If set to `true` , images will be scanned after being pushed. If this parameter is not specified, it will default to `false` and images will not be scanned unless a scan is manually started.", - "title": "ScanOnPush", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ECR::Repository.ImageTagMutabilityExclusionFilter": { + "AWS::ECS::ContainerInstance.Resource": { "additionalProperties": false, "properties": { - "ImageTagMutabilityExclusionFilterType": { - "markdownDescription": "", - "title": "ImageTagMutabilityExclusionFilterType", + "DoubleValue": { + "type": "number" + }, + "IntegerValue": { + "type": "number" + }, + "LongValue": { + "type": "number" + }, + "Name": { "type": "string" }, - "ImageTagMutabilityExclusionFilterValue": { - "markdownDescription": "", - "title": "ImageTagMutabilityExclusionFilterValue", + "StringSetValue": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Type": { "type": "string" } }, - "required": [ - "ImageTagMutabilityExclusionFilterType", - "ImageTagMutabilityExclusionFilterValue" - ], "type": "object" }, - "AWS::ECR::Repository.LifecyclePolicy": { + "AWS::ECS::ContainerInstance.VersionInfo": { "additionalProperties": false, "properties": { - "LifecyclePolicyText": { - "markdownDescription": "The JSON repository policy text to apply to the repository.", - "title": "LifecyclePolicyText", + "AgentHash": { "type": "string" }, - "RegistryId": { - "markdownDescription": "The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.", - "title": "RegistryId", + "AgentVersion": { + "type": "string" + }, + "DockerVersion": { "type": "string" } }, "type": "object" }, - "AWS::ECR::RepositoryCreationTemplate": { + "AWS::ECS::Daemon": { "additionalProperties": false, "properties": { "Condition": { @@ -138019,75 +147063,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AppliedFor": { + "CapacityProviderArns": { "items": { "type": "string" }, - "markdownDescription": "A list of enumerable Strings representing the repository creation scenarios that this template will apply towards. The supported scenarios are PULL_THROUGH_CACHE, REPLICATION, and CREATE_ON_PUSH", - "title": "AppliedFor", "type": "array" }, - "CustomRoleArn": { - "markdownDescription": "The ARN of the role to be assumed by Amazon ECR. Amazon ECR will assume your supplied role when the customRoleArn is specified. When this field isn't specified, Amazon ECR will use the service-linked role for the repository creation template.", - "title": "CustomRoleArn", + "ClusterArn": { "type": "string" }, - "Description": { - "markdownDescription": "The description associated with the repository creation template.", - "title": "Description", + "DaemonName": { "type": "string" }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::ECR::RepositoryCreationTemplate.EncryptionConfiguration", - "markdownDescription": "The encryption configuration associated with the repository creation template.", - "title": "EncryptionConfiguration" - }, - "ImageTagMutability": { - "markdownDescription": "The tag mutability setting for the repository. If this parameter is omitted, the default setting of `MUTABLE` will be used which will allow image tags to be overwritten. If `IMMUTABLE` is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.", - "title": "ImageTagMutability", + "DaemonTaskDefinitionArn": { "type": "string" }, - "ImageTagMutabilityExclusionFilters": { - "items": { - "$ref": "#/definitions/AWS::ECR::RepositoryCreationTemplate.ImageTagMutabilityExclusionFilter" - }, - "markdownDescription": "A list of filters that specify which image tags are excluded from the repository creation template's image tag mutability setting.", - "title": "ImageTagMutabilityExclusionFilters", - "type": "array" + "DeploymentConfiguration": { + "$ref": "#/definitions/AWS::ECS::Daemon.DaemonDeploymentConfiguration" }, - "LifecyclePolicy": { - "markdownDescription": "The lifecycle policy to use for repositories created using the template.", - "title": "LifecyclePolicy", - "type": "string" + "EnableECSManagedTags": { + "type": "boolean" }, - "Prefix": { - "markdownDescription": "The repository namespace prefix associated with the repository creation template.", - "title": "Prefix", - "type": "string" + "EnableExecuteCommand": { + "type": "boolean" }, - "RepositoryPolicy": { - "markdownDescription": "The repository policy to apply to repositories created using the template. A repository policy is a permissions policy associated with a repository to control access permissions.", - "title": "RepositoryPolicy", + "PropagateTags": { "type": "string" }, - "ResourceTags": { + "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The metadata to apply to the repository to help you categorize and organize. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.", - "title": "ResourceTags", "type": "array" } }, - "required": [ - "AppliedFor", - "Prefix" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ECR::RepositoryCreationTemplate" + "AWS::ECS::Daemon" ], "type": "string" }, @@ -138101,51 +147115,41 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ECR::RepositoryCreationTemplate.EncryptionConfiguration": { + "AWS::ECS::Daemon.DaemonAlarmConfiguration": { "additionalProperties": false, "properties": { - "EncryptionType": { - "markdownDescription": "The encryption type to use.\n\nIf you use the `KMS` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS . When you use AWS to encrypt your data, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you already created.\n\nIf you use the `KMS_DSSE` encryption type, the contents of the repository will be encrypted with two layers of encryption using server-side encryption with the AWS Management Service key stored in AWS . Similar to the `KMS` encryption type, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you've already created.\n\nIf you use the `AES256` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm.\n\nFor more information, see [Amazon ECR encryption at rest](https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html) in the *Amazon Elastic Container Registry User Guide* .", - "title": "EncryptionType", - "type": "string" + "AlarmNames": { + "items": { + "type": "string" + }, + "type": "array" }, - "KmsKey": { - "markdownDescription": "If you use the `KMS` encryption type, specify the AWS key to use for encryption. The alias, key ID, or full ARN of the AWS key can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed AWS key for Amazon ECR will be used.", - "title": "KmsKey", - "type": "string" + "Enable": { + "type": "boolean" } }, - "required": [ - "EncryptionType" - ], "type": "object" }, - "AWS::ECR::RepositoryCreationTemplate.ImageTagMutabilityExclusionFilter": { + "AWS::ECS::Daemon.DaemonDeploymentConfiguration": { "additionalProperties": false, "properties": { - "ImageTagMutabilityExclusionFilterType": { - "markdownDescription": "", - "title": "ImageTagMutabilityExclusionFilterType", - "type": "string" + "Alarms": { + "$ref": "#/definitions/AWS::ECS::Daemon.DaemonAlarmConfiguration" }, - "ImageTagMutabilityExclusionFilterValue": { - "markdownDescription": "", - "title": "ImageTagMutabilityExclusionFilterValue", - "type": "string" + "BakeTimeInMinutes": { + "type": "number" + }, + "DrainPercent": { + "type": "number" } }, - "required": [ - "ImageTagMutabilityExclusionFilterType", - "ImageTagMutabilityExclusionFilterValue" - ], "type": "object" }, - "AWS::ECR::SigningConfiguration": { + "AWS::ECS::DaemonDeployment": { "additionalProperties": false, "properties": { "Condition": { @@ -138179,24 +147183,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::ECR::SigningConfiguration.Rule" - }, - "markdownDescription": "A list of signing rules. Each rule defines a signing profile and optional repository filters that determine which images are automatically signed.", - "title": "Rules", - "type": "array" - } - }, - "required": [ - "Rules" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::ECR::SigningConfiguration" + "AWS::ECS::DaemonDeployment" ], "type": "string" }, @@ -138210,54 +147202,113 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ECR::SigningConfiguration.RepositoryFilter": { + "AWS::ECS::DaemonDeployment.DaemonAlarmConfiguration": { "additionalProperties": false, "properties": { - "Filter": { - "markdownDescription": "The filter value used to match repository names. When using `WILDCARD_MATCH` , the `*` character matches any sequence of characters.\n\nExamples:\n\n- `myapp/*` - Matches all repositories starting with `myapp/`\n- `*/production` - Matches all repositories ending with `/production`\n- `*prod*` - Matches all repositories containing `prod`", - "title": "Filter", - "type": "string" + "AlarmNames": { + "items": { + "type": "string" + }, + "type": "array" }, - "FilterType": { - "markdownDescription": "The type of filter to apply. Currently, only `WILDCARD_MATCH` is supported, which uses wildcard patterns to match repository names.", - "title": "FilterType", + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonDeployment.DaemonCircuitBreaker": { + "additionalProperties": false, + "properties": { + "FailureCount": { + "type": "number" + }, + "Status": { "type": "string" + }, + "Threshold": { + "type": "number" } }, - "required": [ - "Filter", - "FilterType" - ], "type": "object" }, - "AWS::ECR::SigningConfiguration.Rule": { + "AWS::ECS::DaemonDeployment.DaemonDeploymentAlarms": { "additionalProperties": false, "properties": { - "RepositoryFilters": { + "AlarmNames": { "items": { - "$ref": "#/definitions/AWS::ECR::SigningConfiguration.RepositoryFilter" + "type": "string" }, - "markdownDescription": "A list of repository filters that determine which repositories have their images signed on push. If no filters are specified, all images pushed to the registry are signed using the rule's signing profile. Maximum of 100 filters per rule.", - "title": "RepositoryFilters", "type": "array" }, - "SigningProfileArn": { - "markdownDescription": "The ARN of the AWS Signer signing profile to use for signing images that match this rule. For more information about signing profiles, see [Signing profiles](https://docs.aws.amazon.com/signer/latest/developerguide/signing-profiles.html) in the *AWS Signer Developer Guide* .", - "title": "SigningProfileArn", + "Status": { "type": "string" + }, + "TriggeredAlarmNames": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "SigningProfileArn" - ], "type": "object" }, - "AWS::ECRPublic::Registry": { + "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::DaemonDeployment.DaemonAlarmConfiguration" + }, + "BakeTimeInMinutes": { + "type": "number" + }, + "DrainPercent": { + "type": "number" + } + }, + "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::DaemonRevision": { "additionalProperties": false, "properties": { "Condition": { @@ -138291,12 +147342,22 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "EnableECSManagedTags": { + "type": "boolean" + }, + "EnableExecuteCommand": { + "type": "boolean" + }, + "PropagateTags": { + "type": "string" + } + }, "type": "object" }, "Type": { "enum": [ - "AWS::ECRPublic::Registry" + "AWS::ECS::DaemonRevision" ], "type": "string" }, @@ -138314,31 +147375,22 @@ ], "type": "object" }, - "AWS::ECRPublic::Registry.RegistryAlias": { + "AWS::ECS::DaemonRevision.ContainerImage": { "additionalProperties": false, "properties": { - "DefaultRegistryAlias": { - "type": "boolean" - }, - "Name": { + "ContainerName": { "type": "string" }, - "PrimaryRegistryAlias": { - "type": "boolean" + "Image": { + "type": "string" }, - "Status": { + "ImageDigest": { "type": "string" } }, - "required": [ - "DefaultRegistryAlias", - "Name", - "PrimaryRegistryAlias", - "Status" - ], "type": "object" }, - "AWS::ECS::CapacityProvider": { + "AWS::ECS::DaemonTaskDefinition": { "additionalProperties": false, "properties": { "Condition": { @@ -138373,32 +147425,43 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoScalingGroupProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider", - "markdownDescription": "The Auto Scaling group settings for the capacity provider.", - "title": "AutoScalingGroupProvider" + "ContainerDefinitions": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.DaemonContainerDefinition" + }, + "type": "array" }, - "ClusterName": { - "markdownDescription": "The cluster that this capacity provider is associated with. Managed instances capacity providers are cluster-scoped, meaning they can only be used within their associated cluster.\n\nThis is required for Managed instances.", - "title": "ClusterName", + "Cpu": { "type": "string" }, - "ManagedInstancesProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesProvider", - "markdownDescription": "The configuration for the Amazon ECS Managed Instances provider. This includes the infrastructure role, the launch template configuration, and tag propagation settings.", - "title": "ManagedInstancesProvider" + "ExecutionRoleArn": { + "type": "string" }, - "Name": { - "markdownDescription": "The name of the capacity provider. If a name is specified, it cannot start with `aws` , `ecs` , or `fargate` . If no name is specified, a default name in the `CFNStackName-CFNResourceName-RandomString` format is used.", - "title": "Name", + "Family": { + "type": "string" + }, + "IpcMode": { + "type": "string" + }, + "Memory": { + "type": "string" + }, + "PidMode": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The metadata that you apply to the capacity provider to help you categorize and organize it. Each tag consists of a key and an optional value. You define both.\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" + }, + "TaskRoleArn": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Volume" + }, "type": "array" } }, @@ -138406,7 +147469,7 @@ }, "Type": { "enum": [ - "AWS::ECS::CapacityProvider" + "AWS::ECS::DaemonTaskDefinition" ], "type": "string" }, @@ -138424,537 +147487,428 @@ ], "type": "object" }, - "AWS::ECS::CapacityProvider.AcceleratorCountRequest": { + "AWS::ECS::DaemonTaskDefinition.ContainerDependency": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of accelerators. Instance types with more accelerators are excluded from selection.", - "title": "Max", - "type": "number" + "Condition": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum number of accelerators. Instance types with fewer accelerators are excluded from selection.", - "title": "Min", - "type": "number" + "ContainerName": { + "type": "string" } }, "type": "object" }, - "AWS::ECS::CapacityProvider.AcceleratorTotalMemoryMiBRequest": { + "AWS::ECS::DaemonTaskDefinition.DaemonContainerDefinition": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum total accelerator memory in MiB. Instance types with more accelerator memory are excluded from selection.", - "title": "Max", - "type": "number" + "Command": { + "items": { + "type": "string" + }, + "type": "array" }, - "Min": { - "markdownDescription": "The minimum total accelerator memory in MiB. Instance types with less accelerator memory are excluded from selection.", - "title": "Min", + "Cpu": { "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider.AutoRepairConfiguration": { - "additionalProperties": false, - "properties": { - "ActionsStatus": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) that identifies the Auto Scaling group, or the Auto Scaling group name.", - "title": "AutoScalingGroupArn", - "type": "string" }, - "ManagedDraining": { - "markdownDescription": "The managed draining option for the Auto Scaling group capacity provider. When you enable this, Amazon ECS manages and gracefully drains the EC2 container instances that are in the Auto Scaling group capacity provider.", - "title": "ManagedDraining", - "type": "string" + "DependsOn": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.ContainerDependency" + }, + "type": "array" }, - "ManagedScaling": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling", - "markdownDescription": "The managed scaling settings for the Auto Scaling group capacity provider.", - "title": "ManagedScaling" + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" }, - "ManagedTerminationProtection": { - "markdownDescription": "The managed termination protection setting to use for the Auto Scaling group capacity provider. This determines whether the Auto Scaling group has managed termination protection. The default is off.\n\n> When using managed termination protection, managed scaling must also be used otherwise managed termination protection doesn't work. \n\nWhen managed termination protection is on, Amazon ECS prevents the Amazon EC2 instances in an Auto Scaling group that contain tasks from being terminated during a scale-in action. The Auto Scaling group and each instance in the Auto Scaling group must have instance protection from scale-in actions on as well. For more information, see [Instance Protection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) in the *AWS Auto Scaling User Guide* .\n\nWhen managed termination protection is off, your Amazon EC2 instances aren't protected from termination when the Auto Scaling group scales in.", - "title": "ManagedTerminationProtection", + "Environment": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "EnvironmentFiles": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.EnvironmentFile" + }, + "type": "array" + }, + "Essential": { + "type": "boolean" + }, + "FirelensConfiguration": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.FirelensConfiguration" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.HealthCheck" + }, + "Image": { "type": "string" - } - }, - "required": [ - "AutoScalingGroupArn" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.BaselineEbsBandwidthMbpsRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum baseline Amazon EBS bandwidth in Mbps. Instance types with higher Amazon EBS bandwidth are excluded from selection.", - "title": "Max", - "type": "number" }, - "Min": { - "markdownDescription": "The minimum baseline Amazon EBS bandwidth in Mbps. Instance types with lower Amazon EBS bandwidth are excluded from selection.", - "title": "Min", + "Interactive": { + "type": "boolean" + }, + "LinuxParameters": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.LogConfiguration" + }, + "Memory": { "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider.CapacityReservationRequest": { - "additionalProperties": false, - "properties": { - "ReservationGroupArn": { - "type": "string" }, - "ReservationPreference": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider.InfrastructureOptimization": { - "additionalProperties": false, - "properties": { - "ScaleInAfter": { - "markdownDescription": "This parameter defines the number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle or underutilized instances instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle or underutilized instances,instances more quickly.\n\nValid values are:\n\n- `null` - Uses the default optimization behavior.\n- `-1` - Disables automatic infrastructure optimization.\n- A value between `0` and `3600` (inclusive) - Specifies the number of seconds to wait before optimizing instances.", - "title": "ScaleInAfter", + "MemoryReservation": { "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider.InstanceLaunchTemplate": { - "additionalProperties": false, - "properties": { - "CapacityOptionType": { - "markdownDescription": "The capacity option type. This determines whether Amazon ECS launches On-Demand or Spot Instances for your managed instance capacity provider.\n\nValid values are:\n\n- `ON_DEMAND` - Launches standard On-Demand Instances. On-Demand Instances provide predictable pricing and availability.\n- `SPOT` - Launches Spot Instances that use spare Amazon EC2 capacity at reduced cost. Spot Instances can be interrupted by Amazon EC2 with a two-minute notification when the capacity is needed back.\n\nThe default is On-Demand\n\nFor more information about Amazon EC2 capacity options, see [Instance purchasing options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) in the *Amazon EC2 User Guide* .", - "title": "CapacityOptionType", - "type": "string" }, - "CapacityReservations": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.CapacityReservationRequest" + "MountPoints": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.MountPoint" + }, + "type": "array" }, - "Ec2InstanceProfileArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources.\n\nFor more information, see [Amazon ECS instance profile for Managed Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/managed-instances-instance-profile.html) in the *Amazon ECS Developer Guide* .", - "title": "Ec2InstanceProfileArn", + "Name": { "type": "string" }, - "FipsEnabled": { + "Privileged": { "type": "boolean" }, - "InstanceMetadataTagsPropagation": { + "PseudoTerminal": { "type": "boolean" }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.InstanceRequirementsRequest", - "markdownDescription": "The instance requirements. You can specify:\n\n- The instance types\n- Instance requirements such as vCPU count, memory, network performance, and accelerator specifications\n\nAmazon ECS automatically selects the instances that match the specified criteria.", - "title": "InstanceRequirements" - }, - "LocalStorageConfiguration": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesLocalStorageConfiguration" - }, - "Monitoring": { - "markdownDescription": "CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see [Detailed monitoring for Amazon ECS Managed Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/detailed-monitoring-managed-instances.html) in the Amazon ECS Developer Guide.", - "title": "Monitoring", - "type": "string" + "ReadonlyRootFilesystem": { + "type": "boolean" }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesNetworkConfiguration", - "markdownDescription": "The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity.", - "title": "NetworkConfiguration" + "RepositoryCredentials": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.RepositoryCredentials" }, - "StorageConfiguration": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesStorageConfiguration", - "markdownDescription": "The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances.", - "title": "StorageConfiguration" - } - }, - "required": [ - "Ec2InstanceProfileArn", - "NetworkConfiguration" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.InstanceRequirementsRequest": { - "additionalProperties": false, - "properties": { - "AcceleratorCount": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AcceleratorCountRequest", - "markdownDescription": "The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.", - "title": "AcceleratorCount" + "RestartPolicy": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.RestartPolicy" }, - "AcceleratorManufacturers": { + "Secrets": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Secret" }, - "markdownDescription": "The accelerator manufacturers to include. You can specify `nvidia` , `amd` , `amazon-web-services` , or `xilinx` depending on your accelerator requirements.", - "title": "AcceleratorManufacturers", "type": "array" }, - "AcceleratorNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The specific accelerator names to include. For example, you can specify `a100` , `v100` , `k80` , or other specific accelerator models.", - "title": "AcceleratorNames", - "type": "array" + "StartTimeout": { + "type": "number" }, - "AcceleratorTotalMemoryMiB": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AcceleratorTotalMemoryMiBRequest", - "markdownDescription": "The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.", - "title": "AcceleratorTotalMemoryMiB" + "StopTimeout": { + "type": "number" }, - "AcceleratorTypes": { + "SystemControls": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.SystemControl" }, - "markdownDescription": "The accelerator types to include. You can specify `gpu` for graphics processing units, `fpga` for field programmable gate arrays, or `inference` for machine learning inference accelerators.", - "title": "AcceleratorTypes", "type": "array" }, - "AllowedInstanceTypes": { + "Ulimits": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Ulimit" }, - "markdownDescription": "The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified.", - "title": "AllowedInstanceTypes", "type": "array" }, - "BareMetal": { - "markdownDescription": "Indicates whether to include bare metal instance types. Set to `included` to allow bare metal instances, `excluded` to exclude them, or `required` to use only bare metal instances.", - "title": "BareMetal", + "User": { "type": "string" }, - "BaselineEbsBandwidthMbps": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.BaselineEbsBandwidthMbpsRequest", - "markdownDescription": "The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.", - "title": "BaselineEbsBandwidthMbps" - }, - "BurstablePerformance": { - "markdownDescription": "Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to `included` to allow burstable instances, `excluded` to exclude them, or `required` to use only burstable instances.", - "title": "BurstablePerformance", + "WorkingDirectory": { + "type": "string" + } + }, + "required": [ + "Image", + "Name" + ], + "type": "object" + }, + "AWS::ECS::DaemonTaskDefinition.Device": { + "additionalProperties": false, + "properties": { + "ContainerPath": { "type": "string" }, - "CpuManufacturers": { - "items": { - "type": "string" - }, - "markdownDescription": "The CPU manufacturers to include or exclude. You can specify `intel` , `amd` , or `amazon-web-services` to control which CPU types are used for your workloads.", - "title": "CpuManufacturers", - "type": "array" + "HostPath": { + "type": "string" }, - "ExcludedInstanceTypes": { + "Permissions": { "items": { "type": "string" }, - "markdownDescription": "The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads.", - "title": "ExcludedInstanceTypes", "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonTaskDefinition.EnvironmentFile": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" }, - "InstanceGenerations": { - "items": { - "type": "string" + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonTaskDefinition.FirelensConfiguration": { + "additionalProperties": false, + "properties": { + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "The instance generations to include. You can specify `current` to use the latest generation instances, or `previous` to include previous generation instances for cost optimization.", - "title": "InstanceGenerations", - "type": "array" + "type": "object" }, - "LocalStorage": { - "markdownDescription": "Indicates whether to include instance types with local storage. Set to `included` to allow local storage, `excluded` to exclude it, or `required` to use only instances with local storage.", - "title": "LocalStorage", + "Type": { "type": "string" - }, - "LocalStorageTypes": { + } + }, + "type": "object" + }, + "AWS::ECS::DaemonTaskDefinition.HealthCheck": { + "additionalProperties": false, + "properties": { + "Command": { "items": { "type": "string" }, - "markdownDescription": "The local storage types to include. You can specify `hdd` for hard disk drives, `ssd` for solid state drives, or both.", - "title": "LocalStorageTypes", "type": "array" }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { - "markdownDescription": "The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.", - "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", + "Interval": { "type": "number" }, - "MemoryGiBPerVCpu": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.MemoryGiBPerVCpuRequest", - "markdownDescription": "The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.", - "title": "MemoryGiBPerVCpu" - }, - "MemoryMiB": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.MemoryMiBRequest", - "markdownDescription": "The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.", - "title": "MemoryMiB" - }, - "NetworkBandwidthGbps": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.NetworkBandwidthGbpsRequest", - "markdownDescription": "The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.", - "title": "NetworkBandwidthGbps" - }, - "NetworkInterfaceCount": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.NetworkInterfaceCountRequest", - "markdownDescription": "The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.", - "title": "NetworkInterfaceCount" - }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "markdownDescription": "The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon ECS selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.", - "title": "OnDemandMaxPricePercentageOverLowestPrice", + "Retries": { "type": "number" }, - "RequireHibernateSupport": { - "markdownDescription": "Indicates whether the instance types must support hibernation. When set to `true` , only instance types that support hibernation are selected.", - "title": "RequireHibernateSupport", - "type": "boolean" - }, - "SpotMaxPricePercentageOverLowestPrice": { - "markdownDescription": "The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.", - "title": "SpotMaxPricePercentageOverLowestPrice", + "StartPeriod": { "type": "number" }, - "TotalLocalStorageGB": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.TotalLocalStorageGBRequest", - "markdownDescription": "The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.", - "title": "TotalLocalStorageGB" - }, - "VCpuCount": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.VCpuCountRangeRequest", - "markdownDescription": "The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.", - "title": "VCpuCount" + "Timeout": { + "type": "number" } }, - "required": [ - "MemoryMiB", - "VCpuCount" - ], "type": "object" }, - "AWS::ECS::CapacityProvider.ManagedInstancesLocalStorageConfiguration": { + "AWS::ECS::DaemonTaskDefinition.HostVolumeProperties": { "additionalProperties": false, "properties": { - "UseLocalStorage": { - "type": "boolean" + "SourcePath": { + "type": "string" } }, "type": "object" }, - "AWS::ECS::CapacityProvider.ManagedInstancesNetworkConfiguration": { + "AWS::ECS::DaemonTaskDefinition.KernelCapabilities": { "additionalProperties": false, "properties": { - "SecurityGroups": { + "Add": { "items": { "type": "string" }, - "markdownDescription": "The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.", - "title": "SecurityGroups", "type": "array" }, - "Subnets": { + "Drop": { "items": { "type": "string" }, - "markdownDescription": "The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.", - "title": "Subnets", "type": "array" } }, - "required": [ - "SecurityGroups", - "Subnets" - ], "type": "object" }, - "AWS::ECS::CapacityProvider.ManagedInstancesProvider": { + "AWS::ECS::DaemonTaskDefinition.KeyValuePair": { "additionalProperties": false, "properties": { - "AutoRepairConfiguration": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoRepairConfiguration" - }, - "InfrastructureOptimization": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.InfrastructureOptimization", - "markdownDescription": "Defines how Amazon ECS Managed Instances optimizes the infrastastructure in your capacity provider. Configure it to turn on or off the infrastructure optimization in your capacity provider, and to control the idle or underutilized EC2 instances optimization delay.", - "title": "InfrastructureOptimization" + "Name": { + "type": "string" }, - "InfrastructureRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS assumes to manage instances. This role must include permissions for Amazon EC2 instance lifecycle management, networking, and any additional AWS services required for your workloads.\n\nFor 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": "InfrastructureRoleArn", + "Value": { "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonTaskDefinition.LinuxParameters": { + "additionalProperties": false, + "properties": { + "Capabilities": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.KernelCapabilities" }, - "InstanceLaunchTemplate": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.InstanceLaunchTemplate", - "markdownDescription": "The launch template that defines how Amazon ECS launches Amazon ECS Managed Instances. This includes the instance profile for your tasks, network and storage configuration, and instance requirements that determine which Amazon EC2 instance types can be used.\n\nFor more information, see [Store instance launch parameters in Amazon EC2 launch templates](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the *Amazon EC2 User Guide* .", - "title": "InstanceLaunchTemplate" + "Devices": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Device" + }, + "type": "array" }, - "PropagateTags": { - "markdownDescription": "Determines whether tags from the capacity provider are automatically applied to Amazon ECS Managed Instances. This helps with cost allocation and resource management by ensuring consistent tagging across your infrastructure.", - "title": "PropagateTags", - "type": "string" + "InitProcessEnabled": { + "type": "boolean" + }, + "Tmpfs": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Tmpfs" + }, + "type": "array" } }, - "required": [ - "InfrastructureRoleArn", - "InstanceLaunchTemplate" - ], "type": "object" }, - "AWS::ECS::CapacityProvider.ManagedInstancesStorageConfiguration": { + "AWS::ECS::DaemonTaskDefinition.LogConfiguration": { "additionalProperties": false, "properties": { - "StorageSizeGiB": { - "markdownDescription": "The size of the tasks volume.", - "title": "StorageSizeGiB", - "type": "number" + "LogDriver": { + "type": "string" + }, + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Secret" + }, + "type": "array" } }, "required": [ - "StorageSizeGiB" + "LogDriver" ], "type": "object" }, - "AWS::ECS::CapacityProvider.ManagedScaling": { + "AWS::ECS::DaemonTaskDefinition.MountPoint": { "additionalProperties": false, "properties": { - "InstanceWarmupPeriod": { - "markdownDescription": "The period of time, in seconds, after a newly launched Amazon EC2 instance can contribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value of `300` seconds is used.", - "title": "InstanceWarmupPeriod", - "type": "number" - }, - "MaximumScalingStepSize": { - "markdownDescription": "The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this parameter is omitted, the default value of `10000` is used.", - "title": "MaximumScalingStepSize", - "type": "number" + "ContainerPath": { + "type": "string" }, - "MinimumScalingStepSize": { - "markdownDescription": "The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale in process is not affected by this parameter If this parameter is omitted, the default value of `1` is used.\n\nWhen additional capacity is required, Amazon ECS will scale up the minimum scaling step size even if the actual demand is less than the minimum scaling step size.", - "title": "MinimumScalingStepSize", - "type": "number" + "ReadOnly": { + "type": "boolean" }, - "Status": { - "markdownDescription": "Determines whether to use managed scaling for the capacity provider.", - "title": "Status", + "SourceVolume": { "type": "string" - }, - "TargetCapacity": { - "markdownDescription": "The target capacity utilization as a percentage for the capacity provider. The specified value must be greater than `0` and less than or equal to `100` . For example, if you want the capacity provider to maintain 10% spare capacity, then that means the utilization is 90%, so use a `targetCapacity` of `90` . The default value of `100` percent results in the Amazon EC2 instances in your Auto Scaling group being completely used.", - "title": "TargetCapacity", - "type": "number" } }, "type": "object" }, - "AWS::ECS::CapacityProvider.MemoryGiBPerVCpuRequest": { + "AWS::ECS::DaemonTaskDefinition.RepositoryCredentials": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory per vCPU in GiB. Instance types with a higher memory-to-vCPU ratio are excluded from selection.", - "title": "Max", - "type": "number" + "CredentialsParameter": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonTaskDefinition.RestartPolicy": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" }, - "Min": { - "markdownDescription": "The minimum amount of memory per vCPU in GiB. Instance types with a lower memory-to-vCPU ratio are excluded from selection.", - "title": "Min", + "IgnoredExitCodes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "RestartAttemptPeriod": { "type": "number" } }, "type": "object" }, - "AWS::ECS::CapacityProvider.MemoryMiBRequest": { + "AWS::ECS::DaemonTaskDefinition.Secret": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory in MiB. Instance types with more memory than this value are excluded from selection.", - "title": "Max", - "type": "number" + "Name": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of memory in MiB. Instance types with less memory than this value are excluded from selection.", - "title": "Min", - "type": "number" + "ValueFrom": { + "type": "string" } }, "required": [ - "Min" + "Name", + "ValueFrom" ], "type": "object" }, - "AWS::ECS::CapacityProvider.NetworkBandwidthGbpsRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum network bandwidth in Gbps. Instance types with higher network bandwidth are excluded from selection.", - "title": "Max", - "type": "number" + "AWS::ECS::DaemonTaskDefinition.SystemControl": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum network bandwidth in Gbps. Instance types with lower network bandwidth are excluded from selection.", - "title": "Min", - "type": "number" + "Value": { + "type": "string" } }, "type": "object" }, - "AWS::ECS::CapacityProvider.NetworkInterfaceCountRequest": { + "AWS::ECS::DaemonTaskDefinition.Tmpfs": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of network interfaces. Instance types that support more network interfaces are excluded from selection.", - "title": "Max", - "type": "number" + "ContainerPath": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum number of network interfaces. Instance types that support fewer network interfaces are excluded from selection.", - "title": "Min", + "MountOptions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Size": { "type": "number" } }, + "required": [ + "Size" + ], "type": "object" }, - "AWS::ECS::CapacityProvider.TotalLocalStorageGBRequest": { + "AWS::ECS::DaemonTaskDefinition.Ulimit": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum total local storage in GB. Instance types with more local storage are excluded from selection.", - "title": "Max", + "HardLimit": { "type": "number" }, - "Min": { - "markdownDescription": "The minimum total local storage in GB. Instance types with less local storage are excluded from selection.", - "title": "Min", + "Name": { + "type": "string" + }, + "SoftLimit": { "type": "number" } }, + "required": [ + "HardLimit", + "Name", + "SoftLimit" + ], "type": "object" }, - "AWS::ECS::CapacityProvider.VCpuCountRangeRequest": { + "AWS::ECS::DaemonTaskDefinition.Volume": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of vCPUs. Instance types with more vCPUs than this value are excluded from selection.", - "title": "Max", - "type": "number" + "Host": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.HostVolumeProperties" }, - "Min": { - "markdownDescription": "The minimum number of vCPUs. Instance types with fewer vCPUs than this value are excluded from selection.", - "title": "Min", - "type": "number" + "Name": { + "type": "string" } }, - "required": [ - "Min" - ], "type": "object" }, - "AWS::ECS::Cluster": { + "AWS::ECS::ExpressGatewayService": { "additionalProperties": false, "properties": { "Condition": { @@ -138989,59 +147943,81 @@ "Properties": { "additionalProperties": false, "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "markdownDescription": "The short name of one or more capacity providers to associate with the cluster. A capacity provider must be associated with a cluster before it can be included as part of the default capacity provider strategy of the cluster or used in a capacity provider strategy when calling the [CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html) or [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) actions.\n\nIf specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created but not associated with another cluster. New Auto Scaling group capacity providers can be created with the [CreateCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCapacityProvider.html) API operation.\n\nTo use a AWS Fargate capacity provider, specify either the `FARGATE` or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.\n\nThe [PutCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutCapacityProvider.html) API operation is used to update the list of available capacity providers for a cluster after the cluster is created.", - "title": "CapacityProviders", - "type": "array" + "Cluster": { + "markdownDescription": "The short name or full ARN of the cluster that hosts the Express service.", + "title": "Cluster", + "type": "string" }, - "ClusterName": { - "markdownDescription": "A user-generated string that you use to identify your cluster. If you don't specify a name, AWS CloudFormation generates a unique physical ID for the name.", - "title": "ClusterName", + "Cpu": { + "markdownDescription": "The CPU allocation for tasks in this service revision.", + "title": "Cpu", "type": "string" }, - "ClusterSettings": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" - }, - "markdownDescription": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.\n\nContainer Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up.\n\nFor more information, see [Monitor Amazon ECS containers using Container Insights with enhanced observability](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "ClusterSettings", - "type": "array" + "ExecutionRoleArn": { + "markdownDescription": "The ARN of the task execution role for the service revision.", + "title": "ExecutionRoleArn", + "type": "string" }, - "Configuration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration", - "markdownDescription": "The execute command and managed storage configuration for the cluster.", - "title": "Configuration" + "HealthCheckPath": { + "markdownDescription": "The health check path for this service revision.", + "title": "HealthCheckPath", + "type": "string" }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" - }, - "markdownDescription": "The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no launch type or capacity provider strategy specified, the default capacity provider strategy is used.", - "title": "DefaultCapacityProviderStrategy", - "type": "array" + "InfrastructureRoleArn": { + "markdownDescription": "The ARN of the infrastructure role that manages AWS resources for the Express service.", + "title": "InfrastructureRoleArn", + "type": "string" }, - "ServiceConnectDefaults": { - "$ref": "#/definitions/AWS::ECS::Cluster.ServiceConnectDefaults", - "markdownDescription": "Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as client services in the namespace. This setting only applies to new services that set the `enabled` parameter to `true` in the `ServiceConnectConfiguration` . You can set the namespace of each service individually in the `ServiceConnectConfiguration` to override this default parameter.\n\nTasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "ServiceConnectDefaults" + "Memory": { + "markdownDescription": "The memory allocation for tasks in this service revision.", + "title": "Memory", + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayServiceNetworkConfiguration", + "markdownDescription": "The network configuration for tasks in this service revision.", + "title": "NetworkConfiguration" + }, + "PrimaryContainer": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayContainer", + "markdownDescription": "The primary container configuration for this service revision.", + "title": "PrimaryContainer" + }, + "ScalingTarget": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayScalingTarget", + "markdownDescription": "The auto-scaling configuration for this service revision.", + "title": "ScalingTarget" + }, + "ServiceName": { + "markdownDescription": "The name of the Express service.", + "title": "ServiceName", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key and an optional value. You define both.\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.", + "markdownDescription": "The metadata applied to the Express service.", "title": "Tags", "type": "array" + }, + "TaskDefinitionArn": { + "type": "string" + }, + "TaskRoleArn": { + "markdownDescription": "The ARN of the task role for the service revision.", + "title": "TaskRoleArn", + "type": "string" } }, + "required": [ + "InfrastructureRoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Cluster" + "AWS::ECS::ExpressGatewayService" ], "type": "string" }, @@ -139055,365 +148031,382 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::Cluster.CapacityProviderStrategyItem": { + "AWS::ECS::ExpressGatewayService.AutoScalingArns": { "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" + "ApplicationAutoScalingPolicies": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "ApplicationAutoScalingPolicies", + "type": "array" }, - "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", + "ScalableTarget": { + "markdownDescription": "", + "title": "ScalableTarget", "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::Cluster.ClusterConfiguration": { + "AWS::ECS::ExpressGatewayService.ECSManagedResourceArns": { "additionalProperties": false, "properties": { - "ExecuteCommandConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration", - "markdownDescription": "The details of the execute command configuration.", - "title": "ExecuteCommandConfiguration" + "AutoScaling": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.AutoScalingArns", + "markdownDescription": "", + "title": "AutoScaling" }, - "ManagedStorageConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ManagedStorageConfiguration", - "markdownDescription": "The details of the managed storage configuration.", - "title": "ManagedStorageConfiguration" + "IngressPath": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.IngressPathArns", + "markdownDescription": "", + "title": "IngressPath" + }, + "LogGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "LogGroups", + "type": "array" + }, + "MetricAlarms": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "MetricAlarms", + "type": "array" + }, + "ServiceSecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "ServiceSecurityGroups", + "type": "array" } }, "type": "object" }, - "AWS::ECS::Cluster.ClusterSettings": { + "AWS::ECS::ExpressGatewayService.ExpressGatewayContainer": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the cluster setting. The value is `containerInsights` .", - "title": "Name", - "type": "string" + "AwsLogsConfiguration": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayServiceAwsLogsConfiguration", + "markdownDescription": "The log configuration for the container.", + "title": "AwsLogsConfiguration" }, - "Value": { - "markdownDescription": "The value to set for the cluster setting. The supported values are `enhanced` , `enabled` , and `disabled` .\n\nTo use Container Insights with enhanced observability, set the `containerInsights` account setting to `enhanced` .\n\nTo use Container Insights, set the `containerInsights` account setting to `enabled` .\n\nIf a cluster value is specified, it will override the `containerInsights` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html) .", - "title": "Value", + "Command": { + "items": { + "type": "string" + }, + "markdownDescription": "The command that is passed to the container.", + "title": "Command", + "type": "array" + }, + "ContainerPort": { + "markdownDescription": "The port number on the container that receives traffic from the load balancer. Default is 80.", + "title": "ContainerPort", + "type": "number" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.KeyValuePair" + }, + "markdownDescription": "The environment variables to pass to the container.", + "title": "Environment", + "type": "array" + }, + "Image": { + "markdownDescription": "The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with either `repository-url/image:tag` or `repository-url/image@digest` .\n\nFor Express services, the image typically contains a web application that listens on the specified container port. The image can be stored in Amazon ECR, Docker Hub, or any other container registry accessible to your execution role.", + "title": "Image", "type": "string" + }, + "RepositoryCredentials": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayRepositoryCredentials", + "markdownDescription": "The configuration for repository credentials for private registry authentication.", + "title": "RepositoryCredentials" + }, + "Secrets": { + "items": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.Secret" + }, + "markdownDescription": "The secrets to pass to the container.", + "title": "Secrets", + "type": "array" } }, + "required": [ + "Image" + ], "type": "object" }, - "AWS::ECS::Cluster.ExecuteCommandConfiguration": { + "AWS::ECS::ExpressGatewayService.ExpressGatewayRepositoryCredentials": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "Specify an AWS Key Management Service key ID to encrypt the data between the local client and the container.", - "title": "KmsKeyId", - "type": "string" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration", - "markdownDescription": "The log configuration for the results of the execute command actions. The logs can be sent to CloudWatch Logs or an Amazon S3 bucket. When `logging=OVERRIDE` is specified, a `logConfiguration` must be provided.", - "title": "LogConfiguration" - }, - "Logging": { - "markdownDescription": "The log setting to use for redirecting logs for your execute command results. The following log settings are available.\n\n- `NONE` : The execute command session is not logged.\n- `DEFAULT` : The `awslogs` configuration in the task definition is used. If no logging parameter is specified, it defaults to this value. If no `awslogs` log driver is configured in the task definition, the output won't be logged.\n- `OVERRIDE` : Specify the logging details as a part of `logConfiguration` . If the `OVERRIDE` logging option is specified, the `logConfiguration` is required.", - "title": "Logging", + "CredentialsParameter": { + "markdownDescription": "The Amazon Resource Name (ARN) of the secret containing the private repository credentials.", + "title": "CredentialsParameter", "type": "string" } }, + "required": [ + "CredentialsParameter" + ], "type": "object" }, - "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "AWS::ECS::ExpressGatewayService.ExpressGatewayScalingTarget": { "additionalProperties": false, "properties": { - "CloudWatchEncryptionEnabled": { - "markdownDescription": "Determines whether to use encryption on the CloudWatch logs. If not specified, encryption will be off.", - "title": "CloudWatchEncryptionEnabled", - "type": "boolean" - }, - "CloudWatchLogGroupName": { - "markdownDescription": "The name of the CloudWatch log group to send logs to.\n\n> The CloudWatch log group must already be created.", - "title": "CloudWatchLogGroupName", + "AutoScalingMetric": { + "markdownDescription": "The metric used for auto-scaling decisions. The default metric used for an Express service is `CPUUtilization` .", + "title": "AutoScalingMetric", "type": "string" }, - "S3BucketName": { - "markdownDescription": "The name of the S3 bucket to send logs to.\n\n> The S3 bucket must already be created.", - "title": "S3BucketName", - "type": "string" + "AutoScalingTargetValue": { + "markdownDescription": "The target value for the auto-scaling metric. The default value for an Express service is 60.", + "title": "AutoScalingTargetValue", + "type": "number" }, - "S3EncryptionEnabled": { - "markdownDescription": "Determines whether to use encryption on the S3 logs. If not specified, encryption is not used.", - "title": "S3EncryptionEnabled", - "type": "boolean" + "MaxTaskCount": { + "markdownDescription": "The maximum number of tasks to run in the Express service.", + "title": "MaxTaskCount", + "type": "number" }, - "S3KeyPrefix": { - "markdownDescription": "An optional folder in the S3 bucket to place logs in.", - "title": "S3KeyPrefix", - "type": "string" + "MinTaskCount": { + "markdownDescription": "The minimum number of tasks to run in the Express service.", + "title": "MinTaskCount", + "type": "number" } }, "type": "object" }, - "AWS::ECS::Cluster.ManagedStorageConfiguration": { + "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceAwsLogsConfiguration": { "additionalProperties": false, "properties": { - "FargateEphemeralStorageKmsKeyId": { - "markdownDescription": "Specify the AWS Key Management Service key ID for Fargate ephemeral storage.\n\nWhen you specify a `fargateEphemeralStorageKmsKeyId` , AWS Fargate uses the key to encrypt data at rest in ephemeral storage. For more information about Fargate ephemeral storage encryption, see [Customer managed keys for AWS Fargate ephemeral storage for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-storage-encryption.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nThe key must be a single Region key.", - "title": "FargateEphemeralStorageKmsKeyId", + "LogGroup": { + "markdownDescription": "The name of the CloudWatch Logs log group to send container logs to.", + "title": "LogGroup", "type": "string" }, - "KmsKeyId": { - "markdownDescription": "Specify a AWS Key Management Service key ID to encrypt Amazon ECS managed storage.\n\nWhen you specify a `kmsKeyId` , Amazon ECS uses the key to encrypt data volumes managed by Amazon ECS that are attached to tasks in the cluster. The following data volumes are managed by Amazon ECS: Amazon EBS. For more information about encryption of Amazon EBS volumes attached to Amazon ECS tasks, see [Encrypt data stored in Amazon EBS volumes for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-kms-encryption.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nThe key must be a single Region key.", - "title": "KmsKeyId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ServiceConnectDefaults": { - "additionalProperties": false, - "properties": { - "Namespace": { - "markdownDescription": "The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace that's used when you create a service and don't specify a Service Connect configuration. The namespace name can include up to 1024 characters. The name is case-sensitive. The name can't include greater than (>), less than (<), double quotation marks (\"), or slash (/).\n\nIf you enter an existing namespace name or ARN, then that namespace will be used. Any namespace type is supported. The namespace must be in this account and this AWS Region.\n\nIf you enter a new name, a AWS Cloud Map namespace will be created. Amazon ECS creates a AWS Cloud Map namespace with the \"API calls\" method of instance discovery only. This instance discovery method is the \"HTTP\" namespace type in the AWS Command Line Interface . Other types of instance discovery aren't used by Service Connect.\n\nIf you update the cluster with an empty string `\"\"` for the namespace name, the cluster configuration for Service Connect is removed. Note that the namespace will remain in AWS Cloud Map and must be deleted separately.\n\nFor 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", + "LogStreamPrefix": { + "markdownDescription": "The prefix for the CloudWatch Logs log stream names. The default for an Express service is `ecs` .", + "title": "LogStreamPrefix", "type": "string" } }, + "required": [ + "LogGroup", + "LogStreamPrefix" + ], "type": "object" }, - "AWS::ECS::ClusterCapacityProviderAssociations": { + "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceConfiguration": { "additionalProperties": false, "properties": { - "Condition": { + "Cpu": { + "markdownDescription": "The CPU allocation for tasks in this service revision.", + "title": "Cpu", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CreatedAt": { + "markdownDescription": "The Unix timestamp for when this service revision was created.", + "title": "CreatedAt", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ExecutionRoleArn": { + "markdownDescription": "The ARN of the task execution role for the service revision.", + "title": "ExecutionRoleArn", + "type": "string" }, - "Metadata": { - "type": "object" + "HealthCheckPath": { + "markdownDescription": "The health check path for this service revision.", + "title": "HealthCheckPath", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "markdownDescription": "The capacity providers to associate with the cluster.", - "title": "CapacityProviders", - "type": "array" - }, - "Cluster": { - "markdownDescription": "The cluster the capacity provider association is the target of.", - "title": "Cluster", - "type": "string" - }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy" - }, - "markdownDescription": "The default capacity provider strategy to associate with the cluster.", - "title": "DefaultCapacityProviderStrategy", - "type": "array" - } + "IngressPaths": { + "items": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.IngressPathSummary" }, - "required": [ - "Cluster", - "DefaultCapacityProviderStrategy" - ], - "type": "object" + "markdownDescription": "The entry point into this service revision.", + "title": "IngressPaths", + "type": "array" }, - "Type": { - "enum": [ - "AWS::ECS::ClusterCapacityProviderAssociations" - ], + "Memory": { + "markdownDescription": "The memory allocation for tasks in this service revision.", + "title": "Memory", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayServiceNetworkConfiguration", + "markdownDescription": "The network configuration for tasks in this service revision.", + "title": "NetworkConfiguration" + }, + "PrimaryContainer": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayContainer", + "markdownDescription": "The primary container configuration for this service revision.", + "title": "PrimaryContainer" + }, + "ScalingTarget": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayScalingTarget", + "markdownDescription": "The auto-scaling configuration for this service revision.", + "title": "ScalingTarget" + }, + "ServiceRevisionArn": { + "markdownDescription": "The ARN of the service revision.", + "title": "ServiceRevisionArn", + "type": "string" + }, + "TaskDefinitionArn": { + "type": "string" + }, + "TaskRoleArn": { + "markdownDescription": "The ARN of the task role for the service revision.", + "title": "TaskRoleArn", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy": { + "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceNetworkConfiguration": { "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" + "SecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the security groups associated with the Express service.", + "title": "SecurityGroups", + "type": "array" }, - "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", + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the subnets associated with the Express service.", + "title": "Subnets", + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceStatus": { + "additionalProperties": false, + "properties": { + "StatusCode": { + "markdownDescription": "The status of the Express service.", + "title": "StatusCode", "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" } }, - "required": [ - "CapacityProvider" - ], "type": "object" }, - "AWS::ECS::ContainerInstance": { + "AWS::ECS::ExpressGatewayService.IngressPathArns": { "additionalProperties": false, "properties": { - "Condition": { + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ListenerArn": { + "markdownDescription": "", + "title": "ListenerArn", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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::ECS::ContainerInstance" - ], + "ListenerRuleArn": { + "markdownDescription": "", + "title": "ListenerRuleArn", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LoadBalancerArn": { + "markdownDescription": "", + "title": "LoadBalancerArn", "type": "string" + }, + "LoadBalancerSecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "LoadBalancerSecurityGroups", + "type": "array" + }, + "TargetGroupArns": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "TargetGroupArns", + "type": "array" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::ECS::ContainerInstance.Attribute": { + "AWS::ECS::ExpressGatewayService.IngressPathSummary": { "additionalProperties": false, "properties": { - "Name": { + "AccessType": { + "markdownDescription": "The type of access to the endpoint for the Express service.", + "title": "AccessType", "type": "string" }, - "Value": { + "Endpoint": { + "markdownDescription": "The endpoint for access to the service.", + "title": "Endpoint", "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, - "AWS::ECS::ContainerInstance.Resource": { + "AWS::ECS::ExpressGatewayService.KeyValuePair": { "additionalProperties": false, "properties": { - "DoubleValue": { - "type": "number" - }, - "IntegerValue": { - "type": "number" - }, - "LongValue": { - "type": "number" - }, "Name": { + "markdownDescription": "The name of the key-value pair. For environment variables, this is the name of the environment variable.", + "title": "Name", "type": "string" }, - "StringSetValue": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Type": { + "Value": { + "markdownDescription": "The value of the key-value pair. For environment variables, this is the value of the environment variable.", + "title": "Value", "type": "string" } }, + "required": [ + "Name", + "Value" + ], "type": "object" }, - "AWS::ECS::ContainerInstance.VersionInfo": { + "AWS::ECS::ExpressGatewayService.Secret": { "additionalProperties": false, "properties": { - "AgentHash": { - "type": "string" - }, - "AgentVersion": { + "Name": { + "markdownDescription": "The name of the secret.", + "title": "Name", "type": "string" }, - "DockerVersion": { + "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::Daemon": { + "AWS::ECS::PrimaryTaskSet": { "additionalProperties": false, "properties": { "Condition": { @@ -139448,45 +148441,32 @@ "Properties": { "additionalProperties": false, "properties": { - "CapacityProviderArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterArn": { - "type": "string" - }, - "DaemonName": { + "Cluster": { + "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set exists in.", + "title": "Cluster", "type": "string" }, - "DaemonTaskDefinitionArn": { + "Service": { + "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.", + "title": "Service", "type": "string" }, - "DeploymentConfiguration": { - "$ref": "#/definitions/AWS::ECS::Daemon.DaemonDeploymentConfiguration" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "PropagateTags": { + "TaskSetId": { + "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the deployment.", + "title": "TaskSetId", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, + "required": [ + "Cluster", + "Service", + "TaskSetId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Daemon" + "AWS::ECS::PrimaryTaskSet" ], "type": "string" }, @@ -139500,41 +148480,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "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::DaemonTaskDefinition": { + "AWS::ECS::Service": { "additionalProperties": false, "properties": { "Condition": { @@ -139569,43 +148520,161 @@ "Properties": { "additionalProperties": false, "properties": { - "ContainerDefinitions": { + "AvailabilityZoneRebalancing": { + "markdownDescription": "Indicates whether to use Availability Zone rebalancing for the service.\n\nFor more information, see [Balancing an Amazon ECS service across Availability Zones](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-rebalancing.html) in the **Amazon Elastic Container Service Developer Guide** .\n\nThe default behavior of `AvailabilityZoneRebalancing` differs between create and update requests:\n\n- For create service requests, when no value is specified for `AvailabilityZoneRebalancing` , Amazon ECS defaults the value to `ENABLED` .\n- For update service requests, when no value is specified for `AvailabilityZoneRebalancing` , Amazon ECS defaults to the existing service\u2019s `AvailabilityZoneRebalancing` value. If the service never had an `AvailabilityZoneRebalancing` value set, Amazon ECS treats this as `DISABLED` .", + "title": "AvailabilityZoneRebalancing", + "type": "string" + }, + "CapacityProviderStrategy": { "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.DaemonContainerDefinition" + "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" }, + "markdownDescription": "The capacity provider strategy to use for the service.\n\nIf a `capacityProviderStrategy` is specified, the `launchType` parameter must be omitted. If no `capacityProviderStrategy` or `launchType` is specified, the `defaultCapacityProviderStrategy` for the cluster is used.\n\nA capacity provider strategy can contain a maximum of 20 capacity providers.\n\n> To remove this property from your service resource, specify an empty `CapacityProviderStrategyItem` array.", + "title": "CapacityProviderStrategy", "type": "array" }, - "Cpu": { + "Cluster": { + "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.", + "title": "Cluster", "type": "string" }, - "ExecutionRoleArn": { + "DeploymentConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration", + "markdownDescription": "Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.", + "title": "DeploymentConfiguration" + }, + "DeploymentController": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentController", + "markdownDescription": "The deployment controller to use for the service.", + "title": "DeploymentController" + }, + "DesiredCount": { + "markdownDescription": "The number of instantiations of the specified task definition to place and keep running in your service.\n\nFor new services, if a desired count is not specified, a default value of `1` is used. When using the `DAEMON` scheduling strategy, the desired count is not required.\n\nFor existing services, if a desired count is not specified, it is omitted from the operation.", + "title": "DesiredCount", + "type": "number" + }, + "EnableECSManagedTags": { + "markdownDescription": "Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see [Tagging your Amazon ECS resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nWhen you use Amazon ECS managed tags, you must set the `propagateTags` request parameter.", + "title": "EnableECSManagedTags", + "type": "boolean" + }, + "EnableExecuteCommand": { + "markdownDescription": "Determines whether the execute command functionality is turned on for the service. If `true` , the execute command functionality is turned on for all containers in tasks as part of the service.", + "title": "EnableExecuteCommand", + "type": "boolean" + }, + "ForceNewDeployment": { + "$ref": "#/definitions/AWS::ECS::Service.ForceNewDeployment", + "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": "ForceNewDeployment" + }, + "HealthCheckGracePeriodSeconds": { + "markdownDescription": "The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then `healthCheckGracePeriodSeconds` is unused.\n\nIf your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.", + "title": "HealthCheckGracePeriodSeconds", + "type": "number" + }, + "LaunchType": { + "markdownDescription": "The launch type on which to run your service. For more information, see [Amazon ECS Launch Types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide* .\n\n> If you want to use Managed Instances, you must use the `capacityProviderStrategy` request parameter", + "title": "LaunchType", "type": "string" }, - "Family": { + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" + }, + "markdownDescription": "A list of load balancer objects to associate with the service. If you specify the `Role` property, `LoadBalancers` must be specified as well. For information about the number of load balancers that you can specify per service, see [Service Load Balancing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) in the *Amazon Elastic Container Service Developer Guide* .\n\n> To remove this property from your service resource, specify an empty `LoadBalancer` array.", + "title": "LoadBalancers", + "type": "array" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::ECS::Service.MonitoringConfiguration" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration", + "markdownDescription": "The network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "NetworkConfiguration" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" + }, + "markdownDescription": "An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.\n\n> To remove this property from your service resource, specify an empty `PlacementConstraint` array.", + "title": "PlacementConstraints", + "type": "array" + }, + "PlacementStrategies": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" + }, + "markdownDescription": "The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service.\n\n> To remove this property from your service resource, specify an empty `PlacementStrategy` array.", + "title": "PlacementStrategies", + "type": "array" + }, + "PlatformVersion": { + "markdownDescription": "The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the `LATEST` platform version is used. For more information, see [AWS Fargate platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "PlatformVersion", "type": "string" }, - "IpcMode": { + "PropagateTags": { + "markdownDescription": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n\nYou must set this to a value other than `NONE` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nThe default is `NONE` .", + "title": "PropagateTags", "type": "string" }, - "Memory": { + "Role": { + "markdownDescription": "The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition doesn't use the `awsvpc` network mode. If you specify the `role` parameter, you must also specify a load balancer object with the `loadBalancers` parameter.\n\n> If your account has already created the Amazon ECS service-linked role, that role is used for your service unless you specify a role here. The service-linked role is required if your task definition uses the `awsvpc` network mode or if the service is configured to use service discovery, an external deployment controller, multiple target groups, or Elastic Inference accelerators in which case you don't specify a role here. For more information, see [Using service-linked roles for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) in the *Amazon Elastic Container Service Developer Guide* . \n\nIf your specified role has a path other than `/` , then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name `bar` has a path of `/foo/` then you would specify `/foo/bar` as the role name. 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": "Role", "type": "string" }, - "PidMode": { + "SchedulingStrategy": { + "markdownDescription": "The scheduling strategy to use for the service. For more information, see [Services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) .\n\nThere are two service scheduler strategies available:\n\n- `REPLICA` -The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. This scheduler strategy is required if the service uses the `CODE_DEPLOY` or `EXTERNAL` deployment controller types.\n- `DAEMON` -The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks and will stop tasks that don't meet the placement constraints. When you're using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies.\n\n> Tasks using the Fargate launch type or the `CODE_DEPLOY` or `EXTERNAL` deployment controller types don't support the `DAEMON` scheduling strategy.", + "title": "SchedulingStrategy", + "type": "string" + }, + "ServiceConnectConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectConfiguration", + "markdownDescription": "The configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace.\n\nTasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "ServiceConnectConfiguration" + }, + "ServiceName": { + "markdownDescription": "The name of your service. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.\n\n> The stack update fails if you change any properties that require replacement and the `ServiceName` is configured. This is because AWS CloudFormation creates the replacement service first, but each `ServiceName` must be unique in the cluster.", + "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": { "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" }, - "TaskRoleArn": { + "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" }, - "Volumes": { + "VolumeConfigurations": { "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Volume" + "$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" } }, @@ -139613,7 +148682,7 @@ }, "Type": { "enum": [ - "AWS::ECS::DaemonTaskDefinition" + "AWS::ECS::Service" ], "type": "string" }, @@ -139631,926 +148700,888 @@ ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.ContainerDependency": { + "AWS::ECS::Service.AdvancedConfiguration": { "additionalProperties": false, "properties": { - "Condition": { + "AlternateTargetGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.", + "title": "AlternateTargetGroupArn", "type": "string" }, - "ContainerName": { + "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::DaemonTaskDefinition.DaemonContainerDefinition": { + "AWS::ECS::Service.AwsVpcConfiguration": { "additionalProperties": false, "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "number" - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.ContainerDependency" - }, - "type": "array" + "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" }, - "EntryPoint": { + "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" }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "EnvironmentFiles": { + "Subnets": { "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.EnvironmentFile" + "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" }, - "Essential": { - "type": "boolean" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.HealthCheck" + "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" }, - "Image": { + "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" }, - "Interactive": { - "type": "boolean" - }, - "LinuxParameters": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.LogConfiguration" - }, - "Memory": { - "type": "number" - }, - "MemoryReservation": { + "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" - }, - "MountPoints": { + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentAlarms": { + "additionalProperties": false, + "properties": { + "AlarmNames": { "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.MountPoint" + "type": "string" }, + "markdownDescription": "One or more CloudWatch alarm names. Use a \",\" to separate the alarms.", + "title": "AlarmNames", "type": "array" }, - "Name": { - "type": "string" + "Enable": { + "markdownDescription": "Determines whether to use the CloudWatch alarm option in the service deployment process.", + "title": "Enable", + "type": "boolean" }, - "Privileged": { + "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" }, - "PseudoTerminal": { + "ResetOnHealthyTask": { "type": "boolean" }, - "ReadonlyRootFilesystem": { + "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" }, - "RepositoryCredentials": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.RepositoryCredentials" + "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" }, - "RestartPolicy": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.RestartPolicy" + "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" }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Secret" - }, - "type": "array" + "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" }, - "StartTimeout": { - "type": "number" + "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" }, - "StopTimeout": { - "type": "number" + "EarlySuccessCriteria": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentEarlySuccessCriteria" }, - "SystemControls": { + "LifecycleHooks": { "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.SystemControl" + "$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" }, - "Ulimits": { - "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Ulimit" - }, - "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" }, - "User": { - "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" }, - "WorkingDirectory": { + "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" } }, - "required": [ - "Image", - "Name" - ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.Device": { + "AWS::ECS::Service.DeploymentController": { "additionalProperties": false, "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { + "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" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.EnvironmentFile": { + "AWS::ECS::Service.DeploymentEarlySuccessCriteria": { "additionalProperties": false, "properties": { - "Type": { - "type": "string" + "Enable": { + "type": "boolean" }, - "Value": { + "HealthyPercent": { + "type": "number" + }, + "SourceServiceRevisionCleanup": { "type": "string" } }, "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.FirelensConfiguration": { + "AWS::ECS::Service.DeploymentLifecycleHook": { "additionalProperties": false, "properties": { - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, + "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" }, - "Type": { + "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::DaemonTaskDefinition.HealthCheck": { + "AWS::ECS::Service.EBSTagSpecification": { "additionalProperties": false, "properties": { - "Command": { + "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": { - "type": "string" + "$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" - }, - "Interval": { - "type": "number" - }, - "Retries": { - "type": "number" - }, - "StartPeriod": { - "type": "number" - }, - "Timeout": { - "type": "number" } }, + "required": [ + "ResourceType" + ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.HostVolumeProperties": { + "AWS::ECS::Service.ForceNewDeployment": { "additionalProperties": false, "properties": { - "SourcePath": { + "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::DaemonTaskDefinition.KernelCapabilities": { + "AWS::ECS::Service.HookTimeoutConfig": { "additionalProperties": false, "properties": { - "Add": { - "items": { - "type": "string" - }, - "type": "array" + "Action": { + "type": "string" }, - "Drop": { - "items": { - "type": "string" - }, - "type": "array" + "TimeoutInMinutes": { + "type": "number" } }, "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.KeyValuePair": { + "AWS::ECS::Service.LinearConfiguration": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" + "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" }, - "Value": { - "type": "string" + "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::DaemonTaskDefinition.LinuxParameters": { + "AWS::ECS::Service.LoadBalancer": { "additionalProperties": false, "properties": { - "Capabilities": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.KernelCapabilities" + "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" }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Device" - }, - "type": "array" + "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" }, - "InitProcessEnabled": { - "type": "boolean" + "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" }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Tmpfs" - }, - "type": "array" + "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::DaemonTaskDefinition.LogConfiguration": { + "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::DaemonTaskDefinition.Secret" + "$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" } }, - "required": [ - "LogDriver" - ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.MountPoint": { + "AWS::ECS::Service.MetricConfiguration": { "additionalProperties": false, "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" + "MetricNames": { + "items": { + "type": "string" + }, + "type": "array" }, - "SourceVolume": { - "type": "string" + "ResolutionSeconds": { + "type": "number" } }, + "required": [ + "MetricNames", + "ResolutionSeconds" + ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.RepositoryCredentials": { + "AWS::ECS::Service.MonitoringConfiguration": { "additionalProperties": false, "properties": { - "CredentialsParameter": { - "type": "string" + "MetricConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.MetricConfiguration" + }, + "type": "array" } }, + "required": [ + "MetricConfigurations" + ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.RestartPolicy": { + "AWS::ECS::Service.NetworkConfiguration": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "IgnoredExitCodes": { - "items": { - "type": "number" - }, - "type": "array" - }, - "RestartAttemptPeriod": { - "type": "number" + "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::DaemonTaskDefinition.Secret": { + "AWS::ECS::Service.PlacementConstraint": { "additionalProperties": false, "properties": { - "Name": { + "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" }, - "ValueFrom": { + "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": [ - "Name", - "ValueFrom" + "Type" ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.SystemControl": { + "AWS::ECS::Service.PlacementStrategy": { "additionalProperties": false, "properties": { - "Namespace": { + "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" }, - "Value": { + "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::DaemonTaskDefinition.Tmpfs": { + "AWS::ECS::Service.Secret": { "additionalProperties": false, "properties": { - "ContainerPath": { + "Name": { + "markdownDescription": "The name of the secret.", + "title": "Name", "type": "string" }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "number" + "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": [ - "Size" + "Name", + "ValueFrom" ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.Ulimit": { + "AWS::ECS::Service.ServiceConnectAccessLogConfiguration": { "additionalProperties": false, "properties": { - "HardLimit": { - "type": "number" - }, - "Name": { + "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" }, - "SoftLimit": { - "type": "number" + "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": [ - "HardLimit", - "Name", - "SoftLimit" + "Format" ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.Volume": { + "AWS::ECS::Service.ServiceConnectClientAlias": { "additionalProperties": false, "properties": { - "Host": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.HostVolumeProperties" - }, - "Name": { + "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::ExpressGatewayService": { + "AWS::ECS::Service.ServiceConnectConfiguration": { "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" - } - ] + "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" }, - "Metadata": { - "type": "object" + "Enabled": { + "markdownDescription": "Specifies whether to use Service Connect with this service.", + "title": "Enabled", + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Cluster": { - "markdownDescription": "The short name or full ARN of the cluster that hosts the Express service.", - "title": "Cluster", - "type": "string" - }, - "Cpu": { - "markdownDescription": "The CPU allocation for tasks in this service revision.", - "title": "Cpu", - "type": "string" - }, - "ExecutionRoleArn": { - "markdownDescription": "The ARN of the task execution role for the service revision.", - "title": "ExecutionRoleArn", - "type": "string" - }, - "HealthCheckPath": { - "markdownDescription": "The health check path for this service revision.", - "title": "HealthCheckPath", - "type": "string" - }, - "InfrastructureRoleArn": { - "markdownDescription": "The ARN of the infrastructure role that manages AWS resources for the Express service.", - "title": "InfrastructureRoleArn", - "type": "string" - }, - "Memory": { - "markdownDescription": "The memory allocation for tasks in this service revision.", - "title": "Memory", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayServiceNetworkConfiguration", - "markdownDescription": "The network configuration for tasks in this service revision.", - "title": "NetworkConfiguration" - }, - "PrimaryContainer": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayContainer", - "markdownDescription": "The primary container configuration for this service revision.", - "title": "PrimaryContainer" - }, - "ScalingTarget": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayScalingTarget", - "markdownDescription": "The auto-scaling configuration for this service revision.", - "title": "ScalingTarget" - }, - "ServiceName": { - "markdownDescription": "The name of the Express service.", - "title": "ServiceName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The metadata applied to the Express service.", - "title": "Tags", - "type": "array" - }, - "TaskDefinitionArn": { - "type": "string" - }, - "TaskRoleArn": { - "markdownDescription": "The ARN of the task role for the service revision.", - "title": "TaskRoleArn", - "type": "string" - } - }, - "required": [ - "InfrastructureRoleArn" - ], - "type": "object" + "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" }, - "Type": { - "enum": [ - "AWS::ECS::ExpressGatewayService" - ], + "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" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "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": [ - "Type", - "Properties" + "Enabled" ], "type": "object" }, - "AWS::ECS::ExpressGatewayService.AutoScalingArns": { + "AWS::ECS::Service.ServiceConnectService": { "additionalProperties": false, "properties": { - "ApplicationAutoScalingPolicies": { + "ClientAliases": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectClientAlias" }, - "markdownDescription": "", - "title": "ApplicationAutoScalingPolicies", + "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" }, - "ScalableTarget": { - "markdownDescription": "", - "title": "ScalableTarget", + "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::ExpressGatewayService.ECSManagedResourceArns": { + "AWS::ECS::Service.ServiceConnectTestTrafficRules": { "additionalProperties": false, "properties": { - "AutoScaling": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.AutoScalingArns", - "markdownDescription": "", - "title": "AutoScaling" - }, - "IngressPath": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.IngressPathArns", - "markdownDescription": "", - "title": "IngressPath" - }, - "LogGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "LogGroups", - "type": "array" - }, - "MetricAlarms": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "MetricAlarms", - "type": "array" - }, - "ServiceSecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "ServiceSecurityGroups", - "type": "array" + "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::ExpressGatewayService.ExpressGatewayContainer": { + "AWS::ECS::Service.ServiceConnectTestTrafficRulesHeader": { "additionalProperties": false, "properties": { - "AwsLogsConfiguration": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayServiceAwsLogsConfiguration", - "markdownDescription": "The log configuration for the container.", - "title": "AwsLogsConfiguration" - }, - "Command": { - "items": { - "type": "string" - }, - "markdownDescription": "The command that is passed to the container.", - "title": "Command", - "type": "array" - }, - "ContainerPort": { - "markdownDescription": "The port number on the container that receives traffic from the load balancer. Default is 80.", - "title": "ContainerPort", - "type": "number" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.KeyValuePair" - }, - "markdownDescription": "The environment variables to pass to the container.", - "title": "Environment", - "type": "array" - }, - "Image": { - "markdownDescription": "The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with either `repository-url/image:tag` or `repository-url/image@digest` .\n\nFor Express services, the image typically contains a web application that listens on the specified container port. The image can be stored in Amazon ECR, Docker Hub, or any other container registry accessible to your execution role.", - "title": "Image", + "Name": { + "markdownDescription": "", + "title": "Name", "type": "string" }, - "RepositoryCredentials": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayRepositoryCredentials", - "markdownDescription": "The configuration for repository credentials for private registry authentication.", - "title": "RepositoryCredentials" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.Secret" - }, - "markdownDescription": "The secrets to pass to the container.", - "title": "Secrets", - "type": "array" + "Value": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTestTrafficRulesHeaderValue", + "markdownDescription": "", + "title": "Value" } }, "required": [ - "Image" + "Name" ], "type": "object" }, - "AWS::ECS::ExpressGatewayService.ExpressGatewayRepositoryCredentials": { + "AWS::ECS::Service.ServiceConnectTestTrafficRulesHeaderValue": { "additionalProperties": false, "properties": { - "CredentialsParameter": { - "markdownDescription": "The Amazon Resource Name (ARN) of the secret containing the private repository credentials.", - "title": "CredentialsParameter", + "Exact": { + "markdownDescription": "", + "title": "Exact", "type": "string" } }, "required": [ - "CredentialsParameter" + "Exact" ], "type": "object" }, - "AWS::ECS::ExpressGatewayService.ExpressGatewayScalingTarget": { + "AWS::ECS::Service.ServiceConnectTlsCertificateAuthority": { "additionalProperties": false, "properties": { - "AutoScalingMetric": { - "markdownDescription": "The metric used for auto-scaling decisions. The default metric used for an Express service is `CPUUtilization` .", - "title": "AutoScalingMetric", + "AwsPcaAuthorityArn": { + "markdownDescription": "The ARN of the AWS Private Certificate Authority certificate.", + "title": "AwsPcaAuthorityArn", "type": "string" - }, - "AutoScalingTargetValue": { - "markdownDescription": "The target value for the auto-scaling metric. The default value for an Express service is 60.", - "title": "AutoScalingTargetValue", - "type": "number" - }, - "MaxTaskCount": { - "markdownDescription": "The maximum number of tasks to run in the Express service.", - "title": "MaxTaskCount", - "type": "number" - }, - "MinTaskCount": { - "markdownDescription": "The minimum number of tasks to run in the Express service.", - "title": "MinTaskCount", - "type": "number" } }, "type": "object" }, - "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceAwsLogsConfiguration": { + "AWS::ECS::Service.ServiceConnectTlsConfiguration": { "additionalProperties": false, "properties": { - "LogGroup": { - "markdownDescription": "The name of the CloudWatch Logs log group to send container logs to.", - "title": "LogGroup", + "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" }, - "LogStreamPrefix": { - "markdownDescription": "The prefix for the CloudWatch Logs log stream names. The default for an Express service is `ecs` .", - "title": "LogStreamPrefix", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that's associated with the Service Connect TLS.", + "title": "RoleArn", "type": "string" } }, "required": [ - "LogGroup", - "LogStreamPrefix" + "IssuerCertificateAuthority" ], "type": "object" }, - "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceConfiguration": { + "AWS::ECS::Service.ServiceManagedEBSVolumeConfiguration": { "additionalProperties": false, "properties": { - "Cpu": { - "markdownDescription": "The CPU allocation for tasks in this service revision.", - "title": "Cpu", - "type": "string" + "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" }, - "CreatedAt": { - "markdownDescription": "The Unix timestamp for when this service revision was created.", - "title": "CreatedAt", + "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" }, - "ExecutionRoleArn": { - "markdownDescription": "The ARN of the task execution role for the service revision.", - "title": "ExecutionRoleArn", - "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" }, - "HealthCheckPath": { - "markdownDescription": "The health check path for this service revision.", - "title": "HealthCheckPath", + "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" }, - "IngressPaths": { - "items": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.IngressPathSummary" - }, - "markdownDescription": "The entry point into this service revision.", - "title": "IngressPaths", - "type": "array" - }, - "Memory": { - "markdownDescription": "The memory allocation for tasks in this service revision.", - "title": "Memory", + "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" }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayServiceNetworkConfiguration", - "markdownDescription": "The network configuration for tasks in this service revision.", - "title": "NetworkConfiguration" - }, - "PrimaryContainer": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayContainer", - "markdownDescription": "The primary container configuration for this service revision.", - "title": "PrimaryContainer" - }, - "ScalingTarget": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayScalingTarget", - "markdownDescription": "The auto-scaling configuration for this service revision.", - "title": "ScalingTarget" - }, - "ServiceRevisionArn": { - "markdownDescription": "The ARN of the service revision.", - "title": "ServiceRevisionArn", - "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" }, - "TaskDefinitionArn": { + "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" }, - "TaskRoleArn": { - "markdownDescription": "The ARN of the task role for the service revision.", - "title": "TaskRoleArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceNetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroups": { + "TagSpecifications": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ECS::Service.EBSTagSpecification" }, - "markdownDescription": "The IDs of the security groups associated with the Express service.", - "title": "SecurityGroups", + "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" }, - "Subnets": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the subnets associated with the Express service.", - "title": "Subnets", - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceStatus": { - "additionalProperties": false, - "properties": { - "StatusCode": { - "markdownDescription": "The status of the Express service.", - "title": "StatusCode", + "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::ExpressGatewayService.IngressPathArns": { + "AWS::ECS::Service.ServiceRegistry": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", + "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" }, - "ListenerArn": { - "markdownDescription": "", - "title": "ListenerArn", - "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" }, - "ListenerRuleArn": { - "markdownDescription": "", - "title": "ListenerRuleArn", - "type": "string" + "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" }, - "LoadBalancerArn": { - "markdownDescription": "", - "title": "LoadBalancerArn", + "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" - }, - "LoadBalancerSecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "LoadBalancerSecurityGroups", - "type": "array" - }, - "TargetGroupArns": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "TargetGroupArns", - "type": "array" } }, "type": "object" }, - "AWS::ECS::ExpressGatewayService.IngressPathSummary": { + "AWS::ECS::Service.ServiceVolumeConfiguration": { "additionalProperties": false, "properties": { - "AccessType": { - "markdownDescription": "The type of access to the endpoint for the Express service.", - "title": "AccessType", - "type": "string" + "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" }, - "Endpoint": { - "markdownDescription": "The endpoint for access to the service.", - "title": "Endpoint", + "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::ExpressGatewayService.KeyValuePair": { + "AWS::ECS::Service.ThresholdConfiguration": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the key-value pair. For environment variables, this is the name of the environment variable.", - "title": "Name", + "Type": { "type": "string" }, "Value": { - "markdownDescription": "The value of the key-value pair. For environment variables, this is the value of the environment variable.", - "title": "Value", - "type": "string" + "type": "number" } }, "required": [ - "Name", + "Type", "Value" ], "type": "object" }, - "AWS::ECS::ExpressGatewayService.Secret": { + "AWS::ECS::Service.TimeoutConfiguration": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the secret.", - "title": "Name", + "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" }, - "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", + "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": [ - "Name", - "ValueFrom" + "PortName", + "RoleArn", + "TargetGroupArn" ], "type": "object" }, - "AWS::ECS::PrimaryTaskSet": { + "AWS::ECS::ServiceDeployment": { "additionalProperties": false, "properties": { "Condition": { @@ -140584,33 +149615,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Cluster": { - "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set exists in.", - "title": "Cluster", - "type": "string" - }, - "Service": { - "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.", - "title": "Service", - "type": "string" - }, - "TaskSetId": { - "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the deployment.", - "title": "TaskSetId", - "type": "string" - } - }, - "required": [ - "Cluster", - "Service", - "TaskSetId" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::ECS::PrimaryTaskSet" + "AWS::ECS::ServiceDeployment" ], "type": "string" }, @@ -140624,12 +149634,29 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ECS::Service": { + "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": { @@ -140663,170 +149690,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "AvailabilityZoneRebalancing": { - "markdownDescription": "Indicates whether to use Availability Zone rebalancing for the service.\n\nFor more information, see [Balancing an Amazon ECS service across Availability Zones](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-rebalancing.html) in the **Amazon Elastic Container Service Developer Guide** .\n\nThe default behavior of `AvailabilityZoneRebalancing` differs between create and update requests:\n\n- For create service requests, when no value is specified for `AvailabilityZoneRebalancing` , Amazon ECS defaults the value to `ENABLED` .\n- For update service requests, when no value is specified for `AvailabilityZoneRebalancing` , Amazon ECS defaults to the existing service\u2019s `AvailabilityZoneRebalancing` value. If the service never had an `AvailabilityZoneRebalancing` value set, Amazon ECS treats this as `DISABLED` .", - "title": "AvailabilityZoneRebalancing", - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" - }, - "markdownDescription": "The capacity provider strategy to use for the service.\n\nIf a `capacityProviderStrategy` is specified, the `launchType` parameter must be omitted. If no `capacityProviderStrategy` or `launchType` is specified, the `defaultCapacityProviderStrategy` for the cluster is used.\n\nA capacity provider strategy can contain a maximum of 20 capacity providers.\n\n> To remove this property from your service resource, specify an empty `CapacityProviderStrategyItem` array.", - "title": "CapacityProviderStrategy", - "type": "array" - }, - "Cluster": { - "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.", - "title": "Cluster", - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration", - "markdownDescription": "Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.", - "title": "DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentController", - "markdownDescription": "The deployment controller to use for the service.", - "title": "DeploymentController" - }, - "DesiredCount": { - "markdownDescription": "The number of instantiations of the specified task definition to place and keep running in your service.\n\nFor new services, if a desired count is not specified, a default value of `1` is used. When using the `DAEMON` scheduling strategy, the desired count is not required.\n\nFor existing services, if a desired count is not specified, it is omitted from the operation.", - "title": "DesiredCount", - "type": "number" - }, - "EnableECSManagedTags": { - "markdownDescription": "Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see [Tagging your Amazon ECS resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nWhen you use Amazon ECS managed tags, you must set the `propagateTags` request parameter.", - "title": "EnableECSManagedTags", - "type": "boolean" - }, - "EnableExecuteCommand": { - "markdownDescription": "Determines whether the execute command functionality is turned on for the service. If `true` , the execute command functionality is turned on for all containers in tasks as part of the service.", - "title": "EnableExecuteCommand", - "type": "boolean" - }, - "ForceNewDeployment": { - "$ref": "#/definitions/AWS::ECS::Service.ForceNewDeployment", - "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": "ForceNewDeployment" - }, - "HealthCheckGracePeriodSeconds": { - "markdownDescription": "The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then `healthCheckGracePeriodSeconds` is unused.\n\nIf your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.", - "title": "HealthCheckGracePeriodSeconds", - "type": "number" - }, - "LaunchType": { - "markdownDescription": "The launch type on which to run your service. For more information, see [Amazon ECS Launch Types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide* .\n\n> If you want to use Managed Instances, you must use the `capacityProviderStrategy` request parameter", - "title": "LaunchType", - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" - }, - "markdownDescription": "A list of load balancer objects to associate with the service. If you specify the `Role` property, `LoadBalancers` must be specified as well. For information about the number of load balancers that you can specify per service, see [Service Load Balancing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) in the *Amazon Elastic Container Service Developer Guide* .\n\n> To remove this property from your service resource, specify an empty `LoadBalancer` array.", - "title": "LoadBalancers", - "type": "array" - }, - "Monitoring": { - "$ref": "#/definitions/AWS::ECS::Service.MonitoringConfiguration" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration", - "markdownDescription": "The network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" - }, - "markdownDescription": "An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.\n\n> To remove this property from your service resource, specify an empty `PlacementConstraint` array.", - "title": "PlacementConstraints", - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" - }, - "markdownDescription": "The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service.\n\n> To remove this property from your service resource, specify an empty `PlacementStrategy` array.", - "title": "PlacementStrategies", - "type": "array" - }, - "PlatformVersion": { - "markdownDescription": "The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the `LATEST` platform version is used. For more information, see [AWS Fargate platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "PlatformVersion", - "type": "string" - }, - "PropagateTags": { - "markdownDescription": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n\nYou must set this to a value other than `NONE` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nThe default is `NONE` .", - "title": "PropagateTags", - "type": "string" - }, - "Role": { - "markdownDescription": "The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition doesn't use the `awsvpc` network mode. If you specify the `role` parameter, you must also specify a load balancer object with the `loadBalancers` parameter.\n\n> If your account has already created the Amazon ECS service-linked role, that role is used for your service unless you specify a role here. The service-linked role is required if your task definition uses the `awsvpc` network mode or if the service is configured to use service discovery, an external deployment controller, multiple target groups, or Elastic Inference accelerators in which case you don't specify a role here. For more information, see [Using service-linked roles for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) in the *Amazon Elastic Container Service Developer Guide* . \n\nIf your specified role has a path other than `/` , then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name `bar` has a path of `/foo/` then you would specify `/foo/bar` as the role name. 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": "Role", - "type": "string" - }, - "SchedulingStrategy": { - "markdownDescription": "The scheduling strategy to use for the service. For more information, see [Services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) .\n\nThere are two service scheduler strategies available:\n\n- `REPLICA` -The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. This scheduler strategy is required if the service uses the `CODE_DEPLOY` or `EXTERNAL` deployment controller types.\n- `DAEMON` -The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks and will stop tasks that don't meet the placement constraints. When you're using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies.\n\n> Tasks using the Fargate launch type or the `CODE_DEPLOY` or `EXTERNAL` deployment controller types don't support the `DAEMON` scheduling strategy.", - "title": "SchedulingStrategy", - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectConfiguration", - "markdownDescription": "The configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace.\n\nTasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "ServiceConnectConfiguration" - }, - "ServiceName": { - "markdownDescription": "The name of your service. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.\n\n> The stack update fails if you change any properties that require replacement and the `ServiceName` is configured. This is because AWS CloudFormation creates the replacement service first, but each `ServiceName` must be unique in the cluster.", - "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": { - "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" - } - }, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Service" + "AWS::ECS::ServiceRevision" ], "type": "string" }, @@ -140844,393 +149713,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" + }, + "type": "array" + }, + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "SubnetIds": { + "items": { + "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" + }, + "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 +150249,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": { + "AWS::ECS::ServiceRevision.ResolvedConfiguration": { "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" + "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 +150298,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 +150313,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 +150331,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 +150358,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 +150388,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 +150415,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 +150454,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 +150499,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 +153022,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 +153125,7 @@ "additionalProperties": false, "properties": { "Ack": { - "type": "object" + "$ref": "#/definitions/AWS::EKS::Capability.Ack" }, "ArgoCd": { "$ref": "#/definitions/AWS::EKS::Capability.ArgoCd", @@ -144735,6 +153619,9 @@ "properties": { "HorizontalPodAutoscalerControllerConfig": { "$ref": "#/definitions/AWS::EKS::Cluster.HorizontalPodAutoscalerControllerConfig" + }, + "PodGcControllerConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.PodGcControllerConfig" } }, "type": "object" @@ -144839,6 +153726,15 @@ ], "type": "object" }, + "AWS::EKS::Cluster.PodGcControllerConfig": { + "additionalProperties": false, + "properties": { + "TerminatedPodGcThreshold": { + "type": "number" + } + }, + "type": "object" + }, "AWS::EKS::Cluster.Provider": { "additionalProperties": false, "properties": { @@ -147480,7 +156376,7 @@ }, "Configurations": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AppConfiguration" }, "markdownDescription": "> Amazon EMR releases 4.x or later. \n\nThe list of configurations supplied for an Amazon EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).", "title": "Configurations", @@ -147556,6 +156452,30 @@ ], "type": "object" }, + "AWS::EMR::InstanceGroupConfig.AppConfiguration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AppConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { "additionalProperties": false, "properties": { @@ -147639,36 +156559,6 @@ ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "markdownDescription": "The classification within a configuration.", - "title": "Classification", - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "markdownDescription": "Within a configuration classification, a set of properties that represent the settings that you want to change in the configuration file. Duplicates not allowed.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ConfigurationProperties", - "type": "object" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "markdownDescription": "A list of additional configurations to apply within a configuration object.", - "title": "Configurations", - "type": "array" - } - }, - "type": "object" - }, "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { "additionalProperties": false, "properties": { @@ -148771,39 +157661,300 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfigurationOverrides": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.ConfigurationOverrides" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "JobDriver": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.JobDriver" + "ConfigurationOverrides": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.ConfigurationOverrides" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "JobDriver": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.JobDriver" + }, + "Name": { + "type": "string" + }, + "ReleaseLabel": { + "type": "string" + }, + "RetryPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.RetryPolicyConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualClusterId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMRContainers::JobRun" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EMRContainers::JobRun.CloudWatchMonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogStreamNamePrefix": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "AWS::EMRContainers::JobRun.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.Configuration" + }, + "type": "array" + }, + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Classification" + ], + "type": "object" + }, + "AWS::EMRContainers::JobRun.ConfigurationOverrides": { + "additionalProperties": false, + "properties": { + "ApplicationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.Configuration" + }, + "type": "array" + }, + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.MonitoringConfiguration" + } + }, + "type": "object" + }, + "AWS::EMRContainers::JobRun.ContainerLogRotationConfiguration": { + "additionalProperties": false, + "properties": { + "MaxFilesToKeep": { + "type": "number" + }, + "RotationSize": { + "type": "string" + } + }, + "required": [ + "MaxFilesToKeep", + "RotationSize" + ], + "type": "object" + }, + "AWS::EMRContainers::JobRun.JobDriver": { + "additionalProperties": false, + "properties": { + "SparkSqlJobDriver": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.SparkSqlJobDriver" + }, + "SparkSubmitJobDriver": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.SparkSubmitJobDriver" + } + }, + "type": "object" + }, + "AWS::EMRContainers::JobRun.ManagedLogs": { + "additionalProperties": false, + "properties": { + "AllowAWSToRetainLogs": { + "type": "string" + }, + "EncryptionKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMRContainers::JobRun.MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchMonitoringConfiguration": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.CloudWatchMonitoringConfiguration" + }, + "ContainerLogRotationConfiguration": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.ContainerLogRotationConfiguration" + }, + "ManagedLogs": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.ManagedLogs" + }, + "PersistentAppUI": { + "type": "string" + }, + "S3MonitoringConfiguration": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.S3MonitoringConfiguration" + } + }, + "type": "object" + }, + "AWS::EMRContainers::JobRun.RetryPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "MaxAttempts": { + "type": "number" + } + }, + "required": [ + "MaxAttempts" + ], + "type": "object" + }, + "AWS::EMRContainers::JobRun.RetryPolicyExecution": { + "additionalProperties": false, + "properties": { + "CurrentAttemptCount": { + "type": "number" + } + }, + "required": [ + "CurrentAttemptCount" + ], + "type": "object" + }, + "AWS::EMRContainers::JobRun.S3MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "LogUri": { + "type": "string" + } + }, + "required": [ + "LogUri" + ], + "type": "object" + }, + "AWS::EMRContainers::JobRun.SparkSqlJobDriver": { + "additionalProperties": false, + "properties": { + "EntryPoint": { + "type": "string" + }, + "SparkSqlParameters": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMRContainers::JobRun.SparkSubmitJobDriver": { + "additionalProperties": false, + "properties": { + "EntryPoint": { + "type": "string" + }, + "EntryPointArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SparkSubmitParameters": { + "type": "string" + } + }, + "required": [ + "EntryPoint" + ], + "type": "object" + }, + "AWS::EMRContainers::JobTemplate": { + "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": { + "JobTemplateData": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.JobTemplateData" }, "Name": { "type": "string" }, - "ReleaseLabel": { - "type": "string" - }, - "RetryPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.RetryPolicyConfiguration" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VirtualClusterId": { - "type": "string" } }, + "required": [ + "JobTemplateData", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EMRContainers::JobRun" + "AWS::EMRContainers::JobTemplate" ], "type": "string" }, @@ -148817,26 +157968,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EMRContainers::JobRun.CloudWatchMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "LogStreamNamePrefix": { - "type": "string" - } - }, - "required": [ - "LogGroupName" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMRContainers::JobRun.Configuration": { + "AWS::EMRContainers::JobTemplate.Configuration": { "additionalProperties": false, "properties": { "Classification": { @@ -148844,7 +157981,7 @@ }, "Configurations": { "items": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.Configuration" + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.Configuration" }, "type": "array" }, @@ -148863,119 +158000,111 @@ ], "type": "object" }, - "AWS::EMRContainers::JobRun.ConfigurationOverrides": { + "AWS::EMRContainers::JobTemplate.JobDriver": { "additionalProperties": false, "properties": { - "ApplicationConfiguration": { - "items": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.Configuration" - }, - "type": "array" + "SparkSqlJobDriver": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.SparkSqlJobDriver" }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.MonitoringConfiguration" + "SparkSubmitJobDriver": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.SparkSubmitJobDriver" } }, "type": "object" }, - "AWS::EMRContainers::JobRun.ContainerLogRotationConfiguration": { + "AWS::EMRContainers::JobTemplate.JobTemplateData": { "additionalProperties": false, "properties": { - "MaxFilesToKeep": { - "type": "number" + "ConfigurationOverrides": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.ParametricConfigurationOverrides" }, - "RotationSize": { + "ExecutionRoleArn": { + "type": "string" + }, + "JobDriver": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.JobDriver" + }, + "JobTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ParameterConfiguration": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.TemplateParameterConfiguration" + } + }, + "type": "object" + }, + "ReleaseLabel": { "type": "string" } }, "required": [ - "MaxFilesToKeep", - "RotationSize" + "ExecutionRoleArn", + "JobDriver", + "ReleaseLabel" ], "type": "object" }, - "AWS::EMRContainers::JobRun.JobDriver": { + "AWS::EMRContainers::JobTemplate.ParametricCloudWatchMonitoringConfiguration": { "additionalProperties": false, "properties": { - "SparkSqlJobDriver": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.SparkSqlJobDriver" + "LogGroupName": { + "type": "string" }, - "SparkSubmitJobDriver": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.SparkSubmitJobDriver" + "LogStreamNamePrefix": { + "type": "string" } }, "type": "object" }, - "AWS::EMRContainers::JobRun.ManagedLogs": { + "AWS::EMRContainers::JobTemplate.ParametricConfigurationOverrides": { "additionalProperties": false, "properties": { - "AllowAWSToRetainLogs": { - "type": "string" + "ApplicationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.Configuration" + }, + "type": "array" }, - "EncryptionKeyArn": { - "type": "string" + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.ParametricMonitoringConfiguration" } }, "type": "object" }, - "AWS::EMRContainers::JobRun.MonitoringConfiguration": { + "AWS::EMRContainers::JobTemplate.ParametricMonitoringConfiguration": { "additionalProperties": false, "properties": { "CloudWatchMonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.CloudWatchMonitoringConfiguration" - }, - "ContainerLogRotationConfiguration": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.ContainerLogRotationConfiguration" - }, - "ManagedLogs": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.ManagedLogs" + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.ParametricCloudWatchMonitoringConfiguration" }, "PersistentAppUI": { "type": "string" }, "S3MonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "AWS::EMRContainers::JobRun.RetryPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "MaxAttempts": { - "type": "number" - } - }, - "required": [ - "MaxAttempts" - ], - "type": "object" - }, - "AWS::EMRContainers::JobRun.RetryPolicyExecution": { - "additionalProperties": false, - "properties": { - "CurrentAttemptCount": { - "type": "number" + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.ParametricS3MonitoringConfiguration" } }, - "required": [ - "CurrentAttemptCount" - ], "type": "object" }, - "AWS::EMRContainers::JobRun.S3MonitoringConfiguration": { + "AWS::EMRContainers::JobTemplate.ParametricS3MonitoringConfiguration": { "additionalProperties": false, "properties": { "LogUri": { "type": "string" } }, - "required": [ - "LogUri" - ], "type": "object" }, - "AWS::EMRContainers::JobRun.SparkSqlJobDriver": { + "AWS::EMRContainers::JobTemplate.SparkSqlJobDriver": { "additionalProperties": false, "properties": { "EntryPoint": { @@ -148987,7 +158116,7 @@ }, "type": "object" }, - "AWS::EMRContainers::JobRun.SparkSubmitJobDriver": { + "AWS::EMRContainers::JobTemplate.SparkSubmitJobDriver": { "additionalProperties": false, "properties": { "EntryPoint": { @@ -149008,6 +158137,18 @@ ], "type": "object" }, + "AWS::EMRContainers::JobTemplate.TemplateParameterConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EMRContainers::SecurityConfiguration": { "additionalProperties": false, "properties": { @@ -150169,6 +159310,142 @@ ], "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" + }, + "IdleTimeoutMinutes": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMRServerless::Session" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EMRServerless::Session.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMRServerless::Session.Configuration" + }, + "type": "array" + }, + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Classification" + ], + "type": "object" + }, + "AWS::EMRServerless::Session.ConfigurationOverrides": { + "additionalProperties": false, + "properties": { + "RuntimeConfiguration": { + "items": { + "$ref": "#/definitions/AWS::EMRServerless::Session.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMRServerless::Session.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::EVS::Environment": { "additionalProperties": false, "properties": { @@ -150964,6 +160241,12 @@ "markdownDescription": "The Regions that comprise the Global Datastore.", "title": "RegionalConfigurations", "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -151867,6 +161150,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 +161896,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 +161917,7 @@ } }, "required": [ - "ApplicationName", - "SourceBundle" + "ApplicationName" ], "type": "object" }, @@ -152648,6 +161942,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": { @@ -157633,22 +167004,935 @@ "title": "Tags", "type": "array" }, - "Type": { - "markdownDescription": "The type of schema.\n\nValid types include `OpenApi3` and `JSONSchemaDraft4` .", - "title": "Type", + "Type": { + "markdownDescription": "The type of schema.\n\nValid types include `OpenApi3` and `JSONSchemaDraft4` .", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Content", + "RegistryName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::Schema" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EventSchemas::Schema.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The key of a key-value pair.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of a key-value pair.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Events::ApiDestination": { + "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": { + "ConnectionArn": { + "markdownDescription": "The ARN of the connection to use for the API destination. The destination endpoint must support the authorization type specified for the connection.", + "title": "ConnectionArn", + "type": "string" + }, + "Description": { + "markdownDescription": "A description for the API destination to create.", + "title": "Description", + "type": "string" + }, + "HttpMethod": { + "markdownDescription": "The method to use for the request to the HTTP invocation endpoint.", + "title": "HttpMethod", + "type": "string" + }, + "InvocationEndpoint": { + "markdownDescription": "The URL to the HTTP invocation endpoint for the API destination.", + "title": "InvocationEndpoint", + "type": "string" + }, + "InvocationRateLimitPerSecond": { + "markdownDescription": "The maximum number of requests per second to send to the HTTP invocation endpoint.", + "title": "InvocationRateLimitPerSecond", + "type": "number" + }, + "Name": { + "markdownDescription": "The name for the API destination to create.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "ConnectionArn", + "HttpMethod", + "InvocationEndpoint" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::ApiDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Archive": { + "additionalProperties": false, + "properties": { + "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": { + "ArchiveName": { + "markdownDescription": "The name for the archive to create.", + "title": "ArchiveName", + "type": "string" + }, + "Description": { + "markdownDescription": "A description for the archive.", + "title": "Description", + "type": "string" + }, + "EventPattern": { + "markdownDescription": "An event pattern to use to filter events sent to the archive.", + "title": "EventPattern", + "type": "object" + }, + "KmsKeyIdentifier": { + "markdownDescription": "The identifier of the AWS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt this archive. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n\nIf you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt the archive.\n\nFor more information, see [Identify and view keys](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) in the *AWS Key Management Service Developer Guide* .\n\n> If you have specified that EventBridge use a customer managed key for encrypting the source event bus, we strongly recommend you also specify a customer managed key for any archives for the event bus as well.\n> \n> For more information, see [Encrypting archives](https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-archives.html) in the *Amazon EventBridge User Guide* .", + "title": "KmsKeyIdentifier", + "type": "string" + }, + "RetentionDays": { + "markdownDescription": "The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely", + "title": "RetentionDays", + "type": "number" + }, + "SourceArn": { + "markdownDescription": "The ARN of the event bus that sends events to the archive.", + "title": "SourceArn", + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Archive" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Connection": { + "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": { + "AuthParameters": { + "$ref": "#/definitions/AWS::Events::Connection.AuthParameters", + "markdownDescription": "The authorization parameters to use to authorize with the endpoint.\n\nYou must include only authorization parameters for the `AuthorizationType` you specify.", + "title": "AuthParameters" + }, + "AuthorizationType": { + "markdownDescription": "The type of authorization to use for the connection.\n\n> OAUTH tokens are refreshed when a 401 or 407 response is returned.", + "title": "AuthorizationType", + "type": "string" + }, + "Description": { + "markdownDescription": "A description for the connection to create.", + "title": "Description", + "type": "string" + }, + "InvocationConnectivityParameters": { + "$ref": "#/definitions/AWS::Events::Connection.InvocationConnectivityParameters", + "markdownDescription": "For connections to private APIs, the parameters to use for invoking the API.\n\nFor more information, see [Connecting to private APIs](https://docs.aws.amazon.com/eventbridge/latest/userguide/connection-private.html) in the **Amazon EventBridge User Guide** .", + "title": "InvocationConnectivityParameters" + }, + "KmsKeyIdentifier": { + "markdownDescription": "The identifier of the AWS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt this connection. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n\nIf you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt the connection.\n\nFor more information, see [Identify and view keys](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) in the *AWS Key Management Service Developer Guide* .", + "title": "KmsKeyIdentifier", + "type": "string" + }, + "Name": { + "markdownDescription": "The name for the connection to create.", + "title": "Name", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Events::Connection.ApiKeyAuthParameters": { + "additionalProperties": false, + "properties": { + "ApiKeyName": { + "markdownDescription": "The name of the API key to use for authorization.", + "title": "ApiKeyName", + "type": "string" + }, + "ApiKeyValue": { + "markdownDescription": "The value for the API key to use for authorization.", + "title": "ApiKeyValue", + "type": "string" + } + }, + "required": [ + "ApiKeyName", + "ApiKeyValue" + ], + "type": "object" + }, + "AWS::Events::Connection.AuthParameters": { + "additionalProperties": false, + "properties": { + "ApiKeyAuthParameters": { + "$ref": "#/definitions/AWS::Events::Connection.ApiKeyAuthParameters", + "markdownDescription": "The API Key parameters to use for authorization.", + "title": "ApiKeyAuthParameters" + }, + "BasicAuthParameters": { + "$ref": "#/definitions/AWS::Events::Connection.BasicAuthParameters", + "markdownDescription": "The authorization parameters for Basic authorization.", + "title": "BasicAuthParameters" + }, + "ConnectivityParameters": { + "$ref": "#/definitions/AWS::Events::Connection.ConnectivityParameters", + "markdownDescription": "For private OAuth authentication endpoints. The parameters EventBridge uses to authenticate against the endpoint.\n\nFor more information, see [Authorization methods for connections](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-target-connection-auth.html) in the **Amazon EventBridge User Guide** .", + "title": "ConnectivityParameters" + }, + "InvocationHttpParameters": { + "$ref": "#/definitions/AWS::Events::Connection.ConnectionHttpParameters", + "markdownDescription": "Additional parameters for the connection that are passed through with every invocation to the HTTP endpoint.", + "title": "InvocationHttpParameters" + }, + "OAuthParameters": { + "$ref": "#/definitions/AWS::Events::Connection.OAuthParameters", + "markdownDescription": "The OAuth parameters to use for authorization.", + "title": "OAuthParameters" + } + }, + "type": "object" + }, + "AWS::Events::Connection.BasicAuthParameters": { + "additionalProperties": false, + "properties": { + "Password": { + "markdownDescription": "The password associated with the user name to use for Basic authorization.", + "title": "Password", + "type": "string" + }, + "Username": { + "markdownDescription": "The user name to use for Basic authorization.", + "title": "Username", + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::Events::Connection.ClientParameters": { + "additionalProperties": false, + "properties": { + "ClientID": { + "markdownDescription": "The client ID to use for OAuth authorization.", + "title": "ClientID", + "type": "string" + }, + "ClientSecret": { + "markdownDescription": "The client secret assciated with the client ID to use for OAuth authorization.", + "title": "ClientSecret", + "type": "string" + } + }, + "required": [ + "ClientID", + "ClientSecret" + ], + "type": "object" + }, + "AWS::Events::Connection.ConnectionHttpParameters": { + "additionalProperties": false, + "properties": { + "BodyParameters": { + "items": { + "$ref": "#/definitions/AWS::Events::Connection.Parameter" + }, + "markdownDescription": "Any additional body string parameters for the connection.", + "title": "BodyParameters", + "type": "array" + }, + "HeaderParameters": { + "items": { + "$ref": "#/definitions/AWS::Events::Connection.Parameter" + }, + "markdownDescription": "Any additional header parameters for the connection.", + "title": "HeaderParameters", + "type": "array" + }, + "QueryStringParameters": { + "items": { + "$ref": "#/definitions/AWS::Events::Connection.Parameter" + }, + "markdownDescription": "Any additional query string parameters for the connection.", + "title": "QueryStringParameters", + "type": "array" + } + }, + "type": "object" + }, + "AWS::Events::Connection.ConnectivityParameters": { + "additionalProperties": false, + "properties": { + "ResourceParameters": { + "$ref": "#/definitions/AWS::Events::Connection.ResourceParameters", + "markdownDescription": "The parameters for EventBridge to use when invoking the resource endpoint.", + "title": "ResourceParameters" + } + }, + "required": [ + "ResourceParameters" + ], + "type": "object" + }, + "AWS::Events::Connection.InvocationConnectivityParameters": { + "additionalProperties": false, + "properties": { + "ResourceParameters": { + "$ref": "#/definitions/AWS::Events::Connection.ResourceParameters", + "markdownDescription": "The parameters for EventBridge to use when invoking the resource endpoint.", + "title": "ResourceParameters" + } + }, + "required": [ + "ResourceParameters" + ], + "type": "object" + }, + "AWS::Events::Connection.OAuthParameters": { + "additionalProperties": false, + "properties": { + "AuthorizationEndpoint": { + "markdownDescription": "The URL to the authorization endpoint when OAuth is specified as the authorization type.", + "title": "AuthorizationEndpoint", + "type": "string" + }, + "ClientParameters": { + "$ref": "#/definitions/AWS::Events::Connection.ClientParameters", + "markdownDescription": "The client parameters for OAuth authorization.", + "title": "ClientParameters" + }, + "HttpMethod": { + "markdownDescription": "The method to use for the authorization request.", + "title": "HttpMethod", + "type": "string" + }, + "OAuthHttpParameters": { + "$ref": "#/definitions/AWS::Events::Connection.ConnectionHttpParameters", + "markdownDescription": "Details about the additional parameters to use for the connection.", + "title": "OAuthHttpParameters" + } + }, + "required": [ + "AuthorizationEndpoint", + "ClientParameters", + "HttpMethod" + ], + "type": "object" + }, + "AWS::Events::Connection.Parameter": { + "additionalProperties": false, + "properties": { + "IsValueSecret": { + "markdownDescription": "Specifies whether the value is secret.", + "title": "IsValueSecret", + "type": "boolean" + }, + "Key": { + "markdownDescription": "The key for a query string parameter.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The value associated with the key for the query string parameter.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Events::Connection.ResourceParameters": { + "additionalProperties": false, + "properties": { + "ResourceAssociationArn": { + "markdownDescription": "For connections to private APIs, the Amazon Resource Name (ARN) of the resource association EventBridge created between the connection and the private API's resource configuration.\n\n> The value of this property is set by EventBridge . Any value you specify in your template is ignored.", + "title": "ResourceAssociationArn", + "type": "string" + }, + "ResourceConfigurationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon VPC Lattice resource configuration for the resource endpoint.", + "title": "ResourceConfigurationArn", + "type": "string" + } + }, + "required": [ + "ResourceConfigurationArn" + ], + "type": "object" + }, + "AWS::Events::Endpoint": { + "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": { + "markdownDescription": "A description for the endpoint.", + "title": "Description", + "type": "string" + }, + "EventBuses": { + "items": { + "$ref": "#/definitions/AWS::Events::Endpoint.EndpointEventBus" + }, + "markdownDescription": "The event buses being used by the endpoint.\n\n*Exactly* : `2`", + "title": "EventBuses", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the endpoint.", + "title": "Name", + "type": "string" + }, + "ReplicationConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.ReplicationConfig", + "markdownDescription": "Whether event replication was enabled or disabled for this endpoint. The default state is `ENABLED` which means you must supply a `RoleArn` . If you don't have a `RoleArn` or you don't want event replication enabled, set the state to `DISABLED` .", + "title": "ReplicationConfig" + }, + "RoleArn": { + "markdownDescription": "The ARN of the role used by event replication for the endpoint.", + "title": "RoleArn", + "type": "string" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.RoutingConfig", + "markdownDescription": "The routing configuration of the endpoint.", + "title": "RoutingConfig" + } + }, + "required": [ + "EventBuses", + "RoutingConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Endpoint.EndpointEventBus": { + "additionalProperties": false, + "properties": { + "EventBusArn": { + "markdownDescription": "The ARN of the event bus the endpoint is associated with.", + "title": "EventBusArn", + "type": "string" + } + }, + "required": [ + "EventBusArn" + ], + "type": "object" + }, + "AWS::Events::Endpoint.FailoverConfig": { + "additionalProperties": false, + "properties": { + "Primary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Primary", + "markdownDescription": "The main Region of the endpoint.", + "title": "Primary" + }, + "Secondary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Secondary", + "markdownDescription": "The Region that events are routed to when failover is triggered or event replication is enabled.", + "title": "Secondary" + } + }, + "required": [ + "Primary", + "Secondary" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Primary": { + "additionalProperties": false, + "properties": { + "HealthCheck": { + "markdownDescription": "The ARN of the health check used by the endpoint to determine whether failover is triggered.", + "title": "HealthCheck", + "type": "string" + } + }, + "required": [ + "HealthCheck" + ], + "type": "object" + }, + "AWS::Events::Endpoint.ReplicationConfig": { + "additionalProperties": false, + "properties": { + "State": { + "markdownDescription": "The state of event replication.", + "title": "State", + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Events::Endpoint.RoutingConfig": { + "additionalProperties": false, + "properties": { + "FailoverConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.FailoverConfig", + "markdownDescription": "The failover configuration for an endpoint. This includes what triggers failover and what happens when it's triggered.", + "title": "FailoverConfig" + } + }, + "required": [ + "FailoverConfig" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Secondary": { + "additionalProperties": false, + "properties": { + "Route": { + "markdownDescription": "Defines the secondary Region.", + "title": "Route", + "type": "string" + } + }, + "required": [ + "Route" + ], + "type": "object" + }, + "AWS::Events::EventBus": { + "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": { + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::EventBus.DeadLetterConfig", + "markdownDescription": "Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ).\n\nFor more information, see [Using dead-letter queues to process undelivered events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-event-delivery.html#eb-rule-dlq) in the *EventBridge User Guide* .", + "title": "DeadLetterConfig" + }, + "Description": { + "markdownDescription": "The event bus description.", + "title": "Description", + "type": "string" + }, + "EventSourceName": { + "markdownDescription": "If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with.", + "title": "EventSourceName", + "type": "string" + }, + "KmsKeyIdentifier": { + "markdownDescription": "The identifier of the AWS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n\nIf you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt events on the event bus.\n\nFor more information, see [Identify and view keys](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) in the *AWS Key Management Service Developer Guide* .\n\n> Schema discovery is not supported for event buses encrypted using a customer managed key. EventBridge returns an error if:\n> \n> - You call `[CreateDiscoverer](https://docs.aws.amazon.com/eventbridge/latest/schema-reference/v1-discoverers.html#CreateDiscoverer)` on an event bus set to use a customer managed key for encryption.\n> - You call `[UpdatedEventBus](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_UpdatedEventBus.html)` to set a customer managed key on an event bus with schema discovery enabled.\n> \n> To enable schema discovery on an event bus, choose to use an AWS owned key . For more information, see [Encrypting events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-encryption-event-bus-cmkey.html) in the *Amazon EventBridge User Guide* . > If you have specified that EventBridge use a customer managed key for encrypting the source event bus, we strongly recommend you also specify a customer managed key for any archives for the event bus as well.\n> \n> For more information, see [Encrypting archives](https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-archives.html) in the *Amazon EventBridge User Guide* .", + "title": "KmsKeyIdentifier", + "type": "string" + }, + "LogConfig": { + "$ref": "#/definitions/AWS::Events::EventBus.LogConfig", + "markdownDescription": "The logging configuration settings for the event bus.\n\nFor more information, see [Configuring logs for event buses](https://docs.aws.amazon.com/eb-event-bus-logs.html) in the *EventBridge User Guide* .", + "title": "LogConfig" + }, + "Name": { + "markdownDescription": "The name of the new event bus.\n\nCustom event bus names can't contain the `/` character, but you can use the `/` character in partner event bus names. In addition, for partner event buses, the name must exactly match the name of the partner event source that this event bus is matched to.\n\nYou can't use the name `default` for a custom event bus, as this name is already used for your account's default event bus.", + "title": "Name", + "type": "string" + }, + "Policy": { + "markdownDescription": "The permissions policy of the event bus, describing which other AWS accounts can write events to this event bus.", + "title": "Policy", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to associate with the event bus.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBus" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::EventBus.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The ARN of the SQS queue specified as the target for the dead-letter queue.", + "title": "Arn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::EventBus.LogConfig": { + "additionalProperties": false, + "properties": { + "IncludeDetail": { + "markdownDescription": "Whether EventBridge include detailed event information in the records it generates. Detailed data can be useful for troubleshooting and debugging. This information includes details of the event itself, as well as target details.\n\nFor more information, see [Including detail data in event bus logs](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html#eb-event-logs-data) in the *EventBridge User Guide* .", + "title": "IncludeDetail", + "type": "string" + }, + "Level": { + "markdownDescription": "The level of logging detail to include. This applies to all log destinations for the event bus.\n\nFor more information, see [Specifying event bus log level](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html#eb-event-bus-logs-level) in the *EventBridge User Guide* .", + "title": "Level", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::EventBusPolicy": { + "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": { + "EventBusName": { + "markdownDescription": "The name of the event bus associated with the rule. If you omit this, the default event bus is used.", + "title": "EventBusName", + "type": "string" + }, + "Statement": { + "markdownDescription": "A JSON string that describes the permission policy statement. You can include a `Policy` parameter in the request instead of using the `StatementId` , `Action` , `Principal` , or `Condition` parameters.", + "title": "Statement", + "type": "object" + }, + "StatementId": { + "markdownDescription": "An identifier string for the external account that you are granting permissions to. If you later want to revoke the permission for this external account, specify this `StatementId` when you run [RemovePermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RemovePermission.html) .\n\n> Each `StatementId` must be unique.", + "title": "StatementId", "type": "string" } }, "required": [ - "Content", - "RegistryName", - "Type" + "StatementId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::Schema" + "AWS::Events::EventBusPolicy" ], "type": "string" }, @@ -157667,27 +167951,7 @@ ], "type": "object" }, - "AWS::EventSchemas::Schema.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The key of a key-value pair.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of a key-value pair.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Events::ApiDestination": { + "AWS::Events::EventSource": { "additionalProperties": false, "properties": { "Condition": { @@ -157722,47 +167986,15 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionArn": { - "markdownDescription": "The ARN of the connection to use for the API destination. The destination endpoint must support the authorization type specified for the connection.", - "title": "ConnectionArn", - "type": "string" - }, - "Description": { - "markdownDescription": "A description for the API destination to create.", - "title": "Description", - "type": "string" - }, - "HttpMethod": { - "markdownDescription": "The method to use for the request to the HTTP invocation endpoint.", - "title": "HttpMethod", - "type": "string" - }, - "InvocationEndpoint": { - "markdownDescription": "The URL to the HTTP invocation endpoint for the API destination.", - "title": "InvocationEndpoint", - "type": "string" - }, - "InvocationRateLimitPerSecond": { - "markdownDescription": "The maximum number of requests per second to send to the HTTP invocation endpoint.", - "title": "InvocationRateLimitPerSecond", - "type": "number" - }, "Name": { - "markdownDescription": "The name for the API destination to create.", - "title": "Name", "type": "string" } }, - "required": [ - "ConnectionArn", - "HttpMethod", - "InvocationEndpoint" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::ApiDestination" + "AWS::Events::EventSource" ], "type": "string" }, @@ -157776,12 +168008,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Events::Archive": { + "AWS::Events::Replay": { "additionalProperties": false, "properties": { "Condition": { @@ -157816,45 +168047,34 @@ "Properties": { "additionalProperties": false, "properties": { - "ArchiveName": { - "markdownDescription": "The name for the archive to create.", - "title": "ArchiveName", - "type": "string" + "Destination": { + "$ref": "#/definitions/AWS::Events::Replay.Destination" }, - "Description": { - "markdownDescription": "A description for the archive.", - "title": "Description", + "EventEndTime": { "type": "string" }, - "EventPattern": { - "markdownDescription": "An event pattern to use to filter events sent to the archive.", - "title": "EventPattern", - "type": "object" - }, - "KmsKeyIdentifier": { - "markdownDescription": "The identifier of the AWS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt this archive. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n\nIf you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt the archive.\n\nFor more information, see [Identify and view keys](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) in the *AWS Key Management Service Developer Guide* .\n\n> If you have specified that EventBridge use a customer managed key for encrypting the source event bus, we strongly recommend you also specify a customer managed key for any archives for the event bus as well.\n> \n> For more information, see [Encrypting archives](https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-archives.html) in the *Amazon EventBridge User Guide* .", - "title": "KmsKeyIdentifier", + "EventSourceArn": { "type": "string" }, - "RetentionDays": { - "markdownDescription": "The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely", - "title": "RetentionDays", - "type": "number" + "EventStartTime": { + "type": "string" }, - "SourceArn": { - "markdownDescription": "The ARN of the event bus that sends events to the archive.", - "title": "SourceArn", + "ReplayName": { "type": "string" } }, "required": [ - "SourceArn" + "Destination", + "EventEndTime", + "EventSourceArn", + "EventStartTime", + "ReplayName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::Archive" + "AWS::Events::Replay" ], "type": "string" }, @@ -157873,12 +168093,31 @@ ], "type": "object" }, - "AWS::Events::Connection": { + "AWS::Events::Replay.Destination": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::Events::Rule": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, + "Connectors": { + "additionalProperties": { + "$ref": "#/definitions/EmbeddedConnector" + }, + "title": "Connectors", + "type": "object" + }, "DeletionPolicy": { "enum": [ "Delete", @@ -157908,42 +168147,63 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthParameters": { - "$ref": "#/definitions/AWS::Events::Connection.AuthParameters", - "markdownDescription": "The authorization parameters to use to authorize with the endpoint.\n\nYou must include only authorization parameters for the `AuthorizationType` you specify.", - "title": "AuthParameters" - }, - "AuthorizationType": { - "markdownDescription": "The type of authorization to use for the connection.\n\n> OAUTH tokens are refreshed when a 401 or 407 response is returned.", - "title": "AuthorizationType", - "type": "string" - }, "Description": { - "markdownDescription": "A description for the connection to create.", + "markdownDescription": "The description of the rule.", "title": "Description", "type": "string" }, - "InvocationConnectivityParameters": { - "$ref": "#/definitions/AWS::Events::Connection.InvocationConnectivityParameters", - "markdownDescription": "For connections to private APIs, the parameters to use for invoking the API.\n\nFor more information, see [Connecting to private APIs](https://docs.aws.amazon.com/eventbridge/latest/userguide/connection-private.html) in the **Amazon EventBridge User Guide** .", - "title": "InvocationConnectivityParameters" - }, - "KmsKeyIdentifier": { - "markdownDescription": "The identifier of the AWS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt this connection. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n\nIf you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt the connection.\n\nFor more information, see [Identify and view keys](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) in the *AWS Key Management Service Developer Guide* .", - "title": "KmsKeyIdentifier", + "EventBusName": { + "markdownDescription": "The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used.", + "title": "EventBusName", "type": "string" }, + "EventPattern": { + "markdownDescription": "The event pattern of the rule. For more information, see [Events and Event Patterns](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) in the **Amazon EventBridge User Guide** .", + "title": "EventPattern", + "type": "object" + }, "Name": { - "markdownDescription": "The name for the connection to create.", + "markdownDescription": "The name of the rule.", "title": "Name", "type": "string" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role that is used for target invocation.\n\nIf you're setting an event bus in another account as the target and that account granted permission to your account through an organization instead of directly by the account ID, you must specify a `RoleArn` with proper permissions in the `Target` structure, instead of here in this parameter.", + "title": "RoleArn", + "type": "string" + }, + "ScheduleExpression": { + "markdownDescription": "The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\". For more information, see [Creating an Amazon EventBridge rule that runs on a schedule](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html) .", + "title": "ScheduleExpression", + "type": "string" + }, + "State": { + "markdownDescription": "The state of the rule.\n\nValid values include:\n\n- `DISABLED` : The rule is disabled. EventBridge does not match any events against the rule.\n- `ENABLED` : The rule is enabled. EventBridge matches events against the rule, *except* for AWS management events delivered through CloudTrail.\n- `ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS` : The rule is enabled for all events, including AWS management events delivered through CloudTrail.\n\nManagement events provide visibility into management operations that are performed on resources in your AWS account. These are also known as control plane operations. For more information, see [Logging management events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) in the *CloudTrail User Guide* , and [Filtering management events from AWS services](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-cloudtrail) in the **Amazon EventBridge User Guide** .\n\nThis value is only valid for rules on the [default](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is-how-it-works-concepts.html#eb-bus-concepts-buses) event bus or [custom event buses](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-event-bus.html) . It does not apply to [partner event buses](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-saas.html) .", + "title": "State", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.Target" + }, + "markdownDescription": "Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.\n\nTargets are the resources that are invoked when a rule is triggered.\n\nThe maximum number of entries per request is 10.\n\n> Each rule can have up to five (5) targets associated with it at one time. \n\nFor a list of services you can configure as targets for events, see [EventBridge targets](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html) in the **Amazon EventBridge User Guide** .\n\nCreating rules with built-in targets is supported only in the AWS Management Console . The built-in targets are:\n\n- `Amazon EBS CreateSnapshot API call`\n- `Amazon EC2 RebootInstances API call`\n- `Amazon EC2 StopInstances API call`\n- `Amazon EC2 TerminateInstances API call`\n\nFor some target types, `PutTargets` provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the `KinesisParameters` argument. To invoke a command on multiple EC2 instances with one rule, you can use the `RunCommandParameters` field.\n\nTo be able to make API calls against the resources that you own, Amazon EventBridge needs the appropriate permissions:\n\n- For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies.\n- For EC2 instances, Kinesis Data Streams, AWS Step Functions state machines and API Gateway APIs, EventBridge relies on IAM roles that you specify in the `RoleARN` argument in `PutTargets` .\n\nFor more information, see [Authentication and Access Control](https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html) in the **Amazon EventBridge User Guide** .\n\nIf another AWS account is in the same region and has granted you permission (using `PutPermission` ), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the `Arn` value when you run `PutTargets` . If your account sends events to another account, your account is charged for each sent event. Each event sent to another account is charged as a custom event. The account receiving the event is not charged. For more information, see [Amazon EventBridge Pricing](https://docs.aws.amazon.com/eventbridge/pricing/) .\n\n> `Input` , `InputPath` , and `InputTransformer` are not available with `PutTarget` if the target is an event bus of a different AWS account. \n\nIf you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a `RoleArn` with proper permissions in the `Target` structure. For more information, see [Sending and Receiving Events Between AWS Accounts](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html) in the *Amazon EventBridge User Guide* .\n\n> If you have an IAM role on a cross-account event bus target, a `PutTargets` call without a role on the same target (same `Id` and `Arn` ) will not remove the role. \n\nFor more information about enabling cross-account events, see [PutPermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPermission.html) .\n\n*Input* , *InputPath* , and *InputTransformer* are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:\n\n- If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).\n- If *Input* is specified in the form of valid JSON, then the matched event is overridden with this constant.\n- If *InputPath* is specified in the form of JSONPath (for example, `$.detail` ), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).\n- If *InputTransformer* is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.\n\nWhen you specify `InputPath` or `InputTransformer` , you must use JSON dot notation, not bracket notation.\n\nWhen you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect.\n\nThis action can partially fail if too many requests are made at the same time. If that happens, `FailedEntryCount` is non-zero in the response and each entry in `FailedEntries` provides the ID of the failed target and the error code.", + "title": "Targets", + "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::Events::Connection" + "AWS::Events::Rule" ], "type": "string" }, @@ -157961,417 +168221,593 @@ ], "type": "object" }, - "AWS::Events::Connection.ApiKeyAuthParameters": { + "AWS::Events::Rule.AppSyncParameters": { "additionalProperties": false, "properties": { - "ApiKeyName": { - "markdownDescription": "The name of the API key to use for authorization.", - "title": "ApiKeyName", - "type": "string" - }, - "ApiKeyValue": { - "markdownDescription": "The value for the API key to use for authorization.", - "title": "ApiKeyValue", + "GraphQLOperation": { + "markdownDescription": "The GraphQL operation; that is, the query, mutation, or subscription to be parsed and executed by the GraphQL service.\n\nFor more information, see [Operations](https://docs.aws.amazon.com/appsync/latest/devguide/graphql-architecture.html#graphql-operations) in the *AWS AppSync User Guide* .", + "title": "GraphQLOperation", "type": "string" } }, "required": [ - "ApiKeyName", - "ApiKeyValue" + "GraphQLOperation" ], "type": "object" }, - "AWS::Events::Connection.AuthParameters": { + "AWS::Events::Rule.AwsVpcConfiguration": { "additionalProperties": false, "properties": { - "ApiKeyAuthParameters": { - "$ref": "#/definitions/AWS::Events::Connection.ApiKeyAuthParameters", - "markdownDescription": "The API Key parameters to use for authorization.", - "title": "ApiKeyAuthParameters" - }, - "BasicAuthParameters": { - "$ref": "#/definitions/AWS::Events::Connection.BasicAuthParameters", - "markdownDescription": "The authorization parameters for Basic authorization.", - "title": "BasicAuthParameters" - }, - "ConnectivityParameters": { - "$ref": "#/definitions/AWS::Events::Connection.ConnectivityParameters", - "markdownDescription": "For private OAuth authentication endpoints. The parameters EventBridge uses to authenticate against the endpoint.\n\nFor more information, see [Authorization methods for connections](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-target-connection-auth.html) in the **Amazon EventBridge User Guide** .", - "title": "ConnectivityParameters" + "AssignPublicIp": { + "markdownDescription": "Specifies whether the task's elastic network interface receives a public IP address. You can specify `ENABLED` only when `LaunchType` in `EcsParameters` is set to `FARGATE` .", + "title": "AssignPublicIp", + "type": "string" }, - "InvocationHttpParameters": { - "$ref": "#/definitions/AWS::Events::Connection.ConnectionHttpParameters", - "markdownDescription": "Additional parameters for the connection that are passed through with every invocation to the HTTP endpoint.", - "title": "InvocationHttpParameters" + "SecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the security groups associated with the task. These security groups must all be in the same VPC. You can specify as many as five security groups. If you do not specify a security group, the default security group for the VPC is used.", + "title": "SecurityGroups", + "type": "array" }, - "OAuthParameters": { - "$ref": "#/definitions/AWS::Events::Connection.OAuthParameters", - "markdownDescription": "The OAuth parameters to use for authorization.", - "title": "OAuthParameters" + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the subnets associated with the task. These subnets must all be in the same VPC. You can specify as many as 16 subnets.", + "title": "Subnets", + "type": "array" } }, + "required": [ + "Subnets" + ], "type": "object" }, - "AWS::Events::Connection.BasicAuthParameters": { + "AWS::Events::Rule.BatchArrayProperties": { "additionalProperties": false, "properties": { - "Password": { - "markdownDescription": "The password associated with the user name to use for Basic authorization.", - "title": "Password", + "Size": { + "markdownDescription": "The size of the array, if this is an array batch job. Valid values are integers between 2 and 10,000.", + "title": "Size", + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.BatchParameters": { + "additionalProperties": false, + "properties": { + "ArrayProperties": { + "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties", + "markdownDescription": "The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an AWS Batch job.", + "title": "ArrayProperties" + }, + "JobDefinition": { + "markdownDescription": "The ARN or name of the job definition to use if the event target is an AWS Batch job. This job definition must already exist.", + "title": "JobDefinition", "type": "string" }, - "Username": { - "markdownDescription": "The user name to use for Basic authorization.", - "title": "Username", + "JobName": { + "markdownDescription": "The name to use for this execution of the job, if the target is an AWS Batch job.", + "title": "JobName", "type": "string" + }, + "RetryStrategy": { + "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy", + "markdownDescription": "The retry strategy to use for failed jobs, if the target is an AWS Batch job. The retry strategy is the number of times to retry the failed job execution. Valid values are 1\u201310. When you specify a retry strategy here, it overrides the retry strategy defined in the job definition.", + "title": "RetryStrategy" } }, "required": [ - "Password", - "Username" + "JobDefinition", + "JobName" ], "type": "object" }, - "AWS::Events::Connection.ClientParameters": { + "AWS::Events::Rule.BatchRetryStrategy": { "additionalProperties": false, "properties": { - "ClientID": { - "markdownDescription": "The client ID to use for OAuth authorization.", - "title": "ClientID", - "type": "string" + "Attempts": { + "markdownDescription": "The number of times to attempt to retry, if the job fails. Valid values are 1\u201310.", + "title": "Attempts", + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "markdownDescription": "The base value designates how many tasks, at a minimum, to run on the specified capacity provider. 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.", + "title": "Base", + "type": "number" }, - "ClientSecret": { - "markdownDescription": "The client secret assciated with the client ID to use for OAuth authorization.", - "title": "ClientSecret", + "CapacityProvider": { + "markdownDescription": "The short name of the capacity provider.", + "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.", + "title": "Weight", + "type": "number" } }, "required": [ - "ClientID", - "ClientSecret" + "CapacityProvider" ], "type": "object" }, - "AWS::Events::Connection.ConnectionHttpParameters": { + "AWS::Events::Rule.DeadLetterConfig": { "additionalProperties": false, "properties": { - "BodyParameters": { + "Arn": { + "markdownDescription": "The ARN of the SQS queue specified as the target for the dead-letter queue.", + "title": "Arn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule.EcsParameters": { + "additionalProperties": false, + "properties": { + "CapacityProviderStrategy": { "items": { - "$ref": "#/definitions/AWS::Events::Connection.Parameter" + "$ref": "#/definitions/AWS::Events::Rule.CapacityProviderStrategyItem" }, - "markdownDescription": "Any additional body string parameters for the connection.", - "title": "BodyParameters", + "markdownDescription": "The capacity provider strategy to use for the task.\n\nIf a `capacityProviderStrategy` is specified, the `launchType` parameter must be omitted. If no `capacityProviderStrategy` or launchType is specified, the `defaultCapacityProviderStrategy` for the cluster is used.", + "title": "CapacityProviderStrategy", "type": "array" }, - "HeaderParameters": { + "EnableECSManagedTags": { + "markdownDescription": "Specifies whether to enable Amazon ECS managed tags for the task. For more information, see [Tagging Your Amazon ECS Resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the Amazon Elastic Container Service Developer Guide.", + "title": "EnableECSManagedTags", + "type": "boolean" + }, + "EnableExecuteCommand": { + "markdownDescription": "Whether or not to enable the execute command functionality for the containers in this task. If true, this enables execute command functionality on all containers in the task.", + "title": "EnableExecuteCommand", + "type": "boolean" + }, + "Group": { + "markdownDescription": "Specifies an ECS task group for the task. The maximum length is 255 characters.", + "title": "Group", + "type": "string" + }, + "LaunchType": { + "markdownDescription": "Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The `FARGATE` value is supported only in the Regions where AWS Fargate with Amazon ECS is supported. For more information, see [AWS Fargate on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "LaunchType", + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration", + "markdownDescription": "Use this structure if the Amazon ECS task uses the `awsvpc` network mode. This structure specifies the VPC subnets and security groups associated with the task, and whether a public IP address is to be used. This structure is required if `LaunchType` is `FARGATE` because the `awsvpc` mode is required for Fargate tasks.\n\nIf you specify `NetworkConfiguration` when the target ECS task does not use the `awsvpc` network mode, the task fails.", + "title": "NetworkConfiguration" + }, + "PlacementConstraints": { "items": { - "$ref": "#/definitions/AWS::Events::Connection.Parameter" + "$ref": "#/definitions/AWS::Events::Rule.PlacementConstraint" }, - "markdownDescription": "Any additional header parameters for the connection.", - "title": "HeaderParameters", + "markdownDescription": "An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).", + "title": "PlacementConstraints", "type": "array" }, - "QueryStringParameters": { + "PlacementStrategies": { "items": { - "$ref": "#/definitions/AWS::Events::Connection.Parameter" + "$ref": "#/definitions/AWS::Events::Rule.PlacementStrategy" }, - "markdownDescription": "Any additional query string parameters for the connection.", - "title": "QueryStringParameters", + "markdownDescription": "The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.", + "title": "PlacementStrategies", + "type": "array" + }, + "PlatformVersion": { + "markdownDescription": "Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as `1.1.0` .\n\nThis structure is used only if `LaunchType` is `FARGATE` . For more information about valid platform versions, see [AWS Fargate Platform Versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "PlatformVersion", + "type": "string" + }, + "PropagateTags": { + "markdownDescription": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.", + "title": "PropagateTags", + "type": "string" + }, + "ReferenceId": { + "markdownDescription": "The reference ID to use for the task.", + "title": "ReferenceId", + "type": "string" + }, + "TagList": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. To learn more, see [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html#ECS-RunTask-request-tags) in the Amazon ECS API Reference.", + "title": "TagList", "type": "array" + }, + "TaskCount": { + "markdownDescription": "The number of tasks to create based on `TaskDefinition` . The default is 1.", + "title": "TaskCount", + "type": "number" + }, + "TaskDefinitionArn": { + "markdownDescription": "The ARN of the task definition to use if the event target is an Amazon ECS task.", + "title": "TaskDefinitionArn", + "type": "string" } }, + "required": [ + "TaskDefinitionArn" + ], "type": "object" }, - "AWS::Events::Connection.ConnectivityParameters": { + "AWS::Events::Rule.HttpParameters": { "additionalProperties": false, "properties": { - "ResourceParameters": { - "$ref": "#/definitions/AWS::Events::Connection.ResourceParameters", - "markdownDescription": "The parameters for EventBridge to use when invoking the resource endpoint.", - "title": "ResourceParameters" + "HeaderParameters": { + "additionalProperties": true, + "markdownDescription": "The headers that need to be sent as part of request invoking the API Gateway API or EventBridge ApiDestination.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "HeaderParameters", + "type": "object" + }, + "PathParameterValues": { + "items": { + "type": "string" + }, + "markdownDescription": "The path parameter values to be used to populate API Gateway API or EventBridge ApiDestination path wildcards (\"*\").", + "title": "PathParameterValues", + "type": "array" + }, + "QueryStringParameters": { + "additionalProperties": true, + "markdownDescription": "The query string keys/values that need to be sent as part of request invoking the API Gateway API or EventBridge ApiDestination.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "QueryStringParameters", + "type": "object" } }, - "required": [ - "ResourceParameters" - ], "type": "object" }, - "AWS::Events::Connection.InvocationConnectivityParameters": { + "AWS::Events::Rule.InputTransformer": { "additionalProperties": false, "properties": { - "ResourceParameters": { - "$ref": "#/definitions/AWS::Events::Connection.ResourceParameters", - "markdownDescription": "The parameters for EventBridge to use when invoking the resource endpoint.", - "title": "ResourceParameters" + "InputPathsMap": { + "additionalProperties": true, + "markdownDescription": "Map of JSON paths to be extracted from the event. You can then insert these in the template in `InputTemplate` to produce the output you want to be sent to the target.\n\n`InputPathsMap` is an array key-value pairs, where each value is a valid JSON path. You can have as many as 100 key-value pairs. You must use JSON dot notation, not bracket notation.\n\nThe keys cannot start with \" AWS .\"", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "InputPathsMap", + "type": "object" + }, + "InputTemplate": { + "markdownDescription": "Input template where you specify placeholders that will be filled with the values of the keys from `InputPathsMap` to customize the data sent to the target. Enclose each `InputPathsMaps` value in brackets: < *value* >\n\nIf `InputTemplate` is a JSON object (surrounded by curly braces), the following restrictions apply:\n\n- The placeholder cannot be used as an object key.\n\nThe following example shows the syntax for using `InputPathsMap` and `InputTemplate` .\n\n`\"InputTransformer\":`\n\n`{`\n\n`\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},`\n\n`\"InputTemplate\": \" is in state \"`\n\n`}`\n\nTo have the `InputTemplate` include quote marks within a JSON string, escape each quote marks with a slash, as in the following example:\n\n`\"InputTransformer\":`\n\n`{`\n\n`\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},`\n\n`\"InputTemplate\": \" is in state \\\"\\\"\"`\n\n`}`\n\nThe `InputTemplate` can also be valid JSON with varibles in quotes or out, as in the following example:\n\n`\"InputTransformer\":`\n\n`{`\n\n`\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},`\n\n`\"InputTemplate\": '{\"myInstance\": ,\"myStatus\": \" is in state \\\"\\\"\"}'`\n\n`}`", + "title": "InputTemplate", + "type": "string" } }, "required": [ - "ResourceParameters" + "InputTemplate" ], "type": "object" }, - "AWS::Events::Connection.OAuthParameters": { + "AWS::Events::Rule.KinesisParameters": { "additionalProperties": false, "properties": { - "AuthorizationEndpoint": { - "markdownDescription": "The URL to the authorization endpoint when OAuth is specified as the authorization type.", - "title": "AuthorizationEndpoint", - "type": "string" - }, - "ClientParameters": { - "$ref": "#/definitions/AWS::Events::Connection.ClientParameters", - "markdownDescription": "The client parameters for OAuth authorization.", - "title": "ClientParameters" - }, - "HttpMethod": { - "markdownDescription": "The method to use for the authorization request.", - "title": "HttpMethod", + "PartitionKeyPath": { + "markdownDescription": "The JSON path to be extracted from the event and used as the partition key. For more information, see [Amazon Kinesis Streams Key Concepts](https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html#partition-key) in the *Amazon Kinesis Streams Developer Guide* .", + "title": "PartitionKeyPath", "type": "string" - }, - "OAuthHttpParameters": { - "$ref": "#/definitions/AWS::Events::Connection.ConnectionHttpParameters", - "markdownDescription": "Details about the additional parameters to use for the connection.", - "title": "OAuthHttpParameters" } }, "required": [ - "AuthorizationEndpoint", - "ClientParameters", - "HttpMethod" + "PartitionKeyPath" ], "type": "object" }, - "AWS::Events::Connection.Parameter": { + "AWS::Events::Rule.NetworkConfiguration": { "additionalProperties": false, "properties": { - "IsValueSecret": { - "markdownDescription": "Specifies whether the value is secret.", - "title": "IsValueSecret", - "type": "boolean" - }, - "Key": { - "markdownDescription": "The key for a query string parameter.", - "title": "Key", + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration", + "markdownDescription": "Use this structure to specify the VPC subnets and security groups for the task, and whether a public IP address is to be used. This structure is relevant only for ECS tasks that use the `awsvpc` network mode.", + "title": "AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::Events::Rule.PlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "markdownDescription": "A cluster query language expression to apply to the constraint. You cannot specify an expression if the constraint type is `distinctInstance` . To learn more, 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" }, - "Value": { - "markdownDescription": "The value associated with the key for the query string parameter.", - "title": "Value", + "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": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::Events::Connection.ResourceParameters": { + "AWS::Events::Rule.PlacementStrategy": { "additionalProperties": false, "properties": { - "ResourceAssociationArn": { - "markdownDescription": "For connections to private APIs, the Amazon Resource Name (ARN) of the resource association EventBridge created between the connection and the private API's resource configuration.\n\n> The value of this property is set by EventBridge . Any value you specify in your template is ignored.", - "title": "ResourceAssociationArn", + "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 is 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" }, - "ResourceConfigurationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon VPC Lattice resource configuration for the resource endpoint.", - "title": "ResourceConfigurationArn", + "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 is 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": [ - "ResourceConfigurationArn" - ], "type": "object" }, - "AWS::Events::Endpoint": { + "AWS::Events::Rule.RedshiftDataParameters": { "additionalProperties": false, "properties": { - "Condition": { + "Database": { + "markdownDescription": "The name of the database. Required when authenticating using temporary credentials.", + "title": "Database", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DbUser": { + "markdownDescription": "The database user name. Required when authenticating using temporary credentials.", + "title": "DbUser", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "SecretManagerArn": { + "markdownDescription": "The name or ARN of the secret that enables access to the database. Required when authenticating using AWS Secrets Manager.", + "title": "SecretManagerArn", + "type": "string" }, - "Metadata": { - "type": "object" + "Sql": { + "markdownDescription": "The SQL statement text to run.", + "title": "Sql", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "A description for the endpoint.", - "title": "Description", - "type": "string" - }, - "EventBuses": { - "items": { - "$ref": "#/definitions/AWS::Events::Endpoint.EndpointEventBus" - }, - "markdownDescription": "The event buses being used by the endpoint.\n\n*Exactly* : `2`", - "title": "EventBuses", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the endpoint.", - "title": "Name", - "type": "string" - }, - "ReplicationConfig": { - "$ref": "#/definitions/AWS::Events::Endpoint.ReplicationConfig", - "markdownDescription": "Whether event replication was enabled or disabled for this endpoint. The default state is `ENABLED` which means you must supply a `RoleArn` . If you don't have a `RoleArn` or you don't want event replication enabled, set the state to `DISABLED` .", - "title": "ReplicationConfig" - }, - "RoleArn": { - "markdownDescription": "The ARN of the role used by event replication for the endpoint.", - "title": "RoleArn", - "type": "string" - }, - "RoutingConfig": { - "$ref": "#/definitions/AWS::Events::Endpoint.RoutingConfig", - "markdownDescription": "The routing configuration of the endpoint.", - "title": "RoutingConfig" - } + "Sqls": { + "items": { + "type": "string" }, - "required": [ - "EventBuses", - "RoutingConfig" - ], - "type": "object" + "markdownDescription": "One or more SQL statements to run. The SQL statements are run as a single transaction. They run serially in the order of the array. Subsequent SQL statements don't start until the previous statement in the array completes. If any SQL statement fails, then because they are run as one transaction, all work is rolled back.", + "title": "Sqls", + "type": "array" }, - "Type": { - "enum": [ - "AWS::Events::Endpoint" - ], + "StatementName": { + "markdownDescription": "The name of the SQL statement. You can name the SQL statement when you create it to identify the query.", + "title": "StatementName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "WithEvent": { + "markdownDescription": "Indicates whether to send an event back to EventBridge after the SQL statement runs.", + "title": "WithEvent", + "type": "boolean" } }, "required": [ - "Type", - "Properties" + "Database" ], "type": "object" }, - "AWS::Events::Endpoint.EndpointEventBus": { + "AWS::Events::Rule.RetryPolicy": { "additionalProperties": false, "properties": { - "EventBusArn": { - "markdownDescription": "The ARN of the event bus the endpoint is associated with.", - "title": "EventBusArn", - "type": "string" + "MaximumEventAgeInSeconds": { + "markdownDescription": "The maximum amount of time, in seconds, to continue to make retry attempts.", + "title": "MaximumEventAgeInSeconds", + "type": "number" + }, + "MaximumRetryAttempts": { + "markdownDescription": "The maximum number of retry attempts to make before the request fails. Retry attempts continue until either the maximum number of attempts is made or until the duration of the `MaximumEventAgeInSeconds` is met.", + "title": "MaximumRetryAttempts", + "type": "number" } }, - "required": [ - "EventBusArn" - ], "type": "object" }, - "AWS::Events::Endpoint.FailoverConfig": { + "AWS::Events::Rule.RunCommandParameters": { "additionalProperties": false, "properties": { - "Primary": { - "$ref": "#/definitions/AWS::Events::Endpoint.Primary", - "markdownDescription": "The main Region of the endpoint.", - "title": "Primary" - }, - "Secondary": { - "$ref": "#/definitions/AWS::Events::Endpoint.Secondary", - "markdownDescription": "The Region that events are routed to when failover is triggered or event replication is enabled.", - "title": "Secondary" + "RunCommandTargets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" + }, + "markdownDescription": "Currently, we support including only one RunCommandTarget block, which specifies either an array of InstanceIds or a tag.", + "title": "RunCommandTargets", + "type": "array" } }, "required": [ - "Primary", - "Secondary" + "RunCommandTargets" ], "type": "object" }, - "AWS::Events::Endpoint.Primary": { + "AWS::Events::Rule.RunCommandTarget": { "additionalProperties": false, "properties": { - "HealthCheck": { - "markdownDescription": "The ARN of the health check used by the endpoint to determine whether failover is triggered.", - "title": "HealthCheck", + "Key": { + "markdownDescription": "Can be either `tag:` *tag-key* or `InstanceIds` .", + "title": "Key", "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "If `Key` is `tag:` *tag-key* , `Values` is a list of tag values. If `Key` is `InstanceIds` , `Values` is a list of Amazon EC2 instance IDs.", + "title": "Values", + "type": "array" } }, "required": [ - "HealthCheck" + "Key", + "Values" ], "type": "object" }, - "AWS::Events::Endpoint.ReplicationConfig": { + "AWS::Events::Rule.SageMakerPipelineParameter": { "additionalProperties": false, "properties": { - "State": { - "markdownDescription": "The state of event replication.", - "title": "State", + "Name": { + "markdownDescription": "Name of parameter to start execution of a SageMaker AI Model Building Pipeline.", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "Value of parameter to start execution of a SageMaker AI Model Building Pipeline.", + "title": "Value", "type": "string" } }, "required": [ - "State" + "Name", + "Value" ], "type": "object" }, - "AWS::Events::Endpoint.RoutingConfig": { + "AWS::Events::Rule.SageMakerPipelineParameters": { "additionalProperties": false, "properties": { - "FailoverConfig": { - "$ref": "#/definitions/AWS::Events::Endpoint.FailoverConfig", - "markdownDescription": "The failover configuration for an endpoint. This includes what triggers failover and what happens when it's triggered.", - "title": "FailoverConfig" + "PipelineParameterList": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameter" + }, + "markdownDescription": "List of Parameter names and values for SageMaker AI Model Building Pipeline execution.", + "title": "PipelineParameterList", + "type": "array" + } + }, + "type": "object" + }, + "AWS::Events::Rule.SqsParameters": { + "additionalProperties": false, + "properties": { + "MessageGroupId": { + "markdownDescription": "The ID of the message group to use as the target.", + "title": "MessageGroupId", + "type": "string" } }, "required": [ - "FailoverConfig" + "MessageGroupId" ], "type": "object" }, - "AWS::Events::Endpoint.Secondary": { + "AWS::Events::Rule.Target": { "additionalProperties": false, "properties": { - "Route": { - "markdownDescription": "Defines the secondary Region.", - "title": "Route", + "AppSyncParameters": { + "$ref": "#/definitions/AWS::Events::Rule.AppSyncParameters", + "markdownDescription": "Contains the GraphQL operation to be parsed and executed, if the event target is an AWS AppSync API.", + "title": "AppSyncParameters" + }, + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the target.", + "title": "Arn", + "type": "string" + }, + "BatchParameters": { + "$ref": "#/definitions/AWS::Events::Rule.BatchParameters", + "markdownDescription": "If the event target is an AWS Batch job, this contains the job definition, job name, and other parameters. For more information, see [Jobs](https://docs.aws.amazon.com/batch/latest/userguide/jobs.html) in the *AWS Batch User Guide* .", + "title": "BatchParameters" + }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig", + "markdownDescription": "The `DeadLetterConfig` that defines the target queue to send dead-letter queue events to.", + "title": "DeadLetterConfig" + }, + "EcsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.EcsParameters", + "markdownDescription": "Contains the Amazon ECS task definition and task count to be used, if the event target is an Amazon ECS task. For more information about Amazon ECS tasks, see [Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon EC2 Container Service Developer Guide* .", + "title": "EcsParameters" + }, + "HttpParameters": { + "$ref": "#/definitions/AWS::Events::Rule.HttpParameters", + "markdownDescription": "Contains the HTTP parameters to use when the target is a API Gateway endpoint or EventBridge ApiDestination.\n\nIf you specify an API Gateway API or EventBridge ApiDestination as a target, you can use this parameter to specify headers, path parameters, and query string keys/values as part of your target invoking request. If you're using ApiDestinations, the corresponding Connection can also have these values configured. In case of any conflicting keys, values from the Connection take precedence.", + "title": "HttpParameters" + }, + "Id": { + "markdownDescription": "The ID of the target within the specified rule. Use this ID to reference the target when updating the rule. We recommend using a memorable and unique string.", + "title": "Id", + "type": "string" + }, + "Input": { + "markdownDescription": "Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target. For more information, see [The JavaScript Object Notation (JSON) Data Interchange Format](https://docs.aws.amazon.com/http://www.rfc-editor.org/rfc/rfc7159.txt) .", + "title": "Input", + "type": "string" + }, + "InputPath": { + "markdownDescription": "The value of the JSONPath that is used for extracting part of the matched event when passing it to the target. You may use JSON dot notation or bracket notation. For more information about JSON paths, see [JSONPath](https://docs.aws.amazon.com/http://goessner.net/articles/JsonPath/) .", + "title": "InputPath", + "type": "string" + }, + "InputTransformer": { + "$ref": "#/definitions/AWS::Events::Rule.InputTransformer", + "markdownDescription": "Settings to enable you to provide custom input to a target based on certain event data. You can extract one or more key-value pairs from the event and then use that data to send customized input to the target.", + "title": "InputTransformer" + }, + "KinesisParameters": { + "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters", + "markdownDescription": "The custom parameter you can use to control the shard assignment, when the target is a Kinesis data stream. If you do not include this parameter, the default is to use the `eventId` as the partition key.", + "title": "KinesisParameters" + }, + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters", + "markdownDescription": "Contains the Amazon Redshift Data API parameters to use when the target is a Amazon Redshift cluster.\n\nIf you specify a Amazon Redshift Cluster as a Target, you can use this to specify parameters to invoke the Amazon Redshift Data API ExecuteStatement based on EventBridge events.", + "title": "RedshiftDataParameters" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy", + "markdownDescription": "The retry policy configuration to use for the dead-letter queue.", + "title": "RetryPolicy" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to be used for this target when the rule is triggered. If one rule triggers multiple targets, you can use a different IAM role for each target.", + "title": "RoleArn", "type": "string" + }, + "RunCommandParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters", + "markdownDescription": "Parameters used when you are using the rule to invoke Amazon EC2 Run Command.", + "title": "RunCommandParameters" + }, + "SageMakerPipelineParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameters", + "markdownDescription": "Contains the SageMaker AI Model Building Pipeline parameters to start execution of a SageMaker AI Model Building Pipeline.\n\nIf you specify a SageMaker AI Model Building Pipeline as a target, you can use this to specify parameters to start a pipeline execution based on EventBridge events.", + "title": "SageMakerPipelineParameters" + }, + "SqsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SqsParameters", + "markdownDescription": "Contains the message group ID to use when the target is an Amazon SQS fair or FIFO queue.\n\nIf you specify a fair or FIFO queue as a target, the queue must have content-based deduplication enabled.", + "title": "SqsParameters" } }, "required": [ - "Route" + "Arn", + "Id" ], "type": "object" }, - "AWS::Events::EventBus": { + "AWS::EventsV2::EventBus": { "additionalProperties": false, "properties": { "Condition": { @@ -158406,47 +168842,22 @@ "Properties": { "additionalProperties": false, "properties": { - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Events::EventBus.DeadLetterConfig", - "markdownDescription": "Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ).\n\nFor more information, see [Using dead-letter queues to process undelivered events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-event-delivery.html#eb-rule-dlq) in the *EventBridge User Guide* .", - "title": "DeadLetterConfig" - }, "Description": { - "markdownDescription": "The event bus description.", - "title": "Description", - "type": "string" - }, - "EventSourceName": { - "markdownDescription": "If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with.", - "title": "EventSourceName", - "type": "string" - }, - "KmsKeyIdentifier": { - "markdownDescription": "The identifier of the AWS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n\nIf you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt events on the event bus.\n\nFor more information, see [Identify and view keys](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) in the *AWS Key Management Service Developer Guide* .\n\n> Schema discovery is not supported for event buses encrypted using a customer managed key. EventBridge returns an error if:\n> \n> - You call `[CreateDiscoverer](https://docs.aws.amazon.com/eventbridge/latest/schema-reference/v1-discoverers.html#CreateDiscoverer)` on an event bus set to use a customer managed key for encryption.\n> - You call `[UpdatedEventBus](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_UpdatedEventBus.html)` to set a customer managed key on an event bus with schema discovery enabled.\n> \n> To enable schema discovery on an event bus, choose to use an AWS owned key . For more information, see [Encrypting events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-encryption-event-bus-cmkey.html) in the *Amazon EventBridge User Guide* . > If you have specified that EventBridge use a customer managed key for encrypting the source event bus, we strongly recommend you also specify a customer managed key for any archives for the event bus as well.\n> \n> For more information, see [Encrypting archives](https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-archives.html) in the *Amazon EventBridge User Guide* .", - "title": "KmsKeyIdentifier", "type": "string" }, - "LogConfig": { - "$ref": "#/definitions/AWS::Events::EventBus.LogConfig", - "markdownDescription": "The logging configuration settings for the event bus.\n\nFor more information, see [Configuring logs for event buses](https://docs.aws.amazon.com/eb-event-bus-logs.html) in the *EventBridge User Guide* .", - "title": "LogConfig" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::EventBus.EncryptionConfiguration" }, "Name": { - "markdownDescription": "The name of the new event bus.\n\nCustom event bus names can't contain the `/` character, but you can use the `/` character in partner event bus names. In addition, for partner event buses, the name must exactly match the name of the partner event source that this event bus is matched to.\n\nYou can't use the name `default` for a custom event bus, as this name is already used for your account's default event bus.", - "title": "Name", "type": "string" }, - "Policy": { - "markdownDescription": "The permissions policy of the event bus, describing which other AWS accounts can write events to this event bus.", - "title": "Policy", - "type": "object" + "StorageConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::EventBus.StorageConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Tags to associate with the event bus.", - "title": "Tags", "type": "array" } }, @@ -158457,7 +168868,7 @@ }, "Type": { "enum": [ - "AWS::Events::EventBus" + "AWS::EventsV2::EventBus" ], "type": "string" }, @@ -158476,34 +168887,25 @@ ], "type": "object" }, - "AWS::Events::EventBus.DeadLetterConfig": { + "AWS::EventsV2::EventBus.EncryptionConfiguration": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The ARN of the SQS queue specified as the target for the dead-letter queue.", - "title": "Arn", + "KmsKeyIdentifier": { "type": "string" } }, "type": "object" }, - "AWS::Events::EventBus.LogConfig": { + "AWS::EventsV2::EventBus.StorageConfiguration": { "additionalProperties": false, "properties": { - "IncludeDetail": { - "markdownDescription": "Whether EventBridge include detailed event information in the records it generates. Detailed data can be useful for troubleshooting and debugging. This information includes details of the event itself, as well as target details.\n\nFor more information, see [Including detail data in event bus logs](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html#eb-event-logs-data) in the *EventBridge User Guide* .", - "title": "IncludeDetail", - "type": "string" - }, - "Level": { - "markdownDescription": "The level of logging detail to include. This applies to all log destinations for the event bus.\n\nFor more information, see [Specifying event bus log level](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html#eb-event-bus-logs-level) in the *EventBridge User Guide* .", - "title": "Level", - "type": "string" + "RetentionPeriodInDays": { + "type": "number" } }, "type": "object" }, - "AWS::Events::EventBusPolicy": { + "AWS::EventsV2::EventSource": { "additionalProperties": false, "properties": { "Condition": { @@ -158538,30 +168940,35 @@ "Properties": { "additionalProperties": false, "properties": { - "EventBusName": { - "markdownDescription": "The name of the event bus associated with the rule. If you omit this, the default event bus is used.", - "title": "EventBusName", + "Configuration": { + "$ref": "#/definitions/AWS::EventsV2::EventSource.EventSourceConfiguration" + }, + "Description": { "type": "string" }, - "Statement": { - "markdownDescription": "A JSON string that describes the permission policy statement. You can include a `Policy` parameter in the request instead of using the `StatementId` , `Action` , `Principal` , or `Condition` parameters.", - "title": "Statement", - "type": "object" + "EventBusArn": { + "type": "string" }, - "StatementId": { - "markdownDescription": "An identifier string for the external account that you are granting permissions to. If you later want to revoke the permission for this external account, specify this `StatementId` when you run [RemovePermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RemovePermission.html) .\n\n> Each `StatementId` must be unique.", - "title": "StatementId", + "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "StatementId" + "Configuration", + "EventBusArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::EventBusPolicy" + "AWS::EventsV2::EventSource" ], "type": "string" }, @@ -158580,7 +168987,67 @@ ], "type": "object" }, - "AWS::Events::Replay": { + "AWS::EventsV2::EventSource.AwsServiceEventsConfiguration": { + "additionalProperties": false, + "properties": { + "AwsService": { + "type": "string" + }, + "OnFailureConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::EventSource.OnFailureConfiguration" + }, + "Pattern": { + "type": "string" + } + }, + "required": [ + "AwsService" + ], + "type": "object" + }, + "AWS::EventsV2::EventSource.EventSourceConfiguration": { + "additionalProperties": false, + "properties": { + "AwsServiceEventsConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::EventSource.AwsServiceEventsConfiguration" + }, + "PartnerEventsConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::EventSource.PartnerEventsConfiguration" + } + }, + "type": "object" + }, + "AWS::EventsV2::EventSource.OnFailureConfiguration": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EventsV2::EventSource.PartnerEventsConfiguration": { + "additionalProperties": false, + "properties": { + "OnFailureConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::EventSource.OnFailureConfiguration" + }, + "PartnerBusKmsKeyIdentifier": { + "type": "string" + }, + "PartnerEventSourceArn": { + "type": "string" + }, + "Pattern": { + "type": "string" + } + }, + "required": [ + "PartnerEventSourceArn" + ], + "type": "object" + }, + "AWS::EventsV2::ResourcePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -158615,34 +169082,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::Events::Replay.Destination" - }, - "EventEndTime": { - "type": "string" - }, - "EventSourceArn": { - "type": "string" - }, - "EventStartTime": { + "EventBusArn": { "type": "string" }, - "ReplayName": { - "type": "string" + "PolicyDocument": { + "type": "object" } }, "required": [ - "Destination", - "EventEndTime", - "EventSourceArn", - "EventStartTime", - "ReplayName" + "EventBusArn", + "PolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::Replay" + "AWS::EventsV2::ResourcePolicy" ], "type": "string" }, @@ -158661,31 +169116,12 @@ ], "type": "object" }, - "AWS::Events::Replay.Destination": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::Events::Rule": { + "AWS::EventsV2::Subscriber": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, - "Connectors": { - "additionalProperties": { - "$ref": "#/definitions/EmbeddedConnector" - }, - "title": "Connectors", - "type": "object" - }, "DeletionPolicy": { "enum": [ "Delete", @@ -158715,63 +169151,68 @@ "Properties": { "additionalProperties": false, "properties": { + "BatchConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.BatchConfiguration" + }, "Description": { - "markdownDescription": "The description of the rule.", - "title": "Description", "type": "string" }, - "EventBusName": { - "markdownDescription": "The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used.", - "title": "EventBusName", + "EventBusArn": { "type": "string" }, - "EventPattern": { - "markdownDescription": "The event pattern of the rule. For more information, see [Events and Event Patterns](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) in the **Amazon EventBridge User Guide** .", - "title": "EventPattern", - "type": "object" + "FilterConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.FilterConfiguration" + }, + "InvokeConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.InvokeConfiguration" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.LogConfiguration" }, "Name": { - "markdownDescription": "The name of the rule.", - "title": "Name", "type": "string" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role that is used for target invocation.\n\nIf you're setting an event bus in another account as the target and that account granted permission to your account through an organization instead of directly by the account ID, you must specify a `RoleArn` with proper permissions in the `Target` structure, instead of here in this parameter.", - "title": "RoleArn", + "OnFailureConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.OnFailureConfiguration" + }, + "PointInTimeConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.PointInTimeConfiguration" + }, + "ResumePosition": { "type": "string" }, - "ScheduleExpression": { - "markdownDescription": "The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\". For more information, see [Creating an Amazon EventBridge rule that runs on a schedule](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html) .", - "title": "ScheduleExpression", + "RetryPolicy": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.RetryPolicy" + }, + "StartingPosition": { "type": "string" }, "State": { - "markdownDescription": "The state of the rule.\n\nValid values include:\n\n- `DISABLED` : The rule is disabled. EventBridge does not match any events against the rule.\n- `ENABLED` : The rule is enabled. EventBridge matches events against the rule, *except* for AWS management events delivered through CloudTrail.\n- `ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS` : The rule is enabled for all events, including AWS management events delivered through CloudTrail.\n\nManagement events provide visibility into management operations that are performed on resources in your AWS account. These are also known as control plane operations. For more information, see [Logging management events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) in the *CloudTrail User Guide* , and [Filtering management events from AWS services](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-cloudtrail) in the **Amazon EventBridge User Guide** .\n\nThis value is only valid for rules on the [default](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is-how-it-works-concepts.html#eb-bus-concepts-buses) event bus or [custom event buses](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-event-bus.html) . It does not apply to [partner event buses](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-saas.html) .", - "title": "State", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", - "title": "Tags", "type": "array" }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.Target" - }, - "markdownDescription": "Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.\n\nTargets are the resources that are invoked when a rule is triggered.\n\nThe maximum number of entries per request is 10.\n\n> Each rule can have up to five (5) targets associated with it at one time. \n\nFor a list of services you can configure as targets for events, see [EventBridge targets](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html) in the **Amazon EventBridge User Guide** .\n\nCreating rules with built-in targets is supported only in the AWS Management Console . The built-in targets are:\n\n- `Amazon EBS CreateSnapshot API call`\n- `Amazon EC2 RebootInstances API call`\n- `Amazon EC2 StopInstances API call`\n- `Amazon EC2 TerminateInstances API call`\n\nFor some target types, `PutTargets` provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the `KinesisParameters` argument. To invoke a command on multiple EC2 instances with one rule, you can use the `RunCommandParameters` field.\n\nTo be able to make API calls against the resources that you own, Amazon EventBridge needs the appropriate permissions:\n\n- For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies.\n- For EC2 instances, Kinesis Data Streams, AWS Step Functions state machines and API Gateway APIs, EventBridge relies on IAM roles that you specify in the `RoleARN` argument in `PutTargets` .\n\nFor more information, see [Authentication and Access Control](https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html) in the **Amazon EventBridge User Guide** .\n\nIf another AWS account is in the same region and has granted you permission (using `PutPermission` ), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the `Arn` value when you run `PutTargets` . If your account sends events to another account, your account is charged for each sent event. Each event sent to another account is charged as a custom event. The account receiving the event is not charged. For more information, see [Amazon EventBridge Pricing](https://docs.aws.amazon.com/eventbridge/pricing/) .\n\n> `Input` , `InputPath` , and `InputTransformer` are not available with `PutTarget` if the target is an event bus of a different AWS account. \n\nIf you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a `RoleArn` with proper permissions in the `Target` structure. For more information, see [Sending and Receiving Events Between AWS Accounts](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html) in the *Amazon EventBridge User Guide* .\n\n> If you have an IAM role on a cross-account event bus target, a `PutTargets` call without a role on the same target (same `Id` and `Arn` ) will not remove the role. \n\nFor more information about enabling cross-account events, see [PutPermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPermission.html) .\n\n*Input* , *InputPath* , and *InputTransformer* are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:\n\n- If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).\n- If *Input* is specified in the form of valid JSON, then the matched event is overridden with this constant.\n- If *InputPath* is specified in the form of JSONPath (for example, `$.detail` ), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).\n- If *InputTransformer* is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.\n\nWhen you specify `InputPath` or `InputTransformer` , you must use JSON dot notation, not bracket notation.\n\nWhen you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect.\n\nThis action can partially fail if too many requests are made at the same time. If that happens, `FailedEntryCount` is non-zero in the response and each entry in `FailedEntries` provides the ID of the failed target and the error code.", - "title": "Targets", - "type": "array" + "Transformer": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.Transformer" + }, + "Type": { + "type": "string" } }, + "required": [ + "EventBusArn", + "InvokeConfiguration", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::Rule" + "AWS::EventsV2::Subscriber" ], "type": "string" }, @@ -158785,593 +169226,394 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Events::Rule.AppSyncParameters": { + "AWS::EventsV2::Subscriber.BatchConfiguration": { "additionalProperties": false, "properties": { - "GraphQLOperation": { - "markdownDescription": "The GraphQL operation; that is, the query, mutation, or subscription to be parsed and executed by the GraphQL service.\n\nFor more information, see [Operations](https://docs.aws.amazon.com/appsync/latest/devguide/graphql-architecture.html#graphql-operations) in the *AWS AppSync User Guide* .", - "title": "GraphQLOperation", - "type": "string" + "MaxBatchSize": { + "type": "number" + }, + "MaxBatchWindowInSeconds": { + "type": "number" } }, - "required": [ - "GraphQLOperation" - ], "type": "object" }, - "AWS::Events::Rule.AwsVpcConfiguration": { + "AWS::EventsV2::Subscriber.DeduplicationConfiguration": { "additionalProperties": false, "properties": { - "AssignPublicIp": { - "markdownDescription": "Specifies whether the task's elastic network interface receives a public IP address. You can specify `ENABLED` only when `LaunchType` in `EcsParameters` is set to `FARGATE` .", - "title": "AssignPublicIp", + "DeduplicationType": { "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the security groups associated with the task. These security groups must all be in the same VPC. You can specify as many as five security groups. If you do not specify a security group, the default security group for the VPC is used.", - "title": "SecurityGroups", - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the subnets associated with the task. These subnets must all be in the same VPC. You can specify as many as 16 subnets.", - "title": "Subnets", - "type": "array" } }, "required": [ - "Subnets" + "DeduplicationType" ], "type": "object" }, - "AWS::Events::Rule.BatchArrayProperties": { + "AWS::EventsV2::Subscriber.EventBusV2Parameters": { "additionalProperties": false, "properties": { - "Size": { - "markdownDescription": "The size of the array, if this is an array batch job. Valid values are integers between 2 and 10,000.", - "title": "Size", - "type": "number" + "DeduplicationConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.DeduplicationConfiguration" + }, + "Metadata": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SystemMetadata": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.EventBusV2SystemMetadata" } }, "type": "object" }, - "AWS::Events::Rule.BatchParameters": { + "AWS::EventsV2::Subscriber.EventBusV2SystemMetadata": { "additionalProperties": false, "properties": { - "ArrayProperties": { - "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties", - "markdownDescription": "The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an AWS Batch job.", - "title": "ArrayProperties" - }, - "JobDefinition": { - "markdownDescription": "The ARN or name of the job definition to use if the event target is an AWS Batch job. This job definition must already exist.", - "title": "JobDefinition", + "DeduplicationId": { "type": "string" }, - "JobName": { - "markdownDescription": "The name to use for this execution of the job, if the target is an AWS Batch job.", - "title": "JobName", + "EventGroupId": { "type": "string" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy", - "markdownDescription": "The retry strategy to use for failed jobs, if the target is an AWS Batch job. The retry strategy is the number of times to retry the failed job execution. Valid values are 1\u201310. When you specify a retry strategy here, it overrides the retry strategy defined in the job definition.", - "title": "RetryStrategy" - } - }, - "required": [ - "JobDefinition", - "JobName" - ], - "type": "object" - }, - "AWS::Events::Rule.BatchRetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "markdownDescription": "The number of times to attempt to retry, if the job fails. Valid values are 1\u201310.", - "title": "Attempts", - "type": "number" } }, "type": "object" }, - "AWS::Events::Rule.CapacityProviderStrategyItem": { + "AWS::EventsV2::Subscriber.Filter": { "additionalProperties": false, "properties": { - "Base": { - "markdownDescription": "The base value designates how many tasks, at a minimum, to run on the specified capacity provider. 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.", - "title": "Base", - "type": "number" - }, - "CapacityProvider": { - "markdownDescription": "The short name of the capacity provider.", - "title": "CapacityProvider", + "Pattern": { "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.", - "title": "Weight", - "type": "number" + "Scope": { + "type": "string" } }, "required": [ - "CapacityProvider" + "Pattern", + "Scope" ], "type": "object" }, - "AWS::Events::Rule.DeadLetterConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "markdownDescription": "The ARN of the SQS queue specified as the target for the dead-letter queue.", - "title": "Arn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule.EcsParameters": { + "AWS::EventsV2::Subscriber.FilterConfiguration": { "additionalProperties": false, "properties": { - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.CapacityProviderStrategyItem" - }, - "markdownDescription": "The capacity provider strategy to use for the task.\n\nIf a `capacityProviderStrategy` is specified, the `launchType` parameter must be omitted. If no `capacityProviderStrategy` or launchType is specified, the `defaultCapacityProviderStrategy` for the cluster is used.", - "title": "CapacityProviderStrategy", - "type": "array" - }, - "EnableECSManagedTags": { - "markdownDescription": "Specifies whether to enable Amazon ECS managed tags for the task. For more information, see [Tagging Your Amazon ECS Resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the Amazon Elastic Container Service Developer Guide.", - "title": "EnableECSManagedTags", - "type": "boolean" - }, - "EnableExecuteCommand": { - "markdownDescription": "Whether or not to enable the execute command functionality for the containers in this task. If true, this enables execute command functionality on all containers in the task.", - "title": "EnableExecuteCommand", - "type": "boolean" - }, - "Group": { - "markdownDescription": "Specifies an ECS task group for the task. The maximum length is 255 characters.", - "title": "Group", - "type": "string" - }, - "LaunchType": { - "markdownDescription": "Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The `FARGATE` value is supported only in the Regions where AWS Fargate with Amazon ECS is supported. For more information, see [AWS Fargate on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "LaunchType", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration", - "markdownDescription": "Use this structure if the Amazon ECS task uses the `awsvpc` network mode. This structure specifies the VPC subnets and security groups associated with the task, and whether a public IP address is to be used. This structure is required if `LaunchType` is `FARGATE` because the `awsvpc` mode is required for Fargate tasks.\n\nIf you specify `NetworkConfiguration` when the target ECS task does not use the `awsvpc` network mode, the task fails.", - "title": "NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.PlacementConstraint" - }, - "markdownDescription": "An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).", - "title": "PlacementConstraints", - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.PlacementStrategy" - }, - "markdownDescription": "The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.", - "title": "PlacementStrategies", - "type": "array" - }, - "PlatformVersion": { - "markdownDescription": "Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as `1.1.0` .\n\nThis structure is used only if `LaunchType` is `FARGATE` . For more information about valid platform versions, see [AWS Fargate Platform Versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "PlatformVersion", - "type": "string" - }, - "PropagateTags": { - "markdownDescription": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.", - "title": "PropagateTags", - "type": "string" - }, - "ReferenceId": { - "markdownDescription": "The reference ID to use for the task.", - "title": "ReferenceId", - "type": "string" - }, - "TagList": { + "Filters": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::EventsV2::Subscriber.Filter" }, - "markdownDescription": "The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. To learn more, see [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html#ECS-RunTask-request-tags) in the Amazon ECS API Reference.", - "title": "TagList", "type": "array" }, - "TaskCount": { - "markdownDescription": "The number of tasks to create based on `TaskDefinition` . The default is 1.", - "title": "TaskCount", - "type": "number" - }, - "TaskDefinitionArn": { - "markdownDescription": "The ARN of the task definition to use if the event target is an Amazon ECS task.", - "title": "TaskDefinitionArn", + "Language": { "type": "string" } }, "required": [ - "TaskDefinitionArn" + "Filters" ], "type": "object" }, - "AWS::Events::Rule.HttpParameters": { + "AWS::EventsV2::Subscriber.HttpParameters": { "additionalProperties": false, "properties": { "HeaderParameters": { "additionalProperties": true, - "markdownDescription": "The headers that need to be sent as part of request invoking the API Gateway API or EventBridge ApiDestination.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, - "title": "HeaderParameters", "type": "object" }, + "InvocationTimeoutSeconds": { + "type": "string" + }, "PathParameterValues": { "items": { "type": "string" }, - "markdownDescription": "The path parameter values to be used to populate API Gateway API or EventBridge ApiDestination path wildcards (\"*\").", - "title": "PathParameterValues", "type": "array" }, "QueryStringParameters": { "additionalProperties": true, - "markdownDescription": "The query string keys/values that need to be sent as part of request invoking the API Gateway API or EventBridge ApiDestination.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, - "title": "QueryStringParameters", "type": "object" } }, "type": "object" }, - "AWS::Events::Rule.InputTransformer": { + "AWS::EventsV2::Subscriber.InvokeConfiguration": { "additionalProperties": false, "properties": { - "InputPathsMap": { - "additionalProperties": true, - "markdownDescription": "Map of JSON paths to be extracted from the event. You can then insert these in the template in `InputTemplate` to produce the output you want to be sent to the target.\n\n`InputPathsMap` is an array key-value pairs, where each value is a valid JSON path. You can have as many as 100 key-value pairs. You must use JSON dot notation, not bracket notation.\n\nThe keys cannot start with \" AWS .\"", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "InputPathsMap", - "type": "object" + "EventBusV2Parameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.EventBusV2Parameters" }, - "InputTemplate": { - "markdownDescription": "Input template where you specify placeholders that will be filled with the values of the keys from `InputPathsMap` to customize the data sent to the target. Enclose each `InputPathsMaps` value in brackets: < *value* >\n\nIf `InputTemplate` is a JSON object (surrounded by curly braces), the following restrictions apply:\n\n- The placeholder cannot be used as an object key.\n\nThe following example shows the syntax for using `InputPathsMap` and `InputTemplate` .\n\n`\"InputTransformer\":`\n\n`{`\n\n`\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},`\n\n`\"InputTemplate\": \" is in state \"`\n\n`}`\n\nTo have the `InputTemplate` include quote marks within a JSON string, escape each quote marks with a slash, as in the following example:\n\n`\"InputTransformer\":`\n\n`{`\n\n`\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},`\n\n`\"InputTemplate\": \" is in state \\\"\\\"\"`\n\n`}`\n\nThe `InputTemplate` can also be valid JSON with varibles in quotes or out, as in the following example:\n\n`\"InputTransformer\":`\n\n`{`\n\n`\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},`\n\n`\"InputTemplate\": '{\"myInstance\": ,\"myStatus\": \" is in state \\\"\\\"\"}'`\n\n`}`", - "title": "InputTemplate", + "HttpParameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.HttpParameters" + }, + "KinesisParameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.KinesisParameters" + }, + "LambdaParameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.LambdaParameters" + }, + "RoleArn": { "type": "string" + }, + "SnsParameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.SnsParameters" + }, + "SqsParameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.SqsParameters" + }, + "StepFunctionsParameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.StepFunctionsParameters" + }, + "TargetArn": { + "type": "object" + }, + "UniversalTargetParameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.UniversalTargetParameters" } }, "required": [ - "InputTemplate" + "RoleArn", + "TargetArn" ], "type": "object" }, - "AWS::Events::Rule.KinesisParameters": { + "AWS::EventsV2::Subscriber.JsonataConfiguration": { "additionalProperties": false, "properties": { - "PartitionKeyPath": { - "markdownDescription": "The JSON path to be extracted from the event and used as the partition key. For more information, see [Amazon Kinesis Streams Key Concepts](https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html#partition-key) in the *Amazon Kinesis Streams Developer Guide* .", - "title": "PartitionKeyPath", + "Expression": { "type": "string" } }, "required": [ - "PartitionKeyPath" + "Expression" ], "type": "object" }, - "AWS::Events::Rule.NetworkConfiguration": { + "AWS::EventsV2::Subscriber.KinesisParameters": { "additionalProperties": false, "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration", - "markdownDescription": "Use this structure to specify the VPC subnets and security groups for the task, and whether a public IP address is to be used. This structure is relevant only for ECS tasks that use the `awsvpc` network mode.", - "title": "AwsVpcConfiguration" + "ExplicitHashKey": { + "type": "string" + }, + "PartitionKey": { + "type": "string" } }, "type": "object" }, - "AWS::Events::Rule.PlacementConstraint": { + "AWS::EventsV2::Subscriber.LambdaParameters": { "additionalProperties": false, "properties": { - "Expression": { - "markdownDescription": "A cluster query language expression to apply to the constraint. You cannot specify an expression if the constraint type is `distinctInstance` . To learn more, 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", + "DurableExecutionName": { "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", + "InvocationTimeoutSeconds": { + "type": "string" + }, + "InvocationType": { + "type": "string" + }, + "Qualifier": { + "type": "string" + }, + "TenantId": { "type": "string" } }, "type": "object" }, - "AWS::Events::Rule.PlacementStrategy": { + "AWS::EventsV2::Subscriber.LogConfiguration": { "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 is 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", + "IncludePayload": { "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 is 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", + "Level": { "type": "string" } }, "type": "object" }, - "AWS::Events::Rule.RedshiftDataParameters": { + "AWS::EventsV2::Subscriber.MessageAttributeValue": { "additionalProperties": false, "properties": { - "Database": { - "markdownDescription": "The name of the database. Required when authenticating using temporary credentials.", - "title": "Database", - "type": "string" - }, - "DbUser": { - "markdownDescription": "The database user name. Required when authenticating using temporary credentials.", - "title": "DbUser", - "type": "string" - }, - "SecretManagerArn": { - "markdownDescription": "The name or ARN of the secret that enables access to the database. Required when authenticating using AWS Secrets Manager.", - "title": "SecretManagerArn", + "BinaryValue": { "type": "string" }, - "Sql": { - "markdownDescription": "The SQL statement text to run.", - "title": "Sql", + "DataType": { "type": "string" }, - "Sqls": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more SQL statements to run. The SQL statements are run as a single transaction. They run serially in the order of the array. Subsequent SQL statements don't start until the previous statement in the array completes. If any SQL statement fails, then because they are run as one transaction, all work is rolled back.", - "title": "Sqls", - "type": "array" - }, - "StatementName": { - "markdownDescription": "The name of the SQL statement. You can name the SQL statement when you create it to identify the query.", - "title": "StatementName", + "StringValue": { "type": "string" - }, - "WithEvent": { - "markdownDescription": "Indicates whether to send an event back to EventBridge after the SQL statement runs.", - "title": "WithEvent", - "type": "boolean" } }, "required": [ - "Database" + "DataType" ], "type": "object" }, - "AWS::Events::Rule.RetryPolicy": { + "AWS::EventsV2::Subscriber.OnFailureConfiguration": { "additionalProperties": false, "properties": { - "MaximumEventAgeInSeconds": { - "markdownDescription": "The maximum amount of time, in seconds, to continue to make retry attempts.", - "title": "MaximumEventAgeInSeconds", - "type": "number" - }, - "MaximumRetryAttempts": { - "markdownDescription": "The maximum number of retry attempts to make before the request fails. Retry attempts continue until either the maximum number of attempts is made or until the duration of the `MaximumEventAgeInSeconds` is met.", - "title": "MaximumRetryAttempts", - "type": "number" + "Arn": { + "type": "string" } }, "type": "object" }, - "AWS::Events::Rule.RunCommandParameters": { + "AWS::EventsV2::Subscriber.PointInTimeConfiguration": { "additionalProperties": false, "properties": { - "RunCommandTargets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" - }, - "markdownDescription": "Currently, we support including only one RunCommandTarget block, which specifies either an array of InstanceIds or a tag.", - "title": "RunCommandTargets", - "type": "array" + "EndPoint": { + "type": "number" + }, + "PointType": { + "type": "string" + }, + "StartingPoint": { + "type": "number" } }, "required": [ - "RunCommandTargets" + "PointType" ], "type": "object" }, - "AWS::Events::Rule.RunCommandTarget": { + "AWS::EventsV2::Subscriber.RetryPolicy": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "Can be either `tag:` *tag-key* or `InstanceIds` .", - "title": "Key", - "type": "string" + "MaxEventAgeInSeconds": { + "type": "number" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "If `Key` is `tag:` *tag-key* , `Values` is a list of tag values. If `Key` is `InstanceIds` , `Values` is a list of Amazon EC2 instance IDs.", - "title": "Values", - "type": "array" + "MaxRetryAttempts": { + "type": "number" + }, + "RetryStrategy": { + "type": "string" } }, - "required": [ - "Key", - "Values" - ], "type": "object" }, - "AWS::Events::Rule.SageMakerPipelineParameter": { + "AWS::EventsV2::Subscriber.SnsParameters": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "Name of parameter to start execution of a SageMaker AI Model Building Pipeline.", - "title": "Name", + "MessageAttributes": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.MessageAttributeValue" + } + }, + "type": "object" + }, + "MessageDeduplicationId": { "type": "string" }, - "Value": { - "markdownDescription": "Value of parameter to start execution of a SageMaker AI Model Building Pipeline.", - "title": "Value", + "MessageGroupId": { + "type": "string" + }, + "MessageStructure": { + "type": "string" + }, + "Subject": { "type": "string" } }, - "required": [ - "Name", - "Value" - ], "type": "object" }, - "AWS::Events::Rule.SageMakerPipelineParameters": { + "AWS::EventsV2::Subscriber.SqsParameters": { "additionalProperties": false, "properties": { - "PipelineParameterList": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameter" + "DelaySeconds": { + "type": "string" + }, + "MessageAttributes": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.MessageAttributeValue" + } }, - "markdownDescription": "List of Parameter names and values for SageMaker AI Model Building Pipeline execution.", - "title": "PipelineParameterList", - "type": "array" + "type": "object" + }, + "MessageDeduplicationId": { + "type": "string" + }, + "MessageGroupId": { + "type": "string" + }, + "MessageSystemAttributes": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.MessageAttributeValue" + } + }, + "type": "object" } }, "type": "object" }, - "AWS::Events::Rule.SqsParameters": { + "AWS::EventsV2::Subscriber.StepFunctionsParameters": { "additionalProperties": false, "properties": { - "MessageGroupId": { - "markdownDescription": "The ID of the message group to use as the target.", - "title": "MessageGroupId", + "InvocationTimeoutSeconds": { + "type": "string" + }, + "InvocationType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TraceHeader": { "type": "string" } }, - "required": [ - "MessageGroupId" - ], "type": "object" }, - "AWS::Events::Rule.Target": { + "AWS::EventsV2::Subscriber.Transformer": { "additionalProperties": false, "properties": { - "AppSyncParameters": { - "$ref": "#/definitions/AWS::Events::Rule.AppSyncParameters", - "markdownDescription": "Contains the GraphQL operation to be parsed and executed, if the event target is an AWS AppSync API.", - "title": "AppSyncParameters" - }, - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the target.", - "title": "Arn", - "type": "string" - }, - "BatchParameters": { - "$ref": "#/definitions/AWS::Events::Rule.BatchParameters", - "markdownDescription": "If the event target is an AWS Batch job, this contains the job definition, job name, and other parameters. For more information, see [Jobs](https://docs.aws.amazon.com/batch/latest/userguide/jobs.html) in the *AWS Batch User Guide* .", - "title": "BatchParameters" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig", - "markdownDescription": "The `DeadLetterConfig` that defines the target queue to send dead-letter queue events to.", - "title": "DeadLetterConfig" - }, - "EcsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.EcsParameters", - "markdownDescription": "Contains the Amazon ECS task definition and task count to be used, if the event target is an Amazon ECS task. For more information about Amazon ECS tasks, see [Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon EC2 Container Service Developer Guide* .", - "title": "EcsParameters" - }, - "HttpParameters": { - "$ref": "#/definitions/AWS::Events::Rule.HttpParameters", - "markdownDescription": "Contains the HTTP parameters to use when the target is a API Gateway endpoint or EventBridge ApiDestination.\n\nIf you specify an API Gateway API or EventBridge ApiDestination as a target, you can use this parameter to specify headers, path parameters, and query string keys/values as part of your target invoking request. If you're using ApiDestinations, the corresponding Connection can also have these values configured. In case of any conflicting keys, values from the Connection take precedence.", - "title": "HttpParameters" + "JsonataConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.JsonataConfiguration" }, - "Id": { - "markdownDescription": "The ID of the target within the specified rule. Use this ID to reference the target when updating the rule. We recommend using a memorable and unique string.", - "title": "Id", + "Type": { "type": "string" - }, + } + }, + "type": "object" + }, + "AWS::EventsV2::Subscriber.UniversalTargetParameters": { + "additionalProperties": false, + "properties": { "Input": { - "markdownDescription": "Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target. For more information, see [The JavaScript Object Notation (JSON) Data Interchange Format](https://docs.aws.amazon.com/http://www.rfc-editor.org/rfc/rfc7159.txt) .", - "title": "Input", "type": "string" }, - "InputPath": { - "markdownDescription": "The value of the JSONPath that is used for extracting part of the matched event when passing it to the target. You may use JSON dot notation or bracket notation. For more information about JSON paths, see [JSONPath](https://docs.aws.amazon.com/http://goessner.net/articles/JsonPath/) .", - "title": "InputPath", - "type": "string" - }, - "InputTransformer": { - "$ref": "#/definitions/AWS::Events::Rule.InputTransformer", - "markdownDescription": "Settings to enable you to provide custom input to a target based on certain event data. You can extract one or more key-value pairs from the event and then use that data to send customized input to the target.", - "title": "InputTransformer" - }, - "KinesisParameters": { - "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters", - "markdownDescription": "The custom parameter you can use to control the shard assignment, when the target is a Kinesis data stream. If you do not include this parameter, the default is to use the `eventId` as the partition key.", - "title": "KinesisParameters" - }, - "RedshiftDataParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters", - "markdownDescription": "Contains the Amazon Redshift Data API parameters to use when the target is a Amazon Redshift cluster.\n\nIf you specify a Amazon Redshift Cluster as a Target, you can use this to specify parameters to invoke the Amazon Redshift Data API ExecuteStatement based on EventBridge events.", - "title": "RedshiftDataParameters" - }, - "RetryPolicy": { - "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy", - "markdownDescription": "The retry policy configuration to use for the dead-letter queue.", - "title": "RetryPolicy" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to be used for this target when the rule is triggered. If one rule triggers multiple targets, you can use a different IAM role for each target.", - "title": "RoleArn", + "InvocationTimeoutSeconds": { "type": "string" - }, - "RunCommandParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters", - "markdownDescription": "Parameters used when you are using the rule to invoke Amazon EC2 Run Command.", - "title": "RunCommandParameters" - }, - "SageMakerPipelineParameters": { - "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameters", - "markdownDescription": "Contains the SageMaker AI Model Building Pipeline parameters to start execution of a SageMaker AI Model Building Pipeline.\n\nIf you specify a SageMaker AI Model Building Pipeline as a target, you can use this to specify parameters to start a pipeline execution based on EventBridge events.", - "title": "SageMakerPipelineParameters" - }, - "SqsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.SqsParameters", - "markdownDescription": "Contains the message group ID to use when the target is an Amazon SQS fair or FIFO queue.\n\nIf you specify a fair or FIFO queue as a target, the queue must have content-based deduplication enabled.", - "title": "SqsParameters" } }, "required": [ - "Arn", - "Id" + "Input" ], "type": "object" }, @@ -160286,39 +170528,97 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "An optional description for this segment.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "A name for the segment.", - "title": "Name", - "type": "string" - }, - "Pattern": { - "markdownDescription": "The pattern to use for the segment. For more information about pattern syntax, see [Segment rule pattern syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html#CloudWatch-Evidently-segments-syntax) .", - "title": "Pattern", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Assigns one or more tags (key-value pairs) to the feature.\n\nTags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.\n\nTags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.\n\nYou can associate as many as 50 tags with a feature.\n\nFor more information, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) .", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Name" - ], + "properties": { + "Description": { + "markdownDescription": "An optional description for this segment.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "A name for the segment.", + "title": "Name", + "type": "string" + }, + "Pattern": { + "markdownDescription": "The pattern to use for the segment. For more information about pattern syntax, see [Segment rule pattern syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html#CloudWatch-Evidently-segments-syntax) .", + "title": "Pattern", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Assigns one or more tags (key-value pairs) to the feature.\n\nTags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.\n\nTags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.\n\nYou can associate as many as 50 tags with a feature.\n\nFor more information, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Evidently::Segment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "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::Evidently::Segment" + "AWS::FIS::Action" ], "type": "string" }, @@ -160332,8 +170632,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -160998,6 +171297,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 +171890,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 +172065,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 +172288,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": { @@ -162993,6 +173718,134 @@ }, "type": "object" }, + "AWS::FSx::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": { + "FileSystemId": { + "type": "string" + }, + "Paths": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReleaseConfiguration": { + "$ref": "#/definitions/AWS::FSx::Task.ReleaseConfiguration" + }, + "Report": { + "$ref": "#/definitions/AWS::FSx::Task.CompletionReport" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FSx::Task" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FSx::Task.CompletionReport": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Format": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Scope": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::FSx::Task.DurationSinceLastAccess": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::FSx::Task.ReleaseConfiguration": { + "additionalProperties": false, + "properties": { + "DurationSinceLastAccess": { + "$ref": "#/definitions/AWS::FSx::Task.DurationSinceLastAccess" + } + }, + "type": "object" + }, "AWS::FSx::Volume": { "additionalProperties": false, "properties": { @@ -168713,6 +179566,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": { @@ -177604,37 +189078,453 @@ "additionalProperties": false, "properties": { "ContactPostPassDurationSeconds": { - "markdownDescription": "Amount of time, in seconds, after a contact ends that the Ground Station Dataflow Endpoint Group will be in a POSTPASS state.", + "markdownDescription": "Amount of time, in seconds, after a contact ends that the Ground Station Dataflow Endpoint Group will be in a POSTPASS state.", + "title": "ContactPostPassDurationSeconds", + "type": "number" + }, + "ContactPrePassDurationSeconds": { + "markdownDescription": "Amount of time, in seconds, before a contact starts that the Ground Station Dataflow Endpoint Group will be in a PREPASS state.", + "title": "ContactPrePassDurationSeconds", + "type": "number" + }, + "Endpoints": { + "items": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.CreateEndpointDetails" + }, + "markdownDescription": "List of endpoints for the dataflow endpoint group.", + "title": "Endpoints", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags assigned to a resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::DataflowEndpointGroupV2" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.ConnectionDetails": { + "additionalProperties": false, + "properties": { + "Mtu": { + "markdownDescription": "Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.", + "title": "Mtu", + "type": "number" + }, + "SocketAddress": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.SocketAddress", + "markdownDescription": "A socket address.", + "title": "SocketAddress" + } + }, + "required": [ + "SocketAddress" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.CreateEndpointDetails": { + "additionalProperties": false, + "properties": { + "DownlinkAwsGroundStationAgentEndpoint": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpoint", + "markdownDescription": "Definition for a downlink agent endpoint", + "title": "DownlinkAwsGroundStationAgentEndpoint" + }, + "UplinkAwsGroundStationAgentEndpoint": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpoint", + "markdownDescription": "Definition for an uplink agent endpoint", + "title": "UplinkAwsGroundStationAgentEndpoint" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpoint": { + "additionalProperties": false, + "properties": { + "DataflowDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkDataflowDetails", + "markdownDescription": "Dataflow details for the downlink endpoint", + "title": "DataflowDetails" + }, + "Name": { + "markdownDescription": "Downlink dataflow endpoint name", + "title": "Name", + "type": "string" + } + }, + "required": [ + "DataflowDetails", + "Name" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpointDetails": { + "additionalProperties": false, + "properties": { + "AgentStatus": { + "markdownDescription": "Status of the agent associated with the downlink dataflow endpoint", + "title": "AgentStatus", + "type": "string" + }, + "AuditResults": { + "markdownDescription": "Health audit results for the downlink dataflow endpoint", + "title": "AuditResults", + "type": "string" + }, + "DataflowDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkDataflowDetails", + "markdownDescription": "Dataflow details for the downlink endpoint", + "title": "DataflowDetails" + }, + "Name": { + "markdownDescription": "Downlink dataflow endpoint name", + "title": "Name", + "type": "string" + } + }, + "required": [ + "DataflowDetails", + "Name" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkConnectionDetails": { + "additionalProperties": false, + "properties": { + "AgentIpAndPortAddress": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.RangedConnectionDetails", + "markdownDescription": "Agent IP and port address for the downlink connection.", + "title": "AgentIpAndPortAddress" + }, + "EgressAddressAndPort": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.ConnectionDetails", + "markdownDescription": "Egress address and port for the downlink connection.", + "title": "EgressAddressAndPort" + } + }, + "required": [ + "AgentIpAndPortAddress", + "EgressAddressAndPort" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkDataflowDetails": { + "additionalProperties": false, + "properties": { + "AgentConnectionDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkConnectionDetails", + "markdownDescription": "Downlink connection details for customer to Agent and Agent to Ground Station", + "title": "AgentConnectionDetails" + } + }, + "required": [ + "AgentConnectionDetails" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.EndpointDetails": { + "additionalProperties": false, + "properties": { + "DownlinkAwsGroundStationAgentEndpoint": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpointDetails", + "markdownDescription": "Definition for a downlink agent endpoint", + "title": "DownlinkAwsGroundStationAgentEndpoint" + }, + "UplinkAwsGroundStationAgentEndpoint": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpointDetails", + "markdownDescription": "Definition for an uplink agent endpoint", + "title": "UplinkAwsGroundStationAgentEndpoint" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.IntegerRange": { + "additionalProperties": false, + "properties": { + "Maximum": { + "markdownDescription": "A maximum value.", + "title": "Maximum", + "type": "number" + }, + "Minimum": { + "markdownDescription": "A minimum value.", + "title": "Minimum", + "type": "number" + } + }, + "required": [ + "Maximum", + "Minimum" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.RangedConnectionDetails": { + "additionalProperties": false, + "properties": { + "Mtu": { + "markdownDescription": "Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.", + "title": "Mtu", + "type": "number" + }, + "SocketAddress": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.RangedSocketAddress", + "markdownDescription": "A ranged socket address.", + "title": "SocketAddress" + } + }, + "required": [ + "SocketAddress" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.RangedSocketAddress": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "IPv4 socket address.", + "title": "Name", + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.IntegerRange", + "markdownDescription": "Port range of a socket address.", + "title": "PortRange" + } + }, + "required": [ + "Name", + "PortRange" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.SocketAddress": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "Name of a socket address.", + "title": "Name", + "type": "string" + }, + "Port": { + "markdownDescription": "Port of a socket address.", + "title": "Port", + "type": "number" + } + }, + "required": [ + "Name", + "Port" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpoint": { + "additionalProperties": false, + "properties": { + "DataflowDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkDataflowDetails", + "markdownDescription": "Dataflow details for the uplink endpoint", + "title": "DataflowDetails" + }, + "Name": { + "markdownDescription": "Uplink dataflow endpoint name", + "title": "Name", + "type": "string" + } + }, + "required": [ + "DataflowDetails", + "Name" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpointDetails": { + "additionalProperties": false, + "properties": { + "AgentStatus": { + "markdownDescription": "Status of the agent associated with the uplink dataflow endpoint", + "title": "AgentStatus", + "type": "string" + }, + "AuditResults": { + "markdownDescription": "Health audit results for the uplink dataflow endpoint", + "title": "AuditResults", + "type": "string" + }, + "DataflowDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkDataflowDetails", + "markdownDescription": "Dataflow details for the uplink endpoint", + "title": "DataflowDetails" + }, + "Name": { + "markdownDescription": "Uplink dataflow endpoint name", + "title": "Name", + "type": "string" + } + }, + "required": [ + "DataflowDetails", + "Name" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.UplinkConnectionDetails": { + "additionalProperties": false, + "properties": { + "AgentIpAndPortAddress": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.RangedConnectionDetails", + "markdownDescription": "Agent IP and port address for the uplink connection.", + "title": "AgentIpAndPortAddress" + }, + "IngressAddressAndPort": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.ConnectionDetails", + "markdownDescription": "Ingress address and port for the uplink connection.", + "title": "IngressAddressAndPort" + } + }, + "required": [ + "AgentIpAndPortAddress", + "IngressAddressAndPort" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.UplinkDataflowDetails": { + "additionalProperties": false, + "properties": { + "AgentConnectionDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkConnectionDetails", + "markdownDescription": "Uplink connection details for customer to Agent and Agent to Ground Station", + "title": "AgentConnectionDetails" + } + }, + "required": [ + "AgentConnectionDetails" + ], + "type": "object" + }, + "AWS::GroundStation::MissionProfile": { + "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": { + "ContactPostPassDurationSeconds": { + "markdownDescription": "Amount of time in seconds after a contact ends that you\u2019d like to receive a Ground Station Contact State Change indicating the pass has finished.", "title": "ContactPostPassDurationSeconds", "type": "number" }, "ContactPrePassDurationSeconds": { - "markdownDescription": "Amount of time, in seconds, before a contact starts that the Ground Station Dataflow Endpoint Group will be in a PREPASS state.", + "markdownDescription": "Amount of time in seconds prior to contact start that you'd like to receive a Ground Station Contact State Change Event indicating an upcoming pass.", "title": "ContactPrePassDurationSeconds", "type": "number" }, - "Endpoints": { + "DataflowEdges": { "items": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.CreateEndpointDetails" + "$ref": "#/definitions/AWS::GroundStation::MissionProfile.DataflowEdge" }, - "markdownDescription": "List of endpoints for the dataflow endpoint group.", - "title": "Endpoints", + "markdownDescription": "A list containing lists of config ARNs. Each list of config ARNs is an edge, with a \"from\" config and a \"to\" config.", + "title": "DataflowEdges", "type": "array" }, + "MinimumViableContactDurationSeconds": { + "markdownDescription": "Minimum length of a contact in seconds that Ground Station will return when listing contacts. Ground Station will not return contacts shorter than this duration.", + "title": "MinimumViableContactDurationSeconds", + "type": "number" + }, + "Name": { + "markdownDescription": "The name of the mission profile.", + "title": "Name", + "type": "string" + }, + "StreamsKmsKey": { + "$ref": "#/definitions/AWS::GroundStation::MissionProfile.StreamsKmsKey", + "markdownDescription": "KMS key to use for encrypting streams.", + "title": "StreamsKmsKey" + }, + "StreamsKmsRole": { + "markdownDescription": "Role to use for encrypting streams with KMS key.", + "title": "StreamsKmsRole", + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Tags assigned to a resource.", + "markdownDescription": "Tags assigned to the mission profile.", "title": "Tags", "type": "array" + }, + "TelemetrySinkConfigArn": { + "type": "string" + }, + "TrackingConfigArn": { + "markdownDescription": "The ARN of a tracking config objects that defines how to track the satellite through the sky during a contact.", + "title": "TrackingConfigArn", + "type": "string" } }, + "required": [ + "DataflowEdges", + "MinimumViableContactDurationSeconds", + "Name", + "TrackingConfigArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::GroundStation::DataflowEndpointGroupV2" + "AWS::GroundStation::MissionProfile" ], "type": "string" }, @@ -177648,309 +189538,49 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.ConnectionDetails": { - "additionalProperties": false, - "properties": { - "Mtu": { - "markdownDescription": "Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.", - "title": "Mtu", - "type": "number" - }, - "SocketAddress": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.SocketAddress", - "markdownDescription": "A socket address.", - "title": "SocketAddress" - } - }, - "required": [ - "SocketAddress" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.CreateEndpointDetails": { - "additionalProperties": false, - "properties": { - "DownlinkAwsGroundStationAgentEndpoint": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpoint", - "markdownDescription": "Definition for a downlink agent endpoint", - "title": "DownlinkAwsGroundStationAgentEndpoint" - }, - "UplinkAwsGroundStationAgentEndpoint": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpoint", - "markdownDescription": "Definition for an uplink agent endpoint", - "title": "UplinkAwsGroundStationAgentEndpoint" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpoint": { - "additionalProperties": false, - "properties": { - "DataflowDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkDataflowDetails", - "markdownDescription": "Dataflow details for the downlink endpoint", - "title": "DataflowDetails" - }, - "Name": { - "markdownDescription": "Downlink dataflow endpoint name", - "title": "Name", - "type": "string" - } - }, - "required": [ - "DataflowDetails", - "Name" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpointDetails": { - "additionalProperties": false, - "properties": { - "AgentStatus": { - "markdownDescription": "Status of the agent associated with the downlink dataflow endpoint", - "title": "AgentStatus", - "type": "string" - }, - "AuditResults": { - "markdownDescription": "Health audit results for the downlink dataflow endpoint", - "title": "AuditResults", - "type": "string" - }, - "DataflowDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkDataflowDetails", - "markdownDescription": "Dataflow details for the downlink endpoint", - "title": "DataflowDetails" - }, - "Name": { - "markdownDescription": "Downlink dataflow endpoint name", - "title": "Name", - "type": "string" - } - }, - "required": [ - "DataflowDetails", - "Name" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkConnectionDetails": { - "additionalProperties": false, - "properties": { - "AgentIpAndPortAddress": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.RangedConnectionDetails", - "markdownDescription": "Agent IP and port address for the downlink connection.", - "title": "AgentIpAndPortAddress" - }, - "EgressAddressAndPort": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.ConnectionDetails", - "markdownDescription": "Egress address and port for the downlink connection.", - "title": "EgressAddressAndPort" - } - }, - "required": [ - "AgentIpAndPortAddress", - "EgressAddressAndPort" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkDataflowDetails": { - "additionalProperties": false, - "properties": { - "AgentConnectionDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkConnectionDetails", - "markdownDescription": "Downlink connection details for customer to Agent and Agent to Ground Station", - "title": "AgentConnectionDetails" - } - }, - "required": [ - "AgentConnectionDetails" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.EndpointDetails": { - "additionalProperties": false, - "properties": { - "DownlinkAwsGroundStationAgentEndpoint": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpointDetails", - "markdownDescription": "Definition for a downlink agent endpoint", - "title": "DownlinkAwsGroundStationAgentEndpoint" - }, - "UplinkAwsGroundStationAgentEndpoint": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpointDetails", - "markdownDescription": "Definition for an uplink agent endpoint", - "title": "UplinkAwsGroundStationAgentEndpoint" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.IntegerRange": { - "additionalProperties": false, - "properties": { - "Maximum": { - "markdownDescription": "A maximum value.", - "title": "Maximum", - "type": "number" - }, - "Minimum": { - "markdownDescription": "A minimum value.", - "title": "Minimum", - "type": "number" - } - }, - "required": [ - "Maximum", - "Minimum" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.RangedConnectionDetails": { - "additionalProperties": false, - "properties": { - "Mtu": { - "markdownDescription": "Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.", - "title": "Mtu", - "type": "number" - }, - "SocketAddress": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.RangedSocketAddress", - "markdownDescription": "A ranged socket address.", - "title": "SocketAddress" - } - }, - "required": [ - "SocketAddress" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.RangedSocketAddress": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "IPv4 socket address.", - "title": "Name", - "type": "string" - }, - "PortRange": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.IntegerRange", - "markdownDescription": "Port range of a socket address.", - "title": "PortRange" - } - }, - "required": [ - "Name", - "PortRange" + "Type", + "Properties" ], "type": "object" }, - "AWS::GroundStation::DataflowEndpointGroupV2.SocketAddress": { + "AWS::GroundStation::MissionProfile.DataflowEdge": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "Name of a socket address.", - "title": "Name", + "Destination": { + "markdownDescription": "The ARN of the destination for this dataflow edge. For example, specify the ARN of a dataflow endpoint config for a downlink edge or an antenna uplink config for an uplink edge.", + "title": "Destination", "type": "string" }, - "Port": { - "markdownDescription": "Port of a socket address.", - "title": "Port", - "type": "number" - } - }, - "required": [ - "Name", - "Port" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpoint": { - "additionalProperties": false, - "properties": { - "DataflowDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkDataflowDetails", - "markdownDescription": "Dataflow details for the uplink endpoint", - "title": "DataflowDetails" - }, - "Name": { - "markdownDescription": "Uplink dataflow endpoint name", - "title": "Name", + "Source": { + "markdownDescription": "The ARN of the source for this dataflow edge. For example, specify the ARN of an antenna downlink config for a downlink edge or a dataflow endpoint config for an uplink edge.", + "title": "Source", "type": "string" } }, - "required": [ - "DataflowDetails", - "Name" - ], "type": "object" }, - "AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpointDetails": { + "AWS::GroundStation::MissionProfile.StreamsKmsKey": { "additionalProperties": false, "properties": { - "AgentStatus": { - "markdownDescription": "Status of the agent associated with the uplink dataflow endpoint", - "title": "AgentStatus", + "KmsAliasArn": { + "markdownDescription": "KMS Alias Arn.", + "title": "KmsAliasArn", "type": "string" }, - "AuditResults": { - "markdownDescription": "Health audit results for the uplink dataflow endpoint", - "title": "AuditResults", + "KmsAliasName": { + "markdownDescription": "KMS Alias Name.", + "title": "KmsAliasName", "type": "string" }, - "DataflowDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkDataflowDetails", - "markdownDescription": "Dataflow details for the uplink endpoint", - "title": "DataflowDetails" - }, - "Name": { - "markdownDescription": "Uplink dataflow endpoint name", - "title": "Name", + "KmsKeyArn": { + "markdownDescription": "KMS Key Arn.", + "title": "KmsKeyArn", "type": "string" } }, - "required": [ - "DataflowDetails", - "Name" - ], "type": "object" }, - "AWS::GroundStation::DataflowEndpointGroupV2.UplinkConnectionDetails": { - "additionalProperties": false, - "properties": { - "AgentIpAndPortAddress": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.RangedConnectionDetails", - "markdownDescription": "Agent IP and port address for the uplink connection.", - "title": "AgentIpAndPortAddress" - }, - "IngressAddressAndPort": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.ConnectionDetails", - "markdownDescription": "Ingress address and port for the uplink connection.", - "title": "IngressAddressAndPort" - } - }, - "required": [ - "AgentIpAndPortAddress", - "IngressAddressAndPort" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.UplinkDataflowDetails": { - "additionalProperties": false, - "properties": { - "AgentConnectionDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkConnectionDetails", - "markdownDescription": "Uplink connection details for customer to Agent and Agent to Ground Station", - "title": "AgentConnectionDetails" - } - }, - "required": [ - "AgentConnectionDetails" - ], - "type": "object" - }, - "AWS::GroundStation::MissionProfile": { + "AWS::GroundStation::Satellite": { "additionalProperties": false, "properties": { "Condition": { @@ -177984,73 +189614,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "ContactPostPassDurationSeconds": { - "markdownDescription": "Amount of time in seconds after a contact ends that you\u2019d like to receive a Ground Station Contact State Change indicating the pass has finished.", - "title": "ContactPostPassDurationSeconds", - "type": "number" - }, - "ContactPrePassDurationSeconds": { - "markdownDescription": "Amount of time in seconds prior to contact start that you'd like to receive a Ground Station Contact State Change Event indicating an upcoming pass.", - "title": "ContactPrePassDurationSeconds", - "type": "number" - }, - "DataflowEdges": { - "items": { - "$ref": "#/definitions/AWS::GroundStation::MissionProfile.DataflowEdge" - }, - "markdownDescription": "A list containing lists of config ARNs. Each list of config ARNs is an edge, with a \"from\" config and a \"to\" config.", - "title": "DataflowEdges", - "type": "array" - }, - "MinimumViableContactDurationSeconds": { - "markdownDescription": "Minimum length of a contact in seconds that Ground Station will return when listing contacts. Ground Station will not return contacts shorter than this duration.", - "title": "MinimumViableContactDurationSeconds", - "type": "number" - }, - "Name": { - "markdownDescription": "The name of the mission profile.", - "title": "Name", - "type": "string" - }, - "StreamsKmsKey": { - "$ref": "#/definitions/AWS::GroundStation::MissionProfile.StreamsKmsKey", - "markdownDescription": "KMS key to use for encrypting streams.", - "title": "StreamsKmsKey" - }, - "StreamsKmsRole": { - "markdownDescription": "Role to use for encrypting streams with KMS key.", - "title": "StreamsKmsRole", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags assigned to the mission profile.", - "title": "Tags", - "type": "array" - }, - "TelemetrySinkConfigArn": { - "type": "string" - }, - "TrackingConfigArn": { - "markdownDescription": "The ARN of a tracking config objects that defines how to track the satellite through the sky during a contact.", - "title": "TrackingConfigArn", - "type": "string" - } - }, - "required": [ - "DataflowEdges", - "MinimumViableContactDurationSeconds", - "Name", - "TrackingConfigArn" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::GroundStation::MissionProfile" + "AWS::GroundStation::Satellite" ], "type": "string" }, @@ -178064,46 +189633,23 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::GroundStation::MissionProfile.DataflowEdge": { + "AWS::GroundStation::Satellite.EphemerisMetaData": { "additionalProperties": false, "properties": { - "Destination": { - "markdownDescription": "The ARN of the destination for this dataflow edge. For example, specify the ARN of a dataflow endpoint config for a downlink edge or an antenna uplink config for an uplink edge.", - "title": "Destination", + "Epoch": { "type": "string" }, "Source": { - "markdownDescription": "The ARN of the source for this dataflow edge. For example, specify the ARN of an antenna downlink config for a downlink edge or a dataflow endpoint config for an uplink edge.", - "title": "Source", - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::MissionProfile.StreamsKmsKey": { - "additionalProperties": false, - "properties": { - "KmsAliasArn": { - "markdownDescription": "KMS Alias Arn.", - "title": "KmsAliasArn", - "type": "string" - }, - "KmsAliasName": { - "markdownDescription": "KMS Alias Name.", - "title": "KmsAliasName", - "type": "string" - }, - "KmsKeyArn": { - "markdownDescription": "KMS Key Arn.", - "title": "KmsKeyArn", "type": "string" } }, + "required": [ + "Source" + ], "type": "object" }, "AWS::GuardDuty::CustomDetectionRuleAssociation": { @@ -178600,6 +190146,12 @@ "title": "Lte", "type": "number" }, + "Matches": { + "items": { + "type": "string" + }, + "type": "array" + }, "Neq": { "items": { "type": "string" @@ -178615,6 +190167,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" @@ -179283,38 +190841,159 @@ "additionalProperties": false, "properties": { "Activate": { - "markdownDescription": "A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to consider the entries in this list and generate findings based on associated activity, this list must be active.", + "markdownDescription": "A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to consider the entries in this list and generate findings based on associated activity, this list must be active.", + "title": "Activate", + "type": "boolean" + }, + "DetectorId": { + "markdownDescription": "The unique regional detector ID of the GuardDuty account for which you want to create a threat entity set.\n\nTo find the `detectorId` in the current Region, see the Settings page in the GuardDuty console, or run the [ListDetectors](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API.", + "title": "DetectorId", + "type": "string" + }, + "ExpectedBucketOwner": { + "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.\n\nWhether or not you provide the account ID for this optional field, GuardDuty validates that the account ID associated with the `DetectorId` owns the S3 bucket in the `Location` field. If GuardDuty finds that this S3 bucket doesn't belong to the specified account ID, you will get an error at the time of activating this list.", + "title": "ExpectedBucketOwner", + "type": "string" + }, + "Format": { + "markdownDescription": "The format of the file that contains the threat entity set. For information about supported formats, see [List formats](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list) in the *Amazon GuardDuty User Guide* .", + "title": "Format", + "type": "string" + }, + "Location": { + "markdownDescription": "The URI of the file that contains the threat entity set.", + "title": "Location", + "type": "string" + }, + "Name": { + "markdownDescription": "The user-friendly name to identify the threat entity set. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::GuardDuty::ThreatEntitySet.TagItem" + }, + "markdownDescription": "The tags to be added to a new threat entity set resource. Each tag consists of a key and an optional value, both of which you define.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Format", + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::ThreatEntitySet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatEntitySet.TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The tag key.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The tag value. This is optional.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { + "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": { + "Activate": { + "markdownDescription": "A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to be able to generate findings based on an activity associated with these entries, this list must be active.", "title": "Activate", "type": "boolean" }, "DetectorId": { - "markdownDescription": "The unique regional detector ID of the GuardDuty account for which you want to create a threat entity set.\n\nTo find the `detectorId` in the current Region, see the Settings page in the GuardDuty console, or run the [ListDetectors](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API.", + "markdownDescription": "The unique ID of the detector of the GuardDuty account for which you want to create a `threatIntelSet` .\n\nTo find the `detectorId` in the current Region, see the\nSettings page in the GuardDuty console, or run the [ListDetectors](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API.", "title": "DetectorId", "type": "string" }, "ExpectedBucketOwner": { - "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.\n\nWhether or not you provide the account ID for this optional field, GuardDuty validates that the account ID associated with the `DetectorId` owns the S3 bucket in the `Location` field. If GuardDuty finds that this S3 bucket doesn't belong to the specified account ID, you will get an error at the time of activating this list.", + "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.\n\nWhen you provide this account ID, GuardDuty will validate that the S3 bucket belongs to this account. If you don't specify an account ID owner, GuardDuty doesn't perform any validation.", "title": "ExpectedBucketOwner", "type": "string" }, "Format": { - "markdownDescription": "The format of the file that contains the threat entity set. For information about supported formats, see [List formats](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list) in the *Amazon GuardDuty User Guide* .", + "markdownDescription": "The format of the file that contains the `ThreatIntelSet` . For information about supported formats, see [List formats](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list) in the *Amazon GuardDuty User Guide* .", "title": "Format", "type": "string" }, "Location": { - "markdownDescription": "The URI of the file that contains the threat entity set.", + "markdownDescription": "The URI of the file that contains the ThreatIntelSet.", "title": "Location", "type": "string" }, "Name": { - "markdownDescription": "The user-friendly name to identify the threat entity set. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).", + "markdownDescription": "The user-friendly name to identify the ThreatIntelSet.\n\nThe name of your list must be unique within an AWS account and Region. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).", "title": "Name", "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::GuardDuty::ThreatEntitySet.TagItem" + "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet.TagItem" }, "markdownDescription": "The tags to be added to a new threat entity set resource. Each tag consists of a key and an optional value, both of which you define.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", "title": "Tags", @@ -179329,7 +191008,7 @@ }, "Type": { "enum": [ - "AWS::GuardDuty::ThreatEntitySet" + "AWS::GuardDuty::ThreatIntelSet" ], "type": "string" }, @@ -179348,7 +191027,7 @@ ], "type": "object" }, - "AWS::GuardDuty::ThreatEntitySet.TagItem": { + "AWS::GuardDuty::ThreatIntelSet.TagItem": { "additionalProperties": false, "properties": { "Key": { @@ -179357,7 +191036,7 @@ "type": "string" }, "Value": { - "markdownDescription": "The tag value. This is optional.", + "markdownDescription": "The tag value.", "title": "Value", "type": "string" } @@ -179368,7 +191047,7 @@ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::GuardDuty::TrustedEntitySet": { "additionalProperties": false, "properties": { "Condition": { @@ -179404,40 +191083,40 @@ "additionalProperties": false, "properties": { "Activate": { - "markdownDescription": "A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to be able to generate findings based on an activity associated with these entries, this list must be active.", + "markdownDescription": "A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to prevent generating findings based on an activity associated with these entries, this list must be active.", "title": "Activate", "type": "boolean" }, "DetectorId": { - "markdownDescription": "The unique ID of the detector of the GuardDuty account for which you want to create a `threatIntelSet` .\n\nTo find the `detectorId` in the current Region, see the\nSettings page in the GuardDuty console, or run the [ListDetectors](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API.", + "markdownDescription": "The unique regional detector ID of the GuardDuty account for which you want to create a trusted entity set.\n\nTo find the `detectorId` in the current Region, see the Settings page in the GuardDuty console, or run the [ListDetectors](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API.", "title": "DetectorId", "type": "string" }, "ExpectedBucketOwner": { - "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.\n\nWhen you provide this account ID, GuardDuty will validate that the S3 bucket belongs to this account. If you don't specify an account ID owner, GuardDuty doesn't perform any validation.", + "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.\n\nWhether or not you provide the account ID for this optional field, GuardDuty validates that the account ID associated with the `DetectorId` value owns the S3 bucket in the `Location` field. If GuardDuty finds that this S3 bucket doesn't belong to the specified account ID, you will get an error at the time of activating this list.", "title": "ExpectedBucketOwner", "type": "string" }, "Format": { - "markdownDescription": "The format of the file that contains the `ThreatIntelSet` . For information about supported formats, see [List formats](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list) in the *Amazon GuardDuty User Guide* .", + "markdownDescription": "The format of the file that contains the trusted entity set. For information about supported formats, see [List formats](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list) in the *Amazon GuardDuty User Guide* .", "title": "Format", "type": "string" }, "Location": { - "markdownDescription": "The URI of the file that contains the ThreatIntelSet.", + "markdownDescription": "The URI of the file that contains the trusted entity set.", "title": "Location", "type": "string" }, "Name": { - "markdownDescription": "The user-friendly name to identify the ThreatIntelSet.\n\nThe name of your list must be unique within an AWS account and Region. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).", + "markdownDescription": "A user-friendly name to identify the trusted entity set. Valid characters include lowercase letters, uppercase letters, numbers, dash(-), and underscore (_).", "title": "Name", "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet.TagItem" + "$ref": "#/definitions/AWS::GuardDuty::TrustedEntitySet.TagItem" }, - "markdownDescription": "The tags to be added to a new threat entity set resource. Each tag consists of a key and an optional value, both of which you define.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "markdownDescription": "The tags to be added to a new trusted entity set resource. Each tag consists of a key and an optional value, both of which you define.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", "title": "Tags", "type": "array" } @@ -179450,7 +191129,7 @@ }, "Type": { "enum": [ - "AWS::GuardDuty::ThreatIntelSet" + "AWS::GuardDuty::TrustedEntitySet" ], "type": "string" }, @@ -179469,7 +191148,7 @@ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet.TagItem": { + "AWS::GuardDuty::TrustedEntitySet.TagItem": { "additionalProperties": false, "properties": { "Key": { @@ -179478,7 +191157,7 @@ "type": "string" }, "Value": { - "markdownDescription": "The tag value.", + "markdownDescription": "The tag value. This is optional.", "title": "Value", "type": "string" } @@ -179489,7 +191168,7 @@ ], "type": "object" }, - "AWS::GuardDuty::TrustedEntitySet": { + "AWS::HealthAgent::Domain": { "additionalProperties": false, "properties": { "Condition": { @@ -179524,54 +191203,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "markdownDescription": "A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to prevent generating findings based on an activity associated with these entries, this list must be active.", - "title": "Activate", - "type": "boolean" - }, - "DetectorId": { - "markdownDescription": "The unique regional detector ID of the GuardDuty account for which you want to create a trusted entity set.\n\nTo find the `detectorId` in the current Region, see the Settings page in the GuardDuty console, or run the [ListDetectors](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API.", - "title": "DetectorId", - "type": "string" - }, - "ExpectedBucketOwner": { - "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.\n\nWhether or not you provide the account ID for this optional field, GuardDuty validates that the account ID associated with the `DetectorId` value owns the S3 bucket in the `Location` field. If GuardDuty finds that this S3 bucket doesn't belong to the specified account ID, you will get an error at the time of activating this list.", - "title": "ExpectedBucketOwner", - "type": "string" - }, - "Format": { - "markdownDescription": "The format of the file that contains the trusted entity set. For information about supported formats, see [List formats](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list) in the *Amazon GuardDuty User Guide* .", - "title": "Format", - "type": "string" - }, - "Location": { - "markdownDescription": "The URI of the file that contains the trusted entity set.", - "title": "Location", - "type": "string" - }, "Name": { - "markdownDescription": "A user-friendly name to identify the trusted entity set. Valid characters include lowercase letters, uppercase letters, numbers, dash(-), and underscore (_).", - "title": "Name", "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::GuardDuty::TrustedEntitySet.TagItem" + "$ref": "#/definitions/AWS::HealthAgent::Domain.TagsItems" }, - "markdownDescription": "The tags to be added to a new trusted entity set resource. Each tag consists of a key and an optional value, both of which you define.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", "type": "array" } }, "required": [ - "Format", - "Location" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::TrustedEntitySet" + "AWS::HealthAgent::Domain" ], "type": "string" }, @@ -179590,17 +191239,25 @@ ], "type": "object" }, - "AWS::GuardDuty::TrustedEntitySet.TagItem": { + "AWS::HealthAgent::Domain.EncryptionContext": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::HealthAgent::Domain.TagsItems": { "additionalProperties": false, "properties": { "Key": { - "markdownDescription": "The tag key.", - "title": "Key", "type": "string" }, "Value": { - "markdownDescription": "The tag value. This is optional.", - "title": "Value", "type": "string" } }, @@ -179610,6 +191267,71 @@ ], "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 +205779,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 +205826,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": { @@ -199223,6 +210974,87 @@ }, "type": "object" }, + "AWS::IoTSiteWise::Application": { + "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" + }, + "IdcInstanceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkspaceName": { + "type": "string" + } + }, + "required": [ + "Name", + "WorkspaceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::IoTSiteWise::Asset": { "additionalProperties": false, "properties": { @@ -200227,6 +212059,9 @@ "Properties": { "additionalProperties": false, "properties": { + "DatasetConfig": { + "$ref": "#/definitions/AWS::IoTSiteWise::Dataset.DatasetConfig" + }, "DatasetDescription": { "markdownDescription": "A description about the dataset, and its functionality.", "title": "DatasetDescription", @@ -200242,6 +212077,9 @@ "markdownDescription": "The data source for the dataset.", "title": "DatasetSource" }, + "DatasetType": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -200249,11 +212087,13 @@ "markdownDescription": "A list of key-value pairs that contain metadata for the access policy. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide* .", "title": "Tags", "type": "array" + }, + "WorkspaceName": { + "type": "string" } }, "required": [ - "DatasetName", - "DatasetSource" + "DatasetName" ], "type": "object" }, @@ -200278,6 +212118,15 @@ ], "type": "object" }, + "AWS::IoTSiteWise::Dataset.DatasetConfig": { + "additionalProperties": false, + "properties": { + "Session": { + "$ref": "#/definitions/AWS::IoTSiteWise::Dataset.SessionConfig" + } + }, + "type": "object" + }, "AWS::IoTSiteWise::Dataset.DatasetSource": { "additionalProperties": false, "properties": { @@ -200323,6 +212172,22 @@ ], "type": "object" }, + "AWS::IoTSiteWise::Dataset.SessionConfig": { + "additionalProperties": false, + "properties": { + "SessionEndTime": { + "type": "string" + }, + "SessionStartTime": { + "type": "string" + } + }, + "required": [ + "SessionEndTime", + "SessionStartTime" + ], + "type": "object" + }, "AWS::IoTSiteWise::Dataset.SourceDetail": { "additionalProperties": false, "properties": { @@ -200496,6 +212361,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 +212736,372 @@ ], "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::TimeSeries": { + "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": { + "AssetId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::TimeSeries" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "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 +217785,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 +218364,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 +218597,15 @@ } }, "required": [ - "IndexId", - "Name", - "RoleArn", - "SourceS3Path" + "ChannelName", + "ServiceExecutionRoleARN", + "StreamConfigurationList" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::Thesaurus" + "AWS::Kinesis::Channel" ], "type": "string" }, @@ -205957,118 +218624,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 +224134,15 @@ ], "type": "object" }, + "AWS::LakeFormation::PrincipalPermissions.CatalogResource": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, "AWS::LakeFormation::PrincipalPermissions.ColumnWildcard": { "additionalProperties": false, "properties": { @@ -211540,9 +224321,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 +224729,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 +224764,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 +231287,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 +231637,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 +234107,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": { @@ -225517,6 +238486,514 @@ }, "type": "object" }, + "AWS::MGN::Connector": { + "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" + }, + "SsmCommandConfig": { + "$ref": "#/definitions/AWS::MGN::Connector.ConnectorSsmCommandConfig" + }, + "SsmInstanceID": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "SsmInstanceID" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MGN::Connector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MGN::Connector.ConnectorSsmCommandConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupName": { + "type": "string" + }, + "CloudWatchOutputEnabled": { + "type": "boolean" + }, + "OutputS3BucketName": { + "type": "string" + }, + "S3OutputEnabled": { + "type": "boolean" + } + }, + "required": [ + "CloudWatchOutputEnabled", + "S3OutputEnabled" + ], + "type": "object" + }, + "AWS::MGN::Export": { + "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": { + "S3Bucket": { + "type": "string" + }, + "S3BucketOwner": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MGN::Export" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MGN::Export.ExportTaskSummary": { + "additionalProperties": false, + "properties": { + "ApplicationsCount": { + "type": "number" + }, + "ServersCount": { + "type": "number" + }, + "WavesCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MGN::Import": { + "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": { + "S3BucketSource": { + "$ref": "#/definitions/AWS::MGN::Import.S3BucketSource" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "S3BucketSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MGN::Import" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MGN::Import.ImportTaskSummary": { + "additionalProperties": false, + "properties": { + "Applications": { + "$ref": "#/definitions/AWS::MGN::Import.ImportTaskSummaryCategory" + }, + "Servers": { + "$ref": "#/definitions/AWS::MGN::Import.ImportTaskSummaryCategory" + }, + "Waves": { + "$ref": "#/definitions/AWS::MGN::Import.ImportTaskSummaryCategory" + } + }, + "type": "object" + }, + "AWS::MGN::Import.ImportTaskSummaryCategory": { + "additionalProperties": false, + "properties": { + "CreatedCount": { + "type": "number" + }, + "ModifiedCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MGN::Import.S3BucketSource": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3BucketOwner": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::MGN::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": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "BootMode": { + "type": "string" + }, + "CopyPrivateIp": { + "type": "boolean" + }, + "CopyTags": { + "type": "boolean" + }, + "EnableMapAutoTagging": { + "type": "boolean" + }, + "EnableParametersEncryption": { + "type": "boolean" + }, + "LargeVolumeConf": { + "$ref": "#/definitions/AWS::MGN::LaunchConfigurationTemplate.LaunchTemplateDiskConf" + }, + "LaunchDisposition": { + "type": "string" + }, + "Licensing": { + "$ref": "#/definitions/AWS::MGN::LaunchConfigurationTemplate.Licensing" + }, + "MapAutoTaggingMpeID": { + "type": "string" + }, + "ParametersEncryptionKey": { + "type": "string" + }, + "PostLaunchActions": { + "$ref": "#/definitions/AWS::MGN::LaunchConfigurationTemplate.PostLaunchActions" + }, + "SmallVolumeConf": { + "$ref": "#/definitions/AWS::MGN::LaunchConfigurationTemplate.LaunchTemplateDiskConf" + }, + "SmallVolumeMaxSize": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetInstanceTypeRightSizingMethod": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MGN::LaunchConfigurationTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MGN::LaunchConfigurationTemplate.LaunchTemplateDiskConf": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "Throughput": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::LaunchConfigurationTemplate.Licensing": { + "additionalProperties": false, + "properties": { + "OsByol": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MGN::LaunchConfigurationTemplate.PostLaunchActions": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupName": { + "type": "string" + }, + "Deployment": { + "type": "string" + }, + "S3LogBucket": { + "type": "string" + }, + "S3OutputKeyPrefix": { + "type": "string" + }, + "SsmDocuments": { + "items": { + "$ref": "#/definitions/AWS::MGN::LaunchConfigurationTemplate.SsmDocument" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MGN::LaunchConfigurationTemplate.SsmDocument": { + "additionalProperties": false, + "properties": { + "ActionName": { + "type": "string" + }, + "ExternalParameters": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::MGN::LaunchConfigurationTemplate.SsmExternalParameter" + } + }, + "type": "object" + }, + "MustSucceedForCutover": { + "type": "boolean" + }, + "Parameters": { + "type": "object" + }, + "SsmDocumentName": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + } + }, + "required": [ + "ActionName", + "SsmDocumentName" + ], + "type": "object" + }, + "AWS::MGN::LaunchConfigurationTemplate.SsmExternalParameter": { + "additionalProperties": false, + "properties": { + "DynamicPath": { + "type": "string" + } + }, + "required": [ + "DynamicPath" + ], + "type": "object" + }, "AWS::MGN::NetworkMigrationDefinition": { "additionalProperties": false, "properties": { @@ -225551,55 +239028,186 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ScopeTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SourceConfigurations": { - "items": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.SourceConfiguration" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetDeployment": { - "type": "string" - }, - "TargetNetwork": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.TargetNetwork" - }, - "TargetS3Configuration": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.TargetS3Configuration" - } - }, - "required": [ - "Name", - "SourceConfigurations", - "TargetNetwork", - "TargetS3Configuration" - ], + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ScopeTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SourceConfigurations": { + "items": { + "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.SourceConfiguration" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetDeployment": { + "type": "string" + }, + "TargetNetwork": { + "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.TargetNetwork" + }, + "TargetS3Configuration": { + "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.TargetS3Configuration" + } + }, + "required": [ + "Name", + "SourceConfigurations", + "TargetNetwork", + "TargetS3Configuration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MGN::NetworkMigrationDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MGN::NetworkMigrationDefinition.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "SourceEnvironment": { + "type": "string" + }, + "SourceS3Configuration": { + "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.SourceS3Configuration" + } + }, + "required": [ + "SourceEnvironment", + "SourceS3Configuration" + ], + "type": "object" + }, + "AWS::MGN::NetworkMigrationDefinition.SourceS3Configuration": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3BucketOwner": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3BucketOwner", + "S3Key" + ], + "type": "object" + }, + "AWS::MGN::NetworkMigrationDefinition.TargetNetwork": { + "additionalProperties": false, + "properties": { + "InboundCidr": { + "type": "string" + }, + "InspectionCidr": { + "type": "string" + }, + "OutboundCidr": { + "type": "string" + }, + "Topology": { + "type": "string" + } + }, + "required": [ + "Topology" + ], + "type": "object" + }, + "AWS::MGN::NetworkMigrationDefinition.TargetS3Configuration": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3BucketOwner": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3BucketOwner" + ], + "type": "object" + }, + "AWS::MGN::SourceServer": { + "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::MGN::NetworkMigrationDefinition" + "AWS::MGN::SourceServer" ], "type": "string" }, @@ -225613,82 +239221,296 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.SourceConfiguration": { + "AWS::MGN::SourceServer.CPU": { "additionalProperties": false, "properties": { - "SourceEnvironment": { + "Cores": { + "type": "number" + }, + "ModelName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.DataReplicationInfo": { + "additionalProperties": false, + "properties": { + "DataReplicationInitiation": { + "$ref": "#/definitions/AWS::MGN::SourceServer.DataReplicationInitiation" + }, + "DataReplicationState": { "type": "string" }, - "SourceS3Configuration": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.SourceS3Configuration" + "LagDuration": { + "type": "string" + }, + "LastSnapshotDateTime": { + "type": "string" + }, + "ReplicatedDisks": { + "items": { + "$ref": "#/definitions/AWS::MGN::SourceServer.DataReplicationInfoReplicatedDisk" + }, + "type": "array" } }, - "required": [ - "SourceEnvironment", - "SourceS3Configuration" - ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.SourceS3Configuration": { + "AWS::MGN::SourceServer.DataReplicationInfoReplicatedDisk": { "additionalProperties": false, "properties": { - "S3Bucket": { + "BackloggedStorageBytes": { + "type": "number" + }, + "DeviceName": { "type": "string" }, - "S3BucketOwner": { + "ReplicatedStorageBytes": { + "type": "number" + }, + "RescannedStorageBytes": { + "type": "number" + }, + "TotalStorageBytes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.DataReplicationInitiation": { + "additionalProperties": false, + "properties": { + "StartDateTime": { "type": "string" }, - "S3Key": { + "Steps": { + "items": { + "$ref": "#/definitions/AWS::MGN::SourceServer.DataReplicationInitiationStep" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.DataReplicationInitiationStep": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Status": { "type": "string" } }, - "required": [ - "S3Bucket", - "S3BucketOwner", - "S3Key" - ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.TargetNetwork": { + "AWS::MGN::SourceServer.Disk": { "additionalProperties": false, "properties": { - "InboundCidr": { + "Bytes": { + "type": "number" + }, + "DeviceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.IdentificationHints": { + "additionalProperties": false, + "properties": { + "AwsInstanceID": { "type": "string" }, - "InspectionCidr": { + "Fqdn": { "type": "string" }, - "OutboundCidr": { + "Hostname": { "type": "string" }, - "Topology": { + "VmPath": { + "type": "string" + }, + "VmWareUuid": { "type": "string" } }, - "required": [ - "Topology" - ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.TargetS3Configuration": { + "AWS::MGN::SourceServer.LaunchedInstance": { "additionalProperties": false, "properties": { - "S3Bucket": { + "Ec2InstanceID": { "type": "string" }, - "S3BucketOwner": { + "FirstBoot": { + "type": "string" + }, + "JobID": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.LifeCycle": { + "additionalProperties": false, + "properties": { + "AddedToServiceDateTime": { + "type": "string" + }, + "ElapsedReplicationDuration": { + "type": "string" + }, + "FirstByteDateTime": { + "type": "string" + }, + "LastCutover": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleLastCutover" + }, + "LastSeenByServiceDateTime": { + "type": "string" + }, + "LastTest": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleLastTest" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.LifeCycleEvent": { + "additionalProperties": false, + "properties": { + "ApiCallDateTime": { + "type": "string" + }, + "JobID": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.LifeCycleEventNoJob": { + "additionalProperties": false, + "properties": { + "ApiCallDateTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.LifeCycleLastCutover": { + "additionalProperties": false, + "properties": { + "Finalized": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleEventNoJob" + }, + "Initiated": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleEvent" + }, + "Reverted": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleEventNoJob" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.LifeCycleLastTest": { + "additionalProperties": false, + "properties": { + "Finalized": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleEventNoJob" + }, + "Initiated": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleEvent" + }, + "Reverted": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleEventNoJob" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.NetworkInterface": { + "additionalProperties": false, + "properties": { + "Ips": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IsPrimary": { + "type": "boolean" + }, + "MacAddress": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.OS": { + "additionalProperties": false, + "properties": { + "FullString": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.SourceProperties": { + "additionalProperties": false, + "properties": { + "Cpus": { + "items": { + "$ref": "#/definitions/AWS::MGN::SourceServer.CPU" + }, + "type": "array" + }, + "Disks": { + "items": { + "$ref": "#/definitions/AWS::MGN::SourceServer.Disk" + }, + "type": "array" + }, + "IdentificationHints": { + "$ref": "#/definitions/AWS::MGN::SourceServer.IdentificationHints" + }, + "LastUpdatedDateTime": { + "type": "string" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::MGN::SourceServer.NetworkInterface" + }, + "type": "array" + }, + "Os": { + "$ref": "#/definitions/AWS::MGN::SourceServer.OS" + }, + "RamBytes": { + "type": "number" + }, + "RecommendedInstanceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.SourceServerConnectorAction": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "CredentialsSecretArn": { "type": "string" } }, - "required": [ - "S3Bucket", - "S3BucketOwner" - ], "type": "object" }, "AWS::MPA::ApprovalTeam": { @@ -228917,39 +242739,278 @@ "Properties": { "additionalProperties": false, "properties": { - "Criteria": { - "$ref": "#/definitions/AWS::Macie::AllowList.Criteria", - "markdownDescription": "The criteria that specify the text or text pattern to ignore. The criteria can be the location and name of an Amazon S3 object that lists specific text to ignore ( `S3WordsList` ), or a regular expression ( `Regex` ) that defines a text pattern to ignore.", - "title": "Criteria" + "Criteria": { + "$ref": "#/definitions/AWS::Macie::AllowList.Criteria", + "markdownDescription": "The criteria that specify the text or text pattern to ignore. The criteria can be the location and name of an Amazon S3 object that lists specific text to ignore ( `S3WordsList` ), or a regular expression ( `Regex` ) that defines a text pattern to ignore.", + "title": "Criteria" + }, + "Description": { + "markdownDescription": "A custom description of the allow list. The description can contain 1-512 characters.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "A custom name for the allow list. The name can contain 1-128 characters.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to the allow list.\n\nFor more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Criteria", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::AllowList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::AllowList.Criteria": { + "additionalProperties": false, + "properties": { + "Regex": { + "markdownDescription": "The regular expression ( *regex* ) that defines the text pattern to ignore. The expression can contain 1-512 characters.", + "title": "Regex", + "type": "string" + }, + "S3WordsList": { + "$ref": "#/definitions/AWS::Macie::AllowList.S3WordsList", + "markdownDescription": "The location and name of an Amazon S3 object that lists specific text to ignore.", + "title": "S3WordsList" + } + }, + "type": "object" + }, + "AWS::Macie::AllowList.S3WordsList": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "The full name of the S3 bucket that contains the object. This value correlates to the `Name` field of a bucket's properties in Amazon S3 .\n\nThis value is case sensitive. In addition, don't use wildcard characters or specify partial values for the name.", + "title": "BucketName", + "type": "string" + }, + "ObjectKey": { + "markdownDescription": "The full name of the S3 object. This value correlates to the `Key` field of an object's properties in Amazon S3 . If the name includes a path, include the complete path. For example, `AllowLists/Macie/MyList.txt` .\n\nThis value is case sensitive. In addition, don't use wildcard characters or specify partial values for the name.", + "title": "ObjectKey", + "type": "string" + } + }, + "required": [ + "BucketName", + "ObjectKey" + ], + "type": "object" + }, + "AWS::Macie::CustomDataIdentifier": { + "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": { + "markdownDescription": "A custom description of the custom data identifier. The description can contain 1-512 characters.\n\nAvoid including sensitive data in the description. Users of the account might be able to see the description, depending on the actions that they're allowed to perform in Amazon Macie .", + "title": "Description", + "type": "string" + }, + "IgnoreWords": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of character sequences ( *ignore words* ) to exclude from the results. If text matches the regular expression ( `Regex` ) but it contains a string in this array, Amazon Macie ignores the text and doesn't include it in the results.\n\nThe array can contain 1-10 ignore words. Each ignore word can contain 4-90 UTF-8 characters. Ignore words are case sensitive.", + "title": "IgnoreWords", + "type": "array" + }, + "Keywords": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of character sequences ( *keywords* ), one of which must precede and be in proximity ( `MaximumMatchDistance` ) of the regular expression ( `Regex` ) to match.\n\nThe array can contain 1-50 keywords. Each keyword can contain 3-90 UTF-8 characters. Keywords aren't case sensitive.", + "title": "Keywords", + "type": "array" + }, + "MaximumMatchDistance": { + "markdownDescription": "The maximum number of characters that can exist between the end of at least one complete character sequence specified by the `Keywords` array and the end of text that matches the regular expression ( `Regex` ). If a complete keyword precedes all the text that matches the regular expression and the keyword is within the specified distance, Amazon Macie includes the result.\n\nThe distance can be 1-300 characters. The default value is 50.", + "title": "MaximumMatchDistance", + "type": "number" + }, + "Name": { + "markdownDescription": "A custom name for the custom data identifier. The name can contain 1-128 characters.\n\nAvoid including sensitive data in the name of a custom data identifier. Users of the account might be able to see the name, depending on the actions that they're allowed to perform in Amazon Macie .", + "title": "Name", + "type": "string" + }, + "Regex": { + "markdownDescription": "The regular expression ( *regex* ) that defines the text pattern to match. The expression can contain 1-512 characters.", + "title": "Regex", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to the custom data identifier.\n\nFor more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name", + "Regex" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::CustomDataIdentifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter": { + "additionalProperties": false, + "properties": { + "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": { + "Action": { + "markdownDescription": "The action to perform on findings that match the filter criteria ( `FindingCriteria` ). Valid values are:\n\n- `ARCHIVE` - Suppress (automatically archive) the findings.\n- `NOOP` - Don't perform any action on the findings.", + "title": "Action", + "type": "string" }, "Description": { - "markdownDescription": "A custom description of the allow list. The description can contain 1-512 characters.", + "markdownDescription": "A custom description of the findings filter. The description can contain 1-512 characters.\n\nAvoid including sensitive data in the description. Users of the account might be able to see the description, depending on the actions that they're allowed to perform in Amazon Macie .", "title": "Description", "type": "string" }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria", + "markdownDescription": "The criteria to use to filter findings.", + "title": "FindingCriteria" + }, "Name": { - "markdownDescription": "A custom name for the allow list. The name can contain 1-128 characters.", + "markdownDescription": "A custom name for the findings filter. The name can contain 3-64 characters.\n\nAvoid including sensitive data in the name. Users of the account might be able to see the name, depending on the actions that they're allowed to perform in Amazon Macie .", "title": "Name", "type": "string" }, + "Position": { + "markdownDescription": "The position of the findings filter in the list of saved filter rules on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to findings.", + "title": "Position", + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to the allow list.\n\nFor more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "markdownDescription": "An array of key-value pairs to apply to the findings filter.\n\nFor more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", "title": "Tags", "type": "array" } }, "required": [ - "Criteria", + "FindingCriteria", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Macie::AllowList" + "AWS::Macie::FindingsFilter" ], "type": "string" }, @@ -228968,150 +243029,66 @@ ], "type": "object" }, - "AWS::Macie::AllowList.Criteria": { + "AWS::Macie::FindingsFilter.CriterionAdditionalProperties": { "additionalProperties": false, "properties": { - "Regex": { - "markdownDescription": "The regular expression ( *regex* ) that defines the text pattern to ignore. The expression can contain 1-512 characters.", - "title": "Regex", - "type": "string" + "eq": { + "items": { + "type": "string" + }, + "markdownDescription": "The value for the specified property matches (equals) the specified value. If you specify multiple values, Amazon Macie uses OR logic to join the values.", + "title": "eq", + "type": "array" }, - "S3WordsList": { - "$ref": "#/definitions/AWS::Macie::AllowList.S3WordsList", - "markdownDescription": "The location and name of an Amazon S3 object that lists specific text to ignore.", - "title": "S3WordsList" - } - }, - "type": "object" - }, - "AWS::Macie::AllowList.S3WordsList": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The full name of the S3 bucket that contains the object. This value correlates to the `Name` field of a bucket's properties in Amazon S3 .\n\nThis value is case sensitive. In addition, don't use wildcard characters or specify partial values for the name.", - "title": "BucketName", - "type": "string" + "gt": { + "markdownDescription": "The value for the specified property is greater than the specified value.", + "title": "gt", + "type": "number" }, - "ObjectKey": { - "markdownDescription": "The full name of the S3 object. This value correlates to the `Key` field of an object's properties in Amazon S3 . If the name includes a path, include the complete path. For example, `AllowLists/Macie/MyList.txt` .\n\nThis value is case sensitive. In addition, don't use wildcard characters or specify partial values for the name.", - "title": "ObjectKey", - "type": "string" + "gte": { + "markdownDescription": "The value for the specified property is greater than or equal to the specified value.", + "title": "gte", + "type": "number" + }, + "lt": { + "markdownDescription": "The value for the specified property is less than the specified value.", + "title": "lt", + "type": "number" + }, + "lte": { + "markdownDescription": "The value for the specified property is less than or equal to the specified value.", + "title": "lte", + "type": "number" + }, + "neq": { + "items": { + "type": "string" + }, + "markdownDescription": "The value for the specified property doesn't match (doesn't equal) the specified value. If you specify multiple values, Amazon Macie uses OR logic to join the values.", + "title": "neq", + "type": "array" } }, - "required": [ - "BucketName", - "ObjectKey" - ], "type": "object" }, - "AWS::Macie::CustomDataIdentifier": { + "AWS::Macie::FindingsFilter.FindingCriteria": { "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": { + "Criterion": { "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "A custom description of the custom data identifier. The description can contain 1-512 characters.\n\nAvoid including sensitive data in the description. Users of the account might be able to see the description, depending on the actions that they're allowed to perform in Amazon Macie .", - "title": "Description", - "type": "string" - }, - "IgnoreWords": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of character sequences ( *ignore words* ) to exclude from the results. If text matches the regular expression ( `Regex` ) but it contains a string in this array, Amazon Macie ignores the text and doesn't include it in the results.\n\nThe array can contain 1-10 ignore words. Each ignore word can contain 4-90 UTF-8 characters. Ignore words are case sensitive.", - "title": "IgnoreWords", - "type": "array" - }, - "Keywords": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of character sequences ( *keywords* ), one of which must precede and be in proximity ( `MaximumMatchDistance` ) of the regular expression ( `Regex` ) to match.\n\nThe array can contain 1-50 keywords. Each keyword can contain 3-90 UTF-8 characters. Keywords aren't case sensitive.", - "title": "Keywords", - "type": "array" - }, - "MaximumMatchDistance": { - "markdownDescription": "The maximum number of characters that can exist between the end of at least one complete character sequence specified by the `Keywords` array and the end of text that matches the regular expression ( `Regex` ). If a complete keyword precedes all the text that matches the regular expression and the keyword is within the specified distance, Amazon Macie includes the result.\n\nThe distance can be 1-300 characters. The default value is 50.", - "title": "MaximumMatchDistance", - "type": "number" - }, - "Name": { - "markdownDescription": "A custom name for the custom data identifier. The name can contain 1-128 characters.\n\nAvoid including sensitive data in the name of a custom data identifier. Users of the account might be able to see the name, depending on the actions that they're allowed to perform in Amazon Macie .", - "title": "Name", - "type": "string" - }, - "Regex": { - "markdownDescription": "The regular expression ( *regex* ) that defines the text pattern to match. The expression can contain 1-512 characters.", - "title": "Regex", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to the custom data identifier.\n\nFor more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", - "type": "array" + "markdownDescription": "Specifies a condition that defines the property, operator, and one or more values to use to filter the results.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.CriterionAdditionalProperties" } }, - "required": [ - "Name", - "Regex" - ], + "title": "Criterion", "type": "object" - }, - "Type": { - "enum": [ - "AWS::Macie::CustomDataIdentifier" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Macie::FindingsFilter": { + "AWS::Macie::Member": { "additionalProperties": false, "properties": { "Condition": { @@ -229146,49 +243123,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "markdownDescription": "The action to perform on findings that match the filter criteria ( `FindingCriteria` ). Valid values are:\n\n- `ARCHIVE` - Suppress (automatically archive) the findings.\n- `NOOP` - Don't perform any action on the findings.", - "title": "Action", - "type": "string" - }, - "Description": { - "markdownDescription": "A custom description of the findings filter. The description can contain 1-512 characters.\n\nAvoid including sensitive data in the description. Users of the account might be able to see the description, depending on the actions that they're allowed to perform in Amazon Macie .", - "title": "Description", + "AccountId": { "type": "string" }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria", - "markdownDescription": "The criteria to use to filter findings.", - "title": "FindingCriteria" - }, - "Name": { - "markdownDescription": "A custom name for the findings filter. The name can contain 3-64 characters.\n\nAvoid including sensitive data in the name. Users of the account might be able to see the name, depending on the actions that they're allowed to perform in Amazon Macie .", - "title": "Name", + "Email": { "type": "string" }, - "Position": { - "markdownDescription": "The position of the findings filter in the list of saved filter rules on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to findings.", - "title": "Position", - "type": "number" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to the findings filter.\n\nFor more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", "type": "array" } }, "required": [ - "FindingCriteria", - "Name" + "AccountId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Macie::FindingsFilter" + "AWS::Macie::Member" ], "type": "string" }, @@ -229207,65 +243162,6 @@ ], "type": "object" }, - "AWS::Macie::FindingsFilter.CriterionAdditionalProperties": { - "additionalProperties": false, - "properties": { - "eq": { - "items": { - "type": "string" - }, - "markdownDescription": "The value for the specified property matches (equals) the specified value. If you specify multiple values, Amazon Macie uses OR logic to join the values.", - "title": "eq", - "type": "array" - }, - "gt": { - "markdownDescription": "The value for the specified property is greater than the specified value.", - "title": "gt", - "type": "number" - }, - "gte": { - "markdownDescription": "The value for the specified property is greater than or equal to the specified value.", - "title": "gte", - "type": "number" - }, - "lt": { - "markdownDescription": "The value for the specified property is less than the specified value.", - "title": "lt", - "type": "number" - }, - "lte": { - "markdownDescription": "The value for the specified property is less than or equal to the specified value.", - "title": "lte", - "type": "number" - }, - "neq": { - "items": { - "type": "string" - }, - "markdownDescription": "The value for the specified property doesn't match (doesn't equal) the specified value. If you specify multiple values, Amazon Macie uses OR logic to join the values.", - "title": "neq", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Macie::FindingsFilter.FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "markdownDescription": "Specifies a condition that defines the property, operator, and one or more values to use to filter the results.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.CriterionAdditionalProperties" - } - }, - "title": "Criterion", - "type": "object" - } - }, - "type": "object" - }, "AWS::Macie::Session": { "additionalProperties": false, "properties": { @@ -231337,6 +245233,140 @@ ], "type": "object" }, + "AWS::MediaConnect::FlowMediaStream": { + "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": { + "Attributes": { + "$ref": "#/definitions/AWS::MediaConnect::FlowMediaStream.MediaStreamAttributes" + }, + "ClockRate": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "MediaStreamId": { + "type": "number" + }, + "MediaStreamName": { + "type": "string" + }, + "MediaStreamType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VideoFormat": { + "type": "string" + } + }, + "required": [ + "FlowArn", + "MediaStreamId", + "MediaStreamName", + "MediaStreamType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowMediaStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowMediaStream.Fmtp": { + "additionalProperties": false, + "properties": { + "ChannelOrder": { + "type": "string" + }, + "Colorimetry": { + "type": "string" + }, + "ExactFramerate": { + "type": "string" + }, + "Par": { + "type": "string" + }, + "Range": { + "type": "string" + }, + "ScanMode": { + "type": "string" + }, + "Tcs": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowMediaStream.MediaStreamAttributes": { + "additionalProperties": false, + "properties": { + "Fmtp": { + "$ref": "#/definitions/AWS::MediaConnect::FlowMediaStream.Fmtp" + }, + "Lang": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaConnect::FlowOutput": { "additionalProperties": false, "properties": { @@ -233150,6 +247180,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 +247252,18 @@ ], "type": "object" }, + "AWS::MediaConnect::RouterOutput.FabricConfiguration": { + "additionalProperties": false, + "properties": { + "RecoveryLatencyMode": { + "type": "string" + } + }, + "required": [ + "RecoveryLatencyMode" + ], + "type": "object" + }, "AWS::MediaConnect::RouterOutput.FlowTransitEncryption": { "additionalProperties": false, "properties": { @@ -233422,6 +247467,9 @@ "markdownDescription": "", "title": "Rist" }, + "RtmpPush": { + "$ref": "#/definitions/AWS::MediaConnect::RouterOutput.RtmpPushRouterOutputConfiguration" + }, "Rtp": { "$ref": "#/definitions/AWS::MediaConnect::RouterOutput.RtpRouterOutputConfiguration", "markdownDescription": "", @@ -233440,6 +247488,33 @@ }, "type": "object" }, + "AWS::MediaConnect::RouterOutput.RtmpPushRouterOutputConfiguration": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "DestinationAddress": { + "type": "string" + }, + "DestinationPort": { + "type": "number" + }, + "StreamName": { + "type": "string" + }, + "TlsEncryption": { + "$ref": "#/definitions/AWS::MediaConnect::RouterOutput.TlsEncryption" + } + }, + "required": [ + "ApplicationName", + "DestinationAddress", + "DestinationPort", + "StreamName" + ], + "type": "object" + }, "AWS::MediaConnect::RouterOutput.RtpRouterOutputConfiguration": { "additionalProperties": false, "properties": { @@ -233585,6 +247660,240 @@ ], "type": "object" }, + "AWS::MediaConnect::RouterOutput.TlsEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::MediaConnect::RouterOutput.TlsEncryptionConfiguration" + }, + "EncryptionType": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration" + ], + "type": "object" + }, + "AWS::MediaConnect::RouterOutput.TlsEncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "Public": { + "type": "object" + } + }, + "required": [ + "Public" + ], + "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": { @@ -234115,6 +248424,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 +248527,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 +248543,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 +248601,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 +248649,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 +249028,7 @@ "additionalProperties": false, "properties": { "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "", "title": "ColorSpacePassthroughSettings" }, @@ -234726,15 +249038,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 +249216,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 +249275,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 +249388,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 +249413,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 +249532,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 +249552,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 +249605,15 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.CmafIngestFrameCaptureOutputSettings": { + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.CmafIngestGroupSettings": { "additionalProperties": false, "properties": { @@ -235422,17 +249707,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 +249791,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.DisabledLockingSettings": { "additionalProperties": false, "properties": { @@ -235486,11 +249800,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.DolbyVision81Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.DvbNitSettings": { "additionalProperties": false, "properties": { @@ -235538,118 +249847,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 +250041,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 +250088,11 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.EmptyConfigurationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::MediaLive::Channel.EncoderSettings": { "additionalProperties": false, "properties": { @@ -236126,7 +250339,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 +250362,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 +250428,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 +250501,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 +250687,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 +250702,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 +250763,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 +250951,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.Hlg2020Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.HlsAkamaiSettings": { "additionalProperties": false, "properties": { @@ -236876,7 +251037,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 +251364,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 +251378,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 +251421,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.InferenceSettings": { "additionalProperties": false, "properties": { @@ -237285,6 +251430,12 @@ }, "type": "array" }, + "EnrichmentMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, "FeedArn": { "type": "string" } @@ -237893,15 +252044,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 +252087,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 +252095,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 +252171,12 @@ "markdownDescription": "", "title": "HlsDefault", "type": "string" + }, + "OutputUsage": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -238047,7 +252186,7 @@ "properties": { "AdditionalDestinations": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageAdditionalDestinations" + "$ref": "#/definitions/AWS::MediaLive::Channel.AdditionalDestinations" }, "type": "array" }, @@ -238103,6 +252242,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 +252278,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 +252547,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.MultiplexGroupSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.MultiplexM2tsSettings": { "additionalProperties": false, "properties": { @@ -238567,28 +252713,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 +252742,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 +252933,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 +252994,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 +253044,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.PassThroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.PipelineLockingSettings": { "additionalProperties": false, "properties": { @@ -238945,21 +253065,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 +253089,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.RtmpGroupSettings": { "additionalProperties": false, "properties": { @@ -239064,11 +253164,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.Scte20SourceSettings": { "additionalProperties": false, "properties": { @@ -239085,64 +253180,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 +253219,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.SpecialRouterSettings": { "additionalProperties": false, "properties": { @@ -239221,7 +253275,7 @@ "type": "number" }, "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpMediaConnectRouterContainerSettings", "markdownDescription": "", "title": "ContainerSettings" }, @@ -239275,11 +253329,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.TeletextDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.TeletextSourceSettings": { "additionalProperties": false, "properties": { @@ -239312,6 +253361,15 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.TextCaptionPositionSettings": { + "additionalProperties": false, + "properties": { + "YPositionPercentage": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.ThumbnailConfiguration": { "additionalProperties": false, "properties": { @@ -239363,6 +253421,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 +253432,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 +253453,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 +253471,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 +253538,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 +253559,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 +253585,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 +253732,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", @@ -241711,6 +255800,105 @@ }, "type": "object" }, + "AWS::MediaLive::Reservation": { + "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::MediaLive::Reservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Reservation.RenewalSettings": { + "additionalProperties": false, + "properties": { + "AutomaticRenewal": { + "type": "string" + }, + "RenewalCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Reservation.ReservationResourceSpecification": { + "additionalProperties": false, + "properties": { + "ChannelClass": { + "type": "string" + }, + "Codec": { + "type": "string" + }, + "MaximumBitrate": { + "type": "string" + }, + "MaximumFramerate": { + "type": "string" + }, + "Resolution": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "SpecialFeature": { + "type": "string" + }, + "VideoQuality": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaLive::SdiSource": { "additionalProperties": false, "properties": { @@ -243647,6 +257835,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 +257914,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 +258414,9 @@ "title": "StartoverWindowSeconds", "type": "number" }, + "StreamNameOutputMode": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -245599,6 +259815,9 @@ "Properties": { "additionalProperties": false, "properties": { + "ConcurrentExecutorConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::Function.ConcurrentExecutorConfiguration" + }, "CustomOutputConfiguration": { "$ref": "#/definitions/AWS::MediaTailor::Function.CustomOutputConfiguration" }, @@ -245651,6 +259870,43 @@ ], "type": "object" }, + "AWS::MediaTailor::Function.ConcurrentExecutorConfiguration": { + "additionalProperties": false, + "properties": { + "FunctionList": { + "items": { + "$ref": "#/definitions/AWS::MediaTailor::Function.FunctionRef" + }, + "type": "array" + }, + "MaxConcurrency": { + "type": "number" + }, + "Output": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Runtime": { + "type": "string" + }, + "TimeoutMilliseconds": { + "type": "number" + } + }, + "required": [ + "FunctionList", + "MaxConcurrency", + "Output", + "Runtime", + "TimeoutMilliseconds" + ], + "type": "object" + }, "AWS::MediaTailor::Function.CustomOutputConfiguration": { "additionalProperties": false, "properties": { @@ -245675,6 +259931,9 @@ "AWS::MediaTailor::Function.FunctionRef": { "additionalProperties": false, "properties": { + "Alias": { + "type": "string" + }, "FunctionId": { "type": "string" }, @@ -247591,12 +261850,101 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "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" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterName", + "SnapshotName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MemoryDB::ReservedNode" + "AWS::MemoryDB::Snapshot" ], "type": "string" }, @@ -247610,17 +261958,54 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MemoryDB::ReservedNode.RecurringCharge": { + "AWS::MemoryDB::Snapshot.ClusterConfiguration": { "additionalProperties": false, "properties": { - "RecurringChargeAmount": { + "Description": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "MaintenanceWindow": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NodeType": { + "type": "string" + }, + "NumShards": { "type": "number" }, - "RecurringChargeFrequency": { + "ParameterGroupName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "SubnetGroupName": { + "type": "string" + }, + "TopicArn": { + "type": "string" + }, + "VpcId": { "type": "string" } }, @@ -248825,56 +263210,295 @@ "Properties": { "additionalProperties": false, "properties": { - "DeletionProtection": { - "markdownDescription": "A value that indicates whether the graph has deletion protection enabled. The graph can't be deleted when deletion protection is enabled.", - "title": "DeletionProtection", - "type": "boolean" - }, - "GraphName": { - "markdownDescription": "The graph name. For example: `my-graph-1` .\n\nThe name must contain from 1 to 63 letters, numbers, or hyphens, and its first character must be a letter. It cannot end with a hyphen or contain two consecutive hyphens.\n\nIf you don't specify a graph name, a unique graph name is generated for you using the prefix `graph-for` , followed by a combination of `Stack Name` and a `UUID` .", - "title": "GraphName", + "DeletionProtection": { + "markdownDescription": "A value that indicates whether the graph has deletion protection enabled. The graph can't be deleted when deletion protection is enabled.", + "title": "DeletionProtection", + "type": "boolean" + }, + "GraphName": { + "markdownDescription": "The graph name. For example: `my-graph-1` .\n\nThe name must contain from 1 to 63 letters, numbers, or hyphens, and its first character must be a letter. It cannot end with a hyphen or contain two consecutive hyphens.\n\nIf you don't specify a graph name, a unique graph name is generated for you using the prefix `graph-for` , followed by a combination of `Stack Name` and a `UUID` .", + "title": "GraphName", + "type": "string" + }, + "ImportTask": { + "$ref": "#/definitions/AWS::NeptuneGraph::Graph.ImportTask" + }, + "KmsKeyIdentifier": { + "type": "string" + }, + "ProvisionedMemory": { + "markdownDescription": "The provisioned memory-optimized Neptune Capacity Units (m-NCUs) to use for the graph.\n\nMin = 16", + "title": "ProvisionedMemory", + "type": "number" + }, + "PublicConnectivity": { + "markdownDescription": "Specifies whether or not the graph can be reachable over the internet. All access to graphs is IAM authenticated.\n\nWhen the graph is publicly available, its domain name system (DNS) endpoint resolves to the public IP address from the internet. When the graph isn't publicly available, you need to create a `PrivateGraphEndpoint` in a given VPC to ensure the DNS name resolves to a private IP address that is reachable from the VPC.\n\nDefault: If not specified, the default value is false.\n\n> If enabling public connectivity for the first time, there will be a delay while it is enabled.", + "title": "PublicConnectivity", + "type": "boolean" + }, + "ReplicaCount": { + "markdownDescription": "The number of replicas in other AZs.\n\nDefault: If not specified, the default value is 1.", + "title": "ReplicaCount", + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Adds metadata tags to the new graph. These tags can also be used with cost allocation reporting, or used in a Condition statement in an IAM policy.", + "title": "Tags", + "type": "array" + }, + "VectorSearchConfiguration": { + "$ref": "#/definitions/AWS::NeptuneGraph::Graph.VectorSearchConfiguration", + "markdownDescription": "Specifies the number of dimensions for vector embeddings that will be loaded into the graph. The value is specified as `dimension=` value. Max = 65,535", + "title": "VectorSearchConfiguration" + } + }, + "required": [ + "ProvisionedMemory" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NeptuneGraph::Graph" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "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": { + "VectorSearchDimension": { + "markdownDescription": "The number of dimensions.", + "title": "VectorSearchDimension", + "type": "number" + } + }, + "required": [ + "VectorSearchDimension" + ], + "type": "object" + }, + "AWS::NeptuneGraph::GraphSnapshot": { + "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": { + "GraphIdentifier": { + "type": "string" + }, + "SnapshotName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GraphIdentifier", + "SnapshotName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NeptuneGraph::GraphSnapshot" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NeptuneGraph::ImportTask": { + "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": { + "Format": { "type": "string" }, - "KmsKeyIdentifier": { + "GraphIdentifier": { "type": "string" }, - "ProvisionedMemory": { - "markdownDescription": "The provisioned memory-optimized Neptune Capacity Units (m-NCUs) to use for the graph.\n\nMin = 16", - "title": "ProvisionedMemory", - "type": "number" - }, - "PublicConnectivity": { - "markdownDescription": "Specifies whether or not the graph can be reachable over the internet. All access to graphs is IAM authenticated.\n\nWhen the graph is publicly available, its domain name system (DNS) endpoint resolves to the public IP address from the internet. When the graph isn't publicly available, you need to create a `PrivateGraphEndpoint` in a given VPC to ensure the DNS name resolves to a private IP address that is reachable from the VPC.\n\nDefault: If not specified, the default value is false.\n\n> If enabling public connectivity for the first time, there will be a delay while it is enabled.", - "title": "PublicConnectivity", - "type": "boolean" - }, - "ReplicaCount": { - "markdownDescription": "The number of replicas in other AZs.\n\nDefault: If not specified, the default value is 1.", - "title": "ReplicaCount", - "type": "number" + "ParquetType": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Adds metadata tags to the new graph. These tags can also be used with cost allocation reporting, or used in a Condition statement in an IAM policy.", - "title": "Tags", - "type": "array" + "RoleArn": { + "type": "string" }, - "VectorSearchConfiguration": { - "$ref": "#/definitions/AWS::NeptuneGraph::Graph.VectorSearchConfiguration", - "markdownDescription": "Specifies the number of dimensions for vector embeddings that will be loaded into the graph. The value is specified as `dimension=` value. Max = 65,535", - "title": "VectorSearchConfiguration" + "Source": { + "type": "string" } }, "required": [ - "ProvisionedMemory" + "GraphIdentifier", + "RoleArn", + "Source" ], "type": "object" }, "Type": { "enum": [ - "AWS::NeptuneGraph::Graph" + "AWS::NeptuneGraph::ImportTask" ], "type": "string" }, @@ -248893,21 +263517,7 @@ ], "type": "object" }, - "AWS::NeptuneGraph::Graph.VectorSearchConfiguration": { - "additionalProperties": false, - "properties": { - "VectorSearchDimension": { - "markdownDescription": "The number of dimensions.", - "title": "VectorSearchDimension", - "type": "number" - } - }, - "required": [ - "VectorSearchDimension" - ], - "type": "object" - }, - "AWS::NeptuneGraph::GraphSnapshot": { + "AWS::NeptuneGraph::PrivateGraphEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -248943,27 +263553,41 @@ "additionalProperties": false, "properties": { "GraphIdentifier": { + "markdownDescription": "The unique identifier of the Neptune Analytics graph.", + "title": "GraphIdentifier", "type": "string" }, - "SnapshotName": { - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "Security groups to be attached to the private graph endpoint..", + "title": "SecurityGroupIds", + "type": "array" }, - "Tags": { + "SubnetIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, + "markdownDescription": "Subnets in which private graph endpoint ENIs are created.", + "title": "SubnetIds", "type": "array" + }, + "VpcId": { + "markdownDescription": "The VPC in which the private graph endpoint needs to be created.", + "title": "VpcId", + "type": "string" } }, "required": [ "GraphIdentifier", - "SnapshotName" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::NeptuneGraph::GraphSnapshot" + "AWS::NeptuneGraph::PrivateGraphEndpoint" ], "type": "string" }, @@ -248982,7 +263606,7 @@ ], "type": "object" }, - "AWS::NeptuneGraph::PrivateGraphEndpoint": { + "AWS::NetworkFirewall::ContainerAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -249017,42 +263641,38 @@ "Properties": { "additionalProperties": false, "properties": { - "GraphIdentifier": { - "markdownDescription": "The unique identifier of the Neptune Analytics graph.", - "title": "GraphIdentifier", + "ContainerAssociationName": { "type": "string" }, - "SecurityGroupIds": { + "ContainerMonitoringConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::NetworkFirewall::ContainerAssociation.ContainerMonitoringConfiguration" }, - "markdownDescription": "Security groups to be attached to the private graph endpoint..", - "title": "SecurityGroupIds", "type": "array" }, - "SubnetIds": { + "Description": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "Subnets in which private graph endpoint ENIs are created.", - "title": "SubnetIds", "type": "array" }, - "VpcId": { - "markdownDescription": "The VPC in which the private graph endpoint needs to be created.", - "title": "VpcId", + "Type": { "type": "string" } }, "required": [ - "GraphIdentifier", - "VpcId" + "ContainerAssociationName", + "ContainerMonitoringConfigurations", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::NeptuneGraph::PrivateGraphEndpoint" + "AWS::NetworkFirewall::ContainerAssociation" ], "type": "string" }, @@ -249071,6 +263691,40 @@ ], "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": { @@ -250749,40 +265403,146 @@ "Properties": { "additionalProperties": false, "properties": { - "LocalResources": { - "items": { - "$ref": "#/definitions/AWS::NetworkFlowMonitor::Monitor.MonitorLocalResource" - }, - "type": "array" - }, - "MonitorName": { - "type": "string" - }, - "RemoteResources": { + "LocalResources": { + "items": { + "$ref": "#/definitions/AWS::NetworkFlowMonitor::Monitor.MonitorLocalResource" + }, + "type": "array" + }, + "MonitorName": { + "type": "string" + }, + "RemoteResources": { + "items": { + "$ref": "#/definitions/AWS::NetworkFlowMonitor::Monitor.MonitorRemoteResource" + }, + "type": "array" + }, + "ScopeArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "LocalResources", + "MonitorName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFlowMonitor::Monitor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFlowMonitor::Monitor.MonitorLocalResource": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Type" + ], + "type": "object" + }, + "AWS::NetworkFlowMonitor::Monitor.MonitorRemoteResource": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Type" + ], + "type": "object" + }, + "AWS::NetworkFlowMonitor::Scope": { + "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/AWS::NetworkFlowMonitor::Monitor.MonitorRemoteResource" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "ScopeArn": { - "type": "string" - }, - "Tags": { + "Targets": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::NetworkFlowMonitor::Scope.TargetResource" }, "type": "array" } }, "required": [ - "LocalResources", - "MonitorName" + "Targets" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkFlowMonitor::Monitor" + "AWS::NetworkFlowMonitor::Scope" ], "type": "string" }, @@ -250801,35 +265561,47 @@ ], "type": "object" }, - "AWS::NetworkFlowMonitor::Monitor.MonitorLocalResource": { + "AWS::NetworkFlowMonitor::Scope.TargetId": { "additionalProperties": false, "properties": { - "Identifier": { + "AccountId": { "type": "string" + } + }, + "required": [ + "AccountId" + ], + "type": "object" + }, + "AWS::NetworkFlowMonitor::Scope.TargetIdentifier": { + "additionalProperties": false, + "properties": { + "TargetId": { + "$ref": "#/definitions/AWS::NetworkFlowMonitor::Scope.TargetId" }, - "Type": { + "TargetType": { "type": "string" } }, "required": [ - "Identifier", - "Type" + "TargetId", + "TargetType" ], "type": "object" }, - "AWS::NetworkFlowMonitor::Monitor.MonitorRemoteResource": { + "AWS::NetworkFlowMonitor::Scope.TargetResource": { "additionalProperties": false, "properties": { - "Identifier": { + "Region": { "type": "string" }, - "Type": { - "type": "string" + "TargetIdentifier": { + "$ref": "#/definitions/AWS::NetworkFlowMonitor::Scope.TargetIdentifier" } }, "required": [ - "Identifier", - "Type" + "Region", + "TargetIdentifier" ], "type": "object" }, @@ -250888,16 +265660,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 +266495,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 +267014,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 +267307,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 +267446,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", @@ -252853,6 +267575,80 @@ }, "type": "object" }, + "AWS::NetworkMonitor::Monitor": { + "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": { + "AggregationPeriod": { + "type": "number" + }, + "MonitorName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MonitorName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkMonitor::Monitor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Notifications::ChannelAssociation": { "additionalProperties": false, "properties": { @@ -253079,6 +267875,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 +267951,9 @@ "title": "ChannelArn", "type": "string" }, + "IsSensitiveEventsSubscribed": { + "type": "boolean" + }, "ManagedNotificationConfigurationArn": { "markdownDescription": "The ARN of the `ManagedNotificationAdditionalChannelAssociation` associated with the `Channel` .", "title": "ManagedNotificationConfigurationArn", @@ -256020,6 +270822,15 @@ }, "type": "object" }, + "AWS::ObservabilityAdmin::OrganizationTelemetryRule.MskMonitoringParameters": { + "additionalProperties": false, + "properties": { + "EnhancedMonitoring": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ObservabilityAdmin::OrganizationTelemetryRule.RegionStatus": { "additionalProperties": false, "properties": { @@ -256078,6 +270889,9 @@ "LogDeliveryParameters": { "$ref": "#/definitions/AWS::ObservabilityAdmin::OrganizationTelemetryRule.LogDeliveryParameters" }, + "MskMonitoringParameters": { + "$ref": "#/definitions/AWS::ObservabilityAdmin::OrganizationTelemetryRule.MskMonitoringParameters" + }, "RetentionInDays": { "markdownDescription": "The number of days to retain the telemetry data in the destination.", "title": "RetentionInDays", @@ -256864,6 +271678,15 @@ }, "type": "object" }, + "AWS::ObservabilityAdmin::TelemetryRule.MskMonitoringParameters": { + "additionalProperties": false, + "properties": { + "EnhancedMonitoring": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ObservabilityAdmin::TelemetryRule.RegionStatus": { "additionalProperties": false, "properties": { @@ -256924,6 +271747,9 @@ "markdownDescription": "Configuration parameters specific to Amazon Bedrock AgentCore logging when Amazon Bedrock AgentCore is the resource type.", "title": "LogDeliveryParameters" }, + "MskMonitoringParameters": { + "$ref": "#/definitions/AWS::ObservabilityAdmin::TelemetryRule.MskMonitoringParameters" + }, "RetentionInDays": { "markdownDescription": "The number of days to retain the telemetry data in the destination.", "title": "RetentionInDays", @@ -257708,67 +272534,138 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheBehavior": { - "type": "string" - }, - "CacheId": { - "type": "string" - }, - "LogLevel": { - "type": "string" + "CacheBehavior": { + "type": "string" + }, + "CacheId": { + "type": "string" + }, + "LogLevel": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkingMode": { + "type": "string" + }, + "OutputUri": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "RetentionMode": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "RunGroupId": { + "type": "string" + }, + "StorageCapacity": { + "type": "number" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkflowId": { + "type": "string" + }, + "WorkflowOwnerId": { + "type": "string" + }, + "WorkflowType": { + "type": "string" + } + }, + "required": [ + "OutputUri", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Omics::Run" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "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" }, - "NetworkingMode": { - "type": "string" - }, - "OutputUri": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "RetentionMode": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RunGroupId": { - "type": "string" - }, - "StorageCapacity": { - "type": "number" - }, - "StorageType": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "WorkflowId": { - "type": "string" - }, - "WorkflowOwnerId": { - "type": "string" - }, - "WorkflowType": { - "type": "string" } }, - "required": [ - "OutputUri", - "RoleArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Omics::Run" + "AWS::Omics::RunBatch" ], "type": "string" }, @@ -257782,11 +272679,149 @@ } }, "required": [ - "Type", - "Properties" + "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": { @@ -262846,128 +277881,284 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "markdownDescription": "The policy text content. You can specify the policy content as a JSON object or a JSON string.\n\n> When you specify the policy content as a JSON string, you can't perform drift detection on the CloudFormation stack. For this reason, we recommend specifying the policy content as a JSON object instead. \n\nThe text that you supply must adhere to the rules of the policy type you specify in the `Type` parameter. The following AWS Organizations quotas are enforced for the maximum size of a policy document:\n\n- Service control policies: 5,120 characters\n- Resource control policies: 5,120 characters\n- Declarative policies: 10,000 characters\n- Backup policies: 10,000 characters\n- Tag policies: 10,000 characters\n- Chat applications policies: 10,000 characters\n- AI services opt-out policies: 2,500 characters\n- Security Hub policies: 10,000 characters\n- Amazon Inspector policies: 10,000 characters\n- Amazon Bedrock policies: 10,000 characters\n- Upgrade rollout policies: 10,000 characters\n\nFor more information about Organizations service quotas, see [Quotas for AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) in the *AWS Organizations User Guide* .", - "title": "Content", - "type": "object" + "Content": { + "markdownDescription": "The policy text content. You can specify the policy content as a JSON object or a JSON string.\n\n> When you specify the policy content as a JSON string, you can't perform drift detection on the CloudFormation stack. For this reason, we recommend specifying the policy content as a JSON object instead. \n\nThe text that you supply must adhere to the rules of the policy type you specify in the `Type` parameter. The following AWS Organizations quotas are enforced for the maximum size of a policy document:\n\n- Service control policies: 5,120 characters\n- Resource control policies: 5,120 characters\n- Declarative policies: 10,000 characters\n- Backup policies: 10,000 characters\n- Tag policies: 10,000 characters\n- Chat applications policies: 10,000 characters\n- AI services opt-out policies: 2,500 characters\n- Security Hub policies: 10,000 characters\n- Amazon Inspector policies: 10,000 characters\n- Amazon Bedrock policies: 10,000 characters\n- Upgrade rollout policies: 10,000 characters\n\nFor more information about Organizations service quotas, see [Quotas for AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) in the *AWS Organizations User Guide* .", + "title": "Content", + "type": "object" + }, + "Description": { + "markdownDescription": "Human readable description of the policy.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "Name of the policy.\n\nThe [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex) that is used to validate this parameter is a string of any of the characters in the ASCII character range.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags that you want to attach to the newly created 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 a policy, then the entire request fails and the policy is not created.", + "title": "Tags", + "type": "array" + }, + "TargetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "List of unique identifiers (IDs) of the root, OU, or account that you want to attach the policy to. You can get the ID by calling the [ListRoots](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListRoots.html) , [ListOrganizationalUnitsForParent](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListOrganizationalUnitsForParent.html) , or [ListAccounts](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListAccounts.html) operations. If you don't specify this parameter, the policy is created but not attached to any organization resource.\n\nThe [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex) for a target ID string requires one of the following:\n\n- *Root* - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits.\n- *Account* - A string that consists of exactly 12 digits.\n- *Organizational unit (OU)* - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.", + "title": "TargetIds", + "type": "array" + }, + "Type": { + "markdownDescription": "The type of policy to create.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Content", + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Organizations::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Organizations::ResourcePolicy": { + "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": { + "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::Root" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Organizations::Root.PolicyTypeSummary": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Outposts::Outpost": { + "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": { + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneId": { + "type": "string" }, "Description": { - "markdownDescription": "Human readable description of the policy.", - "title": "Description", "type": "string" }, "Name": { - "markdownDescription": "Name of the policy.\n\nThe [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex) that is used to validate this parameter is a string of any of the characters in the ASCII character range.", - "title": "Name", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags that you want to attach to the newly created 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 a policy, then the entire request fails and the policy is not created.", - "title": "Tags", - "type": "array" - }, - "TargetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "List of unique identifiers (IDs) of the root, OU, or account that you want to attach the policy to. You can get the ID by calling the [ListRoots](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListRoots.html) , [ListOrganizationalUnitsForParent](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListOrganizationalUnitsForParent.html) , or [ListAccounts](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListAccounts.html) operations. If you don't specify this parameter, the policy is created but not attached to any organization resource.\n\nThe [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex) for a target ID string requires one of the following:\n\n- *Root* - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits.\n- *Account* - A string that consists of exactly 12 digits.\n- *Organizational unit (OU)* - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.", - "title": "TargetIds", - "type": "array" - }, - "Type": { - "markdownDescription": "The type of policy to create.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Content", - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Organizations::Policy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Organizations::ResourcePolicy": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "SiteId": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" + "SupportedHardwareType": { + "type": "string" }, "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" + "Name", + "SiteId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Organizations::ResourcePolicy" + "AWS::Outposts::Outpost" ], "type": "string" }, @@ -262986,75 +278177,6 @@ ], "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::Root" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "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 +280633,9 @@ "AWS::PCS::ComputeNodeGroup.SlurmConfiguration": { "additionalProperties": false, "properties": { + "GresCustomSettings": { + "type": "object" + }, "ScaleDownIdleTimeInSeconds": { "type": "number" }, @@ -265713,6 +280838,89 @@ ], "type": "object" }, + "AWS::PI::PerfReports": { + "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": { + "EndTime": { + "type": "string" + }, + "Identifier": { + "type": "string" + }, + "ServiceType": { + "type": "string" + }, + "StartTime": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EndTime", + "Identifier", + "ServiceType", + "StartTime" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PI::PerfReports" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Panorama::ApplicationInstance": { "additionalProperties": false, "properties": { @@ -266808,29 +282016,361 @@ "Properties": { "additionalProperties": false, "properties": { - "DatasetGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the dataset group.", - "title": "DatasetGroupArn", - "type": "string" + "DatasetGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the dataset group.", + "title": "DatasetGroupArn", + "type": "string" + }, + "DatasetImportJob": { + "$ref": "#/definitions/AWS::Personalize::Dataset.DatasetImportJob", + "markdownDescription": "Describes a job that imports training data from a data source (Amazon S3 bucket) to an Amazon Personalize dataset. If you specify a dataset import job as part of a dataset, all dataset import job fields are required.", + "title": "DatasetImportJob" + }, + "DatasetType": { + "markdownDescription": "One of the following values:\n\n- Interactions\n- Items\n- Users\n\n> You can't use CloudFormation to create an Action Interactions or Actions dataset.", + "title": "DatasetType", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the dataset.", + "title": "Name", + "type": "string" + }, + "SchemaArn": { + "markdownDescription": "The ARN of the associated schema.", + "title": "SchemaArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatasetGroupArn", + "DatasetType", + "Name", + "SchemaArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Personalize::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Personalize::Dataset.DataSource": { + "additionalProperties": false, + "properties": { + "DataLocation": { + "markdownDescription": "For dataset import jobs, the path to the Amazon S3 bucket where the data that you want to upload to your dataset is stored. For data deletion jobs, the path to the Amazon S3 bucket that stores the list of records to delete.\n\nFor example:\n\n`s3://bucket-name/folder-name/fileName.csv`\n\nIf your CSV files are in a folder in your Amazon S3 bucket and you want your import job or data deletion job to consider multiple files, you can specify the path to the folder. With a data deletion job, Amazon Personalize uses all files in the folder and any sub folder. Use the following syntax with a `/` after the folder name:\n\n`s3://bucket-name/folder-name/`", + "title": "DataLocation", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Personalize::Dataset.DatasetImportJob": { + "additionalProperties": false, + "properties": { + "DataSource": { + "$ref": "#/definitions/AWS::Personalize::Dataset.DataSource", + "markdownDescription": "The Amazon S3 bucket that contains the training data to import.", + "title": "DataSource" + }, + "DatasetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the dataset that receives the imported data.", + "title": "DatasetArn", + "type": "string" + }, + "DatasetImportJobArn": { + "markdownDescription": "The ARN of the dataset import job.", + "title": "DatasetImportJobArn", + "type": "string" + }, + "JobName": { + "markdownDescription": "The name of the import job.", + "title": "JobName", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The ARN of the IAM role that has permissions to read from the Amazon S3 data source.", + "title": "RoleArn", + "type": "string" + } + }, + "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": { + "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": { + "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" }, - "DatasetImportJob": { - "$ref": "#/definitions/AWS::Personalize::Dataset.DatasetImportJob", - "markdownDescription": "Describes a job that imports training data from a data source (Amazon S3 bucket) to an Amazon Personalize dataset. If you specify a dataset import job as part of a dataset, all dataset import job fields are required.", - "title": "DatasetImportJob" + "DatasetArn": { + "type": "string" }, - "DatasetType": { - "markdownDescription": "One of the following values:\n\n- Interactions\n- Items\n- Users\n\n> You can't use CloudFormation to create an Action Interactions or Actions dataset.", - "title": "DatasetType", + "ImportMode": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the dataset.", - "title": "Name", + "JobName": { "type": "string" }, - "SchemaArn": { - "markdownDescription": "The ARN of the associated schema.", - "title": "SchemaArn", + "PublishAttributionMetricsToS3": { + "type": "boolean" + }, + "RoleArn": { "type": "string" }, "Tags": { @@ -266841,16 +282381,15 @@ } }, "required": [ - "DatasetGroupArn", - "DatasetType", - "Name", - "SchemaArn" + "DataSource", + "DatasetArn", + "JobName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Personalize::Dataset" + "AWS::Personalize::DatasetImportJob" ], "type": "string" }, @@ -266869,49 +282408,16 @@ ], "type": "object" }, - "AWS::Personalize::Dataset.DataSource": { + "AWS::Personalize::DatasetImportJob.DataSource": { "additionalProperties": false, "properties": { "DataLocation": { - "markdownDescription": "For dataset import jobs, the path to the Amazon S3 bucket where the data that you want to upload to your dataset is stored. For data deletion jobs, the path to the Amazon S3 bucket that stores the list of records to delete.\n\nFor example:\n\n`s3://bucket-name/folder-name/fileName.csv`\n\nIf your CSV files are in a folder in your Amazon S3 bucket and you want your import job or data deletion job to consider multiple files, you can specify the path to the folder. With a data deletion job, Amazon Personalize uses all files in the folder and any sub folder. Use the following syntax with a `/` after the folder name:\n\n`s3://bucket-name/folder-name/`", - "title": "DataLocation", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Personalize::Dataset.DatasetImportJob": { - "additionalProperties": false, - "properties": { - "DataSource": { - "$ref": "#/definitions/AWS::Personalize::Dataset.DataSource", - "markdownDescription": "The Amazon S3 bucket that contains the training data to import.", - "title": "DataSource" - }, - "DatasetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the dataset that receives the imported data.", - "title": "DatasetArn", - "type": "string" - }, - "DatasetImportJobArn": { - "markdownDescription": "The ARN of the dataset import job.", - "title": "DatasetImportJobArn", - "type": "string" - }, - "JobName": { - "markdownDescription": "The name of the import job.", - "title": "JobName", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The ARN of the IAM role that has permissions to read from the Amazon S3 data source.", - "title": "RoleArn", "type": "string" } }, "type": "object" }, - "AWS::Personalize::DatasetGroup": { + "AWS::Personalize::EventTracker": { "additionalProperties": false, "properties": { "Condition": { @@ -266946,24 +282452,10 @@ "Properties": { "additionalProperties": false, "properties": { - "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", + "DatasetGroupArn": { "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": { @@ -266974,13 +282466,14 @@ } }, "required": [ + "DatasetGroupArn", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Personalize::DatasetGroup" + "AWS::Personalize::EventTracker" ], "type": "string" }, @@ -266999,7 +282492,7 @@ ], "type": "object" }, - "AWS::Personalize::EventTracker": { + "AWS::Personalize::Filter": { "additionalProperties": false, "properties": { "Condition": { @@ -267037,6 +282530,9 @@ "DatasetGroupArn": { "type": "string" }, + "FilterExpression": { + "type": "string" + }, "Name": { "type": "string" }, @@ -267049,13 +282545,14 @@ }, "required": [ "DatasetGroupArn", + "FilterExpression", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Personalize::EventTracker" + "AWS::Personalize::Filter" ], "type": "string" }, @@ -273011,6 +288508,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": { @@ -276100,6 +291676,12 @@ "markdownDescription": "The static files for the definition.", "title": "StaticFiles", "type": "array" + }, + "TopicIdentifierDeclarations": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.TopicIdentifierDeclaration" + }, + "type": "array" } }, "required": [ @@ -276157,6 +291739,12 @@ "markdownDescription": "The dataset references of the source template of an analysis.", "title": "DataSetReferences", "type": "array" + }, + "TopicReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.TopicReference" + }, + "type": "array" } }, "required": [ @@ -276530,6 +292118,9 @@ "markdownDescription": "The options that determine if visual data labels are displayed.", "title": "DataLabels" }, + "DefaultSeriesSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.BarChartDefaultSeriesSettings" + }, "FieldWells": { "$ref": "#/definitions/AWS::QuickSight::Analysis.BarChartFieldWells", "markdownDescription": "The field wells of the visual.", @@ -276558,6 +292149,12 @@ "title": "ReferenceLines", "type": "array" }, + "Series": { + "items": { + "type": "object" + }, + "type": "array" + }, "SmallMultiplesOptions": { "$ref": "#/definitions/AWS::QuickSight::Analysis.SmallMultiplesOptions", "markdownDescription": "The small multiples setup for the visual.", @@ -276591,6 +292188,18 @@ }, "type": "object" }, + "AWS::QuickSight::Analysis.BarChartDefaultSeriesSettings": { + "additionalProperties": false, + "properties": { + "BorderSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.BorderSettings" + }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecalSettings" + } + }, + "type": "object" + }, "AWS::QuickSight::Analysis.BarChartFieldWells": { "additionalProperties": false, "properties": { @@ -276878,6 +292487,21 @@ }, "type": "object" }, + "AWS::QuickSight::Analysis.BorderSettings": { + "additionalProperties": false, + "properties": { + "BorderColor": { + "type": "string" + }, + "BorderVisibility": { + "type": "string" + }, + "BorderWidth": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Analysis.BoxPlotAggregatedFieldWells": { "additionalProperties": false, "properties": { @@ -277098,10 +292722,12 @@ "markdownDescription": "The name of the calculated field.", "title": "Name", "type": "string" + }, + "TopicIdentifier": { + "type": "string" } }, "required": [ - "DataSetIdentifier", "Expression", "Name" ], @@ -277418,6 +293044,9 @@ "markdownDescription": "The column.", "title": "Column" }, + "DecalSettingsConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecalSettingsConfiguration" + }, "FormatConfiguration": { "$ref": "#/definitions/AWS::QuickSight::Analysis.FormatConfiguration", "markdownDescription": "The format configuration of a column.", @@ -277467,11 +293096,13 @@ "markdownDescription": "The data set that the column belongs to.", "title": "DataSetIdentifier", "type": "string" + }, + "TopicIdentifier": { + "type": "string" } }, "required": [ - "ColumnName", - "DataSetIdentifier" + "ColumnName" ], "type": "object" }, @@ -277600,6 +293231,9 @@ "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) of a combo chart's color field well.", "title": "ColorLabelOptions" }, + "DefaultSeriesSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.ComboChartDefaultSeriesSettings" + }, "FieldWells": { "$ref": "#/definitions/AWS::QuickSight::Analysis.ComboChartFieldWells", "markdownDescription": "The field wells of the visual.", @@ -277648,6 +293282,12 @@ "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) of a combo chart's secondary y-axis(line) field well.", "title": "SecondaryYAxisLabelOptions" }, + "Series": { + "items": { + "type": "object" + }, + "type": "array" + }, "SingleAxisOptions": { "$ref": "#/definitions/AWS::QuickSight::Analysis.SingleAxisOptions", "markdownDescription": "", @@ -277671,6 +293311,24 @@ }, "type": "object" }, + "AWS::QuickSight::Analysis.ComboChartDefaultSeriesSettings": { + "additionalProperties": false, + "properties": { + "BorderSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.BorderSettings" + }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecalSettings" + }, + "LineStyleSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.LineChartLineStyleSettings" + }, + "MarkerStyleSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.LineChartMarkerStyleSettings" + } + }, + "type": "object" + }, "AWS::QuickSight::Analysis.ComboChartFieldWells": { "additionalProperties": false, "properties": { @@ -278228,6 +293886,9 @@ "markdownDescription": "The title that is displayed on the visual.", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -278240,7 +293901,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -278935,6 +294595,39 @@ }, "type": "object" }, + "AWS::QuickSight::Analysis.DecalSettings": { + "additionalProperties": false, + "properties": { + "DecalColor": { + "type": "string" + }, + "DecalPatternType": { + "type": "string" + }, + "DecalStyleType": { + "type": "string" + }, + "DecalVisibility": { + "type": "string" + }, + "ElementValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.DecalSettingsConfiguration": { + "additionalProperties": false, + "properties": { + "CustomDecalSettings": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecalSettings" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::QuickSight::Analysis.DecimalDefaultValues": { "additionalProperties": false, "properties": { @@ -279504,6 +295197,9 @@ "title": "DataSetIdentifier", "type": "string" }, + "TopicIdentifier": { + "type": "string" + }, "VisualId": { "markdownDescription": "The unique identifier of a visual. This identifier must be unique within the context of a dashboard, template, or analysis. Two dashboards, analyses, or templates can have visuals with the same identifiers.", "title": "VisualId", @@ -279511,7 +295207,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -280664,6 +296359,12 @@ "markdownDescription": "The elements that are included in a free-form layout.", "title": "Elements", "type": "array" + }, + "Groups": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.SheetLayoutGroup" + }, + "type": "array" } }, "required": [ @@ -280679,6 +296380,9 @@ "markdownDescription": "The background style configuration of a free-form layout element.", "title": "BackgroundStyle" }, + "BorderRadius": { + "type": "string" + }, "BorderStyle": { "$ref": "#/definitions/AWS::QuickSight::Analysis.FreeFormLayoutElementBorderStyle", "markdownDescription": "The border style configuration of a free-form layout element.", @@ -280704,6 +296408,9 @@ "markdownDescription": "The loading animation configuration of a free-form layout element.", "title": "LoadingAnimation" }, + "Padding": { + "type": "string" + }, "RenderingRules": { "items": { "$ref": "#/definitions/AWS::QuickSight::Analysis.SheetElementRenderingRule" @@ -280776,6 +296483,9 @@ "markdownDescription": "The border visibility of a free-form layout element.", "title": "Visibility", "type": "string" + }, + "Width": { + "type": "string" } }, "type": "object" @@ -282116,6 +297826,15 @@ "AWS::QuickSight::Analysis.GridLayoutElement": { "additionalProperties": false, "properties": { + "BackgroundStyle": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.GridLayoutElementBackgroundStyle" + }, + "BorderRadius": { + "type": "string" + }, + "BorderStyle": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.GridLayoutElementBorderStyle" + }, "ColumnIndex": { "markdownDescription": "The column index for the upper left corner of an element.", "title": "ColumnIndex", @@ -282136,6 +297855,12 @@ "title": "ElementType", "type": "string" }, + "LoadingAnimation": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.LoadingAnimation" + }, + "Padding": { + "type": "string" + }, "RowIndex": { "markdownDescription": "The row index for the upper left corner of an element.", "title": "RowIndex", @@ -282145,6 +297870,9 @@ "markdownDescription": "The height of a grid element expressed as a number of grid rows.", "title": "RowSpan", "type": "number" + }, + "SelectedBorderStyle": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.GridLayoutElementBorderStyle" } }, "required": [ @@ -282155,6 +297883,33 @@ ], "type": "object" }, + "AWS::QuickSight::Analysis.GridLayoutElementBackgroundStyle": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "Visibility": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.GridLayoutElementBorderStyle": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "Visibility": { + "type": "string" + }, + "Width": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Analysis.GridLayoutScreenCanvasSizeOptions": { "additionalProperties": false, "properties": { @@ -282719,6 +298474,9 @@ "markdownDescription": "The title that is displayed on the visual.", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -282731,7 +298489,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -283287,6 +299044,9 @@ "markdownDescription": "", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -283299,7 +299059,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -283544,6 +299303,9 @@ "title": "AxisBinding", "type": "string" }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecalSettings" + }, "LineStyleSettings": { "$ref": "#/definitions/AWS::QuickSight::Analysis.LineChartLineStyleSettings", "markdownDescription": "Line styles options for all line series in the visual.", @@ -283623,6 +299385,9 @@ "AWS::QuickSight::Analysis.LineChartSeriesSettings": { "additionalProperties": false, "properties": { + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecalSettings" + }, "LineStyleSettings": { "$ref": "#/definitions/AWS::QuickSight::Analysis.LineChartLineStyleSettings", "markdownDescription": "Line styles options for a line series in `LineChartVisual` .", @@ -287386,6 +303151,41 @@ }, "type": "object" }, + "AWS::QuickSight::Analysis.SheetLayoutGroup": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.SheetLayoutGroupMember" + }, + "type": "array" + } + }, + "required": [ + "Id", + "Members" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.SheetLayoutGroupMember": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Type": { + "type": "object" + } + }, + "required": [ + "Id", + "Type" + ], + "type": "object" + }, "AWS::QuickSight::Analysis.SheetTextBox": { "additionalProperties": false, "properties": { @@ -287560,6 +303360,43 @@ }, "type": "object" }, + "AWS::QuickSight::Analysis.SparklinesOptions": { + "additionalProperties": false, + "properties": { + "AllPointsMarker": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.LineChartMarkerStyleSettings" + }, + "FieldId": { + "type": "string" + }, + "LineColor": { + "type": "string" + }, + "LineInterpolation": { + "type": "string" + }, + "MaxValueMarker": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.LineChartMarkerStyleSettings" + }, + "MinValueMarker": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.LineChartMarkerStyleSettings" + }, + "VisualType": { + "type": "string" + }, + "XAxisField": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DimensionField" + }, + "YAxisBehavior": { + "type": "string" + } + }, + "required": [ + "FieldId", + "XAxisField" + ], + "type": "object" + }, "AWS::QuickSight::Analysis.SpatialStaticFile": { "additionalProperties": false, "properties": { @@ -288198,6 +304035,9 @@ "$ref": "#/definitions/AWS::QuickSight::Analysis.DataBarsOptions", "markdownDescription": "The configuration of the inline visualization of the data bars within a chart.", "title": "DataBars" + }, + "Sparklines": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.SparklinesOptions" } }, "type": "object" @@ -288870,6 +304710,38 @@ ], "type": "object" }, + "AWS::QuickSight::Analysis.TopicIdentifierDeclaration": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Identifier", + "TopicArn" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.TopicReference": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + }, + "TopicPlaceholder": { + "type": "string" + } + }, + "required": [ + "TopicArn", + "TopicPlaceholder" + ], + "type": "object" + }, "AWS::QuickSight::Analysis.TotalAggregationComputation": { "additionalProperties": false, "properties": { @@ -291086,6 +306958,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": { @@ -291852,6 +307799,9 @@ "markdownDescription": "The options that determine if visual data labels are displayed.", "title": "DataLabels" }, + "DefaultSeriesSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.BarChartDefaultSeriesSettings" + }, "FieldWells": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.BarChartFieldWells", "markdownDescription": "The field wells of the visual.", @@ -291880,6 +307830,12 @@ "title": "ReferenceLines", "type": "array" }, + "Series": { + "items": { + "type": "object" + }, + "type": "array" + }, "SmallMultiplesOptions": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.SmallMultiplesOptions", "markdownDescription": "The small multiples setup for the visual.", @@ -291913,6 +307869,18 @@ }, "type": "object" }, + "AWS::QuickSight::Dashboard.BarChartDefaultSeriesSettings": { + "additionalProperties": false, + "properties": { + "BorderSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.BorderSettings" + }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecalSettings" + } + }, + "type": "object" + }, "AWS::QuickSight::Dashboard.BarChartFieldWells": { "additionalProperties": false, "properties": { @@ -292200,6 +308168,21 @@ }, "type": "object" }, + "AWS::QuickSight::Dashboard.BorderSettings": { + "additionalProperties": false, + "properties": { + "BorderColor": { + "type": "string" + }, + "BorderVisibility": { + "type": "string" + }, + "BorderWidth": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Dashboard.BoxPlotAggregatedFieldWells": { "additionalProperties": false, "properties": { @@ -292420,10 +308403,12 @@ "markdownDescription": "The name of the calculated field.", "title": "Name", "type": "string" + }, + "TopicIdentifier": { + "type": "string" } }, "required": [ - "DataSetIdentifier", "Expression", "Name" ], @@ -292740,6 +308725,9 @@ "markdownDescription": "The column.", "title": "Column" }, + "DecalSettingsConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecalSettingsConfiguration" + }, "FormatConfiguration": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.FormatConfiguration", "markdownDescription": "The format configuration of a column.", @@ -292789,11 +308777,13 @@ "markdownDescription": "The data set that the column belongs to.", "title": "DataSetIdentifier", "type": "string" + }, + "TopicIdentifier": { + "type": "string" } }, "required": [ - "ColumnName", - "DataSetIdentifier" + "ColumnName" ], "type": "object" }, @@ -292922,6 +308912,9 @@ "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) of a combo chart's color field well.", "title": "ColorLabelOptions" }, + "DefaultSeriesSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ComboChartDefaultSeriesSettings" + }, "FieldWells": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.ComboChartFieldWells", "markdownDescription": "The field wells of the visual.", @@ -292970,6 +308963,12 @@ "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) of a combo chart's secondary y-axis(line) field well.", "title": "SecondaryYAxisLabelOptions" }, + "Series": { + "items": { + "type": "object" + }, + "type": "array" + }, "SingleAxisOptions": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.SingleAxisOptions", "markdownDescription": "", @@ -292993,6 +308992,24 @@ }, "type": "object" }, + "AWS::QuickSight::Dashboard.ComboChartDefaultSeriesSettings": { + "additionalProperties": false, + "properties": { + "BorderSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.BorderSettings" + }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecalSettings" + }, + "LineStyleSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.LineChartLineStyleSettings" + }, + "MarkerStyleSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.LineChartMarkerStyleSettings" + } + }, + "type": "object" + }, "AWS::QuickSight::Dashboard.ComboChartFieldWells": { "additionalProperties": false, "properties": { @@ -293550,6 +309567,9 @@ "markdownDescription": "The title that is displayed on the visual.", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -293562,7 +309582,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -293837,6 +309856,12 @@ "markdownDescription": "Dataset references.", "title": "DataSetReferences", "type": "array" + }, + "TopicReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.TopicReference" + }, + "type": "array" } }, "required": [ @@ -293978,6 +310003,12 @@ "markdownDescription": "The static files for the definition.", "title": "StaticFiles", "type": "array" + }, + "TopicIdentifierDeclarations": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.TopicIdentifierDeclaration" + }, + "type": "array" } }, "required": [ @@ -294602,6 +310633,39 @@ }, "type": "object" }, + "AWS::QuickSight::Dashboard.DecalSettings": { + "additionalProperties": false, + "properties": { + "DecalColor": { + "type": "string" + }, + "DecalPatternType": { + "type": "string" + }, + "DecalStyleType": { + "type": "string" + }, + "DecalVisibility": { + "type": "string" + }, + "ElementValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DecalSettingsConfiguration": { + "additionalProperties": false, + "properties": { + "CustomDecalSettings": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecalSettings" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::QuickSight::Dashboard.DecimalDefaultValues": { "additionalProperties": false, "properties": { @@ -295171,6 +311235,9 @@ "title": "DataSetIdentifier", "type": "string" }, + "TopicIdentifier": { + "type": "string" + }, "VisualId": { "markdownDescription": "The unique identifier of a visual. This identifier must be unique within the context of a dashboard, template, or analysis. Two dashboards, analyses, or templates can have visuals with the same identifiers.", "title": "VisualId", @@ -295178,7 +311245,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -296375,6 +312441,12 @@ "markdownDescription": "The elements that are included in a free-form layout.", "title": "Elements", "type": "array" + }, + "Groups": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetLayoutGroup" + }, + "type": "array" } }, "required": [ @@ -298512,6 +314584,9 @@ "markdownDescription": "The title that is displayed on the visual.", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -298524,7 +314599,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -299080,6 +315154,9 @@ "markdownDescription": "", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -299092,7 +315169,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -299337,6 +315413,9 @@ "title": "AxisBinding", "type": "string" }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecalSettings" + }, "LineStyleSettings": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.LineChartLineStyleSettings", "markdownDescription": "Line styles options for all line series in the visual.", @@ -299416,6 +315495,9 @@ "AWS::QuickSight::Dashboard.LineChartSeriesSettings": { "additionalProperties": false, "properties": { + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecalSettings" + }, "LineStyleSettings": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.LineChartLineStyleSettings", "markdownDescription": "Line styles options for a line series in `LineChartVisual` .", @@ -303215,6 +319297,41 @@ }, "type": "object" }, + "AWS::QuickSight::Dashboard.SheetLayoutGroup": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetLayoutGroupMember" + }, + "type": "array" + } + }, + "required": [ + "Id", + "Members" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.SheetLayoutGroupMember": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Type": { + "type": "object" + } + }, + "required": [ + "Id", + "Type" + ], + "type": "object" + }, "AWS::QuickSight::Dashboard.SheetTextBox": { "additionalProperties": false, "properties": { @@ -303389,6 +319506,43 @@ }, "type": "object" }, + "AWS::QuickSight::Dashboard.SparklinesOptions": { + "additionalProperties": false, + "properties": { + "AllPointsMarker": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.LineChartMarkerStyleSettings" + }, + "FieldId": { + "type": "string" + }, + "LineColor": { + "type": "string" + }, + "LineInterpolation": { + "type": "string" + }, + "MaxValueMarker": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.LineChartMarkerStyleSettings" + }, + "MinValueMarker": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.LineChartMarkerStyleSettings" + }, + "VisualType": { + "type": "string" + }, + "XAxisField": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DimensionField" + }, + "YAxisBehavior": { + "type": "string" + } + }, + "required": [ + "FieldId", + "XAxisField" + ], + "type": "object" + }, "AWS::QuickSight::Dashboard.SpatialStaticFile": { "additionalProperties": false, "properties": { @@ -304027,6 +320181,9 @@ "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataBarsOptions", "markdownDescription": "The configuration of the inline visualization of the data bars within a chart.", "title": "DataBars" + }, + "Sparklines": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.SparklinesOptions" } }, "type": "object" @@ -304699,6 +320856,38 @@ ], "type": "object" }, + "AWS::QuickSight::Dashboard.TopicIdentifierDeclaration": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Identifier", + "TopicArn" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.TopicReference": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + }, + "TopicPlaceholder": { + "type": "string" + } + }, + "required": [ + "TopicArn", + "TopicPlaceholder" + ], + "type": "object" + }, "AWS::QuickSight::Dashboard.TotalAggregationComputation": { "additionalProperties": false, "properties": { @@ -308381,6 +324570,9 @@ "AWS::QuickSight::DataSource.AthenaParameters": { "additionalProperties": false, "properties": { + "ConsumerAccountRoleArn": { + "type": "string" + }, "IdentityCenterConfiguration": { "$ref": "#/definitions/AWS::QuickSight::DataSource.IdentityCenterConfiguration", "markdownDescription": "An optional parameter that configures IAM Identity Center authentication to grant Quick Sight access to your workgroup.\n\nThis parameter can only be specified if your Quick Sight account is configured with IAM Identity Center.", @@ -309477,6 +325669,75 @@ ], "type": "object" }, + "AWS::QuickSight::Ingestion": { + "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": { + "DataSetId": { + "type": "string" + }, + "IngestionId": { + "type": "string" + } + }, + "required": [ + "DataSetId", + "IngestionId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Ingestion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::QuickSight::KnowledgeBase": { "additionalProperties": false, "properties": { @@ -310713,6 +326974,9 @@ "markdownDescription": "The options that determine if visual data labels are displayed.", "title": "DataLabels" }, + "DefaultSeriesSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.BarChartDefaultSeriesSettings" + }, "FieldWells": { "$ref": "#/definitions/AWS::QuickSight::Template.BarChartFieldWells", "markdownDescription": "The field wells of the visual.", @@ -310741,6 +327005,12 @@ "title": "ReferenceLines", "type": "array" }, + "Series": { + "items": { + "type": "object" + }, + "type": "array" + }, "SmallMultiplesOptions": { "$ref": "#/definitions/AWS::QuickSight::Template.SmallMultiplesOptions", "markdownDescription": "The small multiples setup for the visual.", @@ -310774,6 +327044,18 @@ }, "type": "object" }, + "AWS::QuickSight::Template.BarChartDefaultSeriesSettings": { + "additionalProperties": false, + "properties": { + "BorderSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.BorderSettings" + }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.DecalSettings" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.BarChartFieldWells": { "additionalProperties": false, "properties": { @@ -311061,6 +327343,21 @@ }, "type": "object" }, + "AWS::QuickSight::Template.BorderSettings": { + "additionalProperties": false, + "properties": { + "BorderColor": { + "type": "string" + }, + "BorderVisibility": { + "type": "string" + }, + "BorderWidth": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.BoxPlotAggregatedFieldWells": { "additionalProperties": false, "properties": { @@ -311281,10 +327578,12 @@ "markdownDescription": "The name of the calculated field.", "title": "Name", "type": "string" + }, + "TopicIdentifier": { + "type": "string" } }, "required": [ - "DataSetIdentifier", "Expression", "Name" ], @@ -311601,6 +327900,9 @@ "markdownDescription": "The column.", "title": "Column" }, + "DecalSettingsConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Template.DecalSettingsConfiguration" + }, "FormatConfiguration": { "$ref": "#/definitions/AWS::QuickSight::Template.FormatConfiguration", "markdownDescription": "The format configuration of a column.", @@ -311680,11 +327982,13 @@ "markdownDescription": "The data set that the column belongs to.", "title": "DataSetIdentifier", "type": "string" + }, + "TopicIdentifier": { + "type": "string" } }, "required": [ - "ColumnName", - "DataSetIdentifier" + "ColumnName" ], "type": "object" }, @@ -311834,6 +328138,9 @@ "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) of a combo chart's color field well.", "title": "ColorLabelOptions" }, + "DefaultSeriesSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.ComboChartDefaultSeriesSettings" + }, "FieldWells": { "$ref": "#/definitions/AWS::QuickSight::Template.ComboChartFieldWells", "markdownDescription": "The field wells of the visual.", @@ -311882,6 +328189,12 @@ "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) of a combo chart's secondary y-axis(line) field well.", "title": "SecondaryYAxisLabelOptions" }, + "Series": { + "items": { + "type": "object" + }, + "type": "array" + }, "SingleAxisOptions": { "$ref": "#/definitions/AWS::QuickSight::Template.SingleAxisOptions", "markdownDescription": "", @@ -311905,6 +328218,24 @@ }, "type": "object" }, + "AWS::QuickSight::Template.ComboChartDefaultSeriesSettings": { + "additionalProperties": false, + "properties": { + "BorderSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.BorderSettings" + }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.DecalSettings" + }, + "LineStyleSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.LineChartLineStyleSettings" + }, + "MarkerStyleSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.LineChartMarkerStyleSettings" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.ComboChartFieldWells": { "additionalProperties": false, "properties": { @@ -312462,6 +328793,9 @@ "markdownDescription": "The title that is displayed on the visual.", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -312474,7 +328808,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -313164,6 +329497,39 @@ }, "type": "object" }, + "AWS::QuickSight::Template.DecalSettings": { + "additionalProperties": false, + "properties": { + "DecalColor": { + "type": "string" + }, + "DecalPatternType": { + "type": "string" + }, + "DecalStyleType": { + "type": "string" + }, + "DecalVisibility": { + "type": "string" + }, + "ElementValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.DecalSettingsConfiguration": { + "additionalProperties": false, + "properties": { + "CustomDecalSettings": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.DecalSettings" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.DecimalDefaultValues": { "additionalProperties": false, "properties": { @@ -313710,6 +330076,9 @@ "title": "DataSetIdentifier", "type": "string" }, + "TopicIdentifier": { + "type": "string" + }, "VisualId": { "markdownDescription": "The unique identifier of a visual. This identifier must be unique within the context of a dashboard, template, or analysis. Two dashboards, analyses, or templates can have visuals with the same identifiers.", "title": "VisualId", @@ -313717,7 +330086,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -314870,6 +331238,12 @@ "markdownDescription": "The elements that are included in a free-form layout.", "title": "Elements", "type": "array" + }, + "Groups": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.SheetLayoutGroup" + }, + "type": "array" } }, "required": [ @@ -315420,6 +331794,88 @@ ], "type": "object" }, + "AWS::QuickSight::Template.GeospatialCategoricalColor": { + "additionalProperties": false, + "properties": { + "CategoryDataColors": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialCategoricalDataColor" + }, + "type": "array" + }, + "DefaultOpacity": { + "type": "number" + }, + "NullDataSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialNullDataSettings" + }, + "NullDataVisibility": { + "type": "string" + } + }, + "required": [ + "CategoryDataColors" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialCategoricalDataColor": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "DataValue": { + "type": "string" + } + }, + "required": [ + "Color", + "DataValue" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialCircleRadius": { + "additionalProperties": false, + "properties": { + "Radius": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialCircleSymbolStyle": { + "additionalProperties": false, + "properties": { + "CircleRadius": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialCircleRadius" + }, + "FillColor": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialColor" + }, + "StrokeColor": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialColor" + }, + "StrokeWidth": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLineWidth" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialColor": { + "additionalProperties": false, + "properties": { + "Categorical": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialCategoricalColor" + }, + "Gradient": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialGradientColor" + }, + "Solid": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialSolidColor" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.GeospatialCoordinateBounds": { "additionalProperties": false, "properties": { @@ -315452,6 +331908,55 @@ ], "type": "object" }, + "AWS::QuickSight::Template.GeospatialDataSourceItem": { + "additionalProperties": false, + "properties": { + "StaticFileDataSource": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialStaticFileSource" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialGradientColor": { + "additionalProperties": false, + "properties": { + "DefaultOpacity": { + "type": "number" + }, + "NullDataSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialNullDataSettings" + }, + "NullDataVisibility": { + "type": "string" + }, + "StepColors": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialGradientStepColor" + }, + "type": "array" + } + }, + "required": [ + "StepColors" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialGradientStepColor": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "DataValue": { + "type": "number" + } + }, + "required": [ + "Color", + "DataValue" + ], + "type": "object" + }, "AWS::QuickSight::Template.GeospatialHeatmapColorScale": { "additionalProperties": false, "properties": { @@ -315491,6 +331996,159 @@ ], "type": "object" }, + "AWS::QuickSight::Template.GeospatialLayerColorField": { + "additionalProperties": false, + "properties": { + "ColorDimensionsFields": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.DimensionField" + }, + "type": "array" + }, + "ColorValuesFields": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.MeasureField" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLayerDefinition": { + "additionalProperties": false, + "properties": { + "LineLayer": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLineLayer" + }, + "PointLayer": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialPointLayer" + }, + "PolygonLayer": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialPolygonLayer" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLayerItem": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.LayerCustomAction" + }, + "type": "array" + }, + "DataSource": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialDataSourceItem" + }, + "JoinDefinition": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLayerJoinDefinition" + }, + "Label": { + "type": "string" + }, + "LayerDefinition": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLayerDefinition" + }, + "LayerId": { + "type": "string" + }, + "LayerType": { + "type": "string" + }, + "Tooltip": { + "$ref": "#/definitions/AWS::QuickSight::Template.TooltipOptions" + }, + "Visibility": { + "type": "string" + } + }, + "required": [ + "LayerId" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLayerJoinDefinition": { + "additionalProperties": false, + "properties": { + "ColorField": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLayerColorField" + }, + "DatasetKeyField": { + "$ref": "#/definitions/AWS::QuickSight::Template.UnaggregatedField" + }, + "ShapeKeyField": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLayerMapConfiguration": { + "additionalProperties": false, + "properties": { + "Interactions": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualInteractionOptions" + }, + "Legend": { + "$ref": "#/definitions/AWS::QuickSight::Template.LegendOptions" + }, + "MapLayers": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLayerItem" + }, + "type": "array" + }, + "MapState": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialMapState" + }, + "MapStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialMapStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLineLayer": { + "additionalProperties": false, + "properties": { + "Style": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLineStyle" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLineStyle": { + "additionalProperties": false, + "properties": { + "LineSymbolStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLineSymbolStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLineSymbolStyle": { + "additionalProperties": false, + "properties": { + "FillColor": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialColor" + }, + "LineWidth": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLineWidth" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLineWidth": { + "additionalProperties": false, + "properties": { + "LineWidth": { + "type": "number" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.GeospatialMapAggregatedFieldWells": { "additionalProperties": false, "properties": { @@ -315529,6 +332187,9 @@ "markdownDescription": "The field wells of the visual.", "title": "FieldWells" }, + "Interactions": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualInteractionOptions" + }, "Legend": { "$ref": "#/definitions/AWS::QuickSight::Template.LegendOptions", "markdownDescription": "The legend display setup of the visual.", @@ -315573,6 +332234,33 @@ }, "type": "object" }, + "AWS::QuickSight::Template.GeospatialMapState": { + "additionalProperties": false, + "properties": { + "Bounds": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialCoordinateBounds" + }, + "MapNavigation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialMapStyle": { + "additionalProperties": false, + "properties": { + "BackgroundColor": { + "type": "string" + }, + "BaseMapStyle": { + "type": "string" + }, + "BaseMapVisibility": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.GeospatialMapStyleOptions": { "additionalProperties": false, "properties": { @@ -315634,6 +332322,54 @@ ], "type": "object" }, + "AWS::QuickSight::Template.GeospatialNullDataSettings": { + "additionalProperties": false, + "properties": { + "SymbolStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialNullSymbolStyle" + } + }, + "required": [ + "SymbolStyle" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialNullSymbolStyle": { + "additionalProperties": false, + "properties": { + "FillColor": { + "type": "string" + }, + "StrokeColor": { + "type": "string" + }, + "StrokeWidth": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialPointLayer": { + "additionalProperties": false, + "properties": { + "Style": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialPointStyle" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialPointStyle": { + "additionalProperties": false, + "properties": { + "CircleSymbolStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialCircleSymbolStyle" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.GeospatialPointStyleOptions": { "additionalProperties": false, "properties": { @@ -315655,6 +332391,69 @@ }, "type": "object" }, + "AWS::QuickSight::Template.GeospatialPolygonLayer": { + "additionalProperties": false, + "properties": { + "Style": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialPolygonStyle" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialPolygonStyle": { + "additionalProperties": false, + "properties": { + "PolygonSymbolStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialPolygonSymbolStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialPolygonSymbolStyle": { + "additionalProperties": false, + "properties": { + "FillColor": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialColor" + }, + "StrokeColor": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialColor" + }, + "StrokeWidth": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLineWidth" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialSolidColor": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "required": [ + "Color" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialStaticFileSource": { + "additionalProperties": false, + "properties": { + "StaticFileId": { + "type": "string" + } + }, + "required": [ + "StaticFileId" + ], + "type": "object" + }, "AWS::QuickSight::Template.GeospatialWindowOptions": { "additionalProperties": false, "properties": { @@ -315761,6 +332560,15 @@ "AWS::QuickSight::Template.GridLayoutElement": { "additionalProperties": false, "properties": { + "BackgroundStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GridLayoutElementBackgroundStyle" + }, + "BorderRadius": { + "type": "string" + }, + "BorderStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GridLayoutElementBorderStyle" + }, "ColumnIndex": { "markdownDescription": "The column index for the upper left corner of an element.", "title": "ColumnIndex", @@ -315781,6 +332589,12 @@ "title": "ElementType", "type": "string" }, + "LoadingAnimation": { + "$ref": "#/definitions/AWS::QuickSight::Template.LoadingAnimation" + }, + "Padding": { + "type": "string" + }, "RowIndex": { "markdownDescription": "The row index for the upper left corner of an element.", "title": "RowIndex", @@ -315790,6 +332604,9 @@ "markdownDescription": "The height of a grid element expressed as a number of grid rows.", "title": "RowSpan", "type": "number" + }, + "SelectedBorderStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GridLayoutElementBorderStyle" } }, "required": [ @@ -315800,6 +332617,33 @@ ], "type": "object" }, + "AWS::QuickSight::Template.GridLayoutElementBackgroundStyle": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "Visibility": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GridLayoutElementBorderStyle": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "Visibility": { + "type": "string" + }, + "Width": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.GridLayoutScreenCanvasSizeOptions": { "additionalProperties": false, "properties": { @@ -316279,6 +333123,21 @@ }, "type": "object" }, + "AWS::QuickSight::Template.ImageStaticFile": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/AWS::QuickSight::Template.StaticFileSource" + }, + "StaticFileId": { + "type": "string" + } + }, + "required": [ + "StaticFileId" + ], + "type": "object" + }, "AWS::QuickSight::Template.InnerFilter": { "additionalProperties": false, "properties": { @@ -316345,6 +333204,9 @@ "markdownDescription": "The title that is displayed on the visual.", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -316357,7 +333219,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -316801,6 +333662,84 @@ }, "type": "object" }, + "AWS::QuickSight::Template.LayerCustomAction": { + "additionalProperties": false, + "properties": { + "ActionOperations": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.LayerCustomActionOperation" + }, + "type": "array" + }, + "CustomActionId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Trigger": { + "type": "string" + } + }, + "required": [ + "ActionOperations", + "CustomActionId", + "Name", + "Trigger" + ], + "type": "object" + }, + "AWS::QuickSight::Template.LayerCustomActionOperation": { + "additionalProperties": false, + "properties": { + "FilterOperation": { + "$ref": "#/definitions/AWS::QuickSight::Template.CustomActionFilterOperation" + }, + "NavigationOperation": { + "$ref": "#/definitions/AWS::QuickSight::Template.CustomActionNavigationOperation" + }, + "SetParametersOperation": { + "$ref": "#/definitions/AWS::QuickSight::Template.CustomActionSetParametersOperation" + }, + "URLOperation": { + "$ref": "#/definitions/AWS::QuickSight::Template.CustomActionURLOperation" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.LayerMapVisual": { + "additionalProperties": false, + "properties": { + "ChartConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLayerMapConfiguration" + }, + "DataSetIdentifier": { + "type": "string" + }, + "Subtitle": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualSubtitleLabelOptions" + }, + "Title": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualTitleLabelOptions" + }, + "TopicIdentifier": { + "type": "string" + }, + "VisualContentAltText": { + "type": "string" + }, + "VisualId": { + "type": "string" + } + }, + "required": [ + "VisualId" + ], + "type": "object" + }, "AWS::QuickSight::Template.Layout": { "additionalProperties": false, "properties": { @@ -317041,6 +333980,9 @@ "title": "AxisBinding", "type": "string" }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.DecalSettings" + }, "LineStyleSettings": { "$ref": "#/definitions/AWS::QuickSight::Template.LineChartLineStyleSettings", "markdownDescription": "Line styles options for all line series in the visual.", @@ -317120,6 +334062,9 @@ "AWS::QuickSight::Template.LineChartSeriesSettings": { "additionalProperties": false, "properties": { + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.DecalSettings" + }, "LineStyleSettings": { "$ref": "#/definitions/AWS::QuickSight::Template.LineChartLineStyleSettings", "markdownDescription": "Line styles options for a line series in `LineChartVisual` .", @@ -320845,6 +337790,41 @@ }, "type": "object" }, + "AWS::QuickSight::Template.SheetLayoutGroup": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.SheetLayoutGroupMember" + }, + "type": "array" + } + }, + "required": [ + "Id", + "Members" + ], + "type": "object" + }, + "AWS::QuickSight::Template.SheetLayoutGroupMember": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Type": { + "type": "object" + } + }, + "required": [ + "Id", + "Type" + ], + "type": "object" + }, "AWS::QuickSight::Template.SheetTextBox": { "additionalProperties": false, "properties": { @@ -321019,6 +337999,114 @@ }, "type": "object" }, + "AWS::QuickSight::Template.SparklinesOptions": { + "additionalProperties": false, + "properties": { + "AllPointsMarker": { + "$ref": "#/definitions/AWS::QuickSight::Template.LineChartMarkerStyleSettings" + }, + "FieldId": { + "type": "string" + }, + "LineColor": { + "type": "string" + }, + "LineInterpolation": { + "type": "string" + }, + "MaxValueMarker": { + "$ref": "#/definitions/AWS::QuickSight::Template.LineChartMarkerStyleSettings" + }, + "MinValueMarker": { + "$ref": "#/definitions/AWS::QuickSight::Template.LineChartMarkerStyleSettings" + }, + "VisualType": { + "type": "string" + }, + "XAxisField": { + "$ref": "#/definitions/AWS::QuickSight::Template.DimensionField" + }, + "YAxisBehavior": { + "type": "string" + } + }, + "required": [ + "FieldId", + "XAxisField" + ], + "type": "object" + }, + "AWS::QuickSight::Template.SpatialStaticFile": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/AWS::QuickSight::Template.StaticFileSource" + }, + "StaticFileId": { + "type": "string" + } + }, + "required": [ + "StaticFileId" + ], + "type": "object" + }, + "AWS::QuickSight::Template.StaticFile": { + "additionalProperties": false, + "properties": { + "ImageStaticFile": { + "$ref": "#/definitions/AWS::QuickSight::Template.ImageStaticFile" + }, + "SpatialStaticFile": { + "$ref": "#/definitions/AWS::QuickSight::Template.SpatialStaticFile" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.StaticFileS3SourceOptions": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "ObjectKey": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "BucketName", + "ObjectKey", + "Region" + ], + "type": "object" + }, + "AWS::QuickSight::Template.StaticFileSource": { + "additionalProperties": false, + "properties": { + "S3Options": { + "$ref": "#/definitions/AWS::QuickSight::Template.StaticFileS3SourceOptions" + }, + "UrlOptions": { + "$ref": "#/definitions/AWS::QuickSight::Template.StaticFileUrlSourceOptions" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.StaticFileUrlSourceOptions": { + "additionalProperties": false, + "properties": { + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, "AWS::QuickSight::Template.StringDefaultValues": { "additionalProperties": false, "properties": { @@ -321543,6 +338631,9 @@ "$ref": "#/definitions/AWS::QuickSight::Template.DataBarsOptions", "markdownDescription": "The configuration of the inline visualization of the data bars within a chart.", "title": "DataBars" + }, + "Sparklines": { + "$ref": "#/definitions/AWS::QuickSight::Template.SparklinesOptions" } }, "type": "object" @@ -321788,6 +338879,12 @@ "markdownDescription": "A structure containing information about the dataset references used as placeholders in the template.", "title": "DataSetReferences", "type": "array" + }, + "TopicReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.TopicReference" + }, + "type": "array" } }, "required": [ @@ -321951,6 +339048,18 @@ "markdownDescription": "An array of sheet definitions for a template.", "title": "Sheets", "type": "array" + }, + "StaticFiles": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.StaticFile" + }, + "type": "array" + }, + "TopicConfigurations": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.TopicConfiguration" + }, + "type": "array" } }, "required": [ @@ -322424,6 +339533,40 @@ ], "type": "object" }, + "AWS::QuickSight::Template.TopicConfiguration": { + "additionalProperties": false, + "properties": { + "ColumnGroupSchemaList": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.ColumnGroupSchema" + }, + "type": "array" + }, + "DataSetSchema": { + "$ref": "#/definitions/AWS::QuickSight::Template.DataSetSchema" + }, + "Placeholder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.TopicReference": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + }, + "TopicPlaceholder": { + "type": "string" + } + }, + "required": [ + "TopicArn", + "TopicPlaceholder" + ], + "type": "object" + }, "AWS::QuickSight::Template.TotalAggregationComputation": { "additionalProperties": false, "properties": { @@ -322861,6 +340004,9 @@ "markdownDescription": "A key performance indicator (KPI).\n\nFor more information, see [Using KPIs](https://docs.aws.amazon.com/quicksight/latest/user/kpi.html) in the *Amazon Quick Suite User Guide* .", "title": "KPIVisual" }, + "LayerMapVisual": { + "$ref": "#/definitions/AWS::QuickSight::Template.LayerMapVisual" + }, "LineChartVisual": { "$ref": "#/definitions/AWS::QuickSight::Template.LineChartVisual", "markdownDescription": "A line chart.\n\nFor more information, see [Using line charts](https://docs.aws.amazon.com/quicksight/latest/user/line-charts.html) in the *Amazon Quick Suite User Guide* .", @@ -323626,10 +340772,16 @@ "AWS::QuickSight::Theme.BorderStyle": { "additionalProperties": false, "properties": { + "Color": { + "type": "string" + }, "Show": { "markdownDescription": "The option to enable display of borders for visuals.", "title": "Show", "type": "boolean" + }, + "Width": { + "type": "string" } }, "type": "object" @@ -323672,6 +340824,48 @@ }, "type": "object" }, + "AWS::QuickSight::Theme.FontConfiguration": { + "additionalProperties": false, + "properties": { + "FontColor": { + "type": "string" + }, + "FontDecoration": { + "type": "string" + }, + "FontFamily": { + "type": "string" + }, + "FontSize": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontSize" + }, + "FontStyle": { + "type": "string" + }, + "FontWeight": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontWeight" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.FontSize": { + "additionalProperties": false, + "properties": { + "Absolute": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.FontWeight": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Theme.GutterStyle": { "additionalProperties": false, "properties": { @@ -323717,9 +340911,24 @@ ], "type": "object" }, + "AWS::QuickSight::Theme.SheetBackgroundStyle": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "Gradient": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Theme.SheetStyle": { "additionalProperties": false, "properties": { + "Background": { + "$ref": "#/definitions/AWS::QuickSight::Theme.SheetBackgroundStyle" + }, "Tile": { "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle", "markdownDescription": "The display options for tiles.", @@ -323843,10 +341052,19 @@ "AWS::QuickSight::Theme.TileStyle": { "additionalProperties": false, "properties": { + "BackgroundColor": { + "type": "string" + }, "Border": { "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle", "markdownDescription": "The border around a tile.", "title": "Border" + }, + "BorderRadius": { + "type": "string" + }, + "Padding": { + "type": "string" } }, "type": "object" @@ -323854,6 +341072,15 @@ "AWS::QuickSight::Theme.Typography": { "additionalProperties": false, "properties": { + "AxisLabelFontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontConfiguration" + }, + "AxisTitleFontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontConfiguration" + }, + "DataLabelFontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontConfiguration" + }, "FontFamilies": { "items": { "$ref": "#/definitions/AWS::QuickSight::Theme.Font" @@ -323861,6 +341088,18 @@ "markdownDescription": "Determines the list of font families.", "title": "FontFamilies", "type": "array" + }, + "LegendTitleFontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontConfiguration" + }, + "LegendValueFontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontConfiguration" + }, + "VisualSubtitleFontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.VisualSubtitleFontConfiguration" + }, + "VisualTitleFontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.VisualTitleFontConfiguration" } }, "type": "object" @@ -323951,6 +341190,36 @@ }, "type": "object" }, + "AWS::QuickSight::Theme.VisualSubtitleFontConfiguration": { + "additionalProperties": false, + "properties": { + "FontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontConfiguration" + }, + "TextAlignment": { + "type": "string" + }, + "TextTransform": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.VisualTitleFontConfiguration": { + "additionalProperties": false, + "properties": { + "FontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontConfiguration" + }, + "TextAlignment": { + "type": "string" + }, + "TextTransform": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Topic": { "additionalProperties": false, "properties": { @@ -326196,6 +343465,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 +344151,12 @@ "MaxAllocatedStorage": { "type": "number" }, + "StorageOperationPercentProgress": { + "type": "number" + }, + "StorageOperationStatus": { + "type": "string" + }, "StorageThroughput": { "type": "number" }, @@ -326912,6 +344284,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 +348992,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 +349256,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 +349489,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 +351644,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": { @@ -334163,6 +352172,9 @@ "Name": { "type": "string" }, + "SharingEnabled": { + "type": "boolean" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -334442,12 +352454,58 @@ }, "type": "object" }, + "AWS::ResilienceHubV2::Service.EksLabelSelector": { + "additionalProperties": false, + "properties": { + "MatchExpressions": { + "items": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.EksLabelSelectorRequirement" + }, + "type": "array" + }, + "MatchLabels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ResilienceHubV2::Service.EksLabelSelectorRequirement": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Operator": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Operator" + ], + "type": "object" + }, "AWS::ResilienceHubV2::Service.EksSource": { "additionalProperties": false, "properties": { "ClusterArn": { "type": "string" }, + "LabelSelector": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.EksLabelSelector" + }, "Namespaces": { "items": { "type": "string" @@ -336075,45 +354133,265 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "CrlData": { - "markdownDescription": "The x509 v3 specified certificate revocation list (CRL).", - "title": "CrlData", - "type": "string" - }, - "Enabled": { - "markdownDescription": "Specifies whether the certificate revocation list (CRL) is enabled.", - "title": "Enabled", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the certificate revocation list (CRL).", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags to attach to the certificate revocation list (CRL).", - "title": "Tags", - "type": "array" - }, - "TrustAnchorArn": { - "markdownDescription": "The ARN of the TrustAnchor the certificate revocation list (CRL) will provide revocation for.", - "title": "TrustAnchorArn", - "type": "string" - } - }, - "required": [ - "CrlData", - "Name" - ], + "properties": { + "CrlData": { + "markdownDescription": "The x509 v3 specified certificate revocation list (CRL).", + "title": "CrlData", + "type": "string" + }, + "Enabled": { + "markdownDescription": "Specifies whether the certificate revocation list (CRL) is enabled.", + "title": "Enabled", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the certificate revocation list (CRL).", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags to attach to the certificate revocation list (CRL).", + "title": "Tags", + "type": "array" + }, + "TrustAnchorArn": { + "markdownDescription": "The ARN of the TrustAnchor the certificate revocation list (CRL) will provide revocation for.", + "title": "TrustAnchorArn", + "type": "string" + } + }, + "required": [ + "CrlData", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RolesAnywhere::CRL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RolesAnywhere::Profile": { + "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": { + "AcceptRoleSessionName": { + "markdownDescription": "Used to determine if a custom role session name will be accepted in a temporary credential request.", + "title": "AcceptRoleSessionName", + "type": "boolean" + }, + "AttributeMappings": { + "items": { + "$ref": "#/definitions/AWS::RolesAnywhere::Profile.AttributeMapping" + }, + "markdownDescription": "A mapping applied to the authenticating end-entity certificate.", + "title": "AttributeMappings", + "type": "array" + }, + "DurationSeconds": { + "markdownDescription": "The number of seconds vended session credentials will be valid for", + "title": "DurationSeconds", + "type": "number" + }, + "Enabled": { + "markdownDescription": "The enabled status of the resource.", + "title": "Enabled", + "type": "boolean" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of managed policy ARNs. Managed policies identified by this list will be applied to the vended session credentials.", + "title": "ManagedPolicyArns", + "type": "array" + }, + "Name": { + "markdownDescription": "The customer specified name of the resource.", + "title": "Name", + "type": "string" + }, + "RequireInstanceProperties": { + "markdownDescription": "Specifies whether instance properties are required in CreateSession requests with this profile.", + "title": "RequireInstanceProperties", + "type": "boolean" + }, + "RoleArns": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of IAM role ARNs that can be assumed when this profile is specified in a CreateSession request.", + "title": "RoleArns", + "type": "array" + }, + "SessionPolicy": { + "markdownDescription": "A session policy that will applied to the trust boundary of the vended session credentials.", + "title": "SessionPolicy", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of Tags.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name", + "RoleArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RolesAnywhere::Profile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RolesAnywhere::Profile.AttributeMapping": { + "additionalProperties": false, + "properties": { + "CertificateField": { + "markdownDescription": "Fields (x509Subject, x509Issuer and x509SAN) within X.509 certificates.", + "title": "CertificateField", + "type": "string" + }, + "MappingRules": { + "items": { + "$ref": "#/definitions/AWS::RolesAnywhere::Profile.MappingRule" + }, + "markdownDescription": "A list of mapping entries for every supported specifier or sub-field.", + "title": "MappingRules", + "type": "array" + } + }, + "required": [ + "CertificateField", + "MappingRules" + ], + "type": "object" + }, + "AWS::RolesAnywhere::Profile.MappingRule": { + "additionalProperties": false, + "properties": { + "Specifier": { + "markdownDescription": "Specifier within a certificate field, such as CN, OU, or UID from the Subject field.", + "title": "Specifier", + "type": "string" + } + }, + "required": [ + "Specifier" + ], + "type": "object" + }, + "AWS::RolesAnywhere::Subject": { + "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::RolesAnywhere::CRL" + "AWS::RolesAnywhere::Subject" ], "type": "string" }, @@ -336127,171 +354405,50 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::RolesAnywhere::Profile": { + "AWS::RolesAnywhere::Subject.CredentialSummary": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Failed": { + "type": "boolean" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Issuer": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptRoleSessionName": { - "markdownDescription": "Used to determine if a custom role session name will be accepted in a temporary credential request.", - "title": "AcceptRoleSessionName", - "type": "boolean" - }, - "AttributeMappings": { - "items": { - "$ref": "#/definitions/AWS::RolesAnywhere::Profile.AttributeMapping" - }, - "markdownDescription": "A mapping applied to the authenticating end-entity certificate.", - "title": "AttributeMappings", - "type": "array" - }, - "DurationSeconds": { - "markdownDescription": "The number of seconds vended session credentials will be valid for", - "title": "DurationSeconds", - "type": "number" - }, - "Enabled": { - "markdownDescription": "The enabled status of the resource.", - "title": "Enabled", - "type": "boolean" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of managed policy ARNs. Managed policies identified by this list will be applied to the vended session credentials.", - "title": "ManagedPolicyArns", - "type": "array" - }, - "Name": { - "markdownDescription": "The customer specified name of the resource.", - "title": "Name", - "type": "string" - }, - "RequireInstanceProperties": { - "markdownDescription": "Specifies whether instance properties are required in CreateSession requests with this profile.", - "title": "RequireInstanceProperties", - "type": "boolean" - }, - "RoleArns": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of IAM role ARNs that can be assumed when this profile is specified in a CreateSession request.", - "title": "RoleArns", - "type": "array" - }, - "SessionPolicy": { - "markdownDescription": "A session policy that will applied to the trust boundary of the vended session credentials.", - "title": "SessionPolicy", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of Tags.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Name", - "RoleArns" - ], - "type": "object" + "SeenAt": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::RolesAnywhere::Profile" - ], + "SerialNumber": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "X509CertificateData": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::RolesAnywhere::Profile.AttributeMapping": { + "AWS::RolesAnywhere::Subject.InstanceProperty": { "additionalProperties": false, "properties": { - "CertificateField": { - "markdownDescription": "Fields (x509Subject, x509Issuer and x509SAN) within X.509 certificates.", - "title": "CertificateField", - "type": "string" + "Failed": { + "type": "boolean" }, - "MappingRules": { - "items": { - "$ref": "#/definitions/AWS::RolesAnywhere::Profile.MappingRule" + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "A list of mapping entries for every supported specifier or sub-field.", - "title": "MappingRules", - "type": "array" - } - }, - "required": [ - "CertificateField", - "MappingRules" - ], - "type": "object" - }, - "AWS::RolesAnywhere::Profile.MappingRule": { - "additionalProperties": false, - "properties": { - "Specifier": { - "markdownDescription": "Specifier within a certificate field, such as CN, OU, or UID from the Subject field.", - "title": "Specifier", + "type": "object" + }, + "SeenAt": { "type": "string" } }, - "required": [ - "Specifier" - ], "type": "object" }, "AWS::RolesAnywhere::TrustAnchor": { @@ -336619,6 +354776,63 @@ ], "type": "object" }, + "AWS::Route53::DelegationSet": { + "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::Route53::DelegationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Route53::HealthCheck": { "additionalProperties": false, "properties": { @@ -337089,6 +355303,75 @@ ], "type": "object" }, + "AWS::Route53::QueryLoggingConfig": { + "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": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "CloudWatchLogsLogGroupArn", + "HostedZoneId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::QueryLoggingConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Route53::RecordSet": { "additionalProperties": false, "properties": { @@ -337587,6 +355870,159 @@ ], "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" + }, + "Document": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Document", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::TrafficPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::TrafficPolicyInstance": { + "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": { + "HostedZoneId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TTL": { + "type": "number" + }, + "TrafficPolicyId": { + "type": "string" + }, + "TrafficPolicyVersion": { + "type": "number" + } + }, + "required": [ + "HostedZoneId", + "Name", + "TTL", + "TrafficPolicyId", + "TrafficPolicyVersion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::TrafficPolicyInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Route53GlobalResolver::AccessSource": { "additionalProperties": false, "properties": { @@ -341353,6 +359789,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 +359809,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", @@ -346534,10 +364985,184 @@ "Properties": { "additionalProperties": false, "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3Vectors::VectorBucket.EncryptionConfiguration", - "markdownDescription": "The encryption configuration for the vector bucket.", - "title": "EncryptionConfiguration" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3Vectors::VectorBucket.EncryptionConfiguration", + "markdownDescription": "The encryption configuration for the vector bucket.", + "title": "EncryptionConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VectorBucketName": { + "markdownDescription": "A name for the vector bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). The bucket name must be unique in the same AWS account for each AWS Region. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name.\n\nThe bucket name must be between 3 and 63 characters long and must not contain uppercase characters or underscores.\n\n> If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.", + "title": "VectorBucketName", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Vectors::VectorBucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::S3Vectors::VectorBucket.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "markdownDescription": "AWS Key Management Service (KMS) customer managed key ARN to use for the encryption configuration. This parameter is required if and only if `SseType` is set to `aws:kms` .\n\nYou must specify the full ARN of the KMS key. Key IDs or key aliases aren't supported.\n\n> Amazon S3 Vectors only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *AWS Key Management Service Developer Guide* .", + "title": "KmsKeyArn", + "type": "string" + }, + "SseType": { + "markdownDescription": "The server-side encryption type to use for the encryption configuration of the vector bucket. Valid values are `AES256` for Amazon S3 managed keys and `aws:kms` for AWS KMS keys.", + "title": "SseType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Vectors::VectorBucketPolicy": { + "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": { + "Policy": { + "markdownDescription": "A policy document containing permissions to add to the specified vector bucket. In IAM , you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM .", + "title": "Policy", + "type": "object" + }, + "VectorBucketArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the S3 vector bucket to which the policy applies.", + "title": "VectorBucketArn", + "type": "string" + }, + "VectorBucketName": { + "markdownDescription": "The name of the S3 vector bucket to which the policy applies.", + "title": "VectorBucketName", + "type": "string" + } + }, + "required": [ + "Policy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Vectors::VectorBucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow": { + "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": { + "InstanceId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DataIntegrationFlowSource" + }, + "type": "array" }, "Tags": { "items": { @@ -346545,17 +365170,25 @@ }, "type": "array" }, - "VectorBucketName": { - "markdownDescription": "A name for the vector bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). The bucket name must be unique in the same AWS account for each AWS Region. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name.\n\nThe bucket name must be between 3 and 63 characters long and must not contain uppercase characters or underscores.\n\n> If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.", - "title": "VectorBucketName", - "type": "string" + "Target": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DataIntegrationFlowTarget" + }, + "Transformation": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DataIntegrationFlowTransformation" } }, + "required": [ + "InstanceId", + "Name", + "Sources", + "Target", + "Transformation" + ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Vectors::VectorBucket" + "AWS::SCN::DataIntegrationFlow" ], "type": "string" }, @@ -346569,100 +365202,191 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3Vectors::VectorBucket.EncryptionConfiguration": { + "AWS::SCN::DataIntegrationFlow.DataIntegrationFlowSource": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "markdownDescription": "AWS Key Management Service (KMS) customer managed key ARN to use for the encryption configuration. This parameter is required if and only if `SseType` is set to `aws:kms` .\n\nYou must specify the full ARN of the KMS key. Key IDs or key aliases aren't supported.\n\n> Amazon S3 Vectors only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *AWS Key Management Service Developer Guide* .", - "title": "KmsKeyArn", + "DatasetSource": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DatasetSourceConfiguration" + }, + "S3Source": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.S3SourceConfiguration" + }, + "SourceName": { "type": "string" }, - "SseType": { - "markdownDescription": "The server-side encryption type to use for the encryption configuration of the vector bucket. Valid values are `AES256` for Amazon S3 managed keys and `aws:kms` for AWS KMS keys.", - "title": "SseType", + "SourceType": { "type": "string" } }, + "required": [ + "SourceName", + "SourceType" + ], "type": "object" }, - "AWS::S3Vectors::VectorBucketPolicy": { + "AWS::SCN::DataIntegrationFlow.DataIntegrationFlowTarget": { "additionalProperties": false, "properties": { - "Condition": { + "DatasetTarget": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DatasetTargetConfiguration" + }, + "TargetType": { "type": "string" + } + }, + "required": [ + "TargetType" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.DataIntegrationFlowTransformation": { + "additionalProperties": false, + "properties": { + "SqlTransformation": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.SqlTransformationConfiguration" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TransformationType": { "type": "string" + } + }, + "required": [ + "TransformationType" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.DatasetOptions": { + "additionalProperties": false, + "properties": { + "DedupeRecords": { + "type": "boolean" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DedupeStrategy": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DedupeStrategy" }, - "Metadata": { - "type": "object" + "LoadType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.DatasetSourceConfiguration": { + "additionalProperties": false, + "properties": { + "DatasetIdentifier": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Policy": { - "markdownDescription": "A policy document containing permissions to add to the specified vector bucket. In IAM , you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM .", - "title": "Policy", - "type": "object" - }, - "VectorBucketArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the S3 vector bucket to which the policy applies.", - "title": "VectorBucketArn", - "type": "string" - }, - "VectorBucketName": { - "markdownDescription": "The name of the S3 vector bucket to which the policy applies.", - "title": "VectorBucketName", - "type": "string" - } - }, - "required": [ - "Policy" - ], - "type": "object" + "Options": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DatasetOptions" + } + }, + "required": [ + "DatasetIdentifier" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.DatasetTargetConfiguration": { + "additionalProperties": false, + "properties": { + "DatasetIdentifier": { + "type": "string" + }, + "Options": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DatasetOptions" + } + }, + "required": [ + "DatasetIdentifier" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.DedupeStrategy": { + "additionalProperties": false, + "properties": { + "FieldPriority": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.FieldPriorityDedupeStrategyConfiguration" }, "Type": { - "enum": [ - "AWS::S3Vectors::VectorBucketPolicy" - ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.FieldPriorityDedupeField": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SortOrder": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Name", + "SortOrder" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.FieldPriorityDedupeStrategyConfiguration": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.FieldPriorityDedupeField" + }, + "type": "array" + } + }, + "required": [ + "Fields" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.S3Options": { + "additionalProperties": false, + "properties": { + "FileType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.S3SourceConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "Options": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.S3Options" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "BucketName", + "Prefix" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.SqlTransformationConfiguration": { + "additionalProperties": false, + "properties": { + "Query": { + "type": "string" + } + }, + "required": [ + "Query" ], "type": "object" }, @@ -347927,6 +366651,79 @@ }, "type": "object" }, + "AWS::SES::EmailIdentityCertificate": { + "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": { + "CertificateArn": { + "type": "string" + }, + "EmailIdentity": { + "type": "string" + }, + "FromAddress": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "EmailIdentity", + "FromAddress" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::EmailIdentityCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SES::MailManagerAddonInstance": { "additionalProperties": false, "properties": { @@ -351167,70 +369964,351 @@ "Properties": { "additionalProperties": false, "properties": { - "DeletionProtectionEnabled": { - "markdownDescription": "When set to true the pool can't be deleted.", - "title": "DeletionProtectionEnabled", - "type": "boolean" - }, - "MandatoryKeywords": { - "$ref": "#/definitions/AWS::SMSVOICE::Pool.MandatoryKeywords", - "markdownDescription": "Creates or updates the pool's `MandatoryKeyword` configuration. For more information, see [Keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords.html) in the End User Messaging User Guide.", - "title": "MandatoryKeywords" - }, - "OptOutListName": { - "markdownDescription": "The name of the OptOutList associated with the pool.", - "title": "OptOutListName", + "DeletionProtectionEnabled": { + "markdownDescription": "When set to true the pool can't be deleted.", + "title": "DeletionProtectionEnabled", + "type": "boolean" + }, + "MandatoryKeywords": { + "$ref": "#/definitions/AWS::SMSVOICE::Pool.MandatoryKeywords", + "markdownDescription": "Creates or updates the pool's `MandatoryKeyword` configuration. For more information, see [Keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords.html) in the End User Messaging User Guide.", + "title": "MandatoryKeywords" + }, + "OptOutListName": { + "markdownDescription": "The name of the OptOutList associated with the pool.", + "title": "OptOutListName", + "type": "string" + }, + "OptionalKeywords": { + "items": { + "$ref": "#/definitions/AWS::SMSVOICE::Pool.OptionalKeyword" + }, + "markdownDescription": "Specifies any optional keywords to associate with the pool. For more information, see [Keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords.html) in the End User Messaging User Guide.", + "title": "OptionalKeywords", + "type": "array" + }, + "OriginationIdentities": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of origination identities to apply to the pool, either `PhoneNumberArn` or `SenderIdArn` . For more information, see [Registrations](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations.html) in the End User Messaging User Guide.\n\n> If you are using a shared End User Messaging resource then you must use the full Amazon Resource Name (ARN).", + "title": "OriginationIdentities", + "type": "array" + }, + "SelfManagedOptOutsEnabled": { + "markdownDescription": "When set to false, an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests. For more information see [Self-managed opt-outs](https://docs.aws.amazon.com//pinpoint/latest/userguide/settings-sms-managing.html#settings-account-sms-self-managed-opt-out)", + "title": "SelfManagedOptOutsEnabled", + "type": "boolean" + }, + "SharedRoutesEnabled": { + "markdownDescription": "Allows you to enable shared routes on your pool.\n\nBy default, this is set to `False` . If you set this value to `True` , your messages are sent using phone numbers or sender IDs (depending on the country) that are shared with other users. In some countries, such as the United States, senders aren't allowed to use shared routes and must use a dedicated phone number or short code.", + "title": "SharedRoutesEnabled", + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of tags (key and value pairs) associated with the pool.", + "title": "Tags", + "type": "array" + }, + "TwoWay": { + "$ref": "#/definitions/AWS::SMSVOICE::Pool.TwoWay", + "markdownDescription": "Describes the two-way SMS configuration for a phone number. For more information, see [Two-way SMS messaging](https://docs.aws.amazon.com/sms-voice/latest/userguide/two-way-sms.html) in the End User Messaging User Guide.", + "title": "TwoWay" + } + }, + "required": [ + "MandatoryKeywords", + "OriginationIdentities" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SMSVOICE::Pool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SMSVOICE::Pool.MandatoryKeyword": { + "additionalProperties": false, + "properties": { + "Message": { + "markdownDescription": "The message associated with the keyword.", + "title": "Message", + "type": "string" + } + }, + "required": [ + "Message" + ], + "type": "object" + }, + "AWS::SMSVOICE::Pool.MandatoryKeywords": { + "additionalProperties": false, + "properties": { + "HELP": { + "$ref": "#/definitions/AWS::SMSVOICE::Pool.MandatoryKeyword", + "markdownDescription": "Specifies the pool's `HELP` keyword. For more information, see [Opt out list required keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/opt-out-list-keywords.html) in the End User Messaging User Guide.", + "title": "HELP" + }, + "STOP": { + "$ref": "#/definitions/AWS::SMSVOICE::Pool.MandatoryKeyword", + "markdownDescription": "Specifies the pool's opt-out keyword. For more information, see [Required opt-out keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords-required.html) in the End User Messaging User Guide.", + "title": "STOP" + } + }, + "required": [ + "HELP", + "STOP" + ], + "type": "object" + }, + "AWS::SMSVOICE::Pool.OptionalKeyword": { + "additionalProperties": false, + "properties": { + "Action": { + "markdownDescription": "The action to perform when the keyword is used.", + "title": "Action", + "type": "string" + }, + "Keyword": { + "markdownDescription": "The new keyword to add.", + "title": "Keyword", + "type": "string" + }, + "Message": { + "markdownDescription": "The message associated with the keyword.", + "title": "Message", + "type": "string" + } + }, + "required": [ + "Action", + "Keyword", + "Message" + ], + "type": "object" + }, + "AWS::SMSVOICE::Pool.TwoWay": { + "additionalProperties": false, + "properties": { + "ChannelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the two way channel.", + "title": "ChannelArn", + "type": "string" + }, + "ChannelRole": { + "markdownDescription": "An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.", + "title": "ChannelRole", + "type": "string" + }, + "Enabled": { + "markdownDescription": "By default this is set to false. When set to true you can receive incoming text messages from your end recipients using the TwoWayChannelArn.", + "title": "Enabled", + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::SMSVOICE::ProtectConfiguration": { + "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": { + "CountryRuleSet": { + "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRuleSet", + "markdownDescription": "The set of `CountryRules` you specify to control which countries End User Messaging can send your messages to.", + "title": "CountryRuleSet" + }, + "DeletionProtectionEnabled": { + "markdownDescription": "The status of deletion protection for the protect configuration. When set to true deletion protection is enabled. By default this is set to false.", + "title": "DeletionProtectionEnabled", + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key and value pair tags that are associated with the resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SMSVOICE::ProtectConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SMSVOICE::ProtectConfiguration.CountryRule": { + "additionalProperties": false, + "properties": { + "CountryCode": { + "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", + "title": "CountryCode", + "type": "string" + }, + "ProtectStatus": { + "markdownDescription": "The types of protection that can be used.", + "title": "ProtectStatus", + "type": "string" + } + }, + "required": [ + "CountryCode", + "ProtectStatus" + ], + "type": "object" + }, + "AWS::SMSVOICE::ProtectConfiguration.CountryRuleSet": { + "additionalProperties": false, + "properties": { + "MMS": { + "items": { + "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" + }, + "markdownDescription": "The set of `CountryRule` s to control which destination countries End User Messaging can send your MMS messages to.", + "title": "MMS", + "type": "array" + }, + "SMS": { + "items": { + "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" + }, + "markdownDescription": "The set of `CountryRule` s to control which destination countries End User Messaging can send your SMS messages to.", + "title": "SMS", + "type": "array" + }, + "VOICE": { + "items": { + "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" + }, + "markdownDescription": "The set of `CountryRule` s to control which destination countries End User Messaging can send your VOICE messages to.", + "title": "VOICE", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SMSVOICE::Registration": { + "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": { + "RegistrationType": { "type": "string" }, - "OptionalKeywords": { - "items": { - "$ref": "#/definitions/AWS::SMSVOICE::Pool.OptionalKeyword" - }, - "markdownDescription": "Specifies any optional keywords to associate with the pool. For more information, see [Keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords.html) in the End User Messaging User Guide.", - "title": "OptionalKeywords", - "type": "array" - }, - "OriginationIdentities": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of origination identities to apply to the pool, either `PhoneNumberArn` or `SenderIdArn` . For more information, see [Registrations](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations.html) in the End User Messaging User Guide.\n\n> If you are using a shared End User Messaging resource then you must use the full Amazon Resource Name (ARN).", - "title": "OriginationIdentities", - "type": "array" - }, - "SelfManagedOptOutsEnabled": { - "markdownDescription": "When set to false, an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests. For more information see [Self-managed opt-outs](https://docs.aws.amazon.com//pinpoint/latest/userguide/settings-sms-managing.html#settings-account-sms-self-managed-opt-out)", - "title": "SelfManagedOptOutsEnabled", - "type": "boolean" - }, - "SharedRoutesEnabled": { - "markdownDescription": "Allows you to enable shared routes on your pool.\n\nBy default, this is set to `False` . If you set this value to `True` , your messages are sent using phone numbers or sender IDs (depending on the country) that are shared with other users. In some countries, such as the United States, senders aren't allowed to use shared routes and must use a dedicated phone number or short code.", - "title": "SharedRoutesEnabled", - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of tags (key and value pairs) associated with the pool.", - "title": "Tags", "type": "array" - }, - "TwoWay": { - "$ref": "#/definitions/AWS::SMSVOICE::Pool.TwoWay", - "markdownDescription": "Describes the two-way SMS configuration for a phone number. For more information, see [Two-way SMS messaging](https://docs.aws.amazon.com/sms-voice/latest/userguide/two-way-sms.html) in the End User Messaging User Guide.", - "title": "TwoWay" } }, "required": [ - "MandatoryKeywords", - "OriginationIdentities" + "RegistrationType" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::Pool" + "AWS::SMSVOICE::Registration" ], "type": "string" }, @@ -351249,91 +370327,7 @@ ], "type": "object" }, - "AWS::SMSVOICE::Pool.MandatoryKeyword": { - "additionalProperties": false, - "properties": { - "Message": { - "markdownDescription": "The message associated with the keyword.", - "title": "Message", - "type": "string" - } - }, - "required": [ - "Message" - ], - "type": "object" - }, - "AWS::SMSVOICE::Pool.MandatoryKeywords": { - "additionalProperties": false, - "properties": { - "HELP": { - "$ref": "#/definitions/AWS::SMSVOICE::Pool.MandatoryKeyword", - "markdownDescription": "Specifies the pool's `HELP` keyword. For more information, see [Opt out list required keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/opt-out-list-keywords.html) in the End User Messaging User Guide.", - "title": "HELP" - }, - "STOP": { - "$ref": "#/definitions/AWS::SMSVOICE::Pool.MandatoryKeyword", - "markdownDescription": "Specifies the pool's opt-out keyword. For more information, see [Required opt-out keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords-required.html) in the End User Messaging User Guide.", - "title": "STOP" - } - }, - "required": [ - "HELP", - "STOP" - ], - "type": "object" - }, - "AWS::SMSVOICE::Pool.OptionalKeyword": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "The action to perform when the keyword is used.", - "title": "Action", - "type": "string" - }, - "Keyword": { - "markdownDescription": "The new keyword to add.", - "title": "Keyword", - "type": "string" - }, - "Message": { - "markdownDescription": "The message associated with the keyword.", - "title": "Message", - "type": "string" - } - }, - "required": [ - "Action", - "Keyword", - "Message" - ], - "type": "object" - }, - "AWS::SMSVOICE::Pool.TwoWay": { - "additionalProperties": false, - "properties": { - "ChannelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the two way channel.", - "title": "ChannelArn", - "type": "string" - }, - "ChannelRole": { - "markdownDescription": "An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.", - "title": "ChannelRole", - "type": "string" - }, - "Enabled": { - "markdownDescription": "By default this is set to false. When set to true you can receive incoming text messages from your end recipients using the TwoWayChannelArn.", - "title": "Enabled", - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::SMSVOICE::ProtectConfiguration": { + "AWS::SMSVOICE::RegistrationAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -351368,22 +370362,16 @@ "Properties": { "additionalProperties": false, "properties": { - "CountryRuleSet": { - "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRuleSet", - "markdownDescription": "The set of `CountryRules` you specify to control which countries End User Messaging can send your messages to.", - "title": "CountryRuleSet" + "AttachmentBody": { + "type": "string" }, - "DeletionProtectionEnabled": { - "markdownDescription": "The status of deletion protection for the protect configuration. When set to true deletion protection is enabled. By default this is set to false.", - "title": "DeletionProtectionEnabled", - "type": "boolean" + "AttachmentUrl": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key and value pair tags that are associated with the resource.", - "title": "Tags", "type": "array" } }, @@ -351391,7 +370379,7 @@ }, "Type": { "enum": [ - "AWS::SMSVOICE::ProtectConfiguration" + "AWS::SMSVOICE::RegistrationAttachment" ], "type": "string" }, @@ -351409,57 +370397,7 @@ ], "type": "object" }, - "AWS::SMSVOICE::ProtectConfiguration.CountryRule": { - "additionalProperties": false, - "properties": { - "CountryCode": { - "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", - "title": "CountryCode", - "type": "string" - }, - "ProtectStatus": { - "markdownDescription": "The types of protection that can be used.", - "title": "ProtectStatus", - "type": "string" - } - }, - "required": [ - "CountryCode", - "ProtectStatus" - ], - "type": "object" - }, - "AWS::SMSVOICE::ProtectConfiguration.CountryRuleSet": { - "additionalProperties": false, - "properties": { - "MMS": { - "items": { - "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" - }, - "markdownDescription": "The set of `CountryRule` s to control which destination countries End User Messaging can send your MMS messages to.", - "title": "MMS", - "type": "array" - }, - "SMS": { - "items": { - "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" - }, - "markdownDescription": "The set of `CountryRule` s to control which destination countries End User Messaging can send your SMS messages to.", - "title": "SMS", - "type": "array" - }, - "VOICE": { - "items": { - "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" - }, - "markdownDescription": "The set of `CountryRule` s to control which destination countries End User Messaging can send your VOICE messages to.", - "title": "VOICE", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SMSVOICE::Registration": { + "AWS::SMSVOICE::ResourcePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -351494,24 +370432,26 @@ "Properties": { "additionalProperties": false, "properties": { - "RegistrationType": { - "type": "string" + "PolicyDocument": { + "markdownDescription": "The JSON formatted resource-based policy to attach.", + "title": "PolicyDocument", + "type": "object" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the End User Messaging resource attached to the resource-based policy.", + "title": "ResourceArn", + "type": "string" } }, "required": [ - "RegistrationType" + "PolicyDocument", + "ResourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::Registration" + "AWS::SMSVOICE::ResourcePolicy" ], "type": "string" }, @@ -351530,7 +370470,7 @@ ], "type": "object" }, - "AWS::SMSVOICE::ResourcePolicy": { + "AWS::SMSVOICE::SenderId": { "additionalProperties": false, "properties": { "Condition": { @@ -351565,26 +370505,39 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "markdownDescription": "The JSON formatted resource-based policy to attach.", - "title": "PolicyDocument", - "type": "object" + "DeletionProtectionEnabled": { + "markdownDescription": "By default this is set to false. When set to true the sender ID can't be deleted.", + "title": "DeletionProtectionEnabled", + "type": "boolean" }, - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the End User Messaging resource attached to the resource-based policy.", - "title": "ResourceArn", + "IsoCountryCode": { + "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", + "title": "IsoCountryCode", + "type": "string" + }, + "SenderId": { + "markdownDescription": "The sender ID string to request.", + "title": "SenderId", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of tags (key and value pairs) to associate with the sender ID.", + "title": "Tags", + "type": "array" } }, "required": [ - "PolicyDocument", - "ResourceArn" + "IsoCountryCode", + "SenderId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::ResourcePolicy" + "AWS::SMSVOICE::SenderId" ], "type": "string" }, @@ -351603,7 +370556,7 @@ ], "type": "object" }, - "AWS::SMSVOICE::SenderId": { + "AWS::SMSVOICE::VerifiedDestinationNumber": { "additionalProperties": false, "properties": { "Condition": { @@ -351638,39 +370591,24 @@ "Properties": { "additionalProperties": false, "properties": { - "DeletionProtectionEnabled": { - "markdownDescription": "By default this is set to false. When set to true the sender ID can't be deleted.", - "title": "DeletionProtectionEnabled", - "type": "boolean" - }, - "IsoCountryCode": { - "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", - "title": "IsoCountryCode", - "type": "string" - }, - "SenderId": { - "markdownDescription": "The sender ID string to request.", - "title": "SenderId", + "DestinationPhoneNumber": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of tags (key and value pairs) to associate with the sender ID.", - "title": "Tags", "type": "array" } }, "required": [ - "IsoCountryCode", - "SenderId" + "DestinationPhoneNumber" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::SenderId" + "AWS::SMSVOICE::VerifiedDestinationNumber" ], "type": "string" }, @@ -351892,6 +370830,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", @@ -356561,25 +375502,807 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the Identity Center instance.", - "title": "Name", + "Name": { + "markdownDescription": "The name of the Identity Center instance.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies tags to be attached to the instance of IAM Identity Center.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration": { + "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": { + "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::AIRecommendationJob": { + "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": { + "AIRecommendationJobName": { + "type": "string" + }, + "AIWorkloadConfigIdentifier": { + "type": "string" + }, + "ComputeSpec": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AIRecommendationComputeSpec" + }, + "InferenceSpecification": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AIRecommendationInferenceSpecification" + }, + "ModelSource": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AIModelSource" + }, + "OptimizeModel": { + "type": "boolean" + }, + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AIRecommendationOutputConfig" + }, + "PerformanceTarget": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AIRecommendationPerformanceTarget" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AIRecommendationJobName", + "AIWorkloadConfigIdentifier", + "ModelSource", + "OutputConfig", + "PerformanceTarget", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::AIRecommendationJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AICapacityReservationConfig": { + "additionalProperties": false, + "properties": { + "CapacityReservationPreference": { + "type": "string" + }, + "MlReservationArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AIModelSource": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AIModelSourceS3" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AIModelSourceS3": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AIRecommendationComputeSpec": { + "additionalProperties": false, + "properties": { + "CapacityReservationConfig": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AICapacityReservationConfig" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AIRecommendationConstraint": { + "additionalProperties": false, + "properties": { + "Metric": { + "type": "string" + } + }, + "required": [ + "Metric" + ], + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AIRecommendationInferenceSpecification": { + "additionalProperties": false, + "properties": { + "Framework": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AIRecommendationOutputConfig": { + "additionalProperties": false, + "properties": { + "ModelPackageGroupIdentifier": { + "type": "string" + }, + "S3OutputLocation": { + "type": "string" + } + }, + "required": [ + "S3OutputLocation" + ], + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AIRecommendationPerformanceTarget": { + "additionalProperties": false, + "properties": { + "Constraints": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AIRecommendationConstraint" + }, + "type": "array" + } + }, + "required": [ + "Constraints" + ], + "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/Tag" }, - "markdownDescription": "Specifies tags to be attached to the instance of IAM Identity Center.", - "title": "Tags", "type": "array" } }, + "required": [ + "AIWorkloadConfigName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::Instance" + "AWS::SageMaker::AIWorkloadConfig" ], "type": "string" }, @@ -356593,277 +376316,85 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration": { + "AWS::SageMaker::AIWorkloadConfig.AIDatasetConfig": { "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": { - "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" - } + "InputDataConfig": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.AIWorkloadInputDataConfig" }, - "required": [ - "InstanceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::InstanceAccessControlAttributeConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, "required": [ - "Type", - "Properties" + "InputDataConfig" ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { + "AWS::SageMaker::AIWorkloadConfig.AIWorkloadConfigs": { "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" + "WorkloadSpec": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.WorkloadSpec" } }, "required": [ - "Key", - "Value" + "WorkloadSpec" ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { + "AWS::SageMaker::AIWorkloadConfig.AIWorkloadDataSource": { "additionalProperties": false, "properties": { - "Source": { - "items": { - "type": "string" - }, - "markdownDescription": "The identity source to use when mapping a specified attribute to .", - "title": "Source", - "type": "array" + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.AIWorkloadS3DataSource" } }, - "required": [ - "Source" - ], "type": "object" }, - "AWS::SSO::PermissionSet": { + "AWS::SageMaker::AIWorkloadConfig.AIWorkloadInputDataConfig": { "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" - ], + "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 +377450,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,22 +377521,37 @@ ], "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" + "EmrServerlessComputeConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.EmrServerlessComputeConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.AutoMLDataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLS3DataSource" } }, + "required": [ + "S3DataSource" + ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLChannel": { + "AWS::SageMaker::AutoMLJob.AutoMLDataSplitConfig": { + "additionalProperties": false, + "properties": { + "ValidationFraction": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.AutoMLJobChannel": { "additionalProperties": false, "properties": { "ChannelType": { @@ -358016,127 +377565,318 @@ }, "DataSource": { "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSource" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria": { + "additionalProperties": false, + "properties": { + "MaxAutoMLJobRuntimeInSeconds": { + "type": "number" }, - "TargetAttributeName": { + "MaxCandidates": { + "type": "number" + }, + "MaxRuntimePerTrainingJobInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.AutoMLJobObjective": { + "additionalProperties": false, + "properties": { + "MetricName": { "type": "string" } }, "required": [ - "TargetAttributeName" + "MetricName" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLDataSource": { + "AWS::SageMaker::AutoMLJob.AutoMLOutputDataConfig": { "additionalProperties": false, "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLS3DataSource" + "KmsKeyId": { + "type": "string" + }, + "S3OutputPath": { + "type": "string" } }, "required": [ - "S3DataSource" + "S3OutputPath" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLDataSplitConfig": { + "AWS::SageMaker::AutoMLJob.AutoMLProblemTypeConfig": { "additionalProperties": false, "properties": { - "ValidationFraction": { - "type": "number" + "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.AutoMLJobCompletionCriteria": { + "AWS::SageMaker::AutoMLJob.AutoMLS3DataSource": { "additionalProperties": false, "properties": { - "MaxAutoMLJobRuntimeInSeconds": { - "type": "number" + "S3DataType": { + "type": "string" }, - "MaxCandidates": { - "type": "number" + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3DataType", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.AutoMLSecurityConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "MaxRuntimePerTrainingJobInSeconds": { - "type": "number" + "VolumeKmsKeyId": { + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.VpcConfig" + } + }, + "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.AutoMLJobConfig": { + "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.AutoMLCandidateGenerationConfig" + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.CandidateGenerationConfig" }, "CompletionCriteria": { "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" }, - "DataSplitConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSplitConfig" + "FeatureSpecificationS3Uri": { + "type": "string" + }, + "GenerateCandidateDefinitionsOnly": { + "type": "boolean" }, "Mode": { "type": "string" }, - "SecurityConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLSecurityConfig" + "ProblemType": { + "type": "string" + }, + "SampleWeightAttributeName": { + "type": "string" + }, + "TargetAttributeName": { + "type": "string" } }, + "required": [ + "TargetAttributeName" + ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLJobObjective": { + "AWS::SageMaker::AutoMLJob.TextClassificationJobConfig": { "additionalProperties": false, "properties": { - "MetricName": { + "CompletionCriteria": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + }, + "ContentColumn": { + "type": "string" + }, + "TargetLabelColumn": { "type": "string" } }, "required": [ - "MetricName" + "ContentColumn", + "TargetLabelColumn" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLOutputDataConfig": { + "AWS::SageMaker::AutoMLJob.TextGenerationJobConfig": { "additionalProperties": false, "properties": { - "KmsKeyId": { + "BaseModelName": { "type": "string" }, - "S3OutputPath": { + "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": [ - "S3OutputPath" + "ItemIdentifierAttributeName", + "TargetAttributeName", + "TimestampAttributeName" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLS3DataSource": { + "AWS::SageMaker::AutoMLJob.TimeSeriesForecastingJobConfig": { "additionalProperties": false, "properties": { - "S3DataType": { + "CandidateGenerationConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.CandidateGenerationConfig" + }, + "CompletionCriteria": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + }, + "FeatureSpecificationS3Uri": { "type": "string" }, - "S3Uri": { + "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": [ - "S3DataType", - "S3Uri" + "ForecastFrequency", + "ForecastHorizon", + "TimeSeriesConfig" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLSecurityConfig": { + "AWS::SageMaker::AutoMLJob.TimeSeriesTransformations": { "additionalProperties": false, "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "VolumeKmsKeyId": { - "type": "string" + "Aggregation": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.VpcConfig" + "Filling": { + "type": "object" } }, "type": "object" @@ -358340,6 +378080,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 +378416,9 @@ "AWS::SageMaker::Cluster.ClusterOrchestratorSlurmConfig": { "additionalProperties": false, "properties": { + "AccountingDatabase": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterAccountingDatabase" + }, "SlurmConfigStrategy": { "type": "string" } @@ -358954,6 +378719,122 @@ ], "type": "object" }, + "AWS::SageMaker::ClusterSchedulerConfig": { + "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": { + "ClusterArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SchedulerConfig": { + "$ref": "#/definitions/AWS::SageMaker::ClusterSchedulerConfig.SchedulerConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterArn", + "Name", + "SchedulerConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ClusterSchedulerConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ClusterSchedulerConfig.PriorityClass": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Weight" + ], + "type": "object" + }, + "AWS::SageMaker::ClusterSchedulerConfig.SchedulerConfig": { + "additionalProperties": false, + "properties": { + "FairShare": { + "type": "string" + }, + "IdleResourceSharing": { + "type": "string" + }, + "PriorityClasses": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ClusterSchedulerConfig.PriorityClass" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::SageMaker::CodeRepository": { "additionalProperties": false, "properties": { @@ -360846,6 +380727,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 +383318,12 @@ "markdownDescription": "", "title": "Specification" }, + "Specifications": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSpecificationForInstanceType" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -363447,8 +383339,7 @@ } }, "required": [ - "EndpointName", - "Specification" + "EndpointName" ], "type": "object" }, @@ -363504,6 +383395,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 +383431,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 +383500,9 @@ "title": "ArtifactUrl", "type": "string" }, + "ContainerMetricsConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.ContainerMetricsConfig" + }, "DeployedImage": { "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.DeployedImage", "markdownDescription": "", @@ -363603,6 +383527,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 +383579,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,8 +383638,30 @@ "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": { @@ -363684,11 +383682,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 +383704,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 +383753,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 +388999,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" @@ -369133,6 +389180,12 @@ "markdownDescription": "A shell script that runs every time you start a notebook instance, including when you create the notebook instance. The shell script must be a base64-encoded string.", "title": "OnStart", "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -373270,6 +393323,10 @@ "type": "string" } }, + "required": [ + "Description", + "MemberDefinitions" + ], "type": "object" }, "Type": { @@ -373288,7 +393345,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -375198,6 +395256,12 @@ "$ref": "#/definitions/AWS::SecurityAgent::Pentest.SourceCodeRepository" }, "type": "array" + }, + "TrustedCaCertificates": { + "items": { + "$ref": "#/definitions/AWS::SecurityAgent::Pentest.TrustedCaCertificate" + }, + "type": "array" } }, "type": "object" @@ -375214,6 +395278,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 +395399,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 +397832,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 +397869,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 +404347,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": { @@ -384322,6 +404788,101 @@ ], "type": "object" }, + "AWS::StorageGateway::Volume": { + "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" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "SourceVolumeARN": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetName": { + "type": "string" + }, + "VolumeSizeInBytes": { + "type": "number" + } + }, + "required": [ + "GatewayARN", + "NetworkInterfaceId", + "TargetName", + "VolumeSizeInBytes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StorageGateway::Volume" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SupportApp::AccountAlias": { "additionalProperties": false, "properties": { @@ -386079,6 +406640,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 +407749,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": { @@ -386807,36 +408130,195 @@ "Properties": { "additionalProperties": false, "properties": { - "ChannelDefinitions": { - "items": { - "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.MedicalScribeChannelDefinition" - }, - "type": "array" - }, - "DataAccessRoleArn": { + "ChannelDefinitions": { + "items": { + "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.MedicalScribeChannelDefinition" + }, + "type": "array" + }, + "DataAccessRoleArn": { + "type": "string" + }, + "Media": { + "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.Media" + }, + "MedicalScribeJobName": { + "type": "string" + }, + "Settings": { + "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.MedicalScribeSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transcribe::MedicalScribeJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Transcribe::MedicalScribeJob.ClinicalNoteGenerationSettings": { + "additionalProperties": false, + "properties": { + "NoteTemplate": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transcribe::MedicalScribeJob.Media": { + "additionalProperties": false, + "properties": { + "MediaFileUri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transcribe::MedicalScribeJob.MedicalScribeChannelDefinition": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "number" + }, + "ParticipantRole": { + "type": "string" + } + }, + "required": [ + "ChannelId", + "ParticipantRole" + ], + "type": "object" + }, + "AWS::Transcribe::MedicalScribeJob.MedicalScribeOutput": { + "additionalProperties": false, + "properties": { + "ClinicalDocumentUri": { + "type": "string" + }, + "TranscriptFileUri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transcribe::MedicalScribeJob.MedicalScribeSettings": { + "additionalProperties": false, + "properties": { + "ChannelIdentification": { + "type": "boolean" + }, + "ClinicalNoteGenerationSettings": { + "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.ClinicalNoteGenerationSettings" + }, + "MaxSpeakerLabels": { + "type": "number" + }, + "ShowSpeakerLabels": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Transcribe::MedicalTranscriptionJob": { + "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": { + "LanguageCode": { "type": "string" }, "Media": { - "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.Media" + "$ref": "#/definitions/AWS::Transcribe::MedicalTranscriptionJob.Media" }, - "MedicalScribeJobName": { + "MediaFormat": { + "type": "string" + }, + "MediaSampleRateHertz": { + "type": "number" + }, + "MedicalTranscriptionJobName": { "type": "string" }, "Settings": { - "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.MedicalScribeSettings" + "$ref": "#/definitions/AWS::Transcribe::MedicalTranscriptionJob.MedicalTranscriptionSetting" + }, + "Specialty": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Type": { + "type": "string" } }, + "required": [ + "LanguageCode", + "Media", + "MedicalTranscriptionJobName", + "Specialty", + "Type" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Transcribe::MedicalScribeJob" + "AWS::Transcribe::MedicalTranscriptionJob" ], "type": "string" }, @@ -386850,20 +408332,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Transcribe::MedicalScribeJob.ClinicalNoteGenerationSettings": { - "additionalProperties": false, - "properties": { - "NoteTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transcribe::MedicalScribeJob.Media": { + "AWS::Transcribe::MedicalTranscriptionJob.Media": { "additionalProperties": false, "properties": { "MediaFileUri": { @@ -386872,53 +408346,28 @@ }, "type": "object" }, - "AWS::Transcribe::MedicalScribeJob.MedicalScribeChannelDefinition": { - "additionalProperties": false, - "properties": { - "ChannelId": { - "type": "number" - }, - "ParticipantRole": { - "type": "string" - } - }, - "required": [ - "ChannelId", - "ParticipantRole" - ], - "type": "object" - }, - "AWS::Transcribe::MedicalScribeJob.MedicalScribeOutput": { + "AWS::Transcribe::MedicalTranscriptionJob.MedicalTranscript": { "additionalProperties": false, "properties": { - "ClinicalDocumentUri": { - "type": "string" - }, "TranscriptFileUri": { "type": "string" } }, "type": "object" }, - "AWS::Transcribe::MedicalScribeJob.MedicalScribeSettings": { + "AWS::Transcribe::MedicalTranscriptionJob.MedicalTranscriptionSetting": { "additionalProperties": false, "properties": { "ChannelIdentification": { "type": "boolean" }, - "ClinicalNoteGenerationSettings": { - "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.ClinicalNoteGenerationSettings" - }, - "MaxSpeakerLabels": { - "type": "number" - }, - "ShowSpeakerLabels": { + "ShowAlternatives": { "type": "boolean" } }, "type": "object" }, - "AWS::Transcribe::MedicalTranscriptionJob": { + "AWS::Transcribe::MedicalVocabulary": { "additionalProperties": false, "properties": { "Condition": { @@ -386956,46 +408405,28 @@ "LanguageCode": { "type": "string" }, - "Media": { - "$ref": "#/definitions/AWS::Transcribe::MedicalTranscriptionJob.Media" - }, - "MediaFormat": { - "type": "string" - }, - "MediaSampleRateHertz": { - "type": "number" - }, - "MedicalTranscriptionJobName": { - "type": "string" - }, - "Settings": { - "$ref": "#/definitions/AWS::Transcribe::MedicalTranscriptionJob.MedicalTranscriptionSetting" - }, - "Specialty": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "Type": { + "VocabularyFileUri": { + "type": "string" + }, + "VocabularyName": { "type": "string" } }, "required": [ "LanguageCode", - "Media", - "MedicalTranscriptionJobName", - "Specialty", - "Type" + "VocabularyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Transcribe::MedicalTranscriptionJob" + "AWS::Transcribe::MedicalVocabulary" ], "type": "string" }, @@ -387014,36 +408445,6 @@ ], "type": "object" }, - "AWS::Transcribe::MedicalTranscriptionJob.Media": { - "additionalProperties": false, - "properties": { - "MediaFileUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transcribe::MedicalTranscriptionJob.MedicalTranscript": { - "additionalProperties": false, - "properties": { - "TranscriptFileUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transcribe::MedicalTranscriptionJob.MedicalTranscriptionSetting": { - "additionalProperties": false, - "properties": { - "ChannelIdentification": { - "type": "boolean" - }, - "ShowAlternatives": { - "type": "boolean" - } - }, - "type": "object" - }, "AWS::Transcribe::TranscriptionJob": { "additionalProperties": false, "properties": { @@ -387234,6 +408635,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": { @@ -387820,6 +409308,12 @@ "title": "MaxConcurrentConnections", "type": "number" }, + "OrderedUserSecretVersionStages": { + "items": { + "type": "string" + }, + "type": "array" + }, "TrustedHostKeys": { "items": { "type": "string" @@ -388241,6 +409735,9 @@ "title": "PassiveIp", "type": "string" }, + "ProxyConfig": { + "$ref": "#/definitions/AWS::Transfer::Server.ProxyConfig" + }, "SetStatOption": { "markdownDescription": "Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket.\n\nSome SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded.\n\nSet the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call.\n\n> If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family.", "title": "SetStatOption", @@ -388254,6 +409751,15 @@ }, "type": "object" }, + "AWS::Transfer::Server.ProxyConfig": { + "additionalProperties": false, + "properties": { + "SftpMode": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::Server.S3StorageOptions": { "additionalProperties": false, "properties": { @@ -390799,6 +412305,21 @@ ], "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": { @@ -390827,6 +412348,9 @@ "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.", @@ -390840,6 +412364,63 @@ }, "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::ResourceEndpointAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::VpcLattice::ResourceGateway": { "additionalProperties": false, "properties": { @@ -398470,6 +420051,286 @@ ], "type": "object" }, + "AWS::WellArchitected::AgentContext": { + "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": { + "Content": { + "type": "object" + }, + "ContextType": { + "type": "string" + }, + "ProfileArn": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "required": [ + "Content", + "ContextType", + "ProfileArn", + "Title" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WellArchitected::AgentContext" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WellArchitected::AgentGoal": { + "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" + }, + "Pillars": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProfileArn": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "required": [ + "Pillars", + "ProfileArn", + "Title" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WellArchitected::AgentGoal" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WellArchitected::AgentProfile": { + "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": { + "AggregationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::WellArchitected::AgentProfile.AggregationConfiguration" + }, + "type": "array" + }, + "BusinessOverview": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Pillars": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AggregationConfiguration", + "ExecutionRoleArn", + "Name", + "Pillars" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WellArchitected::AgentProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WellArchitected::AgentProfile.AggregationConfiguration": { + "additionalProperties": false, + "properties": { + "AccessRoleArn": { + "type": "string" + }, + "AccountId": { + "type": "string" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AccessRoleArn", + "AccountId", + "Regions" + ], + "type": "object" + }, "AWS::WellArchitected::Lens": { "additionalProperties": false, "properties": { @@ -416001,6 +437862,9 @@ { "$ref": "#/definitions/AWS::AppConfig::ExperimentDefinition" }, + { + "$ref": "#/definitions/AWS::AppConfig::ExperimentRun" + }, { "$ref": "#/definitions/AWS::AppConfig::Extension" }, @@ -416163,6 +438027,9 @@ { "$ref": "#/definitions/AWS::ApplicationSignals::ServiceLevelObjective" }, + { + "$ref": "#/definitions/AWS::Artifact::ComplianceInquiry" + }, { "$ref": "#/definitions/AWS::Artifact::Report" }, @@ -416226,6 +438093,9 @@ { "$ref": "#/definitions/AWS::BCM::Dashboard" }, + { + "$ref": "#/definitions/AWS::BCM::ScheduledReport" + }, { "$ref": "#/definitions/AWS::BCMDataExports::Export" }, @@ -416262,6 +438132,9 @@ { "$ref": "#/definitions/AWS::Backup::TieringConfiguration" }, + { + "$ref": "#/definitions/AWS::BackupGateway::Gateway" + }, { "$ref": "#/definitions/AWS::BackupGateway::Hypervisor" }, @@ -416295,6 +438168,9 @@ { "$ref": "#/definitions/AWS::BcmPricingCalculator::BillScenario" }, + { + "$ref": "#/definitions/AWS::BcmPricingCalculator::WorkloadEstimate" + }, { "$ref": "#/definitions/AWS::Bedrock::Agent" }, @@ -416331,6 +438207,9 @@ { "$ref": "#/definitions/AWS::Bedrock::EnforcedGuardrailConfiguration" }, + { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob" + }, { "$ref": "#/definitions/AWS::Bedrock::Flow" }, @@ -416499,6 +438378,9 @@ { "$ref": "#/definitions/AWS::Braket::Job" }, + { + "$ref": "#/definitions/AWS::Braket::QuantumTask" + }, { "$ref": "#/definitions/AWS::Braket::SpendingLimit" }, @@ -416535,6 +438417,9 @@ { "$ref": "#/definitions/AWS::Cases::Layout" }, + { + "$ref": "#/definitions/AWS::Cases::RelatedItem" + }, { "$ref": "#/definitions/AWS::Cases::Template" }, @@ -416583,9 +438468,39 @@ { "$ref": "#/definitions/AWS::Chime::AppInstanceUser" }, + { + "$ref": "#/definitions/AWS::Chime::Channel" + }, { "$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 +438528,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" }, @@ -416712,6 +438642,9 @@ { "$ref": "#/definitions/AWS::CloudFront::DistributionTenant" }, + { + "$ref": "#/definitions/AWS::CloudFront::FieldLevelEncryptionProfile" + }, { "$ref": "#/definitions/AWS::CloudFront::Function" }, @@ -416751,6 +438684,9 @@ { "$ref": "#/definitions/AWS::CloudHSM::Cluster" }, + { + "$ref": "#/definitions/AWS::CloudHSMV2::Backup" + }, { "$ref": "#/definitions/AWS::CloudTrail::Channel" }, @@ -416817,6 +438753,9 @@ { "$ref": "#/definitions/AWS::CodeBuild::Project" }, + { + "$ref": "#/definitions/AWS::CodeBuild::Report" + }, { "$ref": "#/definitions/AWS::CodeBuild::ReportGroup" }, @@ -416937,18 +438876,27 @@ { "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier" }, + { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifierEndpoint" + }, { "$ref": "#/definitions/AWS::Comprehend::DominantLanguageDetectionJob" }, { "$ref": "#/definitions/AWS::Comprehend::EntitiesDetectionJob" }, + { + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer" + }, { "$ref": "#/definitions/AWS::Comprehend::Flywheel" }, { "$ref": "#/definitions/AWS::Comprehend::FlywheelDataset" }, + { + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob" + }, { "$ref": "#/definitions/AWS::Comprehend::SentimentDetectionJob" }, @@ -417099,6 +439047,9 @@ { "$ref": "#/definitions/AWS::Connect::ViewVersion" }, + { + "$ref": "#/definitions/AWS::Connect::Vocabulary" + }, { "$ref": "#/definitions/AWS::Connect::Workspace" }, @@ -417117,6 +439068,9 @@ { "$ref": "#/definitions/AWS::ControlCatalog::Objective" }, + { + "$ref": "#/definitions/AWS::ControlTower::Baseline" + }, { "$ref": "#/definitions/AWS::ControlTower::EnabledBaseline" }, @@ -417150,6 +439104,9 @@ { "$ref": "#/definitions/AWS::CustomerProfiles::Recommender" }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::RecommenderSchema" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition" }, @@ -417198,12 +439155,27 @@ { "$ref": "#/definitions/AWS::DMS::ReplicationTask" }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationTaskAssessmentRun" + }, + { + "$ref": "#/definitions/AWS::DRS::Job" + }, + { + "$ref": "#/definitions/AWS::DRS::LaunchConfigurationTemplate" + }, { "$ref": "#/definitions/AWS::DRS::RecoveryInstance" }, + { + "$ref": "#/definitions/AWS::DRS::ReplicationConfigurationTemplate" + }, { "$ref": "#/definitions/AWS::DRS::SourceNetwork" }, + { + "$ref": "#/definitions/AWS::DRS::SourceServer" + }, { "$ref": "#/definitions/AWS::DSQL::Cluster" }, @@ -417375,6 +439347,9 @@ { "$ref": "#/definitions/AWS::Deadline::StorageProfile" }, + { + "$ref": "#/definitions/AWS::Deadline::Volume" + }, { "$ref": "#/definitions/AWS::Deadline::Worker" }, @@ -417463,7 +439438,7 @@ "$ref": "#/definitions/AWS::DocDBElastic::Cluster" }, { - "$ref": "#/definitions/AWS::DynamoDB::Backup" + "$ref": "#/definitions/AWS::DocDBElastic::ClusterSnapshot" }, { "$ref": "#/definitions/AWS::DynamoDB::Export" @@ -417477,6 +439452,9 @@ { "$ref": "#/definitions/AWS::DynamoDB::Table" }, + { + "$ref": "#/definitions/AWS::EC2::ApplicationStatusCheck" + }, { "$ref": "#/definitions/AWS::EC2::CapacityManagerDataExport" }, @@ -417564,12 +439542,27 @@ { "$ref": "#/definitions/AWS::EC2::IPAMScope" }, + { + "$ref": "#/definitions/AWS::EC2::IPv4Pool" + }, + { + "$ref": "#/definitions/AWS::EC2::ImageUsageReport" + }, + { + "$ref": "#/definitions/AWS::EC2::ImportImageTask" + }, + { + "$ref": "#/definitions/AWS::EC2::ImportSnapshotTask" + }, { "$ref": "#/definitions/AWS::EC2::Instance" }, { "$ref": "#/definitions/AWS::EC2::InstanceConnectEndpoint" }, + { + "$ref": "#/definitions/AWS::EC2::InstanceEventWindow" + }, { "$ref": "#/definitions/AWS::EC2::InternetGateway" }, @@ -417645,6 +439638,9 @@ { "$ref": "#/definitions/AWS::EC2::ReplaceRootVolumeTask" }, + { + "$ref": "#/definitions/AWS::EC2::ReservedInstances" + }, { "$ref": "#/definitions/AWS::EC2::Route" }, @@ -417684,6 +439680,9 @@ { "$ref": "#/definitions/AWS::EC2::SpotFleet" }, + { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest" + }, { "$ref": "#/definitions/AWS::EC2::SqlHaStandbyDetectedInstance" }, @@ -417693,6 +439692,9 @@ { "$ref": "#/definitions/AWS::EC2::SubnetCidrBlock" }, + { + "$ref": "#/definitions/AWS::EC2::SubnetCidrReservation" + }, { "$ref": "#/definitions/AWS::EC2::SubnetNetworkAclAssociation" }, @@ -417789,6 +439791,9 @@ { "$ref": "#/definitions/AWS::EC2::VPCEndpoint" }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpointConnection" + }, { "$ref": "#/definitions/AWS::EC2::VPCEndpointConnectionNotification" }, @@ -417885,6 +439890,12 @@ { "$ref": "#/definitions/AWS::ECS::Daemon" }, + { + "$ref": "#/definitions/AWS::ECS::DaemonDeployment" + }, + { + "$ref": "#/definitions/AWS::ECS::DaemonRevision" + }, { "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition" }, @@ -417897,6 +439908,12 @@ { "$ref": "#/definitions/AWS::ECS::Service" }, + { + "$ref": "#/definitions/AWS::ECS::ServiceDeployment" + }, + { + "$ref": "#/definitions/AWS::ECS::ServiceRevision" + }, { "$ref": "#/definitions/AWS::ECS::Task" }, @@ -417975,6 +439992,9 @@ { "$ref": "#/definitions/AWS::EMRContainers::JobRun" }, + { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate" + }, { "$ref": "#/definitions/AWS::EMRContainers::SecurityConfiguration" }, @@ -417987,6 +440007,9 @@ { "$ref": "#/definitions/AWS::EMRServerless::JobRun" }, + { + "$ref": "#/definitions/AWS::EMRServerless::Session" + }, { "$ref": "#/definitions/AWS::EVS::Environment" }, @@ -418116,12 +440139,27 @@ { "$ref": "#/definitions/AWS::Events::EventBusPolicy" }, + { + "$ref": "#/definitions/AWS::Events::EventSource" + }, { "$ref": "#/definitions/AWS::Events::Replay" }, { "$ref": "#/definitions/AWS::Events::Rule" }, + { + "$ref": "#/definitions/AWS::EventsV2::EventBus" + }, + { + "$ref": "#/definitions/AWS::EventsV2::EventSource" + }, + { + "$ref": "#/definitions/AWS::EventsV2::ResourcePolicy" + }, + { + "$ref": "#/definitions/AWS::EventsV2::Subscriber" + }, { "$ref": "#/definitions/AWS::Evidently::Experiment" }, @@ -418137,6 +440175,9 @@ { "$ref": "#/definitions/AWS::Evidently::Segment" }, + { + "$ref": "#/definitions/AWS::FIS::Action" + }, { "$ref": "#/definitions/AWS::FIS::Experiment" }, @@ -418149,18 +440190,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" }, @@ -418173,6 +440226,9 @@ { "$ref": "#/definitions/AWS::FSx::StorageVirtualMachine" }, + { + "$ref": "#/definitions/AWS::FSx::Task" + }, { "$ref": "#/definitions/AWS::FSx::Volume" }, @@ -418263,6 +440319,9 @@ { "$ref": "#/definitions/AWS::Glue::Connection" }, + { + "$ref": "#/definitions/AWS::Glue::ConnectionType" + }, { "$ref": "#/definitions/AWS::Glue::Crawler" }, @@ -418413,6 +440472,9 @@ { "$ref": "#/definitions/AWS::GroundStation::MissionProfile" }, + { + "$ref": "#/definitions/AWS::GroundStation::Satellite" + }, { "$ref": "#/definitions/AWS::GuardDuty::CustomDetectionRuleAssociation" }, @@ -418446,6 +440508,12 @@ { "$ref": "#/definitions/AWS::GuardDuty::TrustedEntitySet" }, + { + "$ref": "#/definitions/AWS::HealthAgent::Domain" + }, + { + "$ref": "#/definitions/AWS::HealthAgent::Subscription" + }, { "$ref": "#/definitions/AWS::HealthImaging::Datastore" }, @@ -418788,6 +440856,9 @@ { "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Application" + }, { "$ref": "#/definitions/AWS::IoTSiteWise::Asset" }, @@ -418806,12 +440877,24 @@ { "$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::TimeSeries" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Workspace" + }, { "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" }, @@ -418893,6 +440976,9 @@ { "$ref": "#/definitions/AWS::Kendra::Faq" }, + { + "$ref": "#/definitions/AWS::Kendra::FeaturedResultsSet" + }, { "$ref": "#/definitions/AWS::Kendra::Index" }, @@ -418905,6 +440991,9 @@ { "$ref": "#/definitions/AWS::KendraRanking::ExecutionPlan" }, + { + "$ref": "#/definitions/AWS::Kinesis::Channel" + }, { "$ref": "#/definitions/AWS::Kinesis::ResourcePolicy" }, @@ -419031,6 +441120,9 @@ { "$ref": "#/definitions/AWS::LicenseManager::License" }, + { + "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetGroup" + }, { "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet" }, @@ -419076,6 +441168,9 @@ { "$ref": "#/definitions/AWS::Lightsail::InstanceSnapshot" }, + { + "$ref": "#/definitions/AWS::Lightsail::KeyPair" + }, { "$ref": "#/definitions/AWS::Lightsail::LoadBalancer" }, @@ -419172,9 +441267,24 @@ { "$ref": "#/definitions/AWS::M2::Environment" }, + { + "$ref": "#/definitions/AWS::MGN::Connector" + }, + { + "$ref": "#/definitions/AWS::MGN::Export" + }, + { + "$ref": "#/definitions/AWS::MGN::Import" + }, + { + "$ref": "#/definitions/AWS::MGN::LaunchConfigurationTemplate" + }, { "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition" }, + { + "$ref": "#/definitions/AWS::MGN::SourceServer" + }, { "$ref": "#/definitions/AWS::MPA::ApprovalTeam" }, @@ -419226,6 +441336,9 @@ { "$ref": "#/definitions/AWS::Macie::FindingsFilter" }, + { + "$ref": "#/definitions/AWS::Macie::Member" + }, { "$ref": "#/definitions/AWS::Macie::Session" }, @@ -419253,6 +441366,9 @@ { "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement" }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowMediaStream" + }, { "$ref": "#/definitions/AWS::MediaConnect::FlowOutput" }, @@ -419280,6 +441396,9 @@ { "$ref": "#/definitions/AWS::MediaConnect::RouterOutput" }, + { + "$ref": "#/definitions/AWS::MediaConvert::Job" + }, { "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" }, @@ -419331,6 +441450,9 @@ { "$ref": "#/definitions/AWS::MediaLive::Offering" }, + { + "$ref": "#/definitions/AWS::MediaLive::Reservation" + }, { "$ref": "#/definitions/AWS::MediaLive::SdiSource" }, @@ -419421,6 +441543,9 @@ { "$ref": "#/definitions/AWS::MemoryDB::ReservedNode" }, + { + "$ref": "#/definitions/AWS::MemoryDB::Snapshot" + }, { "$ref": "#/definitions/AWS::MemoryDB::SubnetGroup" }, @@ -419457,9 +441582,15 @@ { "$ref": "#/definitions/AWS::NeptuneGraph::GraphSnapshot" }, + { + "$ref": "#/definitions/AWS::NeptuneGraph::ImportTask" + }, { "$ref": "#/definitions/AWS::NeptuneGraph::PrivateGraphEndpoint" }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::ContainerAssociation" + }, { "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" }, @@ -419481,6 +441612,9 @@ { "$ref": "#/definitions/AWS::NetworkFlowMonitor::Monitor" }, + { + "$ref": "#/definitions/AWS::NetworkFlowMonitor::Scope" + }, { "$ref": "#/definitions/AWS::NetworkManager::ConnectAttachment" }, @@ -419529,6 +441663,9 @@ { "$ref": "#/definitions/AWS::NetworkManager::VpcAttachment" }, + { + "$ref": "#/definitions/AWS::NetworkMonitor::Monitor" + }, { "$ref": "#/definitions/AWS::Notifications::ChannelAssociation" }, @@ -419622,6 +441759,9 @@ { "$ref": "#/definitions/AWS::Omics::Run" }, + { + "$ref": "#/definitions/AWS::Omics::RunBatch" + }, { "$ref": "#/definitions/AWS::Omics::RunCache" }, @@ -419718,6 +441858,9 @@ { "$ref": "#/definitions/AWS::Organizations::Root" }, + { + "$ref": "#/definitions/AWS::Outposts::Outpost" + }, { "$ref": "#/definitions/AWS::Outposts::Site" }, @@ -419751,6 +441894,9 @@ { "$ref": "#/definitions/AWS::PCS::Queue" }, + { + "$ref": "#/definitions/AWS::PI::PerfReports" + }, { "$ref": "#/definitions/AWS::Panorama::ApplicationInstance" }, @@ -419784,12 +441930,21 @@ { "$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" }, + { + "$ref": "#/definitions/AWS::Personalize::Filter" + }, { "$ref": "#/definitions/AWS::Personalize::MetricAttribution" }, @@ -419874,6 +442029,9 @@ { "$ref": "#/definitions/AWS::Pipes::Pipe" }, + { + "$ref": "#/definitions/AWS::PricingPlanManager::Subscription" + }, { "$ref": "#/definitions/AWS::Proton::EnvironmentAccountConnection" }, @@ -419934,6 +442092,9 @@ { "$ref": "#/definitions/AWS::QuickSight::CustomPermissions" }, + { + "$ref": "#/definitions/AWS::QuickSight::Customization" + }, { "$ref": "#/definitions/AWS::QuickSight::DLPSetting" }, @@ -419952,6 +442113,9 @@ { "$ref": "#/definitions/AWS::QuickSight::Folder" }, + { + "$ref": "#/definitions/AWS::QuickSight::Ingestion" + }, { "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase" }, @@ -419997,12 +442161,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 +442269,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 +442326,9 @@ { "$ref": "#/definitions/AWS::ResilienceHub::App" }, + { + "$ref": "#/definitions/AWS::ResilienceHub::AppAssessment" + }, { "$ref": "#/definitions/AWS::ResilienceHub::RecommendationTemplate" }, @@ -420204,6 +442389,9 @@ { "$ref": "#/definitions/AWS::RolesAnywhere::Profile" }, + { + "$ref": "#/definitions/AWS::RolesAnywhere::Subject" + }, { "$ref": "#/definitions/AWS::RolesAnywhere::TrustAnchor" }, @@ -420213,6 +442401,9 @@ { "$ref": "#/definitions/AWS::Route53::DNSSEC" }, + { + "$ref": "#/definitions/AWS::Route53::DelegationSet" + }, { "$ref": "#/definitions/AWS::Route53::HealthCheck" }, @@ -420222,12 +442413,21 @@ { "$ref": "#/definitions/AWS::Route53::KeySigningKey" }, + { + "$ref": "#/definitions/AWS::Route53::QueryLoggingConfig" + }, { "$ref": "#/definitions/AWS::Route53::RecordSet" }, { "$ref": "#/definitions/AWS::Route53::RecordSetGroup" }, + { + "$ref": "#/definitions/AWS::Route53::TrafficPolicy" + }, + { + "$ref": "#/definitions/AWS::Route53::TrafficPolicyInstance" + }, { "$ref": "#/definitions/AWS::Route53GlobalResolver::AccessSource" }, @@ -420411,6 +442611,9 @@ { "$ref": "#/definitions/AWS::S3Vectors::VectorBucketPolicy" }, + { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow" + }, { "$ref": "#/definitions/AWS::SCN::Dataset" }, @@ -420438,6 +442641,9 @@ { "$ref": "#/definitions/AWS::SES::EmailIdentity" }, + { + "$ref": "#/definitions/AWS::SES::EmailIdentityCertificate" + }, { "$ref": "#/definitions/AWS::SES::MailManagerAddonInstance" }, @@ -420501,12 +442707,18 @@ { "$ref": "#/definitions/AWS::SMSVOICE::Registration" }, + { + "$ref": "#/definitions/AWS::SMSVOICE::RegistrationAttachment" + }, { "$ref": "#/definitions/AWS::SMSVOICE::ResourcePolicy" }, { "$ref": "#/definitions/AWS::SMSVOICE::SenderId" }, + { + "$ref": "#/definitions/AWS::SMSVOICE::VerifiedDestinationNumber" + }, { "$ref": "#/definitions/AWS::SNS::Subscription" }, @@ -420621,6 +442833,18 @@ { "$ref": "#/definitions/AWS::SSO::PermissionSet" }, + { + "$ref": "#/definitions/AWS::SWF::Domain" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig" + }, { "$ref": "#/definitions/AWS::SageMaker::Action" }, @@ -420642,6 +442866,9 @@ { "$ref": "#/definitions/AWS::SageMaker::Cluster" }, + { + "$ref": "#/definitions/AWS::SageMaker::ClusterSchedulerConfig" + }, { "$ref": "#/definitions/AWS::SageMaker::CodeRepository" }, @@ -421005,9 +443232,24 @@ { "$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" }, + { + "$ref": "#/definitions/AWS::StorageGateway::Volume" + }, { "$ref": "#/definitions/AWS::SupportApp::AccountAlias" }, @@ -421044,12 +443286,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" }, @@ -421059,9 +443307,15 @@ { "$ref": "#/definitions/AWS::Transcribe::MedicalTranscriptionJob" }, + { + "$ref": "#/definitions/AWS::Transcribe::MedicalVocabulary" + }, { "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob" }, + { + "$ref": "#/definitions/AWS::Transcribe::Vocabulary" + }, { "$ref": "#/definitions/AWS::Transcribe::VocabularyFilter" }, @@ -421137,6 +443391,9 @@ { "$ref": "#/definitions/AWS::VpcLattice::ResourceConfiguration" }, + { + "$ref": "#/definitions/AWS::VpcLattice::ResourceEndpointAssociation" + }, { "$ref": "#/definitions/AWS::VpcLattice::ResourceGateway" }, @@ -421236,6 +443493,15 @@ { "$ref": "#/definitions/AWS::WAFv2::WebACLAssociation" }, + { + "$ref": "#/definitions/AWS::WellArchitected::AgentContext" + }, + { + "$ref": "#/definitions/AWS::WellArchitected::AgentGoal" + }, + { + "$ref": "#/definitions/AWS::WellArchitected::AgentProfile" + }, { "$ref": "#/definitions/AWS::WellArchitected::Lens" }, diff --git a/schema_source/cloudformation.schema.json b/schema_source/cloudformation.schema.json index be4573b3e..1cac3f6e2 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", @@ -26286,6 +26430,12 @@ "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState", "markdownDescription": "An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling. Setting the value of an attribute to `true` suspends the specified scaling activities. Setting it to `false` (default) resumes the specified scaling activities.\n\n*Suspension Outcomes*\n\n- For `DynamicScalingInSuspended` , while a suspension is in effect, all scale-in activities that are triggered by a scaling policy are suspended.\n- For `DynamicScalingOutSuspended` , while a suspension is in effect, all scale-out activities that are triggered by a scaling policy are suspended.\n- For `ScheduledScalingSuspended` , while a suspension is in effect, all scaling activities that involve scheduled actions are suspended.", "title": "SuspendedState" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -28507,7 +28657,7 @@ ], "type": "object" }, - "AWS::Artifact::Report": { + "AWS::Artifact::ComplianceInquiry": { "additionalProperties": false, "properties": { "Condition": { @@ -28541,12 +28691,19 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, "type": "object" }, "Type": { "enum": [ - "AWS::Artifact::Report" + "AWS::Artifact::ComplianceInquiry" ], "type": "string" }, @@ -28564,7 +28721,7 @@ ], "type": "object" }, - "AWS::Athena::CapacityReservation": { + "AWS::Artifact::Report": { "additionalProperties": false, "properties": { "Condition": { @@ -28598,40 +28755,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "CapacityAssignmentConfiguration": { - "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration", - "markdownDescription": "Assigns Athena workgroups (and hence their queries) to capacity reservations. A capacity reservation can have only one capacity assignment configuration, but the capacity assignment configuration can be made up of multiple individual assignments. Each assignment specifies how Athena queries can consume capacity from the capacity reservation that their workgroup is mapped to.", - "title": "CapacityAssignmentConfiguration" - }, - "Name": { - "markdownDescription": "The name of the capacity reservation.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to the capacity reservation.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", - "type": "array" - }, - "TargetDpus": { - "markdownDescription": "The number of data processing units requested.", - "title": "TargetDpus", - "type": "number" - } - }, - "required": [ - "Name", - "TargetDpus" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::Athena::CapacityReservation" + "AWS::Artifact::Report" ], "type": "string" }, @@ -28645,46 +28774,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::CapacityReservation.CapacityAssignment": { - "additionalProperties": false, - "properties": { - "WorkgroupNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of workgroup names for the capacity assignment.", - "title": "WorkgroupNames", - "type": "array" - } - }, - "required": [ - "WorkgroupNames" - ], - "type": "object" - }, - "AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration": { - "additionalProperties": false, - "properties": { - "CapacityAssignments": { - "items": { - "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignment" - }, - "markdownDescription": "The list of assignments that make up the capacity assignment configuration.", - "title": "CapacityAssignments", - "type": "array" - } - }, - "required": [ - "CapacityAssignments" + "Type" ], "type": "object" }, - "AWS::Athena::DataCatalog": { + "AWS::Athena::CapacityReservation": { "additionalProperties": false, "properties": { "Condition": { @@ -28719,65 +28813,39 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionType": { - "markdownDescription": "The type of connection for a `FEDERATED` data catalog (for example, `REDSHIFT` , `MYSQL` , or `SQLSERVER` ). For information about individual connectors, see [Available data source connectors](https://docs.aws.amazon.com/athena/latest/ug/connectors-available.html) .", - "title": "ConnectionType", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the data catalog.", - "title": "Description", - "type": "string" - }, - "Error": { - "markdownDescription": "Text of the error that occurred during data catalog creation or deletion.", - "title": "Error", - "type": "string" + "CapacityAssignmentConfiguration": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration", + "markdownDescription": "Assigns Athena workgroups (and hence their queries) to capacity reservations. A capacity reservation can have only one capacity assignment configuration, but the capacity assignment configuration can be made up of multiple individual assignments. Each assignment specifies how Athena queries can consume capacity from the capacity reservation that their workgroup is mapped to.", + "title": "CapacityAssignmentConfiguration" }, "Name": { - "markdownDescription": "The name of the data catalog. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.", + "markdownDescription": "The name of the capacity reservation.", "title": "Name", "type": "string" }, - "Parameters": { - "additionalProperties": true, - "markdownDescription": "Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.\n\n- For the `HIVE` data catalog type, use the following syntax. The `metadata-function` parameter is required. `The sdk-version` parameter is optional and defaults to the currently supported version.\n\n`metadata-function= *lambda_arn* , sdk-version= *version_number*`\n- For the `LAMBDA` data catalog type, use one of the following sets of required parameters, but not both.\n\n- If you have one Lambda function that processes metadata and another for reading the actual data, use the following syntax. Both parameters are required.\n\n`metadata-function= *lambda_arn* , record-function= *lambda_arn*`\n- If you have a composite Lambda function that processes both metadata and data, use the following syntax to specify your Lambda function.\n\n`function= *lambda_arn*`\n- The `GLUE` type takes a catalog ID parameter and is required. The `*catalog_id*` is the account ID of the AWS account to which the AWS Glue Data Catalog belongs.\n\n`catalog-id= *catalog_id*`\n\n- The `GLUE` data catalog type also applies to the default `AwsDataCatalog` that already exists in your account, of which you can have only one and cannot modify.\n- The `FEDERATED` data catalog type uses one of the following parameters, but not both. Use `connection-arn` for an existing AWS Glue connection. Use `connection-type` and `connection-properties` to specify the configuration setting for a new connection.\n\n- `connection-arn: **`\n- `lambda-role-arn` (optional): The execution role to use for the Lambda function. If not provided, one is created.\n- `connection-type:MYSQL|REDSHIFT|...., connection-properties:\" ** \"`\n\nFor *``* , use escaped JSON text, as in the following example.\n\n`\"{\\\"spill_bucket\\\":\\\"my_spill\\\",\\\"spill_prefix\\\":\\\"athena-spill\\\",\\\"host\\\":\\\"abc12345.snowflakecomputing.com\\\",\\\"port\\\":\\\"1234\\\",\\\"warehouse\\\":\\\"DEV_WH\\\",\\\"database\\\":\\\"TEST\\\",\\\"schema\\\":\\\"PUBLIC\\\",\\\"SecretArn\\\":\\\"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j\\\"}\"`", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Parameters", - "type": "object" - }, - "Status": { - "markdownDescription": "The status of the creation or deletion of the data catalog.\n\n- The `LAMBDA` , `GLUE` , and `HIVE` data catalog types are created synchronously. Their status is either `CREATE_COMPLETE` or `CREATE_FAILED` .\n- The `FEDERATED` data catalog type is created asynchronously.\n\nData catalog creation status:\n\n- `CREATE_IN_PROGRESS` : Federated data catalog creation in progress.\n- `CREATE_COMPLETE` : Data catalog creation complete.\n- `CREATE_FAILED` : Data catalog could not be created.\n- `CREATE_FAILED_CLEANUP_IN_PROGRESS` : Federated data catalog creation failed and is being removed.\n- `CREATE_FAILED_CLEANUP_COMPLETE` : Federated data catalog creation failed and was removed.\n- `CREATE_FAILED_CLEANUP_FAILED` : Federated data catalog creation failed but could not be removed.\n\nData catalog deletion status:\n\n- `DELETE_IN_PROGRESS` : Federated data catalog deletion in progress.\n- `DELETE_COMPLETE` : Federated data catalog deleted.\n- `DELETE_FAILED` : Federated data catalog could not be deleted.", - "title": "Status", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags (key-value pairs) to associate with this resource.", + "markdownDescription": "An array of key-value pairs to apply to the capacity reservation.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", "title": "Tags", "type": "array" }, - "Type": { - "markdownDescription": "The type of data catalog: `LAMBDA` for a federated catalog, `GLUE` for AWS Glue Catalog, or `HIVE` for an external hive metastore.", - "title": "Type", - "type": "string" + "TargetDpus": { + "markdownDescription": "The number of data processing units requested.", + "title": "TargetDpus", + "type": "number" } }, "required": [ "Name", - "Type" + "TargetDpus" ], "type": "object" }, "Type": { "enum": [ - "AWS::Athena::DataCatalog" + "AWS::Athena::CapacityReservation" ], "type": "string" }, @@ -28796,7 +28864,153 @@ ], "type": "object" }, - "AWS::Athena::NamedQuery": { + "AWS::Athena::CapacityReservation.CapacityAssignment": { + "additionalProperties": false, + "properties": { + "WorkgroupNames": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of workgroup names for the capacity assignment.", + "title": "WorkgroupNames", + "type": "array" + } + }, + "required": [ + "WorkgroupNames" + ], + "type": "object" + }, + "AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration": { + "additionalProperties": false, + "properties": { + "CapacityAssignments": { + "items": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignment" + }, + "markdownDescription": "The list of assignments that make up the capacity assignment configuration.", + "title": "CapacityAssignments", + "type": "array" + } + }, + "required": [ + "CapacityAssignments" + ], + "type": "object" + }, + "AWS::Athena::DataCatalog": { + "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": { + "ConnectionType": { + "markdownDescription": "The type of connection for a `FEDERATED` data catalog (for example, `REDSHIFT` , `MYSQL` , or `SQLSERVER` ). For information about individual connectors, see [Available data source connectors](https://docs.aws.amazon.com/athena/latest/ug/connectors-available.html) .", + "title": "ConnectionType", + "type": "string" + }, + "Description": { + "markdownDescription": "A description of the data catalog.", + "title": "Description", + "type": "string" + }, + "Error": { + "markdownDescription": "Text of the error that occurred during data catalog creation or deletion.", + "title": "Error", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the data catalog. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.", + "title": "Name", + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "markdownDescription": "Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.\n\n- For the `HIVE` data catalog type, use the following syntax. The `metadata-function` parameter is required. `The sdk-version` parameter is optional and defaults to the currently supported version.\n\n`metadata-function= *lambda_arn* , sdk-version= *version_number*`\n- For the `LAMBDA` data catalog type, use one of the following sets of required parameters, but not both.\n\n- If you have one Lambda function that processes metadata and another for reading the actual data, use the following syntax. Both parameters are required.\n\n`metadata-function= *lambda_arn* , record-function= *lambda_arn*`\n- If you have a composite Lambda function that processes both metadata and data, use the following syntax to specify your Lambda function.\n\n`function= *lambda_arn*`\n- The `GLUE` type takes a catalog ID parameter and is required. The `*catalog_id*` is the account ID of the AWS account to which the AWS Glue Data Catalog belongs.\n\n`catalog-id= *catalog_id*`\n\n- The `GLUE` data catalog type also applies to the default `AwsDataCatalog` that already exists in your account, of which you can have only one and cannot modify.\n- The `FEDERATED` data catalog type uses one of the following parameters, but not both. Use `connection-arn` for an existing AWS Glue connection. Use `connection-type` and `connection-properties` to specify the configuration setting for a new connection.\n\n- `connection-arn: **`\n- `lambda-role-arn` (optional): The execution role to use for the Lambda function. If not provided, one is created.\n- `connection-type:MYSQL|REDSHIFT|...., connection-properties:\" ** \"`\n\nFor *``* , use escaped JSON text, as in the following example.\n\n`\"{\\\"spill_bucket\\\":\\\"my_spill\\\",\\\"spill_prefix\\\":\\\"athena-spill\\\",\\\"host\\\":\\\"abc12345.snowflakecomputing.com\\\",\\\"port\\\":\\\"1234\\\",\\\"warehouse\\\":\\\"DEV_WH\\\",\\\"database\\\":\\\"TEST\\\",\\\"schema\\\":\\\"PUBLIC\\\",\\\"SecretArn\\\":\\\"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j\\\"}\"`", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Parameters", + "type": "object" + }, + "Status": { + "markdownDescription": "The status of the creation or deletion of the data catalog.\n\n- The `LAMBDA` , `GLUE` , and `HIVE` data catalog types are created synchronously. Their status is either `CREATE_COMPLETE` or `CREATE_FAILED` .\n- The `FEDERATED` data catalog type is created asynchronously.\n\nData catalog creation status:\n\n- `CREATE_IN_PROGRESS` : Federated data catalog creation in progress.\n- `CREATE_COMPLETE` : Data catalog creation complete.\n- `CREATE_FAILED` : Data catalog could not be created.\n- `CREATE_FAILED_CLEANUP_IN_PROGRESS` : Federated data catalog creation failed and is being removed.\n- `CREATE_FAILED_CLEANUP_COMPLETE` : Federated data catalog creation failed and was removed.\n- `CREATE_FAILED_CLEANUP_FAILED` : Federated data catalog creation failed but could not be removed.\n\nData catalog deletion status:\n\n- `DELETE_IN_PROGRESS` : Federated data catalog deletion in progress.\n- `DELETE_COMPLETE` : Federated data catalog deleted.\n- `DELETE_FAILED` : Federated data catalog could not be deleted.", + "title": "Status", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags (key-value pairs) to associate with this resource.", + "title": "Tags", + "type": "array" + }, + "Type": { + "markdownDescription": "The type of data catalog: `LAMBDA` for a federated catalog, `GLUE` for AWS Glue Catalog, or `HIVE` for an external hive metastore.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::DataCatalog" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::NamedQuery": { "additionalProperties": false, "properties": { "Condition": { @@ -33981,6 +34195,178 @@ ], "type": "object" }, + "AWS::BCM::ScheduledReport": { + "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": { + "DashboardArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ScheduleConfig": { + "$ref": "#/definitions/AWS::BCM::ScheduledReport.ScheduleConfig" + }, + "ScheduledReportExecutionRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WidgetDateRangeOverride": { + "$ref": "#/definitions/AWS::BCM::ScheduledReport.DateTimeRange" + }, + "WidgetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DashboardArn", + "Name", + "ScheduleConfig", + "ScheduledReportExecutionRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::BCM::ScheduledReport" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::BCM::ScheduledReport.DateTimeRange": { + "additionalProperties": false, + "properties": { + "EndTime": { + "$ref": "#/definitions/AWS::BCM::ScheduledReport.DateTimeValue" + }, + "StartTime": { + "$ref": "#/definitions/AWS::BCM::ScheduledReport.DateTimeValue" + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::BCM::ScheduledReport.DateTimeValue": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::BCM::ScheduledReport.HealthStatus": { + "additionalProperties": false, + "properties": { + "LastRefreshedAt": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::BCM::ScheduledReport.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + }, + "ScheduleExpressionTimeZone": { + "type": "string" + }, + "SchedulePeriod": { + "$ref": "#/definitions/AWS::BCM::ScheduledReport.SchedulePeriod" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::BCM::ScheduledReport.SchedulePeriod": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "StartTime": { + "type": "string" + } + }, + "type": "object" + }, "AWS::BCMDataExports::Export": { "additionalProperties": false, "properties": { @@ -35966,6 +36352,114 @@ ], "type": "object" }, + "AWS::BackupGateway::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": { + "GatewayDisplayName": { + "type": "string" + }, + "GatewayType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::BackupGateway::Gateway.TagsItems" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::BackupGateway::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "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": { @@ -39296,6 +39790,83 @@ }, "type": "object" }, + "AWS::BcmPricingCalculator::WorkloadEstimate": { + "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": { + "ExpiresAt": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RateType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::BcmPricingCalculator::WorkloadEstimate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Bedrock::Agent": { "additionalProperties": false, "properties": { @@ -41967,6 +42538,18 @@ ], "type": "object" }, + "AWS::Bedrock::DataSource.DayOfMonth": { + "additionalProperties": false, + "properties": { + "DayNumber": { + "type": "number" + }, + "LastDayOfMonth": { + "type": "object" + } + }, + "type": "object" + }, "AWS::Bedrock::DataSource.DeletionProtectionConfiguration": { "additionalProperties": false, "properties": { @@ -42090,6 +42673,9 @@ }, "MediaExtractionConfiguration": { "$ref": "#/definitions/AWS::Bedrock::DataSource.MediaExtractionConfiguration" + }, + "SyncSchedule": { + "$ref": "#/definitions/AWS::Bedrock::DataSource.SyncSchedule" } }, "type": "object" @@ -42109,6 +42695,18 @@ }, "type": "object" }, + "AWS::Bedrock::DataSource.MonthlySchedule": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "$ref": "#/definitions/AWS::Bedrock::DataSource.DayOfMonth" + } + }, + "required": [ + "DayOfMonth" + ], + "type": "object" + }, "AWS::Bedrock::DataSource.ParsingConfiguration": { "additionalProperties": false, "properties": { @@ -42418,6 +43016,21 @@ ], "type": "object" }, + "AWS::Bedrock::DataSource.SyncSchedule": { + "additionalProperties": false, + "properties": { + "Daily": { + "type": "object" + }, + "Monthly": { + "$ref": "#/definitions/AWS::Bedrock::DataSource.MonthlySchedule" + }, + "Weekly": { + "$ref": "#/definitions/AWS::Bedrock::DataSource.WeeklySchedule" + } + }, + "type": "object" + }, "AWS::Bedrock::DataSource.Transformation": { "additionalProperties": false, "properties": { @@ -42612,88 +43225,100 @@ ], "type": "object" }, - "AWS::Bedrock::DefaultPromptRouter": { + "AWS::Bedrock::DataSource.WeeklySchedule": { "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::DefaultPromptRouter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Bedrock::DefaultPromptRouter.PromptRouterTargetModel": { - "additionalProperties": false, - "properties": { - "ModelArn": { + "DayOfWeek": { "type": "string" } }, "required": [ - "ModelArn" - ], - "type": "object" - }, - "AWS::Bedrock::DefaultPromptRouter.RoutingCriteria": { - "additionalProperties": false, - "properties": { - "ResponseQualityDifference": { - "type": "number" - } - }, - "required": [ - "ResponseQualityDifference" + "DayOfWeek" ], "type": "object" }, - "AWS::Bedrock::EnforcedGuardrailConfiguration": { + "AWS::Bedrock::DefaultPromptRouter": { + "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::DefaultPromptRouter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Bedrock::DefaultPromptRouter.PromptRouterTargetModel": { + "additionalProperties": false, + "properties": { + "ModelArn": { + "type": "string" + } + }, + "required": [ + "ModelArn" + ], + "type": "object" + }, + "AWS::Bedrock::DefaultPromptRouter.RoutingCriteria": { + "additionalProperties": false, + "properties": { + "ResponseQualityDifference": { + "type": "number" + } + }, + "required": [ + "ResponseQualityDifference" + ], + "type": "object" + }, + "AWS::Bedrock::EnforcedGuardrailConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -42802,6 +43427,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 +47183,9 @@ "title": "EmbeddingDataType", "type": "string" }, + "ModelConfiguration": { + "type": "object" + }, "Video": { "items": { "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.VideoConfiguration" @@ -46291,6 +47288,9 @@ }, "ServerSideEncryptionConfiguration": { "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.ManagedKnowledgeBaseServerSideEncryptionConfiguration" + }, + "SupplementalDataStorageConfiguration": { + "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.SupplementalDataStorageConfiguration" } }, "type": "object" @@ -50872,6 +51872,15 @@ }, "type": "array" }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "VpcIdentifier": { "type": "string" } @@ -51317,6 +52326,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 +52798,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" } @@ -53585,6 +54642,12 @@ "title": "Name", "type": "string" }, + "NamespaceKeys": { + "items": { + "$ref": "#/definitions/AWS::BedrockAgentCore::Memory.NamespaceKeyEntry" + }, + "type": "array" + }, "StreamDeliveryResources": { "$ref": "#/definitions/AWS::BedrockAgentCore::Memory.StreamDeliveryResources" }, @@ -54079,6 +55142,36 @@ ], "type": "object" }, + "AWS::BedrockAgentCore::Memory.NamespaceKeyEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::BedrockAgentCore::Memory.NamespaceKeyValidation" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::BedrockAgentCore::Memory.NamespaceKeyValidation": { + "additionalProperties": false, + "properties": { + "AllowedValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RegexPattern": { + "type": "string" + } + }, + "type": "object" + }, "AWS::BedrockAgentCore::Memory.NumberValidation": { "additionalProperties": false, "properties": { @@ -56422,6 +57515,9 @@ "markdownDescription": "The network configuration.", "title": "NetworkConfiguration" }, + "PlatformVersion": { + "type": "string" + }, "ProtocolConfiguration": { "markdownDescription": "The protocol configuration for an agent runtime. This structure defines how the agent runtime communicates with clients.", "title": "ProtocolConfiguration", @@ -58057,6 +59153,25 @@ ], "type": "object" }, + "AWS::BillingConductor::PricingRule.CustomTier": { + "additionalProperties": false, + "properties": { + "BeginRangeInclusive": { + "type": "number" + }, + "EndRangeExclusive": { + "type": "number" + }, + "RateValue": { + "type": "number" + } + }, + "required": [ + "BeginRangeInclusive", + "RateValue" + ], + "type": "object" + }, "AWS::BillingConductor::PricingRule.FreeTier": { "additionalProperties": false, "properties": { @@ -58074,6 +59189,12 @@ "AWS::BillingConductor::PricingRule.Tiering": { "additionalProperties": false, "properties": { + "CustomTiers": { + "items": { + "$ref": "#/definitions/AWS::BillingConductor::PricingRule.CustomTier" + }, + "type": "array" + }, "FreeTier": { "$ref": "#/definitions/AWS::BillingConductor::PricingRule.FreeTier", "markdownDescription": "The possible AWS Free Tier configurations.", @@ -58335,6 +59456,137 @@ ], "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": { @@ -60435,7 +61687,7 @@ ], "type": "object" }, - "AWS::Cases::Template": { + "AWS::Cases::RelatedItem": { "additionalProperties": false, "properties": { "Condition": { @@ -60470,64 +61722,36 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A brief description of the template.", - "title": "Description", - "type": "string" - }, - "DomainId": { - "markdownDescription": "The unique identifier of the Cases domain.", - "title": "DomainId", + "CaseId": { "type": "string" }, - "LayoutConfiguration": { - "$ref": "#/definitions/AWS::Cases::Template.LayoutConfiguration", - "markdownDescription": "Object to store configuration of layouts associated to the template.", - "title": "LayoutConfiguration" - }, - "Name": { - "markdownDescription": "The template name.", - "title": "Name", - "type": "string" - }, - "RequiredFields": { - "items": { - "$ref": "#/definitions/AWS::Cases::Template.RequiredField" - }, - "markdownDescription": "A list of fields that must contain a value for a case to be successfully created with this template.", - "title": "RequiredFields", - "type": "array" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::Cases::Template.TemplateRule" - }, - "markdownDescription": "A list of case rules (also known as [case field conditions](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html) ) on a template.", - "title": "Rules", - "type": "array" + "Content": { + "$ref": "#/definitions/AWS::Cases::RelatedItem.RelatedItemContent" }, - "Status": { - "markdownDescription": "The status of the template.", - "title": "Status", + "DomainId": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "Name" + "CaseId", + "Content", + "DomainId", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cases::Template" + "AWS::Cases::RelatedItem" ], "type": "string" }, @@ -60546,51 +61770,187 @@ ], "type": "object" }, - "AWS::Cases::Template.LayoutConfiguration": { + "AWS::Cases::RelatedItem.CommentContent": { "additionalProperties": false, "properties": { - "DefaultLayout": { - "markdownDescription": "Unique identifier of a layout.", - "title": "DefaultLayout", + "Body": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Cases::Template.RequiredField": { - "additionalProperties": false, - "properties": { - "FieldId": { - "markdownDescription": "Unique identifier of a field.", - "title": "FieldId", + }, + "ContentType": { "type": "string" } }, "required": [ - "FieldId" + "Body", + "ContentType" ], "type": "object" }, - "AWS::Cases::Template.TemplateRule": { + "AWS::Cases::RelatedItem.RelatedItemContent": { "additionalProperties": false, "properties": { - "CaseRuleId": { - "markdownDescription": "Unique identifier of a case rule.", - "title": "CaseRuleId", - "type": "string" - }, - "FieldId": { - "markdownDescription": "Unique identifier of a field.", - "title": "FieldId", - "type": "string" + "Comment": { + "$ref": "#/definitions/AWS::Cases::RelatedItem.CommentContent" } }, - "required": [ - "CaseRuleId" - ], "type": "object" }, - "AWS::Cassandra::Keyspace": { + "AWS::Cases::Template": { + "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": { + "markdownDescription": "A brief description of the template.", + "title": "Description", + "type": "string" + }, + "DomainId": { + "markdownDescription": "The unique identifier of the Cases domain.", + "title": "DomainId", + "type": "string" + }, + "LayoutConfiguration": { + "$ref": "#/definitions/AWS::Cases::Template.LayoutConfiguration", + "markdownDescription": "Object to store configuration of layouts associated to the template.", + "title": "LayoutConfiguration" + }, + "Name": { + "markdownDescription": "The template name.", + "title": "Name", + "type": "string" + }, + "RequiredFields": { + "items": { + "$ref": "#/definitions/AWS::Cases::Template.RequiredField" + }, + "markdownDescription": "A list of fields that must contain a value for a case to be successfully created with this template.", + "title": "RequiredFields", + "type": "array" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Cases::Template.TemplateRule" + }, + "markdownDescription": "A list of case rules (also known as [case field conditions](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html) ) on a template.", + "title": "Rules", + "type": "array" + }, + "Status": { + "markdownDescription": "The status of the template.", + "title": "Status", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cases::Template" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cases::Template.LayoutConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultLayout": { + "markdownDescription": "Unique identifier of a layout.", + "title": "DefaultLayout", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cases::Template.RequiredField": { + "additionalProperties": false, + "properties": { + "FieldId": { + "markdownDescription": "Unique identifier of a field.", + "title": "FieldId", + "type": "string" + } + }, + "required": [ + "FieldId" + ], + "type": "object" + }, + "AWS::Cases::Template.TemplateRule": { + "additionalProperties": false, + "properties": { + "CaseRuleId": { + "markdownDescription": "Unique identifier of a case rule.", + "title": "CaseRuleId", + "type": "string" + }, + "FieldId": { + "markdownDescription": "Unique identifier of a field.", + "title": "FieldId", + "type": "string" + } + }, + "required": [ + "CaseRuleId" + ], + "type": "object" + }, + "AWS::Cassandra::Keyspace": { "additionalProperties": false, "properties": { "Condition": { @@ -62582,6 +63942,163 @@ ], "type": "object" }, + "AWS::Chime::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": { + "AppInstanceArn": { + "type": "string" + }, + "ChannelId": { + "type": "string" + }, + "ChimeBearer": { + "type": "string" + }, + "ElasticChannelConfiguration": { + "$ref": "#/definitions/AWS::Chime::Channel.ElasticChannelConfiguration" + }, + "ExpirationSettings": { + "$ref": "#/definitions/AWS::Chime::Channel.ExpirationSettings" + }, + "MemberArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Metadata": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "ModeratorArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Privacy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AppInstanceArn", + "ChimeBearer", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::Channel.ElasticChannelConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumSubChannels": { + "type": "number" + }, + "MinimumMembershipPercentage": { + "type": "number" + }, + "TargetMembershipsPerSubChannel": { + "type": "number" + } + }, + "required": [ + "MaximumSubChannels", + "MinimumMembershipPercentage", + "TargetMembershipsPerSubChannel" + ], + "type": "object" + }, + "AWS::Chime::Channel.ExpirationSettings": { + "additionalProperties": false, + "properties": { + "ExpirationCriterion": { + "type": "string" + }, + "ExpirationDays": { + "type": "number" + } + }, + "required": [ + "ExpirationCriterion", + "ExpirationDays" + ], + "type": "object" + }, + "AWS::Chime::Channel.Identity": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Chime::ChannelFlow": { "additionalProperties": false, "properties": { @@ -62716,7 +64233,7 @@ ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate": { + "AWS::Chime::MediaCapturePipeline": { "additionalProperties": false, "properties": { "Condition": { @@ -62751,79 +64268,41 @@ "Properties": { "additionalProperties": false, "properties": { - "AnalysisParameters": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisParameter" - }, - "markdownDescription": "The parameters of the analysis template.", - "title": "AnalysisParameters", - "type": "array" + "ChimeSdkMeetingConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ChimeSdkMeetingConfiguration" }, - "Description": { - "markdownDescription": "The description of the analysis template.", - "title": "Description", + "SinkArn": { "type": "string" }, - "ErrorMessageConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.ErrorMessageConfiguration", - "markdownDescription": "The configuration that specifies the level of detail in error messages returned by analyses using this template. When set to `DETAILED` , error messages include more information to help troubleshoot issues with PySpark jobs. Detailed error messages may expose underlying data, including sensitive information. Recommended for faster troubleshooting in development and testing environments.", - "title": "ErrorMessageConfiguration" - }, - "Format": { - "markdownDescription": "The format of the analysis template.", - "title": "Format", + "SinkIamRoleArn": { "type": "string" }, - "MembershipIdentifier": { - "markdownDescription": "The identifier for a membership resource.", - "title": "MembershipIdentifier", + "SinkType": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the analysis template.", - "title": "Name", + "SourceType": { "type": "string" }, - "Schema": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisSchema", - "markdownDescription": "The entire schema object.", - "title": "Schema" - }, - "Source": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisSource", - "markdownDescription": "The source of the analysis template.", - "title": "Source" - }, - "SourceMetadata": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisSourceMetadata", - "markdownDescription": "The source metadata for the analysis template.", - "title": "SourceMetadata" - }, - "SyntheticDataParameters": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.SyntheticDataParameters", - "markdownDescription": "The parameters used to generate synthetic data for this analysis template.", - "title": "SyntheticDataParameters" + "SseAwsKeyManagementParams": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.SseAwsKeyManagementParams" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "Format", - "MembershipIdentifier", - "Name", - "Source" + "SinkArn", + "SinkType", + "SourceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRooms::AnalysisTemplate" + "AWS::Chime::MediaCapturePipeline" ], "type": "string" }, @@ -62842,271 +64321,246 @@ ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.AnalysisParameter": { + "AWS::Chime::MediaCapturePipeline.ActiveSpeakerOnlyConfiguration": { "additionalProperties": false, "properties": { - "DefaultValue": { - "markdownDescription": "Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor.", - "title": "DefaultValue", + "ActiveSpeakerPosition": { "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.ArtifactsConfiguration": { + "additionalProperties": false, + "properties": { + "Audio": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.AudioArtifactsConfiguration" }, - "Name": { - "markdownDescription": "The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen.", - "title": "Name", - "type": "string" + "CompositedVideo": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.CompositedVideoArtifactsConfiguration" }, - "Type": { - "markdownDescription": "The type of parameter.", - "title": "Type", - "type": "string" + "Content": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ContentArtifactsConfiguration" + }, + "Video": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.VideoArtifactsConfiguration" } }, "required": [ - "Name", - "Type" + "Audio", + "Content", + "Video" ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.AnalysisSchema": { + "AWS::Chime::MediaCapturePipeline.AudioArtifactsConfiguration": { "additionalProperties": false, "properties": { - "ReferencedTables": { - "items": { - "type": "string" - }, - "markdownDescription": "The tables referenced in the analysis schema.", - "title": "ReferencedTables", - "type": "array" + "MuxType": { + "type": "string" } }, "required": [ - "ReferencedTables" + "MuxType" ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.AnalysisSource": { + "AWS::Chime::MediaCapturePipeline.ChimeSdkMeetingConfiguration": { "additionalProperties": false, "properties": { - "Artifacts": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifacts", - "markdownDescription": "The artifacts of the analysis source.", - "title": "Artifacts" + "ArtifactsConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ArtifactsConfiguration" }, - "Text": { - "markdownDescription": "The query text.", - "title": "Text", - "type": "string" + "SourceConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.SourceConfiguration" } }, "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.AnalysisSourceMetadata": { + "AWS::Chime::MediaCapturePipeline.CompositedVideoArtifactsConfiguration": { "additionalProperties": false, "properties": { - "Artifacts": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifactMetadata", - "markdownDescription": "The artifacts of the analysis source metadata.", - "title": "Artifacts" + "GridViewConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.GridViewConfiguration" + }, + "Layout": { + "type": "string" + }, + "Resolution": { + "type": "string" } }, "required": [ - "Artifacts" + "GridViewConfiguration" ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifact": { + "AWS::Chime::MediaCapturePipeline.ContentArtifactsConfiguration": { "additionalProperties": false, "properties": { - "Location": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.S3Location", - "markdownDescription": "The artifact location.", - "title": "Location" + "MuxType": { + "type": "string" + }, + "State": { + "type": "string" } }, "required": [ - "Location" + "State" ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifactMetadata": { + "AWS::Chime::MediaCapturePipeline.GridViewConfiguration": { "additionalProperties": false, "properties": { - "AdditionalArtifactHashes": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.Hash" - }, - "markdownDescription": "Additional artifact hashes for the analysis template.", - "title": "AdditionalArtifactHashes", - "type": "array" + "ActiveSpeakerOnlyConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ActiveSpeakerOnlyConfiguration" }, - "EntryPointHash": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.Hash", - "markdownDescription": "The hash of the entry point for the analysis template artifact metadata.", - "title": "EntryPointHash" + "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": [ - "EntryPointHash" + "ContentShareLayout" ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifacts": { + "AWS::Chime::MediaCapturePipeline.HorizontalLayoutConfiguration": { "additionalProperties": false, "properties": { - "AdditionalArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifact" - }, - "markdownDescription": "Additional artifacts for the analysis template.", - "title": "AdditionalArtifacts", - "type": "array" + "TileAspectRatio": { + "type": "string" }, - "EntryPoint": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifact", - "markdownDescription": "The entry point for the analysis template artifacts.", - "title": "EntryPoint" + "TileCount": { + "type": "number" }, - "RoleArn": { - "markdownDescription": "The role ARN for the analysis template artifacts.", - "title": "RoleArn", + "TileOrder": { + "type": "string" + }, + "TilePosition": { "type": "string" } }, - "required": [ - "EntryPoint", - "RoleArn" - ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.ColumnClassificationDetails": { + "AWS::Chime::MediaCapturePipeline.PresenterOnlyConfiguration": { "additionalProperties": false, "properties": { - "ColumnMapping": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.SyntheticDataColumnProperties" - }, - "markdownDescription": "A mapping that defines the classification of data columns for synthetic data generation and specifies how each column should be handled during the privacy-preserving data synthesis process.", - "title": "ColumnMapping", - "type": "array" + "PresenterPosition": { + "type": "string" } }, - "required": [ - "ColumnMapping" - ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.ErrorMessageConfiguration": { + "AWS::Chime::MediaCapturePipeline.SelectedVideoStreams": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "The level of detail for error messages returned by the PySpark job. When set to DETAILED, error messages include more information to help troubleshoot issues with your PySpark job.\n\nBecause this setting may expose sensitive data, it is recommended for development and testing environments.", - "title": "Type", - "type": "string" + "AttendeeIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExternalUserIds": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.Hash": { + "AWS::Chime::MediaCapturePipeline.SourceConfiguration": { "additionalProperties": false, "properties": { - "Sha256": { - "markdownDescription": "The SHA-256 hash value.", - "title": "Sha256", - "type": "string" + "SelectedVideoStreams": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.SelectedVideoStreams" } }, "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.MLSyntheticDataParameters": { + "AWS::Chime::MediaCapturePipeline.SseAwsKeyManagementParams": { "additionalProperties": false, "properties": { - "ColumnClassification": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.ColumnClassificationDetails", - "markdownDescription": "Classification details for data columns that specify how each column should be treated during synthetic data generation.", - "title": "ColumnClassification" - }, - "Epsilon": { - "markdownDescription": "The epsilon value for differential privacy when generating synthetic data. Lower values provide stronger privacy guarantees but may reduce data utility.", - "title": "Epsilon", - "type": "number" + "AwsKmsEncryptionContext": { + "type": "string" }, - "MaxMembershipInferenceAttackScore": { - "markdownDescription": "The maximum acceptable score for membership inference attack vulnerability. Synthetic data generation fails if the score for the resulting data exceeds this threshold.", - "title": "MaxMembershipInferenceAttackScore", - "type": "number" + "AwsKmsKeyId": { + "type": "string" } }, "required": [ - "ColumnClassification", - "Epsilon", - "MaxMembershipInferenceAttackScore" + "AwsKmsKeyId" ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.S3Location": { + "AWS::Chime::MediaCapturePipeline.VerticalLayoutConfiguration": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The bucket name.", - "title": "Bucket", + "TileAspectRatio": { "type": "string" }, - "Key": { - "markdownDescription": "The object key.", - "title": "Key", + "TileCount": { + "type": "number" + }, + "TileOrder": { + "type": "string" + }, + "TilePosition": { "type": "string" } }, - "required": [ - "Bucket", - "Key" - ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.SyntheticDataColumnProperties": { + "AWS::Chime::MediaCapturePipeline.VideoArtifactsConfiguration": { "additionalProperties": false, "properties": { - "ColumnName": { - "markdownDescription": "The name of the data column as it appears in the dataset.", - "title": "ColumnName", + "MuxType": { "type": "string" }, - "ColumnType": { - "markdownDescription": "The data type of the column, which determines how the synthetic data generation algorithm processes and synthesizes values for this column.", - "title": "ColumnType", + "State": { "type": "string" - }, - "IsPredictiveValue": { - "markdownDescription": "Indicates if this column contains predictive values that should be treated as target variables in machine learning models. This affects how the synthetic data generation preserves statistical relationships.", - "title": "IsPredictiveValue", - "type": "boolean" } }, "required": [ - "ColumnName", - "ColumnType", - "IsPredictiveValue" + "State" ], "type": "object" }, - "AWS::CleanRooms::AnalysisTemplate.SyntheticDataParameters": { + "AWS::Chime::MediaCapturePipeline.VideoAttribute": { "additionalProperties": false, "properties": { - "MlSyntheticDataParameters": { - "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.MLSyntheticDataParameters", - "markdownDescription": "The machine learning-specific parameters for synthetic data generation.", - "title": "MlSyntheticDataParameters" + "BorderColor": { + "type": "string" + }, + "BorderThickness": { + "type": "number" + }, + "CornerRadius": { + "type": "number" + }, + "HighlightColor": { + "type": "string" } }, - "required": [ - "MlSyntheticDataParameters" - ], "type": "object" }, - "AWS::CleanRooms::Collaboration": { + "AWS::Chime::MediaConcatenationPipeline": { "additionalProperties": false, "properties": { "Condition": { @@ -63141,106 +64595,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowedResultRegions": { - "items": { - "type": "string" - }, - "markdownDescription": "The AWS Regions where collaboration query results can be stored. Returns the list of Region identifiers that were specified when the collaboration was created. This list is used to enforce regional storage policies and compliance requirements.", - "title": "AllowedResultRegions", - "type": "array" - }, - "AnalyticsEngine": { - "markdownDescription": "The analytics engine for the collaboration.\n\n> After July 16, 2025, the `CLEAN_ROOMS_SQL` parameter will no longer be available.", - "title": "AnalyticsEngine", - "type": "string" - }, - "AutoApprovedChangeTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The types of change requests that are automatically approved for this collaboration.", - "title": "AutoApprovedChangeTypes", - "type": "array" - }, - "CreatorDisplayName": { - "markdownDescription": "A display name of the collaboration creator.", - "title": "CreatorDisplayName", - "type": "string" - }, - "CreatorMLMemberAbilities": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MLMemberAbilities", - "markdownDescription": "The ML member abilities for a collaboration member.", - "title": "CreatorMLMemberAbilities" - }, - "CreatorMemberAbilities": { + "Sinks": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ConcatenationSink" }, - "markdownDescription": "The abilities granted to the collaboration creator.\n\n*Allowed values* `CAN_QUERY` | `CAN_RECEIVE_RESULTS` | `CAN_RUN_JOB`", - "title": "CreatorMemberAbilities", "type": "array" }, - "CreatorPaymentConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.PaymentConfiguration", - "markdownDescription": "An object representing the collaboration member's payment responsibilities set by the collaboration creator.", - "title": "CreatorPaymentConfiguration" - }, - "DataEncryptionMetadata": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.DataEncryptionMetadata", - "markdownDescription": "The settings for client-side encryption for cryptographic computing.", - "title": "DataEncryptionMetadata" - }, - "Description": { - "markdownDescription": "A description of the collaboration provided by the collaboration owner.", - "title": "Description", - "type": "string" - }, - "IsMetricsEnabled": { - "type": "boolean" - }, - "JobLogStatus": { - "markdownDescription": "An indicator as to whether job logging has been enabled or disabled for the collaboration.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", - "title": "JobLogStatus", - "type": "string" - }, - "Members": { + "Sources": { "items": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MemberSpecification" + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ConcatenationSource" }, - "markdownDescription": "A list of initial members, not including the creator. This list is immutable.", - "title": "Members", "type": "array" }, - "Name": { - "markdownDescription": "A human-readable identifier provided by the collaboration owner. Display names are not unique.", - "title": "Name", - "type": "string" - }, - "QueryLogStatus": { - "markdownDescription": "An indicator as to whether query logging has been enabled or disabled for the collaboration.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", - "title": "QueryLogStatus", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "CreatorDisplayName", - "Description", - "Name", - "QueryLogStatus" + "Sinks", + "Sources" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRooms::Collaboration" + "AWS::Chime::MediaConcatenationPipeline" ], "type": "string" }, @@ -63259,209 +64641,199 @@ ], "type": "object" }, - "AWS::CleanRooms::Collaboration.DataEncryptionMetadata": { + "AWS::Chime::MediaConcatenationPipeline.ArtifactsConcatenationConfiguration": { "additionalProperties": false, "properties": { - "AllowCleartext": { - "markdownDescription": "Indicates whether encrypted tables can contain cleartext data ( `TRUE` ) or are to cryptographically process every column ( `FALSE` ).", - "title": "AllowCleartext", - "type": "boolean" + "Audio": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.AudioConcatenationConfiguration" }, - "AllowDuplicates": { - "markdownDescription": "Indicates whether Fingerprint columns can contain duplicate entries ( `TRUE` ) or are to contain only non-repeated values ( `FALSE` ).", - "title": "AllowDuplicates", - "type": "boolean" + "CompositedVideo": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.CompositedVideoConcatenationConfiguration" }, - "AllowJoinsOnColumnsWithDifferentNames": { - "markdownDescription": "Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name ( `TRUE` ) or can only be joined on Fingerprint columns of the same name ( `FALSE` ).", - "title": "AllowJoinsOnColumnsWithDifferentNames", - "type": "boolean" + "Content": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ContentConcatenationConfiguration" }, - "PreserveNulls": { - "markdownDescription": "Indicates whether NULL values are to be copied as NULL to encrypted tables ( `TRUE` ) or cryptographically processed ( `FALSE` ).", - "title": "PreserveNulls", - "type": "boolean" + "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": [ - "AllowCleartext", - "AllowDuplicates", - "AllowJoinsOnColumnsWithDifferentNames", - "PreserveNulls" + "Audio", + "CompositedVideo", + "Content", + "DataChannel", + "MeetingEvents", + "TranscriptionMessages", + "Video" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.JobComputePaymentConfig": { + "AWS::Chime::MediaConcatenationPipeline.AudioConcatenationConfiguration": { "additionalProperties": false, "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for query and job compute costs ( `TRUE` ) or has not configured the collaboration member to pay for query and job compute costs ( `FALSE` ).\n\nExactly one member can be configured to pay for query and job compute costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nAn error is returned if the collaboration creator sets a `FALSE` value for the member who can run queries and jobs.", - "title": "IsResponsible", - "type": "boolean" + "State": { + "type": "string" } }, "required": [ - "IsResponsible" + "State" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.MLMemberAbilities": { + "AWS::Chime::MediaConcatenationPipeline.ChimeSdkMeetingConcatenationConfiguration": { "additionalProperties": false, "properties": { - "CustomMLMemberAbilities": { - "items": { - "type": "string" - }, - "markdownDescription": "The custom ML member abilities for a collaboration member.", - "title": "CustomMLMemberAbilities", - "type": "array" + "ArtifactsConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ArtifactsConcatenationConfiguration" } }, "required": [ - "CustomMLMemberAbilities" + "ArtifactsConfiguration" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.MLPaymentConfig": { + "AWS::Chime::MediaConcatenationPipeline.CompositedVideoConcatenationConfiguration": { "additionalProperties": false, "properties": { - "ModelInference": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.ModelInferencePaymentConfig", - "markdownDescription": "The payment responsibilities accepted by the member for model inference.", - "title": "ModelInference" - }, - "ModelTraining": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.ModelTrainingPaymentConfig", - "markdownDescription": "The payment responsibilities accepted by the member for model training.", - "title": "ModelTraining" - }, - "SyntheticDataGeneration": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.SyntheticDataGenerationPaymentConfig", - "markdownDescription": "The payment configuration for machine learning synthetic data generation.", - "title": "SyntheticDataGeneration" + "State": { + "type": "string" } }, + "required": [ + "State" + ], "type": "object" }, - "AWS::CleanRooms::Collaboration.MemberSpecification": { + "AWS::Chime::MediaConcatenationPipeline.ConcatenationSink": { "additionalProperties": false, "properties": { - "AccountId": { - "markdownDescription": "The identifier used to reference members of the collaboration. Currently only supports AWS account ID.", - "title": "AccountId", - "type": "string" + "S3BucketSinkConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.S3BucketSinkConfiguration" }, - "DisplayName": { - "markdownDescription": "The member's display name.", - "title": "DisplayName", + "Type": { "type": "string" + } + }, + "required": [ + "S3BucketSinkConfiguration", + "Type" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.ConcatenationSource": { + "additionalProperties": false, + "properties": { + "MediaCapturePipelineSourceConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.MediaCapturePipelineSourceConfiguration" }, - "MLMemberAbilities": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MLMemberAbilities", - "markdownDescription": "The ML abilities granted to the collaboration member.", - "title": "MLMemberAbilities" - }, - "MemberAbilities": { - "items": { - "type": "string" - }, - "markdownDescription": "The abilities granted to the collaboration member.\n\n*Allowed Values* : `CAN_QUERY` | `CAN_RECEIVE_RESULTS`", - "title": "MemberAbilities", - "type": "array" - }, - "PaymentConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.PaymentConfiguration", - "markdownDescription": "The collaboration member's payment responsibilities set by the collaboration creator.\n\nIf the collaboration creator hasn't speci\ufb01ed anyone as the member paying for query compute costs, then the member who can query is the default payer.", - "title": "PaymentConfiguration" + "Type": { + "type": "string" } }, "required": [ - "AccountId", - "DisplayName" + "MediaCapturePipelineSourceConfiguration", + "Type" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.ModelInferencePaymentConfig": { + "AWS::Chime::MediaConcatenationPipeline.ContentConcatenationConfiguration": { "additionalProperties": false, "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for model inference costs ( `TRUE` ) or has not configured the collaboration member to pay for model inference costs ( `FALSE` ).\n\nExactly one member can be configured to pay for model inference costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nIf the collaboration creator hasn't specified anyone as the member paying for model inference costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.", - "title": "IsResponsible", - "type": "boolean" + "State": { + "type": "string" } }, "required": [ - "IsResponsible" + "State" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.ModelTrainingPaymentConfig": { + "AWS::Chime::MediaConcatenationPipeline.DataChannelConcatenationConfiguration": { "additionalProperties": false, "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for model training costs ( `TRUE` ) or has not configured the collaboration member to pay for model training costs ( `FALSE` ).\n\nExactly one member can be configured to pay for model training costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nIf the collaboration creator hasn't specified anyone as the member paying for model training costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.", - "title": "IsResponsible", - "type": "boolean" + "State": { + "type": "string" } }, "required": [ - "IsResponsible" + "State" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.PaymentConfiguration": { + "AWS::Chime::MediaConcatenationPipeline.MediaCapturePipelineSourceConfiguration": { "additionalProperties": false, "properties": { - "JobCompute": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.JobComputePaymentConfig", - "markdownDescription": "The compute configuration for the job.", - "title": "JobCompute" - }, - "MachineLearning": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MLPaymentConfig", - "markdownDescription": "An object representing the collaboration member's machine learning payment responsibilities set by the collaboration creator.", - "title": "MachineLearning" + "ChimeSdkMeetingConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ChimeSdkMeetingConcatenationConfiguration" }, - "QueryCompute": { - "$ref": "#/definitions/AWS::CleanRooms::Collaboration.QueryComputePaymentConfig", - "markdownDescription": "The collaboration member's payment responsibilities set by the collaboration creator for query compute costs.", - "title": "QueryCompute" + "MediaPipelineArn": { + "type": "string" } }, "required": [ - "QueryCompute" + "ChimeSdkMeetingConfiguration", + "MediaPipelineArn" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.QueryComputePaymentConfig": { + "AWS::Chime::MediaConcatenationPipeline.MeetingEventsConcatenationConfiguration": { "additionalProperties": false, "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for query compute costs ( `TRUE` ) or has not configured the collaboration member to pay for query compute costs ( `FALSE` ).\n\nExactly one member can be configured to pay for query compute costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nIf the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.", - "title": "IsResponsible", - "type": "boolean" + "State": { + "type": "string" } }, "required": [ - "IsResponsible" + "State" ], "type": "object" }, - "AWS::CleanRooms::Collaboration.SyntheticDataGenerationPaymentConfig": { + "AWS::Chime::MediaConcatenationPipeline.S3BucketSinkConfiguration": { "additionalProperties": false, "properties": { - "IsResponsible": { - "markdownDescription": "Indicates who is responsible for paying for synthetic data generation.", - "title": "IsResponsible", - "type": "boolean" + "Destination": { + "type": "string" } }, "required": [ - "IsResponsible" + "Destination" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable": { + "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": { @@ -63496,70 +64868,42 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowedColumns": { - "items": { - "type": "string" - }, - "markdownDescription": "The columns within the underlying AWS Glue table that can be used within collaborations.", - "title": "AllowedColumns", - "type": "array" - }, - "AnalysisMethod": { - "markdownDescription": "The analysis method for the configured table.\n\n`DIRECT_QUERY` allows SQL queries to be run directly on this table.\n\n`DIRECT_JOB` allows PySpark jobs to be run directly on this table.\n\n`MULTIPLE` allows both SQL queries and PySpark jobs to be run directly on this table.", - "title": "AnalysisMethod", - "type": "string" - }, - "AnalysisRules": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRule" - }, - "markdownDescription": "The analysis rule that was created for the configured table.", - "title": "AnalysisRules", - "type": "array" + "KinesisVideoStreamRecordingSourceRuntimeConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamRecordingSourceRuntimeConfiguration" }, - "Description": { - "markdownDescription": "A description for the configured table.", - "title": "Description", - "type": "string" + "KinesisVideoStreamSourceRuntimeConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamSourceRuntimeConfiguration" }, - "Name": { - "markdownDescription": "A name for the configured table.", - "title": "Name", + "MediaInsightsPipelineConfigurationArn": { "type": "string" }, - "SelectedAnalysisMethods": { - "items": { - "type": "string" + "MediaInsightsRuntimeMetadata": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "The selected analysis methods for the configured table.", - "title": "SelectedAnalysisMethods", - "type": "array" + "type": "object" }, - "TableReference": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.TableReference", - "markdownDescription": "The table that this configured table represents.", - "title": "TableReference" + "S3RecordingSinkRuntimeConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.S3RecordingSinkRuntimeConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "AllowedColumns", - "AnalysisMethod", - "Name", - "TableReference" + "MediaInsightsPipelineConfigurationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRooms::ConfiguredTable" + "AWS::Chime::MediaInsightsPipeline" ], "type": "string" }, @@ -63578,461 +64922,158 @@ ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.AggregateColumn": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "items": { - "type": "string" - }, - "markdownDescription": "Column names in configured table of aggregate columns.", - "title": "ColumnNames", - "type": "array" - }, - "Function": { - "markdownDescription": "Aggregation function that can be applied to aggregate column in query.", - "title": "Function", - "type": "string" - } - }, - "required": [ - "ColumnNames", - "Function" - ], - "type": "object" - }, - "AWS::CleanRooms::ConfiguredTable.AggregationConstraint": { + "AWS::Chime::MediaInsightsPipeline.ChannelDefinition": { "additionalProperties": false, "properties": { - "ColumnName": { - "markdownDescription": "Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output.", - "title": "ColumnName", - "type": "string" - }, - "Minimum": { - "markdownDescription": "The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output.", - "title": "Minimum", + "ChannelId": { "type": "number" }, - "Type": { - "markdownDescription": "The type of aggregation the constraint allows. The only valid value is currently `COUNT_DISTINCT`.", - "title": "Type", + "ParticipantRole": { "type": "string" } }, "required": [ - "ColumnName", - "Minimum", - "Type" + "ChannelId" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.AnalysisRule": { + "AWS::Chime::MediaInsightsPipeline.FragmentSelector": { "additionalProperties": false, "properties": { - "Policy": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy", - "markdownDescription": "A policy that describes the associated data usage limitations.", - "title": "Policy" - }, - "Type": { - "markdownDescription": "The type of analysis rule.", - "title": "Type", + "FragmentSelectorType": { "type": "string" + }, + "TimestampRange": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.TimestampRange" } }, "required": [ - "Policy", - "Type" + "FragmentSelectorType", + "TimestampRange" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation": { + "AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamRecordingSourceRuntimeConfiguration": { "additionalProperties": false, "properties": { - "AdditionalAnalyses": { - "markdownDescription": "An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.\n\nThe `additionalAnalyses` parameter is currently supported for the list analysis rule ( `AnalysisRuleList` ) and the custom analysis rule ( `AnalysisRuleCustom` ).", - "title": "AdditionalAnalyses", - "type": "string" - }, - "AggregateColumns": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregateColumn" - }, - "markdownDescription": "The columns that query runners are allowed to use in aggregation queries.", - "title": "AggregateColumns", - "type": "array" - }, - "AllowedJoinOperators": { - "items": { - "type": "string" - }, - "markdownDescription": "Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is `AND` .", - "title": "AllowedJoinOperators", - "type": "array" - }, - "DimensionColumns": { - "items": { - "type": "string" - }, - "markdownDescription": "The columns that query runners are allowed to select, group by, or filter by.", - "title": "DimensionColumns", - "type": "array" - }, - "JoinColumns": { - "items": { - "type": "string" - }, - "markdownDescription": "Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly.", - "title": "JoinColumns", - "type": "array" - }, - "JoinRequired": { - "markdownDescription": "Control that requires member who runs query to do a join with their configured table and/or other configured table in query.", - "title": "JoinRequired", - "type": "string" - }, - "OutputConstraints": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationConstraint" - }, - "markdownDescription": "Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned.", - "title": "OutputConstraints", - "type": "array" + "FragmentSelector": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.FragmentSelector" }, - "ScalarFunctions": { + "Streams": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.RecordingStreamConfiguration" }, - "markdownDescription": "Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics.", - "title": "ScalarFunctions", "type": "array" } }, "required": [ - "AggregateColumns", - "DimensionColumns", - "JoinColumns", - "OutputConstraints", - "ScalarFunctions" + "FragmentSelector", + "Streams" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.AnalysisRuleCustom": { + "AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamSourceRuntimeConfiguration": { "additionalProperties": false, "properties": { - "AdditionalAnalyses": { - "markdownDescription": "An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.", - "title": "AdditionalAnalyses", + "MediaEncoding": { "type": "string" }, - "AllowedAnalyses": { - "items": { - "type": "string" - }, - "markdownDescription": "The ARN of the analysis templates that are allowed by the custom analysis rule.", - "title": "AllowedAnalyses", - "type": "array" - }, - "AllowedAnalysisProviders": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the AWS accounts that are allowed to query by the custom analysis rule. Required when `allowedAnalyses` is `ANY_QUERY` .", - "title": "AllowedAnalysisProviders", - "type": "array" - }, - "DifferentialPrivacy": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.DifferentialPrivacy", - "markdownDescription": "The differential privacy configuration.", - "title": "DifferentialPrivacy" + "MediaSampleRate": { + "type": "number" }, - "DisallowedOutputColumns": { + "Streams": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.StreamConfiguration" }, - "markdownDescription": "A list of columns that aren't allowed to be shown in the query output.", - "title": "DisallowedOutputColumns", "type": "array" } }, "required": [ - "AllowedAnalyses" + "MediaEncoding", + "MediaSampleRate", + "Streams" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.AnalysisRuleList": { + "AWS::Chime::MediaInsightsPipeline.RecordingStreamConfiguration": { "additionalProperties": false, "properties": { - "AdditionalAnalyses": { - "markdownDescription": "An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.", - "title": "AdditionalAnalyses", + "StreamArn": { "type": "string" - }, - "AllowedJoinOperators": { - "items": { - "type": "string" - }, - "markdownDescription": "The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is `AND` .", - "title": "AllowedJoinOperators", - "type": "array" - }, - "JoinColumns": { - "items": { - "type": "string" - }, - "markdownDescription": "Columns that can be used to join a configured table with the table of the member who can query and other members' configured tables.", - "title": "JoinColumns", - "type": "array" - }, - "ListColumns": { - "items": { - "type": "string" - }, - "markdownDescription": "Columns that can be listed in the output.", - "title": "ListColumns", - "type": "array" } }, - "required": [ - "JoinColumns", - "ListColumns" - ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.AthenaTableReference": { + "AWS::Chime::MediaInsightsPipeline.S3RecordingSinkRuntimeConfiguration": { "additionalProperties": false, "properties": { - "CatalogName": { - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The database name.", - "title": "DatabaseName", - "type": "string" - }, - "OutputLocation": { - "markdownDescription": "The output location for the Athena table.", - "title": "OutputLocation", - "type": "string" - }, - "Region": { - "markdownDescription": "The AWS Region where the Athena table is located. This parameter is required to uniquely identify and access tables across different Regions.", - "title": "Region", - "type": "string" - }, - "TableName": { - "markdownDescription": "The table reference.", - "title": "TableName", + "Destination": { "type": "string" }, - "WorkGroup": { - "markdownDescription": "The workgroup of the Athena table reference.", - "title": "WorkGroup", + "RecordingFileFormat": { "type": "string" } }, "required": [ - "DatabaseName", - "TableName", - "WorkGroup" - ], - "type": "object" - }, - "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy": { - "additionalProperties": false, - "properties": { - "V1": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1", - "markdownDescription": "Controls on the query specifications that can be run on a configured table.", - "title": "V1" - } - }, - "required": [ - "V1" + "Destination", + "RecordingFileFormat" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1": { - "additionalProperties": false, - "properties": { - "Aggregation": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation", - "markdownDescription": "Analysis rule type that enables only aggregation queries on a configured table.", - "title": "Aggregation" - }, - "Custom": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleCustom", - "markdownDescription": "Analysis rule type that enables custom SQL queries on a configured table.", - "title": "Custom" - }, - "List": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleList", - "markdownDescription": "Analysis rule type that enables only list queries on a configured table.", - "title": "List" - } - }, - "type": "object" - }, - "AWS::CleanRooms::ConfiguredTable.DifferentialPrivacy": { + "AWS::Chime::MediaInsightsPipeline.StreamChannelDefinition": { "additionalProperties": false, "properties": { - "Columns": { + "ChannelDefinitions": { "items": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.DifferentialPrivacyColumn" + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.ChannelDefinition" }, - "markdownDescription": "The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.", - "title": "Columns", "type": "array" - } - }, - "required": [ - "Columns" - ], - "type": "object" - }, - "AWS::CleanRooms::ConfiguredTable.DifferentialPrivacyColumn": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CleanRooms::ConfiguredTable.GlueTableReference": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "markdownDescription": "The name of the database the AWS Glue table belongs to.", - "title": "DatabaseName", - "type": "string" - }, - "Region": { - "markdownDescription": "The AWS Region where the AWS Glue table is located. This parameter is required to uniquely identify and access tables across different Regions.", - "title": "Region", - "type": "string" }, - "TableName": { - "markdownDescription": "The name of the AWS Glue table.", - "title": "TableName", - "type": "string" + "NumberOfChannels": { + "type": "number" } }, "required": [ - "DatabaseName", - "TableName" + "NumberOfChannels" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.SnowflakeTableReference": { + "AWS::Chime::MediaInsightsPipeline.StreamConfiguration": { "additionalProperties": false, "properties": { - "AccountIdentifier": { - "markdownDescription": "The account identifier for the Snowflake table reference.", - "title": "AccountIdentifier", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The name of the database the Snowflake table belongs to.", - "title": "DatabaseName", - "type": "string" - }, - "SchemaName": { - "markdownDescription": "The schema name of the Snowflake table reference.", - "title": "SchemaName", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "The secret ARN of the Snowflake table reference.", - "title": "SecretArn", + "FragmentNumber": { "type": "string" }, - "TableName": { - "markdownDescription": "The name of the Snowflake table.", - "title": "TableName", + "StreamArn": { "type": "string" }, - "TableSchema": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchema", - "markdownDescription": "The schema of the Snowflake table.", - "title": "TableSchema" - } - }, - "required": [ - "AccountIdentifier", - "DatabaseName", - "SchemaName", - "SecretArn", - "TableName", - "TableSchema" - ], - "type": "object" - }, - "AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchema": { - "additionalProperties": false, - "properties": { - "V1": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchemaV1" - }, - "markdownDescription": "The schema of a Snowflake table.", - "title": "V1", - "type": "array" + "StreamChannelDefinition": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.StreamChannelDefinition" } }, "required": [ - "V1" + "StreamArn", + "StreamChannelDefinition" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchemaV1": { + "AWS::Chime::MediaInsightsPipeline.TimestampRange": { "additionalProperties": false, "properties": { - "ColumnName": { - "markdownDescription": "The column name.", - "title": "ColumnName", + "EndTimestamp": { "type": "string" }, - "ColumnType": { - "markdownDescription": "The column's data type. Supported data types: `ARRAY` , `BIGINT` , `BOOLEAN` , `CHAR` , `DATE` , `DECIMAL` , `DOUBLE` , `DOUBLE PRECISION` , `FLOAT` , `FLOAT4` , `INT` , `INTEGER` , `MAP` , `NUMERIC` , `NUMBER` , `REAL` , `SMALLINT` , `STRING` , `TIMESTAMP` , `TIMESTAMP_LTZ` , `TIMESTAMP_NTZ` , `DATETIME` , `TINYINT` , `VARCHAR` , `TEXT` , `CHARACTER` .", - "title": "ColumnType", + "StartTimestamp": { "type": "string" } }, "required": [ - "ColumnName", - "ColumnType" + "EndTimestamp", + "StartTimestamp" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTable.TableReference": { - "additionalProperties": false, - "properties": { - "Athena": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AthenaTableReference", - "markdownDescription": "If present, a reference to the Athena table referred to by this table reference.", - "title": "Athena" - }, - "Glue": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.GlueTableReference", - "markdownDescription": "If present, a reference to the AWS Glue table referred to by this table reference.", - "title": "Glue" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.SnowflakeTableReference", - "markdownDescription": "If present, a reference to the Snowflake table referred to by this table reference.", - "title": "Snowflake" - } - }, - "type": "object" - }, - "AWS::CleanRooms::ConfiguredTableAssociation": { + "AWS::Chime::MediaInsightsPipelineConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -64067,59 +65108,38 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfiguredTableAssociationAnalysisRules": { + "Elements": { "items": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRule" + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.MediaInsightsPipelineConfigurationElement" }, - "markdownDescription": "An analysis rule for a configured table association. This analysis rule specifies how data from the table can be used within its associated collaboration. In the console, the `ConfiguredTableAssociationAnalysisRule` is referred to as the *collaboration analysis rule* .", - "title": "ConfiguredTableAssociationAnalysisRules", "type": "array" }, - "ConfiguredTableIdentifier": { - "markdownDescription": "A unique identifier for the configured table to be associated to. Currently accepts a configured table ID.", - "title": "ConfiguredTableIdentifier", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the configured table association.", - "title": "Description", - "type": "string" - }, - "MembershipIdentifier": { - "markdownDescription": "The unique ID for the membership this configured table association belongs to.", - "title": "MembershipIdentifier", + "MediaInsightsPipelineConfigurationName": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the configured table association, in lowercase. The table is identified by this name when running protected queries against the underlying data.", - "title": "Name", - "type": "string" + "RealTimeAlertConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertConfiguration" }, - "RoleArn": { - "markdownDescription": "The service will assume this role to access catalog metadata and query the table.", - "title": "RoleArn", + "ResourceAccessRoleArn": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "ConfiguredTableIdentifier", - "MembershipIdentifier", - "Name", - "RoleArn" + "Elements", + "MediaInsightsPipelineConfigurationName", + "ResourceAccessRoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRooms::ConfiguredTableAssociation" + "AWS::Chime::MediaInsightsPipelineConfiguration" ], "type": "string" }, @@ -64138,282 +65158,275 @@ ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRule": { + "AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeCallAnalyticsProcessorConfiguration": { "additionalProperties": false, "properties": { - "Policy": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicy", - "markdownDescription": "The policy of the configured table association analysis rule.", - "title": "Policy" + "CallAnalyticsStreamCategories": { + "items": { + "type": "string" + }, + "type": "array" }, - "Type": { - "markdownDescription": "The type of the configured table association analysis rule.", - "title": "Type", + "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": [ - "Policy", - "Type" + "LanguageCode" ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregation": { + "AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeProcessorConfiguration": { "additionalProperties": false, "properties": { - "AllowedAdditionalAnalyses": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.\n\nThe `allowedAdditionalAnalyses` parameter is currently supported for the list analysis rule ( `AnalysisRuleList` ) and the custom analysis rule ( `AnalysisRuleCustom` ).", - "title": "AllowedAdditionalAnalyses", - "type": "array" + "ContentIdentificationType": { + "type": "string" }, - "AllowedResultReceivers": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of collaboration members who are allowed to receive results of queries run with this configured table.", - "title": "AllowedResultReceivers", - "type": "array" + "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::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustom": { + "AWS::Chime::MediaInsightsPipelineConfiguration.IssueDetectionConfiguration": { "additionalProperties": false, "properties": { - "AllowedAdditionalAnalyses": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.", - "title": "AllowedAdditionalAnalyses", - "type": "array" - }, - "AllowedResultReceivers": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of collaboration members who are allowed to receive results of queries run with this configured table.", - "title": "AllowedResultReceivers", - "type": "array" + "RuleName": { + "type": "string" } }, + "required": [ + "RuleName" + ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleList": { + "AWS::Chime::MediaInsightsPipelineConfiguration.KeywordMatchConfiguration": { "additionalProperties": false, "properties": { - "AllowedAdditionalAnalyses": { + "Keywords": { "items": { "type": "string" }, - "markdownDescription": "The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.", - "title": "AllowedAdditionalAnalyses", "type": "array" }, - "AllowedResultReceivers": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of collaboration members who are allowed to receive results of queries run with this configured table.", - "title": "AllowedResultReceivers", - "type": "array" + "Negate": { + "type": "boolean" + }, + "RuleName": { + "type": "string" } }, + "required": [ + "Keywords", + "RuleName" + ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicy": { + "AWS::Chime::MediaInsightsPipelineConfiguration.KinesisDataStreamSinkConfiguration": { "additionalProperties": false, "properties": { - "V1": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1", - "markdownDescription": "The policy for the configured table association analysis rule.", - "title": "V1" + "InsightsTarget": { + "type": "string" } }, - "required": [ - "V1" - ], "type": "object" }, - "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1": { + "AWS::Chime::MediaInsightsPipelineConfiguration.MediaInsightsPipelineConfigurationElement": { "additionalProperties": false, "properties": { - "Aggregation": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregation", - "markdownDescription": "Analysis rule type that enables only aggregation queries on a configured table.", - "title": "Aggregation" + "AmazonTranscribeCallAnalyticsProcessorConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeCallAnalyticsProcessorConfiguration" }, - "Custom": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustom", - "markdownDescription": "Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy.", - "title": "Custom" + "AmazonTranscribeProcessorConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeProcessorConfiguration" }, - "List": { - "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleList", - "markdownDescription": "Analysis rule type that enables only list queries on a configured table.", - "title": "List" + "KinesisDataStreamSinkConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.KinesisDataStreamSinkConfiguration" + }, + "S3RecordingSinkConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.S3RecordingSinkConfiguration" + }, + "Type": { + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::CleanRooms::IdMappingTable": { + "AWS::Chime::MediaInsightsPipelineConfiguration.PostCallAnalyticsSettings": { "additionalProperties": false, "properties": { - "Condition": { + "ContentRedactionOutput": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DataAccessRoleArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The description of the ID mapping table.", - "title": "Description", - "type": "string" - }, - "InputReferenceConfig": { - "$ref": "#/definitions/AWS::CleanRooms::IdMappingTable.IdMappingTableInputReferenceConfig", - "markdownDescription": "The input reference configuration for the ID mapping table.", - "title": "InputReferenceConfig" - }, - "KmsKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key.", - "title": "KmsKeyArn", - "type": "string" - }, - "MembershipIdentifier": { - "markdownDescription": "The unique identifier of the membership resource for the ID mapping table.", - "title": "MembershipIdentifier", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the ID mapping table.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "InputReferenceConfig", - "MembershipIdentifier", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CleanRooms::IdMappingTable" - ], + "OutputEncryptionKMSKeyId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "OutputLocation": { "type": "string" } }, "required": [ - "Type", - "Properties" + "DataAccessRoleArn", + "OutputLocation" ], "type": "object" }, - "AWS::CleanRooms::IdMappingTable.IdMappingTableInputReferenceConfig": { + "AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertConfiguration": { "additionalProperties": false, "properties": { - "InputReferenceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the referenced resource in AWS Entity Resolution . Valid values are ID mapping workflow ARNs.", - "title": "InputReferenceArn", - "type": "string" - }, - "ManageResourcePolicies": { - "markdownDescription": "When `TRUE` , AWS Clean Rooms manages permissions for the ID mapping table resource.\n\nWhen `FALSE` , the resource owner manages permissions for the ID mapping table resource.", - "title": "ManageResourcePolicies", + "Disabled": { "type": "boolean" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertRule" + }, + "type": "array" } }, - "required": [ - "InputReferenceArn", - "ManageResourcePolicies" - ], "type": "object" }, - "AWS::CleanRooms::IdMappingTable.IdMappingTableInputReferenceProperties": { + "AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertRule": { "additionalProperties": false, "properties": { - "IdMappingTableInputSource": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::IdMappingTable.IdMappingTableInputSource" - }, - "markdownDescription": "The input source of the ID mapping table.", - "title": "IdMappingTableInputSource", - "type": "array" + "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": [ - "IdMappingTableInputSource" + "Type" ], "type": "object" }, - "AWS::CleanRooms::IdMappingTable.IdMappingTableInputSource": { + "AWS::Chime::MediaInsightsPipelineConfiguration.S3RecordingSinkConfiguration": { "additionalProperties": false, "properties": { - "IdNamespaceAssociationId": { - "markdownDescription": "The unique identifier of the ID namespace association.", - "title": "IdNamespaceAssociationId", + "Destination": { "type": "string" }, - "Type": { - "markdownDescription": "The type of the input source of the ID mapping table.", - "title": "Type", + "RecordingFileFormat": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.SentimentConfiguration": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "SentimentType": { "type": "string" + }, + "TimePeriod": { + "type": "number" } }, "required": [ - "IdNamespaceAssociationId", - "Type" + "RuleName", + "SentimentType", + "TimePeriod" ], "type": "object" }, - "AWS::CleanRooms::IdNamespaceAssociation": { + "AWS::Chime::MediaLiveConnectorPipeline": { "additionalProperties": false, "properties": { "Condition": { @@ -64448,50 +65461,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the ID namespace association.", - "title": "Description", - "type": "string" - }, - "IdMappingConfig": { - "$ref": "#/definitions/AWS::CleanRooms::IdNamespaceAssociation.IdMappingConfig", - "markdownDescription": "The configuration settings for the ID mapping table.", - "title": "IdMappingConfig" - }, - "InputReferenceConfig": { - "$ref": "#/definitions/AWS::CleanRooms::IdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfig", - "markdownDescription": "The input reference configuration for the ID namespace association.", - "title": "InputReferenceConfig" - }, - "MembershipIdentifier": { - "markdownDescription": "The unique identifier of the membership that contains the ID namespace association.", - "title": "MembershipIdentifier", - "type": "string" + "Sinks": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSinkConfiguration" + }, + "type": "array" }, - "Name": { - "markdownDescription": "The name of this ID namespace association.", - "title": "Name", - "type": "string" + "Sources": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSourceConfiguration" + }, + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "InputReferenceConfig", - "MembershipIdentifier", - "Name" + "Sinks", + "Sources" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRooms::IdNamespaceAssociation" + "AWS::Chime::MediaLiveConnectorPipeline" ], "type": "string" }, @@ -64510,278 +65507,225 @@ ], "type": "object" }, - "AWS::CleanRooms::IdNamespaceAssociation.IdMappingConfig": { + "AWS::Chime::MediaLiveConnectorPipeline.ActiveSpeakerOnlyConfiguration": { "additionalProperties": false, "properties": { - "AllowUseAsDimensionColumn": { - "markdownDescription": "An indicator as to whether you can use your column as a dimension column in the ID mapping table ( `TRUE` ) or not ( `FALSE` ).\n\nDefault is `FALSE` .", - "title": "AllowUseAsDimensionColumn", - "type": "boolean" + "ActiveSpeakerPosition": { + "type": "string" } }, - "required": [ - "AllowUseAsDimensionColumn" - ], "type": "object" }, - "AWS::CleanRooms::IdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfig": { + "AWS::Chime::MediaLiveConnectorPipeline.ChimeSdkMeetingLiveConnectorConfiguration": { "additionalProperties": false, "properties": { - "InputReferenceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own.", - "title": "InputReferenceArn", + "Arn": { "type": "string" }, - "ManageResourcePolicies": { - "markdownDescription": "When `TRUE` , AWS Clean Rooms manages permissions for the ID namespace association resource.\n\nWhen `FALSE` , the resource owner manages permissions for the ID namespace association resource.", - "title": "ManageResourcePolicies", - "type": "boolean" + "CompositedVideo": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.CompositedVideoArtifactsConfiguration" + }, + "MuxType": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.SourceConfiguration" } }, "required": [ - "InputReferenceArn", - "ManageResourcePolicies" + "MuxType" ], "type": "object" }, - "AWS::CleanRooms::IdNamespaceAssociation.IdNamespaceAssociationInputReferenceProperties": { + "AWS::Chime::MediaLiveConnectorPipeline.CompositedVideoArtifactsConfiguration": { "additionalProperties": false, "properties": { - "IdMappingWorkflowsSupported": { - "items": { - "type": "object" - }, - "markdownDescription": "Defines how ID mapping workflows are supported for this ID namespace association.", - "title": "IdMappingWorkflowsSupported", - "type": "array" + "GridViewConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.GridViewConfiguration" }, - "IdNamespaceType": { - "markdownDescription": "The ID namespace type for this ID namespace association.", - "title": "IdNamespaceType", + "Layout": { + "type": "string" + }, + "Resolution": { "type": "string" } }, + "required": [ + "GridViewConfiguration" + ], "type": "object" }, - "AWS::CleanRooms::IntermediateTable": { + "AWS::Chime::MediaLiveConnectorPipeline.GridViewConfiguration": { "additionalProperties": false, "properties": { - "Condition": { + "ActiveSpeakerOnlyConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.ActiveSpeakerOnlyConfiguration" + }, + "CanvasOrientation": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ContentShareLayout": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "HorizontalLayoutConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.HorizontalLayoutConfiguration" }, - "Metadata": { - "type": "object" + "PresenterOnlyConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.PresenterOnlyConfiguration" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AnalysisRules": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRule" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "MembershipIdentifier": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PopulationAnalysisConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.PopulationAnalysisConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MembershipIdentifier", - "Name", - "PopulationAnalysisConfiguration" - ], - "type": "object" + "VerticalLayoutConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.VerticalLayoutConfiguration" }, - "Type": { - "enum": [ - "AWS::CleanRooms::IntermediateTable" - ], + "VideoAttribute": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.VideoAttribute" + } + }, + "required": [ + "ContentShareLayout" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.HorizontalLayoutConfiguration": { + "additionalProperties": false, + "properties": { + "TileAspectRatio": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TileCount": { + "type": "number" + }, + "TileOrder": { + "type": "string" + }, + "TilePosition": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::CleanRooms::IntermediateTable.DifferentialPrivacy": { + "AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorRTMPConfiguration": { "additionalProperties": false, "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.DifferentialPrivacyColumn" - }, - "type": "array" + "AudioChannels": { + "type": "string" + }, + "AudioSampleRate": { + "type": "string" + }, + "Url": { + "type": "string" } }, "required": [ - "Columns" + "Url" ], "type": "object" }, - "AWS::CleanRooms::IntermediateTable.DifferentialPrivacyColumn": { + "AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSinkConfiguration": { "additionalProperties": false, "properties": { - "Name": { + "RTMPConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorRTMPConfiguration" + }, + "SinkType": { "type": "string" } }, "required": [ - "Name" + "RTMPConfiguration", + "SinkType" ], "type": "object" }, - "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRule": { + "AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSourceConfiguration": { "additionalProperties": false, "properties": { - "Policy": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicy" + "ChimeSdkMeetingLiveConnectorConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.ChimeSdkMeetingLiveConnectorConfiguration" }, - "Type": { + "SourceType": { "type": "string" } }, "required": [ - "Policy", - "Type" + "ChimeSdkMeetingLiveConnectorConfiguration", + "SourceType" ], "type": "object" }, - "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRuleCustom": { + "AWS::Chime::MediaLiveConnectorPipeline.PresenterOnlyConfiguration": { "additionalProperties": false, "properties": { - "AdditionalAnalyses": { + "PresenterPosition": { "type": "string" - }, - "AllowedAnalyses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedAnalysisProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedResultReceivers": { + } + }, + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.SelectedVideoStreams": { + "additionalProperties": false, + "properties": { + "AttendeeIds": { "items": { "type": "string" }, "type": "array" }, - "DifferentialPrivacy": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.DifferentialPrivacy" - }, - "DisallowedOutputColumns": { + "ExternalUserIds": { "items": { "type": "string" }, "type": "array" } }, - "required": [ - "AllowedAnalyses" - ], - "type": "object" - }, - "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicy": { - "additionalProperties": false, - "properties": { - "V1": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicyV1" - } - }, - "required": [ - "V1" - ], "type": "object" }, - "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicyV1": { + "AWS::Chime::MediaLiveConnectorPipeline.SourceConfiguration": { "additionalProperties": false, "properties": { - "Custom": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRuleCustom" + "SelectedVideoStreams": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.SelectedVideoStreams" } }, - "required": [ - "Custom" - ], "type": "object" }, - "AWS::CleanRooms::IntermediateTable.PopulationAnalysisConfiguration": { + "AWS::Chime::MediaLiveConnectorPipeline.VerticalLayoutConfiguration": { "additionalProperties": false, "properties": { - "SqlParameters": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.PopulationAnalysisSqlParameters" + "TileAspectRatio": { + "type": "string" + }, + "TileCount": { + "type": "number" + }, + "TileOrder": { + "type": "string" + }, + "TilePosition": { + "type": "string" } }, "type": "object" }, - "AWS::CleanRooms::IntermediateTable.PopulationAnalysisSqlParameters": { + "AWS::Chime::MediaLiveConnectorPipeline.VideoAttribute": { "additionalProperties": false, "properties": { - "AnalysisTemplateArn": { + "BorderColor": { "type": "string" }, - "QueryString": { + "BorderThickness": { + "type": "number" + }, + "CornerRadius": { + "type": "number" + }, + "HighlightColor": { "type": "string" } }, "type": "object" }, - "AWS::CleanRooms::Membership": { + "AWS::Chime::MediaPipelineKinesisVideoStreamPool": { "additionalProperties": false, "properties": { "Condition": { @@ -64816,57 +65760,28 @@ "Properties": { "additionalProperties": false, "properties": { - "CollaborationIdentifier": { - "markdownDescription": "The unique ID for the associated collaboration.", - "title": "CollaborationIdentifier", - "type": "string" - }, - "DefaultJobResultConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedJobResultConfiguration", - "markdownDescription": "The default job result configuration for the membership.", - "title": "DefaultJobResultConfiguration" - }, - "DefaultResultConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedQueryResultConfiguration", - "markdownDescription": "The default protected query result configuration as specified by the member who can receive results.", - "title": "DefaultResultConfiguration" - }, - "IsMetricsEnabled": { - "type": "boolean" - }, - "JobLogStatus": { - "markdownDescription": "An indicator as to whether job logging has been enabled or disabled for the collaboration.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", - "title": "JobLogStatus", + "PoolName": { "type": "string" }, - "PaymentConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipPaymentConfiguration", - "markdownDescription": "The payment responsibilities accepted by the collaboration member.", - "title": "PaymentConfiguration" - }, - "QueryLogStatus": { - "markdownDescription": "An indicator as to whether query logging has been enabled or disabled for the membership.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", - "title": "QueryLogStatus", - "type": "string" + "StreamConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaPipelineKinesisVideoStreamPool.StreamConfiguration" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Chime::MediaPipelineKinesisVideoStreamPool.TagsItems" }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "CollaborationIdentifier", - "QueryLogStatus" + "PoolName", + "StreamConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRooms::Membership" + "AWS::Chime::MediaPipelineKinesisVideoStreamPool" ], "type": "string" }, @@ -64885,238 +65800,159 @@ ], "type": "object" }, - "AWS::CleanRooms::Membership.MembershipJobComputePaymentConfig": { - "additionalProperties": false, - "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration member has accepted to pay for job compute costs ( `TRUE` ) or has not accepted to pay for query and job compute costs ( `FALSE` ).\n\nThere is only one member who pays for queries and jobs.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for query and job compute costs.\n- If you set the value to `TRUE` but you are not responsible to pay for query and job compute costs.", - "title": "IsResponsible", - "type": "boolean" - } - }, - "required": [ - "IsResponsible" - ], - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipMLPaymentConfig": { + "AWS::Chime::MediaPipelineKinesisVideoStreamPool.StreamConfiguration": { "additionalProperties": false, "properties": { - "ModelInference": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipModelInferencePaymentConfig", - "markdownDescription": "The payment responsibilities accepted by the member for model inference.", - "title": "ModelInference" - }, - "ModelTraining": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipModelTrainingPaymentConfig", - "markdownDescription": "The payment responsibilities accepted by the member for model training.", - "title": "ModelTraining" + "DataRetentionInHours": { + "type": "number" }, - "SyntheticDataGeneration": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipSyntheticDataGenerationPaymentConfig", - "markdownDescription": "The payment configuration for synthetic data generation for this machine learning membership.", - "title": "SyntheticDataGeneration" - } - }, - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipModelInferencePaymentConfig": { - "additionalProperties": false, - "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration member has accepted to pay for model inference costs ( `TRUE` ) or has not accepted to pay for model inference costs ( `FALSE` ).\n\nIf the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for model inference costs.\n- If you set the value to `TRUE` but you are not responsible to pay for model inference costs.", - "title": "IsResponsible", - "type": "boolean" + "Region": { + "type": "string" } }, "required": [ - "IsResponsible" + "Region" ], "type": "object" }, - "AWS::CleanRooms::Membership.MembershipModelTrainingPaymentConfig": { + "AWS::Chime::MediaPipelineKinesisVideoStreamPool.TagsItems": { "additionalProperties": false, "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration member has accepted to pay for model training costs ( `TRUE` ) or has not accepted to pay for model training costs ( `FALSE` ).\n\nIf the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for model training costs.\n- If you set the value to `TRUE` but you are not responsible to pay for model training costs.", - "title": "IsResponsible", - "type": "boolean" + "Key": { + "type": "string" + }, + "Value": { + "type": "string" } }, "required": [ - "IsResponsible" + "Key", + "Value" ], "type": "object" }, - "AWS::CleanRooms::Membership.MembershipPaymentConfiguration": { + "AWS::Chime::MediaStreamPipeline": { "additionalProperties": false, "properties": { - "JobCompute": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipJobComputePaymentConfig", - "markdownDescription": "The payment responsibilities accepted by the collaboration member for job compute costs.", - "title": "JobCompute" + "Condition": { + "type": "string" }, - "MachineLearning": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipMLPaymentConfig", - "markdownDescription": "The payment responsibilities accepted by the collaboration member for machine learning costs.", - "title": "MachineLearning" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "QueryCompute": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipQueryComputePaymentConfig", - "markdownDescription": "The payment responsibilities accepted by the collaboration member for query compute costs.", - "title": "QueryCompute" - } - }, - "required": [ - "QueryCompute" - ], - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipProtectedJobOutputConfiguration": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.ProtectedJobS3OutputConfigurationInput", - "markdownDescription": "Contains the configuration to write the job results to S3.", - "title": "S3" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipProtectedJobResultConfiguration": { - "additionalProperties": false, - "properties": { - "OutputConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedJobOutputConfiguration", - "markdownDescription": "The output configuration for a protected job result.", - "title": "OutputConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RoleArn": { - "markdownDescription": "The unique ARN for an IAM role that is used by AWS Clean Rooms to write protected job results to the result location, given by the member who can receive results.", - "title": "RoleArn", + "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" - } - }, - "required": [ - "OutputConfiguration", - "RoleArn" - ], - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipProtectedQueryOutputConfiguration": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.ProtectedQueryS3OutputConfiguration", - "markdownDescription": "Required configuration for a protected query with an `s3` output type.", - "title": "S3" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipProtectedQueryResultConfiguration": { - "additionalProperties": false, - "properties": { - "OutputConfiguration": { - "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedQueryOutputConfiguration", - "markdownDescription": "Configuration for protected query results.", - "title": "OutputConfiguration" }, - "RoleArn": { - "markdownDescription": "The unique ARN for an IAM role that is used by AWS Clean Rooms to write protected query results to the result location, given by the member who can receive results.", - "title": "RoleArn", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "OutputConfiguration" - ], - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipQueryComputePaymentConfig": { - "additionalProperties": false, - "properties": { - "IsResponsible": { - "markdownDescription": "Indicates whether the collaboration member has accepted to pay for query compute costs ( `TRUE` ) or has not accepted to pay for query compute costs ( `FALSE` ).\n\nIf the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for query compute costs.\n- If you set the value to `TRUE` but you are not responsible to pay for query compute costs.", - "title": "IsResponsible", - "type": "boolean" - } - }, - "required": [ - "IsResponsible" - ], - "type": "object" - }, - "AWS::CleanRooms::Membership.MembershipSyntheticDataGenerationPaymentConfig": { - "additionalProperties": false, - "properties": { - "IsResponsible": { - "markdownDescription": "Indicates if this membership is responsible for paying for synthetic data generation.", - "title": "IsResponsible", - "type": "boolean" - } - }, - "required": [ - "IsResponsible" + "Type", + "Properties" ], "type": "object" }, - "AWS::CleanRooms::Membership.ProtectedJobS3OutputConfigurationInput": { + "AWS::Chime::MediaStreamPipeline.MediaStreamSink": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The S3 bucket for job output.", - "title": "Bucket", + "MediaStreamType": { "type": "string" }, - "KeyPrefix": { - "markdownDescription": "The S3 prefix to unload the protected job results.", - "title": "KeyPrefix", + "ReservedStreamCapacity": { + "type": "number" + }, + "SinkArn": { + "type": "string" + }, + "SinkType": { "type": "string" } }, "required": [ - "Bucket" + "MediaStreamType", + "ReservedStreamCapacity", + "SinkArn", + "SinkType" ], "type": "object" }, - "AWS::CleanRooms::Membership.ProtectedQueryS3OutputConfiguration": { + "AWS::Chime::MediaStreamPipeline.MediaStreamSource": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The S3 bucket to unload the protected query results.", - "title": "Bucket", - "type": "string" - }, - "KeyPrefix": { - "markdownDescription": "The S3 prefix to unload the protected query results.", - "title": "KeyPrefix", + "SourceArn": { "type": "string" }, - "ResultFormat": { - "markdownDescription": "Intended file format of the result.", - "title": "ResultFormat", + "SourceType": { "type": "string" - }, - "SingleFileOutput": { - "markdownDescription": "Indicates whether files should be output as a single file ( `TRUE` ) or output as multiple files ( `FALSE` ). This parameter is only supported for analyses with the Spark analytics engine.", - "title": "SingleFileOutput", - "type": "boolean" } }, "required": [ - "Bucket", - "ResultFormat" + "SourceArn", + "SourceType" ], "type": "object" }, - "AWS::CleanRooms::PrivacyBudgetTemplate": { + "AWS::Chime::SipMediaApplication": { "additionalProperties": false, "properties": { "Condition": { @@ -65151,46 +65987,35 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoRefresh": { - "markdownDescription": "How often the privacy budget refreshes.\n\n> If you plan to regularly bring new data into the collaboration, use `CALENDAR_MONTH` to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.", - "title": "AutoRefresh", - "type": "string" - }, - "MembershipIdentifier": { - "markdownDescription": "The identifier for a membership resource.", - "title": "MembershipIdentifier", + "AwsRegion": { "type": "string" }, - "Parameters": { - "$ref": "#/definitions/AWS::CleanRooms::PrivacyBudgetTemplate.Parameters", - "markdownDescription": "Specifies the epsilon and noise parameters for the privacy budget template.", - "title": "Parameters" + "Endpoints": { + "items": { + "$ref": "#/definitions/AWS::Chime::SipMediaApplication.SipMediaApplicationEndpoint" + }, + "type": "array" }, - "PrivacyBudgetType": { - "markdownDescription": "Specifies the type of the privacy budget template.", - "title": "PrivacyBudgetType", + "Name": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "AutoRefresh", - "MembershipIdentifier", - "Parameters", - "PrivacyBudgetType" + "AwsRegion", + "Endpoints", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRooms::PrivacyBudgetTemplate" + "AWS::Chime::SipMediaApplication" ], "type": "string" }, @@ -65209,61 +66034,19 @@ ], "type": "object" }, - "AWS::CleanRooms::PrivacyBudgetTemplate.BudgetParameter": { + "AWS::Chime::SipMediaApplication.SipMediaApplicationEndpoint": { "additionalProperties": false, "properties": { - "AutoRefresh": { - "markdownDescription": "Whether this individual budget parameter automatically refreshes when the budget period resets.", - "title": "AutoRefresh", - "type": "string" - }, - "Budget": { - "markdownDescription": "The budget allocation amount for this specific parameter.", - "title": "Budget", - "type": "number" - }, - "Type": { - "markdownDescription": "The type of budget parameter being configured.", - "title": "Type", + "LambdaArn": { "type": "string" } }, "required": [ - "Budget", - "Type" + "LambdaArn" ], "type": "object" }, - "AWS::CleanRooms::PrivacyBudgetTemplate.Parameters": { - "additionalProperties": false, - "properties": { - "BudgetParameters": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::PrivacyBudgetTemplate.BudgetParameter" - }, - "markdownDescription": "", - "title": "BudgetParameters", - "type": "array" - }, - "Epsilon": { - "markdownDescription": "The epsilon value that you want to use.", - "title": "Epsilon", - "type": "number" - }, - "ResourceArn": { - "markdownDescription": "", - "title": "ResourceArn", - "type": "string" - }, - "UsersNoisePerQuery": { - "markdownDescription": "Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted.", - "title": "UsersNoisePerQuery", - "type": "number" - } - }, - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithm": { + "AWS::Chime::VoiceConnector": { "additionalProperties": false, "properties": { "Condition": { @@ -65298,40 +66081,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InferenceContainerConfig": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.InferenceContainerConfig" - }, - "KmsKeyArn": { + "AwsRegion": { "type": "string" }, "Name": { "type": "string" }, - "RoleArn": { + "NetworkType": { "type": "string" }, + "RequireEncryption": { + "type": "boolean" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TrainingContainerConfig": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.ContainerConfig" } }, "required": [ "Name", - "RoleArn" + "RequireEncryption" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRoomsML::ConfiguredModelAlgorithm" + "AWS::Chime::VoiceConnector" ], "type": "string" }, @@ -65350,65 +66127,7 @@ ], "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": { + "AWS::CleanRooms::AnalysisTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -65443,38 +66162,79 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfiguredModelAlgorithmArn": { - "type": "string" + "AnalysisParameters": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisParameter" + }, + "markdownDescription": "The parameters of the analysis template.", + "title": "AnalysisParameters", + "type": "array" }, "Description": { + "markdownDescription": "The description of the analysis template.", + "title": "Description", + "type": "string" + }, + "ErrorMessageConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.ErrorMessageConfiguration", + "markdownDescription": "The configuration that specifies the level of detail in error messages returned by analyses using this template. When set to `DETAILED` , error messages include more information to help troubleshoot issues with PySpark jobs. Detailed error messages may expose underlying data, including sensitive information. Recommended for faster troubleshooting in development and testing environments.", + "title": "ErrorMessageConfiguration" + }, + "Format": { + "markdownDescription": "The format of the analysis template.", + "title": "Format", "type": "string" }, "MembershipIdentifier": { + "markdownDescription": "The identifier for a membership resource.", + "title": "MembershipIdentifier", "type": "string" }, "Name": { + "markdownDescription": "The name of the analysis template.", + "title": "Name", "type": "string" }, - "PrivacyConfiguration": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration" + "Schema": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisSchema", + "markdownDescription": "The entire schema object.", + "title": "Schema" + }, + "Source": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisSource", + "markdownDescription": "The source of the analysis template.", + "title": "Source" + }, + "SourceMetadata": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisSourceMetadata", + "markdownDescription": "The source metadata for the analysis template.", + "title": "SourceMetadata" + }, + "SyntheticDataParameters": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.SyntheticDataParameters", + "markdownDescription": "The parameters used to generate synthetic data for this analysis template.", + "title": "SyntheticDataParameters" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", + "title": "Tags", "type": "array" } }, "required": [ - "ConfiguredModelAlgorithmArn", + "Format", "MembershipIdentifier", - "Name" + "Name", + "Source" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation" + "AWS::CleanRooms::AnalysisTemplate" ], "type": "string" }, @@ -65493,203 +66253,271 @@ ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig": { + "AWS::CleanRooms::AnalysisTemplate.AnalysisParameter": { "additionalProperties": false, "properties": { - "CustomDataIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" + "DefaultValue": { + "markdownDescription": "Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor.", + "title": "DefaultValue", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen.", + "title": "Name", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of parameter.", + "title": "Type", + "type": "string" } }, "required": [ - "CustomDataIdentifiers" + "Name", + "Type" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration": { + "AWS::CleanRooms::AnalysisTemplate.AnalysisSchema": { "additionalProperties": false, "properties": { - "CustomEntityConfig": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig" - }, - "EntitiesToRedact": { + "ReferencedTables": { "items": { "type": "string" }, + "markdownDescription": "The tables referenced in the analysis schema.", + "title": "ReferencedTables", "type": "array" } }, "required": [ - "EntitiesToRedact" + "ReferencedTables" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy": { + "AWS::CleanRooms::AnalysisTemplate.AnalysisSource": { "additionalProperties": false, "properties": { - "AllowedAccountIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FilterPattern": { - "type": "string" - }, - "LogRedactionConfiguration": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration" + "Artifacts": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifacts", + "markdownDescription": "The artifacts of the analysis source.", + "title": "Artifacts" }, - "LogType": { + "Text": { + "markdownDescription": "The query text.", + "title": "Text", "type": "string" } }, - "required": [ - "AllowedAccountIds" - ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.MetricsConfigurationPolicy": { + "AWS::CleanRooms::AnalysisTemplate.AnalysisSourceMetadata": { "additionalProperties": false, "properties": { - "NoiseLevel": { - "type": "string" + "Artifacts": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifactMetadata", + "markdownDescription": "The artifacts of the analysis source metadata.", + "title": "Artifacts" } }, "required": [ - "NoiseLevel" + "Artifacts" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration": { + "AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifact": { "additionalProperties": false, "properties": { - "Policies": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfigurationPolicies" + "Location": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.S3Location", + "markdownDescription": "The artifact location.", + "title": "Location" } }, "required": [ - "Policies" + "Location" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfigurationPolicies": { + "AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifactMetadata": { "additionalProperties": false, "properties": { - "TrainedModelExports": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsConfigurationPolicy" - }, - "TrainedModelInferenceJobs": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceJobsConfigurationPolicy" + "AdditionalArtifactHashes": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.Hash" + }, + "markdownDescription": "Additional artifact hashes for the analysis template.", + "title": "AdditionalArtifactHashes", + "type": "array" }, - "TrainedModels": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelsConfigurationPolicy" + "EntryPointHash": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.Hash", + "markdownDescription": "The hash of the entry point for the analysis template artifact metadata.", + "title": "EntryPointHash" } }, + "required": [ + "EntryPointHash" + ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelArtifactMaxSize": { + "AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifacts": { "additionalProperties": false, "properties": { - "Unit": { - "type": "string" + "AdditionalArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifact" + }, + "markdownDescription": "Additional artifacts for the analysis template.", + "title": "AdditionalArtifacts", + "type": "array" }, - "Value": { - "type": "number" + "EntryPoint": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.AnalysisTemplateArtifact", + "markdownDescription": "The entry point for the analysis template artifacts.", + "title": "EntryPoint" + }, + "RoleArn": { + "markdownDescription": "The role ARN for the analysis template artifacts.", + "title": "RoleArn", + "type": "string" } }, "required": [ - "Unit", - "Value" + "EntryPoint", + "RoleArn" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsConfigurationPolicy": { + "AWS::CleanRooms::AnalysisTemplate.ColumnClassificationDetails": { "additionalProperties": false, "properties": { - "FilesToExport": { + "ColumnMapping": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.SyntheticDataColumnProperties" }, + "markdownDescription": "A mapping that defines the classification of data columns for synthetic data generation and specifies how each column should be handled during the privacy-preserving data synthesis process.", + "title": "ColumnMapping", "type": "array" - }, - "MaxSize": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsMaxSize" } }, "required": [ - "FilesToExport", - "MaxSize" + "ColumnMapping" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsMaxSize": { + "AWS::CleanRooms::AnalysisTemplate.ErrorMessageConfiguration": { "additionalProperties": false, "properties": { - "Unit": { + "Type": { + "markdownDescription": "The level of detail for error messages returned by the PySpark job. When set to DETAILED, error messages include more information to help troubleshoot issues with your PySpark job.\n\nBecause this setting may expose sensitive data, it is recommended for development and testing environments.", + "title": "Type", "type": "string" - }, - "Value": { - "type": "number" } }, "required": [ - "Unit", - "Value" + "Type" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceJobsConfigurationPolicy": { + "AWS::CleanRooms::AnalysisTemplate.Hash": { "additionalProperties": false, "properties": { - "ContainerLogs": { - "items": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy" - }, - "type": "array" + "Sha256": { + "markdownDescription": "The SHA-256 hash value.", + "title": "Sha256", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CleanRooms::AnalysisTemplate.MLSyntheticDataParameters": { + "additionalProperties": false, + "properties": { + "ColumnClassification": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.ColumnClassificationDetails", + "markdownDescription": "Classification details for data columns that specify how each column should be treated during synthetic data generation.", + "title": "ColumnClassification" }, - "MaxOutputSize": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceMaxOutputSize" + "Epsilon": { + "markdownDescription": "The epsilon value for differential privacy when generating synthetic data. Lower values provide stronger privacy guarantees but may reduce data utility.", + "title": "Epsilon", + "type": "number" + }, + "MaxMembershipInferenceAttackScore": { + "markdownDescription": "The maximum acceptable score for membership inference attack vulnerability. Synthetic data generation fails if the score for the resulting data exceeds this threshold.", + "title": "MaxMembershipInferenceAttackScore", + "type": "number" } }, + "required": [ + "ColumnClassification", + "Epsilon", + "MaxMembershipInferenceAttackScore" + ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceMaxOutputSize": { + "AWS::CleanRooms::AnalysisTemplate.S3Location": { "additionalProperties": false, "properties": { - "Unit": { + "Bucket": { + "markdownDescription": "The bucket name.", + "title": "Bucket", "type": "string" }, - "Value": { - "type": "number" + "Key": { + "markdownDescription": "The object key.", + "title": "Key", + "type": "string" } }, "required": [ - "Unit", - "Value" + "Bucket", + "Key" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelsConfigurationPolicy": { + "AWS::CleanRooms::AnalysisTemplate.SyntheticDataColumnProperties": { "additionalProperties": false, "properties": { - "ContainerLogs": { - "items": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy" - }, - "type": "array" + "ColumnName": { + "markdownDescription": "The name of the data column as it appears in the dataset.", + "title": "ColumnName", + "type": "string" }, - "ContainerMetrics": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.MetricsConfigurationPolicy" + "ColumnType": { + "markdownDescription": "The data type of the column, which determines how the synthetic data generation algorithm processes and synthesizes values for this column.", + "title": "ColumnType", + "type": "string" }, - "MaxArtifactSize": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelArtifactMaxSize" + "IsPredictiveValue": { + "markdownDescription": "Indicates if this column contains predictive values that should be treated as target variables in machine learning models. This affects how the synthetic data generation preserves statistical relationships.", + "title": "IsPredictiveValue", + "type": "boolean" } }, + "required": [ + "ColumnName", + "ColumnType", + "IsPredictiveValue" + ], "type": "object" }, - "AWS::CleanRoomsML::TrainingDataset": { + "AWS::CleanRooms::AnalysisTemplate.SyntheticDataParameters": { + "additionalProperties": false, + "properties": { + "MlSyntheticDataParameters": { + "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate.MLSyntheticDataParameters", + "markdownDescription": "The machine learning-specific parameters for synthetic data generation.", + "title": "MlSyntheticDataParameters" + } + }, + "required": [ + "MlSyntheticDataParameters" + ], + "type": "object" + }, + "AWS::CleanRooms::Collaboration": { "additionalProperties": false, "properties": { "Condition": { @@ -65724,48 +66552,106 @@ "Properties": { "additionalProperties": false, "properties": { + "AllowedResultRegions": { + "items": { + "type": "string" + }, + "markdownDescription": "The AWS Regions where collaboration query results can be stored. Returns the list of Region identifiers that were specified when the collaboration was created. This list is used to enforce regional storage policies and compliance requirements.", + "title": "AllowedResultRegions", + "type": "array" + }, + "AnalyticsEngine": { + "markdownDescription": "The analytics engine for the collaboration.\n\n> After July 16, 2025, the `CLEAN_ROOMS_SQL` parameter will no longer be available.", + "title": "AnalyticsEngine", + "type": "string" + }, + "AutoApprovedChangeTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The types of change requests that are automatically approved for this collaboration.", + "title": "AutoApprovedChangeTypes", + "type": "array" + }, + "CreatorDisplayName": { + "markdownDescription": "A display name of the collaboration creator.", + "title": "CreatorDisplayName", + "type": "string" + }, + "CreatorMLMemberAbilities": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MLMemberAbilities", + "markdownDescription": "The ML member abilities for a collaboration member.", + "title": "CreatorMLMemberAbilities" + }, + "CreatorMemberAbilities": { + "items": { + "type": "string" + }, + "markdownDescription": "The abilities granted to the collaboration creator.\n\n*Allowed values* `CAN_QUERY` | `CAN_RECEIVE_RESULTS` | `CAN_RUN_JOB`", + "title": "CreatorMemberAbilities", + "type": "array" + }, + "CreatorPaymentConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.PaymentConfiguration", + "markdownDescription": "An object representing the collaboration member's payment responsibilities set by the collaboration creator.", + "title": "CreatorPaymentConfiguration" + }, + "DataEncryptionMetadata": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.DataEncryptionMetadata", + "markdownDescription": "The settings for client-side encryption for cryptographic computing.", + "title": "DataEncryptionMetadata" + }, "Description": { - "markdownDescription": "The description of the training dataset.", + "markdownDescription": "A description of the collaboration provided by the collaboration owner.", "title": "Description", "type": "string" }, + "IsMetricsEnabled": { + "type": "boolean" + }, + "JobLogStatus": { + "markdownDescription": "An indicator as to whether job logging has been enabled or disabled for the collaboration.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", + "title": "JobLogStatus", + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MemberSpecification" + }, + "markdownDescription": "A list of initial members, not including the creator. This list is immutable.", + "title": "Members", + "type": "array" + }, "Name": { - "markdownDescription": "The name of the training dataset.", + "markdownDescription": "A human-readable identifier provided by the collaboration owner. Display names are not unique.", "title": "Name", "type": "string" }, - "RoleArn": { - "markdownDescription": "The ARN of the IAM role that Clean Rooms ML can assume to read the data referred to in the `dataSource` field of each dataset.\n\nPassing a role across accounts is not allowed. If you pass a role that isn't in your account, you get an `AccessDeniedException` error.", - "title": "RoleArn", + "QueryLogStatus": { + "markdownDescription": "An indicator as to whether query logging has been enabled or disabled for the collaboration.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", + "title": "QueryLogStatus", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The optional metadata that you apply to the resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.\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 keys as it is reserved. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has `aws` as its prefix but the key does not, then Clean Rooms ML considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of `aws` do not count against your tags per resource limit.", + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", "title": "Tags", "type": "array" - }, - "TrainingData": { - "items": { - "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.Dataset" - }, - "markdownDescription": "An array of information that lists the Dataset objects, which specifies the dataset type and details on its location and schema. You must provide a role that has read access to these tables.", - "title": "TrainingData", - "type": "array" } }, "required": [ + "CreatorDisplayName", + "Description", "Name", - "RoleArn", - "TrainingData" + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRoomsML::TrainingDataset" + "AWS::CleanRooms::Collaboration" ], "type": "string" }, @@ -65784,251 +66670,209 @@ ], "type": "object" }, - "AWS::CleanRoomsML::TrainingDataset.ColumnSchema": { + "AWS::CleanRooms::Collaboration.DataEncryptionMetadata": { "additionalProperties": false, "properties": { - "ColumnName": { - "markdownDescription": "The name of a column.", - "title": "ColumnName", - "type": "string" + "AllowCleartext": { + "markdownDescription": "Indicates whether encrypted tables can contain cleartext data ( `TRUE` ) or are to cryptographically process every column ( `FALSE` ).", + "title": "AllowCleartext", + "type": "boolean" }, - "ColumnTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The data type of column.", - "title": "ColumnTypes", - "type": "array" + "AllowDuplicates": { + "markdownDescription": "Indicates whether Fingerprint columns can contain duplicate entries ( `TRUE` ) or are to contain only non-repeated values ( `FALSE` ).", + "title": "AllowDuplicates", + "type": "boolean" + }, + "AllowJoinsOnColumnsWithDifferentNames": { + "markdownDescription": "Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name ( `TRUE` ) or can only be joined on Fingerprint columns of the same name ( `FALSE` ).", + "title": "AllowJoinsOnColumnsWithDifferentNames", + "type": "boolean" + }, + "PreserveNulls": { + "markdownDescription": "Indicates whether NULL values are to be copied as NULL to encrypted tables ( `TRUE` ) or cryptographically processed ( `FALSE` ).", + "title": "PreserveNulls", + "type": "boolean" } }, "required": [ - "ColumnName", - "ColumnTypes" + "AllowCleartext", + "AllowDuplicates", + "AllowJoinsOnColumnsWithDifferentNames", + "PreserveNulls" ], "type": "object" }, - "AWS::CleanRoomsML::TrainingDataset.DataSource": { + "AWS::CleanRooms::Collaboration.JobComputePaymentConfig": { "additionalProperties": false, "properties": { - "GlueDataSource": { - "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.GlueDataSource", - "markdownDescription": "A GlueDataSource object that defines the catalog ID, database name, and table name for the training data.", - "title": "GlueDataSource" + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for query and job compute costs ( `TRUE` ) or has not configured the collaboration member to pay for query and job compute costs ( `FALSE` ).\n\nExactly one member can be configured to pay for query and job compute costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nAn error is returned if the collaboration creator sets a `FALSE` value for the member who can run queries and jobs.", + "title": "IsResponsible", + "type": "boolean" } }, "required": [ - "GlueDataSource" + "IsResponsible" ], "type": "object" }, - "AWS::CleanRoomsML::TrainingDataset.Dataset": { + "AWS::CleanRooms::Collaboration.MLMemberAbilities": { "additionalProperties": false, "properties": { - "InputConfig": { - "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.DatasetInputConfig", - "markdownDescription": "A DatasetInputConfig object that defines the data source and schema mapping.", - "title": "InputConfig" - }, - "Type": { - "markdownDescription": "What type of information is found in the dataset.", - "title": "Type", - "type": "string" + "CustomMLMemberAbilities": { + "items": { + "type": "string" + }, + "markdownDescription": "The custom ML member abilities for a collaboration member.", + "title": "CustomMLMemberAbilities", + "type": "array" } }, "required": [ - "InputConfig", - "Type" + "CustomMLMemberAbilities" ], "type": "object" }, - "AWS::CleanRoomsML::TrainingDataset.DatasetInputConfig": { + "AWS::CleanRooms::Collaboration.MLPaymentConfig": { "additionalProperties": false, "properties": { - "DataSource": { - "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.DataSource", - "markdownDescription": "A DataSource object that specifies the Glue data source for the training data.", - "title": "DataSource" + "ModelInference": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.ModelInferencePaymentConfig", + "markdownDescription": "The payment responsibilities accepted by the member for model inference.", + "title": "ModelInference" }, - "Schema": { + "ModelTraining": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.ModelTrainingPaymentConfig", + "markdownDescription": "The payment responsibilities accepted by the member for model training.", + "title": "ModelTraining" + }, + "SyntheticDataGeneration": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.SyntheticDataGenerationPaymentConfig", + "markdownDescription": "The payment configuration for machine learning synthetic data generation.", + "title": "SyntheticDataGeneration" + } + }, + "type": "object" + }, + "AWS::CleanRooms::Collaboration.MemberSpecification": { + "additionalProperties": false, + "properties": { + "AccountId": { + "markdownDescription": "The identifier used to reference members of the collaboration. Currently only supports AWS account ID.", + "title": "AccountId", + "type": "string" + }, + "DisplayName": { + "markdownDescription": "The member's display name.", + "title": "DisplayName", + "type": "string" + }, + "MLMemberAbilities": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MLMemberAbilities", + "markdownDescription": "The ML abilities granted to the collaboration member.", + "title": "MLMemberAbilities" + }, + "MemberAbilities": { "items": { - "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.ColumnSchema" + "type": "string" }, - "markdownDescription": "The schema information for the training data.", - "title": "Schema", + "markdownDescription": "The abilities granted to the collaboration member.\n\n*Allowed Values* : `CAN_QUERY` | `CAN_RECEIVE_RESULTS`", + "title": "MemberAbilities", "type": "array" + }, + "PaymentConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.PaymentConfiguration", + "markdownDescription": "The collaboration member's payment responsibilities set by the collaboration creator.\n\nIf the collaboration creator hasn't speci\ufb01ed anyone as the member paying for query compute costs, then the member who can query is the default payer.", + "title": "PaymentConfiguration" } }, "required": [ - "DataSource", - "Schema" + "AccountId", + "DisplayName" ], "type": "object" }, - "AWS::CleanRoomsML::TrainingDataset.GlueDataSource": { + "AWS::CleanRooms::Collaboration.ModelInferencePaymentConfig": { "additionalProperties": false, "properties": { - "CatalogId": { - "markdownDescription": "The Glue catalog that contains the training data.", - "title": "CatalogId", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The Glue database that contains the training data.", - "title": "DatabaseName", - "type": "string" - }, - "TableName": { - "markdownDescription": "The Glue table that contains the training data.", - "title": "TableName", - "type": "string" + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for model inference costs ( `TRUE` ) or has not configured the collaboration member to pay for model inference costs ( `FALSE` ).\n\nExactly one member can be configured to pay for model inference costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nIf the collaboration creator hasn't specified anyone as the member paying for model inference costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.", + "title": "IsResponsible", + "type": "boolean" } }, "required": [ - "DatabaseName", - "TableName" + "IsResponsible" ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2": { + "AWS::CleanRooms::Collaboration.ModelTrainingPaymentConfig": { "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": { - "AutomaticStopTimeMinutes": { - "markdownDescription": "The number of minutes until the running instance is shut down after the environment was last used.", - "title": "AutomaticStopTimeMinutes", - "type": "number" - }, - "ConnectionType": { - "markdownDescription": "The connection type used for connecting to an Amazon EC2 environment. Valid values are `CONNECT_SSH` (default) and `CONNECT_SSM` (connected through AWS Systems Manager ).", - "title": "ConnectionType", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the environment to create.", - "title": "Description", - "type": "string" - }, - "ImageId": { - "markdownDescription": "The identifier for the Amazon Machine Image (AMI) that's used to create the EC2 instance. To choose an AMI for the instance, you must specify a valid AMI alias or a valid AWS Systems Manager path.\n\nFrom December 04, 2023, you will be required to include the `ImageId` parameter for the `CreateEnvironmentEC2` action. This change will be reflected across all direct methods of communicating with the API, such as AWS SDK, AWS CLI and AWS CloudFormation. This change will only affect direct API consumers, and not AWS Cloud9 console users.\n\nSince Ubuntu 18.04 has ended standard support as of May 31, 2023, we recommend you choose Ubuntu 22.04.\n\n*AMI aliases*\n\n- Amazon Linux 2: `amazonlinux-2-x86_64`\n- Amazon Linux 2023 (recommended): `amazonlinux-2023-x86_64`\n- Ubuntu 18.04: `ubuntu-18.04-x86_64`\n- Ubuntu 22.04: `ubuntu-22.04-x86_64`\n\n*SSM paths*\n\n- Amazon Linux 2: `resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64`\n- Amazon Linux 2023 (recommended): `resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2023-x86_64`\n- Ubuntu 18.04: `resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64`\n- Ubuntu 22.04: `resolve:ssm:/aws/service/cloud9/amis/ubuntu-22.04-x86_64`", - "title": "ImageId", - "type": "string" - }, - "InstanceType": { - "markdownDescription": "The type of instance to connect to the environment (for example, `t2.micro` ).", - "title": "InstanceType", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the environment.", - "title": "Name", - "type": "string" - }, - "OwnerArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the environment owner. This ARN can be the ARN of any AWS Identity and Access Management principal. If this value is not specified, the ARN defaults to this environment's creator.", - "title": "OwnerArn", - "type": "string" - }, - "Repositories": { - "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" - }, - "markdownDescription": "Any AWS CodeCommit source code repositories to be cloned into the development environment.", - "title": "Repositories", - "type": "array" - }, - "SubnetId": { - "markdownDescription": "The ID of the subnet in Amazon Virtual Private Cloud (Amazon VPC) that AWS Cloud9 will use to communicate with the Amazon Elastic Compute Cloud (Amazon EC2) instance.", - "title": "SubnetId", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs that will be associated with the new AWS Cloud9 development environment.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "ImageId", - "InstanceType" - ], - "type": "object" + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for model training costs ( `TRUE` ) or has not configured the collaboration member to pay for model training costs ( `FALSE` ).\n\nExactly one member can be configured to pay for model training costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nIf the collaboration creator hasn't specified anyone as the member paying for model training costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.", + "title": "IsResponsible", + "type": "boolean" + } + }, + "required": [ + "IsResponsible" + ], + "type": "object" + }, + "AWS::CleanRooms::Collaboration.PaymentConfiguration": { + "additionalProperties": false, + "properties": { + "JobCompute": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.JobComputePaymentConfig", + "markdownDescription": "The compute configuration for the job.", + "title": "JobCompute" }, - "Type": { - "enum": [ - "AWS::Cloud9::EnvironmentEC2" - ], - "type": "string" + "MachineLearning": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MLPaymentConfig", + "markdownDescription": "An object representing the collaboration member's machine learning payment responsibilities set by the collaboration creator.", + "title": "MachineLearning" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "QueryCompute": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.QueryComputePaymentConfig", + "markdownDescription": "The collaboration member's payment responsibilities set by the collaboration creator for query compute costs.", + "title": "QueryCompute" } }, "required": [ - "Type", - "Properties" + "QueryCompute" ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2.Repository": { + "AWS::CleanRooms::Collaboration.QueryComputePaymentConfig": { "additionalProperties": false, "properties": { - "PathComponent": { - "markdownDescription": "The path within the development environment's default file system location to clone the AWS CodeCommit repository into. For example, `/REPOSITORY_NAME` would clone the repository into the `/home/USER_NAME/environment/REPOSITORY_NAME` directory in the environment.", - "title": "PathComponent", - "type": "string" - }, - "RepositoryUrl": { - "markdownDescription": "The clone URL of the AWS CodeCommit repository to be cloned. For example, for an AWS CodeCommit repository this might be `https://git-codecommit.us-east-2.amazonaws.com/v1/repos/REPOSITORY_NAME` .", - "title": "RepositoryUrl", - "type": "string" + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration creator has configured the collaboration member to pay for query compute costs ( `TRUE` ) or has not configured the collaboration member to pay for query compute costs ( `FALSE` ).\n\nExactly one member can be configured to pay for query compute costs. An error is returned if the collaboration creator sets a `TRUE` value for more than one member in the collaboration.\n\nIf the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a `FALSE` value for the member who can query.", + "title": "IsResponsible", + "type": "boolean" } }, "required": [ - "PathComponent", - "RepositoryUrl" + "IsResponsible" ], "type": "object" }, - "AWS::CloudFormation::ChangeSet": { + "AWS::CleanRooms::Collaboration.SyntheticDataGenerationPaymentConfig": { + "additionalProperties": false, + "properties": { + "IsResponsible": { + "markdownDescription": "Indicates who is responsible for paying for synthetic data generation.", + "title": "IsResponsible", + "type": "boolean" + } + }, + "required": [ + "IsResponsible" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable": { "additionalProperties": false, "properties": { "Condition": { @@ -66063,70 +66907,70 @@ "Properties": { "additionalProperties": false, "properties": { - "Capabilities": { + "AllowedColumns": { "items": { "type": "string" }, + "markdownDescription": "The columns within the underlying AWS Glue table that can be used within collaborations.", + "title": "AllowedColumns", "type": "array" }, - "ChangeSetName": { - "type": "string" - }, - "ChangeSetType": { + "AnalysisMethod": { + "markdownDescription": "The analysis method for the configured table.\n\n`DIRECT_QUERY` allows SQL queries to be run directly on this table.\n\n`DIRECT_JOB` allows PySpark jobs to be run directly on this table.\n\n`MULTIPLE` allows both SQL queries and PySpark jobs to be run directly on this table.", + "title": "AnalysisMethod", "type": "string" }, - "DeploymentMode": { - "type": "string" + "AnalysisRules": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRule" + }, + "markdownDescription": "The analysis rule that was created for the configured table.", + "title": "AnalysisRules", + "type": "array" }, "Description": { + "markdownDescription": "A description for the configured table.", + "title": "Description", "type": "string" }, - "ImportExistingResources": { - "type": "boolean" - }, - "IncludeNestedStacks": { - "type": "boolean" + "Name": { + "markdownDescription": "A name for the configured table.", + "title": "Name", + "type": "string" }, - "NotificationARNs": { + "SelectedAnalysisMethods": { "items": { "type": "string" }, + "markdownDescription": "The selected analysis methods for the configured table.", + "title": "SelectedAnalysisMethods", "type": "array" }, - "OnStackFailure": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "StackName": { - "type": "string" + "TableReference": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.TableReference", + "markdownDescription": "The table that this configured table represents.", + "title": "TableReference" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::CloudFormation::ChangeSet.TagsItems" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", + "title": "Tags", "type": "array" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateURL": { - "type": "string" - }, - "UsePreviousTemplate": { - "type": "boolean" } }, "required": [ - "ChangeSetName", - "StackName" + "AllowedColumns", + "AnalysisMethod", + "Name", + "TableReference" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ChangeSet" + "AWS::CleanRooms::ConfiguredTable" ], "type": "string" }, @@ -66145,461 +66989,541 @@ ], "type": "object" }, - "AWS::CloudFormation::ChangeSet.TagsItems": { + "AWS::CleanRooms::ConfiguredTable.AggregateColumn": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" + "ColumnNames": { + "items": { + "type": "string" + }, + "markdownDescription": "Column names in configured table of aggregate columns.", + "title": "ColumnNames", + "type": "array" }, - "Value": { + "Function": { + "markdownDescription": "Aggregation function that can be applied to aggregate column in query.", + "title": "Function", "type": "string" } }, "required": [ - "Key", - "Value" + "ColumnNames", + "Function" ], "type": "object" }, - "AWS::CloudFormation::CustomResource": { + "AWS::CleanRooms::ConfiguredTable.AggregationConstraint": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ColumnName": { + "markdownDescription": "Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output.", + "title": "ColumnName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ServiceTimeout": { - "markdownDescription": "The maximum time, in seconds, that can elapse before a custom resource operation times out.\n\nThe value must be an integer from 1 to 3600. The default value is 3600 seconds (1 hour).", - "title": "ServiceTimeout", - "type": "number" - }, - "ServiceToken": { - "markdownDescription": "The service token, such as an Amazon topic ARN or Lambda function ARN. The service token must be from the same Region as the stack.\n\nUpdates aren't supported.", - "title": "ServiceToken", - "type": "string" - } - }, - "required": [ - "ServiceToken" - ], - "type": "object" + "Minimum": { + "markdownDescription": "The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output.", + "title": "Minimum", + "type": "number" }, "Type": { - "enum": [ - "AWS::CloudFormation::CustomResource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "markdownDescription": "The type of aggregation the constraint allows. The only valid value is currently `COUNT_DISTINCT`.", + "title": "Type", "type": "string" } }, "required": [ - "Type", - "Properties" + "ColumnName", + "Minimum", + "Type" ], "type": "object" }, - "AWS::CloudFormation::GeneratedTemplate": { + "AWS::CleanRooms::ConfiguredTable.AggregationThreshold": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AllowedAggregateExpressionType": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "IdentityColumns": { + "items": { + "type": "string" + }, + "type": "array" }, - "Metadata": { - "type": "object" + "MinimumIdentityCount": { + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "GeneratedTemplateName": { - "type": "string" - }, - "TemplateConfiguration": { - "$ref": "#/definitions/AWS::CloudFormation::GeneratedTemplate.TemplateConfiguration" - } + "OutputColumnThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.OutputColumnThreshold" }, - "required": [ - "GeneratedTemplateName" - ], - "type": "object" + "type": "array" }, "Type": { - "enum": [ - "AWS::CloudFormation::GeneratedTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], "type": "string" } }, "required": [ - "Type", - "Properties" + "AllowedAggregateExpressionType", + "IdentityColumns", + "MinimumIdentityCount", + "Type" ], "type": "object" }, - "AWS::CloudFormation::GeneratedTemplate.TemplateConfiguration": { + "AWS::CleanRooms::ConfiguredTable.AnalysisRule": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "type": "string" + "Policy": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy", + "markdownDescription": "A policy that describes the associated data usage limitations.", + "title": "Policy" }, - "UpdateReplacePolicy": { + "Type": { + "markdownDescription": "The type of analysis rule.", + "title": "Type", "type": "string" } }, + "required": [ + "Policy", + "Type" + ], "type": "object" }, - "AWS::CloudFormation::GeneratedTemplate.TemplateProgress": { + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation": { "additionalProperties": false, "properties": { - "ResourcesFailed": { - "type": "number" + "AdditionalAnalyses": { + "markdownDescription": "An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.\n\nThe `additionalAnalyses` parameter is currently supported for the list analysis rule ( `AnalysisRuleList` ) and the custom analysis rule ( `AnalysisRuleCustom` ).", + "title": "AdditionalAnalyses", + "type": "string" }, - "ResourcesPending": { - "type": "number" + "AggregateColumns": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregateColumn" + }, + "markdownDescription": "The columns that query runners are allowed to use in aggregation queries.", + "title": "AggregateColumns", + "type": "array" }, - "ResourcesProcessing": { - "type": "number" + "AllowedJoinOperators": { + "items": { + "type": "string" + }, + "markdownDescription": "Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is `AND` .", + "title": "AllowedJoinOperators", + "type": "array" }, - "ResourcesSucceeded": { - "type": "number" + "DimensionColumns": { + "items": { + "type": "string" + }, + "markdownDescription": "The columns that query runners are allowed to select, group by, or filter by.", + "title": "DimensionColumns", + "type": "array" + }, + "JoinColumns": { + "items": { + "type": "string" + }, + "markdownDescription": "Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly.", + "title": "JoinColumns", + "type": "array" + }, + "JoinRequired": { + "markdownDescription": "Control that requires member who runs query to do a join with their configured table and/or other configured table in query.", + "title": "JoinRequired", + "type": "string" + }, + "OutputConstraints": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationConstraint" + }, + "markdownDescription": "Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned.", + "title": "OutputConstraints", + "type": "array" + }, + "ScalarFunctions": { + "items": { + "type": "string" + }, + "markdownDescription": "Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics.", + "title": "ScalarFunctions", + "type": "array" } }, + "required": [ + "AggregateColumns", + "DimensionColumns", + "JoinColumns", + "OutputConstraints", + "ScalarFunctions" + ], "type": "object" }, - "AWS::CloudFormation::GuardHook": { + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleCustom": { "additionalProperties": false, "properties": { - "Condition": { + "AdditionalAnalyses": { + "markdownDescription": "An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.", + "title": "AdditionalAnalyses", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "AggregationThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationThreshold" + }, + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "AllowedAnalyses": { + "items": { + "type": "string" + }, + "markdownDescription": "The ARN of the analysis templates that are allowed by the custom analysis rule.", + "title": "AllowedAnalyses", + "type": "array" }, - "Metadata": { - "type": "object" + "AllowedAnalysisProviders": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the AWS accounts that are allowed to query by the custom analysis rule. Required when `allowedAnalyses` is `ANY_QUERY` .", + "title": "AllowedAnalysisProviders", + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Alias": { - "markdownDescription": "The type name alias for the Hook. This alias must be unique per account and Region.\n\nThe alias must be in the form `Name1::Name2::Name3` and must not begin with `AWS` . For example, `Private::Guard::MyTestHook` .", - "title": "Alias", - "type": "string" - }, - "ExecutionRole": { - "markdownDescription": "The IAM role that the Hook assumes to retrieve your Guard rules from S3 and optionally write a detailed Guard output report back.", - "title": "ExecutionRole", - "type": "string" - }, - "FailureMode": { - "markdownDescription": "Specifies how the Hook responds when rules fail their evaluation.\n\n- `FAIL` : Prevents the action from proceeding. This is helpful for enforcing strict compliance or security policies.\n- `WARN` : Issues warnings to users but allows actions to continue. This is useful for non-critical validations or informational checks.", - "title": "FailureMode", - "type": "string" - }, - "HookStatus": { - "markdownDescription": "Specifies if the Hook is `ENABLED` or `DISABLED` .", - "title": "HookStatus", - "type": "string" - }, - "LogBucket": { - "markdownDescription": "Specifies the name of an S3 bucket to store the Guard output report. This report contains the results of your Guard rule validations.", - "title": "LogBucket", - "type": "string" - }, - "Options": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.Options", - "markdownDescription": "Specifies the S3 location of your input parameters.", - "title": "Options" - }, - "RuleLocation": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.S3Location", - "markdownDescription": "Specifies the S3 location of your Guard rules.", - "title": "RuleLocation" - }, - "StackFilters": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.StackFilters", - "markdownDescription": "Specifies the stack level filters for the Hook.\n\nExample stack level filter in JSON:\n\n`\"StackFilters\": {\"FilteringCriteria\": \"ALL\", \"StackNames\": {\"Exclude\": [ \"stack-1\", \"stack-2\"]}}` \n\nExample stack level filter in YAML:\n\n`StackFilters: FilteringCriteria: ALL StackNames: Exclude: - stack-1 - stack-2`", - "title": "StackFilters" - }, - "TargetFilters": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.TargetFilters", - "markdownDescription": "Specifies the target filters for the Hook.\n\nExample target filter in JSON:\n\n`\"TargetFilters\": {\"Actions\": [ \"CREATE\", \"UPDATE\", \"DELETE\" ]}` \n\nExample target filter in YAML:\n\n`TargetFilters: Actions: - CREATE - UPDATE - DELETE`", - "title": "TargetFilters" - }, - "TargetOperations": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the list of operations the Hook is run against. For more information, see [Hook targets](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-concepts.html#hook-terms-hook-target) in the *CloudFormation Hooks User Guide* .\n\nValid values: `STACK` | `RESOURCE` | `CHANGE_SET` | `CLOUD_CONTROL`", - "title": "TargetOperations", - "type": "array" - } - }, - "required": [ - "Alias", - "ExecutionRole", - "FailureMode", - "HookStatus", - "RuleLocation", - "TargetOperations" - ], - "type": "object" + "ComparisonControls": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ComparisonControls" }, - "Type": { - "enum": [ - "AWS::CloudFormation::GuardHook" - ], - "type": "string" + "DifferentialPrivacy": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.DifferentialPrivacy", + "markdownDescription": "The differential privacy configuration.", + "title": "DifferentialPrivacy" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DisallowedOutputColumns": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of columns that aren't allowed to be shown in the query output.", + "title": "DisallowedOutputColumns", + "type": "array" + } + }, + "required": [ + "AllowedAnalyses" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleList": { + "additionalProperties": false, + "properties": { + "AdditionalAnalyses": { + "markdownDescription": "An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.", + "title": "AdditionalAnalyses", "type": "string" + }, + "AllowedJoinOperators": { + "items": { + "type": "string" + }, + "markdownDescription": "The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is `AND` .", + "title": "AllowedJoinOperators", + "type": "array" + }, + "JoinColumns": { + "items": { + "type": "string" + }, + "markdownDescription": "Columns that can be used to join a configured table with the table of the member who can query and other members' configured tables.", + "title": "JoinColumns", + "type": "array" + }, + "ListColumns": { + "items": { + "type": "string" + }, + "markdownDescription": "Columns that can be listed in the output.", + "title": "ListColumns", + "type": "array" } }, "required": [ - "Type", - "Properties" + "JoinColumns", + "ListColumns" ], "type": "object" }, - "AWS::CloudFormation::GuardHook.HookTarget": { + "AWS::CleanRooms::ConfiguredTable.AthenaTableReference": { "additionalProperties": false, "properties": { - "Action": { + "CatalogName": { "type": "string" }, - "InvocationPoint": { + "DatabaseName": { + "markdownDescription": "The database name.", + "title": "DatabaseName", "type": "string" }, - "TargetName": { + "OutputLocation": { + "markdownDescription": "The output location for the Athena table.", + "title": "OutputLocation", + "type": "string" + }, + "Region": { + "markdownDescription": "The AWS Region where the Athena table is located. This parameter is required to uniquely identify and access tables across different Regions.", + "title": "Region", + "type": "string" + }, + "TableName": { + "markdownDescription": "The table reference.", + "title": "TableName", + "type": "string" + }, + "WorkGroup": { + "markdownDescription": "The workgroup of the Athena table reference.", + "title": "WorkGroup", "type": "string" } }, "required": [ - "Action", - "InvocationPoint", - "TargetName" + "DatabaseName", + "TableName", + "WorkGroup" ], "type": "object" }, - "AWS::CloudFormation::GuardHook.Options": { + "AWS::CleanRooms::ConfiguredTable.ComparisonControls": { "additionalProperties": false, "properties": { - "InputParams": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.S3Location", - "markdownDescription": "Specifies the S3 location where your input parameters are located.", - "title": "InputParams" + "AllowedColumnComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedLiteralComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "AllowedColumnComparisonColumns", + "AllowedLiteralComparisonColumns" + ], "type": "object" }, - "AWS::CloudFormation::GuardHook.S3Location": { + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy": { "additionalProperties": false, "properties": { - "Uri": { - "markdownDescription": "Specifies the S3 path to the file that contains your Guard rules or input parameters (in the form `s3:///` ).\n\nFor Guard rules, the object stored in S3 must have one of the following file extensions: `.guard` , `.zip` , or `.tar.gz` .\n\nFor input parameters, the object stored in S3 must have one of the following file extensions: `.yaml` , `.json` , `.zip` , or `.tar.gz` .", - "title": "Uri", - "type": "string" + "V1": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1", + "markdownDescription": "Controls on the query specifications that can be run on a configured table.", + "title": "V1" + } + }, + "required": [ + "V1" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation", + "markdownDescription": "Analysis rule type that enables only aggregation queries on a configured table.", + "title": "Aggregation" }, - "VersionId": { - "markdownDescription": "For S3 buckets with versioning enabled, specifies the unique ID of the S3 object version to download your Guard rules or input parameters from.\n\nThe Guard Hook downloads files from S3 every time the Hook is invoked. To prevent accidental changes or deletions, we recommend using a version when configuring your Guard Hook.", - "title": "VersionId", + "Custom": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleCustom", + "markdownDescription": "Analysis rule type that enables custom SQL queries on a configured table.", + "title": "Custom" + }, + "List": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleList", + "markdownDescription": "Analysis rule type that enables only list queries on a configured table.", + "title": "List" + } + }, + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.DifferentialPrivacy": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.DifferentialPrivacyColumn" + }, + "markdownDescription": "The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.", + "title": "Columns", + "type": "array" + } + }, + "required": [ + "Columns" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.DifferentialPrivacyColumn": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.", + "title": "Name", "type": "string" } }, "required": [ - "Uri" + "Name" ], "type": "object" }, - "AWS::CloudFormation::GuardHook.StackFilters": { + "AWS::CleanRooms::ConfiguredTable.GlueTableReference": { "additionalProperties": false, "properties": { - "FilteringCriteria": { - "markdownDescription": "The filtering criteria.\n\n- All stack names and stack roles ( `All` ): The Hook will only be invoked when all specified filters match.\n- Any stack names and stack roles ( `Any` ): The Hook will be invoked if at least one of the specified filters match.", - "title": "FilteringCriteria", + "DatabaseName": { + "markdownDescription": "The name of the database the AWS Glue table belongs to.", + "title": "DatabaseName", "type": "string" }, - "StackNames": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.StackNames", - "markdownDescription": "Includes or excludes specific stacks from Hook invocations.", - "title": "StackNames" + "Region": { + "markdownDescription": "The AWS Region where the AWS Glue table is located. This parameter is required to uniquely identify and access tables across different Regions.", + "title": "Region", + "type": "string" }, - "StackRoles": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.StackRoles", - "markdownDescription": "Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.", - "title": "StackRoles" + "TableName": { + "markdownDescription": "The name of the AWS Glue table.", + "title": "TableName", + "type": "string" } }, "required": [ - "FilteringCriteria" + "DatabaseName", + "TableName" ], "type": "object" }, - "AWS::CloudFormation::GuardHook.StackNames": { + "AWS::CleanRooms::ConfiguredTable.OutputColumnThreshold": { "additionalProperties": false, "properties": { - "Exclude": { - "items": { - "type": "string" - }, - "markdownDescription": "The stack names to exclude. All stacks except those listed here will invoke the Hook.", - "title": "Exclude", - "type": "array" + "MinimumIdentityCount": { + "type": "number" }, - "Include": { - "items": { - "type": "string" - }, - "markdownDescription": "The stack names to include. Only the stacks specified in this list will invoke the Hook.", - "title": "Include", - "type": "array" + "OutputColumnName": { + "type": "string" } }, + "required": [ + "MinimumIdentityCount", + "OutputColumnName" + ], "type": "object" }, - "AWS::CloudFormation::GuardHook.StackRoles": { + "AWS::CleanRooms::ConfiguredTable.SnowflakeTableReference": { "additionalProperties": false, "properties": { - "Exclude": { - "items": { - "type": "string" - }, - "markdownDescription": "The IAM role ARNs for stacks you want to exclude. The Hook will be invoked on all stacks except those initiated by the specified roles.", - "title": "Exclude", - "type": "array" + "AccountIdentifier": { + "markdownDescription": "The account identifier for the Snowflake table reference.", + "title": "AccountIdentifier", + "type": "string" }, - "Include": { - "items": { - "type": "string" - }, - "markdownDescription": "The IAM role ARNs to target stacks associated with these roles. Only stack operations initiated by these roles will invoke the Hook.", - "title": "Include", - "type": "array" + "DatabaseName": { + "markdownDescription": "The name of the database the Snowflake table belongs to.", + "title": "DatabaseName", + "type": "string" + }, + "SchemaName": { + "markdownDescription": "The schema name of the Snowflake table reference.", + "title": "SchemaName", + "type": "string" + }, + "SecretArn": { + "markdownDescription": "The secret ARN of the Snowflake table reference.", + "title": "SecretArn", + "type": "string" + }, + "TableName": { + "markdownDescription": "The name of the Snowflake table.", + "title": "TableName", + "type": "string" + }, + "TableSchema": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchema", + "markdownDescription": "The schema of the Snowflake table.", + "title": "TableSchema" } }, + "required": [ + "AccountIdentifier", + "DatabaseName", + "SchemaName", + "SecretArn", + "TableName", + "TableSchema" + ], "type": "object" }, - "AWS::CloudFormation::GuardHook.TargetFilters": { + "AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchema": { "additionalProperties": false, "properties": { - "Actions": { + "V1": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchemaV1" }, + "markdownDescription": "The schema of a Snowflake table.", + "title": "V1", "type": "array" + } + }, + "required": [ + "V1" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchemaV1": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "markdownDescription": "The column name.", + "title": "ColumnName", + "type": "string" }, - "InvocationPoints": { - "items": { - "type": "string" - }, - "type": "array" + "ColumnType": { + "markdownDescription": "The column's data type. Supported data types: `ARRAY` , `BIGINT` , `BOOLEAN` , `CHAR` , `DATE` , `DECIMAL` , `DOUBLE` , `DOUBLE PRECISION` , `FLOAT` , `FLOAT4` , `INT` , `INTEGER` , `MAP` , `NUMERIC` , `NUMBER` , `REAL` , `SMALLINT` , `STRING` , `TIMESTAMP` , `TIMESTAMP_LTZ` , `TIMESTAMP_NTZ` , `DATETIME` , `TINYINT` , `VARCHAR` , `TEXT` , `CHARACTER` .", + "title": "ColumnType", + "type": "string" + } + }, + "required": [ + "ColumnName", + "ColumnType" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.TableReference": { + "additionalProperties": false, + "properties": { + "Athena": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AthenaTableReference", + "markdownDescription": "If present, a reference to the Athena table referred to by this table reference.", + "title": "Athena" }, - "TargetNames": { - "items": { - "type": "string" - }, - "type": "array" + "Glue": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.GlueTableReference", + "markdownDescription": "If present, a reference to the AWS Glue table referred to by this table reference.", + "title": "Glue" }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::GuardHook.HookTarget" - }, - "type": "array" + "Snowflake": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.SnowflakeTableReference", + "markdownDescription": "If present, a reference to the Snowflake table referred to by this table reference.", + "title": "Snowflake" } }, "type": "object" }, - "AWS::CloudFormation::HookDefaultVersion": { + "AWS::CleanRooms::ConfiguredTableAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -66634,27 +67558,59 @@ "Properties": { "additionalProperties": false, "properties": { - "TypeName": { - "markdownDescription": "The name of the Hook.\n\nYou must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", - "title": "TypeName", + "ConfiguredTableAssociationAnalysisRules": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRule" + }, + "markdownDescription": "An analysis rule for a configured table association. This analysis rule specifies how data from the table can be used within its associated collaboration. In the console, the `ConfiguredTableAssociationAnalysisRule` is referred to as the *collaboration analysis rule* .", + "title": "ConfiguredTableAssociationAnalysisRules", + "type": "array" + }, + "ConfiguredTableIdentifier": { + "markdownDescription": "A unique identifier for the configured table to be associated to. Currently accepts a configured table ID.", + "title": "ConfiguredTableIdentifier", "type": "string" }, - "TypeVersionArn": { - "markdownDescription": "The version ID of the type configuration.\n\nYou must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", - "title": "TypeVersionArn", + "Description": { + "markdownDescription": "A description of the configured table association.", + "title": "Description", "type": "string" }, - "VersionId": { - "markdownDescription": "The version ID of the type specified.\n\nYou must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", - "title": "VersionId", + "MembershipIdentifier": { + "markdownDescription": "The unique ID for the membership this configured table association belongs to.", + "title": "MembershipIdentifier", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the configured table association, in lowercase. The table is identified by this name when running protected queries against the underlying data.", + "title": "Name", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The service will assume this role to access catalog metadata and query the table.", + "title": "RoleArn", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", + "title": "Tags", + "type": "array" } }, + "required": [ + "ConfiguredTableIdentifier", + "MembershipIdentifier", + "Name", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookDefaultVersion" + "AWS::CleanRooms::ConfiguredTableAssociation" ], "type": "string" }, @@ -66668,11 +67624,133 @@ } }, "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRule": { + "additionalProperties": false, + "properties": { + "Policy": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicy", + "markdownDescription": "The policy of the configured table association analysis rule.", + "title": "Policy" + }, + "Type": { + "markdownDescription": "The type of the configured table association analysis rule.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Policy", "Type" ], "type": "object" }, - "AWS::CloudFormation::HookTypeConfig": { + "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregation": { + "additionalProperties": false, + "properties": { + "AllowedAdditionalAnalyses": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.\n\nThe `allowedAdditionalAnalyses` parameter is currently supported for the list analysis rule ( `AnalysisRuleList` ) and the custom analysis rule ( `AnalysisRuleCustom` ).", + "title": "AllowedAdditionalAnalyses", + "type": "array" + }, + "AllowedResultReceivers": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of collaboration members who are allowed to receive results of queries run with this configured table.", + "title": "AllowedResultReceivers", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustom": { + "additionalProperties": false, + "properties": { + "AllowedAdditionalAnalyses": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.", + "title": "AllowedAdditionalAnalyses", + "type": "array" + }, + "AllowedResultReceivers": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of collaboration members who are allowed to receive results of queries run with this configured table.", + "title": "AllowedResultReceivers", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleList": { + "additionalProperties": false, + "properties": { + "AllowedAdditionalAnalyses": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.", + "title": "AllowedAdditionalAnalyses", + "type": "array" + }, + "AllowedResultReceivers": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of collaboration members who are allowed to receive results of queries run with this configured table.", + "title": "AllowedResultReceivers", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicy": { + "additionalProperties": false, + "properties": { + "V1": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1", + "markdownDescription": "The policy for the configured table association analysis rule.", + "title": "V1" + } + }, + "required": [ + "V1" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregation", + "markdownDescription": "Analysis rule type that enables only aggregation queries on a configured table.", + "title": "Aggregation" + }, + "Custom": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustom", + "markdownDescription": "Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy.", + "title": "Custom" + }, + "List": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleList", + "markdownDescription": "Analysis rule type that enables only list queries on a configured table.", + "title": "List" + } + }, + "type": "object" + }, + "AWS::CleanRooms::IdMappingTable": { "additionalProperties": false, "properties": { "Condition": { @@ -66707,35 +67785,50 @@ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { - "markdownDescription": "Specifies the activated Hook type configuration, in this AWS account and AWS Region .\n\nYou must specify either `TypeName` and `Configuration` or `TypeArn` and `Configuration` .", - "title": "Configuration", + "Description": { + "markdownDescription": "The description of the ID mapping table.", + "title": "Description", "type": "string" }, - "ConfigurationAlias": { - "markdownDescription": "An alias by which to refer to this configuration data.\n\nDefaults to `default` alias. Hook types currently support default configuration alias.", - "title": "ConfigurationAlias", + "InputReferenceConfig": { + "$ref": "#/definitions/AWS::CleanRooms::IdMappingTable.IdMappingTableInputReferenceConfig", + "markdownDescription": "The input reference configuration for the ID mapping table.", + "title": "InputReferenceConfig" + }, + "KmsKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key.", + "title": "KmsKeyArn", "type": "string" }, - "TypeArn": { - "markdownDescription": "The Amazon Resource Number (ARN) for the Hook to set `Configuration` for.\n\nYou must specify either `TypeName` and `Configuration` or `TypeArn` and `Configuration` .", - "title": "TypeArn", + "MembershipIdentifier": { + "markdownDescription": "The unique identifier of the membership resource for the ID mapping table.", + "title": "MembershipIdentifier", "type": "string" }, - "TypeName": { - "markdownDescription": "The unique name for your Hook. Specifies a three-part namespace for your Hook, with a recommended pattern of `Organization::Service::Hook` .\n\nYou must specify either `TypeName` and `Configuration` or `TypeArn` and `Configuration` .", - "title": "TypeName", + "Name": { + "markdownDescription": "The name of the ID mapping table.", + "title": "Name", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", + "title": "Tags", + "type": "array" } }, "required": [ - "Configuration" + "InputReferenceConfig", + "MembershipIdentifier", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookTypeConfig" + "AWS::CleanRooms::IdMappingTable" ], "type": "string" }, @@ -66754,7 +67847,64 @@ ], "type": "object" }, - "AWS::CloudFormation::HookVersion": { + "AWS::CleanRooms::IdMappingTable.IdMappingTableInputReferenceConfig": { + "additionalProperties": false, + "properties": { + "InputReferenceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the referenced resource in AWS Entity Resolution . Valid values are ID mapping workflow ARNs.", + "title": "InputReferenceArn", + "type": "string" + }, + "ManageResourcePolicies": { + "markdownDescription": "When `TRUE` , AWS Clean Rooms manages permissions for the ID mapping table resource.\n\nWhen `FALSE` , the resource owner manages permissions for the ID mapping table resource.", + "title": "ManageResourcePolicies", + "type": "boolean" + } + }, + "required": [ + "InputReferenceArn", + "ManageResourcePolicies" + ], + "type": "object" + }, + "AWS::CleanRooms::IdMappingTable.IdMappingTableInputReferenceProperties": { + "additionalProperties": false, + "properties": { + "IdMappingTableInputSource": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::IdMappingTable.IdMappingTableInputSource" + }, + "markdownDescription": "The input source of the ID mapping table.", + "title": "IdMappingTableInputSource", + "type": "array" + } + }, + "required": [ + "IdMappingTableInputSource" + ], + "type": "object" + }, + "AWS::CleanRooms::IdMappingTable.IdMappingTableInputSource": { + "additionalProperties": false, + "properties": { + "IdNamespaceAssociationId": { + "markdownDescription": "The unique identifier of the ID namespace association.", + "title": "IdNamespaceAssociationId", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of the input source of the ID mapping table.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "IdNamespaceAssociationId", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::IdNamespaceAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -66789,36 +67939,50 @@ "Properties": { "additionalProperties": false, "properties": { - "ExecutionRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.", - "title": "ExecutionRoleArn", + "Description": { + "markdownDescription": "The description of the ID namespace association.", + "title": "Description", "type": "string" }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig", - "markdownDescription": "Contains logging configuration information for an extension.", - "title": "LoggingConfig" + "IdMappingConfig": { + "$ref": "#/definitions/AWS::CleanRooms::IdNamespaceAssociation.IdMappingConfig", + "markdownDescription": "The configuration settings for the ID mapping table.", + "title": "IdMappingConfig" }, - "SchemaHandlerPackage": { - "markdownDescription": "A URL to the Amazon S3 bucket for the Hook project package that contains the necessary files for the Hook you want to register.\n\nFor information on generating a schema handler package, see [Modeling custom CloudFormation Hooks](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-model.html) in the *CloudFormation Hooks User Guide* .\n\n> To register the Hook, you must have `s3:GetObject` permissions to access the S3 objects.", - "title": "SchemaHandlerPackage", + "InputReferenceConfig": { + "$ref": "#/definitions/AWS::CleanRooms::IdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfig", + "markdownDescription": "The input reference configuration for the ID namespace association.", + "title": "InputReferenceConfig" + }, + "MembershipIdentifier": { + "markdownDescription": "The unique identifier of the membership that contains the ID namespace association.", + "title": "MembershipIdentifier", "type": "string" }, - "TypeName": { - "markdownDescription": "The unique name for your Hook. Specifies a three-part namespace for your Hook, with a recommended pattern of `Organization::Service::Hook` .\n\n> The following organization namespaces are reserved and can't be used in your Hook type names:\n> \n> - `Alexa`\n> - `AMZN`\n> - `Amazon`\n> - `ASK`\n> - `AWS`\n> - `Custom`\n> - `Dev`", - "title": "TypeName", + "Name": { + "markdownDescription": "The name of this ID namespace association.", + "title": "Name", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", + "title": "Tags", + "type": "array" } }, "required": [ - "SchemaHandlerPackage", - "TypeName" + "InputReferenceConfig", + "MembershipIdentifier", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookVersion" + "AWS::CleanRooms::IdNamespaceAssociation" ], "type": "string" }, @@ -66837,23 +68001,60 @@ ], "type": "object" }, - "AWS::CloudFormation::HookVersion.LoggingConfig": { + "AWS::CleanRooms::IdNamespaceAssociation.IdMappingConfig": { "additionalProperties": false, "properties": { - "LogGroupName": { - "markdownDescription": "The Amazon CloudWatch Logs group to which CloudFormation sends error logging information when invoking the extension's handlers.", - "title": "LogGroupName", + "AllowUseAsDimensionColumn": { + "markdownDescription": "An indicator as to whether you can use your column as a dimension column in the ID mapping table ( `TRUE` ) or not ( `FALSE` ).\n\nDefault is `FALSE` .", + "title": "AllowUseAsDimensionColumn", + "type": "boolean" + } + }, + "required": [ + "AllowUseAsDimensionColumn" + ], + "type": "object" + }, + "AWS::CleanRooms::IdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfig": { + "additionalProperties": false, + "properties": { + "InputReferenceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own.", + "title": "InputReferenceArn", "type": "string" }, - "LogRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role that CloudFormation should assume when sending log entries to CloudWatch Logs.", - "title": "LogRoleArn", + "ManageResourcePolicies": { + "markdownDescription": "When `TRUE` , AWS Clean Rooms manages permissions for the ID namespace association resource.\n\nWhen `FALSE` , the resource owner manages permissions for the ID namespace association resource.", + "title": "ManageResourcePolicies", + "type": "boolean" + } + }, + "required": [ + "InputReferenceArn", + "ManageResourcePolicies" + ], + "type": "object" + }, + "AWS::CleanRooms::IdNamespaceAssociation.IdNamespaceAssociationInputReferenceProperties": { + "additionalProperties": false, + "properties": { + "IdMappingWorkflowsSupported": { + "items": { + "type": "object" + }, + "markdownDescription": "Defines how ID mapping workflows are supported for this ID namespace association.", + "title": "IdMappingWorkflowsSupported", + "type": "array" + }, + "IdNamespaceType": { + "markdownDescription": "The ID namespace type for this ID namespace association.", + "title": "IdNamespaceType", "type": "string" } }, "type": "object" }, - "AWS::CloudFormation::LambdaHook": { + "AWS::CleanRooms::IntermediateTable": { "additionalProperties": false, "properties": { "Condition": { @@ -66888,69 +68089,44 @@ "Properties": { "additionalProperties": false, "properties": { - "Alias": { - "markdownDescription": "The type name alias for the Hook. This alias must be unique per account and Region.\n\nThe alias must be in the form `Name1::Name2::Name3` and must not begin with `AWS` . For example, `Private::Lambda::MyTestHook` .", - "title": "Alias", - "type": "string" - }, - "AutoUpdate": { - "type": "boolean" + "AnalysisRules": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRule" + }, + "type": "array" }, - "ExecutionRole": { - "markdownDescription": "The IAM role that the Hook assumes to invoke your Lambda function.", - "title": "ExecutionRole", + "Description": { "type": "string" }, - "FailureMode": { - "markdownDescription": "Specifies how the Hook responds when the Lambda function invoked by the Hook returns a `FAILED` response.\n\n- `FAIL` : Prevents the action from proceeding. This is helpful for enforcing strict compliance or security policies.\n- `WARN` : Issues warnings to users but allows actions to continue. This is useful for non-critical validations or informational checks.", - "title": "FailureMode", + "KmsKeyArn": { "type": "string" }, - "HookStatus": { - "markdownDescription": "Specifies if the Hook is `ENABLED` or `DISABLED` .", - "title": "HookStatus", + "MembershipIdentifier": { "type": "string" }, - "LambdaFunction": { - "markdownDescription": "Specifies the Lambda function for the Hook. You can use:\n\n- The full Amazon Resource Name (ARN) without a suffix.\n- A qualified ARN with a version or alias suffix.", - "title": "LambdaFunction", + "Name": { "type": "string" }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.LoggingConfig" - }, - "StackFilters": { - "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.StackFilters", - "markdownDescription": "Specifies the stack level filters for the Hook.\n\nExample stack level filter in JSON:\n\n`\"StackFilters\": {\"FilteringCriteria\": \"ALL\", \"StackNames\": {\"Exclude\": [ \"stack-1\", \"stack-2\"]}}` \n\nExample stack level filter in YAML:\n\n`StackFilters: FilteringCriteria: ALL StackNames: Exclude: - stack-1 - stack-2`", - "title": "StackFilters" - }, - "TargetFilters": { - "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.TargetFilters", - "markdownDescription": "Specifies the target filters for the Hook.\n\nExample target filter in JSON:\n\n`\"TargetFilters\": {\"Actions\": [ \"CREATE\", \"UPDATE\", \"DELETE\" ]}` \n\nExample target filter in YAML:\n\n`TargetFilters: Actions: - CREATE - UPDATE - DELETE`", - "title": "TargetFilters" + "PopulationAnalysisConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.PopulationAnalysisConfiguration" }, - "TargetOperations": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies the list of operations the Hook is run against. For more information, see [Hook targets](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-concepts.html#hook-terms-hook-target) in the *CloudFormation Hooks User Guide* .\n\nValid values: `STACK` | `RESOURCE` | `CHANGE_SET` | `CLOUD_CONTROL`", - "title": "TargetOperations", "type": "array" } }, "required": [ - "Alias", - "ExecutionRole", - "FailureMode", - "HookStatus", - "LambdaFunction", - "TargetOperations" + "MembershipIdentifier", + "Name", + "PopulationAnalysisConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::LambdaHook" + "AWS::CleanRooms::IntermediateTable" ], "type": "string" }, @@ -66969,141 +68145,214 @@ ], "type": "object" }, - "AWS::CloudFormation::LambdaHook.HookTarget": { + "AWS::CleanRooms::IntermediateTable.AggregationThreshold": { "additionalProperties": false, "properties": { - "Action": { + "AllowedAggregateExpressionType": { "type": "string" }, - "InvocationPoint": { - "type": "string" + "IdentityColumns": { + "items": { + "type": "string" + }, + "type": "array" }, - "TargetName": { + "MinimumIdentityCount": { + "type": "number" + }, + "OutputColumnThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.OutputColumnThreshold" + }, + "type": "array" + }, + "Type": { "type": "string" } }, "required": [ - "Action", - "InvocationPoint", - "TargetName" + "AllowedAggregateExpressionType", + "IdentityColumns", + "MinimumIdentityCount", + "Type" ], "type": "object" }, - "AWS::CloudFormation::LambdaHook.LoggingConfig": { + "AWS::CleanRooms::IntermediateTable.ComparisonControls": { "additionalProperties": false, "properties": { - "LogGroupName": { - "type": "string" + "AllowedColumnComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" }, - "LogRoleArn": { - "type": "string" + "AllowedLiteralComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "LogGroupName", - "LogRoleArn" + "AllowedColumnComparisonColumns", + "AllowedLiteralComparisonColumns" ], "type": "object" }, - "AWS::CloudFormation::LambdaHook.StackFilters": { + "AWS::CleanRooms::IntermediateTable.DifferentialPrivacy": { "additionalProperties": false, "properties": { - "FilteringCriteria": { - "markdownDescription": "The filtering criteria.\n\n- All stack names and stack roles ( `All` ): The Hook will only be invoked when all specified filters match.\n- Any stack names and stack roles ( `Any` ): The Hook will be invoked if at least one of the specified filters match.", - "title": "FilteringCriteria", - "type": "string" - }, - "StackNames": { - "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.StackNames", - "markdownDescription": "Includes or excludes specific stacks from Hook invocations.", - "title": "StackNames" - }, - "StackRoles": { - "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.StackRoles", - "markdownDescription": "Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.", - "title": "StackRoles" + "Columns": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.DifferentialPrivacyColumn" + }, + "type": "array" } }, "required": [ - "FilteringCriteria" + "Columns" ], "type": "object" }, - "AWS::CloudFormation::LambdaHook.StackNames": { + "AWS::CleanRooms::IntermediateTable.DifferentialPrivacyColumn": { "additionalProperties": false, "properties": { - "Exclude": { - "items": { - "type": "string" - }, - "markdownDescription": "The stack names to exclude. All stacks except those listed here will invoke the Hook.", - "title": "Exclude", - "type": "array" - }, - "Include": { - "items": { - "type": "string" - }, - "markdownDescription": "The stack names to include. Only the stacks specified in this list will invoke the Hook.", - "title": "Include", - "type": "array" + "Name": { + "type": "string" } }, + "required": [ + "Name" + ], "type": "object" }, - "AWS::CloudFormation::LambdaHook.StackRoles": { + "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRule": { "additionalProperties": false, "properties": { - "Exclude": { - "items": { - "type": "string" - }, - "markdownDescription": "The IAM role ARNs for stacks you want to exclude. The Hook will be invoked on all stacks except those initiated by the specified roles.", - "title": "Exclude", - "type": "array" + "Policy": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicy" }, - "Include": { - "items": { - "type": "string" - }, - "markdownDescription": "The IAM role ARNs to target stacks associated with these roles. Only stack operations initiated by these roles will invoke the Hook.", - "title": "Include", - "type": "array" + "Type": { + "type": "string" } }, + "required": [ + "Policy", + "Type" + ], "type": "object" }, - "AWS::CloudFormation::LambdaHook.TargetFilters": { + "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRuleCustom": { "additionalProperties": false, "properties": { - "Actions": { + "AdditionalAnalyses": { + "type": "string" + }, + "AggregationThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.AggregationThreshold" + }, + "type": "array" + }, + "AllowedAnalyses": { "items": { "type": "string" }, "type": "array" }, - "InvocationPoints": { + "AllowedAnalysisProviders": { "items": { "type": "string" }, "type": "array" }, - "TargetNames": { + "AllowedResultReceivers": { "items": { "type": "string" }, "type": "array" }, - "Targets": { + "ComparisonControls": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.ComparisonControls" + }, + "DifferentialPrivacy": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.DifferentialPrivacy" + }, + "DisallowedOutputColumns": { "items": { - "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.HookTarget" + "type": "string" }, "type": "array" } }, + "required": [ + "AllowedAnalyses" + ], "type": "object" }, - "AWS::CloudFormation::Macro": { + "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicy": { + "additionalProperties": false, + "properties": { + "V1": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicyV1" + } + }, + "required": [ + "V1" + ], + "type": "object" + }, + "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicyV1": { + "additionalProperties": false, + "properties": { + "Custom": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRuleCustom" + } + }, + "required": [ + "Custom" + ], + "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": { + "SqlParameters": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.PopulationAnalysisSqlParameters" + } + }, + "type": "object" + }, + "AWS::CleanRooms::IntermediateTable.PopulationAnalysisSqlParameters": { + "additionalProperties": false, + "properties": { + "AnalysisTemplateArn": { + "type": "string" + }, + "QueryString": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CleanRooms::Membership": { "additionalProperties": false, "properties": { "Condition": { @@ -67138,41 +68387,57 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description of the macro.", - "title": "Description", + "CollaborationIdentifier": { + "markdownDescription": "The unique ID for the associated collaboration.", + "title": "CollaborationIdentifier", "type": "string" }, - "FunctionName": { - "markdownDescription": "The Amazon Resource Name (ARN) of the underlying Lambda function that you want CloudFormation to invoke when the macro is run.", - "title": "FunctionName", - "type": "string" + "DefaultJobResultConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedJobResultConfiguration", + "markdownDescription": "The default job result configuration for the membership.", + "title": "DefaultJobResultConfiguration" }, - "LogGroupName": { - "markdownDescription": "The CloudWatch Logs group to which CloudFormation sends error logging information when invoking the macro's underlying Lambda function.\n\nThis will be an existing CloudWatch Logs LogGroup. Neither CloudFormation or Lambda will create the group.", - "title": "LogGroupName", - "type": "string" + "DefaultResultConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedQueryResultConfiguration", + "markdownDescription": "The default protected query result configuration as specified by the member who can receive results.", + "title": "DefaultResultConfiguration" }, - "LogRoleARN": { - "markdownDescription": "The ARN of the role CloudFormation should assume when sending log entries to CloudWatch Logs .", - "title": "LogRoleARN", + "IsMetricsEnabled": { + "type": "boolean" + }, + "JobLogStatus": { + "markdownDescription": "An indicator as to whether job logging has been enabled or disabled for the collaboration.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", + "title": "JobLogStatus", "type": "string" }, - "Name": { - "markdownDescription": "The name of the macro. The name of the macro must be unique across all macros in the account.", - "title": "Name", + "PaymentConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipPaymentConfiguration", + "markdownDescription": "The payment responsibilities accepted by the collaboration member.", + "title": "PaymentConfiguration" + }, + "QueryLogStatus": { + "markdownDescription": "An indicator as to whether query logging has been enabled or disabled for the membership.\n\nWhen `ENABLED` , AWS Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is `DISABLED` .", + "title": "QueryLogStatus", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", + "title": "Tags", + "type": "array" } }, "required": [ - "FunctionName", - "Name" + "CollaborationIdentifier", + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Macro" + "AWS::CleanRooms::Membership" ], "type": "string" }, @@ -67191,153 +68456,238 @@ ], "type": "object" }, - "AWS::CloudFormation::ModuleDefaultVersion": { + "AWS::CleanRooms::Membership.MembershipJobComputePaymentConfig": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration member has accepted to pay for job compute costs ( `TRUE` ) or has not accepted to pay for query and job compute costs ( `FALSE` ).\n\nThere is only one member who pays for queries and jobs.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for query and job compute costs.\n- If you set the value to `TRUE` but you are not responsible to pay for query and job compute costs.", + "title": "IsResponsible", + "type": "boolean" + } + }, + "required": [ + "IsResponsible" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipMLPaymentConfig": { + "additionalProperties": false, + "properties": { + "ModelInference": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipModelInferencePaymentConfig", + "markdownDescription": "The payment responsibilities accepted by the member for model inference.", + "title": "ModelInference" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ModelTraining": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipModelTrainingPaymentConfig", + "markdownDescription": "The payment responsibilities accepted by the member for model training.", + "title": "ModelTraining" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "SyntheticDataGeneration": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipSyntheticDataGenerationPaymentConfig", + "markdownDescription": "The payment configuration for synthetic data generation for this machine learning membership.", + "title": "SyntheticDataGeneration" + } + }, + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipModelInferencePaymentConfig": { + "additionalProperties": false, + "properties": { + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration member has accepted to pay for model inference costs ( `TRUE` ) or has not accepted to pay for model inference costs ( `FALSE` ).\n\nIf the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for model inference costs.\n- If you set the value to `TRUE` but you are not responsible to pay for model inference costs.", + "title": "IsResponsible", + "type": "boolean" + } + }, + "required": [ + "IsResponsible" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipModelTrainingPaymentConfig": { + "additionalProperties": false, + "properties": { + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration member has accepted to pay for model training costs ( `TRUE` ) or has not accepted to pay for model training costs ( `FALSE` ).\n\nIf the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for model training costs.\n- If you set the value to `TRUE` but you are not responsible to pay for model training costs.", + "title": "IsResponsible", + "type": "boolean" + } + }, + "required": [ + "IsResponsible" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipPaymentConfiguration": { + "additionalProperties": false, + "properties": { + "JobCompute": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipJobComputePaymentConfig", + "markdownDescription": "The payment responsibilities accepted by the collaboration member for job compute costs.", + "title": "JobCompute" }, - "Metadata": { - "type": "object" + "MachineLearning": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipMLPaymentConfig", + "markdownDescription": "The payment responsibilities accepted by the collaboration member for machine learning costs.", + "title": "MachineLearning" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the module version to set as the default version.\n\nConditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .", - "title": "Arn", - "type": "string" - }, - "ModuleName": { - "markdownDescription": "The name of the module.\n\nConditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .", - "title": "ModuleName", - "type": "string" - }, - "VersionId": { - "markdownDescription": "The ID for the specific version of the module.\n\nConditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .", - "title": "VersionId", - "type": "string" - } - }, - "type": "object" + "QueryCompute": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipQueryComputePaymentConfig", + "markdownDescription": "The payment responsibilities accepted by the collaboration member for query compute costs.", + "title": "QueryCompute" + } + }, + "required": [ + "QueryCompute" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipProtectedJobOutputConfiguration": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.ProtectedJobS3OutputConfigurationInput", + "markdownDescription": "Contains the configuration to write the job results to S3.", + "title": "S3" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipProtectedJobResultConfiguration": { + "additionalProperties": false, + "properties": { + "OutputConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedJobOutputConfiguration", + "markdownDescription": "The output configuration for a protected job result.", + "title": "OutputConfiguration" }, - "Type": { - "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" - ], + "RoleArn": { + "markdownDescription": "The unique ARN for an IAM role that is used by AWS Clean Rooms to write protected job results to the result location, given by the member who can receive results.", + "title": "RoleArn", "type": "string" + } + }, + "required": [ + "OutputConfiguration", + "RoleArn" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipProtectedQueryOutputConfiguration": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.ProtectedQueryS3OutputConfiguration", + "markdownDescription": "Required configuration for a protected query with an `s3` output type.", + "title": "S3" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipProtectedQueryResultConfiguration": { + "additionalProperties": false, + "properties": { + "OutputConfiguration": { + "$ref": "#/definitions/AWS::CleanRooms::Membership.MembershipProtectedQueryOutputConfiguration", + "markdownDescription": "Configuration for protected query results.", + "title": "OutputConfiguration" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RoleArn": { + "markdownDescription": "The unique ARN for an IAM role that is used by AWS Clean Rooms to write protected query results to the result location, given by the member who can receive results.", + "title": "RoleArn", "type": "string" } }, "required": [ - "Type" + "OutputConfiguration" ], "type": "object" }, - "AWS::CloudFormation::ModuleVersion": { + "AWS::CleanRooms::Membership.MembershipQueryComputePaymentConfig": { "additionalProperties": false, "properties": { - "Condition": { + "IsResponsible": { + "markdownDescription": "Indicates whether the collaboration member has accepted to pay for query compute costs ( `TRUE` ) or has not accepted to pay for query compute costs ( `FALSE` ).\n\nIf the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer.\n\nAn error message is returned for the following reasons:\n\n- If you set the value to `FALSE` but you are responsible to pay for query compute costs.\n- If you set the value to `TRUE` but you are not responsible to pay for query compute costs.", + "title": "IsResponsible", + "type": "boolean" + } + }, + "required": [ + "IsResponsible" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.MembershipSyntheticDataGenerationPaymentConfig": { + "additionalProperties": false, + "properties": { + "IsResponsible": { + "markdownDescription": "Indicates if this membership is responsible for paying for synthetic data generation.", + "title": "IsResponsible", + "type": "boolean" + } + }, + "required": [ + "IsResponsible" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.ProtectedJobS3OutputConfigurationInput": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The S3 bucket for job output.", + "title": "Bucket", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "KeyPrefix": { + "markdownDescription": "The S3 prefix to unload the protected job results.", + "title": "KeyPrefix", + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::CleanRooms::Membership.ProtectedQueryS3OutputConfiguration": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The S3 bucket to unload the protected query results.", + "title": "Bucket", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ModuleName": { - "markdownDescription": "The name of the module being registered.", - "title": "ModuleName", - "type": "string" - }, - "ModulePackage": { - "markdownDescription": "A URL to the S3 bucket for the package that contains the template fragment and schema files for the module version to register.\n\nFor more information, see [Module structure and requirements](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/modules-structure.html) in the *CloudFormation Command Line Interface (CLI) User Guide* .\n\n> To register the module version, you must have `s3:GetObject` permissions to access the S3 objects.", - "title": "ModulePackage", - "type": "string" - } - }, - "required": [ - "ModuleName", - "ModulePackage" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ModuleVersion" - ], + "KeyPrefix": { + "markdownDescription": "The S3 prefix to unload the protected query results.", + "title": "KeyPrefix", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ResultFormat": { + "markdownDescription": "Intended file format of the result.", + "title": "ResultFormat", "type": "string" + }, + "SingleFileOutput": { + "markdownDescription": "Indicates whether files should be output as a single file ( `TRUE` ) or output as multiple files ( `FALSE` ). This parameter is only supported for analyses with the Spark analytics engine.", + "title": "SingleFileOutput", + "type": "boolean" } }, "required": [ - "Type", - "Properties" + "Bucket", + "ResultFormat" ], "type": "object" }, - "AWS::CloudFormation::PublicTypeVersion": { + "AWS::CleanRooms::PrivacyBudgetTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -67372,37 +68722,46 @@ "Properties": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Number (ARN) of the extension.\n\nConditional: You must specify `Arn` , or `TypeName` and `Type` .", - "title": "Arn", + "AutoRefresh": { + "markdownDescription": "How often the privacy budget refreshes.\n\n> If you plan to regularly bring new data into the collaboration, use `CALENDAR_MONTH` to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.", + "title": "AutoRefresh", "type": "string" }, - "LogDeliveryBucket": { - "markdownDescription": "The S3 bucket to which CloudFormation delivers the contract test execution logs.\n\nCloudFormation delivers the logs by the time contract testing has completed and the extension has been assigned a test type status of `PASSED` or `FAILED` .\n\nThe user initiating the stack operation must be able to access items in the specified S3 bucket. Specifically, the user needs the following permissions:\n\n- s3:GetObject\n- s3:PutObject", - "title": "LogDeliveryBucket", + "MembershipIdentifier": { + "markdownDescription": "The identifier for a membership resource.", + "title": "MembershipIdentifier", "type": "string" }, - "PublicVersionNumber": { - "markdownDescription": "The version number to assign to this version of the extension.\n\nUse the following format, and adhere to semantic versioning when assigning a version number to your extension:\n\n`MAJOR.MINOR.PATCH`\n\nFor more information, see [Semantic Versioning 2.0.0](https://docs.aws.amazon.com/https://semver.org/) .\n\nIf you don't specify a version number, CloudFormation increments the version number by one minor version release.\n\nYou cannot specify a version number the first time you publish a type. CloudFormation automatically sets the first version number to be `1.0.0` .", - "title": "PublicVersionNumber", - "type": "string" + "Parameters": { + "$ref": "#/definitions/AWS::CleanRooms::PrivacyBudgetTemplate.Parameters", + "markdownDescription": "Specifies the epsilon and noise parameters for the privacy budget template.", + "title": "Parameters" }, - "Type": { - "markdownDescription": "The type of the extension to test.\n\nConditional: You must specify `Arn` , or `TypeName` and `Type` .", - "title": "Type", + "PrivacyBudgetType": { + "markdownDescription": "Specifies the type of the privacy budget template.", + "title": "PrivacyBudgetType", "type": "string" }, - "TypeName": { - "markdownDescription": "The name of the extension to test.\n\nConditional: You must specify `Arn` , or `TypeName` and `Type` .", - "title": "TypeName", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.", + "title": "Tags", + "type": "array" } }, + "required": [ + "AutoRefresh", + "MembershipIdentifier", + "Parameters", + "PrivacyBudgetType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::PublicTypeVersion" + "AWS::CleanRooms::PrivacyBudgetTemplate" ], "type": "string" }, @@ -67416,11 +68775,66 @@ } }, "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CleanRooms::PrivacyBudgetTemplate.BudgetParameter": { + "additionalProperties": false, + "properties": { + "AutoRefresh": { + "markdownDescription": "Whether this individual budget parameter automatically refreshes when the budget period resets.", + "title": "AutoRefresh", + "type": "string" + }, + "Budget": { + "markdownDescription": "The budget allocation amount for this specific parameter.", + "title": "Budget", + "type": "number" + }, + "Type": { + "markdownDescription": "The type of budget parameter being configured.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Budget", "Type" ], "type": "object" }, - "AWS::CloudFormation::Publisher": { + "AWS::CleanRooms::PrivacyBudgetTemplate.Parameters": { + "additionalProperties": false, + "properties": { + "BudgetParameters": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::PrivacyBudgetTemplate.BudgetParameter" + }, + "markdownDescription": "", + "title": "BudgetParameters", + "type": "array" + }, + "Epsilon": { + "markdownDescription": "The epsilon value that you want to use.", + "title": "Epsilon", + "type": "number" + }, + "ResourceArn": { + "markdownDescription": "", + "title": "ResourceArn", + "type": "string" + }, + "UsersNoisePerQuery": { + "markdownDescription": "Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted.", + "title": "UsersNoisePerQuery", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CleanRoomsML::AudienceGenerationJob": { "additionalProperties": false, "properties": { "Condition": { @@ -67455,25 +68869,24 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptTermsAndConditions": { - "markdownDescription": "Whether you accept the [Terms and Conditions](https://docs.aws.amazon.com/https://cloudformation-registry-documents.s3.amazonaws.com/Terms_and_Conditions_for_AWS_CloudFormation_Registry_Publishers.pdf) for publishing extensions in the CloudFormation registry. You must accept the terms and conditions in order to register to publish public extensions to the CloudFormation registry.\n\nThe default is `false` .", - "title": "AcceptTermsAndConditions", + "Description": { + "type": "string" + }, + "IncludeSeedInOutput": { "type": "boolean" }, - "ConnectionArn": { - "markdownDescription": "If you are using a Bitbucket or GitHub account for identity verification, the Amazon Resource Name (ARN) for your connection to that account.\n\nFor more information, see [Prerequisite: Registering your account to publish CloudFormation extensions](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs) in the *AWS CloudFormation Command Line Interface (CLI) User Guide* .", - "title": "ConnectionArn", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "AcceptTermsAndConditions" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Publisher" + "AWS::CleanRoomsML::AudienceGenerationJob" ], "type": "string" }, @@ -67486,13 +68899,61 @@ "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", - "Properties" + "Value" ], "type": "object" }, - "AWS::CloudFormation::ResourceDefaultVersion": { + "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": { @@ -67526,28 +68987,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "TypeName": { - "markdownDescription": "The name of the resource.\n\nConditional: You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", - "title": "TypeName", - "type": "string" - }, - "TypeVersionArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource version.\n\nConditional: You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", - "title": "TypeVersionArn", - "type": "string" - }, - "VersionId": { - "markdownDescription": "The ID of a specific version of the resource. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the resource version when it's registered.\n\nConditional: You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", - "title": "VersionId", - "type": "string" - } - }, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" + "AWS::CleanRoomsML::AudienceModel" ], "type": "string" }, @@ -67565,7 +69010,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceScan": { + "AWS::CleanRoomsML::ConfiguredAudienceModel": { "additionalProperties": false, "properties": { "Condition": { @@ -67599,19 +69044,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "ScanFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::ResourceScan.ScanFilter" - }, - "type": "array" - } - }, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceScan" + "AWS::CleanRoomsML::ConfiguredAudienceModel" ], "type": "string" }, @@ -67629,19 +69067,66 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceScan.ScanFilter": { + "AWS::CleanRoomsML::ConfiguredAudienceModel.AudienceDestination": { "additionalProperties": false, "properties": { - "Types": { + "S3Destination": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredAudienceModel.S3ConfigMap" + } + }, + "required": [ + "S3Destination" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredAudienceModel.AudienceSizeConfig": { + "additionalProperties": false, + "properties": { + "AudienceSizeBins": { "items": { - "type": "string" + "type": "number" }, "type": "array" + }, + "AudienceSizeType": { + "type": "string" } }, + "required": [ + "AudienceSizeBins", + "AudienceSizeType" + ], "type": "object" }, - "AWS::CloudFormation::ResourceVersion": { + "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": { "Condition": { @@ -67676,36 +69161,40 @@ "Properties": { "additionalProperties": false, "properties": { - "ExecutionRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the resource. If your resource calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. When CloudFormation needs to invoke the resource type handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource type handler, thereby supplying your resource type with the appropriate credentials.", - "title": "ExecutionRoleArn", + "Description": { "type": "string" }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig", - "markdownDescription": "Logging configuration information for a resource.", - "title": "LoggingConfig" + "InferenceContainerConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.InferenceContainerConfig" }, - "SchemaHandlerPackage": { - "markdownDescription": "A URL to the S3 bucket for the resource project package that contains the necessary files for the resource you want to register.\n\nFor information on generating a schema handler package, see [Modeling resource types to use with CloudFormation](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-model.html) in the *CloudFormation Command Line Interface (CLI) User Guide* .\n\n> To register the resource version, you must have `s3:GetObject` permissions to access the S3 objects.", - "title": "SchemaHandlerPackage", + "KmsKeyArn": { "type": "string" }, - "TypeName": { - "markdownDescription": "The name of the resource being registered.\n\nWe recommend that resource names adhere to the following pattern: *company_or_organization* :: *service* :: *type* .\n\n> The following organization namespaces are reserved and can't be used in your resource names:\n> \n> - `Alexa`\n> - `AMZN`\n> - `Amazon`\n> - `AWS`\n> - `Custom`\n> - `Dev`", - "title": "TypeName", + "Name": { + "type": "string" + }, + "RoleArn": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrainingContainerConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.ContainerConfig" } }, "required": [ - "SchemaHandlerPackage", - "TypeName" + "Name", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceVersion" + "AWS::CleanRoomsML::ConfiguredModelAlgorithm" ], "type": "string" }, @@ -67724,122 +69213,65 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceVersion.LoggingConfig": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithm.ContainerConfig": { "additionalProperties": false, "properties": { - "LogGroupName": { - "markdownDescription": "The Amazon CloudWatch logs group to which CloudFormation sends error logging information when invoking the type's handlers.", - "title": "LogGroupName", - "type": "string" + "Arguments": { + "items": { + "type": "string" + }, + "type": "array" }, - "LogRoleArn": { - "markdownDescription": "The ARN of the role that CloudFormation should assume when sending log entries to CloudWatch logs.", - "title": "LogRoleArn", + "Entrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ImageUri": { "type": "string" + }, + "MetricDefinitions": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.MetricDefinition" + }, + "type": "array" } }, + "required": [ + "ImageUri" + ], "type": "object" }, - "AWS::CloudFormation::Stack": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithm.InferenceContainerConfig": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ImageUri": { "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NotificationARNs": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI).", - "title": "NotificationARNs", - "type": "array" - }, - "Parameters": { - "additionalProperties": true, - "markdownDescription": "The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter.\n\n> If you use the `Ref` function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type `String` . In other words, you can't pass values that are of type `CommaDelimitedList` to nested stacks. \n\nRequired if the nested stack requires input parameters.\n\nWhether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Parameters", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified.", - "title": "Tags", - "type": "array" - }, - "TemplateURL": { - "markdownDescription": "The URL of a file that contains the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket. The location for an Amazon S3 bucket must start with `https://` .\n\nWhether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.", - "title": "TemplateURL", - "type": "string" - }, - "TimeoutInMinutes": { - "markdownDescription": "The length of time, in minutes, that CloudFormation waits for the nested stack to reach the `CREATE_COMPLETE` state. The default is no timeout. When CloudFormation detects that the nested stack has reached the `CREATE_COMPLETE` state, it marks the nested stack resource as `CREATE_COMPLETE` in the parent stack and resumes creating the parent stack. If the timeout period expires before the nested stack reaches `CREATE_COMPLETE` , CloudFormation marks the nested stack as failed and rolls back both the nested stack and parent stack.\n\nUpdates aren't supported.", - "title": "TimeoutInMinutes", - "type": "number" - } - }, - "required": [ - "TemplateURL" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::Stack" - ], + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithm.MetricDefinition": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Regex": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Name", + "Regex" ], "type": "object" }, - "AWS::CloudFormation::StackSet": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -67874,103 +69306,38 @@ "Properties": { "additionalProperties": false, "properties": { - "AdministrationRoleARN": { - "markdownDescription": "The Amazon Resource Number (ARN) of the IAM role to use to create this StackSet. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account.\n\nUse customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account. For more information, see [Grant self-managed permissions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) in the *CloudFormation User Guide* .\n\nValid only if the permissions model is `SELF_MANAGED` .", - "title": "AdministrationRoleARN", - "type": "string" - }, - "AutoDeployment": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment", - "markdownDescription": "Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU). For more information, see [Enable or disable automatic deployments for StackSets in AWS Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html) in the *CloudFormation User Guide* .\n\nRequired if the permissions model is `SERVICE_MANAGED` . (Not used with self-managed permissions.)", - "title": "AutoDeployment" - }, - "CallAs": { - "markdownDescription": "Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.\n\nBy default, `SELF` is specified. Use `SELF` for StackSets with self-managed permissions.\n\n- To create a StackSet with service-managed permissions while signed in to the management account, specify `SELF` .\n- To create a StackSet with service-managed permissions while signed in to a delegated administrator account, specify `DELEGATED_ADMIN` .\n\nYour AWS account must be registered as a delegated admin in the management account. For more information, see [Register a delegated administrator](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) in the *CloudFormation User Guide* .\n\nStackSets with service-managed permissions are created in the management account, including StackSets that are created by delegated administrators.\n\nValid only if the permissions model is `SERVICE_MANAGED` .", - "title": "CallAs", + "ConfiguredModelAlgorithmArn": { "type": "string" }, - "Capabilities": { - "items": { - "type": "string" - }, - "markdownDescription": "The capabilities that are allowed in the StackSet. Some StackSet templates might include resources that can affect permissions in your AWS account \u2014for example, by creating new IAM users. For more information, see [Acknowledging IAM resources in CloudFormation templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities) in the *CloudFormation User Guide* .", - "title": "Capabilities", - "type": "array" - }, "Description": { - "markdownDescription": "A description of the StackSet.", - "title": "Description", "type": "string" }, - "ExecutionRoleName": { - "markdownDescription": "The name of the IAM execution role to use to create the StackSet. If you don't specify an execution role, CloudFormation uses the `AWSCloudFormationStackSetExecutionRole` role for the StackSet operation.\n\nValid only if the permissions model is `SELF_MANAGED` .\n\n*Pattern* : `[a-zA-Z_0-9+=,.@-]+`", - "title": "ExecutionRoleName", + "MembershipIdentifier": { "type": "string" }, - "ManagedExecution": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.ManagedExecution", - "markdownDescription": "Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations.\n\nWhen active, StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order.\n\n> If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting.\n> \n> You can't modify your StackSet's execution configuration while there are running or queued operations for that StackSet. \n\nWhen inactive (default), StackSets performs one operation at a time in request order.", - "title": "ManagedExecution" - }, - "OperationPreferences": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences", - "markdownDescription": "The user-specified preferences for how CloudFormation performs a StackSet operation.", - "title": "OperationPreferences" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" - }, - "markdownDescription": "The input parameters for the StackSet template.", - "title": "Parameters", - "type": "array" - }, - "PermissionModel": { - "markdownDescription": "Describes how the IAM roles required for StackSet operations are created.\n\n- With `SELF_MANAGED` permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see [Grant self-managed permissions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) in the *CloudFormation User Guide* .\n- With `SERVICE_MANAGED` permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations . For more information, see [Activate trusted access for StackSets with AWS Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-activate-trusted-access.html) in the *CloudFormation User Guide* .", - "title": "PermissionModel", + "Name": { "type": "string" }, - "StackInstancesGroup": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" - }, - "markdownDescription": "A group of stack instances with parameters in some specific accounts and Regions.", - "title": "StackInstancesGroup", - "type": "array" - }, - "StackSetName": { - "markdownDescription": "The name to associate with the StackSet. The name must be unique in the Region where you create your StackSet.", - "title": "StackSetName", - "type": "string" + "PrivacyConfiguration": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Key-value pairs to associate with this stack. CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 50 tags.\n\nIf you don't specify this parameter, CloudFormation doesn't modify the stack's tags. If you specify an empty value, CloudFormation removes all associated tags.", - "title": "Tags", "type": "array" - }, - "TemplateBody": { - "markdownDescription": "The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes.\n\nYou must include either `TemplateURL` or `TemplateBody` in a StackSet, but you can't use both. Dynamic references in the `TemplateBody` may not work correctly in all cases. It's recommended to pass templates that contain dynamic references through `TemplateUrl` instead.", - "title": "TemplateBody", - "type": "string" - }, - "TemplateURL": { - "markdownDescription": "The URL of a file that contains the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket or a Systems Manager document. The location for an Amazon S3 bucket must start with `https://` .\n\nConditional: You must specify only one of the following parameters: `TemplateBody` , `TemplateURL` .", - "title": "TemplateURL", - "type": "string" } }, "required": [ - "PermissionModel", - "StackSetName" + "ConfiguredModelAlgorithmArn", + "MembershipIdentifier", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::StackSet" + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation" ], "type": "string" }, @@ -67989,169 +69356,203 @@ ], "type": "object" }, - "AWS::CloudFormation::StackSet.AutoDeployment": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig": { "additionalProperties": false, "properties": { - "DependsOn": { + "CustomDataIdentifiers": { "items": { "type": "string" }, - "markdownDescription": "A list of StackSet ARNs that this StackSet depends on for auto-deployment operations. When auto-deployment is triggered, operations will be sequenced to ensure all dependencies complete successfully before this StackSet's operation begins.", - "title": "DependsOn", "type": "array" - }, - "Enabled": { - "markdownDescription": "If set to `true` , StackSets automatically deploys additional stack instances to AWS Organizations accounts that are added to a target organization or organizational unit (OU) in the specified Regions. If an account is removed from a target organization or OU, StackSets deletes stack instances from the account in the specified Regions.", - "title": "Enabled", - "type": "boolean" - }, - "RetainStacksOnAccountRemoval": { - "markdownDescription": "If set to `true` , stack resources are retained when an account is removed from a target organization or OU. If set to `false` , stack resources are deleted. Specify only if `Enabled` is set to `True` .", - "title": "RetainStacksOnAccountRemoval", - "type": "boolean" } }, + "required": [ + "CustomDataIdentifiers" + ], "type": "object" }, - "AWS::CloudFormation::StackSet.DeploymentTargets": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration": { "additionalProperties": false, "properties": { - "AccountFilterType": { - "markdownDescription": "Refines which accounts to deploy stacks to by specifying how to use the `Accounts` and `OrganizationalUnitIds` properties together.\n\nThe following values determine how CloudFormation selects target accounts:\n\n- `INTERSECTION` : StackSet deploys to the accounts specified in the `Accounts` property.\n- `DIFFERENCE` : StackSet deploys to the OU, excluding the accounts specified in the `Accounts` property.\n- `UNION` : StackSet deploys to the OU, and the accounts specified in the `Accounts` property. `UNION` is not supported for create operations when using StackSet as a resource or the `CreateStackInstances` API.", - "title": "AccountFilterType", - "type": "string" + "CustomEntityConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig" }, - "Accounts": { + "EntitiesToRedact": { "items": { "type": "string" }, - "markdownDescription": "The account IDs of the AWS accounts . If you have many account numbers, you can provide those accounts using the `AccountsUrl` property instead.\n\n*Pattern* : `^[0-9]{12}$`", - "title": "Accounts", "type": "array" - }, - "AccountsUrl": { - "markdownDescription": "The Amazon S3 URL path to a file that contains a list of AWS account IDs. The file format must be either `.csv` or `.txt` , and the data can be comma-separated or new-line-separated. There is currently a 10MB limit for the data (approximately 800,000 accounts).\n\nThis property serves the same purpose as `Accounts` but allows you to specify a large number of accounts.", - "title": "AccountsUrl", - "type": "string" - }, - "OrganizationalUnitIds": { + } + }, + "required": [ + "EntitiesToRedact" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy": { + "additionalProperties": false, + "properties": { + "AllowedAccountIds": { "items": { "type": "string" }, - "markdownDescription": "The organization root ID or organizational unit (OU) IDs.\n\n*Pattern* : `^(ou-[a-z0-9]{4,32}-[a-z0-9]{8,32}|r-[a-z0-9]{4,32})$`", - "title": "OrganizationalUnitIds", "type": "array" + }, + "FilterPattern": { + "type": "string" + }, + "LogRedactionConfiguration": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration" + }, + "LogType": { + "type": "string" } }, + "required": [ + "AllowedAccountIds" + ], "type": "object" }, - "AWS::CloudFormation::StackSet.ManagedExecution": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.MetricsConfigurationPolicy": { "additionalProperties": false, "properties": { - "Active": { - "markdownDescription": "When `true` , CloudFormation performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, CloudFormation starts queued operations in request order.\n\n> If there are already running or queued operations, CloudFormation queues all incoming operations even if they are non-conflicting.\n> \n> You can't modify your StackSet's execution configuration while there are running or queued operations for that StackSet. \n\nWhen `false` (default), StackSets performs one operation at a time in request order.", - "title": "Active", - "type": "boolean" + "NoiseLevel": { + "type": "string" } }, + "required": [ + "NoiseLevel" + ], "type": "object" }, - "AWS::CloudFormation::StackSet.OperationPreferences": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration": { "additionalProperties": false, "properties": { - "ConcurrencyMode": { - "markdownDescription": "Specifies how the concurrency level behaves during the operation execution.\n\n- `STRICT_FAILURE_TOLERANCE` : This option dynamically lowers the concurrency level to ensure the number of failed accounts never exceeds the value of `FailureToleranceCount` +1. The initial actual concurrency is set to the lower of either the value of the `MaxConcurrentCount` , or the value of `FailureToleranceCount` +1. The actual concurrency is then reduced proportionally by the number of failures. This is the default behavior.\n\nIf failure tolerance or Maximum concurrent accounts are set to percentages, the behavior is similar.\n- `SOFT_FAILURE_TOLERANCE` : This option decouples `FailureToleranceCount` from the actual concurrency. This allows StackSet operations to run at the concurrency level set by the `MaxConcurrentCount` value, or `MaxConcurrentPercentage` , regardless of the number of failures.", - "title": "ConcurrencyMode", - "type": "string" - }, - "FailureToleranceCount": { - "markdownDescription": "The number of accounts per Region this operation can fail in before CloudFormation stops the operation in that Region. If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions.\n\nConditional: You must specify either `FailureToleranceCount` or `FailureTolerancePercentage` (but not both).", - "title": "FailureToleranceCount", - "type": "number" - }, - "FailureTolerancePercentage": { - "markdownDescription": "The percentage of accounts per Region this stack operation can fail in before CloudFormation stops the operation in that Region. If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions.\n\nWhen calculating the number of accounts based on the specified percentage, CloudFormation rounds *down* to the next whole number.\n\nConditional: You must specify either `FailureToleranceCount` or `FailureTolerancePercentage` , but not both.", - "title": "FailureTolerancePercentage", - "type": "number" - }, - "MaxConcurrentCount": { - "markdownDescription": "The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of `FailureToleranceCount` . `MaxConcurrentCount` is at most one more than the `FailureToleranceCount` .\n\nNote that this setting lets you specify the *maximum* for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.\n\nConditional: You must specify either `MaxConcurrentCount` or `MaxConcurrentPercentage` , but not both.", - "title": "MaxConcurrentCount", - "type": "number" - }, - "MaxConcurrentPercentage": { - "markdownDescription": "The maximum percentage of accounts in which to perform this operation at one time.\n\nWhen calculating the number of accounts based on the specified percentage, CloudFormation rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, CloudFormation sets the number as one instead.\n\nNote that this setting lets you specify the *maximum* for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.\n\nConditional: You must specify either `MaxConcurrentCount` or `MaxConcurrentPercentage` , but not both.", - "title": "MaxConcurrentPercentage", - "type": "number" + "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" }, - "RegionConcurrencyType": { - "markdownDescription": "The concurrency type of deploying StackSets operations in Regions, could be in parallel or one Region at a time.", - "title": "RegionConcurrencyType", - "type": "string" + "TrainedModelInferenceJobs": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceJobsConfigurationPolicy" }, - "RegionOrder": { - "items": { - "type": "string" - }, - "markdownDescription": "The order of the Regions where you want to perform the stack operation.", - "title": "RegionOrder", - "type": "array" + "TrainedModels": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelsConfigurationPolicy" } }, "type": "object" }, - "AWS::CloudFormation::StackSet.Parameter": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelArtifactMaxSize": { "additionalProperties": false, "properties": { - "ParameterKey": { - "markdownDescription": "The key associated with the parameter. If you don't specify a key and value for a particular parameter, CloudFormation uses the default value that's specified in your template.", - "title": "ParameterKey", + "Unit": { "type": "string" }, - "ParameterValue": { - "markdownDescription": "The input value associated with the parameter.", - "title": "ParameterValue", - "type": "string" + "Value": { + "type": "number" } }, "required": [ - "ParameterKey", - "ParameterValue" + "Unit", + "Value" ], "type": "object" }, - "AWS::CloudFormation::StackSet.StackInstances": { + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsConfigurationPolicy": { "additionalProperties": false, "properties": { - "DeploymentTargets": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets", - "markdownDescription": "The AWS Organizations accounts or AWS accounts to deploy stacks to in the specified Regions.", - "title": "DeploymentTargets" - }, - "ParameterOverrides": { + "FilesToExport": { "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + "type": "string" }, - "markdownDescription": "A list of StackSet parameters whose values you want to override in the selected stack instances.", - "title": "ParameterOverrides", "type": "array" }, - "Regions": { - "items": { - "type": "string" - }, - "markdownDescription": "The names of one or more Regions where you want to create stack instances using the specified AWS accounts .", - "title": "Regions", + "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": [ - "DeploymentTargets", - "Regions" + "Unit", + "Value" ], "type": "object" }, - "AWS::CloudFormation::TypeActivation": { + "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": { @@ -68185,63 +69586,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "AutoUpdate": { - "markdownDescription": "Whether to automatically update the extension in this account and Region when a new *minor* version is published by the extension publisher. Major versions released by the publisher must be manually updated.\n\nThe default is `true` .", - "title": "AutoUpdate", - "type": "boolean" - }, - "ExecutionRoleArn": { - "markdownDescription": "The name of the IAM execution role to use to activate the extension.", - "title": "ExecutionRoleArn", - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::TypeActivation.LoggingConfig", - "markdownDescription": "Specifies logging configuration information for an extension.", - "title": "LoggingConfig" - }, - "MajorVersion": { - "markdownDescription": "The major version of this extension you want to activate, if multiple major versions are available. The default is the latest major version. CloudFormation uses the latest available *minor* version of the major version selected.\n\nYou can specify `MajorVersion` or `VersionBump` , but not both.", - "title": "MajorVersion", - "type": "string" - }, - "PublicTypeArn": { - "markdownDescription": "The Amazon Resource Number (ARN) of the public extension.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", - "title": "PublicTypeArn", - "type": "string" - }, - "PublisherId": { - "markdownDescription": "The ID of the extension publisher.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", - "title": "PublisherId", - "type": "string" - }, - "Type": { - "markdownDescription": "The extension type.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", - "title": "Type", - "type": "string" - }, - "TypeName": { - "markdownDescription": "The name of the extension.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", - "title": "TypeName", - "type": "string" - }, - "TypeNameAlias": { - "markdownDescription": "An alias to assign to the public extension in this account and Region. If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and Region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console.\n\nAn extension alias must be unique within a given account and Region. You can activate the same public resource multiple times in the same account and Region, using different type name aliases.", - "title": "TypeNameAlias", - "type": "string" - }, - "VersionBump": { - "markdownDescription": "Manually updates a previously-activated type to a new major or minor version, if available. You can also use this parameter to update the value of `AutoUpdate` .\n\n- `MAJOR` : CloudFormation updates the extension to the newest major version, if one is available.\n- `MINOR` : CloudFormation updates the extension to the newest minor version, if one is available.", - "title": "VersionBump", - "type": "string" - } - }, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::TypeActivation" + "AWS::CleanRoomsML::MLInputChannel" ], "type": "string" }, @@ -68259,156 +69609,246 @@ ], "type": "object" }, - "AWS::CloudFormation::TypeActivation.LoggingConfig": { + "AWS::CleanRoomsML::MLInputChannel.AccessBudget": { "additionalProperties": false, "properties": { - "LogGroupName": { - "markdownDescription": "The Amazon CloudWatch Logs group to which CloudFormation sends error logging information when invoking the extension's handlers.", - "title": "LogGroupName", - "type": "string" + "AggregateRemainingBudget": { + "type": "number" }, - "LogRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role that CloudFormation should assume when sending log entries to CloudWatch Logs.", - "title": "LogRoleArn", + "Details": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.AccessBudgetDetails" + }, + "type": "array" + }, + "ResourceArn": { "type": "string" } }, + "required": [ + "AggregateRemainingBudget", + "Details", + "ResourceArn" + ], "type": "object" }, - "AWS::CloudFormation::WaitCondition": { + "AWS::CleanRoomsML::MLInputChannel.AccessBudgetDetails": { "additionalProperties": false, "properties": { - "Condition": { + "AutoRefresh": { "type": "string" }, - "CreationPolicy": { - "type": "object" + "Budget": { + "type": "number" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "BudgetType": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "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" }, - "Metadata": { - "type": "object" + "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" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Count": { - "markdownDescription": "The number of success signals that CloudFormation must receive before it continues the stack creation process. When the wait condition receives the requisite number of success signals, CloudFormation resumes the creation of the stack. If the wait condition doesn't receive the specified number of success signals before the Timeout period expires, CloudFormation assumes that the wait condition has failed and rolls the stack back.\n\nUpdates aren't supported.", - "title": "Count", - "type": "number" - }, - "Handle": { - "markdownDescription": "A reference to the wait condition handle used to signal this wait condition. Use the `Ref` intrinsic function to specify an [AWS::CloudFormation::WaitConditionHandle](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-waitconditionhandle.html) resource.\n\nAnytime you add a `WaitCondition` resource during a stack update, you must associate the wait condition with a new WaitConditionHandle resource. Don't reuse an old wait condition handle that has already been defined in the template. If you reuse a wait condition handle, the wait condition might evaluate old signals from a previous create or update stack command.\n\nUpdates aren't supported.", - "title": "Handle", - "type": "string" - }, - "Timeout": { - "markdownDescription": "The length of time (in seconds) to wait for the number of signals that the `Count` property specifies. `Timeout` is a minimum-bound property, meaning the timeout occurs no sooner than the time you specify, but can occur shortly thereafter. The maximum time that can be specified for this property is 12 hours (43200 seconds).\n\nUpdates aren't supported.", - "title": "Timeout", + "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" }, - "Type": { - "enum": [ - "AWS::CloudFormation::WaitCondition" - ], + "ResultFormat": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "SqlParameters": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.ProtectedQuerySQLParameters" } }, "required": [ - "Type" + "SqlParameters" ], "type": "object" }, - "AWS::CloudFormation::WaitConditionHandle": { + "AWS::CleanRoomsML::MLInputChannel.ProtectedQuerySQLParameters": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AnalysisTemplateArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, + }, "type": "object" }, - "Type": { - "enum": [ - "AWS::CloudFormation::WaitConditionHandle" - ], + "QueryString": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.SyntheticDataColumnProperties": { + "additionalProperties": false, + "properties": { + "ColumnName": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ColumnType": { "type": "string" + }, + "IsPredictiveValue": { + "type": "boolean" } }, "required": [ - "Type" + "ColumnName", + "ColumnType", + "IsPredictiveValue" ], "type": "object" }, - "AWS::CloudFront::AnycastIpList": { + "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": { @@ -68443,44 +69883,42 @@ "Properties": { "additionalProperties": false, "properties": { - "IpAddressType": { - "markdownDescription": "The IP address type for the Anycast static IP list.", - "title": "IpAddressType", + "ConfiguredModelAlgorithmAssociationArn": { "type": "string" }, - "IpCount": { - "markdownDescription": "The number of IP addresses in the Anycast static IP list.", - "title": "IpCount", - "type": "number" + "DataSource": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.ModelInferenceDataSource" }, - "IpamCidrConfigs": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::AnycastIpList.IpamCidrConfig" - }, - "markdownDescription": "A list of IPAM CIDR configurations that define the IP address ranges, IPAM pools, and associated Anycast IP addresses.", - "title": "IpamCidrConfigs", - "type": "array" + "Description": { + "type": "string" + }, + "MembershipIdentifier": { + "type": "string" }, "Name": { - "markdownDescription": "The name of the Anycast static IP list.", - "title": "Name", "type": "string" }, + "OutputConfiguration": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceOutputConfiguration" + }, + "ResourceConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceResourceConfig" + }, "Tags": { - "$ref": "#/definitions/AWS::CloudFront::AnycastIpList.Tags", - "markdownDescription": "A complex type that contains zero or more `Tag` elements.", - "title": "Tags" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrainedModelArn": { + "type": "string" } }, - "required": [ - "IpCount", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::AnycastIpList" + "AWS::CleanRoomsML::TrainedModelInferenceJob" ], "type": "string" }, @@ -68494,138 +69932,68 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::CloudFront::AnycastIpList.AnycastIpList": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceOutputConfiguration": { "additionalProperties": false, "properties": { - "AnycastIps": { - "items": { - "type": "string" - }, - "markdownDescription": "The static IP addresses that are allocated to the Anycast static IP list.", - "title": "AnycastIps", - "type": "array" - }, - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Anycast static IP list.", - "title": "Arn", - "type": "string" - }, - "Id": { - "markdownDescription": "The ID of the Anycast static IP list.", - "title": "Id", - "type": "string" - }, - "IpAddressType": { - "markdownDescription": "The IP address type for the Anycast static IP list.", - "title": "IpAddressType", + "Accept": { "type": "string" }, - "IpCount": { - "markdownDescription": "The number of IP addresses in the Anycast static IP list.", - "title": "IpCount", - "type": "number" - }, - "IpamCidrConfigResults": { + "Members": { "items": { - "$ref": "#/definitions/AWS::CloudFront::AnycastIpList.IpamCidrConfigResult" + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceReceiverMember" }, - "markdownDescription": "The results for the IPAM CIDRs that defines a specific IP address range, IPAM pool, and associated Anycast IP address.", - "title": "IpamCidrConfigResults", "type": "array" - }, - "LastModifiedTime": { - "markdownDescription": "The last time the Anycast static IP list was modified.", - "title": "LastModifiedTime", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the Anycast static IP list.", - "title": "Name", - "type": "string" - }, - "Status": { - "markdownDescription": "The status of the Anycast static IP list. Valid values: `Deployed` , `Deploying` , or `Failed` .", - "title": "Status", - "type": "string" } }, "required": [ - "AnycastIps", - "Arn", - "Id", - "IpCount", - "LastModifiedTime", - "Name", - "Status" + "Members" ], "type": "object" }, - "AWS::CloudFront::AnycastIpList.IpamCidrConfig": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceReceiverMember": { "additionalProperties": false, "properties": { - "Cidr": { - "markdownDescription": "The CIDR that specifies the IP address range for this IPAM configuration.", - "title": "Cidr", - "type": "string" - }, - "IpamPoolArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IPAM pool that the CIDR block is assigned to.", - "title": "IpamPoolArn", + "AccountId": { "type": "string" } }, "required": [ - "Cidr", - "IpamPoolArn" + "AccountId" ], "type": "object" }, - "AWS::CloudFront::AnycastIpList.IpamCidrConfigResult": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceResourceConfig": { "additionalProperties": false, "properties": { - "AnycastIp": { - "markdownDescription": "The specified Anycast IP address allocated from the IPAM pool for this CIDR configuration.", - "title": "AnycastIp", - "type": "string" - }, - "Cidr": { - "markdownDescription": "The CIDR that specifies the IP address range for this IPAM configuration.", - "title": "Cidr", - "type": "string" - }, - "IpamPoolArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IPAM pool that the CIDR block is assigned to.", - "title": "IpamPoolArn", - "type": "string" + "InstanceCount": { + "type": "number" }, - "Status": { - "markdownDescription": "The current status of the IPAM CIDR configuration.", - "title": "Status", + "InstanceType": { "type": "string" } }, + "required": [ + "InstanceType" + ], "type": "object" }, - "AWS::CloudFront::AnycastIpList.Tags": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.ModelInferenceDataSource": { "additionalProperties": false, "properties": { - "Items": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A complex type that contains `Tag` elements.", - "title": "Items", - "type": "array" + "MlInputChannelArn": { + "type": "string" } }, + "required": [ + "MlInputChannelArn" + ], "type": "object" }, - "AWS::CloudFront::CachePolicy": { + "AWS::CleanRoomsML::TrainingDataset": { "additionalProperties": false, "properties": { "Condition": { @@ -68660,20 +70028,48 @@ "Properties": { "additionalProperties": false, "properties": { - "CachePolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CachePolicyConfig", - "markdownDescription": "The cache policy configuration.", - "title": "CachePolicyConfig" + "Description": { + "markdownDescription": "The description of the training dataset.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the training dataset.", + "title": "Name", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The ARN of the IAM role that Clean Rooms ML can assume to read the data referred to in the `dataSource` field of each dataset.\n\nPassing a role across accounts is not allowed. If you pass a role that isn't in your account, you get an `AccessDeniedException` error.", + "title": "RoleArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The optional metadata that you apply to the resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.\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 keys as it is reserved. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has `aws` as its prefix but the key does not, then Clean Rooms ML considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of `aws` do not count against your tags per resource limit.", + "title": "Tags", + "type": "array" + }, + "TrainingData": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.Dataset" + }, + "markdownDescription": "An array of information that lists the Dataset objects, which specifies the dataset type and details on its location and schema. You must provide a role that has read access to these tables.", + "title": "TrainingData", + "type": "array" } }, "required": [ - "CachePolicyConfig" + "Name", + "RoleArn", + "TrainingData" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::CachePolicy" + "AWS::CleanRoomsML::TrainingDataset" ], "type": "string" }, @@ -68692,153 +70088,112 @@ ], "type": "object" }, - "AWS::CloudFront::CachePolicy.CachePolicyConfig": { + "AWS::CleanRoomsML::TrainingDataset.ColumnSchema": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "A comment to describe the cache policy. The comment cannot be longer than 128 characters.", - "title": "Comment", - "type": "string" - }, - "DefaultTTL": { - "markdownDescription": "The default amount of time, in seconds, that you want objects to stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. CloudFront uses this value as the object's time to live (TTL) only when the origin does *not* send `Cache-Control` or `Expires` headers with the object. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default value for this field is 86400 seconds (one day). If the value of `MinTTL` is more than 86400 seconds, then the default value for this field is the same as the value of `MinTTL` .", - "title": "DefaultTTL", - "type": "number" - }, - "MaxTTL": { - "markdownDescription": "The maximum amount of time, in seconds, that objects stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. CloudFront uses this value only when the origin sends `Cache-Control` or `Expires` headers with the object. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default value for this field is 31536000 seconds (one year). If the value of `MinTTL` or `DefaultTTL` is more than 31536000 seconds, then the default value for this field is the same as the value of `DefaultTTL` .", - "title": "MaxTTL", - "type": "number" - }, - "MinTTL": { - "markdownDescription": "The minimum amount of time, in seconds, that you want objects to stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", - "title": "MinTTL", - "type": "number" - }, - "Name": { - "markdownDescription": "A unique name to identify the cache policy.", - "title": "Name", + "ColumnName": { + "markdownDescription": "The name of a column.", + "title": "ColumnName", "type": "string" }, - "ParametersInCacheKeyAndForwardedToOrigin": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin", - "markdownDescription": "The HTTP headers, cookies, and URL query strings to include in the cache key. The values included in the cache key are also included in requests that CloudFront sends to the origin.", - "title": "ParametersInCacheKeyAndForwardedToOrigin" + "ColumnTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The data type of column.", + "title": "ColumnTypes", + "type": "array" } }, "required": [ - "DefaultTTL", - "MaxTTL", - "MinTTL", - "Name", - "ParametersInCacheKeyAndForwardedToOrigin" + "ColumnName", + "ColumnTypes" ], "type": "object" }, - "AWS::CloudFront::CachePolicy.CookiesConfig": { + "AWS::CleanRoomsML::TrainingDataset.DataSource": { "additionalProperties": false, "properties": { - "CookieBehavior": { - "markdownDescription": "Determines whether any cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No cookies in viewer requests are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to `none` , any cookies that are listed in an `OriginRequestPolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the cookies in viewer requests that are listed in the `CookieNames` type are included in the cache key and in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin, **except** for those that are listed in the `CookieNames` type, which are not included.\n- `all` \u2013 All cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin.", - "title": "CookieBehavior", - "type": "string" - }, - "Cookies": { - "items": { - "type": "string" - }, - "markdownDescription": "Contains a list of cookie names.", - "title": "Cookies", - "type": "array" + "GlueDataSource": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.GlueDataSource", + "markdownDescription": "A GlueDataSource object that defines the catalog ID, database name, and table name for the training data.", + "title": "GlueDataSource" } }, "required": [ - "CookieBehavior" + "GlueDataSource" ], "type": "object" }, - "AWS::CloudFront::CachePolicy.HeadersConfig": { + "AWS::CleanRoomsML::TrainingDataset.Dataset": { "additionalProperties": false, "properties": { - "HeaderBehavior": { - "markdownDescription": "Determines whether any HTTP headers are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No HTTP headers are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to `none` , any headers that are listed in an `OriginRequestPolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the HTTP headers that are listed in the `Headers` type are included in the cache key and in requests that CloudFront sends to the origin.", - "title": "HeaderBehavior", - "type": "string" + "InputConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.DatasetInputConfig", + "markdownDescription": "A DatasetInputConfig object that defines the data source and schema mapping.", + "title": "InputConfig" }, - "Headers": { - "items": { - "type": "string" - }, - "markdownDescription": "Contains a list of HTTP header names.", - "title": "Headers", - "type": "array" + "Type": { + "markdownDescription": "What type of information is found in the dataset.", + "title": "Type", + "type": "string" } }, "required": [ - "HeaderBehavior" + "InputConfig", + "Type" ], "type": "object" }, - "AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin": { + "AWS::CleanRoomsML::TrainingDataset.DatasetInputConfig": { "additionalProperties": false, "properties": { - "CookiesConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CookiesConfig", - "markdownDescription": "An object that determines whether any cookies in viewer requests (and if so, which cookies) are included in the cache key and in requests that CloudFront sends to the origin.", - "title": "CookiesConfig" - }, - "EnableAcceptEncodingBrotli": { - "markdownDescription": "A flag that can affect whether the `Accept-Encoding` HTTP header is included in the cache key and included in requests that CloudFront sends to the origin.\n\nThis field is related to the `EnableAcceptEncodingGzip` field. If one or both of these fields is `true` *and* the viewer request includes the `Accept-Encoding` header, then CloudFront does the following:\n\n- Normalizes the value of the viewer's `Accept-Encoding` header\n- Includes the normalized header in the cache key\n- Includes the normalized header in the request to the origin, if a request is necessary\n\nFor more information, see [Compression support](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) in the *Amazon CloudFront Developer Guide* .\n\nIf you set this value to `true` , and this cache behavior also has an origin request policy attached, do not include the `Accept-Encoding` header in the origin request policy. CloudFront always includes the `Accept-Encoding` header in origin requests when the value of this field is `true` , so including this header in an origin request policy has no effect.\n\nIf both of these fields are `false` , then CloudFront treats the `Accept-Encoding` header the same as any other HTTP header in the viewer request. By default, it's not included in the cache key and it's not included in origin requests. In this case, you can manually add `Accept-Encoding` to the headers whitelist like any other HTTP header.", - "title": "EnableAcceptEncodingBrotli", - "type": "boolean" - }, - "EnableAcceptEncodingGzip": { - "markdownDescription": "A flag that can affect whether the `Accept-Encoding` HTTP header is included in the cache key and included in requests that CloudFront sends to the origin.\n\nThis field is related to the `EnableAcceptEncodingBrotli` field. If one or both of these fields is `true` *and* the viewer request includes the `Accept-Encoding` header, then CloudFront does the following:\n\n- Normalizes the value of the viewer's `Accept-Encoding` header\n- Includes the normalized header in the cache key\n- Includes the normalized header in the request to the origin, if a request is necessary\n\nFor more information, see [Compression support](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) in the *Amazon CloudFront Developer Guide* .\n\nIf you set this value to `true` , and this cache behavior also has an origin request policy attached, do not include the `Accept-Encoding` header in the origin request policy. CloudFront always includes the `Accept-Encoding` header in origin requests when the value of this field is `true` , so including this header in an origin request policy has no effect.\n\nIf both of these fields are `false` , then CloudFront treats the `Accept-Encoding` header the same as any other HTTP header in the viewer request. By default, it's not included in the cache key and it's not included in origin requests. In this case, you can manually add `Accept-Encoding` to the headers whitelist like any other HTTP header.", - "title": "EnableAcceptEncodingGzip", - "type": "boolean" - }, - "HeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.HeadersConfig", - "markdownDescription": "An object that determines whether any HTTP headers (and if so, which headers) are included in the cache key and in requests that CloudFront sends to the origin.", - "title": "HeadersConfig" + "DataSource": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.DataSource", + "markdownDescription": "A DataSource object that specifies the Glue data source for the training data.", + "title": "DataSource" }, - "QueryStringsConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.QueryStringsConfig", - "markdownDescription": "An object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in the cache key and in requests that CloudFront sends to the origin.", - "title": "QueryStringsConfig" + "Schema": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset.ColumnSchema" + }, + "markdownDescription": "The schema information for the training data.", + "title": "Schema", + "type": "array" } }, "required": [ - "CookiesConfig", - "EnableAcceptEncodingGzip", - "HeadersConfig", - "QueryStringsConfig" + "DataSource", + "Schema" ], "type": "object" }, - "AWS::CloudFront::CachePolicy.QueryStringsConfig": { + "AWS::CleanRoomsML::TrainingDataset.GlueDataSource": { "additionalProperties": false, "properties": { - "QueryStringBehavior": { - "markdownDescription": "Determines whether any URL query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No query strings in viewer requests are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to `none` , any query strings that are listed in an `OriginRequestPolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the query strings in viewer requests that are listed in the `QueryStringNames` type are included in the cache key and in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin, **except** those that are listed in the `QueryStringNames` type, which are not included.\n- `all` \u2013 All query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin.", - "title": "QueryStringBehavior", + "CatalogId": { + "markdownDescription": "The Glue catalog that contains the training data.", + "title": "CatalogId", "type": "string" }, - "QueryStrings": { - "items": { - "type": "string" - }, - "markdownDescription": "Contains a list of query string names.", - "title": "QueryStrings", - "type": "array" + "DatabaseName": { + "markdownDescription": "The Glue database that contains the training data.", + "title": "DatabaseName", + "type": "string" + }, + "TableName": { + "markdownDescription": "The Glue table that contains the training data.", + "title": "TableName", + "type": "string" } }, "required": [ - "QueryStringBehavior" + "DatabaseName", + "TableName" ], "type": "object" }, - "AWS::CloudFront::CloudFrontOriginAccessIdentity": { + "AWS::Cloud9::EnvironmentEC2": { "additionalProperties": false, "properties": { "Condition": { @@ -68873,20 +70228,72 @@ "Properties": { "additionalProperties": false, "properties": { - "CloudFrontOriginAccessIdentityConfig": { - "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig", - "markdownDescription": "The current configuration information for the identity.", - "title": "CloudFrontOriginAccessIdentityConfig" + "AutomaticStopTimeMinutes": { + "markdownDescription": "The number of minutes until the running instance is shut down after the environment was last used.", + "title": "AutomaticStopTimeMinutes", + "type": "number" + }, + "ConnectionType": { + "markdownDescription": "The connection type used for connecting to an Amazon EC2 environment. Valid values are `CONNECT_SSH` (default) and `CONNECT_SSM` (connected through AWS Systems Manager ).", + "title": "ConnectionType", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the environment to create.", + "title": "Description", + "type": "string" + }, + "ImageId": { + "markdownDescription": "The identifier for the Amazon Machine Image (AMI) that's used to create the EC2 instance. To choose an AMI for the instance, you must specify a valid AMI alias or a valid AWS Systems Manager path.\n\nFrom December 04, 2023, you will be required to include the `ImageId` parameter for the `CreateEnvironmentEC2` action. This change will be reflected across all direct methods of communicating with the API, such as AWS SDK, AWS CLI and AWS CloudFormation. This change will only affect direct API consumers, and not AWS Cloud9 console users.\n\nSince Ubuntu 18.04 has ended standard support as of May 31, 2023, we recommend you choose Ubuntu 22.04.\n\n*AMI aliases*\n\n- Amazon Linux 2: `amazonlinux-2-x86_64`\n- Amazon Linux 2023 (recommended): `amazonlinux-2023-x86_64`\n- Ubuntu 18.04: `ubuntu-18.04-x86_64`\n- Ubuntu 22.04: `ubuntu-22.04-x86_64`\n\n*SSM paths*\n\n- Amazon Linux 2: `resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64`\n- Amazon Linux 2023 (recommended): `resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2023-x86_64`\n- Ubuntu 18.04: `resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64`\n- Ubuntu 22.04: `resolve:ssm:/aws/service/cloud9/amis/ubuntu-22.04-x86_64`", + "title": "ImageId", + "type": "string" + }, + "InstanceType": { + "markdownDescription": "The type of instance to connect to the environment (for example, `t2.micro` ).", + "title": "InstanceType", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the environment.", + "title": "Name", + "type": "string" + }, + "OwnerArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the environment owner. This ARN can be the ARN of any AWS Identity and Access Management principal. If this value is not specified, the ARN defaults to this environment's creator.", + "title": "OwnerArn", + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "markdownDescription": "Any AWS CodeCommit source code repositories to be cloned into the development environment.", + "title": "Repositories", + "type": "array" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet in Amazon Virtual Private Cloud (Amazon VPC) that AWS Cloud9 will use to communicate with the Amazon Elastic Compute Cloud (Amazon EC2) instance.", + "title": "SubnetId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs that will be associated with the new AWS Cloud9 development environment.", + "title": "Tags", + "type": "array" } }, "required": [ - "CloudFrontOriginAccessIdentityConfig" + "ImageId", + "InstanceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::CloudFrontOriginAccessIdentity" + "AWS::Cloud9::EnvironmentEC2" ], "type": "string" }, @@ -68905,21 +70312,27 @@ ], "type": "object" }, - "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": { + "AWS::Cloud9::EnvironmentEC2.Repository": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "A comment to describe the origin access identity. The comment cannot be longer than 128 characters.", - "title": "Comment", + "PathComponent": { + "markdownDescription": "The path within the development environment's default file system location to clone the AWS CodeCommit repository into. For example, `/REPOSITORY_NAME` would clone the repository into the `/home/USER_NAME/environment/REPOSITORY_NAME` directory in the environment.", + "title": "PathComponent", + "type": "string" + }, + "RepositoryUrl": { + "markdownDescription": "The clone URL of the AWS CodeCommit repository to be cloned. For example, for an AWS CodeCommit repository this might be `https://git-codecommit.us-east-2.amazonaws.com/v1/repos/REPOSITORY_NAME` .", + "title": "RepositoryUrl", "type": "string" } }, "required": [ - "Comment" + "PathComponent", + "RepositoryUrl" ], "type": "object" }, - "AWS::CloudFront::ConnectionFunction": { + "AWS::CloudFormation::ChangeSet": { "additionalProperties": false, "properties": { "Condition": { @@ -68954,45 +70367,70 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoPublish": { - "markdownDescription": "A flag that determines whether to automatically publish the function to the `LIVE` stage when it\u2019s created. To automatically publish to the `LIVE` stage, set this property to `true` .", - "title": "AutoPublish", + "Capabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ChangeSetName": { + "type": "string" + }, + "ChangeSetType": { + "type": "string" + }, + "DeploymentMode": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ImportExistingResources": { "type": "boolean" }, - "ConnectionFunctionCode": { - "markdownDescription": "The code for the connection function.", - "title": "ConnectionFunctionCode", + "IncludeNestedStacks": { + "type": "boolean" + }, + "NotificationARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OnStackFailure": { "type": "string" }, - "ConnectionFunctionConfig": { - "$ref": "#/definitions/AWS::CloudFront::ConnectionFunction.ConnectionFunctionConfig", - "markdownDescription": "Contains configuration information about a CloudFront function.", - "title": "ConnectionFunctionConfig" + "RoleARN": { + "type": "string" }, - "Name": { - "markdownDescription": "The connection function name.", - "title": "Name", + "StackName": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::CloudFormation::ChangeSet.TagsItems" }, - "markdownDescription": "A complex type that contains zero or more `Tag` elements.", - "title": "Tags", "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateURL": { + "type": "string" + }, + "UsePreviousTemplate": { + "type": "boolean" } }, "required": [ - "ConnectionFunctionCode", - "ConnectionFunctionConfig", - "Name" + "ChangeSetName", + "StackName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::ConnectionFunction" + "AWS::CloudFormation::ChangeSet" ], "type": "string" }, @@ -69011,49 +70449,23 @@ ], "type": "object" }, - "AWS::CloudFront::ConnectionFunction.ConnectionFunctionConfig": { + "AWS::CloudFormation::ChangeSet.TagsItems": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "A comment to describe the function.", - "title": "Comment", + "Key": { "type": "string" }, - "KeyValueStoreAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::ConnectionFunction.KeyValueStoreAssociation" - }, - "markdownDescription": "The configuration for the key value store associations.", - "title": "KeyValueStoreAssociations", - "type": "array" - }, - "Runtime": { - "markdownDescription": "The function's runtime environment version.", - "title": "Runtime", - "type": "string" - } - }, - "required": [ - "Comment", - "Runtime" - ], - "type": "object" - }, - "AWS::CloudFront::ConnectionFunction.KeyValueStoreAssociation": { - "additionalProperties": false, - "properties": { - "KeyValueStoreARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the key value store association.", - "title": "KeyValueStoreARN", + "Value": { "type": "string" } }, "required": [ - "KeyValueStoreARN" + "Key", + "Value" ], "type": "object" }, - "AWS::CloudFront::ConnectionGroup": { + "AWS::CloudFormation::CustomResource": { "additionalProperties": false, "properties": { "Condition": { @@ -69088,43 +70500,25 @@ "Properties": { "additionalProperties": false, "properties": { - "AnycastIpListId": { - "markdownDescription": "The ID of the Anycast static IP list.", - "title": "AnycastIpListId", - "type": "string" - }, - "Enabled": { - "markdownDescription": "Whether the connection group is enabled.", - "title": "Enabled", - "type": "boolean" - }, - "Ipv6Enabled": { - "markdownDescription": "IPv6 is enabled for the connection group.", - "title": "Ipv6Enabled", - "type": "boolean" + "ServiceTimeout": { + "markdownDescription": "The maximum time, in seconds, that can elapse before a custom resource operation times out.\n\nThe value must be an integer from 1 to 3600. The default value is 3600 seconds (1 hour).", + "title": "ServiceTimeout", + "type": "number" }, - "Name": { - "markdownDescription": "The name of the connection group.", - "title": "Name", + "ServiceToken": { + "markdownDescription": "The service token, such as an Amazon topic ARN or Lambda function ARN. The service token must be from the same Region as the stack.\n\nUpdates aren't supported.", + "title": "ServiceToken", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A complex type that contains zero or more `Tag` elements.", - "title": "Tags", - "type": "array" } }, "required": [ - "Name" + "ServiceToken" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::ConnectionGroup" + "AWS::CloudFormation::CustomResource" ], "type": "string" }, @@ -69143,7 +70537,7 @@ ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy": { + "AWS::CloudFormation::GeneratedTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -69178,20 +70572,21 @@ "Properties": { "additionalProperties": false, "properties": { - "ContinuousDeploymentPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfig", - "markdownDescription": "Contains the configuration for a continuous deployment policy.", - "title": "ContinuousDeploymentPolicyConfig" + "GeneratedTemplateName": { + "type": "string" + }, + "TemplateConfiguration": { + "$ref": "#/definitions/AWS::CloudFormation::GeneratedTemplate.TemplateConfiguration" } }, "required": [ - "ContinuousDeploymentPolicyConfig" + "GeneratedTemplateName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::ContinuousDeploymentPolicy" + "AWS::CloudFormation::GeneratedTemplate" ], "type": "string" }, @@ -69210,172 +70605,305 @@ ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfig": { + "AWS::CloudFormation::GeneratedTemplate.TemplateConfiguration": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "A Boolean that indicates whether this continuous deployment policy is enabled (in effect). When this value is `true` , this policy is enabled and in effect. When this value is `false` , this policy is not enabled and has no effect.", - "title": "Enabled", - "type": "boolean" - }, - "SingleHeaderPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderPolicyConfig", - "markdownDescription": "This configuration determines which HTTP requests are sent to the staging distribution. If the HTTP request contains a header and value that matches what you specify here, the request is sent to the staging distribution. Otherwise the request is sent to the primary distribution.", - "title": "SingleHeaderPolicyConfig" - }, - "SingleWeightPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightPolicyConfig", - "markdownDescription": "This configuration determines the percentage of HTTP requests that are sent to the staging distribution.", - "title": "SingleWeightPolicyConfig" - }, - "StagingDistributionDnsNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The CloudFront domain name of the staging distribution. For example: `d111111abcdef8.cloudfront.net` .", - "title": "StagingDistributionDnsNames", - "type": "array" - }, - "TrafficConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.TrafficConfig", - "markdownDescription": "Contains the parameters for routing production traffic from your primary to staging distributions.", - "title": "TrafficConfig" + "DeletionPolicy": { + "type": "string" }, - "Type": { - "markdownDescription": "The type of traffic configuration.", - "title": "Type", + "UpdateReplacePolicy": { "type": "string" } }, - "required": [ - "Enabled", - "StagingDistributionDnsNames" - ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig": { + "AWS::CloudFormation::GeneratedTemplate.TemplateProgress": { "additionalProperties": false, "properties": { - "IdleTTL": { - "markdownDescription": "The amount of time after which you want sessions to cease if no requests are received. Allowed values are 300\u20133600 seconds (5\u201360 minutes).", - "title": "IdleTTL", + "ResourcesFailed": { "type": "number" }, - "MaximumTTL": { - "markdownDescription": "The maximum amount of time to consider requests from the viewer as being part of the same session. Allowed values are 300\u20133600 seconds (5\u201360 minutes).", - "title": "MaximumTTL", + "ResourcesPending": { + "type": "number" + }, + "ResourcesProcessing": { + "type": "number" + }, + "ResourcesSucceeded": { "type": "number" } }, - "required": [ - "IdleTTL", - "MaximumTTL" - ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderConfig": { + "AWS::CloudFormation::GuardHook": { "additionalProperties": false, "properties": { - "Header": { - "markdownDescription": "The request header name that you want CloudFront to send to your staging distribution. The header must contain the prefix `aws-cf-cd-` .", - "title": "Header", + "Condition": { "type": "string" }, - "Value": { - "markdownDescription": "The request header value.", - "title": "Value", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Alias": { + "markdownDescription": "The type name alias for the Hook. This alias must be unique per account and Region.\n\nThe alias must be in the form `Name1::Name2::Name3` and must not begin with `AWS` . For example, `Private::Guard::MyTestHook` .", + "title": "Alias", + "type": "string" + }, + "ExecutionRole": { + "markdownDescription": "The IAM role that the Hook assumes to retrieve your Guard rules from S3 and optionally write a detailed Guard output report back.", + "title": "ExecutionRole", + "type": "string" + }, + "FailureMode": { + "markdownDescription": "Specifies how the Hook responds when rules fail their evaluation.\n\n- `FAIL` : Prevents the action from proceeding. This is helpful for enforcing strict compliance or security policies.\n- `WARN` : Issues warnings to users but allows actions to continue. This is useful for non-critical validations or informational checks.", + "title": "FailureMode", + "type": "string" + }, + "HookStatus": { + "markdownDescription": "Specifies if the Hook is `ENABLED` or `DISABLED` .", + "title": "HookStatus", + "type": "string" + }, + "LogBucket": { + "markdownDescription": "Specifies the name of an S3 bucket to store the Guard output report. This report contains the results of your Guard rule validations.", + "title": "LogBucket", + "type": "string" + }, + "Options": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.Options", + "markdownDescription": "Specifies the S3 location of your input parameters.", + "title": "Options" + }, + "RuleLocation": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.S3Location", + "markdownDescription": "Specifies the S3 location of your Guard rules.", + "title": "RuleLocation" + }, + "StackFilters": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.StackFilters", + "markdownDescription": "Specifies the stack level filters for the Hook.\n\nExample stack level filter in JSON:\n\n`\"StackFilters\": {\"FilteringCriteria\": \"ALL\", \"StackNames\": {\"Exclude\": [ \"stack-1\", \"stack-2\"]}}` \n\nExample stack level filter in YAML:\n\n`StackFilters: FilteringCriteria: ALL StackNames: Exclude: - stack-1 - stack-2`", + "title": "StackFilters" + }, + "TargetFilters": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.TargetFilters", + "markdownDescription": "Specifies the target filters for the Hook.\n\nExample target filter in JSON:\n\n`\"TargetFilters\": {\"Actions\": [ \"CREATE\", \"UPDATE\", \"DELETE\" ]}` \n\nExample target filter in YAML:\n\n`TargetFilters: Actions: - CREATE - UPDATE - DELETE`", + "title": "TargetFilters" + }, + "TargetOperations": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the list of operations the Hook is run against. For more information, see [Hook targets](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-concepts.html#hook-terms-hook-target) in the *CloudFormation Hooks User Guide* .\n\nValid values: `STACK` | `RESOURCE` | `CHANGE_SET` | `CLOUD_CONTROL`", + "title": "TargetOperations", + "type": "array" + } + }, + "required": [ + "Alias", + "ExecutionRole", + "FailureMode", + "HookStatus", + "RuleLocation", + "TargetOperations" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::GuardHook" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Header", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderPolicyConfig": { + "AWS::CloudFormation::GuardHook.HookTarget": { "additionalProperties": false, "properties": { - "Header": { - "markdownDescription": "The name of the HTTP header that CloudFront uses to configure for the single header policy.", - "title": "Header", + "Action": { "type": "string" }, - "Value": { - "markdownDescription": "Specifies the value to assign to the header for a single header policy.", - "title": "Value", + "InvocationPoint": { + "type": "string" + }, + "TargetName": { "type": "string" } }, "required": [ - "Header", - "Value" + "Action", + "InvocationPoint", + "TargetName" ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightConfig": { + "AWS::CloudFormation::GuardHook.Options": { "additionalProperties": false, "properties": { - "SessionStickinessConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig", - "markdownDescription": "Session stickiness provides the ability to define multiple requests from a single viewer as a single session. This prevents the potentially inconsistent experience of sending some of a given user's requests to your staging distribution, while others are sent to your primary distribution. Define the session duration using TTL values.", - "title": "SessionStickinessConfig" + "InputParams": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.S3Location", + "markdownDescription": "Specifies the S3 location where your input parameters are located.", + "title": "InputParams" + } + }, + "type": "object" + }, + "AWS::CloudFormation::GuardHook.S3Location": { + "additionalProperties": false, + "properties": { + "Uri": { + "markdownDescription": "Specifies the S3 path to the file that contains your Guard rules or input parameters (in the form `s3:///` ).\n\nFor Guard rules, the object stored in S3 must have one of the following file extensions: `.guard` , `.zip` , or `.tar.gz` .\n\nFor input parameters, the object stored in S3 must have one of the following file extensions: `.yaml` , `.json` , `.zip` , or `.tar.gz` .", + "title": "Uri", + "type": "string" }, - "Weight": { - "markdownDescription": "The percentage of traffic to send to a staging distribution, expressed as a decimal number between 0 and 0.15. For example, a value of 0.10 means 10% of traffic is sent to the staging distribution.", - "title": "Weight", - "type": "number" + "VersionId": { + "markdownDescription": "For S3 buckets with versioning enabled, specifies the unique ID of the S3 object version to download your Guard rules or input parameters from.\n\nThe Guard Hook downloads files from S3 every time the Hook is invoked. To prevent accidental changes or deletions, we recommend using a version when configuring your Guard Hook.", + "title": "VersionId", + "type": "string" } }, "required": [ - "Weight" + "Uri" ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightPolicyConfig": { + "AWS::CloudFormation::GuardHook.StackFilters": { "additionalProperties": false, "properties": { - "SessionStickinessConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig", - "markdownDescription": "Enable session stickiness for the associated origin or cache settings.", - "title": "SessionStickinessConfig" + "FilteringCriteria": { + "markdownDescription": "The filtering criteria.\n\n- All stack names and stack roles ( `All` ): The Hook will only be invoked when all specified filters match.\n- Any stack names and stack roles ( `Any` ): The Hook will be invoked if at least one of the specified filters match.", + "title": "FilteringCriteria", + "type": "string" }, - "Weight": { - "markdownDescription": "The percentage of requests that CloudFront will use to send to an associated origin or cache settings.", - "title": "Weight", - "type": "number" + "StackNames": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.StackNames", + "markdownDescription": "Includes or excludes specific stacks from Hook invocations.", + "title": "StackNames" + }, + "StackRoles": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.StackRoles", + "markdownDescription": "Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.", + "title": "StackRoles" } }, "required": [ - "Weight" + "FilteringCriteria" ], "type": "object" }, - "AWS::CloudFront::ContinuousDeploymentPolicy.TrafficConfig": { + "AWS::CloudFormation::GuardHook.StackNames": { "additionalProperties": false, "properties": { - "SingleHeaderConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderConfig", - "markdownDescription": "Determines which HTTP requests are sent to the staging distribution.", - "title": "SingleHeaderConfig" + "Exclude": { + "items": { + "type": "string" + }, + "markdownDescription": "The stack names to exclude. All stacks except those listed here will invoke the Hook.", + "title": "Exclude", + "type": "array" }, - "SingleWeightConfig": { - "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightConfig", - "markdownDescription": "Contains the percentage of traffic to send to the staging distribution.", - "title": "SingleWeightConfig" + "Include": { + "items": { + "type": "string" + }, + "markdownDescription": "The stack names to include. Only the stacks specified in this list will invoke the Hook.", + "title": "Include", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::GuardHook.StackRoles": { + "additionalProperties": false, + "properties": { + "Exclude": { + "items": { + "type": "string" + }, + "markdownDescription": "The IAM role ARNs for stacks you want to exclude. The Hook will be invoked on all stacks except those initiated by the specified roles.", + "title": "Exclude", + "type": "array" }, - "Type": { - "markdownDescription": "The type of traffic configuration.", - "title": "Type", - "type": "string" + "Include": { + "items": { + "type": "string" + }, + "markdownDescription": "The IAM role ARNs to target stacks associated with these roles. Only stack operations initiated by these roles will invoke the Hook.", + "title": "Include", + "type": "array" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::CloudFront::Distribution": { + "AWS::CloudFormation::GuardHook.TargetFilters": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InvocationPoints": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::GuardHook.HookTarget" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::HookDefaultVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -69410,28 +70938,27 @@ "Properties": { "additionalProperties": false, "properties": { - "DistributionConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig", - "markdownDescription": "The distribution's configuration.", - "title": "DistributionConfig" + "TypeName": { + "markdownDescription": "The name of the Hook.\n\nYou must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", + "title": "TypeName", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A complex type that contains zero or more `Tag` elements.", - "title": "Tags", - "type": "array" + "TypeVersionArn": { + "markdownDescription": "The version ID of the type configuration.\n\nYou must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", + "title": "TypeVersionArn", + "type": "string" + }, + "VersionId": { + "markdownDescription": "The version ID of the type specified.\n\nYou must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", + "title": "VersionId", + "type": "string" } }, - "required": [ - "DistributionConfig" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::Distribution" + "AWS::CloudFormation::HookDefaultVersion" ], "type": "string" }, @@ -69445,1197 +70972,980 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::CloudFront::Distribution.CacheBehavior": { + "AWS::CloudFormation::HookTypeConfig": { "additionalProperties": false, "properties": { - "AllowedMethods": { - "items": { - "type": "string" - }, - "markdownDescription": "A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:\n\n- CloudFront forwards only `GET` and `HEAD` requests.\n- CloudFront forwards only `GET` , `HEAD` , and `OPTIONS` requests.\n- CloudFront forwards `GET, HEAD, OPTIONS, PUT, PATCH, POST` , and `DELETE` requests.\n\nIf you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.", - "title": "AllowedMethods", - "type": "array" - }, - "CachePolicyId": { - "markdownDescription": "The unique identifier of the cache policy that is attached to this cache behavior. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `CacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .", - "title": "CachePolicyId", + "Condition": { "type": "string" }, - "CachedMethods": { - "items": { - "type": "string" - }, - "markdownDescription": "A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:\n\n- CloudFront caches responses to `GET` and `HEAD` requests.\n- CloudFront caches responses to `GET` , `HEAD` , and `OPTIONS` requests.\n\nIf you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.", - "title": "CachedMethods", - "type": "array" - }, - "Compress": { - "markdownDescription": "Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see [Serving Compressed Files](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) in the *Amazon CloudFront Developer Guide* .", - "title": "Compress", - "type": "boolean" - }, - "DefaultTTL": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `DefaultTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", - "title": "DefaultTTL", - "type": "number" - }, - "FieldLevelEncryptionId": { - "markdownDescription": "The value of `ID` for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for this cache behavior.", - "title": "FieldLevelEncryptionId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues", - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see [Working with policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to include values in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `CacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .\n\nA complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.", - "title": "ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" - }, - "markdownDescription": "A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the `LIVE` stage to associate them with a cache behavior.", - "title": "FunctionAssociations", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "GrpcConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.GrpcConfig", - "markdownDescription": "The gRPC configuration for your cache behavior.", - "title": "GrpcConfig" + "Metadata": { + "type": "object" }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "markdownDescription": "Specifies the activated Hook type configuration, in this AWS account and AWS Region .\n\nYou must specify either `TypeName` and `Configuration` or `TypeArn` and `Configuration` .", + "title": "Configuration", + "type": "string" + }, + "ConfigurationAlias": { + "markdownDescription": "An alias by which to refer to this configuration data.\n\nDefaults to `default` alias. Hook types currently support default configuration alias.", + "title": "ConfigurationAlias", + "type": "string" + }, + "TypeArn": { + "markdownDescription": "The Amazon Resource Number (ARN) for the Hook to set `Configuration` for.\n\nYou must specify either `TypeName` and `Configuration` or `TypeArn` and `Configuration` .", + "title": "TypeArn", + "type": "string" + }, + "TypeName": { + "markdownDescription": "The unique name for your Hook. Specifies a three-part namespace for your Hook, with a recommended pattern of `Organization::Service::Hook` .\n\nYou must specify either `TypeName` and `Configuration` or `TypeArn` and `Configuration` .", + "title": "TypeName", + "type": "string" + } }, - "markdownDescription": "A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.", - "title": "LambdaFunctionAssociations", - "type": "array" - }, - "MaxTTL": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MaxTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", - "title": "MaxTTL", - "type": "number" - }, - "MinTTL": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MinTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nYou must specify `0` for `MinTTL` if you configure CloudFront to forward all headers to your origin (under `Headers` , if you specify `1` for `Quantity` and `*` for `Name` ).", - "title": "MinTTL", - "type": "number" + "required": [ + "Configuration" + ], + "type": "object" }, - "OriginRequestPolicyId": { - "markdownDescription": "The unique identifier of the origin request policy that is attached to this cache behavior. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginRequestPolicyId", + "Type": { + "enum": [ + "AWS::CloudFormation::HookTypeConfig" + ], "type": "string" }, - "PathPattern": { - "markdownDescription": "The pattern (for example, `images/*.jpg` ) that specifies which requests to apply the behavior to. When CloudFront receives a viewer request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution.\n\n> You can optionally include a slash ( `/` ) at the beginning of the path pattern. For example, `/images/*.jpg` . CloudFront behavior is the same with or without the leading `/` . \n\nThe path pattern for the default cache behavior is `*` and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.\n\nFor more information, see [Path Pattern](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern) in the *Amazon CloudFront Developer Guide* .", - "title": "PathPattern", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "RealtimeLogConfigArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this cache behavior. For more information, see [Real-time logs](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html) in the *Amazon CloudFront Developer Guide* .", - "title": "RealtimeLogConfigArn", + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::HookVersion": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "ResponseHeadersPolicyId": { - "markdownDescription": "The identifier for a response headers policy.", - "title": "ResponseHeadersPolicyId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SmoothStreaming": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nIndicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify `true` ; if not, specify `false` . If you specify `true` for `SmoothStreaming` , you can still distribute other content using this cache behavior if the content matches the value of `PathPattern` .", - "title": "SmoothStreaming", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TargetOriginId": { - "markdownDescription": "The value of `ID` for the origin that you want CloudFront to route requests to when they match this cache behavior.", - "title": "TargetOriginId", - "type": "string" + "Metadata": { + "type": "object" }, - "TrustedKeyGroups": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ExecutionRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.", + "title": "ExecutionRoleArn", + "type": "string" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig", + "markdownDescription": "Contains logging configuration information for an extension.", + "title": "LoggingConfig" + }, + "SchemaHandlerPackage": { + "markdownDescription": "A URL to the Amazon S3 bucket for the Hook project package that contains the necessary files for the Hook you want to register.\n\nFor information on generating a schema handler package, see [Modeling custom CloudFormation Hooks](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-model.html) in the *CloudFormation Hooks User Guide* .\n\n> To register the Hook, you must have `s3:GetObject` permissions to access the S3 objects.", + "title": "SchemaHandlerPackage", + "type": "string" + }, + "TypeName": { + "markdownDescription": "The unique name for your Hook. Specifies a three-part namespace for your Hook, with a recommended pattern of `Organization::Service::Hook` .\n\n> The following organization namespaces are reserved and can't be used in your Hook type names:\n> \n> - `Alexa`\n> - `AMZN`\n> - `Amazon`\n> - `ASK`\n> - `AWS`\n> - `Custom`\n> - `Dev`", + "title": "TypeName", + "type": "string" + } }, - "markdownDescription": "A list of key groups that CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", - "title": "TrustedKeyGroups", - "type": "array" + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], + "type": "object" }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "markdownDescription": "> We recommend using `TrustedKeyGroups` instead of `TrustedSigners` . > This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA list of AWS account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in the trusted signer's AWS account . The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", - "title": "TrustedSigners", - "type": "array" + "Type": { + "enum": [ + "AWS::CloudFormation::HookVersion" + ], + "type": "string" }, - "ViewerProtocolPolicy": { - "markdownDescription": "The protocol that viewers can use to access the files in the origin specified by `TargetOriginId` when a request matches the path pattern in `PathPattern` . You can specify the following options:\n\n- `allow-all` : Viewers can use HTTP or HTTPS.\n- `redirect-to-https` : If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.\n- `https-only` : If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).\n\nFor more information about requiring the HTTPS protocol, see [Requiring HTTPS Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) in the *Amazon CloudFront Developer Guide* .\n\n> The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see [Managing Cache Expiration](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", - "title": "ViewerProtocolPolicy", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::Distribution.CacheTagConfig": { + "AWS::CloudFormation::HookVersion.LoggingConfig": { "additionalProperties": false, "properties": { - "HeaderName": { + "LogGroupName": { + "markdownDescription": "The Amazon CloudWatch Logs group to which CloudFormation sends error logging information when invoking the extension's handlers.", + "title": "LogGroupName", + "type": "string" + }, + "LogRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role that CloudFormation should assume when sending log entries to CloudWatch Logs.", + "title": "LogRoleArn", "type": "string" } }, - "required": [ - "HeaderName" - ], "type": "object" }, - "AWS::CloudFront::Distribution.ConnectionFunctionAssociation": { + "AWS::CloudFormation::LambdaHook": { "additionalProperties": false, "properties": { - "Id": { - "markdownDescription": "The association's ID.", - "title": "Id", + "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": { + "Alias": { + "markdownDescription": "The type name alias for the Hook. This alias must be unique per account and Region.\n\nThe alias must be in the form `Name1::Name2::Name3` and must not begin with `AWS` . For example, `Private::Lambda::MyTestHook` .", + "title": "Alias", + "type": "string" + }, + "AutoUpdate": { + "type": "boolean" + }, + "ExecutionRole": { + "markdownDescription": "The IAM role that the Hook assumes to invoke your Lambda function.", + "title": "ExecutionRole", + "type": "string" + }, + "FailureMode": { + "markdownDescription": "Specifies how the Hook responds when the Lambda function invoked by the Hook returns a `FAILED` response.\n\n- `FAIL` : Prevents the action from proceeding. This is helpful for enforcing strict compliance or security policies.\n- `WARN` : Issues warnings to users but allows actions to continue. This is useful for non-critical validations or informational checks.", + "title": "FailureMode", + "type": "string" + }, + "HookStatus": { + "markdownDescription": "Specifies if the Hook is `ENABLED` or `DISABLED` .", + "title": "HookStatus", + "type": "string" + }, + "LambdaFunction": { + "markdownDescription": "Specifies the Lambda function for the Hook. You can use:\n\n- The full Amazon Resource Name (ARN) without a suffix.\n- A qualified ARN with a version or alias suffix.", + "title": "LambdaFunction", + "type": "string" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.LoggingConfig" + }, + "StackFilters": { + "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.StackFilters", + "markdownDescription": "Specifies the stack level filters for the Hook.\n\nExample stack level filter in JSON:\n\n`\"StackFilters\": {\"FilteringCriteria\": \"ALL\", \"StackNames\": {\"Exclude\": [ \"stack-1\", \"stack-2\"]}}` \n\nExample stack level filter in YAML:\n\n`StackFilters: FilteringCriteria: ALL StackNames: Exclude: - stack-1 - stack-2`", + "title": "StackFilters" + }, + "TargetFilters": { + "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.TargetFilters", + "markdownDescription": "Specifies the target filters for the Hook.\n\nExample target filter in JSON:\n\n`\"TargetFilters\": {\"Actions\": [ \"CREATE\", \"UPDATE\", \"DELETE\" ]}` \n\nExample target filter in YAML:\n\n`TargetFilters: Actions: - CREATE - UPDATE - DELETE`", + "title": "TargetFilters" + }, + "TargetOperations": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the list of operations the Hook is run against. For more information, see [Hook targets](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-concepts.html#hook-terms-hook-target) in the *CloudFormation Hooks User Guide* .\n\nValid values: `STACK` | `RESOURCE` | `CHANGE_SET` | `CLOUD_CONTROL`", + "title": "TargetOperations", + "type": "array" + } + }, + "required": [ + "Alias", + "ExecutionRole", + "FailureMode", + "HookStatus", + "LambdaFunction", + "TargetOperations" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::LambdaHook" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Id" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::Distribution.Cookies": { + "AWS::CloudFormation::LambdaHook.HookTarget": { "additionalProperties": false, "properties": { - "Forward": { - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send cookies to the origin but not include them in the cache key, use origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nSpecifies which cookies to forward to the origin for this cache behavior: all, none, or the list of cookies specified in the `WhitelistedNames` complex type.\n\nAmazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an Amazon S3 origin, specify none for the `Forward` element.", - "title": "Forward", + "Action": { "type": "string" }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nRequired if you specify `whitelist` for the value of `Forward` . A complex type that specifies how many different cookies you want CloudFront to forward to the origin for this cache behavior and, if you want to forward selected cookies, the names of those cookies.\n\nIf you specify `all` or `none` for the value of `Forward` , omit `WhitelistedNames` . If you change the value of `Forward` from `whitelist` to `all` or `none` and you don't delete the `WhitelistedNames` element and its child elements, CloudFront deletes them automatically.\n\nFor the current limit on the number of cookie names that you can whitelist for each cache behavior, see [CloudFront Limits](https://docs.aws.amazon.com/general/latest/gr/xrefaws_service_limits.html#limits_cloudfront) in the *AWS General Reference* .", - "title": "WhitelistedNames", - "type": "array" + "InvocationPoint": { + "type": "string" + }, + "TargetName": { + "type": "string" } }, "required": [ - "Forward" + "Action", + "InvocationPoint", + "TargetName" ], "type": "object" }, - "AWS::CloudFront::Distribution.CustomErrorResponse": { + "AWS::CloudFormation::LambdaHook.LoggingConfig": { "additionalProperties": false, "properties": { - "ErrorCachingMinTTL": { - "markdownDescription": "The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status code specified in `ErrorCode` . When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.\n\nFor more information, see [Customizing Error Responses](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) in the *Amazon CloudFront Developer Guide* .", - "title": "ErrorCachingMinTTL", - "type": "number" - }, - "ErrorCode": { - "markdownDescription": "The HTTP status code for which you want to specify a custom error page and/or a caching duration.", - "title": "ErrorCode", - "type": "number" - }, - "ResponseCode": { - "markdownDescription": "The HTTP status code that you want CloudFront to return to the viewer along with the custom error page. There are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute `200` , the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify `400` or `500` as the `ResponseCode` for all 4xx or 5xx errors.\n- You might want to return a `200` status code (OK) and static website so your customers don't know that your website is down.\n\nIf you specify a value for `ResponseCode` , you must also specify a value for `ResponsePagePath` .", - "title": "ResponseCode", - "type": "number" + "LogGroupName": { + "type": "string" }, - "ResponsePagePath": { - "markdownDescription": "The path to the custom error page that you want CloudFront to return to a viewer when your origin returns the HTTP status code specified by `ErrorCode` , for example, `/4xx-errors/403-forbidden.html` . If you want to store your objects and your custom error pages in different locations, your distribution must include a cache behavior for which the following is true:\n\n- The value of `PathPattern` matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named `/4xx-errors` . Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, `/4xx-errors/*` .\n- The value of `TargetOriginId` specifies the value of the `ID` element for the origin that contains your custom error pages.\n\nIf you specify a value for `ResponsePagePath` , you must also specify a value for `ResponseCode` .\n\nWe recommend that you store custom error pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.", - "title": "ResponsePagePath", + "LogRoleArn": { "type": "string" } }, "required": [ - "ErrorCode" + "LogGroupName", + "LogRoleArn" ], "type": "object" }, - "AWS::CloudFront::Distribution.CustomOriginConfig": { + "AWS::CloudFormation::LambdaHook.StackFilters": { "additionalProperties": false, "properties": { - "HTTPPort": { - "markdownDescription": "The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port that the origin listens on.", - "title": "HTTPPort", - "type": "number" - }, - "HTTPSPort": { - "markdownDescription": "The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port that the origin listens on.", - "title": "HTTPSPort", - "type": "number" - }, - "IpAddressType": { - "markdownDescription": "Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose `dualstack` to help optimize reliability.", - "title": "IpAddressType", - "type": "string" - }, - "OriginKeepaliveTimeout": { - "markdownDescription": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n\nFor more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginKeepaliveTimeout", - "type": "number" - }, - "OriginMtlsConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginMtlsConfig", - "markdownDescription": "", - "title": "OriginMtlsConfig" - }, - "OriginProtocolPolicy": { - "markdownDescription": "Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Valid values are:\n\n- `http-only` \u2013 CloudFront always uses HTTP to connect to the origin.\n- `match-viewer` \u2013 CloudFront connects to the origin using the same protocol that the viewer used to connect to CloudFront.\n- `https-only` \u2013 CloudFront always uses HTTPS to connect to the origin.", - "title": "OriginProtocolPolicy", + "FilteringCriteria": { + "markdownDescription": "The filtering criteria.\n\n- All stack names and stack roles ( `All` ): The Hook will only be invoked when all specified filters match.\n- Any stack names and stack roles ( `Any` ): The Hook will be invoked if at least one of the specified filters match.", + "title": "FilteringCriteria", "type": "string" }, - "OriginReadTimeout": { - "markdownDescription": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n\nFor more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginReadTimeout", - "type": "number" + "StackNames": { + "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.StackNames", + "markdownDescription": "Includes or excludes specific stacks from Hook invocations.", + "title": "StackNames" }, - "OriginSSLProtocols": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your origin over HTTPS. Valid values include `SSLv3` , `TLSv1` , `TLSv1.1` , and `TLSv1.2` .\n\nFor more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginSSLProtocols) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginSSLProtocols", - "type": "array" + "StackRoles": { + "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.StackRoles", + "markdownDescription": "Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.", + "title": "StackRoles" } }, "required": [ - "OriginProtocolPolicy" + "FilteringCriteria" ], "type": "object" }, - "AWS::CloudFront::Distribution.DefaultCacheBehavior": { + "AWS::CloudFormation::LambdaHook.StackNames": { "additionalProperties": false, "properties": { - "AllowedMethods": { + "Exclude": { "items": { "type": "string" }, - "markdownDescription": "A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:\n\n- CloudFront forwards only `GET` and `HEAD` requests.\n- CloudFront forwards only `GET` , `HEAD` , and `OPTIONS` requests.\n- CloudFront forwards `GET, HEAD, OPTIONS, PUT, PATCH, POST` , and `DELETE` requests.\n\nIf you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.", - "title": "AllowedMethods", + "markdownDescription": "The stack names to exclude. All stacks except those listed here will invoke the Hook.", + "title": "Exclude", "type": "array" }, - "CachePolicyId": { - "markdownDescription": "The unique identifier of the cache policy that is attached to the default cache behavior. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `DefaultCacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .", - "title": "CachePolicyId", - "type": "string" - }, - "CachedMethods": { + "Include": { "items": { "type": "string" }, - "markdownDescription": "A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:\n\n- CloudFront caches responses to `GET` and `HEAD` requests.\n- CloudFront caches responses to `GET` , `HEAD` , and `OPTIONS` requests.\n\nIf you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.", - "title": "CachedMethods", - "type": "array" - }, - "Compress": { - "markdownDescription": "Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify `true` ; if not, specify `false` . For more information, see [Serving Compressed Files](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) in the *Amazon CloudFront Developer Guide* .", - "title": "Compress", - "type": "boolean" - }, - "DefaultTTL": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `DefaultTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", - "title": "DefaultTTL", - "type": "number" - }, - "FieldLevelEncryptionId": { - "markdownDescription": "The value of `ID` for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for the default cache behavior.", - "title": "FieldLevelEncryptionId", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues", - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see [Working with policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to include values in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `DefaultCacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .\n\nA complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.", - "title": "ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" - }, - "markdownDescription": "A list of CloudFront functions that are associated with this cache behavior. Your functions must be published to the `LIVE` stage to associate them with a cache behavior.", - "title": "FunctionAssociations", - "type": "array" - }, - "GrpcConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.GrpcConfig", - "markdownDescription": "The gRPC configuration for your cache behavior.", - "title": "GrpcConfig" - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" - }, - "markdownDescription": "A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.", - "title": "LambdaFunctionAssociations", + "markdownDescription": "The stack names to include. Only the stacks specified in this list will invoke the Hook.", + "title": "Include", "type": "array" - }, - "MaxTTL": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MaxTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", - "title": "MaxTTL", - "type": "number" - }, - "MinTTL": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MinTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nYou must specify `0` for `MinTTL` if you configure CloudFront to forward all headers to your origin (under `Headers` , if you specify `1` for `Quantity` and `*` for `Name` ).", - "title": "MinTTL", - "type": "number" - }, - "OriginRequestPolicyId": { - "markdownDescription": "The unique identifier of the origin request policy that is attached to the default cache behavior. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginRequestPolicyId", - "type": "string" - }, - "RealtimeLogConfigArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this cache behavior. For more information, see [Real-time logs](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html) in the *Amazon CloudFront Developer Guide* .", - "title": "RealtimeLogConfigArn", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "markdownDescription": "The identifier for a response headers policy.", - "title": "ResponseHeadersPolicyId", - "type": "string" - }, - "SmoothStreaming": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nIndicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify `true` ; if not, specify `false` . If you specify `true` for `SmoothStreaming` , you can still distribute other content using this cache behavior if the content matches the value of `PathPattern` .", - "title": "SmoothStreaming", - "type": "boolean" - }, - "TargetOriginId": { - "markdownDescription": "The value of `ID` for the origin that you want CloudFront to route requests to when they use the default cache behavior.", - "title": "TargetOriginId", - "type": "string" - }, - "TrustedKeyGroups": { + } + }, + "type": "object" + }, + "AWS::CloudFormation::LambdaHook.StackRoles": { + "additionalProperties": false, + "properties": { + "Exclude": { "items": { "type": "string" }, - "markdownDescription": "A list of key groups that CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", - "title": "TrustedKeyGroups", + "markdownDescription": "The IAM role ARNs for stacks you want to exclude. The Hook will be invoked on all stacks except those initiated by the specified roles.", + "title": "Exclude", "type": "array" }, - "TrustedSigners": { + "Include": { "items": { "type": "string" }, - "markdownDescription": "> We recommend using `TrustedKeyGroups` instead of `TrustedSigners` . > This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA list of AWS account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in a trusted signer's AWS account . The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", - "title": "TrustedSigners", + "markdownDescription": "The IAM role ARNs to target stacks associated with these roles. Only stack operations initiated by these roles will invoke the Hook.", + "title": "Include", "type": "array" - }, - "ViewerProtocolPolicy": { - "markdownDescription": "The protocol that viewers can use to access the files in the origin specified by `TargetOriginId` when a request matches the path pattern in `PathPattern` . You can specify the following options:\n\n- `allow-all` : Viewers can use HTTP or HTTPS.\n- `redirect-to-https` : If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.\n- `https-only` : If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).\n\nFor more information about requiring the HTTPS protocol, see [Requiring HTTPS Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) in the *Amazon CloudFront Developer Guide* .\n\n> The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see [Managing Cache Expiration](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", - "title": "ViewerProtocolPolicy", - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Definition": { - "additionalProperties": false, - "properties": { - "StringSchema": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.StringSchema", - "markdownDescription": "", - "title": "StringSchema" } }, "type": "object" }, - "AWS::CloudFront::Distribution.DistributionConfig": { + "AWS::CloudFormation::LambdaHook.TargetFilters": { "additionalProperties": false, "properties": { - "Aliases": { + "Actions": { "items": { "type": "string" }, - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", - "title": "Aliases", "type": "array" }, - "AnycastIpListId": { - "markdownDescription": "> To use this field for a multi-tenant distribution, use a connection group instead. For more information, see [ConnectionGroup](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ConnectionGroup.html) . \n\nID of the Anycast static IP list that is associated with the distribution.", - "title": "AnycastIpListId", - "type": "string" - }, - "CNAMEs": { + "InvocationPoints": { "items": { "type": "string" }, - "markdownDescription": "An alias for the CloudFront distribution's domain name.\n\n> This property is legacy. We recommend that you use [Aliases](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-aliases) instead.", - "title": "CNAMEs", "type": "array" }, - "CacheBehaviors": { + "TargetNames": { "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior" + "type": "string" }, - "markdownDescription": "A complex type that contains zero or more `CacheBehavior` elements.", - "title": "CacheBehaviors", "type": "array" }, - "CacheTagConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheTagConfig" - }, - "Comment": { - "markdownDescription": "A comment to describe the distribution. The comment cannot be longer than 128 characters.", - "title": "Comment", - "type": "string" - }, - "ConnectionFunctionAssociation": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ConnectionFunctionAssociation", - "markdownDescription": "The distribution's connection function association.", - "title": "ConnectionFunctionAssociation" - }, - "ConnectionMode": { - "markdownDescription": "This field specifies whether the connection mode is through a standard distribution (direct) or a multi-tenant distribution with distribution tenants (tenant-only).", - "title": "ConnectionMode", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThe identifier of a continuous deployment policy. For more information, see `CreateContinuousDeploymentPolicy` .", - "title": "ContinuousDeploymentPolicyId", - "type": "string" - }, - "CustomErrorResponses": { + "Targets": { "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse" + "$ref": "#/definitions/AWS::CloudFormation::LambdaHook.HookTarget" }, - "markdownDescription": "A complex type that controls the following:\n\n- Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.\n- How long CloudFront caches HTTP status codes in the 4xx and 5xx range.\n\nFor more information about custom error pages, see [Customizing Error Responses](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) in the *Amazon CloudFront Developer Guide* .", - "title": "CustomErrorResponses", "type": "array" - }, - "CustomOrigin": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyCustomOrigin", - "markdownDescription": "The user-defined HTTP server that serves as the origin for content that CloudFront distributes.\n\n> This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.", - "title": "CustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior", - "markdownDescription": "A complex type that describes the default cache behavior if you don't specify a `CacheBehavior` element or if files don't match any of the values of `PathPattern` in `CacheBehavior` elements. You must create exactly one default cache behavior.", - "title": "DefaultCacheBehavior" - }, - "DefaultRootObject": { - "markdownDescription": "When a viewer requests the root URL for your distribution, the default root object is the object that you want CloudFront to request from your origin. For example, if your root URL is `https://www.example.com` , you can specify CloudFront to return the `index.html` file as the default root object. You can specify a default root object so that viewers see a specific file or object, instead of another object in your distribution (for example, `https://www.example.com/product-description.html` ). A default root object avoids exposing the contents of your distribution.\n\nYou can specify the object name or a path to the object name (for example, `index.html` or `exampleFolderName/index.html` ). Your string can't begin with a forward slash ( `/` ). Only specify the object name or the path to the object.\n\nIf you don't want to specify a default root object when you create a distribution, include an empty `DefaultRootObject` element.\n\nTo delete the default root object from an existing distribution, update the distribution configuration and include an empty `DefaultRootObject` element.\n\nTo replace the default root object, update the distribution configuration and specify the new object.\n\nFor more information about the default root object, see [Specify a default root object](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) in the *Amazon CloudFront Developer Guide* .", - "title": "DefaultRootObject", + } + }, + "type": "object" + }, + "AWS::CloudFormation::Macro": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "Enabled": { - "markdownDescription": "From this field, you can enable or disable the selected distribution.", - "title": "Enabled", - "type": "boolean" - }, - "HttpVersion": { - "markdownDescription": "(Optional) Specify the HTTP version(s) that you want viewers to use to communicate with CloudFront . The default value for new distributions is `http1.1` .\n\nFor viewers and CloudFront to use HTTP/2, viewers must support TLSv1.2 or later, and must support Server Name Indication (SNI).\n\nFor viewers and CloudFront to use HTTP/3, viewers must support TLSv1.3 and Server Name Indication (SNI). CloudFront supports HTTP/3 connection migration to allow the viewer to switch networks without losing connection. For more information about connection migration, see [Connection Migration](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc9000.html#name-connection-migration) at RFC 9000. For more information about supported TLSv1.3 ciphers, see [Supported protocols and ciphers between viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html) .", - "title": "HttpVersion", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "IPV6Enabled": { - "markdownDescription": "> To use this field for a multi-tenant distribution, use a connection group instead. For more information, see [ConnectionGroup](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ConnectionGroup.html) . \n\nIf you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution, specify `true` . If you specify `false` , CloudFront responds to IPv6 DNS requests with the DNS response code `NOERROR` and with no IP addresses. This allows viewers to submit a second request, for an IPv4 address for your distribution.\n\nIn general, you should enable IPv6 if you have users on IPv6 networks who want to access your content. However, if you're using signed URLs or signed cookies to restrict access to your content, and if you're using a custom policy that includes the `IpAddress` parameter to restrict the IP addresses that can access your content, don't enable IPv6. If you want to restrict access to some content by IP address and not restrict access to other content (or restrict access but not by IP address), you can create two distributions. For more information, see [Creating a Signed URL Using a Custom Policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-custom-policy.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you're using an Amazon Route\u00a053 AWS Integration alias resource record set to route traffic to your CloudFront distribution, you need to create a second alias resource record set when both of the following are true:\n\n- You enable IPv6 for the distribution\n- You're using alternate domain names in the URLs for your objects\n\nFor more information, see [Routing Traffic to an Amazon CloudFront Web Distribution by Using Your Domain Name](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html) in the *Amazon Route\u00a053 AWS Integration Developer Guide* .\n\nIf you created a CNAME resource record set, either with Amazon Route\u00a053 AWS Integration or with another DNS service, you don't need to make any changes. A CNAME record will route traffic to your distribution regardless of the IP address format of the viewer request.", - "title": "IPV6Enabled", - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging", - "markdownDescription": "A complex type that controls whether access logs are written for the distribution.\n\nFor more information about logging, see [Access Logs](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) in the *Amazon CloudFront Developer Guide* .", - "title": "Logging" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "OriginGroups": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups", - "markdownDescription": "A complex type that contains information about origin groups for this distribution.\n\nSpecify a value for either the `Origins` or `OriginGroups` property.", - "title": "OriginGroups" + "Metadata": { + "type": "object" }, - "Origins": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "A description of the macro.", + "title": "Description", + "type": "string" + }, + "FunctionName": { + "markdownDescription": "The Amazon Resource Name (ARN) of the underlying Lambda function that you want CloudFormation to invoke when the macro is run.", + "title": "FunctionName", + "type": "string" + }, + "LogGroupName": { + "markdownDescription": "The CloudWatch Logs group to which CloudFormation sends error logging information when invoking the macro's underlying Lambda function.\n\nThis will be an existing CloudWatch Logs LogGroup. Neither CloudFormation or Lambda will create the group.", + "title": "LogGroupName", + "type": "string" + }, + "LogRoleARN": { + "markdownDescription": "The ARN of the role CloudFormation should assume when sending log entries to CloudWatch Logs .", + "title": "LogRoleARN", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the macro. The name of the macro must be unique across all macros in the account.", + "title": "Name", + "type": "string" + } }, - "markdownDescription": "A complex type that contains information about origins for this distribution.\n\nSpecify a value for either the `Origins` or `OriginGroups` property.", - "title": "Origins", - "type": "array" + "required": [ + "FunctionName", + "Name" + ], + "type": "object" }, - "PriceClass": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThe price class that corresponds with the maximum price that you want to pay for CloudFront service. If you specify `PriceClass_All` , CloudFront responds to requests for your objects from all CloudFront edge locations.\n\nIf you specify a price class other than `PriceClass_All` , CloudFront serves your objects from the CloudFront edge location that has the lowest latency among the edge locations in your price class. Viewers who are in or near regions that are excluded from your specified price class may encounter slower performance.\n\nFor more information about price classes, see [Choosing the Price Class for a CloudFront Distribution](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html) in the *Amazon CloudFront Developer Guide* . For information about CloudFront pricing, including how price classes (such as Price Class 100) map to CloudFront regions, see [Amazon CloudFront Pricing](https://docs.aws.amazon.com/cloudfront/pricing/) .", - "title": "PriceClass", + "Type": { + "enum": [ + "AWS::CloudFormation::Macro" + ], "type": "string" }, - "Restrictions": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions", - "markdownDescription": "A complex type that identifies ways in which you want to restrict distribution of your content.", - "title": "Restrictions" - }, - "S3Origin": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyS3Origin", - "markdownDescription": "The origin as an Amazon S3 bucket.\n\n> This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.", - "title": "S3Origin" - }, - "Staging": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA Boolean that indicates whether this is a staging distribution. When this value is `true` , this is a staging distribution. When this value is `false` , this is not a staging distribution.", - "title": "Staging", - "type": "boolean" - }, - "TenantConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.TenantConfig", - "markdownDescription": "> This field only supports multi-tenant distributions. You can't specify this field for standard distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA distribution tenant configuration.", - "title": "TenantConfig" - }, - "ViewerCertificate": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate", - "markdownDescription": "A complex type that determines the distribution's SSL/TLS configuration for communicating with viewers.", - "title": "ViewerCertificate" - }, - "ViewerMtlsConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerMtlsConfig", - "markdownDescription": "The distribution's viewer mTLS configuration.", - "title": "ViewerMtlsConfig" - }, - "WebACLId": { - "markdownDescription": "> Multi-tenant distributions only support AWS WAF V2 web ACLs. \n\nA unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution. To specify a web ACL created using the latest version of AWS WAF , use the ACL ARN, for example `arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` . To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` .\n\nAWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about AWS WAF , see the [AWS WAF Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html) .", - "title": "WebACLId", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DefaultCacheBehavior", - "Enabled" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::Distribution.ForwardedValues": { + "AWS::CloudFormation::ModuleDefaultVersion": { "additionalProperties": false, "properties": { - "Cookies": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies", - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nA complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see [How CloudFront Forwards, Caches, and Logs Cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) in the *Amazon CloudFront Developer Guide* .", - "title": "Cookies" + "Condition": { + "type": "string" }, - "Headers": { - "items": { - "type": "string" - }, - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include headers in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send headers to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nA complex type that specifies the `Headers` , if any, that you want CloudFront to forward to the origin for this cache behavior (whitelisted headers). For the headers that you specify, CloudFront also caches separate versions of a specified object that is based on the header values in viewer requests.\n\nFor more information, see [Caching Content Based on Request Headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) in the *Amazon CloudFront Developer Guide* .", - "title": "Headers", - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "QueryString": { - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include query strings in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nIndicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of `QueryString` and on the values that you specify for `QueryStringCacheKeys` , if any:\n\nIf you specify true for `QueryString` and you don't specify any values for `QueryStringCacheKeys` , CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin.\n\nIf you specify true for `QueryString` and you specify one or more values for `QueryStringCacheKeys` , CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify.\n\nIf you specify false for `QueryString` , CloudFront doesn't forward any query string parameters to the origin, and doesn't cache based on query string parameters.\n\nFor more information, see [Configuring CloudFront to Cache Based on Query String Parameters](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html) in the *Amazon CloudFront Developer Guide* .", - "title": "QueryString", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "QueryStringCacheKeys": { - "items": { - "type": "string" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the module version to set as the default version.\n\nConditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .", + "title": "Arn", + "type": "string" + }, + "ModuleName": { + "markdownDescription": "The name of the module.\n\nConditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .", + "title": "ModuleName", + "type": "string" + }, + "VersionId": { + "markdownDescription": "The ID for the specific version of the module.\n\nConditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .", + "title": "VersionId", + "type": "string" + } }, - "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include query strings in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nA complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.", - "title": "QueryStringCacheKeys", - "type": "array" - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "markdownDescription": "The event type of the function, either `viewer-request` or `viewer-response` . You cannot use origin-facing event types ( `origin-request` and `origin-response` ) with a CloudFront function.", - "title": "EventType", - "type": "string" + "type": "object" }, - "FunctionARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the function.", - "title": "FunctionARN", + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleDefaultVersion" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "type": "string" - }, - "markdownDescription": "A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content ( `whitelist` ) or not distribute your content ( `blacklist` ).\n\nThe `Location` element is a two-letter, uppercase country code for a country that you want to include in your `blacklist` or `whitelist` . Include one `Location` element for each country.\n\nCloudFront and `MaxMind` both use `ISO 3166` country codes. For the current list of countries and the corresponding codes, see `ISO 3166-1-alpha-2` code on the *International Organization for Standardization* website. You can also refer to the country list on the CloudFront console, which includes both country names and codes.", - "title": "Locations", - "type": "array" }, - "RestrictionType": { - "markdownDescription": "The method that you want to use to restrict distribution of your content by country:\n\n- `none` : No geo restriction is enabled, meaning access to content is not restricted by client geo location.\n- `blacklist` : The `Location` elements specify the countries in which you don't want CloudFront to distribute your content.\n- `whitelist` : The `Location` elements specify the countries in which you want CloudFront to distribute your content.", - "title": "RestrictionType", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "RestrictionType" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.GrpcConfig": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "Enables your CloudFront distribution to receive gRPC requests and to proxy them directly to your origins.", - "title": "Enabled", - "type": "boolean" - } - }, - "required": [ - "Enabled" + "Type" ], "type": "object" }, - "AWS::CloudFront::Distribution.LambdaFunctionAssociation": { + "AWS::CloudFormation::ModuleVersion": { "additionalProperties": false, "properties": { - "EventType": { - "markdownDescription": "Specifies the event type that triggers a Lambda@Edge function invocation. You can specify the following values:\n\n- `viewer-request` : The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.\n- `origin-request` : The function executes only when CloudFront sends a request to your origin. When the requested object is in the edge cache, the function doesn't execute.\n- `origin-response` : The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn't execute.\n- `viewer-response` : The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache.\n\nIf the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.", - "title": "EventType", + "Condition": { "type": "string" }, - "IncludeBody": { - "markdownDescription": "A flag that allows a Lambda@Edge function to have read access to the body content. For more information, see [Accessing the Request Body by Choosing the Include Body Option](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-include-body-access.html) in the Amazon CloudFront Developer Guide.", - "title": "IncludeBody", - "type": "boolean" - }, - "LambdaFunctionARN": { - "markdownDescription": "The ARN of the Lambda@Edge function. You must specify the ARN of a function version; you can't specify an alias or $LATEST.", - "title": "LambdaFunctionARN", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "markdownDescription": "The domain name assigned to your CloudFront distribution.", - "title": "DNSName", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "HTTPPort": { - "markdownDescription": "The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port that the origin listens on.", - "title": "HTTPPort", - "type": "number" - }, - "HTTPSPort": { - "markdownDescription": "The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port that the origin listens on.", - "title": "HTTPSPort", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "OriginProtocolPolicy": { - "markdownDescription": "Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin.", - "title": "OriginProtocolPolicy", - "type": "string" + "Metadata": { + "type": "object" }, - "OriginSSLProtocols": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ModuleName": { + "markdownDescription": "The name of the module being registered.", + "title": "ModuleName", + "type": "string" + }, + "ModulePackage": { + "markdownDescription": "A URL to the S3 bucket for the package that contains the template fragment and schema files for the module version to register.\n\nFor more information, see [Module structure and requirements](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/modules-structure.html) in the *CloudFormation Command Line Interface (CLI) User Guide* .\n\n> To register the module version, you must have `s3:GetObject` permissions to access the S3 objects.", + "title": "ModulePackage", + "type": "string" + } }, - "markdownDescription": "The minimum SSL/TLS protocol version that CloudFront uses when communicating with your origin server over HTTPs.\n\nFor more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginSSLProtocols", - "type": "array" - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "markdownDescription": "The domain name assigned to your CloudFront distribution.", - "title": "DNSName", + "required": [ + "ModuleName", + "ModulePackage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleVersion" + ], "type": "string" }, - "OriginAccessIdentity": { - "markdownDescription": "The CloudFront origin access identity to associate with the distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 through CloudFront .\n\n> This property is legacy. We recommend that you use [OriginAccessControl](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html) instead.", - "title": "OriginAccessIdentity", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DNSName" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::Distribution.Logging": { + "AWS::CloudFormation::PublicTypeVersion": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The Amazon S3 bucket to store the access logs in, for example, `amzn-s3-demo-bucket.s3.amazonaws.com` .", - "title": "Bucket", - "type": "string" - }, - "IncludeCookies": { - "markdownDescription": "Specifies whether you want CloudFront to include cookies in access logs, specify `true` for `IncludeCookies` . If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you don't want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify `false` for `IncludeCookies` .", - "title": "IncludeCookies", - "type": "boolean" - }, - "Prefix": { - "markdownDescription": "An optional string that you want CloudFront to prefix to the access log `filenames` for this distribution, for example, `myprefix/` . If you want to enable logging, but you don't want to specify a prefix, you still must include an empty `Prefix` element in the `Logging` element.", - "title": "Prefix", + "Condition": { "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.Origin": { - "additionalProperties": false, - "properties": { - "ConnectionAttempts": { - "markdownDescription": "The number of times that CloudFront attempts to connect to the origin. The minimum number is 1, the maximum is 3, and the default (if you don't specify otherwise) is 3.\n\nFor a custom origin (including an Amazon S3 bucket that's configured with static website hosting), this value also specifies the number of times that CloudFront attempts to get a response from the origin, in the case of an [Origin Response Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) .\n\nFor more information, see [Origin Connection Attempts](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-attempts) in the *Amazon CloudFront Developer Guide* .", - "title": "ConnectionAttempts", - "type": "number" - }, - "ConnectionTimeout": { - "markdownDescription": "The number of seconds that CloudFront waits when trying to establish a connection to the origin. The minimum timeout is 1 second, the maximum is 10 seconds, and the default (if you don't specify otherwise) is 10 seconds.\n\nFor more information, see [Origin Connection Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-timeout) in the *Amazon CloudFront Developer Guide* .", - "title": "ConnectionTimeout", - "type": "number" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig", - "markdownDescription": "Use this type to specify an origin that is not an Amazon S3 bucket, with one exception. If the Amazon S3 bucket is configured with static website hosting, use this type. If the Amazon S3 bucket is not configured with static website hosting, use the `S3OriginConfig` type instead.", - "title": "CustomOriginConfig" }, - "DomainName": { - "markdownDescription": "The domain name for the origin.\n\nFor more information, see [Origin Domain Name](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDomainName) in the *Amazon CloudFront Developer Guide* .", - "title": "DomainName", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Id": { - "markdownDescription": "A unique identifier for the origin. This value must be unique within the distribution.\n\nUse this value to specify the `TargetOriginId` in a `CacheBehavior` or `DefaultCacheBehavior` .", - "title": "Id", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "OriginAccessControlId": { - "markdownDescription": "The unique identifier of an origin access control for this origin.\n\nFor more information, see [Restricting access to an Amazon S3 origin](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginAccessControlId", - "type": "string" + "Metadata": { + "type": "object" }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader" + "Properties": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The Amazon Resource Number (ARN) of the extension.\n\nConditional: You must specify `Arn` , or `TypeName` and `Type` .", + "title": "Arn", + "type": "string" + }, + "LogDeliveryBucket": { + "markdownDescription": "The S3 bucket to which CloudFormation delivers the contract test execution logs.\n\nCloudFormation delivers the logs by the time contract testing has completed and the extension has been assigned a test type status of `PASSED` or `FAILED` .\n\nThe user initiating the stack operation must be able to access items in the specified S3 bucket. Specifically, the user needs the following permissions:\n\n- s3:GetObject\n- s3:PutObject", + "title": "LogDeliveryBucket", + "type": "string" + }, + "PublicVersionNumber": { + "markdownDescription": "The version number to assign to this version of the extension.\n\nUse the following format, and adhere to semantic versioning when assigning a version number to your extension:\n\n`MAJOR.MINOR.PATCH`\n\nFor more information, see [Semantic Versioning 2.0.0](https://docs.aws.amazon.com/https://semver.org/) .\n\nIf you don't specify a version number, CloudFormation increments the version number by one minor version release.\n\nYou cannot specify a version number the first time you publish a type. CloudFormation automatically sets the first version number to be `1.0.0` .", + "title": "PublicVersionNumber", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of the extension to test.\n\nConditional: You must specify `Arn` , or `TypeName` and `Type` .", + "title": "Type", + "type": "string" + }, + "TypeName": { + "markdownDescription": "The name of the extension to test.\n\nConditional: You must specify `Arn` , or `TypeName` and `Type` .", + "title": "TypeName", + "type": "string" + } }, - "markdownDescription": "A list of HTTP header names and values that CloudFront adds to the requests that it sends to the origin.\n\nFor more information, see [Adding Custom Headers to Origin Requests](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/add-origin-custom-headers.html) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginCustomHeaders", - "type": "array" - }, - "OriginPath": { - "markdownDescription": "An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.\n\nFor more information, see [Origin Path](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginPath) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginPath", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield", - "markdownDescription": "CloudFront Origin Shield. Using Origin Shield can help reduce the load on your origin.\n\nFor more information, see [Using Origin Shield](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginShield" - }, - "ResponseCompletionTimeout": { - "markdownDescription": "The time (in seconds) that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection.\n\nThe value for `ResponseCompletionTimeout` must be equal to or greater than the value for `OriginReadTimeout` . If you don't set a value for `ResponseCompletionTimeout` , CloudFront doesn't enforce a maximum value.\n\nFor more information, see [Response completion timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout) in the *Amazon CloudFront Developer Guide* .", - "title": "ResponseCompletionTimeout", - "type": "number" - }, - "S3OriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig", - "markdownDescription": "Use this type to specify an origin that is an Amazon S3 bucket that is not configured with static website hosting. To specify any other type of origin, including an Amazon S3 bucket that is configured with static website hosting, use the `CustomOriginConfig` type instead.", - "title": "S3OriginConfig" + "type": "object" }, - "VpcOriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.VpcOriginConfig", - "markdownDescription": "The VPC origin configuration.", - "title": "VpcOriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "markdownDescription": "The name of a header that you want CloudFront to send to your origin. For more information, see [Adding Custom Headers to Origin Requests](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html) in the *Amazon CloudFront Developer Guide* .", - "title": "HeaderName", + "Type": { + "enum": [ + "AWS::CloudFormation::PublicTypeVersion" + ], "type": "string" }, - "HeaderValue": { - "markdownDescription": "The value for the header that you specified in the `HeaderName` field.", - "title": "HeaderValue", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "HeaderName", - "HeaderValue" + "Type" ], "type": "object" }, - "AWS::CloudFront::Distribution.OriginGroup": { + "AWS::CloudFormation::Publisher": { "additionalProperties": false, "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria", - "markdownDescription": "A complex type that contains information about the failover criteria for an origin group.", - "title": "FailoverCriteria" + "Condition": { + "type": "string" }, - "Id": { - "markdownDescription": "The origin group's ID.", - "title": "Id", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Members": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers", - "markdownDescription": "A complex type that contains information about the origins in an origin group.", - "title": "Members" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SelectionCriteria": { - "markdownDescription": "The selection criteria for the origin group. For more information, see [Create an origin group](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html#concept_origin_groups.creating) in the *Amazon CloudFront Developer Guide* .", - "title": "SelectionCriteria", - "type": "string" - } - }, - "required": [ - "FailoverCriteria", - "Id", - "Members" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes", - "markdownDescription": "The status codes that, when returned from the primary origin, will trigger CloudFront to failover to the second origin.", - "title": "StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "markdownDescription": "The ID for an origin in an origin group.", - "title": "OriginId", - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" - }, - "markdownDescription": "Items (origins) in an origin group.", - "title": "Items", - "type": "array" + "Metadata": { + "type": "object" }, - "Quantity": { - "markdownDescription": "The number of origins in an origin group.", - "title": "Quantity", - "type": "number" - } - }, - "required": [ - "Items", - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptTermsAndConditions": { + "markdownDescription": "Whether you accept the [Terms and Conditions](https://docs.aws.amazon.com/https://cloudformation-registry-documents.s3.amazonaws.com/Terms_and_Conditions_for_AWS_CloudFormation_Registry_Publishers.pdf) for publishing extensions in the CloudFormation registry. You must accept the terms and conditions in order to register to publish public extensions to the CloudFormation registry.\n\nThe default is `false` .", + "title": "AcceptTermsAndConditions", + "type": "boolean" + }, + "ConnectionArn": { + "markdownDescription": "If you are using a Bitbucket or GitHub account for identity verification, the Amazon Resource Name (ARN) for your connection to that account.\n\nFor more information, see [Prerequisite: Registering your account to publish CloudFormation extensions](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs) in the *AWS CloudFormation Command Line Interface (CLI) User Guide* .", + "title": "ConnectionArn", + "type": "string" + } }, - "markdownDescription": "The items (origin groups) in a distribution.", - "title": "Items", - "type": "array" - }, - "Quantity": { - "markdownDescription": "The number of origin groups.", - "title": "Quantity", - "type": "number" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginMtlsConfig": { - "additionalProperties": false, - "properties": { - "ClientCertificateArn": { - "markdownDescription": "", - "title": "ClientCertificateArn", - "type": "string" - } - }, - "required": [ - "ClientCertificateArn" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "A flag that specifies whether Origin Shield is enabled.\n\nWhen it's enabled, CloudFront routes all requests through Origin Shield, which can help protect your origin. When it's disabled, CloudFront might send requests directly to your origin from multiple edge locations or regional edge caches.", - "title": "Enabled", - "type": "boolean" + "required": [ + "AcceptTermsAndConditions" + ], + "type": "object" }, - "OriginShieldRegion": { - "markdownDescription": "The AWS Region for Origin Shield.\n\nSpecify the AWS Region that has the lowest latency to your origin. To specify a region, use the region code, not the region name. For example, specify the US East (Ohio) region as `us-east-2` .\n\nWhen you enable CloudFront Origin Shield, you must specify the AWS Region for Origin Shield. For the list of AWS Regions that you can specify, and for help choosing the best Region for your origin, see [Choosing the AWS Region for Origin Shield](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html#choose-origin-shield-region) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginShieldRegion", + "Type": { + "enum": [ + "AWS::CloudFormation::Publisher" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.ParameterDefinition": { - "additionalProperties": false, - "properties": { - "Definition": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Definition", - "markdownDescription": "The value that you assigned to the parameter.", - "title": "Definition" }, - "Name": { - "markdownDescription": "The name of the parameter.", - "title": "Name", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Definition", - "Name" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction", - "markdownDescription": "A complex type that controls the countries in which your content is distributed. CloudFront determines the location of your users using `MaxMind` GeoIP databases. To disable geo restriction, remove the [Restrictions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-restrictions) property from your stack template.", - "title": "GeoRestriction" - } - }, - "required": [ - "GeoRestriction" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::Distribution.S3OriginConfig": { + "AWS::CloudFormation::ResourceDefaultVersion": { "additionalProperties": false, "properties": { - "OriginAccessIdentity": { - "markdownDescription": "> If you're using origin access control (OAC) instead of origin access identity, specify an empty `OriginAccessIdentity` element. For more information, see [Restricting access to an AWS](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-origin.html) in the *Amazon CloudFront Developer Guide* . \n\nThe CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can *only* access objects in an Amazon S3 bucket through CloudFront. The format of the value is:\n\n`origin-access-identity/cloudfront/ID-of-origin-access-identity`\n\nThe `*ID-of-origin-access-identity*` is the value that CloudFront returned in the `ID` element when you created the origin access identity.\n\nIf you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty `OriginAccessIdentity` element.\n\nTo delete the origin access identity from an existing distribution, update the distribution configuration and include an empty `OriginAccessIdentity` element.\n\nTo replace the origin access identity, update the distribution configuration and specify the new origin access identity.\n\nFor more information about the origin access identity, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginAccessIdentity", + "Condition": { "type": "string" }, - "OriginReadTimeout": { - "markdownDescription": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n\nFor more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginReadTimeout", - "type": "number" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "number" - }, - "markdownDescription": "The items (status codes) for an origin group.", - "title": "Items", - "type": "array" - }, - "Quantity": { - "markdownDescription": "The number of status codes.", - "title": "Quantity", - "type": "number" - } - }, - "required": [ - "Items", - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.StringSchema": { - "additionalProperties": false, - "properties": { - "Comment": { - "markdownDescription": "", - "title": "Comment", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DefaultValue": { - "markdownDescription": "", - "title": "DefaultValue", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Required": { - "markdownDescription": "", - "title": "Required", - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.TenantConfig": { - "additionalProperties": false, - "properties": { - "ParameterDefinitions": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ParameterDefinition" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TypeName": { + "markdownDescription": "The name of the resource.\n\nConditional: You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", + "title": "TypeName", + "type": "string" + }, + "TypeVersionArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource version.\n\nConditional: You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", + "title": "TypeVersionArn", + "type": "string" + }, + "VersionId": { + "markdownDescription": "The ID of a specific version of the resource. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the resource version when it's registered.\n\nConditional: You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .", + "title": "VersionId", + "type": "string" + } }, - "markdownDescription": "The parameters that you specify for a distribution tenant.", - "title": "ParameterDefinitions", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.TrustStoreConfig": { - "additionalProperties": false, - "properties": { - "AdvertiseTrustStoreCaNames": { - "markdownDescription": "The configuration to use to advertise trust store CA names.", - "title": "AdvertiseTrustStoreCaNames", - "type": "boolean" + "type": "object" }, - "IgnoreCertificateExpiry": { - "markdownDescription": "The configuration to use to ignore certificate expiration.", - "title": "IgnoreCertificateExpiry", - "type": "boolean" + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" }, - "TrustStoreId": { - "markdownDescription": "The trust store ID.", - "title": "TrustStoreId", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "TrustStoreId" + "Type" ], "type": "object" }, - "AWS::CloudFront::Distribution.ViewerCertificate": { + "AWS::CloudFormation::ResourceScan": { "additionalProperties": false, "properties": { - "AcmCertificateArn": { - "markdownDescription": "> In CloudFormation, this field name is `AcmCertificateArn` . Note the different capitalization. \n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in [Certificate Manager (ACM)](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) , provide the Amazon Resource Name (ARN) of the ACM certificate. CloudFront only supports ACM certificates in the US East (N. Virginia) Region ( `us-east-1` ).\n\nIf you specify an ACM certificate ARN, you must also specify values for `MinimumProtocolVersion` and `SSLSupportMethod` . (In CloudFormation, the field name is `SslSupportMethod` . Note the different capitalization.)", - "title": "AcmCertificateArn", + "Condition": { "type": "string" }, - "CloudFrontDefaultCertificate": { - "markdownDescription": "If the distribution uses the CloudFront domain name such as `d111111abcdef8.cloudfront.net` , set this field to `true` .\n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs), omit this field and specify values for the following fields:\n\n- `AcmCertificateArn` or `IamCertificateId` (specify a value for one, not both)\n- `MinimumProtocolVersion`\n- `SslSupportMethod`", - "title": "CloudFrontDefaultCertificate", - "type": "boolean" - }, - "IamCertificateId": { - "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . > In CloudFormation, this field name is `IamCertificateId` . Note the different capitalization. \n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html) , provide the ID of the IAM certificate.\n\nIf you specify an IAM certificate ID, you must also specify values for `MinimumProtocolVersion` and `SSLSupportMethod` . (In CloudFormation, the field name is `SslSupportMethod` . Note the different capitalization.)", - "title": "IamCertificateId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MinimumProtocolVersion": { - "markdownDescription": "If the distribution uses `Aliases` (alternate domain names or CNAMEs), specify the security policy that you want CloudFront to use for HTTPS connections with viewers. The security policy determines two settings:\n\n- The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers.\n- The ciphers that CloudFront can use to encrypt the content that it returns to viewers.\n\nFor more information, see [Security Policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValues-security-policy) and [Supported Protocols and Ciphers Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html#secure-connections-supported-ciphers) in the *Amazon CloudFront Developer Guide* .\n\n> On the CloudFront console, this setting is called *Security Policy* . \n\nWhen you're using SNI only (you set `SSLSupportMethod` to `sni-only` ), you must specify `TLSv1` or higher. (In CloudFormation, the field name is `SslSupportMethod` . Note the different capitalization.)\n\nIf the distribution uses the CloudFront domain name such as `d111111abcdef8.cloudfront.net` (you set `CloudFrontDefaultCertificate` to `true` ), CloudFront automatically sets the security policy to `TLSv1` regardless of the value that you set here.", - "title": "MinimumProtocolVersion", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SslSupportMethod": { - "markdownDescription": "> In CloudFormation, this field name is `SslSupportMethod` . Note the different capitalization. \n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs), specify which viewers the distribution accepts HTTPS connections from.\n\n- `sni-only` \u2013 The distribution accepts HTTPS connections from only viewers that support [server name indication (SNI)](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/Server_Name_Indication) . This is recommended. Most browsers and clients support SNI.\n- `vip` \u2013 The distribution accepts HTTPS connections from all viewers including those that don't support SNI. This is not recommended, and results in additional monthly charges from CloudFront.\n- `static-ip` - Do not specify this value unless your distribution has been enabled for this feature by the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact CloudFront through the [Support Center](https://docs.aws.amazon.com/support/home) .\n\nIf the distribution uses the CloudFront domain name such as `d111111abcdef8.cloudfront.net` , don't set a value for this field.", - "title": "SslSupportMethod", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.ViewerMtlsConfig": { - "additionalProperties": false, - "properties": { - "Mode": { - "markdownDescription": "The viewer mTLS mode.", - "title": "Mode", + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ScanFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::ResourceScan.ScanFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceScan" + ], "type": "string" }, - "TrustStoreConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.TrustStoreConfig", - "markdownDescription": "The trust store configuration associated with the viewer mTLS configuration.", - "title": "TrustStoreConfig" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::CloudFront::Distribution.VpcOriginConfig": { + "AWS::CloudFormation::ResourceScan.ScanFilter": { "additionalProperties": false, "properties": { - "OriginKeepaliveTimeout": { - "markdownDescription": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n\nFor more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginKeepaliveTimeout", - "type": "number" - }, - "OriginReadTimeout": { - "markdownDescription": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n\nFor more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginReadTimeout", - "type": "number" - }, - "OwnerAccountId": { - "markdownDescription": "The account ID of the AWS account that owns the VPC origin.", - "title": "OwnerAccountId", - "type": "string" - }, - "VpcOriginId": { - "markdownDescription": "The VPC origin ID.", - "title": "VpcOriginId", - "type": "string" + "Types": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "VpcOriginId" - ], "type": "object" }, - "AWS::CloudFront::DistributionTenant": { + "AWS::CloudFormation::ResourceVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -70670,71 +71980,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionGroupId": { - "markdownDescription": "The ID of the connection group for the distribution tenant. If you don't specify a connection group, CloudFront uses the default connection group.", - "title": "ConnectionGroupId", + "ExecutionRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the resource. If your resource calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. When CloudFormation needs to invoke the resource type handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource type handler, thereby supplying your resource type with the appropriate credentials.", + "title": "ExecutionRoleArn", "type": "string" }, - "Customizations": { - "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.Customizations", - "markdownDescription": "Customizations for the distribution tenant. For each distribution tenant, you can specify the geographic restrictions, and the Amazon Resource Names (ARNs) for the ACM certificate and AWS WAF web ACL. These are specific values that you can override or disable from the multi-tenant distribution that was used to create the distribution tenant.", - "title": "Customizations" + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig", + "markdownDescription": "Logging configuration information for a resource.", + "title": "LoggingConfig" }, - "DistributionId": { - "markdownDescription": "The ID of the multi-tenant distribution.", - "title": "DistributionId", + "SchemaHandlerPackage": { + "markdownDescription": "A URL to the S3 bucket for the resource project package that contains the necessary files for the resource you want to register.\n\nFor information on generating a schema handler package, see [Modeling resource types to use with CloudFormation](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-model.html) in the *CloudFormation Command Line Interface (CLI) User Guide* .\n\n> To register the resource version, you must have `s3:GetObject` permissions to access the S3 objects.", + "title": "SchemaHandlerPackage", "type": "string" }, - "Domains": { - "items": { - "type": "string" - }, - "markdownDescription": "The domains associated with the distribution tenant.", - "title": "Domains", - "type": "array" - }, - "Enabled": { - "markdownDescription": "Indicates whether the distribution tenant is in an enabled state. If disabled, the distribution tenant won't serve traffic.", - "title": "Enabled", - "type": "boolean" - }, - "ManagedCertificateRequest": { - "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.ManagedCertificateRequest", - "markdownDescription": "An object that represents the request for the Amazon CloudFront managed ACM certificate.", - "title": "ManagedCertificateRequest" - }, - "Name": { - "markdownDescription": "The name of the distribution tenant.", - "title": "Name", + "TypeName": { + "markdownDescription": "The name of the resource being registered.\n\nWe recommend that resource names adhere to the following pattern: *company_or_organization* :: *service* :: *type* .\n\n> The following organization namespaces are reserved and can't be used in your resource names:\n> \n> - `Alexa`\n> - `AMZN`\n> - `Amazon`\n> - `AWS`\n> - `Custom`\n> - `Dev`", + "title": "TypeName", "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.Parameter" - }, - "markdownDescription": "A list of parameter values to add to the resource. A parameter is specified as a key-value pair. A valid parameter value must exist for any parameter that is marked as required in the multi-tenant distribution.", - "title": "Parameters", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A complex type that contains zero or more `Tag` elements.", - "title": "Tags", - "type": "array" } }, "required": [ - "DistributionId", - "Domains", - "Name" + "SchemaHandlerPackage", + "TypeName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::DistributionTenant" + "AWS::CloudFormation::ResourceVersion" ], "type": "string" }, @@ -70753,127 +72028,122 @@ ], "type": "object" }, - "AWS::CloudFront::DistributionTenant.Certificate": { + "AWS::CloudFormation::ResourceVersion.LoggingConfig": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the ACM certificate.", - "title": "Arn", + "LogGroupName": { + "markdownDescription": "The Amazon CloudWatch logs group to which CloudFormation sends error logging information when invoking the type's handlers.", + "title": "LogGroupName", "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::DistributionTenant.Customizations": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.Certificate", - "markdownDescription": "The Certificate Manager (ACM) certificate.", - "title": "Certificate" - }, - "GeoRestrictions": { - "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.GeoRestrictionCustomization", - "markdownDescription": "The geographic restrictions.", - "title": "GeoRestrictions" }, - "WebAcl": { - "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.WebAclCustomization", - "markdownDescription": "The AWS WAF web ACL.", - "title": "WebAcl" + "LogRoleArn": { + "markdownDescription": "The ARN of the role that CloudFormation should assume when sending log entries to CloudWatch logs.", + "title": "LogRoleArn", + "type": "string" } }, "type": "object" }, - "AWS::CloudFront::DistributionTenant.DomainResult": { + "AWS::CloudFormation::Stack": { "additionalProperties": false, "properties": { - "Domain": { - "markdownDescription": "The specified domain.", - "title": "Domain", + "Condition": { "type": "string" }, - "Status": { - "markdownDescription": "Whether the domain is active or inactive.", - "title": "Status", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::DistributionTenant.GeoRestrictionCustomization": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "type": "string" - }, - "markdownDescription": "The locations for geographic restrictions.", - "title": "Locations", - "type": "array" }, - "RestrictionType": { - "markdownDescription": "The method that you want to use to restrict distribution of your content by country:\n\n- `none` : No geographic restriction is enabled, meaning access to content is not restricted by client geo location.\n- `blacklist` : The `Location` elements specify the countries in which you don't want CloudFront to distribute your content.\n- `whitelist` : The `Location` elements specify the countries in which you want CloudFront to distribute your content.", - "title": "RestrictionType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::DistributionTenant.ManagedCertificateRequest": { - "additionalProperties": false, - "properties": { - "CertificateTransparencyLoggingPreference": { - "markdownDescription": "You can opt out of certificate transparency logging by specifying the `disabled` option. Opt in by specifying `enabled` . For more information, see [Certificate Transparency Logging](https://docs.aws.amazon.com/acm/latest/userguide/acm-concepts.html#concept-transparency) in the *Certificate Manager User Guide* .", - "title": "CertificateTransparencyLoggingPreference", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "PrimaryDomainName": { - "markdownDescription": "The primary domain name associated with the CloudFront managed ACM certificate.", - "title": "PrimaryDomainName", - "type": "string" + "Metadata": { + "type": "object" }, - "ValidationTokenHost": { - "markdownDescription": "Specify how the HTTP validation token will be served when requesting the CloudFront managed ACM certificate.\n\n- For `cloudfront` , CloudFront will automatically serve the validation token. Choose this mode if you can point the domain's DNS to CloudFront immediately.\n- For `self-hosted` , you serve the validation token from your existing infrastructure. Choose this mode when you need to maintain current traffic flow while your certificate is being issued. You can place the validation token at the well-known path on your existing web server, wait for ACM to validate and issue the certificate, and then update your DNS to point to CloudFront.", - "title": "ValidationTokenHost", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::DistributionTenant.Parameter": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The parameter name.", - "title": "Name", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "NotificationARNs": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI).", + "title": "NotificationARNs", + "type": "array" + }, + "Parameters": { + "additionalProperties": true, + "markdownDescription": "The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter.\n\n> If you use the `Ref` function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type `String` . In other words, you can't pass values that are of type `CommaDelimitedList` to nested stacks. \n\nRequired if the nested stack requires input parameters.\n\nWhether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Parameters", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified.", + "title": "Tags", + "type": "array" + }, + "TemplateURL": { + "markdownDescription": "The URL of a file that contains the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket. The location for an Amazon S3 bucket must start with `https://` .\n\nWhether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.", + "title": "TemplateURL", + "type": "string" + }, + "TimeoutInMinutes": { + "markdownDescription": "The length of time, in minutes, that CloudFormation waits for the nested stack to reach the `CREATE_COMPLETE` state. The default is no timeout. When CloudFormation detects that the nested stack has reached the `CREATE_COMPLETE` state, it marks the nested stack resource as `CREATE_COMPLETE` in the parent stack and resumes creating the parent stack. If the timeout period expires before the nested stack reaches `CREATE_COMPLETE` , CloudFormation marks the nested stack as failed and rolls back both the nested stack and parent stack.\n\nUpdates aren't supported.", + "title": "TimeoutInMinutes", + "type": "number" + } + }, + "required": [ + "TemplateURL" + ], + "type": "object" }, - "Value": { - "markdownDescription": "The parameter value.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::DistributionTenant.WebAclCustomization": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "The action for the AWS WAF web ACL customization. You can specify `override` to specify a separate AWS WAF web ACL for the distribution tenant. If you specify `disable` , the distribution tenant won't have AWS WAF web ACL protections and won't inherit from the multi-tenant distribution.", - "title": "Action", + "Type": { + "enum": [ + "AWS::CloudFormation::Stack" + ], "type": "string" }, - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS WAF web ACL.", - "title": "Arn", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::CloudFront::Function": { + "AWS::CloudFormation::StackSet": { "additionalProperties": false, "properties": { "Condition": { @@ -70908,48 +72178,103 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoPublish": { - "markdownDescription": "A flag that determines whether to automatically publish the function to the `LIVE` stage when it\u2019s created. To automatically publish to the `LIVE` stage, set this property to `true` .", - "title": "AutoPublish", - "type": "boolean" + "AdministrationRoleARN": { + "markdownDescription": "The Amazon Resource Number (ARN) of the IAM role to use to create this StackSet. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account.\n\nUse customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account. For more information, see [Grant self-managed permissions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) in the *CloudFormation User Guide* .\n\nValid only if the permissions model is `SELF_MANAGED` .", + "title": "AdministrationRoleARN", + "type": "string" }, - "FunctionCode": { - "markdownDescription": "The function code. For more information about writing a CloudFront function, see [Writing function code for CloudFront Functions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html) in the *Amazon CloudFront Developer Guide* .", - "title": "FunctionCode", + "AutoDeployment": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment", + "markdownDescription": "Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU). For more information, see [Enable or disable automatic deployments for StackSets in AWS Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html) in the *CloudFormation User Guide* .\n\nRequired if the permissions model is `SERVICE_MANAGED` . (Not used with self-managed permissions.)", + "title": "AutoDeployment" + }, + "CallAs": { + "markdownDescription": "Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.\n\nBy default, `SELF` is specified. Use `SELF` for StackSets with self-managed permissions.\n\n- To create a StackSet with service-managed permissions while signed in to the management account, specify `SELF` .\n- To create a StackSet with service-managed permissions while signed in to a delegated administrator account, specify `DELEGATED_ADMIN` .\n\nYour AWS account must be registered as a delegated admin in the management account. For more information, see [Register a delegated administrator](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) in the *CloudFormation User Guide* .\n\nStackSets with service-managed permissions are created in the management account, including StackSets that are created by delegated administrators.\n\nValid only if the permissions model is `SERVICE_MANAGED` .", + "title": "CallAs", "type": "string" }, - "FunctionConfig": { - "$ref": "#/definitions/AWS::CloudFront::Function.FunctionConfig", - "markdownDescription": "Contains configuration information about a CloudFront function.", - "title": "FunctionConfig" + "Capabilities": { + "items": { + "type": "string" + }, + "markdownDescription": "The capabilities that are allowed in the StackSet. Some StackSet templates might include resources that can affect permissions in your AWS account \u2014for example, by creating new IAM users. For more information, see [Acknowledging IAM resources in CloudFormation templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities) in the *CloudFormation User Guide* .", + "title": "Capabilities", + "type": "array" }, - "FunctionMetadata": { - "$ref": "#/definitions/AWS::CloudFront::Function.FunctionMetadata", - "markdownDescription": "Contains metadata about a CloudFront function.", - "title": "FunctionMetadata" + "Description": { + "markdownDescription": "A description of the StackSet.", + "title": "Description", + "type": "string" }, - "Name": { - "markdownDescription": "A name to identify the function.", - "title": "Name", + "ExecutionRoleName": { + "markdownDescription": "The name of the IAM execution role to use to create the StackSet. If you don't specify an execution role, CloudFormation uses the `AWSCloudFormationStackSetExecutionRole` role for the StackSet operation.\n\nValid only if the permissions model is `SELF_MANAGED` .\n\n*Pattern* : `[a-zA-Z_0-9+=,.@-]+`", + "title": "ExecutionRoleName", + "type": "string" + }, + "ManagedExecution": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.ManagedExecution", + "markdownDescription": "Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations.\n\nWhen active, StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order.\n\n> If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting.\n> \n> You can't modify your StackSet's execution configuration while there are running or queued operations for that StackSet. \n\nWhen inactive (default), StackSets performs one operation at a time in request order.", + "title": "ManagedExecution" + }, + "OperationPreferences": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences", + "markdownDescription": "The user-specified preferences for how CloudFormation performs a StackSet operation.", + "title": "OperationPreferences" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "markdownDescription": "The input parameters for the StackSet template.", + "title": "Parameters", + "type": "array" + }, + "PermissionModel": { + "markdownDescription": "Describes how the IAM roles required for StackSet operations are created.\n\n- With `SELF_MANAGED` permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see [Grant self-managed permissions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) in the *CloudFormation User Guide* .\n- With `SERVICE_MANAGED` permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations . For more information, see [Activate trusted access for StackSets with AWS Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-activate-trusted-access.html) in the *CloudFormation User Guide* .", + "title": "PermissionModel", + "type": "string" + }, + "StackInstancesGroup": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" + }, + "markdownDescription": "A group of stack instances with parameters in some specific accounts and Regions.", + "title": "StackInstancesGroup", + "type": "array" + }, + "StackSetName": { + "markdownDescription": "The name to associate with the StackSet. The name must be unique in the Region where you create your StackSet.", + "title": "StackSetName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "Key-value pairs to associate with this stack. CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 50 tags.\n\nIf you don't specify this parameter, CloudFormation doesn't modify the stack's tags. If you specify an empty value, CloudFormation removes all associated tags.", + "title": "Tags", "type": "array" + }, + "TemplateBody": { + "markdownDescription": "The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes.\n\nYou must include either `TemplateURL` or `TemplateBody` in a StackSet, but you can't use both. Dynamic references in the `TemplateBody` may not work correctly in all cases. It's recommended to pass templates that contain dynamic references through `TemplateUrl` instead.", + "title": "TemplateBody", + "type": "string" + }, + "TemplateURL": { + "markdownDescription": "The URL of a file that contains the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket or a Systems Manager document. The location for an Amazon S3 bucket must start with `https://` .\n\nConditional: You must specify only one of the following parameters: `TemplateBody` , `TemplateURL` .", + "title": "TemplateURL", + "type": "string" } }, "required": [ - "FunctionCode", - "FunctionConfig", - "Name" + "PermissionModel", + "StackSetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::Function" + "AWS::CloudFormation::StackSet" ], "type": "string" }, @@ -70968,60 +72293,169 @@ ], "type": "object" }, - "AWS::CloudFront::Function.FunctionConfig": { + "AWS::CloudFormation::StackSet.AutoDeployment": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "A comment to describe the function.", - "title": "Comment", + "DependsOn": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of StackSet ARNs that this StackSet depends on for auto-deployment operations. When auto-deployment is triggered, operations will be sequenced to ensure all dependencies complete successfully before this StackSet's operation begins.", + "title": "DependsOn", + "type": "array" + }, + "Enabled": { + "markdownDescription": "If set to `true` , StackSets automatically deploys additional stack instances to AWS Organizations accounts that are added to a target organization or organizational unit (OU) in the specified Regions. If an account is removed from a target organization or OU, StackSets deletes stack instances from the account in the specified Regions.", + "title": "Enabled", + "type": "boolean" + }, + "RetainStacksOnAccountRemoval": { + "markdownDescription": "If set to `true` , stack resources are retained when an account is removed from a target organization or OU. If set to `false` , stack resources are deleted. Specify only if `Enabled` is set to `True` .", + "title": "RetainStacksOnAccountRemoval", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.DeploymentTargets": { + "additionalProperties": false, + "properties": { + "AccountFilterType": { + "markdownDescription": "Refines which accounts to deploy stacks to by specifying how to use the `Accounts` and `OrganizationalUnitIds` properties together.\n\nThe following values determine how CloudFormation selects target accounts:\n\n- `INTERSECTION` : StackSet deploys to the accounts specified in the `Accounts` property.\n- `DIFFERENCE` : StackSet deploys to the OU, excluding the accounts specified in the `Accounts` property.\n- `UNION` : StackSet deploys to the OU, and the accounts specified in the `Accounts` property. `UNION` is not supported for create operations when using StackSet as a resource or the `CreateStackInstances` API.", + "title": "AccountFilterType", "type": "string" }, - "KeyValueStoreAssociations": { + "Accounts": { "items": { - "$ref": "#/definitions/AWS::CloudFront::Function.KeyValueStoreAssociation" + "type": "string" }, - "markdownDescription": "The configuration for the key value store associations.", - "title": "KeyValueStoreAssociations", + "markdownDescription": "The account IDs of the AWS accounts . If you have many account numbers, you can provide those accounts using the `AccountsUrl` property instead.\n\n*Pattern* : `^[0-9]{12}$`", + "title": "Accounts", "type": "array" }, - "Runtime": { - "markdownDescription": "The function's runtime environment version.", - "title": "Runtime", + "AccountsUrl": { + "markdownDescription": "The Amazon S3 URL path to a file that contains a list of AWS account IDs. The file format must be either `.csv` or `.txt` , and the data can be comma-separated or new-line-separated. There is currently a 10MB limit for the data (approximately 800,000 accounts).\n\nThis property serves the same purpose as `Accounts` but allows you to specify a large number of accounts.", + "title": "AccountsUrl", "type": "string" + }, + "OrganizationalUnitIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The organization root ID or organizational unit (OU) IDs.\n\n*Pattern* : `^(ou-[a-z0-9]{4,32}-[a-z0-9]{8,32}|r-[a-z0-9]{4,32})$`", + "title": "OrganizationalUnitIds", + "type": "array" } }, - "required": [ - "Comment", - "Runtime" - ], "type": "object" }, - "AWS::CloudFront::Function.FunctionMetadata": { + "AWS::CloudFormation::StackSet.ManagedExecution": { "additionalProperties": false, "properties": { - "FunctionARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies the function.", - "title": "FunctionARN", + "Active": { + "markdownDescription": "When `true` , CloudFormation performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, CloudFormation starts queued operations in request order.\n\n> If there are already running or queued operations, CloudFormation queues all incoming operations even if they are non-conflicting.\n> \n> You can't modify your StackSet's execution configuration while there are running or queued operations for that StackSet. \n\nWhen `false` (default), StackSets performs one operation at a time in request order.", + "title": "Active", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.OperationPreferences": { + "additionalProperties": false, + "properties": { + "ConcurrencyMode": { + "markdownDescription": "Specifies how the concurrency level behaves during the operation execution.\n\n- `STRICT_FAILURE_TOLERANCE` : This option dynamically lowers the concurrency level to ensure the number of failed accounts never exceeds the value of `FailureToleranceCount` +1. The initial actual concurrency is set to the lower of either the value of the `MaxConcurrentCount` , or the value of `FailureToleranceCount` +1. The actual concurrency is then reduced proportionally by the number of failures. This is the default behavior.\n\nIf failure tolerance or Maximum concurrent accounts are set to percentages, the behavior is similar.\n- `SOFT_FAILURE_TOLERANCE` : This option decouples `FailureToleranceCount` from the actual concurrency. This allows StackSet operations to run at the concurrency level set by the `MaxConcurrentCount` value, or `MaxConcurrentPercentage` , regardless of the number of failures.", + "title": "ConcurrencyMode", + "type": "string" + }, + "FailureToleranceCount": { + "markdownDescription": "The number of accounts per Region this operation can fail in before CloudFormation stops the operation in that Region. If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions.\n\nConditional: You must specify either `FailureToleranceCount` or `FailureTolerancePercentage` (but not both).", + "title": "FailureToleranceCount", + "type": "number" + }, + "FailureTolerancePercentage": { + "markdownDescription": "The percentage of accounts per Region this stack operation can fail in before CloudFormation stops the operation in that Region. If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions.\n\nWhen calculating the number of accounts based on the specified percentage, CloudFormation rounds *down* to the next whole number.\n\nConditional: You must specify either `FailureToleranceCount` or `FailureTolerancePercentage` , but not both.", + "title": "FailureTolerancePercentage", + "type": "number" + }, + "MaxConcurrentCount": { + "markdownDescription": "The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of `FailureToleranceCount` . `MaxConcurrentCount` is at most one more than the `FailureToleranceCount` .\n\nNote that this setting lets you specify the *maximum* for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.\n\nConditional: You must specify either `MaxConcurrentCount` or `MaxConcurrentPercentage` , but not both.", + "title": "MaxConcurrentCount", + "type": "number" + }, + "MaxConcurrentPercentage": { + "markdownDescription": "The maximum percentage of accounts in which to perform this operation at one time.\n\nWhen calculating the number of accounts based on the specified percentage, CloudFormation rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, CloudFormation sets the number as one instead.\n\nNote that this setting lets you specify the *maximum* for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.\n\nConditional: You must specify either `MaxConcurrentCount` or `MaxConcurrentPercentage` , but not both.", + "title": "MaxConcurrentPercentage", + "type": "number" + }, + "RegionConcurrencyType": { + "markdownDescription": "The concurrency type of deploying StackSets operations in Regions, could be in parallel or one Region at a time.", + "title": "RegionConcurrencyType", "type": "string" + }, + "RegionOrder": { + "items": { + "type": "string" + }, + "markdownDescription": "The order of the Regions where you want to perform the stack operation.", + "title": "RegionOrder", + "type": "array" } }, "type": "object" }, - "AWS::CloudFront::Function.KeyValueStoreAssociation": { + "AWS::CloudFormation::StackSet.Parameter": { "additionalProperties": false, "properties": { - "KeyValueStoreARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the key value store association.", - "title": "KeyValueStoreARN", + "ParameterKey": { + "markdownDescription": "The key associated with the parameter. If you don't specify a key and value for a particular parameter, CloudFormation uses the default value that's specified in your template.", + "title": "ParameterKey", + "type": "string" + }, + "ParameterValue": { + "markdownDescription": "The input value associated with the parameter.", + "title": "ParameterValue", "type": "string" } }, "required": [ - "KeyValueStoreARN" + "ParameterKey", + "ParameterValue" ], "type": "object" }, - "AWS::CloudFront::KeyGroup": { + "AWS::CloudFormation::StackSet.StackInstances": { + "additionalProperties": false, + "properties": { + "DeploymentTargets": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets", + "markdownDescription": "The AWS Organizations accounts or AWS accounts to deploy stacks to in the specified Regions.", + "title": "DeploymentTargets" + }, + "ParameterOverrides": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "markdownDescription": "A list of StackSet parameters whose values you want to override in the selected stack instances.", + "title": "ParameterOverrides", + "type": "array" + }, + "Regions": { + "items": { + "type": "string" + }, + "markdownDescription": "The names of one or more Regions where you want to create stack instances using the specified AWS accounts .", + "title": "Regions", + "type": "array" + } + }, + "required": [ + "DeploymentTargets", + "Regions" + ], + "type": "object" + }, + "AWS::CloudFormation::TypeActivation": { "additionalProperties": false, "properties": { "Condition": { @@ -71056,20 +72490,62 @@ "Properties": { "additionalProperties": false, "properties": { - "KeyGroupConfig": { - "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig", - "markdownDescription": "The key group configuration.", - "title": "KeyGroupConfig" + "AutoUpdate": { + "markdownDescription": "Whether to automatically update the extension in this account and Region when a new *minor* version is published by the extension publisher. Major versions released by the publisher must be manually updated.\n\nThe default is `true` .", + "title": "AutoUpdate", + "type": "boolean" + }, + "ExecutionRoleArn": { + "markdownDescription": "The name of the IAM execution role to use to activate the extension.", + "title": "ExecutionRoleArn", + "type": "string" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::TypeActivation.LoggingConfig", + "markdownDescription": "Specifies logging configuration information for an extension.", + "title": "LoggingConfig" + }, + "MajorVersion": { + "markdownDescription": "The major version of this extension you want to activate, if multiple major versions are available. The default is the latest major version. CloudFormation uses the latest available *minor* version of the major version selected.\n\nYou can specify `MajorVersion` or `VersionBump` , but not both.", + "title": "MajorVersion", + "type": "string" + }, + "PublicTypeArn": { + "markdownDescription": "The Amazon Resource Number (ARN) of the public extension.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", + "title": "PublicTypeArn", + "type": "string" + }, + "PublisherId": { + "markdownDescription": "The ID of the extension publisher.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", + "title": "PublisherId", + "type": "string" + }, + "Type": { + "markdownDescription": "The extension type.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", + "title": "Type", + "type": "string" + }, + "TypeName": { + "markdownDescription": "The name of the extension.\n\nConditional: You must specify `PublicTypeArn` , or `TypeName` , `Type` , and `PublisherId` .", + "title": "TypeName", + "type": "string" + }, + "TypeNameAlias": { + "markdownDescription": "An alias to assign to the public extension in this account and Region. If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and Region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console.\n\nAn extension alias must be unique within a given account and Region. You can activate the same public resource multiple times in the same account and Region, using different type name aliases.", + "title": "TypeNameAlias", + "type": "string" + }, + "VersionBump": { + "markdownDescription": "Manually updates a previously-activated type to a new major or minor version, if available. You can also use this parameter to update the value of `AutoUpdate` .\n\n- `MAJOR` : CloudFormation updates the extension to the newest major version, if one is available.\n- `MINOR` : CloudFormation updates the extension to the newest minor version, if one is available.", + "title": "VersionBump", + "type": "string" } }, - "required": [ - "KeyGroupConfig" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::KeyGroup" + "AWS::CloudFormation::TypeActivation" ], "type": "string" }, @@ -71083,45 +72559,35 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::CloudFront::KeyGroup.KeyGroupConfig": { + "AWS::CloudFormation::TypeActivation.LoggingConfig": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "A comment to describe the key group. The comment cannot be longer than 128 characters.", - "title": "Comment", + "LogGroupName": { + "markdownDescription": "The Amazon CloudWatch Logs group to which CloudFormation sends error logging information when invoking the extension's handlers.", + "title": "LogGroupName", "type": "string" }, - "Items": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the identifiers of the public keys in the key group.", - "title": "Items", - "type": "array" - }, - "Name": { - "markdownDescription": "A name to identify the key group.", - "title": "Name", + "LogRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role that CloudFormation should assume when sending log entries to CloudWatch Logs.", + "title": "LogRoleArn", "type": "string" } }, - "required": [ - "Items", - "Name" - ], "type": "object" }, - "AWS::CloudFront::KeyValueStore": { + "AWS::CloudFormation::WaitCondition": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, + "CreationPolicy": { + "type": "object" + }, "DeletionPolicy": { "enum": [ "Delete", @@ -71151,36 +72617,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "A comment for the key value store.", - "title": "Comment", - "type": "string" - }, - "ImportSource": { - "$ref": "#/definitions/AWS::CloudFront::KeyValueStore.ImportSource", - "markdownDescription": "The import source for the key value store.", - "title": "ImportSource" + "Count": { + "markdownDescription": "The number of success signals that CloudFormation must receive before it continues the stack creation process. When the wait condition receives the requisite number of success signals, CloudFormation resumes the creation of the stack. If the wait condition doesn't receive the specified number of success signals before the Timeout period expires, CloudFormation assumes that the wait condition has failed and rolls the stack back.\n\nUpdates aren't supported.", + "title": "Count", + "type": "number" }, - "Name": { - "markdownDescription": "The name of the key value store.", - "title": "Name", + "Handle": { + "markdownDescription": "A reference to the wait condition handle used to signal this wait condition. Use the `Ref` intrinsic function to specify an [AWS::CloudFormation::WaitConditionHandle](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-waitconditionhandle.html) resource.\n\nAnytime you add a `WaitCondition` resource during a stack update, you must associate the wait condition with a new WaitConditionHandle resource. Don't reuse an old wait condition handle that has already been defined in the template. If you reuse a wait condition handle, the wait condition might evaluate old signals from a previous create or update stack command.\n\nUpdates aren't supported.", + "title": "Handle", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Timeout": { + "markdownDescription": "The length of time (in seconds) to wait for the number of signals that the `Count` property specifies. `Timeout` is a minimum-bound property, meaning the timeout occurs no sooner than the time you specify, but can occur shortly thereafter. The maximum time that can be specified for this property is 12 hours (43200 seconds).\n\nUpdates aren't supported.", + "title": "Timeout", + "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::KeyValueStore" + "AWS::CloudFormation::WaitCondition" ], "type": "string" }, @@ -71194,32 +72651,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::KeyValueStore.ImportSource": { - "additionalProperties": false, - "properties": { - "SourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the import source for the key value store.", - "title": "SourceArn", - "type": "string" - }, - "SourceType": { - "markdownDescription": "The source type of the import source for the key value store.", - "title": "SourceType", - "type": "string" - } - }, - "required": [ - "SourceArn", - "SourceType" + "Type" ], "type": "object" }, - "AWS::CloudFront::MonitoringSubscription": { + "AWS::CloudFormation::WaitConditionHandle": { "additionalProperties": false, "properties": { "Condition": { @@ -71253,27 +72689,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "DistributionId": { - "markdownDescription": "The ID of the distribution that you are enabling metrics for.", - "title": "DistributionId", - "type": "string" - }, - "MonitoringSubscription": { - "$ref": "#/definitions/AWS::CloudFront::MonitoringSubscription.MonitoringSubscription", - "markdownDescription": "A subscription configuration for additional CloudWatch metrics.", - "title": "MonitoringSubscription" - } - }, - "required": [ - "DistributionId", - "MonitoringSubscription" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::MonitoringSubscription" + "AWS::CloudFormation::WaitConditionHandle" ], "type": "string" }, @@ -71287,37 +72708,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::MonitoringSubscription.MonitoringSubscription": { - "additionalProperties": false, - "properties": { - "RealtimeMetricsSubscriptionConfig": { - "$ref": "#/definitions/AWS::CloudFront::MonitoringSubscription.RealtimeMetricsSubscriptionConfig", - "markdownDescription": "A subscription configuration for additional CloudWatch metrics.", - "title": "RealtimeMetricsSubscriptionConfig" - } - }, - "type": "object" - }, - "AWS::CloudFront::MonitoringSubscription.RealtimeMetricsSubscriptionConfig": { - "additionalProperties": false, - "properties": { - "RealtimeMetricsSubscriptionStatus": { - "markdownDescription": "A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution.", - "title": "RealtimeMetricsSubscriptionStatus", - "type": "string" - } - }, - "required": [ - "RealtimeMetricsSubscriptionStatus" + "Type" ], "type": "object" }, - "AWS::CloudFront::OriginAccessControl": { + "AWS::CloudFront::AnycastIpList": { "additionalProperties": false, "properties": { "Condition": { @@ -71352,20 +72747,44 @@ "Properties": { "additionalProperties": false, "properties": { - "OriginAccessControlConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginAccessControl.OriginAccessControlConfig", - "markdownDescription": "The origin access control.", - "title": "OriginAccessControlConfig" + "IpAddressType": { + "markdownDescription": "The IP address type for the Anycast static IP list.", + "title": "IpAddressType", + "type": "string" + }, + "IpCount": { + "markdownDescription": "The number of IP addresses in the Anycast static IP list.", + "title": "IpCount", + "type": "number" + }, + "IpamCidrConfigs": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::AnycastIpList.IpamCidrConfig" + }, + "markdownDescription": "A list of IPAM CIDR configurations that define the IP address ranges, IPAM pools, and associated Anycast IP addresses.", + "title": "IpamCidrConfigs", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the Anycast static IP list.", + "title": "Name", + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::CloudFront::AnycastIpList.Tags", + "markdownDescription": "A complex type that contains zero or more `Tag` elements.", + "title": "Tags" } }, "required": [ - "OriginAccessControlConfig" + "IpCount", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::OriginAccessControl" + "AWS::CloudFront::AnycastIpList" ], "type": "string" }, @@ -71384,44 +72803,133 @@ ], "type": "object" }, - "AWS::CloudFront::OriginAccessControl.OriginAccessControlConfig": { + "AWS::CloudFront::AnycastIpList.AnycastIpList": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description of the origin access control.", - "title": "Description", + "AnycastIps": { + "items": { + "type": "string" + }, + "markdownDescription": "The static IP addresses that are allocated to the Anycast static IP list.", + "title": "AnycastIps", + "type": "array" + }, + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Anycast static IP list.", + "title": "Arn", "type": "string" }, - "Name": { - "markdownDescription": "A name to identify the origin access control. You can specify up to 64 characters.", - "title": "Name", + "Id": { + "markdownDescription": "The ID of the Anycast static IP list.", + "title": "Id", "type": "string" }, - "OriginAccessControlOriginType": { - "markdownDescription": "The type of origin that this origin access control is for.", - "title": "OriginAccessControlOriginType", + "IpAddressType": { + "markdownDescription": "The IP address type for the Anycast static IP list.", + "title": "IpAddressType", "type": "string" }, - "SigningBehavior": { - "markdownDescription": "Specifies which requests CloudFront signs (adds authentication information to). Specify `always` for the most common use case. For more information, see [origin access control advanced settings](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html#oac-advanced-settings) in the *Amazon CloudFront Developer Guide* .\n\nThis field can have one of the following values:\n\n- `always` \u2013 CloudFront signs all origin requests, overwriting the `Authorization` header from the viewer request if one exists.\n- `never` \u2013 CloudFront doesn't sign any origin requests. This value turns off origin access control for all origins in all distributions that use this origin access control.\n- `no-override` \u2013 If the viewer request doesn't contain the `Authorization` header, then CloudFront signs the origin request. If the viewer request contains the `Authorization` header, then CloudFront doesn't sign the origin request and instead passes along the `Authorization` header from the viewer request. *WARNING: To pass along the `Authorization` header from the viewer request, you *must* add the `Authorization` header to a [cache policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html) for all cache behaviors that use origins associated with this origin access control.*", - "title": "SigningBehavior", + "IpCount": { + "markdownDescription": "The number of IP addresses in the Anycast static IP list.", + "title": "IpCount", + "type": "number" + }, + "IpamCidrConfigResults": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::AnycastIpList.IpamCidrConfigResult" + }, + "markdownDescription": "The results for the IPAM CIDRs that defines a specific IP address range, IPAM pool, and associated Anycast IP address.", + "title": "IpamCidrConfigResults", + "type": "array" + }, + "LastModifiedTime": { + "markdownDescription": "The last time the Anycast static IP list was modified.", + "title": "LastModifiedTime", "type": "string" }, - "SigningProtocol": { - "markdownDescription": "The signing protocol of the origin access control, which determines how CloudFront signs (authenticates) requests. The only valid value is `sigv4` .", - "title": "SigningProtocol", + "Name": { + "markdownDescription": "The name of the Anycast static IP list.", + "title": "Name", + "type": "string" + }, + "Status": { + "markdownDescription": "The status of the Anycast static IP list. Valid values: `Deployed` , `Deploying` , or `Failed` .", + "title": "Status", "type": "string" } }, "required": [ + "AnycastIps", + "Arn", + "Id", + "IpCount", + "LastModifiedTime", "Name", - "OriginAccessControlOriginType", - "SigningBehavior", - "SigningProtocol" + "Status" ], "type": "object" }, - "AWS::CloudFront::OriginRequestPolicy": { + "AWS::CloudFront::AnycastIpList.IpamCidrConfig": { + "additionalProperties": false, + "properties": { + "Cidr": { + "markdownDescription": "The CIDR that specifies the IP address range for this IPAM configuration.", + "title": "Cidr", + "type": "string" + }, + "IpamPoolArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IPAM pool that the CIDR block is assigned to.", + "title": "IpamPoolArn", + "type": "string" + } + }, + "required": [ + "Cidr", + "IpamPoolArn" + ], + "type": "object" + }, + "AWS::CloudFront::AnycastIpList.IpamCidrConfigResult": { + "additionalProperties": false, + "properties": { + "AnycastIp": { + "markdownDescription": "The specified Anycast IP address allocated from the IPAM pool for this CIDR configuration.", + "title": "AnycastIp", + "type": "string" + }, + "Cidr": { + "markdownDescription": "The CIDR that specifies the IP address range for this IPAM configuration.", + "title": "Cidr", + "type": "string" + }, + "IpamPoolArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IPAM pool that the CIDR block is assigned to.", + "title": "IpamPoolArn", + "type": "string" + }, + "Status": { + "markdownDescription": "The current status of the IPAM CIDR configuration.", + "title": "Status", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::AnycastIpList.Tags": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A complex type that contains `Tag` elements.", + "title": "Items", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFront::CachePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -71456,20 +72964,20 @@ "Properties": { "additionalProperties": false, "properties": { - "OriginRequestPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig", - "markdownDescription": "The origin request policy configuration.", - "title": "OriginRequestPolicyConfig" + "CachePolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CachePolicyConfig", + "markdownDescription": "The cache policy configuration.", + "title": "CachePolicyConfig" } }, "required": [ - "OriginRequestPolicyConfig" + "CachePolicyConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::OriginRequestPolicy" + "AWS::CloudFront::CachePolicy" ], "type": "string" }, @@ -71488,11 +72996,54 @@ ], "type": "object" }, - "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { + "AWS::CloudFront::CachePolicy.CachePolicyConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "markdownDescription": "A comment to describe the cache policy. The comment cannot be longer than 128 characters.", + "title": "Comment", + "type": "string" + }, + "DefaultTTL": { + "markdownDescription": "The default amount of time, in seconds, that you want objects to stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. CloudFront uses this value as the object's time to live (TTL) only when the origin does *not* send `Cache-Control` or `Expires` headers with the object. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default value for this field is 86400 seconds (one day). If the value of `MinTTL` is more than 86400 seconds, then the default value for this field is the same as the value of `MinTTL` .", + "title": "DefaultTTL", + "type": "number" + }, + "MaxTTL": { + "markdownDescription": "The maximum amount of time, in seconds, that objects stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. CloudFront uses this value only when the origin sends `Cache-Control` or `Expires` headers with the object. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default value for this field is 31536000 seconds (one year). If the value of `MinTTL` or `DefaultTTL` is more than 31536000 seconds, then the default value for this field is the same as the value of `DefaultTTL` .", + "title": "MaxTTL", + "type": "number" + }, + "MinTTL": { + "markdownDescription": "The minimum amount of time, in seconds, that you want objects to stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", + "title": "MinTTL", + "type": "number" + }, + "Name": { + "markdownDescription": "A unique name to identify the cache policy.", + "title": "Name", + "type": "string" + }, + "ParametersInCacheKeyAndForwardedToOrigin": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin", + "markdownDescription": "The HTTP headers, cookies, and URL query strings to include in the cache key. The values included in the cache key are also included in requests that CloudFront sends to the origin.", + "title": "ParametersInCacheKeyAndForwardedToOrigin" + } + }, + "required": [ + "DefaultTTL", + "MaxTTL", + "MinTTL", + "Name", + "ParametersInCacheKeyAndForwardedToOrigin" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.CookiesConfig": { "additionalProperties": false, "properties": { "CookieBehavior": { - "markdownDescription": "Determines whether cookies in viewer requests are included in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No cookies in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to `none` , any cookies that are listed in a `CachePolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the cookies in viewer requests that are listed in the `CookieNames` type are included in requests that CloudFront sends to the origin.\n- `all` \u2013 All cookies in viewer requests are included in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All cookies in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the `CookieNames` type, which are not included.", + "markdownDescription": "Determines whether any cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No cookies in viewer requests are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to `none` , any cookies that are listed in an `OriginRequestPolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the cookies in viewer requests that are listed in the `CookieNames` type are included in the cache key and in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin, **except** for those that are listed in the `CookieNames` type, which are not included.\n- `all` \u2013 All cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin.", "title": "CookieBehavior", "type": "string" }, @@ -71510,11 +73061,11 @@ ], "type": "object" }, - "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { + "AWS::CloudFront::CachePolicy.HeadersConfig": { "additionalProperties": false, "properties": { "HeaderBehavior": { - "markdownDescription": "Determines whether any HTTP headers are included in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No HTTP headers in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to `none` , any headers that are listed in a `CachePolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the HTTP headers that are listed in the `Headers` type are included in requests that CloudFront sends to the origin.\n- `allViewer` \u2013 All HTTP headers in viewer requests are included in requests that CloudFront sends to the origin.\n- `allViewerAndWhitelistCloudFront` \u2013 All HTTP headers in viewer requests and the additional CloudFront headers that are listed in the `Headers` type are included in requests that CloudFront sends to the origin. The additional headers are added by CloudFront.\n- `allExcept` \u2013 All HTTP headers in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the `Headers` type, which are not included.", + "markdownDescription": "Determines whether any HTTP headers are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No HTTP headers are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to `none` , any headers that are listed in an `OriginRequestPolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the HTTP headers that are listed in the `Headers` type are included in the cache key and in requests that CloudFront sends to the origin.", "title": "HeaderBehavior", "type": "string" }, @@ -71532,48 +73083,48 @@ ], "type": "object" }, - "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { + "AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "A comment to describe the origin request policy. The comment cannot be longer than 128 characters.", - "title": "Comment", - "type": "string" - }, "CookiesConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig", - "markdownDescription": "The cookies from viewer requests to include in origin requests.", + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CookiesConfig", + "markdownDescription": "An object that determines whether any cookies in viewer requests (and if so, which cookies) are included in the cache key and in requests that CloudFront sends to the origin.", "title": "CookiesConfig" }, + "EnableAcceptEncodingBrotli": { + "markdownDescription": "A flag that can affect whether the `Accept-Encoding` HTTP header is included in the cache key and included in requests that CloudFront sends to the origin.\n\nThis field is related to the `EnableAcceptEncodingGzip` field. If one or both of these fields is `true` *and* the viewer request includes the `Accept-Encoding` header, then CloudFront does the following:\n\n- Normalizes the value of the viewer's `Accept-Encoding` header\n- Includes the normalized header in the cache key\n- Includes the normalized header in the request to the origin, if a request is necessary\n\nFor more information, see [Compression support](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) in the *Amazon CloudFront Developer Guide* .\n\nIf you set this value to `true` , and this cache behavior also has an origin request policy attached, do not include the `Accept-Encoding` header in the origin request policy. CloudFront always includes the `Accept-Encoding` header in origin requests when the value of this field is `true` , so including this header in an origin request policy has no effect.\n\nIf both of these fields are `false` , then CloudFront treats the `Accept-Encoding` header the same as any other HTTP header in the viewer request. By default, it's not included in the cache key and it's not included in origin requests. In this case, you can manually add `Accept-Encoding` to the headers whitelist like any other HTTP header.", + "title": "EnableAcceptEncodingBrotli", + "type": "boolean" + }, + "EnableAcceptEncodingGzip": { + "markdownDescription": "A flag that can affect whether the `Accept-Encoding` HTTP header is included in the cache key and included in requests that CloudFront sends to the origin.\n\nThis field is related to the `EnableAcceptEncodingBrotli` field. If one or both of these fields is `true` *and* the viewer request includes the `Accept-Encoding` header, then CloudFront does the following:\n\n- Normalizes the value of the viewer's `Accept-Encoding` header\n- Includes the normalized header in the cache key\n- Includes the normalized header in the request to the origin, if a request is necessary\n\nFor more information, see [Compression support](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) in the *Amazon CloudFront Developer Guide* .\n\nIf you set this value to `true` , and this cache behavior also has an origin request policy attached, do not include the `Accept-Encoding` header in the origin request policy. CloudFront always includes the `Accept-Encoding` header in origin requests when the value of this field is `true` , so including this header in an origin request policy has no effect.\n\nIf both of these fields are `false` , then CloudFront treats the `Accept-Encoding` header the same as any other HTTP header in the viewer request. By default, it's not included in the cache key and it's not included in origin requests. In this case, you can manually add `Accept-Encoding` to the headers whitelist like any other HTTP header.", + "title": "EnableAcceptEncodingGzip", + "type": "boolean" + }, "HeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig", - "markdownDescription": "The HTTP headers to include in origin requests. These can include headers from viewer requests and additional headers added by CloudFront.", + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.HeadersConfig", + "markdownDescription": "An object that determines whether any HTTP headers (and if so, which headers) are included in the cache key and in requests that CloudFront sends to the origin.", "title": "HeadersConfig" }, - "Name": { - "markdownDescription": "A unique name to identify the origin request policy.", - "title": "Name", - "type": "string" - }, "QueryStringsConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig", - "markdownDescription": "The URL query strings from viewer requests to include in origin requests.", + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.QueryStringsConfig", + "markdownDescription": "An object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in the cache key and in requests that CloudFront sends to the origin.", "title": "QueryStringsConfig" } }, "required": [ "CookiesConfig", + "EnableAcceptEncodingGzip", "HeadersConfig", - "Name", "QueryStringsConfig" ], "type": "object" }, - "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { + "AWS::CloudFront::CachePolicy.QueryStringsConfig": { "additionalProperties": false, "properties": { "QueryStringBehavior": { - "markdownDescription": "Determines whether any URL query strings in viewer requests are included in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No query strings in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to `none` , any query strings that are listed in a `CachePolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the query strings in viewer requests that are listed in the `QueryStringNames` type are included in requests that CloudFront sends to the origin.\n- `all` \u2013 All query strings in viewer requests are included in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All query strings in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the `QueryStringNames` type, which are not included.", + "markdownDescription": "Determines whether any URL query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No query strings in viewer requests are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to `none` , any query strings that are listed in an `OriginRequestPolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the query strings in viewer requests that are listed in the `QueryStringNames` type are included in the cache key and in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin, **except** those that are listed in the `QueryStringNames` type, which are not included.\n- `all` \u2013 All query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin.", "title": "QueryStringBehavior", "type": "string" }, @@ -71591,7 +73142,7 @@ ], "type": "object" }, - "AWS::CloudFront::PublicKey": { + "AWS::CloudFront::CloudFrontOriginAccessIdentity": { "additionalProperties": false, "properties": { "Condition": { @@ -71626,20 +73177,20 @@ "Properties": { "additionalProperties": false, "properties": { - "PublicKeyConfig": { - "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig", - "markdownDescription": "Configuration information about a public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) , or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html) .", - "title": "PublicKeyConfig" + "CloudFrontOriginAccessIdentityConfig": { + "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig", + "markdownDescription": "The current configuration information for the identity.", + "title": "CloudFrontOriginAccessIdentityConfig" } }, "required": [ - "PublicKeyConfig" + "CloudFrontOriginAccessIdentityConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::PublicKey" + "AWS::CloudFront::CloudFrontOriginAccessIdentity" ], "type": "string" }, @@ -71658,38 +73209,21 @@ ], "type": "object" }, - "AWS::CloudFront::PublicKey.PublicKeyConfig": { + "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": { "additionalProperties": false, "properties": { - "CallerReference": { - "markdownDescription": "A string included in the request to help make sure that the request can't be replayed.", - "title": "CallerReference", - "type": "string" - }, "Comment": { - "markdownDescription": "A comment to describe the public key. The comment cannot be longer than 128 characters.", + "markdownDescription": "A comment to describe the origin access identity. The comment cannot be longer than 128 characters.", "title": "Comment", "type": "string" - }, - "EncodedKey": { - "markdownDescription": "The public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) , or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html) .", - "title": "EncodedKey", - "type": "string" - }, - "Name": { - "markdownDescription": "A name to help identify the public key.", - "title": "Name", - "type": "string" } }, "required": [ - "CallerReference", - "EncodedKey", - "Name" + "Comment" ], "type": "object" }, - "AWS::CloudFront::RealtimeLogConfig": { + "AWS::CloudFront::ConnectionFunction": { "additionalProperties": false, "properties": { "Condition": { @@ -71724,44 +73258,45 @@ "Properties": { "additionalProperties": false, "properties": { - "EndPoints": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" - }, - "markdownDescription": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data for this real-time log configuration.", - "title": "EndPoints", - "type": "array" + "AutoPublish": { + "markdownDescription": "A flag that determines whether to automatically publish the function to the `LIVE` stage when it\u2019s created. To automatically publish to the `LIVE` stage, set this property to `true` .", + "title": "AutoPublish", + "type": "boolean" }, - "Fields": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of fields that are included in each real-time log record. In an API response, the fields are provided in the same order in which they are sent to the Amazon Kinesis data stream.\n\nFor more information about fields, see [Real-time log configuration fields](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields) in the *Amazon CloudFront Developer Guide* .", - "title": "Fields", - "type": "array" + "ConnectionFunctionCode": { + "markdownDescription": "The code for the connection function.", + "title": "ConnectionFunctionCode", + "type": "string" + }, + "ConnectionFunctionConfig": { + "$ref": "#/definitions/AWS::CloudFront::ConnectionFunction.ConnectionFunctionConfig", + "markdownDescription": "Contains configuration information about a CloudFront function.", + "title": "ConnectionFunctionConfig" }, "Name": { - "markdownDescription": "The unique name of this real-time log configuration.", + "markdownDescription": "The connection function name.", "title": "Name", "type": "string" }, - "SamplingRate": { - "markdownDescription": "The sampling rate for this real-time log configuration. The sampling rate determines the percentage of viewer requests that are represented in the real-time log data. The sampling rate is an integer between 1 and 100, inclusive.", - "title": "SamplingRate", - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A complex type that contains zero or more `Tag` elements.", + "title": "Tags", + "type": "array" } }, "required": [ - "EndPoints", - "Fields", - "Name", - "SamplingRate" + "ConnectionFunctionCode", + "ConnectionFunctionConfig", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::RealtimeLogConfig" + "AWS::CloudFront::ConnectionFunction" ], "type": "string" }, @@ -71780,47 +73315,49 @@ ], "type": "object" }, - "AWS::CloudFront::RealtimeLogConfig.EndPoint": { + "AWS::CloudFront::ConnectionFunction.ConnectionFunctionConfig": { "additionalProperties": false, "properties": { - "KinesisStreamConfig": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig", - "markdownDescription": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data in a real-time log configuration.", - "title": "KinesisStreamConfig" + "Comment": { + "markdownDescription": "A comment to describe the function.", + "title": "Comment", + "type": "string" }, - "StreamType": { - "markdownDescription": "The type of data stream where you are sending real-time log data. The only valid value is `Kinesis` .", - "title": "StreamType", + "KeyValueStoreAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::ConnectionFunction.KeyValueStoreAssociation" + }, + "markdownDescription": "The configuration for the key value store associations.", + "title": "KeyValueStoreAssociations", + "type": "array" + }, + "Runtime": { + "markdownDescription": "The function's runtime environment version.", + "title": "Runtime", "type": "string" } }, "required": [ - "KinesisStreamConfig", - "StreamType" - ], + "Comment", + "Runtime" + ], "type": "object" }, - "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { + "AWS::CloudFront::ConnectionFunction.KeyValueStoreAssociation": { "additionalProperties": false, "properties": { - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that CloudFront can use to send real-time log data to your Kinesis data stream.\n\nFor more information the IAM role, see [Real-time log configuration IAM role](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-iam-role) in the *Amazon CloudFront Developer Guide* .", - "title": "RoleArn", - "type": "string" - }, - "StreamArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Kinesis data stream where you are sending real-time log data.", - "title": "StreamArn", + "KeyValueStoreARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the key value store association.", + "title": "KeyValueStoreARN", "type": "string" } }, "required": [ - "RoleArn", - "StreamArn" + "KeyValueStoreARN" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy": { + "AWS::CloudFront::ConnectionGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -71855,20 +73392,43 @@ "Properties": { "additionalProperties": false, "properties": { - "ResponseHeadersPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ResponseHeadersPolicyConfig", - "markdownDescription": "A response headers policy configuration.", - "title": "ResponseHeadersPolicyConfig" + "AnycastIpListId": { + "markdownDescription": "The ID of the Anycast static IP list.", + "title": "AnycastIpListId", + "type": "string" + }, + "Enabled": { + "markdownDescription": "Whether the connection group is enabled.", + "title": "Enabled", + "type": "boolean" + }, + "Ipv6Enabled": { + "markdownDescription": "IPv6 is enabled for the connection group.", + "title": "Ipv6Enabled", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the connection group.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A complex type that contains zero or more `Tag` elements.", + "title": "Tags", + "type": "array" } }, "required": [ - "ResponseHeadersPolicyConfig" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::ResponseHeadersPolicy" + "AWS::CloudFront::ConnectionGroup" ], "type": "string" }, @@ -71887,430 +73447,239 @@ ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowHeaders": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of HTTP header names. You can specify `*` to allow all headers.", - "title": "Items", - "type": "array" - } - }, - "required": [ - "Items" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowMethods": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of HTTP methods. Valid values are:\n\n- `GET`\n- `DELETE`\n- `HEAD`\n- `OPTIONS`\n- `PATCH`\n- `POST`\n- `PUT`\n- `ALL`\n\n`ALL` is a special value that includes all of the listed HTTP methods.", - "title": "Items", - "type": "array" - } - }, - "required": [ - "Items" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowOrigins": { + "AWS::CloudFront::ContinuousDeploymentPolicy": { "additionalProperties": false, "properties": { - "Items": { - "items": { - "type": "string" + "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": { + "ContinuousDeploymentPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfig", + "markdownDescription": "Contains the configuration for a continuous deployment policy.", + "title": "ContinuousDeploymentPolicyConfig" + } }, - "markdownDescription": "The list of origins (domain names). You can specify `*` to allow all origins.", - "title": "Items", - "type": "array" + "required": [ + "ContinuousDeploymentPolicyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::ContinuousDeploymentPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Items" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.AccessControlExposeHeaders": { + "AWS::CloudFront::ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfig": { "additionalProperties": false, "properties": { - "Items": { + "Enabled": { + "markdownDescription": "A Boolean that indicates whether this continuous deployment policy is enabled (in effect). When this value is `true` , this policy is enabled and in effect. When this value is `false` , this policy is not enabled and has no effect.", + "title": "Enabled", + "type": "boolean" + }, + "SingleHeaderPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderPolicyConfig", + "markdownDescription": "This configuration determines which HTTP requests are sent to the staging distribution. If the HTTP request contains a header and value that matches what you specify here, the request is sent to the staging distribution. Otherwise the request is sent to the primary distribution.", + "title": "SingleHeaderPolicyConfig" + }, + "SingleWeightPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightPolicyConfig", + "markdownDescription": "This configuration determines the percentage of HTTP requests that are sent to the staging distribution.", + "title": "SingleWeightPolicyConfig" + }, + "StagingDistributionDnsNames": { "items": { "type": "string" }, - "markdownDescription": "The list of HTTP headers. You can specify `*` to expose all headers.", - "title": "Items", + "markdownDescription": "The CloudFront domain name of the staging distribution. For example: `d111111abcdef8.cloudfront.net` .", + "title": "StagingDistributionDnsNames", "type": "array" - } - }, - "required": [ - "Items" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.ContentSecurityPolicy": { - "additionalProperties": false, - "properties": { - "ContentSecurityPolicy": { - "markdownDescription": "The policy directives and their values that CloudFront includes as values for the `Content-Security-Policy` HTTP response header.", - "title": "ContentSecurityPolicy", - "type": "string" }, - "Override": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides the `Content-Security-Policy` HTTP response header received from the origin with the one specified in this response headers policy.", - "title": "Override", - "type": "boolean" - } - }, - "required": [ - "ContentSecurityPolicy", - "Override" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.ContentTypeOptions": { - "additionalProperties": false, - "properties": { - "Override": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides the `X-Content-Type-Options` HTTP response header received from the origin with the one specified in this response headers policy.", - "title": "Override", - "type": "boolean" + "TrafficConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.TrafficConfig", + "markdownDescription": "Contains the parameters for routing production traffic from your primary to staging distributions.", + "title": "TrafficConfig" + }, + "Type": { + "markdownDescription": "The type of traffic configuration.", + "title": "Type", + "type": "string" } }, "required": [ - "Override" + "Enabled", + "StagingDistributionDnsNames" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.CorsConfig": { + "AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig": { "additionalProperties": false, "properties": { - "AccessControlAllowCredentials": { - "markdownDescription": "A Boolean that CloudFront uses as the value for the `Access-Control-Allow-Credentials` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Credentials` HTTP response header, see [Access-Control-Allow-Credentials](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials) in the MDN Web Docs.", - "title": "AccessControlAllowCredentials", - "type": "boolean" - }, - "AccessControlAllowHeaders": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowHeaders", - "markdownDescription": "A list of HTTP header names that CloudFront includes as values for the `Access-Control-Allow-Headers` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Headers` HTTP response header, see [Access-Control-Allow-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) in the MDN Web Docs.", - "title": "AccessControlAllowHeaders" - }, - "AccessControlAllowMethods": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowMethods", - "markdownDescription": "A list of HTTP methods that CloudFront includes as values for the `Access-Control-Allow-Methods` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Methods` HTTP response header, see [Access-Control-Allow-Methods](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods) in the MDN Web Docs.", - "title": "AccessControlAllowMethods" - }, - "AccessControlAllowOrigins": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowOrigins", - "markdownDescription": "A list of origins (domain names) that CloudFront can use as the value for the `Access-Control-Allow-Origin` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Origin` HTTP response header, see [Access-Control-Allow-Origin](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin) in the MDN Web Docs.", - "title": "AccessControlAllowOrigins" - }, - "AccessControlExposeHeaders": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlExposeHeaders", - "markdownDescription": "A list of HTTP headers that CloudFront includes as values for the `Access-Control-Expose-Headers` HTTP response header.\n\nFor more information about the `Access-Control-Expose-Headers` HTTP response header, see [Access-Control-Expose-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers) in the MDN Web Docs.", - "title": "AccessControlExposeHeaders" - }, - "AccessControlMaxAgeSec": { - "markdownDescription": "A number that CloudFront uses as the value for the `Access-Control-Max-Age` HTTP response header.\n\nFor more information about the `Access-Control-Max-Age` HTTP response header, see [Access-Control-Max-Age](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age) in the MDN Web Docs.", - "title": "AccessControlMaxAgeSec", + "IdleTTL": { + "markdownDescription": "The amount of time after which you want sessions to cease if no requests are received. Allowed values are 300\u20133600 seconds (5\u201360 minutes).", + "title": "IdleTTL", "type": "number" }, - "OriginOverride": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.", - "title": "OriginOverride", - "type": "boolean" + "MaximumTTL": { + "markdownDescription": "The maximum amount of time to consider requests from the viewer as being part of the same session. Allowed values are 300\u20133600 seconds (5\u201360 minutes).", + "title": "MaximumTTL", + "type": "number" } }, "required": [ - "AccessControlAllowCredentials", - "AccessControlAllowHeaders", - "AccessControlAllowMethods", - "AccessControlAllowOrigins", - "OriginOverride" + "IdleTTL", + "MaximumTTL" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.CustomHeader": { + "AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderConfig": { "additionalProperties": false, "properties": { "Header": { - "markdownDescription": "The HTTP response header name.", + "markdownDescription": "The request header name that you want CloudFront to send to your staging distribution. The header must contain the prefix `aws-cf-cd-` .", "title": "Header", "type": "string" }, - "Override": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides a response header with the same name received from the origin with the header specified here.", - "title": "Override", - "type": "boolean" - }, "Value": { - "markdownDescription": "The value for the HTTP response header.", + "markdownDescription": "The request header value.", "title": "Value", "type": "string" } }, "required": [ "Header", - "Override", "Value" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.CustomHeadersConfig": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CustomHeader" - }, - "markdownDescription": "The list of HTTP response headers and their values.", - "title": "Items", - "type": "array" - } - }, - "required": [ - "Items" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.FrameOptions": { - "additionalProperties": false, - "properties": { - "FrameOption": { - "markdownDescription": "The value of the `X-Frame-Options` HTTP response header. Valid values are `DENY` and `SAMEORIGIN` .\n\nFor more information about these values, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.", - "title": "FrameOption", - "type": "string" - }, - "Override": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides the `X-Frame-Options` HTTP response header received from the origin with the one specified in this response headers policy.", - "title": "Override", - "type": "boolean" - } - }, - "required": [ - "FrameOption", - "Override" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.ReferrerPolicy": { - "additionalProperties": false, - "properties": { - "Override": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides the `Referrer-Policy` HTTP response header received from the origin with the one specified in this response headers policy.", - "title": "Override", - "type": "boolean" - }, - "ReferrerPolicy": { - "markdownDescription": "The value of the `Referrer-Policy` HTTP response header. Valid values are:\n\n- `no-referrer`\n- `no-referrer-when-downgrade`\n- `origin`\n- `origin-when-cross-origin`\n- `same-origin`\n- `strict-origin`\n- `strict-origin-when-cross-origin`\n- `unsafe-url`\n\nFor more information about these values, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.", - "title": "ReferrerPolicy", - "type": "string" - } - }, - "required": [ - "Override", - "ReferrerPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.RemoveHeader": { + "AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderPolicyConfig": { "additionalProperties": false, "properties": { "Header": { - "markdownDescription": "The HTTP header name.", + "markdownDescription": "The name of the HTTP header that CloudFront uses to configure for the single header policy.", "title": "Header", "type": "string" - } - }, - "required": [ - "Header" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.RemoveHeadersConfig": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.RemoveHeader" - }, - "markdownDescription": "The list of HTTP header names.", - "title": "Items", - "type": "array" - } - }, - "required": [ - "Items" - ], - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.ResponseHeadersPolicyConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "markdownDescription": "A comment to describe the response headers policy.\n\nThe comment cannot be longer than 128 characters.", - "title": "Comment", - "type": "string" - }, - "CorsConfig": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CorsConfig", - "markdownDescription": "A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).", - "title": "CorsConfig" - }, - "CustomHeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CustomHeadersConfig", - "markdownDescription": "A configuration for a set of custom HTTP response headers.", - "title": "CustomHeadersConfig" }, - "Name": { - "markdownDescription": "A name to identify the response headers policy.\n\nThe name must be unique for response headers policies in this AWS account .", - "title": "Name", + "Value": { + "markdownDescription": "Specifies the value to assign to the header for a single header policy.", + "title": "Value", "type": "string" - }, - "RemoveHeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.RemoveHeadersConfig", - "markdownDescription": "A configuration for a set of HTTP headers to remove from the HTTP response.", - "title": "RemoveHeadersConfig" - }, - "SecurityHeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.SecurityHeadersConfig", - "markdownDescription": "A configuration for a set of security-related HTTP response headers.", - "title": "SecurityHeadersConfig" - }, - "ServerTimingHeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ServerTimingHeadersConfig", - "markdownDescription": "A configuration for enabling the `Server-Timing` header in HTTP responses sent from CloudFront.", - "title": "ServerTimingHeadersConfig" } }, "required": [ - "Name" + "Header", + "Value" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.SecurityHeadersConfig": { - "additionalProperties": false, - "properties": { - "ContentSecurityPolicy": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ContentSecurityPolicy", - "markdownDescription": "The policy directives and their values that CloudFront includes as values for the `Content-Security-Policy` HTTP response header.\n\nFor more information about the `Content-Security-Policy` HTTP response header, see [Content-Security-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) in the MDN Web Docs.", - "title": "ContentSecurityPolicy" - }, - "ContentTypeOptions": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ContentTypeOptions", - "markdownDescription": "Determines whether CloudFront includes the `X-Content-Type-Options` HTTP response header with its value set to `nosniff` .\n\nFor more information about the `X-Content-Type-Options` HTTP response header, see [X-Content-Type-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) in the MDN Web Docs.", - "title": "ContentTypeOptions" - }, - "FrameOptions": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.FrameOptions", - "markdownDescription": "Determines whether CloudFront includes the `X-Frame-Options` HTTP response header and the header's value.\n\nFor more information about the `X-Frame-Options` HTTP response header, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.", - "title": "FrameOptions" - }, - "ReferrerPolicy": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ReferrerPolicy", - "markdownDescription": "Determines whether CloudFront includes the `Referrer-Policy` HTTP response header and the header's value.\n\nFor more information about the `Referrer-Policy` HTTP response header, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.", - "title": "ReferrerPolicy" - }, - "StrictTransportSecurity": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.StrictTransportSecurity", - "markdownDescription": "Determines whether CloudFront includes the `Strict-Transport-Security` HTTP response header and the header's value.\n\nFor more information about the `Strict-Transport-Security` HTTP response header, see [Security headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html#understanding-response-headers-policies-security) in the *Amazon CloudFront Developer Guide* and [Strict-Transport-Security](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) in the MDN Web Docs.", - "title": "StrictTransportSecurity" - }, - "XSSProtection": { - "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.XSSProtection", - "markdownDescription": "Determines whether CloudFront includes the `X-XSS-Protection` HTTP response header and the header's value.\n\nFor more information about the `X-XSS-Protection` HTTP response header, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", - "title": "XSSProtection" - } - }, - "type": "object" - }, - "AWS::CloudFront::ResponseHeadersPolicy.ServerTimingHeadersConfig": { + "AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightConfig": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "A Boolean that determines whether CloudFront adds the `Server-Timing` header to HTTP responses that it sends in response to requests that match a cache behavior that's associated with this response headers policy.", - "title": "Enabled", - "type": "boolean" + "SessionStickinessConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig", + "markdownDescription": "Session stickiness provides the ability to define multiple requests from a single viewer as a single session. This prevents the potentially inconsistent experience of sending some of a given user's requests to your staging distribution, while others are sent to your primary distribution. Define the session duration using TTL values.", + "title": "SessionStickinessConfig" }, - "SamplingRate": { - "markdownDescription": "A number 0\u2013100 (inclusive) that specifies the percentage of responses that you want CloudFront to add the `Server-Timing` header to. When you set the sampling rate to 100, CloudFront adds the `Server-Timing` header to the HTTP response for every request that matches the cache behavior that this response headers policy is attached to. When you set it to 50, CloudFront adds the header to 50% of the responses for requests that match the cache behavior. You can set the sampling rate to any number 0\u2013100 with up to four decimal places.", - "title": "SamplingRate", + "Weight": { + "markdownDescription": "The percentage of traffic to send to a staging distribution, expressed as a decimal number between 0 and 0.15. For example, a value of 0.10 means 10% of traffic is sent to the staging distribution.", + "title": "Weight", "type": "number" } }, "required": [ - "Enabled" + "Weight" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.StrictTransportSecurity": { + "AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightPolicyConfig": { "additionalProperties": false, "properties": { - "AccessControlMaxAgeSec": { - "markdownDescription": "A number that CloudFront uses as the value for the `max-age` directive in the `Strict-Transport-Security` HTTP response header.", - "title": "AccessControlMaxAgeSec", - "type": "number" - }, - "IncludeSubdomains": { - "markdownDescription": "A Boolean that determines whether CloudFront includes the `includeSubDomains` directive in the `Strict-Transport-Security` HTTP response header.", - "title": "IncludeSubdomains", - "type": "boolean" - }, - "Override": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides the `Strict-Transport-Security` HTTP response header received from the origin with the one specified in this response headers policy.", - "title": "Override", - "type": "boolean" + "SessionStickinessConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig", + "markdownDescription": "Enable session stickiness for the associated origin or cache settings.", + "title": "SessionStickinessConfig" }, - "Preload": { - "markdownDescription": "A Boolean that determines whether CloudFront includes the `preload` directive in the `Strict-Transport-Security` HTTP response header.", - "title": "Preload", - "type": "boolean" + "Weight": { + "markdownDescription": "The percentage of requests that CloudFront will use to send to an associated origin or cache settings.", + "title": "Weight", + "type": "number" } }, "required": [ - "AccessControlMaxAgeSec", - "Override" + "Weight" ], "type": "object" }, - "AWS::CloudFront::ResponseHeadersPolicy.XSSProtection": { + "AWS::CloudFront::ContinuousDeploymentPolicy.TrafficConfig": { "additionalProperties": false, "properties": { - "ModeBlock": { - "markdownDescription": "A Boolean that determines whether CloudFront includes the `mode=block` directive in the `X-XSS-Protection` header.\n\nFor more information about this directive, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", - "title": "ModeBlock", - "type": "boolean" - }, - "Override": { - "markdownDescription": "A Boolean that determines whether CloudFront overrides the `X-XSS-Protection` HTTP response header received from the origin with the one specified in this response headers policy.", - "title": "Override", - "type": "boolean" + "SingleHeaderConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderConfig", + "markdownDescription": "Determines which HTTP requests are sent to the staging distribution.", + "title": "SingleHeaderConfig" }, - "Protection": { - "markdownDescription": "A Boolean that determines the value of the `X-XSS-Protection` HTTP response header. When this setting is `true` , the value of the `X-XSS-Protection` header is `1` . When this setting is `false` , the value of the `X-XSS-Protection` header is `0` .\n\nFor more information about these settings, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", - "title": "Protection", - "type": "boolean" + "SingleWeightConfig": { + "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightConfig", + "markdownDescription": "Contains the percentage of traffic to send to the staging distribution.", + "title": "SingleWeightConfig" }, - "ReportUri": { - "markdownDescription": "A reporting URI, which CloudFront uses as the value of the `report` directive in the `X-XSS-Protection` header.\n\nYou cannot specify a `ReportUri` when `ModeBlock` is `true` .\n\nFor more information about using a reporting URL, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", - "title": "ReportUri", + "Type": { + "markdownDescription": "The type of traffic configuration.", + "title": "Type", "type": "string" } }, "required": [ - "Override", - "Protection" + "Type" ], "type": "object" }, - "AWS::CloudFront::StreamingDistribution": { + "AWS::CloudFront::Distribution": { "additionalProperties": false, "properties": { "Condition": { @@ -72345,10 +73714,10 @@ "Properties": { "additionalProperties": false, "properties": { - "StreamingDistributionConfig": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig", - "markdownDescription": "The current configuration information for the RTMP distribution.", - "title": "StreamingDistributionConfig" + "DistributionConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig", + "markdownDescription": "The distribution's configuration.", + "title": "DistributionConfig" }, "Tags": { "items": { @@ -72360,14 +73729,13 @@ } }, "required": [ - "StreamingDistributionConfig", - "Tags" + "DistributionConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::StreamingDistribution" + "AWS::CloudFront::Distribution" ], "type": "string" }, @@ -72386,358 +73754,255 @@ ], "type": "object" }, - "AWS::CloudFront::StreamingDistribution.Logging": { + "AWS::CloudFront::Distribution.CacheBehavior": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The Amazon S3 bucket to store the access logs in, for example, `amzn-s3-demo-bucket.s3.amazonaws.com` .", - "title": "Bucket", + "AllowedMethods": { + "items": { + "type": "string" + }, + "markdownDescription": "A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:\n\n- CloudFront forwards only `GET` and `HEAD` requests.\n- CloudFront forwards only `GET` , `HEAD` , and `OPTIONS` requests.\n- CloudFront forwards `GET, HEAD, OPTIONS, PUT, PATCH, POST` , and `DELETE` requests.\n\nIf you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.", + "title": "AllowedMethods", + "type": "array" + }, + "CachePolicyId": { + "markdownDescription": "The unique identifier of the cache policy that is attached to this cache behavior. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `CacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .", + "title": "CachePolicyId", "type": "string" }, - "Enabled": { - "markdownDescription": "Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify `false` for `Enabled` , and specify `empty Bucket` and `Prefix` elements. If you specify `false` for `Enabled` but you specify values for `Bucket` and `Prefix` , the values are automatically deleted.", - "title": "Enabled", + "CachedMethods": { + "items": { + "type": "string" + }, + "markdownDescription": "A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:\n\n- CloudFront caches responses to `GET` and `HEAD` requests.\n- CloudFront caches responses to `GET` , `HEAD` , and `OPTIONS` requests.\n\nIf you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.", + "title": "CachedMethods", + "type": "array" + }, + "Compress": { + "markdownDescription": "Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see [Serving Compressed Files](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) in the *Amazon CloudFront Developer Guide* .", + "title": "Compress", "type": "boolean" }, - "Prefix": { - "markdownDescription": "An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, `myprefix/` . If you want to enable logging, but you don't want to specify a prefix, you still must include an empty `Prefix` element in the `Logging` element.", - "title": "Prefix", - "type": "string" - } - }, - "required": [ - "Bucket", - "Enabled", - "Prefix" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.S3Origin": { - "additionalProperties": false, - "properties": { - "DomainName": { - "markdownDescription": "The DNS name of the Amazon S3 origin.", - "title": "DomainName", - "type": "string" + "DefaultTTL": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `DefaultTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", + "title": "DefaultTTL", + "type": "number" }, - "OriginAccessIdentity": { - "markdownDescription": "The CloudFront origin access identity to associate with the distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.\n\nIf you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty `OriginAccessIdentity` element.\n\nTo delete the origin access identity from an existing distribution, update the distribution configuration and include an empty `OriginAccessIdentity` element.\n\nTo replace the origin access identity, update the distribution configuration and specify the new origin access identity.\n\nFor more information, see [Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) in the *Amazon CloudFront Developer Guide* .", - "title": "OriginAccessIdentity", + "FieldLevelEncryptionId": { + "markdownDescription": "The value of `ID` for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for this cache behavior.", + "title": "FieldLevelEncryptionId", "type": "string" - } - }, - "required": [ - "DomainName", - "OriginAccessIdentity" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { + }, + "ForwardedValues": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues", + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see [Working with policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to include values in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `CacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .\n\nA complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.", + "title": "ForwardedValues" + }, + "FunctionAssociations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" }, - "markdownDescription": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.", - "title": "Aliases", + "markdownDescription": "A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the `LIVE` stage to associate them with a cache behavior.", + "title": "FunctionAssociations", "type": "array" }, - "Comment": { - "markdownDescription": "Any comments you want to include about the streaming distribution.", - "title": "Comment", + "GrpcConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.GrpcConfig", + "markdownDescription": "The gRPC configuration for your cache behavior.", + "title": "GrpcConfig" + }, + "LambdaFunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" + }, + "markdownDescription": "A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.", + "title": "LambdaFunctionAssociations", + "type": "array" + }, + "MaxTTL": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MaxTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", + "title": "MaxTTL", + "type": "number" + }, + "MinTTL": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MinTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nYou must specify `0` for `MinTTL` if you configure CloudFront to forward all headers to your origin (under `Headers` , if you specify `1` for `Quantity` and `*` for `Name` ).", + "title": "MinTTL", + "type": "number" + }, + "OriginRequestPolicyId": { + "markdownDescription": "The unique identifier of the origin request policy that is attached to this cache behavior. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginRequestPolicyId", "type": "string" }, - "Enabled": { - "markdownDescription": "Whether the streaming distribution is enabled to accept user requests for content.", - "title": "Enabled", - "type": "boolean" + "PathPattern": { + "markdownDescription": "The pattern (for example, `images/*.jpg` ) that specifies which requests to apply the behavior to. When CloudFront receives a viewer request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution.\n\n> You can optionally include a slash ( `/` ) at the beginning of the path pattern. For example, `/images/*.jpg` . CloudFront behavior is the same with or without the leading `/` . \n\nThe path pattern for the default cache behavior is `*` and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.\n\nFor more information, see [Path Pattern](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern) in the *Amazon CloudFront Developer Guide* .", + "title": "PathPattern", + "type": "string" }, - "Logging": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.Logging", - "markdownDescription": "A complex type that controls whether access logs are written for the streaming distribution.", - "title": "Logging" + "RealtimeLogConfigArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this cache behavior. For more information, see [Real-time logs](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html) in the *Amazon CloudFront Developer Guide* .", + "title": "RealtimeLogConfigArn", + "type": "string" }, - "PriceClass": { - "markdownDescription": "A complex type that contains information about price class for this streaming distribution.", - "title": "PriceClass", + "ResponseHeadersPolicyId": { + "markdownDescription": "The identifier for a response headers policy.", + "title": "ResponseHeadersPolicyId", "type": "string" }, - "S3Origin": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.S3Origin", - "markdownDescription": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", - "title": "S3Origin" + "SmoothStreaming": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nIndicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify `true` ; if not, specify `false` . If you specify `true` for `SmoothStreaming` , you can still distribute other content using this cache behavior if the content matches the value of `PathPattern` .", + "title": "SmoothStreaming", + "type": "boolean" + }, + "TargetOriginId": { + "markdownDescription": "The value of `ID` for the origin that you want CloudFront to route requests to when they match this cache behavior.", + "title": "TargetOriginId", + "type": "string" + }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of key groups that CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", + "title": "TrustedKeyGroups", + "type": "array" }, "TrustedSigners": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.TrustedSigners", - "markdownDescription": "A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content. If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", - "title": "TrustedSigners" - } - }, - "required": [ - "Comment", - "Enabled", - "S3Origin", - "TrustedSigners" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.TrustedSigners": { - "additionalProperties": false, - "properties": { - "AwsAccountNumbers": { "items": { "type": "string" }, - "markdownDescription": "An AWS account number that contains active CloudFront key pairs that CloudFront can use to verify the signatures of signed URLs and signed cookies. If the AWS account that owns the key pairs is the same account that owns the CloudFront distribution, the value of this field is `self` .", - "title": "AwsAccountNumbers", + "markdownDescription": "> We recommend using `TrustedKeyGroups` instead of `TrustedSigners` . > This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA list of AWS account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in the trusted signer's AWS account . The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", + "title": "TrustedSigners", "type": "array" }, - "Enabled": { - "markdownDescription": "This field is `true` if any of the AWS accounts in the list are configured as trusted signers. If not, this field is `false` .", - "title": "Enabled", - "type": "boolean" + "ViewerProtocolPolicy": { + "markdownDescription": "The protocol that viewers can use to access the files in the origin specified by `TargetOriginId` when a request matches the path pattern in `PathPattern` . You can specify the following options:\n\n- `allow-all` : Viewers can use HTTP or HTTPS.\n- `redirect-to-https` : If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.\n- `https-only` : If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).\n\nFor more information about requiring the HTTPS protocol, see [Requiring HTTPS Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) in the *Amazon CloudFront Developer Guide* .\n\n> The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see [Managing Cache Expiration](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", + "title": "ViewerProtocolPolicy", + "type": "string" } }, "required": [ - "Enabled" + "PathPattern", + "TargetOriginId", + "ViewerProtocolPolicy" ], "type": "object" }, - "AWS::CloudFront::TrustStore": { + "AWS::CloudFront::Distribution.CacheTagConfig": { "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": { - "CaCertificatesBundleSource": { - "$ref": "#/definitions/AWS::CloudFront::TrustStore.CaCertificatesBundleSource", - "markdownDescription": "A CA certificates bundle source.", - "title": "CaCertificatesBundleSource" - }, - "Name": { - "markdownDescription": "The trust store's name.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A complex type that contains zero or more `Tag` elements.", - "title": "Tags", - "type": "array" - }, - "UseClientCertificateOCSPEndpoint": { - "type": "boolean" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::TrustStore" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "HeaderName": { "type": "string" } }, "required": [ - "Type", - "Properties" + "HeaderName" ], "type": "object" }, - "AWS::CloudFront::TrustStore.CaCertificatesBundleS3Location": { + "AWS::CloudFront::Distribution.ConnectionFunctionAssociation": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The S3 bucket.", - "title": "Bucket", - "type": "string" - }, - "Key": { - "markdownDescription": "The location's key.", - "title": "Key", - "type": "string" - }, - "Region": { - "markdownDescription": "The location's Region.", - "title": "Region", - "type": "string" - }, - "Version": { - "markdownDescription": "The location's version.", - "title": "Version", + "Id": { + "markdownDescription": "The association's ID.", + "title": "Id", "type": "string" } }, "required": [ - "Bucket", - "Key", - "Region" + "Id" ], "type": "object" }, - "AWS::CloudFront::TrustStore.CaCertificatesBundleSource": { + "AWS::CloudFront::Distribution.Cookies": { "additionalProperties": false, "properties": { - "CaCertificatesBundleS3Location": { - "$ref": "#/definitions/AWS::CloudFront::TrustStore.CaCertificatesBundleS3Location", - "markdownDescription": "The CA certificates bundle location in Amazon S3.", - "title": "CaCertificatesBundleS3Location" + "Forward": { + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send cookies to the origin but not include them in the cache key, use origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nSpecifies which cookies to forward to the origin for this cache behavior: all, none, or the list of cookies specified in the `WhitelistedNames` complex type.\n\nAmazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an Amazon S3 origin, specify none for the `Forward` element.", + "title": "Forward", + "type": "string" + }, + "WhitelistedNames": { + "items": { + "type": "string" + }, + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nRequired if you specify `whitelist` for the value of `Forward` . A complex type that specifies how many different cookies you want CloudFront to forward to the origin for this cache behavior and, if you want to forward selected cookies, the names of those cookies.\n\nIf you specify `all` or `none` for the value of `Forward` , omit `WhitelistedNames` . If you change the value of `Forward` from `whitelist` to `all` or `none` and you don't delete the `WhitelistedNames` element and its child elements, CloudFront deletes them automatically.\n\nFor the current limit on the number of cookie names that you can whitelist for each cache behavior, see [CloudFront Limits](https://docs.aws.amazon.com/general/latest/gr/xrefaws_service_limits.html#limits_cloudfront) in the *AWS General Reference* .", + "title": "WhitelistedNames", + "type": "array" } }, "required": [ - "CaCertificatesBundleS3Location" + "Forward" ], "type": "object" }, - "AWS::CloudFront::VpcOrigin": { + "AWS::CloudFront::Distribution.CustomErrorResponse": { "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" + "ErrorCachingMinTTL": { + "markdownDescription": "The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status code specified in `ErrorCode` . When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.\n\nFor more information, see [Customizing Error Responses](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) in the *Amazon CloudFront Developer Guide* .", + "title": "ErrorCachingMinTTL", + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A complex type that contains zero or more `Tag` elements.", - "title": "Tags", - "type": "array" - }, - "VpcOriginEndpointConfig": { - "$ref": "#/definitions/AWS::CloudFront::VpcOrigin.VpcOriginEndpointConfig", - "markdownDescription": "The VPC origin endpoint configuration.", - "title": "VpcOriginEndpointConfig" - } - }, - "required": [ - "VpcOriginEndpointConfig" - ], - "type": "object" + "ErrorCode": { + "markdownDescription": "The HTTP status code for which you want to specify a custom error page and/or a caching duration.", + "title": "ErrorCode", + "type": "number" }, - "Type": { - "enum": [ - "AWS::CloudFront::VpcOrigin" - ], - "type": "string" + "ResponseCode": { + "markdownDescription": "The HTTP status code that you want CloudFront to return to the viewer along with the custom error page. There are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute `200` , the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify `400` or `500` as the `ResponseCode` for all 4xx or 5xx errors.\n- You might want to return a `200` status code (OK) and static website so your customers don't know that your website is down.\n\nIf you specify a value for `ResponseCode` , you must also specify a value for `ResponsePagePath` .", + "title": "ResponseCode", + "type": "number" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ResponsePagePath": { + "markdownDescription": "The path to the custom error page that you want CloudFront to return to a viewer when your origin returns the HTTP status code specified by `ErrorCode` , for example, `/4xx-errors/403-forbidden.html` . If you want to store your objects and your custom error pages in different locations, your distribution must include a cache behavior for which the following is true:\n\n- The value of `PathPattern` matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named `/4xx-errors` . Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, `/4xx-errors/*` .\n- The value of `TargetOriginId` specifies the value of the `ID` element for the origin that contains your custom error pages.\n\nIf you specify a value for `ResponsePagePath` , you must also specify a value for `ResponseCode` .\n\nWe recommend that you store custom error pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.", + "title": "ResponsePagePath", "type": "string" } }, "required": [ - "Type", - "Properties" + "ErrorCode" ], "type": "object" }, - "AWS::CloudFront::VpcOrigin.VpcOriginEndpointConfig": { + "AWS::CloudFront::Distribution.CustomOriginConfig": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The ARN of the CloudFront VPC origin endpoint configuration.", - "title": "Arn", - "type": "string" - }, "HTTPPort": { - "markdownDescription": "The HTTP port for the CloudFront VPC origin endpoint configuration. The default value is `80` .", + "markdownDescription": "The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port that the origin listens on.", "title": "HTTPPort", "type": "number" }, "HTTPSPort": { - "markdownDescription": "The HTTPS port of the CloudFront VPC origin endpoint configuration. The default value is `443` .", + "markdownDescription": "The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port that the origin listens on.", "title": "HTTPSPort", "type": "number" }, "IpAddressType": { + "markdownDescription": "Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose `dualstack` to help optimize reliability.", + "title": "IpAddressType", "type": "string" }, - "Name": { - "markdownDescription": "The name of the CloudFront VPC origin endpoint configuration.", - "title": "Name", - "type": "string" + "OriginKeepaliveTimeout": { + "markdownDescription": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n\nFor more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginKeepaliveTimeout", + "type": "number" + }, + "OriginMtlsConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginMtlsConfig", + "markdownDescription": "", + "title": "OriginMtlsConfig" }, "OriginProtocolPolicy": { - "markdownDescription": "The origin protocol policy for the CloudFront VPC origin endpoint configuration.", + "markdownDescription": "Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Valid values are:\n\n- `http-only` \u2013 CloudFront always uses HTTP to connect to the origin.\n- `match-viewer` \u2013 CloudFront connects to the origin using the same protocol that the viewer used to connect to CloudFront.\n- `https-only` \u2013 CloudFront always uses HTTPS to connect to the origin.", "title": "OriginProtocolPolicy", "type": "string" }, + "OriginReadTimeout": { + "markdownDescription": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n\nFor more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginReadTimeout", + "type": "number" + }, "OriginSSLProtocols": { "items": { "type": "string" @@ -72748,734 +74013,933 @@ } }, "required": [ - "Arn", - "Name" + "OriginProtocolPolicy" ], "type": "object" }, - "AWS::CloudHSM::Cluster": { + "AWS::CloudFront::Distribution.DefaultCacheBehavior": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "AllowedMethods": { + "items": { + "type": "string" + }, + "markdownDescription": "A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:\n\n- CloudFront forwards only `GET` and `HEAD` requests.\n- CloudFront forwards only `GET` , `HEAD` , and `OPTIONS` requests.\n- CloudFront forwards `GET, HEAD, OPTIONS, PUT, PATCH, POST` , and `DELETE` requests.\n\nIf you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.", + "title": "AllowedMethods", + "type": "array" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CachePolicyId": { + "markdownDescription": "The unique identifier of the cache policy that is attached to the default cache behavior. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `DefaultCacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .", + "title": "CachePolicyId", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CachedMethods": { + "items": { + "type": "string" + }, + "markdownDescription": "A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:\n\n- CloudFront caches responses to `GET` and `HEAD` requests.\n- CloudFront caches responses to `GET` , `HEAD` , and `OPTIONS` requests.\n\nIf you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.", + "title": "CachedMethods", + "type": "array" }, - "Metadata": { - "type": "object" + "Compress": { + "markdownDescription": "Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify `true` ; if not, specify `false` . For more information, see [Serving Compressed Files](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) in the *Amazon CloudFront Developer Guide* .", + "title": "Compress", + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "BackupRetentionPolicy": { - "$ref": "#/definitions/AWS::CloudHSM::Cluster.BackupRetentionPolicy" - }, - "HsmType": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::CloudHSM::Cluster.TagsItems" - }, - "type": "array" - } + "DefaultTTL": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `DefaultTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", + "title": "DefaultTTL", + "type": "number" + }, + "FieldLevelEncryptionId": { + "markdownDescription": "The value of `ID` for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for the default cache behavior.", + "title": "FieldLevelEncryptionId", + "type": "string" + }, + "ForwardedValues": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues", + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see [Working with policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to include values in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nA `DefaultCacheBehavior` must include either a `CachePolicyId` or `ForwardedValues` . We recommend that you use a `CachePolicyId` .\n\nA complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.", + "title": "ForwardedValues" + }, + "FunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" }, - "required": [ - "HsmType" - ], - "type": "object" + "markdownDescription": "A list of CloudFront functions that are associated with this cache behavior. Your functions must be published to the `LIVE` stage to associate them with a cache behavior.", + "title": "FunctionAssociations", + "type": "array" }, - "Type": { - "enum": [ - "AWS::CloudHSM::Cluster" - ], + "GrpcConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.GrpcConfig", + "markdownDescription": "The gRPC configuration for your cache behavior.", + "title": "GrpcConfig" + }, + "LambdaFunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" + }, + "markdownDescription": "A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.", + "title": "LambdaFunctionAssociations", + "type": "array" + }, + "MaxTTL": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MaxTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as `Cache-Control max-age` , `Cache-Control s-maxage` , and `Expires` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", + "title": "MaxTTL", + "type": "number" + }, + "MinTTL": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThis field is deprecated. We recommend that you use the `MinTTL` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide* .\n\nThe minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .\n\nYou must specify `0` for `MinTTL` if you configure CloudFront to forward all headers to your origin (under `Headers` , if you specify `1` for `Quantity` and `*` for `Name` ).", + "title": "MinTTL", + "type": "number" + }, + "OriginRequestPolicyId": { + "markdownDescription": "The unique identifier of the origin request policy that is attached to the default cache behavior. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) or [Using the managed origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginRequestPolicyId", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RealtimeLogConfigArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this cache behavior. For more information, see [Real-time logs](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html) in the *Amazon CloudFront Developer Guide* .", + "title": "RealtimeLogConfigArn", + "type": "string" + }, + "ResponseHeadersPolicyId": { + "markdownDescription": "The identifier for a response headers policy.", + "title": "ResponseHeadersPolicyId", + "type": "string" + }, + "SmoothStreaming": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nIndicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify `true` ; if not, specify `false` . If you specify `true` for `SmoothStreaming` , you can still distribute other content using this cache behavior if the content matches the value of `PathPattern` .", + "title": "SmoothStreaming", + "type": "boolean" + }, + "TargetOriginId": { + "markdownDescription": "The value of `ID` for the origin that you want CloudFront to route requests to when they use the default cache behavior.", + "title": "TargetOriginId", + "type": "string" + }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of key groups that CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", + "title": "TrustedKeyGroups", + "type": "array" + }, + "TrustedSigners": { + "items": { + "type": "string" + }, + "markdownDescription": "> We recommend using `TrustedKeyGroups` instead of `TrustedSigners` . > This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA list of AWS account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies.\n\nWhen a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in a trusted signer's AWS account . The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", + "title": "TrustedSigners", + "type": "array" + }, + "ViewerProtocolPolicy": { + "markdownDescription": "The protocol that viewers can use to access the files in the origin specified by `TargetOriginId` when a request matches the path pattern in `PathPattern` . You can specify the following options:\n\n- `allow-all` : Viewers can use HTTP or HTTPS.\n- `redirect-to-https` : If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.\n- `https-only` : If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).\n\nFor more information about requiring the HTTPS protocol, see [Requiring HTTPS Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) in the *Amazon CloudFront Developer Guide* .\n\n> The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see [Managing Cache Expiration](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide* .", + "title": "ViewerProtocolPolicy", "type": "string" } }, "required": [ - "Type", - "Properties" + "TargetOriginId", + "ViewerProtocolPolicy" ], "type": "object" }, - "AWS::CloudHSM::Cluster.BackupRetentionPolicy": { + "AWS::CloudFront::Distribution.Definition": { "additionalProperties": false, "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" + "StringSchema": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.StringSchema", + "markdownDescription": "", + "title": "StringSchema" } }, "type": "object" }, - "AWS::CloudHSM::Cluster.TagsItems": { + "AWS::CloudFront::Distribution.DistributionConfig": { "additionalProperties": false, "properties": { - "Key": { + "Aliases": { + "items": { + "type": "string" + }, + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", + "title": "Aliases", + "type": "array" + }, + "AnycastIpListId": { + "markdownDescription": "> To use this field for a multi-tenant distribution, use a connection group instead. For more information, see [ConnectionGroup](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ConnectionGroup.html) . \n\nID of the Anycast static IP list that is associated with the distribution.", + "title": "AnycastIpListId", "type": "string" }, - "Value": { + "CNAMEs": { + "items": { + "type": "string" + }, + "markdownDescription": "An alias for the CloudFront distribution's domain name.\n\n> This property is legacy. We recommend that you use [Aliases](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-aliases) instead.", + "title": "CNAMEs", + "type": "array" + }, + "CacheBehaviors": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior" + }, + "markdownDescription": "A complex type that contains zero or more `CacheBehavior` elements.", + "title": "CacheBehaviors", + "type": "array" + }, + "CacheTagConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheTagConfig" + }, + "Comment": { + "markdownDescription": "A comment to describe the distribution. The comment cannot be longer than 128 characters.", + "title": "Comment", + "type": "string" + }, + "ConnectionFunctionAssociation": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ConnectionFunctionAssociation", + "markdownDescription": "The distribution's connection function association.", + "title": "ConnectionFunctionAssociation" + }, + "ConnectionMode": { + "markdownDescription": "This field specifies whether the connection mode is through a standard distribution (direct) or a multi-tenant distribution with distribution tenants (tenant-only).", + "title": "ConnectionMode", + "type": "string" + }, + "ContinuousDeploymentPolicyId": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThe identifier of a continuous deployment policy. For more information, see `CreateContinuousDeploymentPolicy` .", + "title": "ContinuousDeploymentPolicyId", + "type": "string" + }, + "CustomErrorResponses": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse" + }, + "markdownDescription": "A complex type that controls the following:\n\n- Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.\n- How long CloudFront caches HTTP status codes in the 4xx and 5xx range.\n\nFor more information about custom error pages, see [Customizing Error Responses](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) in the *Amazon CloudFront Developer Guide* .", + "title": "CustomErrorResponses", + "type": "array" + }, + "CustomOrigin": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyCustomOrigin", + "markdownDescription": "The user-defined HTTP server that serves as the origin for content that CloudFront distributes.\n\n> This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.", + "title": "CustomOrigin" + }, + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior", + "markdownDescription": "A complex type that describes the default cache behavior if you don't specify a `CacheBehavior` element or if files don't match any of the values of `PathPattern` in `CacheBehavior` elements. You must create exactly one default cache behavior.", + "title": "DefaultCacheBehavior" + }, + "DefaultRootObject": { + "markdownDescription": "When a viewer requests the root URL for your distribution, the default root object is the object that you want CloudFront to request from your origin. For example, if your root URL is `https://www.example.com` , you can specify CloudFront to return the `index.html` file as the default root object. You can specify a default root object so that viewers see a specific file or object, instead of another object in your distribution (for example, `https://www.example.com/product-description.html` ). A default root object avoids exposing the contents of your distribution.\n\nYou can specify the object name or a path to the object name (for example, `index.html` or `exampleFolderName/index.html` ). Your string can't begin with a forward slash ( `/` ). Only specify the object name or the path to the object.\n\nIf you don't want to specify a default root object when you create a distribution, include an empty `DefaultRootObject` element.\n\nTo delete the default root object from an existing distribution, update the distribution configuration and include an empty `DefaultRootObject` element.\n\nTo replace the default root object, update the distribution configuration and specify the new object.\n\nFor more information about the default root object, see [Specify a default root object](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) in the *Amazon CloudFront Developer Guide* .", + "title": "DefaultRootObject", + "type": "string" + }, + "Enabled": { + "markdownDescription": "From this field, you can enable or disable the selected distribution.", + "title": "Enabled", + "type": "boolean" + }, + "HttpVersion": { + "markdownDescription": "(Optional) Specify the HTTP version(s) that you want viewers to use to communicate with CloudFront . The default value for new distributions is `http1.1` .\n\nFor viewers and CloudFront to use HTTP/2, viewers must support TLSv1.2 or later, and must support Server Name Indication (SNI).\n\nFor viewers and CloudFront to use HTTP/3, viewers must support TLSv1.3 and Server Name Indication (SNI). CloudFront supports HTTP/3 connection migration to allow the viewer to switch networks without losing connection. For more information about connection migration, see [Connection Migration](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc9000.html#name-connection-migration) at RFC 9000. For more information about supported TLSv1.3 ciphers, see [Supported protocols and ciphers between viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html) .", + "title": "HttpVersion", + "type": "string" + }, + "IPV6Enabled": { + "markdownDescription": "> To use this field for a multi-tenant distribution, use a connection group instead. For more information, see [ConnectionGroup](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ConnectionGroup.html) . \n\nIf you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution, specify `true` . If you specify `false` , CloudFront responds to IPv6 DNS requests with the DNS response code `NOERROR` and with no IP addresses. This allows viewers to submit a second request, for an IPv4 address for your distribution.\n\nIn general, you should enable IPv6 if you have users on IPv6 networks who want to access your content. However, if you're using signed URLs or signed cookies to restrict access to your content, and if you're using a custom policy that includes the `IpAddress` parameter to restrict the IP addresses that can access your content, don't enable IPv6. If you want to restrict access to some content by IP address and not restrict access to other content (or restrict access but not by IP address), you can create two distributions. For more information, see [Creating a Signed URL Using a Custom Policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-custom-policy.html) in the *Amazon CloudFront Developer Guide* .\n\nIf you're using an Amazon Route\u00a053 AWS Integration alias resource record set to route traffic to your CloudFront distribution, you need to create a second alias resource record set when both of the following are true:\n\n- You enable IPv6 for the distribution\n- You're using alternate domain names in the URLs for your objects\n\nFor more information, see [Routing Traffic to an Amazon CloudFront Web Distribution by Using Your Domain Name](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html) in the *Amazon Route\u00a053 AWS Integration Developer Guide* .\n\nIf you created a CNAME resource record set, either with Amazon Route\u00a053 AWS Integration or with another DNS service, you don't need to make any changes. A CNAME record will route traffic to your distribution regardless of the IP address format of the viewer request.", + "title": "IPV6Enabled", + "type": "boolean" + }, + "Logging": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging", + "markdownDescription": "A complex type that controls whether access logs are written for the distribution.\n\nFor more information about logging, see [Access Logs](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) in the *Amazon CloudFront Developer Guide* .", + "title": "Logging" + }, + "OriginGroups": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups", + "markdownDescription": "A complex type that contains information about origin groups for this distribution.\n\nSpecify a value for either the `Origins` or `OriginGroups` property.", + "title": "OriginGroups" + }, + "Origins": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" + }, + "markdownDescription": "A complex type that contains information about origins for this distribution.\n\nSpecify a value for either the `Origins` or `OriginGroups` property.", + "title": "Origins", + "type": "array" + }, + "PriceClass": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nThe price class that corresponds with the maximum price that you want to pay for CloudFront service. If you specify `PriceClass_All` , CloudFront responds to requests for your objects from all CloudFront edge locations.\n\nIf you specify a price class other than `PriceClass_All` , CloudFront serves your objects from the CloudFront edge location that has the lowest latency among the edge locations in your price class. Viewers who are in or near regions that are excluded from your specified price class may encounter slower performance.\n\nFor more information about price classes, see [Choosing the Price Class for a CloudFront Distribution](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html) in the *Amazon CloudFront Developer Guide* . For information about CloudFront pricing, including how price classes (such as Price Class 100) map to CloudFront regions, see [Amazon CloudFront Pricing](https://docs.aws.amazon.com/cloudfront/pricing/) .", + "title": "PriceClass", + "type": "string" + }, + "Restrictions": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions", + "markdownDescription": "A complex type that identifies ways in which you want to restrict distribution of your content.", + "title": "Restrictions" + }, + "S3Origin": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyS3Origin", + "markdownDescription": "The origin as an Amazon S3 bucket.\n\n> This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.", + "title": "S3Origin" + }, + "Staging": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA Boolean that indicates whether this is a staging distribution. When this value is `true` , this is a staging distribution. When this value is `false` , this is not a staging distribution.", + "title": "Staging", + "type": "boolean" + }, + "TenantConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.TenantConfig", + "markdownDescription": "> This field only supports multi-tenant distributions. You can't specify this field for standard distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . \n\nA distribution tenant configuration.", + "title": "TenantConfig" + }, + "ViewerCertificate": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate", + "markdownDescription": "A complex type that determines the distribution's SSL/TLS configuration for communicating with viewers.", + "title": "ViewerCertificate" + }, + "ViewerMtlsConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerMtlsConfig", + "markdownDescription": "The distribution's viewer mTLS configuration.", + "title": "ViewerMtlsConfig" + }, + "WebACLId": { + "markdownDescription": "> Multi-tenant distributions only support AWS WAF V2 web ACLs. \n\nA unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution. To specify a web ACL created using the latest version of AWS WAF , use the ACL ARN, for example `arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` . To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` .\n\nAWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about AWS WAF , see the [AWS WAF Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html) .", + "title": "WebACLId", "type": "string" } }, "required": [ - "Key", - "Value" + "DefaultCacheBehavior", + "Enabled" ], "type": "object" }, - "AWS::CloudTrail::Channel": { + "AWS::CloudFront::Distribution.ForwardedValues": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Cookies": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies", + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nA complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see [How CloudFront Forwards, Caches, and Logs Cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) in the *Amazon CloudFront Developer Guide* .", + "title": "Cookies" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Headers": { + "items": { + "type": "string" + }, + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include headers in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send headers to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nA complex type that specifies the `Headers` , if any, that you want CloudFront to forward to the origin for this cache behavior (whitelisted headers). For the headers that you specify, CloudFront also caches separate versions of a specified object that is based on the header values in viewer requests.\n\nFor more information, see [Caching Content Based on Request Headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) in the *Amazon CloudFront Developer Guide* .", + "title": "Headers", + "type": "array" }, - "Metadata": { - "type": "object" + "QueryString": { + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include query strings in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nIndicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of `QueryString` and on the values that you specify for `QueryStringCacheKeys` , if any:\n\nIf you specify true for `QueryString` and you don't specify any values for `QueryStringCacheKeys` , CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin.\n\nIf you specify true for `QueryString` and you specify one or more values for `QueryStringCacheKeys` , CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify.\n\nIf you specify false for `QueryString` , CloudFront doesn't forward any query string parameters to the origin, and doesn't cache based on query string parameters.\n\nFor more information, see [Configuring CloudFront to Cache Based on Query String Parameters](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html) in the *Amazon CloudFront Developer Guide* .", + "title": "QueryString", + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Channel.Destination" - }, - "markdownDescription": "One or more event data stores to which events arriving through a channel will be logged.", - "title": "Destinations", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the channel.", - "title": "Name", - "type": "string" - }, - "Source": { - "markdownDescription": "The name of the partner or external event source. You cannot change this name after you create the channel. A maximum of one channel is allowed per source.\n\nA source can be either `Custom` for all valid non- AWS events, or the name of a partner event source. For information about the source names for available partners, see [Additional information about integration partners](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-integration.html#cloudtrail-lake-partner-information) in the CloudTrail User Guide.", - "title": "Source", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags.", - "title": "Tags", - "type": "array" - } + "QueryStringCacheKeys": { + "items": { + "type": "string" }, - "type": "object" + "markdownDescription": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.\n\nIf you want to include query strings in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide* .\n\nIf you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide* .\n\nA complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.", + "title": "QueryStringCacheKeys", + "type": "array" + } + }, + "required": [ + "QueryString" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.FunctionAssociation": { + "additionalProperties": false, + "properties": { + "EventType": { + "markdownDescription": "The event type of the function, either `viewer-request` or `viewer-response` . You cannot use origin-facing event types ( `origin-request` and `origin-response` ) with a CloudFront function.", + "title": "EventType", + "type": "string" }, - "Type": { - "enum": [ - "AWS::CloudTrail::Channel" - ], + "FunctionARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the function.", + "title": "FunctionARN", "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.GeoRestriction": { + "additionalProperties": false, + "properties": { + "Locations": { + "items": { + "type": "string" + }, + "markdownDescription": "A complex type that contains a `Location` element for each country in which you want CloudFront either to distribute your content ( `whitelist` ) or not distribute your content ( `blacklist` ).\n\nThe `Location` element is a two-letter, uppercase country code for a country that you want to include in your `blacklist` or `whitelist` . Include one `Location` element for each country.\n\nCloudFront and `MaxMind` both use `ISO 3166` country codes. For the current list of countries and the corresponding codes, see `ISO 3166-1-alpha-2` code on the *International Organization for Standardization* website. You can also refer to the country list on the CloudFront console, which includes both country names and codes.", + "title": "Locations", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RestrictionType": { + "markdownDescription": "The method that you want to use to restrict distribution of your content by country:\n\n- `none` : No geo restriction is enabled, meaning access to content is not restricted by client geo location.\n- `blacklist` : The `Location` elements specify the countries in which you don't want CloudFront to distribute your content.\n- `whitelist` : The `Location` elements specify the countries in which you want CloudFront to distribute your content.", + "title": "RestrictionType", "type": "string" } }, "required": [ - "Type" + "RestrictionType" ], "type": "object" }, - "AWS::CloudTrail::Channel.Destination": { + "AWS::CloudFront::Distribution.GrpcConfig": { "additionalProperties": false, "properties": { - "Location": { - "markdownDescription": "For channels used for a CloudTrail Lake integration, the location is the ARN of an event data store that receives events from a channel. For service-linked channels, the location is the name of the AWS service.", - "title": "Location", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of destination for events arriving from a channel. For channels used for a CloudTrail Lake integration, the value is `EVENT_DATA_STORE` . For service-linked channels, the value is `AWS_SERVICE` .", - "title": "Type", - "type": "string" + "Enabled": { + "markdownDescription": "Enables your CloudFront distribution to receive gRPC requests and to proxy them directly to your origins.", + "title": "Enabled", + "type": "boolean" } }, "required": [ - "Location", - "Type" + "Enabled" ], "type": "object" }, - "AWS::CloudTrail::Dashboard": { + "AWS::CloudFront::Distribution.LambdaFunctionAssociation": { "additionalProperties": false, "properties": { - "Condition": { + "EventType": { + "markdownDescription": "Specifies the event type that triggers a Lambda@Edge function invocation. You can specify the following values:\n\n- `viewer-request` : The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.\n- `origin-request` : The function executes only when CloudFront sends a request to your origin. When the requested object is in the edge cache, the function doesn't execute.\n- `origin-response` : The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn't execute.\n- `viewer-response` : The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache.\n\nIf the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.", + "title": "EventType", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "IncludeBody": { + "markdownDescription": "A flag that allows a Lambda@Edge function to have read access to the body content. For more information, see [Accessing the Request Body by Choosing the Include Body Option](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-include-body-access.html) in the Amazon CloudFront Developer Guide.", + "title": "IncludeBody", + "type": "boolean" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "LambdaFunctionARN": { + "markdownDescription": "The ARN of the Lambda@Edge function. You must specify the ARN of a function version; you can't specify an alias or $LATEST.", + "title": "LambdaFunctionARN", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.LegacyCustomOrigin": { + "additionalProperties": false, + "properties": { + "DNSName": { + "markdownDescription": "The domain name assigned to your CloudFront distribution.", + "title": "DNSName", + "type": "string" }, - "Metadata": { - "type": "object" + "HTTPPort": { + "markdownDescription": "The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port that the origin listens on.", + "title": "HTTPPort", + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the dashboard. The name must be unique to your account.\n\nTo create the Highlights dashboard, the name must be `AWSCloudTrail-Highlights` .", - "title": "Name", - "type": "string" - }, - "RefreshSchedule": { - "$ref": "#/definitions/AWS::CloudTrail::Dashboard.RefreshSchedule", - "markdownDescription": "The schedule for a dashboard refresh.", - "title": "RefreshSchedule" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags.", - "title": "Tags", - "type": "array" - }, - "TerminationProtectionEnabled": { - "markdownDescription": "Specifies whether termination protection is enabled for the dashboard. If termination protection is enabled, you cannot delete the dashboard until termination protection is disabled.", - "title": "TerminationProtectionEnabled", - "type": "boolean" - }, - "Widgets": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Dashboard.Widget" - }, - "markdownDescription": "An array of widgets for a custom dashboard. A custom dashboard can have a maximum of ten widgets.\n\nYou do not need to specify widgets for the Highlights dashboard.", - "title": "Widgets", - "type": "array" - } - }, - "type": "object" + "HTTPSPort": { + "markdownDescription": "The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port that the origin listens on.", + "title": "HTTPSPort", + "type": "number" }, - "Type": { - "enum": [ - "AWS::CloudTrail::Dashboard" - ], + "OriginProtocolPolicy": { + "markdownDescription": "Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin.", + "title": "OriginProtocolPolicy", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "OriginSSLProtocols": { + "items": { + "type": "string" + }, + "markdownDescription": "The minimum SSL/TLS protocol version that CloudFront uses when communicating with your origin server over HTTPs.\n\nFor more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginSSLProtocols", + "type": "array" } }, "required": [ - "Type" + "DNSName", + "OriginProtocolPolicy", + "OriginSSLProtocols" ], "type": "object" }, - "AWS::CloudTrail::Dashboard.Frequency": { + "AWS::CloudFront::Distribution.LegacyS3Origin": { "additionalProperties": false, "properties": { - "Unit": { - "markdownDescription": "The unit to use for the refresh.\n\nFor custom dashboards, the unit can be `HOURS` or `DAYS` .\n\nFor the Highlights dashboard, the `Unit` must be `HOURS` .", - "title": "Unit", + "DNSName": { + "markdownDescription": "The domain name assigned to your CloudFront distribution.", + "title": "DNSName", "type": "string" }, - "Value": { - "markdownDescription": "The value for the refresh schedule.\n\nFor custom dashboards, the following values are valid when the unit is `HOURS` : `1` , `6` , `12` , `24`\n\nFor custom dashboards, the only valid value when the unit is `DAYS` is `1` .\n\nFor the Highlights dashboard, the `Value` must be `6` .", - "title": "Value", - "type": "number" + "OriginAccessIdentity": { + "markdownDescription": "The CloudFront origin access identity to associate with the distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 through CloudFront .\n\n> This property is legacy. We recommend that you use [OriginAccessControl](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html) instead.", + "title": "OriginAccessIdentity", + "type": "string" } }, "required": [ - "Unit", - "Value" + "DNSName" ], "type": "object" }, - "AWS::CloudTrail::Dashboard.RefreshSchedule": { + "AWS::CloudFront::Distribution.Logging": { "additionalProperties": false, "properties": { - "Frequency": { - "$ref": "#/definitions/AWS::CloudTrail::Dashboard.Frequency", - "markdownDescription": "The frequency at which you want the dashboard refreshed.", - "title": "Frequency" - }, - "Status": { - "markdownDescription": "Specifies whether the refresh schedule is enabled. Set the value to `ENABLED` to enable the refresh schedule, or to `DISABLED` to turn off the refresh schedule.", - "title": "Status", + "Bucket": { + "markdownDescription": "The Amazon S3 bucket to store the access logs in, for example, `amzn-s3-demo-bucket.s3.amazonaws.com` .", + "title": "Bucket", "type": "string" }, - "TimeOfDay": { - "markdownDescription": "The time of day in UTC to run the schedule; for hourly only refer to minutes; default is 00:00.", - "title": "TimeOfDay", + "IncludeCookies": { + "markdownDescription": "Specifies whether you want CloudFront to include cookies in access logs, specify `true` for `IncludeCookies` . If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you don't want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify `false` for `IncludeCookies` .", + "title": "IncludeCookies", + "type": "boolean" + }, + "Prefix": { + "markdownDescription": "An optional string that you want CloudFront to prefix to the access log `filenames` for this distribution, for example, `myprefix/` . If you want to enable logging, but you don't want to specify a prefix, you still must include an empty `Prefix` element in the `Logging` element.", + "title": "Prefix", "type": "string" } }, "type": "object" }, - "AWS::CloudTrail::Dashboard.Widget": { + "AWS::CloudFront::Distribution.Origin": { "additionalProperties": false, "properties": { - "QueryParameters": { + "ConnectionAttempts": { + "markdownDescription": "The number of times that CloudFront attempts to connect to the origin. The minimum number is 1, the maximum is 3, and the default (if you don't specify otherwise) is 3.\n\nFor a custom origin (including an Amazon S3 bucket that's configured with static website hosting), this value also specifies the number of times that CloudFront attempts to get a response from the origin, in the case of an [Origin Response Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) .\n\nFor more information, see [Origin Connection Attempts](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-attempts) in the *Amazon CloudFront Developer Guide* .", + "title": "ConnectionAttempts", + "type": "number" + }, + "ConnectionTimeout": { + "markdownDescription": "The number of seconds that CloudFront waits when trying to establish a connection to the origin. The minimum timeout is 1 second, the maximum is 10 seconds, and the default (if you don't specify otherwise) is 10 seconds.\n\nFor more information, see [Origin Connection Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-timeout) in the *Amazon CloudFront Developer Guide* .", + "title": "ConnectionTimeout", + "type": "number" + }, + "CustomOriginConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig", + "markdownDescription": "Use this type to specify an origin that is not an Amazon S3 bucket, with one exception. If the Amazon S3 bucket is configured with static website hosting, use this type. If the Amazon S3 bucket is not configured with static website hosting, use the `S3OriginConfig` type instead.", + "title": "CustomOriginConfig" + }, + "DomainName": { + "markdownDescription": "The domain name for the origin.\n\nFor more information, see [Origin Domain Name](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDomainName) in the *Amazon CloudFront Developer Guide* .", + "title": "DomainName", + "type": "string" + }, + "Id": { + "markdownDescription": "A unique identifier for the origin. This value must be unique within the distribution.\n\nUse this value to specify the `TargetOriginId` in a `CacheBehavior` or `DefaultCacheBehavior` .", + "title": "Id", + "type": "string" + }, + "OriginAccessControlId": { + "markdownDescription": "The unique identifier of an origin access control for this origin.\n\nFor more information, see [Restricting access to an Amazon S3 origin](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginAccessControlId", + "type": "string" + }, + "OriginCustomHeaders": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader" }, - "markdownDescription": "The optional query parameters. The following query parameters are valid: `$StartTime$` , `$EndTime$` , and `$Period$` .", - "title": "QueryParameters", + "markdownDescription": "A list of HTTP header names and values that CloudFront adds to the requests that it sends to the origin.\n\nFor more information, see [Adding Custom Headers to Origin Requests](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/add-origin-custom-headers.html) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginCustomHeaders", "type": "array" }, - "QueryStatement": { - "markdownDescription": "The query statement for the widget. For custom dashboard widgets, you can query across multiple event data stores as long as all event data stores exist in your account.\n\n> When a query uses `?` with `eventTime` , `?` must be surrounded by single quotes as follows: `'?'` .", - "title": "QueryStatement", + "OriginPath": { + "markdownDescription": "An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.\n\nFor more information, see [Origin Path](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginPath) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginPath", "type": "string" }, - "ViewProperties": { - "additionalProperties": true, - "markdownDescription": "The view properties for the widget. For more information about view properties, see [View properties for widgets](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-widget-properties.html) in the *AWS CloudTrail User Guide* .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ViewProperties", - "type": "object" + "OriginShield": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield", + "markdownDescription": "CloudFront Origin Shield. Using Origin Shield can help reduce the load on your origin.\n\nFor more information, see [Using Origin Shield](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginShield" + }, + "ResponseCompletionTimeout": { + "markdownDescription": "The time (in seconds) that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection.\n\nThe value for `ResponseCompletionTimeout` must be equal to or greater than the value for `OriginReadTimeout` . If you don't set a value for `ResponseCompletionTimeout` , CloudFront doesn't enforce a maximum value.\n\nFor more information, see [Response completion timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout) in the *Amazon CloudFront Developer Guide* .", + "title": "ResponseCompletionTimeout", + "type": "number" + }, + "S3OriginConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig", + "markdownDescription": "Use this type to specify an origin that is an Amazon S3 bucket that is not configured with static website hosting. To specify any other type of origin, including an Amazon S3 bucket that is configured with static website hosting, use the `CustomOriginConfig` type instead.", + "title": "S3OriginConfig" + }, + "VpcOriginConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.VpcOriginConfig", + "markdownDescription": "The VPC origin configuration.", + "title": "VpcOriginConfig" } }, "required": [ - "QueryStatement" + "DomainName", + "Id" ], "type": "object" }, - "AWS::CloudTrail::EventDataStore": { + "AWS::CloudFront::Distribution.OriginCustomHeader": { "additionalProperties": false, "properties": { - "Condition": { + "HeaderName": { + "markdownDescription": "The name of a header that you want CloudFront to send to your origin. For more information, see [Adding Custom Headers to Origin Requests](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html) in the *Amazon CloudFront Developer Guide* .", + "title": "HeaderName", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "HeaderValue": { + "markdownDescription": "The value for the header that you specified in the `HeaderName` field.", + "title": "HeaderValue", "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroup": { + "additionalProperties": false, + "properties": { + "FailoverCriteria": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria", + "markdownDescription": "A complex type that contains information about the failover criteria for an origin group.", + "title": "FailoverCriteria" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdvancedEventSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.AdvancedEventSelector" - }, - "markdownDescription": "The advanced event selectors to use to select the events for the data store. You can configure up to five advanced event selectors for each event data store.\n\nFor more information about how to use advanced event selectors to log CloudTrail events, see [Log events by using advanced event selectors](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced) in the CloudTrail User Guide.\n\nFor more information about how to use advanced event selectors to include AWS Config configuration items in your event data store, see [Create an event data store for AWS Config configuration items](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-eds-cli.html#lake-cli-create-eds-config) in the CloudTrail User Guide.\n\nFor more information about how to use advanced event selectors to include events outside of AWS events in your event data store, see [Create an integration to log events from outside AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-integrations-cli.html#lake-cli-create-integration) in the CloudTrail User Guide.", - "title": "AdvancedEventSelectors", - "type": "array" - }, - "BillingMode": { - "markdownDescription": "The billing mode for the event data store determines the cost for ingesting events and the default and maximum retention period for the event data store.\n\nThe following are the possible values:\n\n- `EXTENDABLE_RETENTION_PRICING` - This billing mode is generally recommended if you want a flexible retention period of up to 3653 days (about 10 years). The default retention period for this billing mode is 366 days.\n- `FIXED_RETENTION_PRICING` - This billing mode is recommended if you expect to ingest more than 25 TB of event data per month and need a retention period of up to 2557 days (about 7 years). The default retention period for this billing mode is 2557 days.\n\nThe default value is `EXTENDABLE_RETENTION_PRICING` .\n\nFor more information about CloudTrail pricing, see [AWS CloudTrail Pricing](https://docs.aws.amazon.com/cloudtrail/pricing/) and [Managing CloudTrail Lake costs](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html) .", - "title": "BillingMode", - "type": "string" - }, - "ContextKeySelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.ContextKeySelector" - }, - "markdownDescription": "The list of context key selectors that are configured for the event data store.", - "title": "ContextKeySelectors", - "type": "array" - }, - "FederationEnabled": { - "markdownDescription": "Indicates if [Lake query federation](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-federation.html) is enabled. By default, Lake query federation is disabled. You cannot delete an event data store if Lake query federation is enabled.", - "title": "FederationEnabled", - "type": "boolean" - }, - "FederationRoleArn": { - "markdownDescription": "If Lake query federation is enabled, provides the ARN of the federation role used to access the resources for the federated event data store.\n\nThe federation role must exist in your account and provide the [required minimum permissions](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-federation.html#query-federation-permissions-role) .", - "title": "FederationRoleArn", - "type": "string" - }, - "IngestionEnabled": { - "markdownDescription": "Specifies whether the event data store should start ingesting live events. The default is true.", - "title": "IngestionEnabled", - "type": "boolean" - }, - "InsightSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.InsightSelector" - }, - "markdownDescription": "A JSON string that contains the Insights types you want to log on an event data store. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", - "title": "InsightSelectors", - "type": "array" - }, - "InsightsDestination": { - "markdownDescription": "The ARN (or ID suffix of the ARN) of the destination event data store that logs Insights events. For more information, see [Create an event data store for CloudTrail Insights events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-insights.html) .", - "title": "InsightsDestination", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "Specifies the AWS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by `alias/` , a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.\n\n> Disabling or deleting the KMS key, or removing CloudTrail permissions on the key, prevents CloudTrail from logging events to the event data store, and prevents users from querying the data in the event data store that was encrypted with the key. After you associate an event data store with a KMS key, the KMS key cannot be removed or changed. Before you disable or delete a KMS key that you are using with an event data store, delete or back up your event data store. \n\nCloudTrail also supports AWS multi-Region keys. For more information about multi-Region keys, see [Using multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *AWS Key Management Service Developer Guide* .\n\nExamples:\n\n- `alias/MyAliasName`\n- `arn:aws:kms:us-east-2:123456789012:alias/MyAliasName`\n- `arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012`\n- `12345678-1234-1234-1234-123456789012`", - "title": "KmsKeyId", - "type": "string" - }, - "MaxEventSize": { - "markdownDescription": "The maximum allowed size for events to be stored in the specified event data store. If you are using context key selectors, MaxEventSize must be set to Large.", - "title": "MaxEventSize", - "type": "string" - }, - "MultiRegionEnabled": { - "markdownDescription": "Specifies whether the event data store includes events from all Regions, or only from the Region in which the event data store is created.", - "title": "MultiRegionEnabled", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the event data store.", - "title": "Name", - "type": "string" - }, - "OrganizationEnabled": { - "markdownDescription": "Specifies whether an event data store collects events logged for an organization in AWS Organizations .", - "title": "OrganizationEnabled", - "type": "boolean" - }, - "RetentionPeriod": { - "markdownDescription": "The retention period of the event data store, in days. If `BillingMode` is set to `EXTENDABLE_RETENTION_PRICING` , you can set a retention period of up to 3653 days, the equivalent of 10 years. If `BillingMode` is set to `FIXED_RETENTION_PRICING` , you can set a retention period of up to 2557 days, the equivalent of seven years.\n\nCloudTrail Lake determines whether to retain an event by checking if the `eventTime` of the event is within the specified retention period. For example, if you set a retention period of 90 days, CloudTrail will remove events when the `eventTime` is older than 90 days.\n\n> If you plan to copy trail events to this event data store, we recommend that you consider both the age of the events that you want to copy as well as how long you want to keep the copied events in your event data store. For example, if you copy trail events that are 5 years old and specify a retention period of 7 years, the event data store will retain those events for two years.", - "title": "RetentionPeriod", - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags.", - "title": "Tags", - "type": "array" - }, - "TerminationProtectionEnabled": { - "markdownDescription": "Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled.", - "title": "TerminationProtectionEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudTrail::EventDataStore" - ], + "Id": { + "markdownDescription": "The origin group's ID.", + "title": "Id", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Members": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers", + "markdownDescription": "A complex type that contains information about the origins in an origin group.", + "title": "Members" + }, + "SelectionCriteria": { + "markdownDescription": "The selection criteria for the origin group. For more information, see [Create an origin group](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html#concept_origin_groups.creating) in the *Amazon CloudFront Developer Guide* .", + "title": "SelectionCriteria", "type": "string" } }, "required": [ - "Type" + "FailoverCriteria", + "Id", + "Members" ], "type": "object" }, - "AWS::CloudTrail::EventDataStore.AdvancedEventSelector": { + "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { "additionalProperties": false, "properties": { - "FieldSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.AdvancedFieldSelector" - }, - "markdownDescription": "Contains all selector statements in an advanced event selector.", - "title": "FieldSelectors", - "type": "array" - }, - "Name": { - "markdownDescription": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".", - "title": "Name", + "StatusCodes": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes", + "markdownDescription": "The status codes that, when returned from the primary origin, will trigger CloudFront to failover to the second origin.", + "title": "StatusCodes" + } + }, + "required": [ + "StatusCodes" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMember": { + "additionalProperties": false, + "properties": { + "OriginId": { + "markdownDescription": "The ID for an origin in an origin group.", + "title": "OriginId", "type": "string" } }, "required": [ - "FieldSelectors" + "OriginId" ], "type": "object" }, - "AWS::CloudTrail::EventDataStore.AdvancedFieldSelector": { + "AWS::CloudFront::Distribution.OriginGroupMembers": { "additionalProperties": false, "properties": { - "EndsWith": { + "Items": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" }, - "markdownDescription": "An operator that includes events that match the last few characters of the event record field specified as the value of `Field` .", - "title": "EndsWith", + "markdownDescription": "Items (origins) in an origin group.", + "title": "Items", "type": "array" }, - "Equals": { + "Quantity": { + "markdownDescription": "The number of origins in an origin group.", + "title": "Quantity", + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroups": { + "additionalProperties": false, + "properties": { + "Items": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" }, - "markdownDescription": "An operator that includes events that match the exact value of the event record field specified as the value of `Field` . This is the only valid operator that you can use with the `readOnly` , `eventCategory` , and `resources.type` fields.", - "title": "Equals", + "markdownDescription": "The items (origin groups) in a distribution.", + "title": "Items", "type": "array" }, - "Field": { - "markdownDescription": "A field in a CloudTrail event record on which to filter events to be logged. For event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the field is used only for selecting events as filtering is not supported.\n\nFor CloudTrail management events, supported fields include `eventCategory` (required), `eventSource` , and `readOnly` . The following additional fields are available for event data stores: `eventName` , `eventType` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail data events, supported fields include `eventCategory` (required), `eventName` , `eventSource` , `eventType` , `resources.type` (required), `readOnly` , `resources.ARN` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail network activity events, supported fields include `eventCategory` (required), `eventSource` (required), `eventName` , `errorCode` , and `vpcEndpointId` .\n\nFor event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the only supported field is `eventCategory` .\n\n> Selectors don't support the use of wildcards like `*` . To match multiple values with a single condition, you may use `StartsWith` , `EndsWith` , `NotStartsWith` , or `NotEndsWith` to explicitly match the beginning or end of the event field. \n\n- *`readOnly`* - This is an optional field that is only used for management events and data events. This field can be set to `Equals` with a value of `true` or `false` . If you do not add this field, CloudTrail logs both `read` and `write` events. A value of `true` logs only `read` events. A value of `false` logs only `write` events.\n- *`eventSource`* - This field is only used for management events, data events, and network activity events.\n\nFor management events for trails, this is an optional field that can be set to `NotEquals` `kms.amazonaws.com` to exclude KMS management events, or `NotEquals` `rdsdata.amazonaws.com` to exclude RDS management events.\n\nFor data events for trails, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor management and data events for event data stores, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor network activity events, this is a required field that only uses the `Equals` operator. Set this field to the event source for which you want to log network activity events. If you want to log network activity events for multiple event sources, you must create a separate field selector for each event source. For a list of services supporting network activity events, see [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .\n- *`eventName`* - This is an optional field that is only used for data events, management events (for event data stores only), and network activity events. You can use any operator with `eventName` . You can use it to \ufb01lter in or \ufb01lter out specific events. You can have multiple values for this \ufb01eld, separated by commas.\n- *`eventCategory`* - This field is required and must be set to `Equals` .\n\n- For CloudTrail management events, the value must be `Management` .\n- For CloudTrail data events, the value must be `Data` .\n- For CloudTrail network activity events, the value must be `NetworkActivity` .\n\nThe following are used only for event data stores:\n\n- For CloudTrail Insights events, the value must be `Insight` .\n- For AWS Config configuration items, the value must be `ConfigurationItem` .\n- For Audit Manager evidence, the value must be `Evidence` .\n- For events outside of AWS , the value must be `ActivityAuditLog` .\n- *`eventType`* - For event data stores, this is an optional field available for event data stores to filter management and data events on the event type. For trails, this is an optional field to filter data events on the event type. For information about available event types, see [CloudTrail record contents](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html#ct-event-type) in the *AWS CloudTrail user guide* .\n- *`errorCode`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This is the error code to filter on. Currently, the only valid `errorCode` is `VpceAccessDenied` . `errorCode` can only use the `Equals` operator.\n- *`sessionCredentialFromConsole`* - For event data stores, this is an optional field used to filter management and data events based on whether the events originated from an AWS Management Console session. For trails, this is an optional field used to filter data events. `sessionCredentialFromConsole` can only use the `Equals` and `NotEquals` operators.\n- *`resources.type`* - This \ufb01eld is required for CloudTrail data events. `resources.type` can only use the `Equals` operator.\n\nFor a list of available resource types for data events, see [Data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) in the *AWS CloudTrail User Guide* .\n\nYou can have only one `resources.type` \ufb01eld per selector. To log events on more than one resource type, add another selector.\n- *`resources.ARN`* - The `resources.ARN` is an optional field for data events. You can use any operator with `resources.ARN` , but if you use `Equals` or `NotEquals` , the value must exactly match the ARN of a valid resource of the type you've speci\ufb01ed in the template as the value of resources.type. To log all data events for all objects in a specific S3 bucket, use the `StartsWith` operator, and include only the bucket ARN as the matching value.\n\nFor more information about the ARN formats of data event resources, see [Actions, resources, and condition keys for AWS services](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) in the *Service Authorization Reference* .\n\n> You can't use the `resources.ARN` field to filter resource types that do not have ARNs.\n- *`userIdentity.arn`* - For event data stores, this is an optional field used to filter management and data events for actions taken by specific IAM identities. For trails, this is an optional field used to filter data events. You can use any operator with `userIdentity.arn` . For more information on the userIdentity element, see [CloudTrail userIdentity element](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html) in the *AWS CloudTrail User Guide* .\n- *`vpcEndpointId`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This field identifies the VPC endpoint that the request passed through. You can use any operator with `vpcEndpointId` .", - "title": "Field", + "Quantity": { + "markdownDescription": "The number of origin groups.", + "title": "Quantity", + "type": "number" + } + }, + "required": [ + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginMtlsConfig": { + "additionalProperties": false, + "properties": { + "ClientCertificateArn": { + "markdownDescription": "", + "title": "ClientCertificateArn", "type": "string" - }, - "NotEndsWith": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that excludes events that match the last few characters of the event record field specified as the value of `Field` .", - "title": "NotEndsWith", - "type": "array" - }, - "NotEquals": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that excludes events that match the exact value of the event record field specified as the value of `Field` .", - "title": "NotEquals", - "type": "array" - }, - "NotStartsWith": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that excludes events that match the first few characters of the event record field specified as the value of `Field` .", - "title": "NotStartsWith", - "type": "array" - }, - "StartsWith": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that includes events that match the first few characters of the event record field specified as the value of `Field` .", - "title": "StartsWith", - "type": "array" } }, "required": [ - "Field" + "ClientCertificateArn" ], "type": "object" }, - "AWS::CloudTrail::EventDataStore.ContextKeySelector": { + "AWS::CloudFront::Distribution.OriginShield": { "additionalProperties": false, "properties": { - "Equals": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of keys defined by Type to be included in CloudTrail enriched events.", - "title": "Equals", - "type": "array" + "Enabled": { + "markdownDescription": "A flag that specifies whether Origin Shield is enabled.\n\nWhen it's enabled, CloudFront routes all requests through Origin Shield, which can help protect your origin. When it's disabled, CloudFront might send requests directly to your origin from multiple edge locations or regional edge caches.", + "title": "Enabled", + "type": "boolean" }, - "Type": { - "markdownDescription": "Specifies the type of the event record field in ContextKeySelector. Valid values include RequestContext, TagContext.", - "title": "Type", + "OriginShieldRegion": { + "markdownDescription": "The AWS Region for Origin Shield.\n\nSpecify the AWS Region that has the lowest latency to your origin. To specify a region, use the region code, not the region name. For example, specify the US East (Ohio) region as `us-east-2` .\n\nWhen you enable CloudFront Origin Shield, you must specify the AWS Region for Origin Shield. For the list of AWS Regions that you can specify, and for help choosing the best Region for your origin, see [Choosing the AWS Region for Origin Shield](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html#choose-origin-shield-region) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginShieldRegion", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.ParameterDefinition": { + "additionalProperties": false, + "properties": { + "Definition": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Definition", + "markdownDescription": "The value that you assigned to the parameter.", + "title": "Definition" + }, + "Name": { + "markdownDescription": "The name of the parameter.", + "title": "Name", "type": "string" } }, "required": [ - "Equals", - "Type" + "Definition", + "Name" ], "type": "object" }, - "AWS::CloudTrail::EventDataStore.InsightSelector": { + "AWS::CloudFront::Distribution.Restrictions": { "additionalProperties": false, "properties": { - "InsightType": { - "markdownDescription": "The type of Insights events to log on an event data store. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", - "title": "InsightType", - "type": "string" + "GeoRestriction": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction", + "markdownDescription": "A complex type that controls the countries in which your content is distributed. CloudFront determines the location of your users using `MaxMind` GeoIP databases. To disable geo restriction, remove the [Restrictions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-restrictions) property from your stack template.", + "title": "GeoRestriction" } }, + "required": [ + "GeoRestriction" + ], "type": "object" }, - "AWS::CloudTrail::ResourcePolicy": { + "AWS::CloudFront::Distribution.S3OriginConfig": { "additionalProperties": false, "properties": { - "Condition": { + "OriginAccessIdentity": { + "markdownDescription": "> If you're using origin access control (OAC) instead of origin access identity, specify an empty `OriginAccessIdentity` element. For more information, see [Restricting access to an AWS](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-origin.html) in the *Amazon CloudFront Developer Guide* . \n\nThe CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can *only* access objects in an Amazon S3 bucket through CloudFront. The format of the value is:\n\n`origin-access-identity/cloudfront/ID-of-origin-access-identity`\n\nThe `*ID-of-origin-access-identity*` is the value that CloudFront returned in the `ID` element when you created the origin access identity.\n\nIf you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty `OriginAccessIdentity` element.\n\nTo delete the origin access identity from an existing distribution, update the distribution configuration and include an empty `OriginAccessIdentity` element.\n\nTo replace the origin access identity, update the distribution configuration and specify the new origin access identity.\n\nFor more information about the origin access identity, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginAccessIdentity", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "OriginReadTimeout": { + "markdownDescription": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n\nFor more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginReadTimeout", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.StatusCodes": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "type": "number" + }, + "markdownDescription": "The items (status codes) for an origin group.", + "title": "Items", + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Quantity": { + "markdownDescription": "The number of status codes.", + "title": "Quantity", + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.StringSchema": { + "additionalProperties": false, + "properties": { + "Comment": { + "markdownDescription": "", + "title": "Comment", + "type": "string" }, - "Metadata": { - "type": "object" + "DefaultValue": { + "markdownDescription": "", + "title": "DefaultValue", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the CloudTrail event data store, dashboard, or channel attached to the resource-based policy.\n\nExample event data store ARN format: `arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE`\n\nExample dashboard ARN format: `arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDash`\n\nExample channel ARN format: `arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890`", - "title": "ResourceArn", - "type": "string" - }, - "ResourcePolicy": { - "markdownDescription": "A JSON-formatted string for an AWS resource-based policy.\n\nFor example resource-based policies, see [CloudTrail resource-based policy examples](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/security_iam_resource-based-policy-examples.html) in the *CloudTrail User Guide* .", - "title": "ResourcePolicy", - "type": "object" - } + "Required": { + "markdownDescription": "", + "title": "Required", + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.TenantConfig": { + "additionalProperties": false, + "properties": { + "ParameterDefinitions": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ParameterDefinition" }, - "required": [ - "ResourceArn", - "ResourcePolicy" - ], - "type": "object" + "markdownDescription": "The parameters that you specify for a distribution tenant.", + "title": "ParameterDefinitions", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.TrustStoreConfig": { + "additionalProperties": false, + "properties": { + "AdvertiseTrustStoreCaNames": { + "markdownDescription": "The configuration to use to advertise trust store CA names.", + "title": "AdvertiseTrustStoreCaNames", + "type": "boolean" }, - "Type": { - "enum": [ - "AWS::CloudTrail::ResourcePolicy" - ], + "IgnoreCertificateExpiry": { + "markdownDescription": "The configuration to use to ignore certificate expiration.", + "title": "IgnoreCertificateExpiry", + "type": "boolean" + }, + "TrustStoreId": { + "markdownDescription": "The trust store ID.", + "title": "TrustStoreId", + "type": "string" + } + }, + "required": [ + "TrustStoreId" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.ViewerCertificate": { + "additionalProperties": false, + "properties": { + "AcmCertificateArn": { + "markdownDescription": "> In CloudFormation, this field name is `AcmCertificateArn` . Note the different capitalization. \n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in [Certificate Manager (ACM)](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) , provide the Amazon Resource Name (ARN) of the ACM certificate. CloudFront only supports ACM certificates in the US East (N. Virginia) Region ( `us-east-1` ).\n\nIf you specify an ACM certificate ARN, you must also specify values for `MinimumProtocolVersion` and `SSLSupportMethod` . (In CloudFormation, the field name is `SslSupportMethod` . Note the different capitalization.)", + "title": "AcmCertificateArn", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CloudFrontDefaultCertificate": { + "markdownDescription": "If the distribution uses the CloudFront domain name such as `d111111abcdef8.cloudfront.net` , set this field to `true` .\n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs), omit this field and specify values for the following fields:\n\n- `AcmCertificateArn` or `IamCertificateId` (specify a value for one, not both)\n- `MinimumProtocolVersion`\n- `SslSupportMethod`", + "title": "CloudFrontDefaultCertificate", + "type": "boolean" + }, + "IamCertificateId": { + "markdownDescription": "> This field only supports standard distributions. You can't specify this field for multi-tenant distributions. For more information, see [Unsupported features for SaaS Manager for Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-config-options.html#unsupported-saas) in the *Amazon CloudFront Developer Guide* . > In CloudFormation, this field name is `IamCertificateId` . Note the different capitalization. \n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html) , provide the ID of the IAM certificate.\n\nIf you specify an IAM certificate ID, you must also specify values for `MinimumProtocolVersion` and `SSLSupportMethod` . (In CloudFormation, the field name is `SslSupportMethod` . Note the different capitalization.)", + "title": "IamCertificateId", + "type": "string" + }, + "MinimumProtocolVersion": { + "markdownDescription": "If the distribution uses `Aliases` (alternate domain names or CNAMEs), specify the security policy that you want CloudFront to use for HTTPS connections with viewers. The security policy determines two settings:\n\n- The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers.\n- The ciphers that CloudFront can use to encrypt the content that it returns to viewers.\n\nFor more information, see [Security Policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValues-security-policy) and [Supported Protocols and Ciphers Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html#secure-connections-supported-ciphers) in the *Amazon CloudFront Developer Guide* .\n\n> On the CloudFront console, this setting is called *Security Policy* . \n\nWhen you're using SNI only (you set `SSLSupportMethod` to `sni-only` ), you must specify `TLSv1` or higher. (In CloudFormation, the field name is `SslSupportMethod` . Note the different capitalization.)\n\nIf the distribution uses the CloudFront domain name such as `d111111abcdef8.cloudfront.net` (you set `CloudFrontDefaultCertificate` to `true` ), CloudFront automatically sets the security policy to `TLSv1` regardless of the value that you set here.", + "title": "MinimumProtocolVersion", + "type": "string" + }, + "SslSupportMethod": { + "markdownDescription": "> In CloudFormation, this field name is `SslSupportMethod` . Note the different capitalization. \n\nIf the distribution uses `Aliases` (alternate domain names or CNAMEs), specify which viewers the distribution accepts HTTPS connections from.\n\n- `sni-only` \u2013 The distribution accepts HTTPS connections from only viewers that support [server name indication (SNI)](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/Server_Name_Indication) . This is recommended. Most browsers and clients support SNI.\n- `vip` \u2013 The distribution accepts HTTPS connections from all viewers including those that don't support SNI. This is not recommended, and results in additional monthly charges from CloudFront.\n- `static-ip` - Do not specify this value unless your distribution has been enabled for this feature by the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact CloudFront through the [Support Center](https://docs.aws.amazon.com/support/home) .\n\nIf the distribution uses the CloudFront domain name such as `d111111abcdef8.cloudfront.net` , don't set a value for this field.", + "title": "SslSupportMethod", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.ViewerMtlsConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "markdownDescription": "The viewer mTLS mode.", + "title": "Mode", + "type": "string" + }, + "TrustStoreConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.TrustStoreConfig", + "markdownDescription": "The trust store configuration associated with the viewer mTLS configuration.", + "title": "TrustStoreConfig" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.VpcOriginConfig": { + "additionalProperties": false, + "properties": { + "OriginKeepaliveTimeout": { + "markdownDescription": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n\nFor more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginKeepaliveTimeout", + "type": "number" + }, + "OriginReadTimeout": { + "markdownDescription": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n\nFor more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginReadTimeout", + "type": "number" + }, + "OwnerAccountId": { + "markdownDescription": "The account ID of the AWS account that owns the VPC origin.", + "title": "OwnerAccountId", + "type": "string" + }, + "VpcOriginId": { + "markdownDescription": "The VPC origin ID.", + "title": "VpcOriginId", "type": "string" } }, "required": [ - "Type", - "Properties" + "VpcOriginId" ], "type": "object" }, - "AWS::CloudTrail::Trail": { + "AWS::CloudFront::DistributionTenant": { "additionalProperties": false, "properties": { "Condition": { @@ -73510,116 +74974,71 @@ "Properties": { "additionalProperties": false, "properties": { - "AdvancedEventSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.AdvancedEventSelector" - }, - "markdownDescription": "Specifies the settings for advanced event selectors. You can use advanced event selectors to log management events, data events for all resource types, and network activity events.\n\nYou can add advanced event selectors, and conditions for your advanced event selectors, up to a maximum of 500 values for all conditions and selectors on a trail. You can use either `AdvancedEventSelectors` or `EventSelectors` , but not both. If you apply `AdvancedEventSelectors` to a trail, any existing `EventSelectors` are overwritten. For more information about advanced event selectors, see [Logging data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) and [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .", - "title": "AdvancedEventSelectors", - "type": "array" - }, - "AggregationConfigurations": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.AggregationConfiguration" - }, - "markdownDescription": "", - "title": "AggregationConfigurations", - "type": "array" - }, - "CloudWatchLogsLogGroupArn": { - "markdownDescription": "Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs are delivered. You must use a log group that exists in your account.\n\nTo enable CloudWatch Logs delivery, you must provide values for `CloudWatchLogsLogGroupArn` and `CloudWatchLogsRoleArn` .\n\n> If you previously enabled CloudWatch Logs delivery and want to disable CloudWatch Logs delivery, you must set the values of the `CloudWatchLogsRoleArn` and `CloudWatchLogsLogGroupArn` fields to `\"\"` .", - "title": "CloudWatchLogsLogGroupArn", - "type": "string" - }, - "CloudWatchLogsRoleArn": { - "markdownDescription": "Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group. You must use a role that exists in your account.\n\nTo enable CloudWatch Logs delivery, you must provide values for `CloudWatchLogsLogGroupArn` and `CloudWatchLogsRoleArn` .\n\n> If you previously enabled CloudWatch Logs delivery and want to disable CloudWatch Logs delivery, you must set the values of the `CloudWatchLogsRoleArn` and `CloudWatchLogsLogGroupArn` fields to `\"\"` .", - "title": "CloudWatchLogsRoleArn", + "ConnectionGroupId": { + "markdownDescription": "The ID of the connection group for the distribution tenant. If you don't specify a connection group, CloudFront uses the default connection group.", + "title": "ConnectionGroupId", "type": "string" }, - "EnableLogFileValidation": { - "markdownDescription": "Specifies whether log file validation is enabled. The default is false.\n\n> When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail does not create digest files for log files that were delivered during a period in which log file integrity validation was disabled. For example, if you enable log file integrity validation at noon on January 1, disable it at noon on January 2, and re-enable it at noon on January 10, digest files will not be created for the log files delivered from noon on January 2 to noon on January 10. The same applies whenever you stop CloudTrail logging or delete a trail.", - "title": "EnableLogFileValidation", - "type": "boolean" - }, - "EventSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" - }, - "markdownDescription": "Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.\n\nYou can configure up to five event selectors for a trail.\n\nYou cannot apply both event selectors and advanced event selectors to a trail.", - "title": "EventSelectors", - "type": "array" + "Customizations": { + "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.Customizations", + "markdownDescription": "Customizations for the distribution tenant. For each distribution tenant, you can specify the geographic restrictions, and the Amazon Resource Names (ARNs) for the ACM certificate and AWS WAF web ACL. These are specific values that you can override or disable from the multi-tenant distribution that was used to create the distribution tenant.", + "title": "Customizations" }, - "IncludeGlobalServiceEvents": { - "markdownDescription": "Specifies whether the trail is publishing events from global services such as IAM to the log files.", - "title": "IncludeGlobalServiceEvents", - "type": "boolean" + "DistributionId": { + "markdownDescription": "The ID of the multi-tenant distribution.", + "title": "DistributionId", + "type": "string" }, - "InsightSelectors": { + "Domains": { "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.InsightSelector" + "type": "string" }, - "markdownDescription": "A JSON string that contains the Insights types you want to log on a trail. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", - "title": "InsightSelectors", + "markdownDescription": "The domains associated with the distribution tenant.", + "title": "Domains", "type": "array" }, - "IsLogging": { - "markdownDescription": "Whether the CloudTrail trail is currently logging AWS API calls.", - "title": "IsLogging", - "type": "boolean" - }, - "IsMultiRegionTrail": { - "markdownDescription": "Specifies whether the trail applies only to the current Region or to all Regions. The default is false. If the trail exists only in the current Region and this value is set to true, shadow trails (replications of the trail) will be created in the other Regions. If the trail exists in all Regions and this value is set to false, the trail will remain in the Region where it was created, and its shadow trails in other Regions will be deleted. As a best practice, consider using trails that log events in all Regions.", - "title": "IsMultiRegionTrail", - "type": "boolean" - }, - "IsOrganizationTrail": { - "markdownDescription": "Specifies whether the trail is applied to all accounts in an organization in AWS Organizations , or only for the current AWS account . The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the management account for an organization in AWS Organizations . If the trail is not an organization trail and this is set to `true` , the trail will be created in all AWS accounts that belong to the organization. If the trail is an organization trail and this is set to `false` , the trail will remain in the current AWS account but be deleted from all member accounts in the organization.\n\n> Only the management account for the organization can convert an organization trail to a non-organization trail, or convert a non-organization trail to an organization trail.", - "title": "IsOrganizationTrail", + "Enabled": { + "markdownDescription": "Indicates whether the distribution tenant is in an enabled state. If disabled, the distribution tenant won't serve traffic.", + "title": "Enabled", "type": "boolean" }, - "KMSKeyId": { - "markdownDescription": "Specifies the AWS key ID to use to encrypt the logs and digest files delivered by CloudTrail. The value can be an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.\n\nCloudTrail also supports AWS multi-Region keys. For more information about multi-Region keys, see [Using multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *AWS Key Management Service Developer Guide* .\n\nExamples:\n\n- alias/MyAliasName\n- arn:aws:kms:us-east-2:123456789012:alias/MyAliasName\n- arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012\n- 12345678-1234-1234-1234-123456789012", - "title": "KMSKeyId", - "type": "string" - }, - "S3BucketName": { - "markdownDescription": "Specifies the name of the Amazon S3 bucket designated for publishing log files. See [Amazon S3 Bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) .", - "title": "S3BucketName", - "type": "string" + "ManagedCertificateRequest": { + "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.ManagedCertificateRequest", + "markdownDescription": "An object that represents the request for the Amazon CloudFront managed ACM certificate.", + "title": "ManagedCertificateRequest" }, - "S3KeyPrefix": { - "markdownDescription": "Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see [Finding Your CloudTrail Log Files](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/get-and-view-cloudtrail-log-files.html#cloudtrail-find-log-files) . The maximum length is 200 characters.", - "title": "S3KeyPrefix", + "Name": { + "markdownDescription": "The name of the distribution tenant.", + "title": "Name", "type": "string" }, - "SnsTopicName": { - "markdownDescription": "Specifies the name or ARN of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.", - "title": "SnsTopicName", - "type": "string" + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.Parameter" + }, + "markdownDescription": "A list of parameter values to add to the resource. A parameter is specified as a key-value pair. A valid parameter value must exist for any parameter that is marked as required in the multi-tenant distribution.", + "title": "Parameters", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A custom set of tags (key-value pairs) for this trail.", + "markdownDescription": "A complex type that contains zero or more `Tag` elements.", "title": "Tags", "type": "array" - }, - "TrailName": { - "markdownDescription": "Specifies the name of the trail. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)\n- Start with a letter or number, and end with a letter or number\n- Be between 3 and 128 characters\n- Have no adjacent periods, underscores or dashes. Names like `my-_namespace` and `my--namespace` are not valid.\n- Not be in IP address format (for example, 192.168.5.4)", - "title": "TrailName", - "type": "string" } }, "required": [ - "IsLogging", - "S3BucketName" + "DistributionId", + "Domains", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudTrail::Trail" + "AWS::CloudFront::DistributionTenant" ], "type": "string" }, @@ -73638,187 +75057,127 @@ ], "type": "object" }, - "AWS::CloudTrail::Trail.AdvancedEventSelector": { + "AWS::CloudFront::DistributionTenant.Certificate": { "additionalProperties": false, "properties": { - "FieldSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.AdvancedFieldSelector" - }, - "markdownDescription": "Contains all selector statements in an advanced event selector.", - "title": "FieldSelectors", - "type": "array" - }, - "Name": { - "markdownDescription": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".", - "title": "Name", + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the ACM certificate.", + "title": "Arn", "type": "string" } }, - "required": [ - "FieldSelectors" - ], "type": "object" }, - "AWS::CloudTrail::Trail.AdvancedFieldSelector": { + "AWS::CloudFront::DistributionTenant.Customizations": { "additionalProperties": false, "properties": { - "EndsWith": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that includes events that match the last few characters of the event record field specified as the value of `Field` .", - "title": "EndsWith", - "type": "array" - }, - "Equals": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that includes events that match the exact value of the event record field specified as the value of `Field` . This is the only valid operator that you can use with the `readOnly` , `eventCategory` , and `resources.type` fields.", - "title": "Equals", - "type": "array" - }, - "Field": { - "markdownDescription": "A field in a CloudTrail event record on which to filter events to be logged. For event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the field is used only for selecting events as filtering is not supported.\n\nFor CloudTrail management events, supported fields include `eventCategory` (required), `eventSource` , and `readOnly` . The following additional fields are available for event data stores: `eventName` , `eventType` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail data events, supported fields include `eventCategory` (required), `eventName` , `eventSource` , `eventType` , `resources.type` (required), `readOnly` , `resources.ARN` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail network activity events, supported fields include `eventCategory` (required), `eventSource` (required), `eventName` , `errorCode` , and `vpcEndpointId` .\n\nFor event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the only supported field is `eventCategory` .\n\n> Selectors don't support the use of wildcards like `*` . To match multiple values with a single condition, you may use `StartsWith` , `EndsWith` , `NotStartsWith` , or `NotEndsWith` to explicitly match the beginning or end of the event field. \n\n- *`readOnly`* - This is an optional field that is only used for management events and data events. This field can be set to `Equals` with a value of `true` or `false` . If you do not add this field, CloudTrail logs both `read` and `write` events. A value of `true` logs only `read` events. A value of `false` logs only `write` events.\n- *`eventSource`* - This field is only used for management events, data events, and network activity events.\n\nFor management events for trails, this is an optional field that can be set to `NotEquals` `kms.amazonaws.com` to exclude KMS management events, or `NotEquals` `rdsdata.amazonaws.com` to exclude RDS management events.\n\nFor data events for trails, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor management and data events for event data stores, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor network activity events, this is a required field that only uses the `Equals` operator. Set this field to the event source for which you want to log network activity events. If you want to log network activity events for multiple event sources, you must create a separate field selector for each event source. For a list of services supporting network activity events, see [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .\n- *`eventName`* - This is an optional field that is only used for data events, management events (for event data stores only), and network activity events. You can use any operator with `eventName` . You can use it to \ufb01lter in or \ufb01lter out specific events. You can have multiple values for this \ufb01eld, separated by commas.\n- *`eventCategory`* - This field is required and must be set to `Equals` .\n\n- For CloudTrail management events, the value must be `Management` .\n- For CloudTrail data events, the value must be `Data` .\n- For CloudTrail network activity events, the value must be `NetworkActivity` .\n\nThe following are used only for event data stores:\n\n- For CloudTrail Insights events, the value must be `Insight` .\n- For AWS Config configuration items, the value must be `ConfigurationItem` .\n- For Audit Manager evidence, the value must be `Evidence` .\n- For events outside of AWS , the value must be `ActivityAuditLog` .\n- *`eventType`* - For event data stores, this is an optional field available for event data stores to filter management and data events on the event type. For trails, this is an optional field to filter data events on the event type. For information about available event types, see [CloudTrail record contents](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html#ct-event-type) in the *AWS CloudTrail user guide* .\n- *`errorCode`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This is the error code to filter on. Currently, the only valid `errorCode` is `VpceAccessDenied` . `errorCode` can only use the `Equals` operator.\n- *`sessionCredentialFromConsole`* - For event data stores, this is an optional field used to filter management and data events based on whether the events originated from an AWS Management Console session. For trails, this is an optional field used to filter data events. `sessionCredentialFromConsole` can only use the `Equals` and `NotEquals` operators.\n- *`resources.type`* - This \ufb01eld is required for CloudTrail data events. `resources.type` can only use the `Equals` operator.\n\nFor a list of available resource types for data events, see [Data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) in the *AWS CloudTrail User Guide* .\n\nYou can have only one `resources.type` \ufb01eld per selector. To log events on more than one resource type, add another selector.\n- *`resources.ARN`* - The `resources.ARN` is an optional field for data events. You can use any operator with `resources.ARN` , but if you use `Equals` or `NotEquals` , the value must exactly match the ARN of a valid resource of the type you've speci\ufb01ed in the template as the value of resources.type. To log all data events for all objects in a specific S3 bucket, use the `StartsWith` operator, and include only the bucket ARN as the matching value.\n\nFor more information about the ARN formats of data event resources, see [Actions, resources, and condition keys for AWS services](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) in the *Service Authorization Reference* .\n\n> You can't use the `resources.ARN` field to filter resource types that do not have ARNs.\n- *`userIdentity.arn`* - For event data stores, this is an optional field used to filter management and data events for actions taken by specific IAM identities. For trails, this is an optional field used to filter data events. You can use any operator with `userIdentity.arn` . For more information on the userIdentity element, see [CloudTrail userIdentity element](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html) in the *AWS CloudTrail User Guide* .\n- *`vpcEndpointId`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This field identifies the VPC endpoint that the request passed through. You can use any operator with `vpcEndpointId` .", - "title": "Field", - "type": "string" - }, - "NotEndsWith": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that excludes events that match the last few characters of the event record field specified as the value of `Field` .", - "title": "NotEndsWith", - "type": "array" - }, - "NotEquals": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that excludes events that match the exact value of the event record field specified as the value of `Field` .", - "title": "NotEquals", - "type": "array" + "Certificate": { + "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.Certificate", + "markdownDescription": "The Certificate Manager (ACM) certificate.", + "title": "Certificate" }, - "NotStartsWith": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that excludes events that match the first few characters of the event record field specified as the value of `Field` .", - "title": "NotStartsWith", - "type": "array" + "GeoRestrictions": { + "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.GeoRestrictionCustomization", + "markdownDescription": "The geographic restrictions.", + "title": "GeoRestrictions" }, - "StartsWith": { - "items": { - "type": "string" - }, - "markdownDescription": "An operator that includes events that match the first few characters of the event record field specified as the value of `Field` .", - "title": "StartsWith", - "type": "array" + "WebAcl": { + "$ref": "#/definitions/AWS::CloudFront::DistributionTenant.WebAclCustomization", + "markdownDescription": "The AWS WAF web ACL.", + "title": "WebAcl" } }, - "required": [ - "Field" - ], "type": "object" }, - "AWS::CloudTrail::Trail.AggregationConfiguration": { + "AWS::CloudFront::DistributionTenant.DomainResult": { "additionalProperties": false, "properties": { - "EventCategory": { - "markdownDescription": "Specifies the event category for which aggregation should be performed.", - "title": "EventCategory", + "Domain": { + "markdownDescription": "The specified domain.", + "title": "Domain", "type": "string" }, - "Templates": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of aggregation templates that can be used to configure event aggregation.", - "title": "Templates", - "type": "array" + "Status": { + "markdownDescription": "Whether the domain is active or inactive.", + "title": "Status", + "type": "string" } }, - "required": [ - "EventCategory", - "Templates" - ], "type": "object" }, - "AWS::CloudTrail::Trail.DataResource": { + "AWS::CloudFront::DistributionTenant.GeoRestrictionCustomization": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "The resource type in which you want to log data events. You can specify the following *basic* event selector resource types:\n\n- `AWS::DynamoDB::Table`\n- `AWS::Lambda::Function`\n- `AWS::S3::Object`\n\nAdditional resource types are available through *advanced* event selectors. For more information, see [AdvancedEventSelector](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedEventSelector.html) .", - "title": "Type", - "type": "string" - }, - "Values": { + "Locations": { "items": { "type": "string" }, - "markdownDescription": "An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified resource type.\n\n- To log data events for all objects in all S3 buckets in your AWS account , specify the prefix as `arn:aws:s3` .\n\n> This also enables logging of data event activity performed by any user or role in your AWS account , even if that activity is performed on a bucket that belongs to another AWS account .\n- To log data events for all objects in an S3 bucket, specify the bucket and an empty object prefix such as `arn:aws:s3:::amzn-s3-demo-bucket1/` . The trail logs data events for all objects in this S3 bucket.\n- To log data events for specific objects, specify the S3 bucket and object prefix such as `arn:aws:s3:::amzn-s3-demo-bucket1/example-images` . The trail logs data events for objects in this S3 bucket that match the prefix.\n- To log data events for all Lambda functions in your AWS account , specify the prefix as `arn:aws:lambda` .\n\n> This also enables logging of `Invoke` activity performed by any user or role in your AWS account , even if that activity is performed on a function that belongs to another AWS account .\n- To log data events for a specific Lambda function, specify the function ARN.\n\n> Lambda function ARNs are exact. For example, if you specify a function ARN *arn:aws:lambda:us-west-2:111111111111:function:helloworld* , data events will only be logged for *arn:aws:lambda:us-west-2:111111111111:function:helloworld* . They will not be logged for *arn:aws:lambda:us-west-2:111111111111:function:helloworld2* .\n- To log data events for all DynamoDB tables in your AWS account , specify the prefix as `arn:aws:dynamodb` .", - "title": "Values", + "markdownDescription": "The locations for geographic restrictions.", + "title": "Locations", "type": "array" + }, + "RestrictionType": { + "markdownDescription": "The method that you want to use to restrict distribution of your content by country:\n\n- `none` : No geographic restriction is enabled, meaning access to content is not restricted by client geo location.\n- `blacklist` : The `Location` elements specify the countries in which you don't want CloudFront to distribute your content.\n- `whitelist` : The `Location` elements specify the countries in which you want CloudFront to distribute your content.", + "title": "RestrictionType", + "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::CloudTrail::Trail.EventSelector": { + "AWS::CloudFront::DistributionTenant.ManagedCertificateRequest": { "additionalProperties": false, "properties": { - "DataResources": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" - }, - "markdownDescription": "CloudTrail supports data event logging for Amazon S3 objects in standard S3 buckets, AWS Lambda functions, and Amazon DynamoDB tables with basic event selectors. You can specify up to 250 resources for an individual event selector, but the total number of data resources cannot exceed 250 across all event selectors in a trail. This limit does not apply if you configure resource logging for all data events.\n\nFor more information, see [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) and [Limits in AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) in the *AWS CloudTrail User Guide* .\n\n> To log data events for all other resource types including objects stored in [directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html) , you must use [AdvancedEventSelectors](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedEventSelector.html) . You must also use `AdvancedEventSelectors` if you want to filter on the `eventName` field.", - "title": "DataResources", - "type": "array" + "CertificateTransparencyLoggingPreference": { + "markdownDescription": "You can opt out of certificate transparency logging by specifying the `disabled` option. Opt in by specifying `enabled` . For more information, see [Certificate Transparency Logging](https://docs.aws.amazon.com/acm/latest/userguide/acm-concepts.html#concept-transparency) in the *Certificate Manager User Guide* .", + "title": "CertificateTransparencyLoggingPreference", + "type": "string" }, - "ExcludeManagementEventSources": { - "items": { - "type": "string" - }, - "markdownDescription": "An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service or Amazon RDS Data API events by containing `kms.amazonaws.com` or `rdsdata.amazonaws.com` . By default, `ExcludeManagementEventSources` is empty, and AWS and Amazon RDS Data API events are logged to your trail. You can exclude management event sources only in Regions that support the event source.", - "title": "ExcludeManagementEventSources", - "type": "array" + "PrimaryDomainName": { + "markdownDescription": "The primary domain name associated with the CloudFront managed ACM certificate.", + "title": "PrimaryDomainName", + "type": "string" }, - "IncludeManagementEvents": { - "markdownDescription": "Specify if you want your event selector to include management events for your trail.\n\nFor more information, see [Management Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .\n\nBy default, the value is `true` .\n\nThe first copy of management events is free. You are charged for additional copies of management events that you are logging on any subsequent trail in the same Region. For more information about CloudTrail pricing, see [AWS CloudTrail Pricing](https://docs.aws.amazon.com/cloudtrail/pricing/) .", - "title": "IncludeManagementEvents", - "type": "boolean" + "ValidationTokenHost": { + "markdownDescription": "Specify how the HTTP validation token will be served when requesting the CloudFront managed ACM certificate.\n\n- For `cloudfront` , CloudFront will automatically serve the validation token. Choose this mode if you can point the domain's DNS to CloudFront immediately.\n- For `self-hosted` , you serve the validation token from your existing infrastructure. Choose this mode when you need to maintain current traffic flow while your certificate is being issued. You can place the validation token at the well-known path on your existing web server, wait for ACM to validate and issue the certificate, and then update your DNS to point to CloudFront.", + "title": "ValidationTokenHost", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::DistributionTenant.Parameter": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The parameter name.", + "title": "Name", + "type": "string" }, - "ReadWriteType": { - "markdownDescription": "Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 `GetConsoleOutput` is a read-only API operation and `RunInstances` is a write-only API operation.\n\nBy default, the value is `All` .", - "title": "ReadWriteType", + "Value": { + "markdownDescription": "The parameter value.", + "title": "Value", "type": "string" } }, "type": "object" }, - "AWS::CloudTrail::Trail.InsightSelector": { + "AWS::CloudFront::DistributionTenant.WebAclCustomization": { "additionalProperties": false, "properties": { - "EventCategories": { - "items": { - "type": "string" - }, - "markdownDescription": "Select the event category on which Insights should be enabled.\n\n- If EventCategories is not provided, the specified Insights types are enabled on management API calls by default.\n- If EventCategories is provided, the given event categories will overwrite the existing ones. For example, if a trail already has Insights enabled on management events, and then a PutInsightSelectors request is made with only data events specified in EventCategories, Insights on management events will be disabled.", - "title": "EventCategories", - "type": "array" + "Action": { + "markdownDescription": "The action for the AWS WAF web ACL customization. You can specify `override` to specify a separate AWS WAF web ACL for the distribution tenant. If you specify `disable` , the distribution tenant won't have AWS WAF web ACL protections and won't inherit from the multi-tenant distribution.", + "title": "Action", + "type": "string" }, - "InsightType": { - "markdownDescription": "The type of Insights events to log on a trail. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", - "title": "InsightType", + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS WAF web ACL.", + "title": "Arn", "type": "string" } }, "type": "object" }, - "AWS::CloudWatch::Alarm": { + "AWS::CloudFront::FieldLevelEncryptionProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -73853,152 +75212,18 @@ "Properties": { "additionalProperties": false, "properties": { - "ActionsEnabled": { - "markdownDescription": "Indicates whether actions should be executed during any changes to the alarm state. The default is TRUE.", - "title": "ActionsEnabled", - "type": "boolean" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of actions to execute when this alarm transitions into an ALARM state from any other state. Specify each action as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) in the *Amazon CloudWatch API Reference* .", - "title": "AlarmActions", - "type": "array" - }, - "AlarmDescription": { - "markdownDescription": "The description of the alarm.", - "title": "AlarmDescription", - "type": "string" - }, - "AlarmName": { - "markdownDescription": "The name of the alarm. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the alarm name.\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "AlarmName", - "type": "string" - }, - "ComparisonOperator": { - "markdownDescription": "The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand.", - "title": "ComparisonOperator", - "type": "string" - }, - "DatapointsToAlarm": { - "markdownDescription": "The number of datapoints that must be breaching to trigger the alarm. This is used only if you are setting an \"M out of N\" alarm. In that case, this value is the M, and the value that you set for `EvaluationPeriods` is the N value. For more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *Amazon CloudWatch User Guide* .\n\nIf you omit this parameter, CloudWatch uses the same value here that you set for `EvaluationPeriods` , and the alarm goes to alarm state if that many consecutive periods are breaching.", - "title": "DatapointsToAlarm", - "type": "number" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" - }, - "markdownDescription": "The dimensions for the metric associated with the alarm. For an alarm based on a math expression, you can't specify `Dimensions` . Instead, you use `Metrics` .", - "title": "Dimensions", - "type": "array" - }, - "EvaluateLowSampleCountPercentile": { - "markdownDescription": "Used only for alarms based on percentiles. If `ignore` , the alarm state does not change during periods with too few data points to be statistically significant. If `evaluate` or this parameter is not used, the alarm is always evaluated and possibly changes state no matter how many data points are available.", - "title": "EvaluateLowSampleCountPercentile", - "type": "string" - }, - "EvaluationCriteria": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.EvaluationCriteria" - }, - "EvaluationInterval": { - "type": "number" - }, - "EvaluationPeriods": { - "markdownDescription": "The number of periods over which data is compared to the specified threshold. If you are setting an alarm that requires that a number of consecutive data points be breaching to trigger the alarm, this value specifies that number. If you are setting an \"M out of N\" alarm, this value is the N, and `DatapointsToAlarm` is the M.\n\nFor more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *Amazon CloudWatch User Guide* .", - "title": "EvaluationPeriods", - "type": "number" - }, - "EvaluationWindow": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.EvaluationWindow" - }, - "ExtendedStatistic": { - "markdownDescription": "The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.\n\nFor an alarm based on a metric, you must specify either `Statistic` or `ExtendedStatistic` but not both.\n\nFor an alarm based on a math expression, you can't specify `ExtendedStatistic` . Instead, you use `Metrics` .", - "title": "ExtendedStatistic", - "type": "string" - }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "markdownDescription": "The actions to execute when this alarm transitions to the `INSUFFICIENT_DATA` state from any other state. Each action is specified as an Amazon Resource Name (ARN).", - "title": "InsufficientDataActions", - "type": "array" - }, - "MetricName": { - "markdownDescription": "The name of the metric associated with the alarm. This is required for an alarm based on a metric. For an alarm based on a math expression, you use `Metrics` instead and you can't specify `MetricName` .", - "title": "MetricName", - "type": "string" - }, - "Metrics": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricDataQuery" - }, - "markdownDescription": "An array that enables you to create an alarm based on the result of a metric math expression. Each item in the array either retrieves a metric or performs a math expression.\n\nIf you specify the `Metrics` parameter, you cannot specify `MetricName` , `Dimensions` , `Period` , `Namespace` , `Statistic` , `ExtendedStatistic` , or `Unit` .", - "title": "Metrics", - "type": "array" - }, - "Namespace": { - "markdownDescription": "The namespace of the metric associated with the alarm. This is required for an alarm based on a metric. For an alarm based on a math expression, you can't specify `Namespace` and you use `Metrics` instead.\n\nFor a list of namespaces for metrics from AWS services, see [AWS Services That Publish CloudWatch Metrics.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)", - "title": "Namespace", - "type": "string" - }, - "OKActions": { - "items": { - "type": "string" - }, - "markdownDescription": "The actions to execute when this alarm transitions to the `OK` state from any other state. Each action is specified as an Amazon Resource Name (ARN).", - "title": "OKActions", - "type": "array" - }, - "Period": { - "markdownDescription": "The period, in seconds, over which the statistic is applied. This is required for an alarm based on a metric. Valid values are 10, 20, 30, 60, and any multiple of 60.\n\nFor an alarm based on a math expression, you can't specify `Period` , and instead you use the `Metrics` parameter.\n\n*Minimum:* 10", - "title": "Period", - "type": "number" - }, - "Statistic": { - "markdownDescription": "The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use `ExtendedStatistic` .\n\nFor an alarm based on a metric, you must specify either `Statistic` or `ExtendedStatistic` but not both.\n\nFor an alarm based on a math expression, you can't specify `Statistic` . Instead, you use `Metrics` .", - "title": "Statistic", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. To be able to associate tags with the alarm when you create the alarm, you must have the `cloudwatch:TagResource` permission.\n\nTags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.", - "title": "Tags", - "type": "array" - }, - "Threshold": { - "markdownDescription": "The value to compare with the specified statistic.", - "title": "Threshold", - "type": "number" - }, - "ThresholdMetricId": { - "markdownDescription": "In an alarm based on an anomaly detection model, this is the ID of the `ANOMALY_DETECTION_BAND` function used as the threshold for the alarm.", - "title": "ThresholdMetricId", - "type": "string" - }, - "TreatMissingData": { - "markdownDescription": "Sets how this alarm is to handle missing data points. Valid values are `breaching` , `notBreaching` , `ignore` , and `missing` . For more information, see [Configuring How CloudWatch Alarms Treat Missing Data](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) in the *Amazon CloudWatch User Guide* .\n\nIf you omit this parameter, the default behavior of `missing` is used.", - "title": "TreatMissingData", - "type": "string" - }, - "Unit": { - "markdownDescription": "The unit of the metric associated with the alarm. Specify this only if you are creating an alarm based on a single metric. Do not specify this if you are specifying a `Metrics` array.\n\nYou can specify the following values: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, or None.", - "title": "Unit", - "type": "string" - }, - "WarmUpConfiguration": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.WarmUpConfiguration" + "FieldLevelEncryptionProfileConfig": { + "$ref": "#/definitions/AWS::CloudFront::FieldLevelEncryptionProfile.FieldLevelEncryptionProfileConfig" } }, + "required": [ + "FieldLevelEncryptionProfileConfig" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::Alarm" + "AWS::CloudFront::FieldLevelEncryptionProfile" ], "type": "string" }, @@ -74012,187 +75237,61 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudWatch::Alarm.AlarmPromQLCriteria": { - "additionalProperties": false, - "properties": { - "PendingPeriod": { - "type": "number" - }, - "Query": { - "type": "string" - }, - "RecoveryPeriod": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm.Dimension": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the dimension, from 1\u2013255 characters in length. This dimension name must have been included when the metric was published.", - "title": "Name", - "type": "string" - }, - "Value": { - "markdownDescription": "The value for the dimension, from 1\u2013255 characters in length.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Name", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudWatch::Alarm.EvaluationCriteria": { - "additionalProperties": false, - "properties": { - "PromQLCriteria": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.AlarmPromQLCriteria" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm.EvaluationWindow": { - "additionalProperties": false, - "properties": { - "SlidingWindow": { - "type": "object" - }, - "WallClockWindow": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.WallClockWindow" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm.Metric": { + "AWS::CloudFront::FieldLevelEncryptionProfile.EncryptionEntity": { "additionalProperties": false, "properties": { - "Dimensions": { + "FieldPatterns": { "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" + "type": "string" }, - "markdownDescription": "The metric dimensions that you want to be used for the metric that the alarm will watch.", - "title": "Dimensions", "type": "array" }, - "MetricName": { - "markdownDescription": "The name of the metric that you want the alarm to watch. This is a required field.", - "title": "MetricName", - "type": "string" - }, - "Namespace": { - "markdownDescription": "The namespace of the metric that the alarm will watch.", - "title": "Namespace", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm.MetricDataQuery": { - "additionalProperties": false, - "properties": { - "AccountId": { - "markdownDescription": "The ID of the account where the metrics are located, if this is a cross-account alarm.", - "title": "AccountId", - "type": "string" - }, - "Expression": { - "markdownDescription": "The math expression to be performed on the returned data, if this object is performing a math expression. This expression can use the `Id` of the other metrics to refer to those metrics, and can also use the `Id` of other expressions to use the result of those expressions. For more information about metric math expressions, see [Metric Math Syntax and Functions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) in the *Amazon CloudWatch User Guide* .\n\nWithin each MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", - "title": "Expression", - "type": "string" - }, - "Id": { - "markdownDescription": "A short name used to tie this object to the results in the response. This name must be unique within a single call to `GetMetricData` . If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.", - "title": "Id", + "ProviderId": { "type": "string" }, - "Label": { - "markdownDescription": "A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If `Label` is omitted, CloudWatch generates a default.", - "title": "Label", + "PublicKeyId": { "type": "string" - }, - "MetricStat": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricStat", - "markdownDescription": "The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.\n\nWithin one MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", - "title": "MetricStat" - }, - "Period": { - "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` operation that includes a `StorageResolution of 1 second` .", - "title": "Period", - "type": "number" - }, - "ReturnData": { - "markdownDescription": "This option indicates whether to return the timestamps and raw data values of this metric.\n\nWhen you create an alarm based on a metric math expression, specify `True` for this value for only the one math expression that the alarm is based on. You must specify `False` for `ReturnData` for all the other metrics and expressions used in the alarm.\n\nThis field is required.", - "title": "ReturnData", - "type": "boolean" } }, "required": [ - "Id" + "FieldPatterns", + "ProviderId", + "PublicKeyId" ], "type": "object" }, - "AWS::CloudWatch::Alarm.MetricStat": { + "AWS::CloudFront::FieldLevelEncryptionProfile.FieldLevelEncryptionProfileConfig": { "additionalProperties": false, "properties": { - "Metric": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Metric", - "markdownDescription": "The metric to return, including the metric name, namespace, and dimensions.", - "title": "Metric" - }, - "Period": { - "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` call that includes a `StorageResolution` of 1 second.\n\nIf the `StartTime` parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:\n\n- Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).\n- Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).\n- Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).", - "title": "Period", - "type": "number" + "CallerReference": { + "type": "string" }, - "Stat": { - "markdownDescription": "The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* .", - "title": "Stat", + "Comment": { "type": "string" }, - "Unit": { - "markdownDescription": "The unit to use for the returned data points.\n\nValid values are: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, or None.", - "title": "Unit", + "EncryptionEntities": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::FieldLevelEncryptionProfile.EncryptionEntity" + }, + "type": "array" + }, + "Name": { "type": "string" } }, "required": [ - "Metric", - "Period", - "Stat" + "CallerReference", + "EncryptionEntities", + "Name" ], "type": "object" }, - "AWS::CloudWatch::Alarm.WallClockWindow": { - "additionalProperties": false, - "properties": { - "Timezone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm.WarmUpConfiguration": { - "additionalProperties": false, - "properties": { - "OnlyStartEvaluatingAfterWarmUpPeriodEnds": { - "type": "boolean" - }, - "WarmUpPeriodDurationInMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CloudWatch::AlarmMuteRule": { + "AWS::CloudFront::Function": { "additionalProperties": false, "properties": { "Condition": { @@ -74227,22 +75326,29 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "AutoPublish": { + "markdownDescription": "A flag that determines whether to automatically publish the function to the `LIVE` stage when it\u2019s created. To automatically publish to the `LIVE` stage, set this property to `true` .", + "title": "AutoPublish", + "type": "boolean" }, - "ExpireDate": { + "FunctionCode": { + "markdownDescription": "The function code. For more information about writing a CloudFront function, see [Writing function code for CloudFront Functions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html) in the *Amazon CloudFront Developer Guide* .", + "title": "FunctionCode", "type": "string" }, - "MuteTargets": { - "$ref": "#/definitions/AWS::CloudWatch::AlarmMuteRule.MuteTargets" - }, - "Name": { - "type": "string" + "FunctionConfig": { + "$ref": "#/definitions/AWS::CloudFront::Function.FunctionConfig", + "markdownDescription": "Contains configuration information about a CloudFront function.", + "title": "FunctionConfig" }, - "Rule": { - "$ref": "#/definitions/AWS::CloudWatch::AlarmMuteRule.Rule" + "FunctionMetadata": { + "$ref": "#/definitions/AWS::CloudFront::Function.FunctionMetadata", + "markdownDescription": "Contains metadata about a CloudFront function.", + "title": "FunctionMetadata" }, - "StartDate": { + "Name": { + "markdownDescription": "A name to identify the function.", + "title": "Name", "type": "string" }, "Tags": { @@ -74253,13 +75359,15 @@ } }, "required": [ - "Rule" + "FunctionCode", + "FunctionConfig", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::AlarmMuteRule" + "AWS::CloudFront::Function" ], "type": "string" }, @@ -74278,53 +75386,60 @@ ], "type": "object" }, - "AWS::CloudWatch::AlarmMuteRule.MuteTargets": { + "AWS::CloudFront::Function.FunctionConfig": { "additionalProperties": false, "properties": { - "AlarmNames": { + "Comment": { + "markdownDescription": "A comment to describe the function.", + "title": "Comment", + "type": "string" + }, + "KeyValueStoreAssociations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CloudFront::Function.KeyValueStoreAssociation" }, + "markdownDescription": "The configuration for the key value store associations.", + "title": "KeyValueStoreAssociations", "type": "array" + }, + "Runtime": { + "markdownDescription": "The function's runtime environment version.", + "title": "Runtime", + "type": "string" } }, "required": [ - "AlarmNames" + "Comment", + "Runtime" ], "type": "object" }, - "AWS::CloudWatch::AlarmMuteRule.Rule": { + "AWS::CloudFront::Function.FunctionMetadata": { "additionalProperties": false, "properties": { - "Schedule": { - "$ref": "#/definitions/AWS::CloudWatch::AlarmMuteRule.Schedule" + "FunctionARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies the function.", + "title": "FunctionARN", + "type": "string" } }, - "required": [ - "Schedule" - ], "type": "object" }, - "AWS::CloudWatch::AlarmMuteRule.Schedule": { + "AWS::CloudFront::Function.KeyValueStoreAssociation": { "additionalProperties": false, "properties": { - "Duration": { - "type": "string" - }, - "Expression": { - "type": "string" - }, - "Timezone": { + "KeyValueStoreARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the key value store association.", + "title": "KeyValueStoreARN", "type": "string" } }, "required": [ - "Duration", - "Expression" + "KeyValueStoreARN" ], "type": "object" }, - "AWS::CloudWatch::AnomalyDetector": { + "AWS::CloudFront::KeyGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -74359,55 +75474,20 @@ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Configuration", - "markdownDescription": "Specifies details about how the anomaly detection model is to be trained, including time ranges to exclude when training and updating the model. The configuration can also include the time zone to use for the metric.", - "title": "Configuration" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" - }, - "markdownDescription": "The dimensions of the metric associated with the anomaly detection band.", - "title": "Dimensions", - "type": "array" - }, - "MetricCharacteristics": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricCharacteristics", - "markdownDescription": "Use this object to include parameters to provide information about your metric to CloudWatch to help it build more accurate anomaly detection models. Currently, it includes the `PeriodicSpikes` parameter.", - "title": "MetricCharacteristics" - }, - "MetricMathAnomalyDetector": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricMathAnomalyDetector", - "markdownDescription": "The CloudWatch metric math expression for this anomaly detector.", - "title": "MetricMathAnomalyDetector" - }, - "MetricName": { - "markdownDescription": "The name of the metric associated with the anomaly detection band.", - "title": "MetricName", - "type": "string" - }, - "Namespace": { - "markdownDescription": "The namespace of the metric associated with the anomaly detection band.", - "title": "Namespace", - "type": "string" - }, - "SingleMetricAnomalyDetector": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.SingleMetricAnomalyDetector", - "markdownDescription": "The CloudWatch metric and statistic for this anomaly detector.", - "title": "SingleMetricAnomalyDetector" - }, - "Stat": { - "markdownDescription": "The statistic of the metric associated with the anomaly detection band.", - "title": "Stat", - "type": "string" + "KeyGroupConfig": { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig", + "markdownDescription": "The key group configuration.", + "title": "KeyGroupConfig" } }, + "required": [ + "KeyGroupConfig" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::AnomalyDetector" + "AWS::CloudFront::KeyGroup" ], "type": "string" }, @@ -74421,248 +75501,51 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudWatch::AnomalyDetector.Configuration": { + "AWS::CloudFront::KeyGroup.KeyGroupConfig": { "additionalProperties": false, "properties": { - "ExcludedTimeRanges": { + "Comment": { + "markdownDescription": "A comment to describe the key group. The comment cannot be longer than 128 characters.", + "title": "Comment", + "type": "string" + }, + "Items": { "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Range" + "type": "string" }, - "markdownDescription": "Specifies an array of time ranges to exclude from use when the anomaly detection model is trained and updated. Use this to make sure that events that could cause unusual values for the metric, such as deployments, aren't used when CloudWatch creates or updates the model.", - "title": "ExcludedTimeRanges", + "markdownDescription": "A list of the identifiers of the public keys in the key group.", + "title": "Items", "type": "array" }, - "MetricTimeZone": { - "markdownDescription": "The time zone to use for the metric. This is useful to enable the model to automatically account for daylight savings time changes if the metric is sensitive to such time changes.\n\nTo specify a time zone, use the name of the time zone as specified in the standard tz database. For more information, see [tz database](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/Tz_database) .", - "title": "MetricTimeZone", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Dimension": { - "additionalProperties": false, - "properties": { "Name": { - "markdownDescription": "The name of the dimension.", + "markdownDescription": "A name to identify the key group.", "title": "Name", "type": "string" - }, - "Value": { - "markdownDescription": "The value of the dimension. Dimension values must contain only ASCII characters and must include at least one non-whitespace character. ASCII control characters are not supported as part of dimension values.", - "title": "Value", - "type": "string" } }, "required": [ - "Name", - "Value" + "Items", + "Name" ], "type": "object" }, - "AWS::CloudWatch::AnomalyDetector.Metric": { + "AWS::CloudFront::KeyValueStore": { "additionalProperties": false, "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" - }, - "markdownDescription": "The dimensions for the metric.", - "title": "Dimensions", - "type": "array" + "Condition": { + "type": "string" }, - "MetricName": { - "markdownDescription": "The name of the metric. This is a required field.", - "title": "MetricName", - "type": "string" - }, - "Namespace": { - "markdownDescription": "The namespace of the metric.", - "title": "Namespace", - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.MetricCharacteristics": { - "additionalProperties": false, - "properties": { - "PeriodicSpikes": { - "markdownDescription": "Set this parameter to true if values for this metric consistently include spikes that should not be considered to be anomalies. With this set to true, CloudWatch will expect to see spikes that occurred consistently during the model training period, and won't flag future similar spikes as anomalies.", - "title": "PeriodicSpikes", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.MetricDataQueries": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.MetricDataQuery": { - "additionalProperties": false, - "properties": { - "AccountId": { - "markdownDescription": "The ID of the account where the metrics are located.\n\nIf you are performing a `GetMetricData` operation in a monitoring account, use this to specify which account to retrieve this metric from.\n\nIf you are performing a `PutMetricAlarm` operation, use this to specify which account contains the metric that the alarm is watching.", - "title": "AccountId", - "type": "string" - }, - "Expression": { - "markdownDescription": "This field can contain either a Metrics Insights query, or a metric math expression to be performed on the returned data. For more information about Metrics Insights queries, see [Metrics Insights query components and syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-metrics-insights-querylanguage) in the *Amazon CloudWatch User Guide* .\n\nA math expression can use the `Id` of the other metrics or queries to refer to those metrics, and can also use the `Id` of other expressions to use the result of those expressions. For more information about metric math expressions, see [Metric Math Syntax and Functions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) in the *Amazon CloudWatch User Guide* .\n\nWithin each MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", - "title": "Expression", - "type": "string" - }, - "Id": { - "markdownDescription": "A short name used to tie this object to the results in the response. This name must be unique within a single call to `GetMetricData` . If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.", - "title": "Id", - "type": "string" - }, - "Label": { - "markdownDescription": "A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If Label is omitted, CloudWatch generates a default.\n\nYou can put dynamic expressions into a label, so that it is more descriptive. For more information, see [Using Dynamic Labels](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html) .", - "title": "Label", - "type": "string" - }, - "MetricStat": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricStat", - "markdownDescription": "The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.\n\nWithin one MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", - "title": "MetricStat" - }, - "Period": { - "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` operation that includes a `StorageResolution of 1 second` .", - "title": "Period", - "type": "number" - }, - "ReturnData": { - "markdownDescription": "When used in `GetMetricData` , this option indicates whether to return the timestamps and raw data values of this metric. If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify `false` . If you omit this, the default of `true` is used.\n\nWhen used in `PutMetricAlarm` , specify `true` for the one expression result to use as the alarm. For all other metrics and expressions in the same `PutMetricAlarm` operation, specify `ReturnData` as False.", - "title": "ReturnData", - "type": "boolean" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.MetricMathAnomalyDetector": { - "additionalProperties": false, - "properties": { - "MetricDataQueries": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricDataQuery" - }, - "markdownDescription": "An array of metric data query structures that enables you to create an anomaly detector based on the result of a metric math expression. Each item in `MetricDataQueries` gets a metric or performs a math expression. One item in `MetricDataQueries` is the expression that provides the time series that the anomaly detector uses as input. Designate the expression by setting `ReturnData` to `true` for this object in the array. For all other expressions and metrics, set `ReturnData` to `false` . The designated expression must return a single time series.", - "title": "MetricDataQueries", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.MetricStat": { - "additionalProperties": false, - "properties": { - "Metric": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Metric", - "markdownDescription": "The metric to return, including the metric name, namespace, and dimensions.", - "title": "Metric" - }, - "Period": { - "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` call that includes a `StorageResolution` of 1 second.\n\nIf the `StartTime` parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:\n\n- Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).\n- Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).\n- Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).", - "title": "Period", - "type": "number" - }, - "Stat": { - "markdownDescription": "The statistic to return. It can include any CloudWatch statistic or extended statistic.", - "title": "Stat", - "type": "string" - }, - "Unit": { - "markdownDescription": "When you are using a `Put` operation, this defines what unit you want to use when storing the metric.\n\nIn a `Get` operation, if you omit `Unit` then all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.", - "title": "Unit", - "type": "string" - } - }, - "required": [ - "Metric", - "Period", - "Stat" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Range": { - "additionalProperties": false, - "properties": { - "EndTime": { - "markdownDescription": "The end time of the range to exclude. The format is `yyyy-MM-dd'T'HH:mm:ss` . For example, `2019-07-01T23:59:59` .", - "title": "EndTime", - "type": "string" - }, - "StartTime": { - "markdownDescription": "The start time of the range to exclude. The format is `yyyy-MM-dd'T'HH:mm:ss` . For example, `2019-07-01T23:59:59` .", - "title": "StartTime", - "type": "string" - } - }, - "required": [ - "EndTime", - "StartTime" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.SingleMetricAnomalyDetector": { - "additionalProperties": false, - "properties": { - "AccountId": { - "markdownDescription": "If the CloudWatch metric that provides the time series that the anomaly detector uses as input is in another account, specify that account ID here. If you omit this parameter, the current account is used.", - "title": "AccountId", - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" - }, - "markdownDescription": "The metric dimensions to create the anomaly detection model for.", - "title": "Dimensions", - "type": "array" - }, - "MetricName": { - "markdownDescription": "The name of the metric to create the anomaly detection model for.", - "title": "MetricName", - "type": "string" - }, - "Namespace": { - "markdownDescription": "The namespace of the metric to create the anomaly detection model for.", - "title": "Namespace", - "type": "string" - }, - "Stat": { - "markdownDescription": "The statistic to use for the metric and anomaly detection model.", - "title": "Stat", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::CompositeAlarm": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -74686,82 +75569,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ActionsEnabled": { - "markdownDescription": "Indicates whether actions should be executed during any changes to the alarm state of the composite alarm. The default is TRUE.", - "title": "ActionsEnabled", - "type": "boolean" - }, - "ActionsSuppressor": { - "markdownDescription": "Actions will be suppressed if the suppressor alarm is in the `ALARM` state. `ActionsSuppressor` can be an AlarmName or an Amazon Resource Name (ARN) from an existing alarm.", - "title": "ActionsSuppressor", - "type": "string" - }, - "ActionsSuppressorExtensionPeriod": { - "markdownDescription": "The maximum time in seconds that the composite alarm waits after suppressor alarm goes out of the `ALARM` state. After this time, the composite alarm performs its actions.\n\n> `ExtensionPeriod` is required only when `ActionsSuppressor` is specified.", - "title": "ActionsSuppressorExtensionPeriod", - "type": "number" - }, - "ActionsSuppressorWaitPeriod": { - "markdownDescription": "The maximum time in seconds that the composite alarm waits for the suppressor alarm to go into the `ALARM` state. After this time, the composite alarm performs its actions.\n\n> `WaitPeriod` is required only when `ActionsSuppressor` is specified.", - "title": "ActionsSuppressorWaitPeriod", - "type": "number" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "markdownDescription": "The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", - "title": "AlarmActions", - "type": "array" - }, - "AlarmDescription": { - "markdownDescription": "The description for the composite alarm.", - "title": "AlarmDescription", + "Comment": { + "markdownDescription": "A comment for the key value store.", + "title": "Comment", "type": "string" }, - "AlarmName": { - "markdownDescription": "The name for the composite alarm. This name must be unique within your AWS account.", - "title": "AlarmName", - "type": "string" + "ImportSource": { + "$ref": "#/definitions/AWS::CloudFront::KeyValueStore.ImportSource", + "markdownDescription": "The import source for the key value store.", + "title": "ImportSource" }, - "AlarmRule": { - "markdownDescription": "An expression that specifies which other alarms are to be evaluated to determine this composite alarm's state. For each alarm that you reference, you designate a function that specifies whether that alarm needs to be in ALARM state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and NOT) to combine multiple functions in a single expression. You can use parenthesis to logically group the functions in your expression.\n\nYou can use either alarm names or ARNs to reference the other alarms that are to be evaluated.\n\nFunctions can include the following:\n\n- ALARM(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in ALARM state.\n- OK(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in OK state.\n- INSUFFICIENT_DATA(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in INSUFFICIENT_DATA state.\n- TRUE always evaluates to TRUE.\n- FALSE always evaluates to FALSE.\n\nTRUE and FALSE are useful for testing a complex AlarmRule structure, and for testing your alarm actions.\n\nFor more information about `AlarmRule` syntax, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", - "title": "AlarmRule", + "Name": { + "markdownDescription": "The name of the key value store.", + "title": "Name", "type": "string" }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "markdownDescription": "The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", - "title": "InsufficientDataActions", - "type": "array" - }, - "OKActions": { - "items": { - "type": "string" - }, - "markdownDescription": "The actions to execute when this alarm transitions to the OK state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", - "title": "OKActions", - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. To be able to associate tags with the alarm when you create the alarm, you must have the `cloudwatch:TagResource` permission.\n\nTags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.", - "title": "Tags", "type": "array" } }, "required": [ - "AlarmRule" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::CompositeAlarm" + "AWS::CloudFront::KeyValueStore" ], "type": "string" }, @@ -74780,85 +75617,27 @@ ], "type": "object" }, - "AWS::CloudWatch::Dashboard": { + "AWS::CloudFront::KeyValueStore.ImportSource": { "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": { - "DashboardBody": { - "markdownDescription": "The detailed information about the dashboard in JSON format, including the widgets to include and their location on the dashboard. This parameter is required.\n\nFor more information about the syntax, see [Dashboard Body Structure and Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html) .", - "title": "DashboardBody", - "type": "string" - }, - "DashboardName": { - "markdownDescription": "The name of the dashboard. The name must be between 1 and 255 characters. If you do not specify a name, one will be generated automatically.", - "title": "DashboardName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DashboardBody" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::Dashboard" - ], + "SourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the import source for the key value store.", + "title": "SourceArn", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceType": { + "markdownDescription": "The source type of the import source for the key value store.", + "title": "SourceType", "type": "string" } }, "required": [ - "Type", - "Properties" + "SourceArn", + "SourceType" ], "type": "object" }, - "AWS::CloudWatch::InsightRule": { + "AWS::CloudFront::MonitoringSubscription": { "additionalProperties": false, "properties": { "Condition": { @@ -74893,45 +75672,26 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplyOnTransformedLogs": { - "markdownDescription": "Determines whether the rules is evaluated on transformed versions of logs. Valid values are `TRUE` and `FALSE` .", - "title": "ApplyOnTransformedLogs", - "type": "boolean" - }, - "RuleBody": { - "markdownDescription": "The definition of the rule, as a JSON object. For details about the syntax, see [Contributor Insights Rule Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html) in the *Amazon CloudWatch User Guide* .", - "title": "RuleBody", - "type": "string" - }, - "RuleName": { - "markdownDescription": "The name of the rule.", - "title": "RuleName", - "type": "string" - }, - "RuleState": { - "markdownDescription": "The current state of the rule. Valid values are `ENABLED` and `DISABLED` .", - "title": "RuleState", + "DistributionId": { + "markdownDescription": "The ID of the distribution that you are enabling metrics for.", + "title": "DistributionId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of key-value pairs to associate with the Contributor Insights rule. You can associate as many as 50 tags with a rule.\n\nTags can help you organize and categorize your resources. For more information, see [Tagging Your Amazon CloudWatch Resources](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Tagging.html) .\n\nTo be able to associate tags with a rule, you must have the `cloudwatch:TagResource` permission in addition to the `cloudwatch:PutInsightRule` permission.", - "title": "Tags", - "type": "array" + "MonitoringSubscription": { + "$ref": "#/definitions/AWS::CloudFront::MonitoringSubscription.MonitoringSubscription", + "markdownDescription": "A subscription configuration for additional CloudWatch metrics.", + "title": "MonitoringSubscription" } }, "required": [ - "RuleBody", - "RuleName", - "RuleState" + "DistributionId", + "MonitoringSubscription" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::InsightRule" + "AWS::CloudFront::MonitoringSubscription" ], "type": "string" }, @@ -74950,7 +75710,32 @@ ], "type": "object" }, - "AWS::CloudWatch::LogAlarm": { + "AWS::CloudFront::MonitoringSubscription.MonitoringSubscription": { + "additionalProperties": false, + "properties": { + "RealtimeMetricsSubscriptionConfig": { + "$ref": "#/definitions/AWS::CloudFront::MonitoringSubscription.RealtimeMetricsSubscriptionConfig", + "markdownDescription": "A subscription configuration for additional CloudWatch metrics.", + "title": "RealtimeMetricsSubscriptionConfig" + } + }, + "type": "object" + }, + "AWS::CloudFront::MonitoringSubscription.RealtimeMetricsSubscriptionConfig": { + "additionalProperties": false, + "properties": { + "RealtimeMetricsSubscriptionStatus": { + "markdownDescription": "A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution.", + "title": "RealtimeMetricsSubscriptionStatus", + "type": "string" + } + }, + "required": [ + "RealtimeMetricsSubscriptionStatus" + ], + "type": "object" + }, + "AWS::CloudFront::OriginAccessControl": { "additionalProperties": false, "properties": { "Condition": { @@ -74985,79 +75770,20 @@ "Properties": { "additionalProperties": false, "properties": { - "ActionLogLineCount": { - "type": "number" - }, - "ActionLogLineRoleArn": { - "type": "string" - }, - "ActionsEnabled": { - "type": "boolean" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AlarmDescription": { - "type": "string" - }, - "AlarmName": { - "type": "string" - }, - "ComparisonOperator": { - "type": "string" - }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OKActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QueryResultsToAlarm": { - "type": "number" - }, - "QueryResultsToEvaluate": { - "type": "number" - }, - "ScheduledQueryConfiguration": { - "$ref": "#/definitions/AWS::CloudWatch::LogAlarm.ScheduledQueryConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Threshold": { - "type": "number" - }, - "TreatMissingData": { - "type": "string" - }, - "WarmUpConfiguration": { - "$ref": "#/definitions/AWS::CloudWatch::LogAlarm.WarmUpConfiguration" + "OriginAccessControlConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginAccessControl.OriginAccessControlConfig", + "markdownDescription": "The origin access control.", + "title": "OriginAccessControlConfig" } }, "required": [ - "ComparisonOperator", - "QueryResultsToAlarm", - "QueryResultsToEvaluate", - "ScheduledQueryConfiguration", - "Threshold" + "OriginAccessControlConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::LogAlarm" + "AWS::CloudFront::OriginAccessControl" ], "type": "string" }, @@ -75076,74 +75802,44 @@ ], "type": "object" }, - "AWS::CloudWatch::LogAlarm.ScheduleConfiguration": { + "AWS::CloudFront::OriginAccessControl.OriginAccessControlConfig": { "additionalProperties": false, "properties": { - "EndTimeOffset": { - "type": "number" - }, - "ScheduleExpression": { + "Description": { + "markdownDescription": "A description of the origin access control.", + "title": "Description", "type": "string" }, - "StartTimeOffset": { - "type": "number" - } - }, - "required": [ - "ScheduleExpression", - "StartTimeOffset" - ], - "type": "object" - }, - "AWS::CloudWatch::LogAlarm.ScheduledQueryConfiguration": { - "additionalProperties": false, - "properties": { - "AggregationExpression": { + "Name": { + "markdownDescription": "A name to identify the origin access control. You can specify up to 64 characters.", + "title": "Name", "type": "string" }, - "LogGroupIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QueryString": { + "OriginAccessControlOriginType": { + "markdownDescription": "The type of origin that this origin access control is for.", + "title": "OriginAccessControlOriginType", "type": "string" }, - "ScheduleConfiguration": { - "$ref": "#/definitions/AWS::CloudWatch::LogAlarm.ScheduleConfiguration" - }, - "ScheduledQueryRoleARN": { + "SigningBehavior": { + "markdownDescription": "Specifies which requests CloudFront signs (adds authentication information to). Specify `always` for the most common use case. For more information, see [origin access control advanced settings](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html#oac-advanced-settings) in the *Amazon CloudFront Developer Guide* .\n\nThis field can have one of the following values:\n\n- `always` \u2013 CloudFront signs all origin requests, overwriting the `Authorization` header from the viewer request if one exists.\n- `never` \u2013 CloudFront doesn't sign any origin requests. This value turns off origin access control for all origins in all distributions that use this origin access control.\n- `no-override` \u2013 If the viewer request doesn't contain the `Authorization` header, then CloudFront signs the origin request. If the viewer request contains the `Authorization` header, then CloudFront doesn't sign the origin request and instead passes along the `Authorization` header from the viewer request. *WARNING: To pass along the `Authorization` header from the viewer request, you *must* add the `Authorization` header to a [cache policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html) for all cache behaviors that use origins associated with this origin access control.*", + "title": "SigningBehavior", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "SigningProtocol": { + "markdownDescription": "The signing protocol of the origin access control, which determines how CloudFront signs (authenticates) requests. The only valid value is `sigv4` .", + "title": "SigningProtocol", + "type": "string" } }, "required": [ - "AggregationExpression", - "QueryString", - "ScheduleConfiguration", - "ScheduledQueryRoleARN" + "Name", + "OriginAccessControlOriginType", + "SigningBehavior", + "SigningProtocol" ], "type": "object" }, - "AWS::CloudWatch::LogAlarm.WarmUpConfiguration": { - "additionalProperties": false, - "properties": { - "OnlyStartEvaluatingAfterWarmUpPeriodEnds": { - "type": "boolean" - }, - "WarmUpPeriodDurationInMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CloudWatch::MetricStream": { + "AWS::CloudFront::OriginRequestPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -75178,74 +75874,20 @@ "Properties": { "additionalProperties": false, "properties": { - "ExcludeFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" - }, - "markdownDescription": "If you specify this parameter, the stream sends metrics from all metric namespaces except for the namespaces that you specify here. You cannot specify both `IncludeFilters` and `ExcludeFilters` in the same metric stream.\n\nWhen you modify the `IncludeFilters` or `ExcludeFilters` of an existing metric stream in any way, the metric stream is effectively restarted, so after such a change you will get only the datapoints that have a timestamp after the time of the update.", - "title": "ExcludeFilters", - "type": "array" - }, - "FirehoseArn": { - "markdownDescription": "The ARN of the Amazon Kinesis Firehose delivery stream to use for this metric stream. This Amazon Kinesis Firehose delivery stream must already exist and must be in the same account as the metric stream.", - "title": "FirehoseArn", - "type": "string" - }, - "IncludeFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" - }, - "markdownDescription": "If you specify this parameter, the stream sends only the metrics from the metric namespaces that you specify here. You cannot specify both `IncludeFilters` and `ExcludeFilters` in the same metric stream.\n\nWhen you modify the `IncludeFilters` or `ExcludeFilters` of an existing metric stream in any way, the metric stream is effectively restarted, so after such a change you will get only the datapoints that have a timestamp after the time of the update.", - "title": "IncludeFilters", - "type": "array" - }, - "IncludeLinkedAccountsMetrics": { - "markdownDescription": "If you are creating a metric stream in a monitoring account, specify `true` to include metrics from source accounts that are linked to this monitoring account, in the metric stream. The default is `false` .\n\nFor more information about linking accounts, see [CloudWatch cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)", - "title": "IncludeLinkedAccountsMetrics", - "type": "boolean" - }, - "Name": { - "markdownDescription": "If you are creating a new metric stream, this is the name for the new stream. The name must be different than the names of other metric streams in this account and Region.\n\nIf you are updating a metric stream, specify the name of that stream here.", - "title": "Name", - "type": "string" - }, - "OutputFormat": { - "markdownDescription": "The output format for the stream. Valid values are `json` , `opentelemetry1.0` and `opentelemetry0.7` For more information about metric stream output formats, see [Metric streams output formats](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-formats.html) .\n\nThis parameter is required.", - "title": "OutputFormat", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The ARN of an IAM role that this metric stream will use to access Amazon Kinesis Firehose resources. This IAM role must already exist and must be in the same account as the metric stream. This IAM role must include the `firehose:PutRecord` and `firehose:PutRecordBatch` permissions.", - "title": "RoleArn", - "type": "string" - }, - "StatisticsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamStatisticsConfiguration" - }, - "markdownDescription": "By default, a metric stream always sends the MAX, MIN, SUM, and SAMPLECOUNT statistics for each metric that is streamed. You can use this parameter to have the metric stream also send additional statistics in the stream. This array can have up to 100 members.\n\nFor each entry in this array, you specify one or more metrics and the list of additional statistics to stream for those metrics. The additional statistics that you can stream depend on the stream's `OutputFormat` . If the `OutputFormat` is `json` , you can stream any additional statistic that is supported by CloudWatch , listed in [CloudWatch statistics definitions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html) . If the `OutputFormat` is OpenTelemetry, you can stream percentile statistics.", - "title": "StatisticsConfigurations", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to the metric stream.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", - "type": "array" + "OriginRequestPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig", + "markdownDescription": "The origin request policy configuration.", + "title": "OriginRequestPolicyConfig" } }, "required": [ - "FirehoseArn", - "OutputFormat", - "RoleArn" + "OriginRequestPolicyConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::MetricStream" + "AWS::CloudFront::OriginRequestPolicy" ], "type": "string" }, @@ -75264,132 +75906,110 @@ ], "type": "object" }, - "AWS::CloudWatch::MetricStream.MetricStreamFilter": { + "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { "additionalProperties": false, "properties": { - "MetricNames": { + "CookieBehavior": { + "markdownDescription": "Determines whether cookies in viewer requests are included in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No cookies in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to `none` , any cookies that are listed in a `CachePolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the cookies in viewer requests that are listed in the `CookieNames` type are included in requests that CloudFront sends to the origin.\n- `all` \u2013 All cookies in viewer requests are included in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All cookies in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the `CookieNames` type, which are not included.", + "title": "CookieBehavior", + "type": "string" + }, + "Cookies": { "items": { "type": "string" }, - "markdownDescription": "The names of the metrics to either include or exclude from the metric stream.\n\nIf you omit this parameter, all metrics in the namespace are included or excluded, depending on whether this filter is specified as an exclude filter or an include filter.\n\nEach metric name can contain only ASCII printable characters (ASCII range 32 through 126). Each metric name must contain at least one non-whitespace character.", - "title": "MetricNames", + "markdownDescription": "Contains a list of cookie names.", + "title": "Cookies", "type": "array" - }, - "Namespace": { - "markdownDescription": "The name of the metric namespace in the filter.\n\nThe namespace can contain only ASCII printable characters (ASCII range 32 through 126). It must contain at least one non-whitespace character.", - "title": "Namespace", - "type": "string" } }, "required": [ - "Namespace" + "CookieBehavior" ], "type": "object" }, - "AWS::CloudWatch::MetricStream.MetricStreamStatisticsConfiguration": { + "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { "additionalProperties": false, "properties": { - "AdditionalStatistics": { - "items": { - "type": "string" - }, - "markdownDescription": "The additional statistics to stream for the metrics listed in `IncludeMetrics` .", - "title": "AdditionalStatistics", - "type": "array" + "HeaderBehavior": { + "markdownDescription": "Determines whether any HTTP headers are included in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No HTTP headers in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to `none` , any headers that are listed in a `CachePolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the HTTP headers that are listed in the `Headers` type are included in requests that CloudFront sends to the origin.\n- `allViewer` \u2013 All HTTP headers in viewer requests are included in requests that CloudFront sends to the origin.\n- `allViewerAndWhitelistCloudFront` \u2013 All HTTP headers in viewer requests and the additional CloudFront headers that are listed in the `Headers` type are included in requests that CloudFront sends to the origin. The additional headers are added by CloudFront.\n- `allExcept` \u2013 All HTTP headers in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the `Headers` type, which are not included.", + "title": "HeaderBehavior", + "type": "string" }, - "IncludeMetrics": { + "Headers": { "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamStatisticsMetric" + "type": "string" }, - "markdownDescription": "An array that defines the metrics that are to have additional statistics streamed.", - "title": "IncludeMetrics", + "markdownDescription": "Contains a list of HTTP header names.", + "title": "Headers", "type": "array" } }, "required": [ - "AdditionalStatistics", - "IncludeMetrics" + "HeaderBehavior" ], "type": "object" }, - "AWS::CloudWatch::MetricStream.MetricStreamStatisticsMetric": { + "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { "additionalProperties": false, "properties": { - "MetricName": { - "markdownDescription": "The name of the metric.", - "title": "MetricName", + "Comment": { + "markdownDescription": "A comment to describe the origin request policy. The comment cannot be longer than 128 characters.", + "title": "Comment", "type": "string" }, - "Namespace": { - "markdownDescription": "The namespace of the metric.", - "title": "Namespace", + "CookiesConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig", + "markdownDescription": "The cookies from viewer requests to include in origin requests.", + "title": "CookiesConfig" + }, + "HeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig", + "markdownDescription": "The HTTP headers to include in origin requests. These can include headers from viewer requests and additional headers added by CloudFront.", + "title": "HeadersConfig" + }, + "Name": { + "markdownDescription": "A unique name to identify the origin request policy.", + "title": "Name", "type": "string" + }, + "QueryStringsConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig", + "markdownDescription": "The URL query strings from viewer requests to include in origin requests.", + "title": "QueryStringsConfig" } }, "required": [ - "MetricName", - "Namespace" + "CookiesConfig", + "HeadersConfig", + "Name", + "QueryStringsConfig" ], "type": "object" }, - "AWS::CloudWatch::OTelEnrichment": { + "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { "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::CloudWatch::OTelEnrichment" - ], + "QueryStringBehavior": { + "markdownDescription": "Determines whether any URL query strings in viewer requests are included in requests that CloudFront sends to the origin. Valid values are:\n\n- `none` \u2013 No query strings in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to `none` , any query strings that are listed in a `CachePolicy` *are* included in origin requests.\n- `whitelist` \u2013 Only the query strings in viewer requests that are listed in the `QueryStringNames` type are included in requests that CloudFront sends to the origin.\n- `all` \u2013 All query strings in viewer requests are included in requests that CloudFront sends to the origin.\n- `allExcept` \u2013 All query strings in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the `QueryStringNames` type, which are not included.", + "title": "QueryStringBehavior", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "QueryStrings": { + "items": { + "type": "string" + }, + "markdownDescription": "Contains a list of query string names.", + "title": "QueryStrings", + "type": "array" } }, "required": [ - "Type" + "QueryStringBehavior" ], "type": "object" }, - "AWS::CodeArtifact::Domain": { + "AWS::CloudFront::PublicKey": { "additionalProperties": false, "properties": { "Condition": { @@ -75424,38 +76044,20 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "markdownDescription": "A string that specifies the name of the requested domain.", - "title": "DomainName", - "type": "string" - }, - "EncryptionKey": { - "markdownDescription": "The key used to encrypt the domain.", - "title": "EncryptionKey", - "type": "string" - }, - "PermissionsPolicyDocument": { - "markdownDescription": "The document that defines the resource policy that is set on a domain.", - "title": "PermissionsPolicyDocument", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags to be applied to the domain.", - "title": "Tags", - "type": "array" + "PublicKeyConfig": { + "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig", + "markdownDescription": "Configuration information about a public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) , or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html) .", + "title": "PublicKeyConfig" } }, "required": [ - "DomainName" + "PublicKeyConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeArtifact::Domain" + "AWS::CloudFront::PublicKey" ], "type": "string" }, @@ -75474,7 +76076,38 @@ ], "type": "object" }, - "AWS::CodeArtifact::Package": { + "AWS::CloudFront::PublicKey.PublicKeyConfig": { + "additionalProperties": false, + "properties": { + "CallerReference": { + "markdownDescription": "A string included in the request to help make sure that the request can't be replayed.", + "title": "CallerReference", + "type": "string" + }, + "Comment": { + "markdownDescription": "A comment to describe the public key. The comment cannot be longer than 128 characters.", + "title": "Comment", + "type": "string" + }, + "EncodedKey": { + "markdownDescription": "The public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) , or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html) .", + "title": "EncodedKey", + "type": "string" + }, + "Name": { + "markdownDescription": "A name to help identify the public key.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "CallerReference", + "EncodedKey", + "Name" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -75509,33 +76142,44 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "type": "string" + "EndPoints": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" + }, + "markdownDescription": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data for this real-time log configuration.", + "title": "EndPoints", + "type": "array" }, - "Format": { - "type": "string" + "Fields": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of fields that are included in each real-time log record. In an API response, the fields are provided in the same order in which they are sent to the Amazon Kinesis data stream.\n\nFor more information about fields, see [Real-time log configuration fields](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields) in the *Amazon CloudFront Developer Guide* .", + "title": "Fields", + "type": "array" }, "Name": { + "markdownDescription": "The unique name of this real-time log configuration.", + "title": "Name", "type": "string" }, - "Namespace": { - "type": "string" - }, - "Repository": { - "type": "string" + "SamplingRate": { + "markdownDescription": "The sampling rate for this real-time log configuration. The sampling rate determines the percentage of viewer requests that are represented in the real-time log data. The sampling rate is an integer between 1 and 100, inclusive.", + "title": "SamplingRate", + "type": "number" } }, "required": [ - "DomainName", - "Format", + "EndPoints", + "Fields", "Name", - "Repository" + "SamplingRate" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeArtifact::Package" + "AWS::CloudFront::RealtimeLogConfig" ], "type": "string" }, @@ -75554,28 +76198,47 @@ ], "type": "object" }, - "AWS::CodeArtifact::Package.OriginConfiguration": { + "AWS::CloudFront::RealtimeLogConfig.EndPoint": { "additionalProperties": false, "properties": { - "Restrictions": { - "$ref": "#/definitions/AWS::CodeArtifact::Package.Restrictions" + "KinesisStreamConfig": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig", + "markdownDescription": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data in a real-time log configuration.", + "title": "KinesisStreamConfig" + }, + "StreamType": { + "markdownDescription": "The type of data stream where you are sending real-time log data. The only valid value is `Kinesis` .", + "title": "StreamType", + "type": "string" } }, + "required": [ + "KinesisStreamConfig", + "StreamType" + ], "type": "object" }, - "AWS::CodeArtifact::Package.Restrictions": { + "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { "additionalProperties": false, "properties": { - "Publish": { + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that CloudFront can use to send real-time log data to your Kinesis data stream.\n\nFor more information the IAM role, see [Real-time log configuration IAM role](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-iam-role) in the *Amazon CloudFront Developer Guide* .", + "title": "RoleArn", "type": "string" }, - "Upstream": { + "StreamArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Kinesis data stream where you are sending real-time log data.", + "title": "StreamArn", "type": "string" } }, + "required": [ + "RoleArn", + "StreamArn" + ], "type": "object" }, - "AWS::CodeArtifact::PackageGroup": { + "AWS::CloudFront::ResponseHeadersPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -75610,54 +76273,20 @@ "Properties": { "additionalProperties": false, "properties": { - "ContactInfo": { - "markdownDescription": "The contact information of the package group.", - "title": "ContactInfo", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the package group.", - "title": "Description", - "type": "string" - }, - "DomainName": { - "markdownDescription": "The domain that contains the package group.", - "title": "DomainName", - "type": "string" - }, - "DomainOwner": { - "markdownDescription": "The 12-digit account number of the AWS account that owns the domain. It does not include dashes or spaces.", - "title": "DomainOwner", - "type": "string" - }, - "OriginConfiguration": { - "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.OriginConfiguration", - "markdownDescription": "Details about the package origin configuration of a package group.", - "title": "OriginConfiguration" - }, - "Pattern": { - "markdownDescription": "The pattern of the package group. The pattern determines which packages are associated with the package group.", - "title": "Pattern", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" + "ResponseHeadersPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ResponseHeadersPolicyConfig", + "markdownDescription": "A response headers policy configuration.", + "title": "ResponseHeadersPolicyConfig" } }, "required": [ - "DomainName", - "Pattern" + "ResponseHeadersPolicyConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeArtifact::PackageGroup" + "AWS::CloudFront::ResponseHeadersPolicy" ], "type": "string" }, @@ -75676,85 +76305,451 @@ ], "type": "object" }, - "AWS::CodeArtifact::PackageGroup.OriginConfiguration": { + "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowHeaders": { "additionalProperties": false, "properties": { - "Restrictions": { - "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.Restrictions", - "markdownDescription": "", - "title": "Restrictions" + "Items": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of HTTP header names. You can specify `*` to allow all headers.", + "title": "Items", + "type": "array" } }, "required": [ - "Restrictions" + "Items" ], "type": "object" }, - "AWS::CodeArtifact::PackageGroup.RestrictionType": { + "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowMethods": { "additionalProperties": false, "properties": { - "Repositories": { + "Items": { "items": { "type": "string" }, - "markdownDescription": "", - "title": "Repositories", + "markdownDescription": "The list of HTTP methods. Valid values are:\n\n- `GET`\n- `DELETE`\n- `HEAD`\n- `OPTIONS`\n- `PATCH`\n- `POST`\n- `PUT`\n- `ALL`\n\n`ALL` is a special value that includes all of the listed HTTP methods.", + "title": "Items", "type": "array" - }, - "RestrictionMode": { - "markdownDescription": "", - "title": "RestrictionMode", - "type": "string" } }, "required": [ - "RestrictionMode" + "Items" ], "type": "object" }, - "AWS::CodeArtifact::PackageGroup.Restrictions": { + "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowOrigins": { "additionalProperties": false, "properties": { - "ExternalUpstream": { - "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType", - "markdownDescription": "", - "title": "ExternalUpstream" - }, - "InternalUpstream": { - "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType", - "markdownDescription": "", - "title": "InternalUpstream" - }, - "Publish": { - "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType", - "markdownDescription": "", - "title": "Publish" + "Items": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of origins (domain names). You can specify `*` to allow all origins.", + "title": "Items", + "type": "array" } }, + "required": [ + "Items" + ], "type": "object" }, - "AWS::CodeArtifact::Repository": { + "AWS::CloudFront::ResponseHeadersPolicy.AccessControlExposeHeaders": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Items": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of HTTP headers. You can specify `*` to expose all headers.", + "title": "Items", + "type": "array" + } + }, + "required": [ + "Items" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.ContentSecurityPolicy": { + "additionalProperties": false, + "properties": { + "ContentSecurityPolicy": { + "markdownDescription": "The policy directives and their values that CloudFront includes as values for the `Content-Security-Policy` HTTP response header.", + "title": "ContentSecurityPolicy", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { + "Override": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides the `Content-Security-Policy` HTTP response header received from the origin with the one specified in this response headers policy.", + "title": "Override", + "type": "boolean" + } + }, + "required": [ + "ContentSecurityPolicy", + "Override" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.ContentTypeOptions": { + "additionalProperties": false, + "properties": { + "Override": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides the `X-Content-Type-Options` HTTP response header received from the origin with the one specified in this response headers policy.", + "title": "Override", + "type": "boolean" + } + }, + "required": [ + "Override" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.CorsConfig": { + "additionalProperties": false, + "properties": { + "AccessControlAllowCredentials": { + "markdownDescription": "A Boolean that CloudFront uses as the value for the `Access-Control-Allow-Credentials` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Credentials` HTTP response header, see [Access-Control-Allow-Credentials](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials) in the MDN Web Docs.", + "title": "AccessControlAllowCredentials", + "type": "boolean" + }, + "AccessControlAllowHeaders": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowHeaders", + "markdownDescription": "A list of HTTP header names that CloudFront includes as values for the `Access-Control-Allow-Headers` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Headers` HTTP response header, see [Access-Control-Allow-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) in the MDN Web Docs.", + "title": "AccessControlAllowHeaders" + }, + "AccessControlAllowMethods": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowMethods", + "markdownDescription": "A list of HTTP methods that CloudFront includes as values for the `Access-Control-Allow-Methods` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Methods` HTTP response header, see [Access-Control-Allow-Methods](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods) in the MDN Web Docs.", + "title": "AccessControlAllowMethods" + }, + "AccessControlAllowOrigins": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowOrigins", + "markdownDescription": "A list of origins (domain names) that CloudFront can use as the value for the `Access-Control-Allow-Origin` HTTP response header.\n\nFor more information about the `Access-Control-Allow-Origin` HTTP response header, see [Access-Control-Allow-Origin](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin) in the MDN Web Docs.", + "title": "AccessControlAllowOrigins" + }, + "AccessControlExposeHeaders": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlExposeHeaders", + "markdownDescription": "A list of HTTP headers that CloudFront includes as values for the `Access-Control-Expose-Headers` HTTP response header.\n\nFor more information about the `Access-Control-Expose-Headers` HTTP response header, see [Access-Control-Expose-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers) in the MDN Web Docs.", + "title": "AccessControlExposeHeaders" + }, + "AccessControlMaxAgeSec": { + "markdownDescription": "A number that CloudFront uses as the value for the `Access-Control-Max-Age` HTTP response header.\n\nFor more information about the `Access-Control-Max-Age` HTTP response header, see [Access-Control-Max-Age](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age) in the MDN Web Docs.", + "title": "AccessControlMaxAgeSec", + "type": "number" + }, + "OriginOverride": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.", + "title": "OriginOverride", + "type": "boolean" + } + }, + "required": [ + "AccessControlAllowCredentials", + "AccessControlAllowHeaders", + "AccessControlAllowMethods", + "AccessControlAllowOrigins", + "OriginOverride" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.CustomHeader": { + "additionalProperties": false, + "properties": { + "Header": { + "markdownDescription": "The HTTP response header name.", + "title": "Header", + "type": "string" + }, + "Override": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides a response header with the same name received from the origin with the header specified here.", + "title": "Override", + "type": "boolean" + }, + "Value": { + "markdownDescription": "The value for the HTTP response header.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Header", + "Override", + "Value" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.CustomHeadersConfig": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CustomHeader" + }, + "markdownDescription": "The list of HTTP response headers and their values.", + "title": "Items", + "type": "array" + } + }, + "required": [ + "Items" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.FrameOptions": { + "additionalProperties": false, + "properties": { + "FrameOption": { + "markdownDescription": "The value of the `X-Frame-Options` HTTP response header. Valid values are `DENY` and `SAMEORIGIN` .\n\nFor more information about these values, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.", + "title": "FrameOption", + "type": "string" + }, + "Override": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides the `X-Frame-Options` HTTP response header received from the origin with the one specified in this response headers policy.", + "title": "Override", + "type": "boolean" + } + }, + "required": [ + "FrameOption", + "Override" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.ReferrerPolicy": { + "additionalProperties": false, + "properties": { + "Override": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides the `Referrer-Policy` HTTP response header received from the origin with the one specified in this response headers policy.", + "title": "Override", + "type": "boolean" + }, + "ReferrerPolicy": { + "markdownDescription": "The value of the `Referrer-Policy` HTTP response header. Valid values are:\n\n- `no-referrer`\n- `no-referrer-when-downgrade`\n- `origin`\n- `origin-when-cross-origin`\n- `same-origin`\n- `strict-origin`\n- `strict-origin-when-cross-origin`\n- `unsafe-url`\n\nFor more information about these values, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.", + "title": "ReferrerPolicy", + "type": "string" + } + }, + "required": [ + "Override", + "ReferrerPolicy" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.RemoveHeader": { + "additionalProperties": false, + "properties": { + "Header": { + "markdownDescription": "The HTTP header name.", + "title": "Header", + "type": "string" + } + }, + "required": [ + "Header" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.RemoveHeadersConfig": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.RemoveHeader" + }, + "markdownDescription": "The list of HTTP header names.", + "title": "Items", + "type": "array" + } + }, + "required": [ + "Items" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.ResponseHeadersPolicyConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "markdownDescription": "A comment to describe the response headers policy.\n\nThe comment cannot be longer than 128 characters.", + "title": "Comment", + "type": "string" + }, + "CorsConfig": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CorsConfig", + "markdownDescription": "A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).", + "title": "CorsConfig" + }, + "CustomHeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CustomHeadersConfig", + "markdownDescription": "A configuration for a set of custom HTTP response headers.", + "title": "CustomHeadersConfig" + }, + "Name": { + "markdownDescription": "A name to identify the response headers policy.\n\nThe name must be unique for response headers policies in this AWS account .", + "title": "Name", + "type": "string" + }, + "RemoveHeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.RemoveHeadersConfig", + "markdownDescription": "A configuration for a set of HTTP headers to remove from the HTTP response.", + "title": "RemoveHeadersConfig" + }, + "SecurityHeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.SecurityHeadersConfig", + "markdownDescription": "A configuration for a set of security-related HTTP response headers.", + "title": "SecurityHeadersConfig" + }, + "ServerTimingHeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ServerTimingHeadersConfig", + "markdownDescription": "A configuration for enabling the `Server-Timing` header in HTTP responses sent from CloudFront.", + "title": "ServerTimingHeadersConfig" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.SecurityHeadersConfig": { + "additionalProperties": false, + "properties": { + "ContentSecurityPolicy": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ContentSecurityPolicy", + "markdownDescription": "The policy directives and their values that CloudFront includes as values for the `Content-Security-Policy` HTTP response header.\n\nFor more information about the `Content-Security-Policy` HTTP response header, see [Content-Security-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) in the MDN Web Docs.", + "title": "ContentSecurityPolicy" + }, + "ContentTypeOptions": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ContentTypeOptions", + "markdownDescription": "Determines whether CloudFront includes the `X-Content-Type-Options` HTTP response header with its value set to `nosniff` .\n\nFor more information about the `X-Content-Type-Options` HTTP response header, see [X-Content-Type-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) in the MDN Web Docs.", + "title": "ContentTypeOptions" + }, + "FrameOptions": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.FrameOptions", + "markdownDescription": "Determines whether CloudFront includes the `X-Frame-Options` HTTP response header and the header's value.\n\nFor more information about the `X-Frame-Options` HTTP response header, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.", + "title": "FrameOptions" + }, + "ReferrerPolicy": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ReferrerPolicy", + "markdownDescription": "Determines whether CloudFront includes the `Referrer-Policy` HTTP response header and the header's value.\n\nFor more information about the `Referrer-Policy` HTTP response header, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.", + "title": "ReferrerPolicy" + }, + "StrictTransportSecurity": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.StrictTransportSecurity", + "markdownDescription": "Determines whether CloudFront includes the `Strict-Transport-Security` HTTP response header and the header's value.\n\nFor more information about the `Strict-Transport-Security` HTTP response header, see [Security headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html#understanding-response-headers-policies-security) in the *Amazon CloudFront Developer Guide* and [Strict-Transport-Security](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) in the MDN Web Docs.", + "title": "StrictTransportSecurity" + }, + "XSSProtection": { + "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.XSSProtection", + "markdownDescription": "Determines whether CloudFront includes the `X-XSS-Protection` HTTP response header and the header's value.\n\nFor more information about the `X-XSS-Protection` HTTP response header, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", + "title": "XSSProtection" + } + }, + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.ServerTimingHeadersConfig": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "A Boolean that determines whether CloudFront adds the `Server-Timing` header to HTTP responses that it sends in response to requests that match a cache behavior that's associated with this response headers policy.", + "title": "Enabled", + "type": "boolean" + }, + "SamplingRate": { + "markdownDescription": "A number 0\u2013100 (inclusive) that specifies the percentage of responses that you want CloudFront to add the `Server-Timing` header to. When you set the sampling rate to 100, CloudFront adds the `Server-Timing` header to the HTTP response for every request that matches the cache behavior that this response headers policy is attached to. When you set it to 50, CloudFront adds the header to 50% of the responses for requests that match the cache behavior. You can set the sampling rate to any number 0\u2013100 with up to four decimal places.", + "title": "SamplingRate", + "type": "number" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.StrictTransportSecurity": { + "additionalProperties": false, + "properties": { + "AccessControlMaxAgeSec": { + "markdownDescription": "A number that CloudFront uses as the value for the `max-age` directive in the `Strict-Transport-Security` HTTP response header.", + "title": "AccessControlMaxAgeSec", + "type": "number" + }, + "IncludeSubdomains": { + "markdownDescription": "A Boolean that determines whether CloudFront includes the `includeSubDomains` directive in the `Strict-Transport-Security` HTTP response header.", + "title": "IncludeSubdomains", + "type": "boolean" + }, + "Override": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides the `Strict-Transport-Security` HTTP response header received from the origin with the one specified in this response headers policy.", + "title": "Override", + "type": "boolean" + }, + "Preload": { + "markdownDescription": "A Boolean that determines whether CloudFront includes the `preload` directive in the `Strict-Transport-Security` HTTP response header.", + "title": "Preload", + "type": "boolean" + } + }, + "required": [ + "AccessControlMaxAgeSec", + "Override" + ], + "type": "object" + }, + "AWS::CloudFront::ResponseHeadersPolicy.XSSProtection": { + "additionalProperties": false, + "properties": { + "ModeBlock": { + "markdownDescription": "A Boolean that determines whether CloudFront includes the `mode=block` directive in the `X-XSS-Protection` header.\n\nFor more information about this directive, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", + "title": "ModeBlock", + "type": "boolean" + }, + "Override": { + "markdownDescription": "A Boolean that determines whether CloudFront overrides the `X-XSS-Protection` HTTP response header received from the origin with the one specified in this response headers policy.", + "title": "Override", + "type": "boolean" + }, + "Protection": { + "markdownDescription": "A Boolean that determines the value of the `X-XSS-Protection` HTTP response header. When this setting is `true` , the value of the `X-XSS-Protection` header is `1` . When this setting is `false` , the value of the `X-XSS-Protection` header is `0` .\n\nFor more information about these settings, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", + "title": "Protection", + "type": "boolean" + }, + "ReportUri": { + "markdownDescription": "A reporting URI, which CloudFront uses as the value of the `report` directive in the `X-XSS-Protection` header.\n\nYou cannot specify a `ReportUri` when `ModeBlock` is `true` .\n\nFor more information about using a reporting URL, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", + "title": "ReportUri", + "type": "string" + } + }, + "required": [ + "Override", + "Protection" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution": { + "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" }, @@ -75768,65 +76763,29 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A text description of the repository.", - "title": "Description", - "type": "string" - }, - "DomainName": { - "markdownDescription": "The name of the domain that contains the repository.", - "title": "DomainName", - "type": "string" - }, - "DomainOwner": { - "markdownDescription": "The 12-digit account number of the AWS account that owns the domain that contains the repository. It does not include dashes or spaces.", - "title": "DomainOwner", - "type": "string" - }, - "ExternalConnections": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of external connections associated with the repository. For more information, see [Supported external connection repositories](https://docs.aws.amazon.com/codeartifact/latest/ug/external-connection.html#supported-public-repositories) in the *CodeArtifact user guide* .", - "title": "ExternalConnections", - "type": "array" - }, - "PermissionsPolicyDocument": { - "markdownDescription": "The document that defines the resource policy that is set on a repository.", - "title": "PermissionsPolicyDocument", - "type": "object" - }, - "RepositoryName": { - "markdownDescription": "The name of an upstream repository.", - "title": "RepositoryName", - "type": "string" + "StreamingDistributionConfig": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig", + "markdownDescription": "The current configuration information for the RTMP distribution.", + "title": "StreamingDistributionConfig" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of tags to be applied to the repository.", + "markdownDescription": "A complex type that contains zero or more `Tag` elements.", "title": "Tags", "type": "array" - }, - "Upstreams": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of upstream repositories to associate with the repository. The order of the upstream repositories in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more information, see [Working with upstream repositories](https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html) .", - "title": "Upstreams", - "type": "array" } }, "required": [ - "DomainName", - "RepositoryName" + "StreamingDistributionConfig", + "Tags" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeArtifact::Repository" + "AWS::CloudFront::StreamingDistribution" ], "type": "string" }, @@ -75845,7 +76804,125 @@ ], "type": "object" }, - "AWS::CodeBuild::Build": { + "AWS::CloudFront::StreamingDistribution.Logging": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The Amazon S3 bucket to store the access logs in, for example, `amzn-s3-demo-bucket.s3.amazonaws.com` .", + "title": "Bucket", + "type": "string" + }, + "Enabled": { + "markdownDescription": "Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify `false` for `Enabled` , and specify `empty Bucket` and `Prefix` elements. If you specify `false` for `Enabled` but you specify values for `Bucket` and `Prefix` , the values are automatically deleted.", + "title": "Enabled", + "type": "boolean" + }, + "Prefix": { + "markdownDescription": "An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, `myprefix/` . If you want to enable logging, but you don't want to specify a prefix, you still must include an empty `Prefix` element in the `Logging` element.", + "title": "Prefix", + "type": "string" + } + }, + "required": [ + "Bucket", + "Enabled", + "Prefix" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.S3Origin": { + "additionalProperties": false, + "properties": { + "DomainName": { + "markdownDescription": "The DNS name of the Amazon S3 origin.", + "title": "DomainName", + "type": "string" + }, + "OriginAccessIdentity": { + "markdownDescription": "The CloudFront origin access identity to associate with the distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.\n\nIf you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty `OriginAccessIdentity` element.\n\nTo delete the origin access identity from an existing distribution, update the distribution configuration and include an empty `OriginAccessIdentity` element.\n\nTo replace the origin access identity, update the distribution configuration and specify the new origin access identity.\n\nFor more information, see [Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginAccessIdentity", + "type": "string" + } + }, + "required": [ + "DomainName", + "OriginAccessIdentity" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": { + "additionalProperties": false, + "properties": { + "Aliases": { + "items": { + "type": "string" + }, + "markdownDescription": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.", + "title": "Aliases", + "type": "array" + }, + "Comment": { + "markdownDescription": "Any comments you want to include about the streaming distribution.", + "title": "Comment", + "type": "string" + }, + "Enabled": { + "markdownDescription": "Whether the streaming distribution is enabled to accept user requests for content.", + "title": "Enabled", + "type": "boolean" + }, + "Logging": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.Logging", + "markdownDescription": "A complex type that controls whether access logs are written for the streaming distribution.", + "title": "Logging" + }, + "PriceClass": { + "markdownDescription": "A complex type that contains information about price class for this streaming distribution.", + "title": "PriceClass", + "type": "string" + }, + "S3Origin": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.S3Origin", + "markdownDescription": "A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.", + "title": "S3Origin" + }, + "TrustedSigners": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.TrustedSigners", + "markdownDescription": "A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content. If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide* .", + "title": "TrustedSigners" + } + }, + "required": [ + "Comment", + "Enabled", + "S3Origin", + "TrustedSigners" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.TrustedSigners": { + "additionalProperties": false, + "properties": { + "AwsAccountNumbers": { + "items": { + "type": "string" + }, + "markdownDescription": "An AWS account number that contains active CloudFront key pairs that CloudFront can use to verify the signatures of signed URLs and signed cookies. If the AWS account that owns the key pairs is the same account that owns the CloudFront distribution, the value of this field is `self` .", + "title": "AwsAccountNumbers", + "type": "array" + }, + "Enabled": { + "markdownDescription": "This field is `true` if any of the AWS accounts in the list are configured as trusted signers. If not, this field is `false` .", + "title": "Enabled", + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CloudFront::TrustStore": { "additionalProperties": false, "properties": { "Condition": { @@ -75880,15 +76957,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ProjectName": { + "CaCertificatesBundleSource": { + "$ref": "#/definitions/AWS::CloudFront::TrustStore.CaCertificatesBundleSource", + "markdownDescription": "A CA certificates bundle source.", + "title": "CaCertificatesBundleSource" + }, + "Name": { + "markdownDescription": "The trust store's name.", + "title": "Name", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A complex type that contains zero or more `Tag` elements.", + "title": "Tags", + "type": "array" + }, + "UseClientCertificateOCSPEndpoint": { + "type": "boolean" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeBuild::Build" + "AWS::CloudFront::TrustStore" ], "type": "string" }, @@ -75902,11 +77000,57 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CodeBuild::BuildBatch": { + "AWS::CloudFront::TrustStore.CaCertificatesBundleS3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The S3 bucket.", + "title": "Bucket", + "type": "string" + }, + "Key": { + "markdownDescription": "The location's key.", + "title": "Key", + "type": "string" + }, + "Region": { + "markdownDescription": "The location's Region.", + "title": "Region", + "type": "string" + }, + "Version": { + "markdownDescription": "The location's version.", + "title": "Version", + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "Region" + ], + "type": "object" + }, + "AWS::CloudFront::TrustStore.CaCertificatesBundleSource": { + "additionalProperties": false, + "properties": { + "CaCertificatesBundleS3Location": { + "$ref": "#/definitions/AWS::CloudFront::TrustStore.CaCertificatesBundleS3Location", + "markdownDescription": "The CA certificates bundle location in Amazon S3.", + "title": "CaCertificatesBundleS3Location" + } + }, + "required": [ + "CaCertificatesBundleS3Location" + ], + "type": "object" + }, + "AWS::CloudFront::VpcOrigin": { "additionalProperties": false, "properties": { "Condition": { @@ -75941,15 +77085,28 @@ "Properties": { "additionalProperties": false, "properties": { - "ProjectName": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A complex type that contains zero or more `Tag` elements.", + "title": "Tags", + "type": "array" + }, + "VpcOriginEndpointConfig": { + "$ref": "#/definitions/AWS::CloudFront::VpcOrigin.VpcOriginEndpointConfig", + "markdownDescription": "The VPC origin endpoint configuration.", + "title": "VpcOriginEndpointConfig" } }, + "required": [ + "VpcOriginEndpointConfig" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeBuild::BuildBatch" + "AWS::CloudFront::VpcOrigin" ], "type": "string" }, @@ -75963,11 +77120,58 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CodeBuild::Fleet": { + "AWS::CloudFront::VpcOrigin.VpcOriginEndpointConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The ARN of the CloudFront VPC origin endpoint configuration.", + "title": "Arn", + "type": "string" + }, + "HTTPPort": { + "markdownDescription": "The HTTP port for the CloudFront VPC origin endpoint configuration. The default value is `80` .", + "title": "HTTPPort", + "type": "number" + }, + "HTTPSPort": { + "markdownDescription": "The HTTPS port of the CloudFront VPC origin endpoint configuration. The default value is `443` .", + "title": "HTTPSPort", + "type": "number" + }, + "IpAddressType": { + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the CloudFront VPC origin endpoint configuration.", + "title": "Name", + "type": "string" + }, + "OriginProtocolPolicy": { + "markdownDescription": "The origin protocol policy for the CloudFront VPC origin endpoint configuration.", + "title": "OriginProtocolPolicy", + "type": "string" + }, + "OriginSSLProtocols": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your origin over HTTPS. Valid values include `SSLv3` , `TLSv1` , `TLSv1.1` , and `TLSv1.2` .\n\nFor more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginSSLProtocols) in the *Amazon CloudFront Developer Guide* .", + "title": "OriginSSLProtocols", + "type": "array" + } + }, + "required": [ + "Arn", + "Name" + ], + "type": "object" + }, + "AWS::CloudHSM::Cluster": { "additionalProperties": false, "properties": { "Condition": { @@ -76002,75 +77206,39 @@ "Properties": { "additionalProperties": false, "properties": { - "BaseCapacity": { - "markdownDescription": "The initial number of machines allocated to the compute \ufb02eet, which de\ufb01nes the number of builds that can run in parallel.", - "title": "BaseCapacity", - "type": "number" - }, - "ComputeConfiguration": { - "$ref": "#/definitions/AWS::CodeBuild::Fleet.ComputeConfiguration", - "markdownDescription": "The compute configuration of the compute fleet. This is only required if `computeType` is set to `ATTRIBUTE_BASED_COMPUTE` or `CUSTOM_INSTANCE_TYPE` .", - "title": "ComputeConfiguration" - }, - "ComputeType": { - "markdownDescription": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine.\n\n> If you use `ATTRIBUTE_BASED_COMPUTE` , you must define your attributes by using `computeConfiguration` . AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types) in the *AWS CodeBuild User Guide* .\n- `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n- `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [On-demand environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types) in the *AWS CodeBuild User Guide.*", - "title": "ComputeType", - "type": "string" - }, - "EnvironmentType": { - "markdownDescription": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (S\u00e3o Paulo).\n- The environment type `ARM_EC2` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_EC2` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `MAC_ARM` is available only in regions US East (Ohio), US East (N. Virginia), US West (Oregon), Europe (Frankfurt), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_EC2` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (S\u00e3o Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* .", - "title": "EnvironmentType", - "type": "string" - }, - "FleetProxyConfiguration": { - "$ref": "#/definitions/AWS::CodeBuild::Fleet.ProxyConfiguration", - "markdownDescription": "Information about the proxy configurations that apply network access control to your reserved capacity instances.", - "title": "FleetProxyConfiguration" - }, - "FleetServiceRole": { - "markdownDescription": "The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* .", - "title": "FleetServiceRole", - "type": "string" - }, - "FleetVpcConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Fleet.VpcConfig", - "markdownDescription": "Information about the VPC configuration that AWS CodeBuild accesses.", - "title": "FleetVpcConfig" + "BackupRetentionPolicy": { + "$ref": "#/definitions/AWS::CloudHSM::Cluster.BackupRetentionPolicy" }, - "ImageId": { - "markdownDescription": "The Amazon Machine Image (AMI) of the compute fleet.", - "title": "ImageId", + "HsmType": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the compute fleet.", - "title": "Name", + "Mode": { "type": "string" }, - "OverflowBehavior": { - "markdownDescription": "The compute fleet overflow behavior.\n\n- For overflow behavior `QUEUE` , your overflow builds need to wait on the existing fleet instance to become available.\n- For overflow behavior `ON_DEMAND` , your overflow builds run on CodeBuild on-demand.\n\n> If you choose to set your overflow behavior to on-demand while creating a VPC-connected fleet, make sure that you add the required VPC permissions to your project service role. For more information, see [Example policy statement to allow CodeBuild access to AWS services required to create a VPC network interface](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-create-vpc-network-interface) .", - "title": "OverflowBehavior", + "NetworkType": { "type": "string" }, - "ScalingConfiguration": { - "$ref": "#/definitions/AWS::CodeBuild::Fleet.ScalingConfigurationInput", - "markdownDescription": "The scaling configuration of the compute fleet.", - "title": "ScalingConfiguration" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::CloudHSM::Cluster.TagsItems" }, - "markdownDescription": "A list of tag key and value pairs associated with this compute fleet.\n\nThese tags are available for use by AWS services that support AWS CodeBuild compute fleet tags.", - "title": "Tags", "type": "array" } }, + "required": [ + "HsmType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeBuild::Fleet" + "AWS::CloudHSM::Cluster" ], "type": "string" }, @@ -76084,152 +77252,201 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CodeBuild::Fleet.ComputeConfiguration": { + "AWS::CloudHSM::Cluster.BackupRetentionPolicy": { "additionalProperties": false, "properties": { - "disk": { - "markdownDescription": "The amount of disk space of the instance type included in your fleet.", - "title": "disk", - "type": "number" - }, - "instanceType": { - "markdownDescription": "The EC2 instance type to be launched in your fleet.", - "title": "instanceType", + "Type": { "type": "string" }, - "machineType": { - "markdownDescription": "The machine type of the instance type included in your fleet.", - "title": "machineType", + "Value": { "type": "string" - }, - "memory": { - "markdownDescription": "The amount of memory of the instance type included in your fleet.", - "title": "memory", - "type": "number" - }, - "vCpu": { - "markdownDescription": "The number of vCPUs of the instance type included in your fleet.", - "title": "vCpu", - "type": "number" } }, "type": "object" }, - "AWS::CodeBuild::Fleet.FleetProxyRule": { + "AWS::CloudHSM::Cluster.TagsItems": { "additionalProperties": false, "properties": { - "Effect": { - "markdownDescription": "The behavior of the proxy rule.", - "title": "Effect", + "Key": { "type": "string" }, - "Entities": { - "items": { - "type": "string" - }, - "markdownDescription": "The destination of the proxy rule.", - "title": "Entities", - "type": "array" - }, - "Type": { - "markdownDescription": "The type of proxy rule.", - "title": "Type", + "Value": { "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::CodeBuild::Fleet.ProxyConfiguration": { + "AWS::CloudHSMV2::Backup": { "additionalProperties": false, "properties": { - "DefaultBehavior": { - "markdownDescription": "The default behavior of outgoing traffic.", - "title": "DefaultBehavior", + "Condition": { "type": "string" }, - "OrderedProxyRules": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Fleet.FleetProxyRule" - }, - "markdownDescription": "An array of `FleetProxyRule` objects that represent the specified destination domains or IPs to allow or deny network access control to.", - "title": "OrderedProxyRules", - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::CodeBuild::Fleet.ScalingConfigurationInput": { + "AWS::CloudTrail::Channel": { "additionalProperties": false, "properties": { - "MaxCapacity": { - "markdownDescription": "The maximum number of instances in the \ufb02eet when auto-scaling.", - "title": "MaxCapacity", - "type": "number" + "Condition": { + "type": "string" }, - "ScalingType": { - "markdownDescription": "The scaling type for a compute fleet.", - "title": "ScalingType", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TargetTrackingScalingConfigs": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Fleet.TargetTrackingScalingConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Channel.Destination" + }, + "markdownDescription": "One or more event data stores to which events arriving through a channel will be logged.", + "title": "Destinations", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the channel.", + "title": "Name", + "type": "string" + }, + "Source": { + "markdownDescription": "The name of the partner or external event source. You cannot change this name after you create the channel. A maximum of one channel is allowed per source.\n\nA source can be either `Custom` for all valid non- AWS events, or the name of a partner event source. For information about the source names for available partners, see [Additional information about integration partners](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-integration.html#cloudtrail-lake-partner-information) in the CloudTrail User Guide.", + "title": "Source", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags.", + "title": "Tags", + "type": "array" + } }, - "markdownDescription": "A list of `TargetTrackingScalingConfiguration` objects.", - "title": "TargetTrackingScalingConfigs", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Fleet.TargetTrackingScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MetricType": { - "markdownDescription": "The metric type to determine auto-scaling.", - "title": "MetricType", + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudTrail::Channel" + ], "type": "string" }, - "TargetValue": { - "markdownDescription": "The value of `metricType` when to start scaling.", - "title": "TargetValue", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::CodeBuild::Fleet.VpcConfig": { + "AWS::CloudTrail::Channel.Destination": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of one or more security groups IDs in your Amazon VPC.", - "title": "SecurityGroupIds", - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of one or more subnet IDs in your Amazon VPC.", - "title": "Subnets", - "type": "array" + "Location": { + "markdownDescription": "For channels used for a CloudTrail Lake integration, the location is the ARN of an event data store that receives events from a channel. For service-linked channels, the location is the name of the AWS service.", + "title": "Location", + "type": "string" }, - "VpcId": { - "markdownDescription": "The ID of the Amazon VPC.", - "title": "VpcId", + "Type": { + "markdownDescription": "The type of destination for events arriving from a channel. For channels used for a CloudTrail Lake integration, the value is `EVENT_DATA_STORE` . For service-linked channels, the value is `AWS_SERVICE` .", + "title": "Type", "type": "string" } }, + "required": [ + "Location", + "Type" + ], "type": "object" }, - "AWS::CodeBuild::Project": { + "AWS::CloudTrail::Dashboard": { "additionalProperties": false, "properties": { "Condition": { @@ -76264,156 +77481,43 @@ "Properties": { "additionalProperties": false, "properties": { - "Artifacts": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts", - "markdownDescription": "`Artifacts` is a property of the [AWS::CodeBuild::Project](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html) resource that specifies output settings for artifacts generated by an AWS CodeBuild build.", - "title": "Artifacts" + "Name": { + "markdownDescription": "The name of the dashboard. The name must be unique to your account.\n\nTo create the Highlights dashboard, the name must be `AWSCloudTrail-Highlights` .", + "title": "Name", + "type": "string" }, - "AutoRetryLimit": { - "type": "number" + "RefreshSchedule": { + "$ref": "#/definitions/AWS::CloudTrail::Dashboard.RefreshSchedule", + "markdownDescription": "The schedule for a dashboard refresh.", + "title": "RefreshSchedule" }, - "BadgeEnabled": { - "markdownDescription": "Indicates whether AWS CodeBuild generates a publicly accessible URL for your project's build badge. For more information, see [Build Badges Sample](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-build-badges.html) in the *AWS CodeBuild User Guide* .\n\n> Including build badges with your project is currently not supported if the source type is CodePipeline. If you specify `CODEPIPELINE` for the `Source` property, do not specify the `BadgeEnabled` property.", - "title": "BadgeEnabled", + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags.", + "title": "Tags", + "type": "array" + }, + "TerminationProtectionEnabled": { + "markdownDescription": "Specifies whether termination protection is enabled for the dashboard. If termination protection is enabled, you cannot delete the dashboard until termination protection is disabled.", + "title": "TerminationProtectionEnabled", "type": "boolean" }, - "BuildBatchConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig", - "markdownDescription": "A `ProjectBuildBatchConfig` object that defines the batch build options for the project.", - "title": "BuildBatchConfig" - }, - "Cache": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache", - "markdownDescription": "Settings that AWS CodeBuild uses to store and reuse build dependencies.", - "title": "Cache" - }, - "ConcurrentBuildLimit": { - "markdownDescription": "The maximum number of concurrent builds that are allowed for this project.\n\nNew builds are only started if the current number of builds is less than or equal to this limit. If the current build count meets this limit, new builds are throttled and are not run.", - "title": "ConcurrentBuildLimit", - "type": "number" - }, - "Description": { - "markdownDescription": "A description that makes the build project easy to identify.", - "title": "Description", - "type": "string" - }, - "EncryptionKey": { - "markdownDescription": "The AWS Key Management Service customer master key (CMK) to be used for encrypting the build output artifacts.\n\n> You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key. \n\nYou can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format `alias/` ). If you don't specify a value, CodeBuild uses the managed CMK for Amazon Simple Storage Service (Amazon S3).", - "title": "EncryptionKey", - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Environment", - "markdownDescription": "The build environment settings for the project, such as the environment type or the environment variables to use for the build environment.", - "title": "Environment" - }, - "FileSystemLocations": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFileSystemLocation" - }, - "markdownDescription": "An array of `ProjectFileSystemLocation` objects for a CodeBuild build project. A `ProjectFileSystemLocation` object specifies the `identifier` , `location` , `mountOptions` , `mountPoint` , and `type` of a file system created using Amazon Elastic File System.", - "title": "FileSystemLocations", - "type": "array" - }, - "LogsConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.LogsConfig", - "markdownDescription": "Information about logs for the build project. A project can create logs in CloudWatch Logs, an S3 bucket, or both.", - "title": "LogsConfig" - }, - "Name": { - "markdownDescription": "The name of the build project. The name must be unique across all of the projects in your AWS account .", - "title": "Name", - "type": "string" - }, - "QueuedTimeoutInMinutes": { - "markdownDescription": "The number of minutes a build is allowed to be queued before it times out.", - "title": "QueuedTimeoutInMinutes", - "type": "number" - }, - "ResourceAccessRole": { - "markdownDescription": "The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds.", - "title": "ResourceAccessRole", - "type": "string" - }, - "SecondaryArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" - }, - "markdownDescription": "A list of `Artifacts` objects. Each artifacts object specifies output settings that the project generates during a build.", - "title": "SecondaryArtifacts", - "type": "array" - }, - "SecondarySourceVersions": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectSourceVersion" - }, - "markdownDescription": "An array of `ProjectSourceVersion` objects. If `secondarySourceVersions` is specified at the build level, then they take over these `secondarySourceVersions` (at the project level).", - "title": "SecondarySourceVersions", - "type": "array" - }, - "SecondarySources": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Source" - }, - "markdownDescription": "An array of `ProjectSource` objects.", - "title": "SecondarySources", - "type": "array" - }, - "ServiceRole": { - "markdownDescription": "The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.", - "title": "ServiceRole", - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Source", - "markdownDescription": "The source code settings for the project, such as the source code's repository type and location.", - "title": "Source" - }, - "SourceVersion": { - "markdownDescription": "A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:\n\n- For CodeCommit: the commit ID, branch, or Git tag to use.\n- For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format `pr/pull-request-ID` (for example `pr/25` ). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For GitLab: the commit ID, branch, or Git tag to use.\n- For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For Amazon S3: the version ID of the object that represents the build input ZIP file to use.\n\nIf `sourceVersion` is specified at the build level, then that version takes precedence over this `sourceVersion` (at the project level).\n\nFor more information, see [Source Version Sample with CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) in the *AWS CodeBuild User Guide* .", - "title": "SourceVersion", - "type": "string" - }, - "Tags": { + "Widgets": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::CloudTrail::Dashboard.Widget" }, - "markdownDescription": "An arbitrary set of tags (key-value pairs) for the AWS CodeBuild project.\n\nThese tags are available for use by AWS services that support AWS CodeBuild build project tags.", - "title": "Tags", + "markdownDescription": "An array of widgets for a custom dashboard. A custom dashboard can have a maximum of ten widgets.\n\nYou do not need to specify widgets for the Highlights dashboard.", + "title": "Widgets", "type": "array" - }, - "TimeoutInMinutes": { - "markdownDescription": "How long, in minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait before timing out any related build that did not get marked as completed. The default is 60 minutes.", - "title": "TimeoutInMinutes", - "type": "number" - }, - "Triggers": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers", - "markdownDescription": "For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, enables AWS CodeBuild to begin automatically rebuilding the source code every time a code change is pushed to the repository.", - "title": "Triggers" - }, - "Visibility": { - "markdownDescription": "Specifies the visibility of the project's builds. Possible values are:\n\n- **PUBLIC_READ** - The project builds are visible to the public.\n- **PRIVATE** - The project builds are not visible to the public.", - "title": "Visibility", - "type": "string" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig", - "markdownDescription": "`VpcConfig` specifies settings that enable AWS CodeBuild to access resources in an Amazon VPC. For more information, see [Use AWS CodeBuild with Amazon Virtual Private Cloud](https://docs.aws.amazon.com/codebuild/latest/userguide/vpc-support.html) in the *AWS CodeBuild User Guide* .", - "title": "VpcConfig" } }, - "required": [ - "Artifacts", - "Environment", - "ServiceRole", - "Source" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeBuild::Project" + "AWS::CloudTrail::Dashboard" ], "type": "string" }, @@ -76427,644 +77531,85 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Artifacts": { - "additionalProperties": false, - "properties": { - "ArtifactIdentifier": { - "markdownDescription": "An identifier for this artifact definition.", - "title": "ArtifactIdentifier", - "type": "string" - }, - "EncryptionDisabled": { - "markdownDescription": "Set to true if you do not want your output artifacts encrypted. This option is valid only if your artifacts type is Amazon Simple Storage Service (Amazon S3). If this is set with another artifacts type, an `invalidInputException` is thrown.", - "title": "EncryptionDisabled", - "type": "boolean" - }, - "Location": { - "markdownDescription": "Information about the build output artifact location:\n\n- If `type` is set to `CODEPIPELINE` , AWS CodePipeline ignores this value if specified. This is because CodePipeline manages its build output locations instead of CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , this is the name of the output bucket.\n\nIf you specify `CODEPIPELINE` or `NO_ARTIFACTS` for the `Type` property, don't specify this property. For all of the other types, you must specify this property.", - "title": "Location", - "type": "string" - }, - "Name": { - "markdownDescription": "Along with `path` and `namespaceType` , the pattern that AWS CodeBuild uses to name and store the output artifact:\n\n- If `type` is set to `CODEPIPELINE` , AWS CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , this is the name of the output artifact object. If you set the name to be a forward slash (\"/\"), the artifact is stored in the root of the output bucket.\n\nFor example:\n\n- If `path` is set to `MyArtifacts` , `namespaceType` is set to `BUILD_ID` , and `name` is set to `MyArtifact.zip` , then the output artifact is stored in `MyArtifacts/ *build-ID* /MyArtifact.zip` .\n- If `path` is empty, `namespaceType` is set to `NONE` , and `name` is set to \" `/` \", the output artifact is stored in the root of the output bucket.\n- If `path` is set to `MyArtifacts` , `namespaceType` is set to `BUILD_ID` , and `name` is set to \" `/` \", the output artifact is stored in `MyArtifacts/ *build-ID*` .\n\nIf you specify `CODEPIPELINE` or `NO_ARTIFACTS` for the `Type` property, don't specify this property. For all of the other types, you must specify this property.", - "title": "Name", - "type": "string" - }, - "NamespaceType": { - "markdownDescription": "Along with `path` and `name` , the pattern that AWS CodeBuild uses to determine the name and location to store the output artifact:\n\n- If `type` is set to `CODEPIPELINE` , CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , valid values include:\n\n- `BUILD_ID` : Include the build ID in the location of the build output artifact.\n- `NONE` : Do not include the build ID. This is the default if `namespaceType` is not specified.\n\nFor example, if `path` is set to `MyArtifacts` , `namespaceType` is set to `BUILD_ID` , and `name` is set to `MyArtifact.zip` , the output artifact is stored in `MyArtifacts//MyArtifact.zip` .", - "title": "NamespaceType", - "type": "string" - }, - "OverrideArtifactName": { - "markdownDescription": "If set to true a name specified in the buildspec file overrides the artifact name. The name specified in a buildspec file is calculated at build time and uses the Shell command language. For example, you can append a date and time to your artifact name so that it is always unique.", - "title": "OverrideArtifactName", - "type": "boolean" - }, - "Packaging": { - "markdownDescription": "The type of build output artifact to create:\n\n- If `type` is set to `CODEPIPELINE` , CodePipeline ignores this value if specified. This is because CodePipeline manages its build output artifacts instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , valid values include:\n\n- `NONE` : AWS CodeBuild creates in the output bucket a folder that contains the build output. This is the default if `packaging` is not specified.\n- `ZIP` : AWS CodeBuild creates in the output bucket a ZIP file that contains the build output.", - "title": "Packaging", - "type": "string" - }, - "Path": { - "markdownDescription": "Along with `namespaceType` and `name` , the pattern that AWS CodeBuild uses to name and store the output artifact:\n\n- If `type` is set to `CODEPIPELINE` , CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , this is the path to the output artifact. If `path` is not specified, `path` is not used.\n\nFor example, if `path` is set to `MyArtifacts` , `namespaceType` is set to `NONE` , and `name` is set to `MyArtifact.zip` , the output artifact is stored in the output bucket at `MyArtifacts/MyArtifact.zip` .", - "title": "Path", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of build output artifact. Valid values include:\n\n- `CODEPIPELINE` : The build project has build output generated through CodePipeline.\n\n> The `CODEPIPELINE` type is not supported for `secondaryArtifacts` .\n- `NO_ARTIFACTS` : The build project does not produce any build output.\n- `S3` : The build project stores build output in Amazon S3.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.BatchRestrictions": { - "additionalProperties": false, - "properties": { - "ComputeTypesAllowed": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of strings that specify the compute types that are allowed for the batch build. See [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide* for these values.", - "title": "ComputeTypesAllowed", - "type": "array" - }, - "MaximumBuildsAllowed": { - "markdownDescription": "Specifies the maximum number of builds allowed.", - "title": "MaximumBuildsAllowed", - "type": "number" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.BuildStatusConfig": { - "additionalProperties": false, - "properties": { - "Context": { - "markdownDescription": "Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.\n\n- **Bitbucket** - This parameter is used for the `name` parameter in the Bitbucket commit status. For more information, see [build](https://docs.aws.amazon.com/https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) in the Bitbucket API documentation.\n- **GitHub/GitHub Enterprise Server** - This parameter is used for the `context` parameter in the GitHub commit status. For more information, see [Create a commit status](https://docs.aws.amazon.com/https://developer.github.com/v3/repos/statuses/#create-a-commit-status) in the GitHub developer guide.", - "title": "Context", - "type": "string" - }, - "TargetUrl": { - "markdownDescription": "Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.\n\n- **Bitbucket** - This parameter is used for the `url` parameter in the Bitbucket commit status. For more information, see [build](https://docs.aws.amazon.com/https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) in the Bitbucket API documentation.\n- **GitHub/GitHub Enterprise Server** - This parameter is used for the `target_url` parameter in the GitHub commit status. For more information, see [Create a commit status](https://docs.aws.amazon.com/https://developer.github.com/v3/repos/statuses/#create-a-commit-status) in the GitHub developer guide.", - "title": "TargetUrl", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.CloudWatchLogsConfig": { - "additionalProperties": false, - "properties": { - "GroupName": { - "markdownDescription": "The group name of the logs in CloudWatch Logs. For more information, see [Working with Log Groups and Log Streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) .", - "title": "GroupName", - "type": "string" - }, - "Status": { - "markdownDescription": "The current status of the logs in CloudWatch Logs for a build project. Valid values are:\n\n- `ENABLED` : CloudWatch Logs are enabled for this build project.\n- `DISABLED` : CloudWatch Logs are not enabled for this build project.", - "title": "Status", - "type": "string" - }, - "StreamName": { - "markdownDescription": "The prefix of the stream name of the CloudWatch Logs. For more information, see [Working with Log Groups and Log Streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) .", - "title": "StreamName", - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.DockerServer": { - "additionalProperties": false, - "properties": { - "ComputeType": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ComputeType" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Environment": { - "additionalProperties": false, - "properties": { - "Certificate": { - "markdownDescription": "The ARN of the Amazon S3 bucket, path prefix, and object key that contains the PEM-encoded certificate for the build project. For more information, see [certificate](https://docs.aws.amazon.com/codebuild/latest/userguide/create-project-cli.html#cli.environment.certificate) in the *AWS CodeBuild User Guide* .", - "title": "Certificate", - "type": "string" - }, - "ComputeType": { - "markdownDescription": "The type of compute environment. This determines the number of CPU cores and memory the build environment uses. Available values include:\n\n- `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine.\n\n> If you use `ATTRIBUTE_BASED_COMPUTE` , you must define your attributes by using `computeConfiguration` . AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types) in the *AWS CodeBuild User Guide* .\n- `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n- `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [On-demand environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types) in the *AWS CodeBuild User Guide.*", - "title": "ComputeType", - "type": "string" - }, - "DockerServer": { - "$ref": "#/definitions/AWS::CodeBuild::Project.DockerServer" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" - }, - "markdownDescription": "A set of environment variables to make available to builds for this build project.", - "title": "EnvironmentVariables", - "type": "array" - }, - "Fleet": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFleet" - }, - "HostKernel": { - "type": "string" - }, - "Image": { - "markdownDescription": "The image tag or image digest that identifies the Docker image to use for this build project. Use the following formats:\n\n- For an image tag: `/:` . For example, in the Docker repository that CodeBuild uses to manage its Docker images, this would be `aws/codebuild/standard:4.0` .\n- For an image digest: `/@` . For example, to specify an image with the digest \"sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf,\" use `/@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf` .\n\nFor more information, see [Docker images provided by CodeBuild](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-available.html) in the *AWS CodeBuild user guide* .", - "title": "Image", - "type": "string" - }, - "ImagePullCredentialsType": { - "markdownDescription": "The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid values:\n\n- `CODEBUILD` specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust AWS CodeBuild service principal.\n- `SERVICE_ROLE` specifies that AWS CodeBuild uses your build project's service role.\n\nWhen you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD credentials.", - "title": "ImagePullCredentialsType", - "type": "string" - }, - "PrivilegedMode": { - "markdownDescription": "Enables running the Docker daemon inside a Docker container. Set to true only if the build project is used to build Docker images. Otherwise, a build that attempts to interact with the Docker daemon fails. The default setting is `false` .\n\nYou can initialize the Docker daemon during the install phase of your build by adding one of the following sets of commands to the install phase of your buildspec file:\n\nIf the operating system's base image is Ubuntu Linux:\n\n`- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&`\n\n`- timeout 15 sh -c \"until docker info; do echo .; sleep 1; done\"`\n\nIf the operating system's base image is Alpine Linux and the previous command does not work, add the `-t` argument to `timeout` :\n\n`- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&`\n\n`- timeout -t 15 sh -c \"until docker info; do echo .; sleep 1; done\"`", - "title": "PrivilegedMode", - "type": "boolean" - }, - "RegistryCredential": { - "$ref": "#/definitions/AWS::CodeBuild::Project.RegistryCredential", - "markdownDescription": "`RegistryCredential` is a property of the [AWS::CodeBuild::Project Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-environment) property that specifies information about credentials that provide access to a private Docker registry. When this is set:\n\n- `imagePullCredentialsType` must be set to `SERVICE_ROLE` .\n- images cannot be curated or an Amazon ECR image.", - "title": "RegistryCredential" - }, - "Type": { - "markdownDescription": "The type of build environment to use for related builds.\n\n> If you're using compute fleets during project creation, `type` will be ignored. \n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* .", - "title": "Type", - "type": "string" - } - }, - "required": [ - "ComputeType", - "Image", "Type" ], "type": "object" }, - "AWS::CodeBuild::Project.EnvironmentVariable": { + "AWS::CloudTrail::Dashboard.Frequency": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name or key of the environment variable.", - "title": "Name", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of environment variable. Valid values include:\n\n- `PARAMETER_STORE` : An environment variable stored in Systems Manager Parameter Store. For environment variables of this type, specify the name of the parameter as the `value` of the EnvironmentVariable. The parameter value will be substituted for the name at runtime. You can also define Parameter Store environment variables in the buildspec. To learn how to do so, see [env/parameter-store](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.parameter-store) in the *AWS CodeBuild User Guide* .\n- `PLAINTEXT` : An environment variable in plain text format. This is the default value.\n- `SECRETS_MANAGER` : An environment variable stored in AWS Secrets Manager . For environment variables of this type, specify the name of the secret as the `value` of the EnvironmentVariable. The secret value will be substituted for the name at runtime. You can also define AWS Secrets Manager environment variables in the buildspec. To learn how to do so, see [env/secrets-manager](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.secrets-manager) in the *AWS CodeBuild User Guide* .", - "title": "Type", + "Unit": { + "markdownDescription": "The unit to use for the refresh.\n\nFor custom dashboards, the unit can be `HOURS` or `DAYS` .\n\nFor the Highlights dashboard, the `Unit` must be `HOURS` .", + "title": "Unit", "type": "string" }, "Value": { - "markdownDescription": "The value of the environment variable.\n\n> We strongly discourage the use of `PLAINTEXT` environment variables to store sensitive values, especially AWS secret key IDs. `PLAINTEXT` environment variables can be displayed in plain text using the AWS CodeBuild console and the AWS CLI . For sensitive values, we recommend you use an environment variable of type `PARAMETER_STORE` or `SECRETS_MANAGER` .", + "markdownDescription": "The value for the refresh schedule.\n\nFor custom dashboards, the following values are valid when the unit is `HOURS` : `1` , `6` , `12` , `24`\n\nFor custom dashboards, the only valid value when the unit is `DAYS` is `1` .\n\nFor the Highlights dashboard, the `Value` must be `6` .", "title": "Value", - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.FilterGroup": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::CodeBuild::Project.GitSubmodulesConfig": { - "additionalProperties": false, - "properties": { - "FetchSubmodules": { - "markdownDescription": "Set to true to fetch Git submodules for your AWS CodeBuild build project.", - "title": "FetchSubmodules", - "type": "boolean" - } - }, - "required": [ - "FetchSubmodules" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.LogsConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::CodeBuild::Project.CloudWatchLogsConfig", - "markdownDescription": "Information about CloudWatch Logs for a build project. CloudWatch Logs are enabled by default.", - "title": "CloudWatchLogs" - }, - "S3Logs": { - "$ref": "#/definitions/AWS::CodeBuild::Project.S3LogsConfig", - "markdownDescription": "Information about logs built to an S3 bucket for a build project. S3 logs are not enabled by default.", - "title": "S3Logs" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { - "additionalProperties": false, - "properties": { - "BatchReportMode": { - "markdownDescription": "Specifies how build status reports are sent to the source provider for the batch build. This property is only used when the source provider for your project is Bitbucket, GitHub, or GitHub Enterprise, and your project is configured to report build statuses to the source provider.\n\n- **REPORT_AGGREGATED_BATCH** - (Default) Aggregate all of the build statuses into a single status report.\n- **REPORT_INDIVIDUAL_BUILDS** - Send a separate status report for each individual build.", - "title": "BatchReportMode", - "type": "string" - }, - "CombineArtifacts": { - "markdownDescription": "Specifies if the build artifacts for the batch build should be combined into a single artifact location.", - "title": "CombineArtifacts", - "type": "boolean" - }, - "Restrictions": { - "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions", - "markdownDescription": "A `BatchRestrictions` object that specifies the restrictions for the batch build.", - "title": "Restrictions" - }, - "ServiceRole": { - "markdownDescription": "Specifies the service role ARN for the batch build project.", - "title": "ServiceRole", - "type": "string" - }, - "TimeoutInMins": { - "markdownDescription": "Specifies the maximum amount of time, in minutes, that the batch build must be completed in.", - "title": "TimeoutInMins", "type": "number" } }, - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectCache": { - "additionalProperties": false, - "properties": { - "CacheNamespace": { - "markdownDescription": "Defines the scope of the cache. You can use this namespace to share a cache across multiple projects. For more information, see [Cache sharing between projects](https://docs.aws.amazon.com/codebuild/latest/userguide/caching-s3.html#caching-s3-sharing) in the *AWS CodeBuild User Guide* .", - "title": "CacheNamespace", - "type": "string" - }, - "Location": { - "markdownDescription": "Information about the cache location:\n\n- `NO_CACHE` or `LOCAL` : This value is ignored.\n- `S3` : This is the S3 bucket name/prefix.", - "title": "Location", - "type": "string" - }, - "Modes": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of strings that specify the local cache modes. You can use one or more local cache modes at the same time. This is only used for `LOCAL` cache types.\n\nPossible values are:\n\n- **LOCAL_SOURCE_CACHE** - Caches Git metadata for primary and secondary sources. After the cache is created, subsequent builds pull only the change between commits. This mode is a good choice for projects with a clean working directory and a source that is a large Git repository. If you choose this option and your project does not use a Git repository (GitHub, GitHub Enterprise, or Bitbucket), the option is ignored.\n- **LOCAL_DOCKER_LAYER_CACHE** - Caches existing Docker layers. This mode is a good choice for projects that build or pull large Docker images. It can prevent the performance issues caused by pulling large Docker images down from the network.\n\n> - You can use a Docker layer cache in the Linux environment only.\n> - The `privileged` flag must be set so that your project has the required Docker permissions.\n> - You should consider the security implications before you use a Docker layer cache.\n- **LOCAL_CUSTOM_CACHE** - Caches directories you specify in the buildspec file. This mode is a good choice if your build scenario is not suited to one of the other three local cache modes. If you use a custom cache:\n\n- Only directories can be specified for caching. You cannot specify individual files.\n- Symlinks are used to reference cached directories.\n- Cached directories are linked to your build before it downloads its project sources. Cached items are overridden if a source item has the same name. Directories are specified using cache paths in the buildspec file.", - "title": "Modes", - "type": "array" - }, - "Type": { - "markdownDescription": "The type of cache used by the build project. Valid values include:\n\n- `NO_CACHE` : The build project does not use any cache.\n- `S3` : The build project reads and writes from and to S3.\n- `LOCAL` : The build project stores a cache locally on a build host that is only available to that build host.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectFileSystemLocation": { - "additionalProperties": false, - "properties": { - "Identifier": { - "markdownDescription": "The name used to access a file system created by Amazon EFS. CodeBuild creates an environment variable by appending the `identifier` in all capital letters to `CODEBUILD_` . For example, if you specify `my_efs` for `identifier` , a new environment variable is create named `CODEBUILD_MY_EFS` .\n\nThe `identifier` is used to mount your file system.", - "title": "Identifier", - "type": "string" - }, - "Location": { - "markdownDescription": "A string that specifies the location of the file system created by Amazon EFS. Its format is `efs-dns-name:/directory-path` . You can find the DNS name of file system when you view it in the Amazon EFS console. The directory path is a path to a directory in the file system that CodeBuild mounts. For example, if the DNS name of a file system is `fs-abcd1234.efs.us-west-2.amazonaws.com` , and its mount directory is `my-efs-mount-directory` , then the `location` is `fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory` .\n\nThe directory path in the format `efs-dns-name:/directory-path` is optional. If you do not specify a directory path, the location is only the DNS name and CodeBuild mounts the entire file system.", - "title": "Location", - "type": "string" - }, - "MountOptions": { - "markdownDescription": "The mount options for a file system created by Amazon EFS. The default mount options used by CodeBuild are `nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2` . For more information, see [Recommended NFS Mount Options](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html) .", - "title": "MountOptions", - "type": "string" - }, - "MountPoint": { - "markdownDescription": "The location in the container where you mount the file system.", - "title": "MountPoint", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of the file system. The one supported type is `EFS` .", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Identifier", - "Location", - "MountPoint", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectFleet": { - "additionalProperties": false, - "properties": { - "FleetArn": { - "markdownDescription": "Specifies the compute fleet ARN for the build project.", - "title": "FleetArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectSourceVersion": { - "additionalProperties": false, - "properties": { - "SourceIdentifier": { - "markdownDescription": "An identifier for a source in the build project. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.", - "title": "SourceIdentifier", - "type": "string" - }, - "SourceVersion": { - "markdownDescription": "The source version for the corresponding source identifier. If specified, must be one of:\n\n- For CodeCommit: the commit ID, branch, or Git tag to use.\n- For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format `pr/pull-request-ID` (for example, `pr/25` ). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For GitLab: the commit ID, branch, or Git tag to use.\n- For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For Amazon S3: the version ID of the object that represents the build input ZIP file to use.\n\nFor more information, see [Source Version Sample with CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) in the *AWS CodeBuild User Guide* .", - "title": "SourceVersion", - "type": "string" - } - }, - "required": [ - "SourceIdentifier" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectTriggers": { - "additionalProperties": false, - "properties": { - "BuildType": { - "markdownDescription": "Specifies the type of build this webhook will trigger. Allowed values are:\n\n- **BUILD** - A single build\n- **BUILD_BATCH** - A batch build", - "title": "BuildType", - "type": "string" - }, - "FilterGroups": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.FilterGroup" - }, - "markdownDescription": "A list of lists of `WebhookFilter` objects used to determine which webhook events are triggered. At least one `WebhookFilter` in the array must specify `EVENT` as its type.", - "title": "FilterGroups", - "type": "array" - }, - "PullRequestBuildPolicy": { - "$ref": "#/definitions/AWS::CodeBuild::Project.PullRequestBuildPolicy" - }, - "ScopeConfiguration": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ScopeConfiguration", - "markdownDescription": "Contains configuration information about the scope for a webhook.", - "title": "ScopeConfiguration" - }, - "Webhook": { - "markdownDescription": "Specifies whether or not to begin automatically rebuilding the source code every time a code change is pushed to the repository.", - "title": "Webhook", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.PullRequestBuildPolicy": { - "additionalProperties": false, - "properties": { - "ApproverRoles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RequiresCommentApproval": { - "type": "string" - } - }, - "required": [ - "RequiresCommentApproval" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.RegistryCredential": { - "additionalProperties": false, - "properties": { - "Credential": { - "markdownDescription": "The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets Manager .\n\n> The `credential` can use the name of the credentials only if they exist in your current AWS Region .", - "title": "Credential", - "type": "string" - }, - "CredentialProvider": { - "markdownDescription": "The service that created the credentials to access a private Docker registry. The valid value, SECRETS_MANAGER, is for AWS Secrets Manager .", - "title": "CredentialProvider", - "type": "string" - } - }, "required": [ - "Credential", - "CredentialProvider" + "Unit", + "Value" ], "type": "object" }, - "AWS::CodeBuild::Project.S3LogsConfig": { + "AWS::CloudTrail::Dashboard.RefreshSchedule": { "additionalProperties": false, "properties": { - "EncryptionDisabled": { - "markdownDescription": "Set to true if you do not want your S3 build log output encrypted. By default S3 build logs are encrypted.", - "title": "EncryptionDisabled", - "type": "boolean" - }, - "Location": { - "markdownDescription": "The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 bucket name is `my-bucket` , and your path prefix is `build-log` , then acceptable formats are `my-bucket/build-log` or `arn:aws:s3:::my-bucket/build-log` .", - "title": "Location", - "type": "string" + "Frequency": { + "$ref": "#/definitions/AWS::CloudTrail::Dashboard.Frequency", + "markdownDescription": "The frequency at which you want the dashboard refreshed.", + "title": "Frequency" }, "Status": { - "markdownDescription": "The current status of the S3 build logs. Valid values are:\n\n- `ENABLED` : S3 build logs are enabled for this build project.\n- `DISABLED` : S3 build logs are not enabled for this build project.", + "markdownDescription": "Specifies whether the refresh schedule is enabled. Set the value to `ENABLED` to enable the refresh schedule, or to `DISABLED` to turn off the refresh schedule.", "title": "Status", "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ScopeConfiguration": { - "additionalProperties": false, - "properties": { - "Domain": { - "markdownDescription": "The domain of the GitHub Enterprise organization or the GitLab Self Managed group. Note that this parameter is only required if your project's source type is GITHUB_ENTERPRISE or GITLAB_SELF_MANAGED.", - "title": "Domain", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of either the enterprise or organization that will send webhook events to CodeBuild , depending on if the webhook is a global or organization webhook respectively.", - "title": "Name", - "type": "string" - }, - "Scope": { - "markdownDescription": "The type of scope for a GitHub or GitLab webhook. The scope default is GITHUB_ORGANIZATION.", - "title": "Scope", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Source": { - "additionalProperties": false, - "properties": { - "Auth": { - "$ref": "#/definitions/AWS::CodeBuild::Project.SourceAuth", - "markdownDescription": "Information about the authorization settings for AWS CodeBuild to access the source code to be built.", - "title": "Auth" - }, - "BuildSpec": { - "markdownDescription": "The build specification for the project. If this value is not provided, then the source code must contain a buildspec file named `buildspec.yml` at the root level. If this value is provided, it can be either a single string containing the entire build specification, or the path to an alternate buildspec file relative to the value of the built-in environment variable `CODEBUILD_SRC_DIR` . The alternate buildspec file can have a name other than `buildspec.yml` , for example `myspec.yml` or `build_spec_qa.yml` or similar. For more information, see the [Build Spec Reference](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-example) in the *AWS CodeBuild User Guide* .", - "title": "BuildSpec", - "type": "string" - }, - "BuildStatusConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig", - "markdownDescription": "Contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is `GITHUB` , `GITHUB_ENTERPRISE` , or `BITBUCKET` .", - "title": "BuildStatusConfig" - }, - "GitCloneDepth": { - "markdownDescription": "The depth of history to download. Minimum value is 0. If this value is 0, greater than 25, or not provided, then the full history is downloaded with each build project. If your source type is Amazon S3, this value is not supported.", - "title": "GitCloneDepth", - "type": "number" - }, - "GitSubmodulesConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig", - "markdownDescription": "Information about the Git submodules configuration for the build project.", - "title": "GitSubmodulesConfig" - }, - "InsecureSsl": { - "markdownDescription": "This is used with GitHub Enterprise only. Set to true to ignore SSL warnings while connecting to your GitHub Enterprise project repository. The default value is `false` . `InsecureSsl` should be used for testing purposes only. It should not be used in a production environment.", - "title": "InsecureSsl", - "type": "boolean" - }, - "Location": { - "markdownDescription": "Information about the location of the source code to be built. Valid values include:\n\n- For source code settings that are specified in the source action of a pipeline in CodePipeline, `location` should not be specified. If it is specified, CodePipeline ignores it. This is because CodePipeline uses the settings in a pipeline's source action instead of this value.\n- For source code in an CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the buildspec file (for example, `https://git-codecommit..amazonaws.com/v1/repos/` ).\n- For source code in an Amazon S3 input bucket, one of the following.\n\n- The path to the ZIP file that contains the source code (for example, `//.zip` ).\n- The path to the folder that contains the source code (for example, `///` ).\n- For source code in a GitHub repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your AWS account to your GitHub account. Use the AWS CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with GitHub, on the GitHub *Authorize application* page, for *Organization access* , choose *Request access* next to each repository you want to allow AWS CodeBuild to have access to, and then choose *Authorize application* . (After you have connected to your GitHub account, you do not need to finish creating the build project. You can leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this connection, in the `source` object, set the `auth` object's `type` value to `OAUTH` .\n- For source code in an GitLab or self-managed GitLab repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your AWS account to your GitLab account. Use the AWS CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with GitLab, on the Connections *Authorize application* page, choose *Authorize* . Then on the AWS CodeConnections *Create GitLab connection* page, choose *Connect to GitLab* . (After you have connected to your GitLab account, you do not need to finish creating the build project. You can leave the AWS CodeBuild console.) To instruct AWS CodeBuild to override the default connection and use this connection instead, set the `auth` object's `type` value to `CODECONNECTIONS` in the `source` object.\n- For source code in a Bitbucket repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your AWS account to your Bitbucket account. Use the AWS CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with Bitbucket, on the Bitbucket *Confirm access to your account* page, choose *Grant access* . (After you have connected to your Bitbucket account, you do not need to finish creating the build project. You can leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this connection, in the `source` object, set the `auth` object's `type` value to `OAUTH` .\n\nIf you specify `CODEPIPELINE` for the `Type` property, don't specify this property. For all of the other types, you must specify `Location` .", - "title": "Location", - "type": "string" - }, - "ReportBuildStatus": { - "markdownDescription": "Set to true to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. If this is set and you use a different source provider, an `invalidInputException` is thrown.", - "title": "ReportBuildStatus", - "type": "boolean" - }, - "SourceIdentifier": { - "markdownDescription": "An identifier for this project source. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.", - "title": "SourceIdentifier", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of repository that contains the source code to be built. Valid values include:\n\n- `BITBUCKET` : The source code is in a Bitbucket repository.\n- `CODECOMMIT` : The source code is in an CodeCommit repository.\n- `CODEPIPELINE` : The source code settings are specified in the source action of a pipeline in CodePipeline.\n- `GITHUB` : The source code is in a GitHub repository.\n- `GITHUB_ENTERPRISE` : The source code is in a GitHub Enterprise Server repository.\n- `GITLAB` : The source code is in a GitLab repository.\n- `GITLAB_SELF_MANAGED` : The source code is in a self-managed GitLab repository.\n- `NO_SOURCE` : The project does not have input source code.\n- `S3` : The source code is in an Amazon S3 bucket.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.SourceAuth": { - "additionalProperties": false, - "properties": { - "Resource": { - "markdownDescription": "The resource value that applies to the specified authorization type.", - "title": "Resource", - "type": "string" }, - "Type": { - "markdownDescription": "The authorization type to use. Valid options are OAUTH, CODECONNECTIONS, or SECRETS_MANAGER.", - "title": "Type", + "TimeOfDay": { + "markdownDescription": "The time of day in UTC to run the schedule; for hourly only refer to minutes; default is 00:00.", + "title": "TimeOfDay", "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::CodeBuild::Project.VpcConfig": { + "AWS::CloudTrail::Dashboard.Widget": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of one or more security groups IDs in your Amazon VPC. The maximum count is 5.", - "title": "SecurityGroupIds", - "type": "array" - }, - "Subnets": { + "QueryParameters": { "items": { "type": "string" }, - "markdownDescription": "A list of one or more subnet IDs in your Amazon VPC. The maximum count is 16.", - "title": "Subnets", + "markdownDescription": "The optional query parameters. The following query parameters are valid: `$StartTime$` , `$EndTime$` , and `$Period$` .", + "title": "QueryParameters", "type": "array" }, - "VpcId": { - "markdownDescription": "The ID of the Amazon VPC.", - "title": "VpcId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.WebhookFilter": { - "additionalProperties": false, - "properties": { - "ExcludeMatchedPattern": { - "markdownDescription": "Used to indicate that the `pattern` determines which webhook events do not trigger a build. If true, then a webhook event that does not match the `pattern` triggers a build. If false, then a webhook event that matches the `pattern` triggers a build.", - "title": "ExcludeMatchedPattern", - "type": "boolean" - }, - "Pattern": { - "markdownDescription": "For a `WebHookFilter` that uses `EVENT` type, a comma-separated string that specifies one or more events. For example, the webhook filter `PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED` allows all push, pull request created, and pull request updated events to trigger a build.\n\nFor a `WebHookFilter` that uses any of the other filter types, a regular expression pattern. For example, a `WebHookFilter` that uses `HEAD_REF` for its `type` and the pattern `^refs/heads/` triggers a build when the head reference is a branch with a reference name `refs/heads/branch-name` .", - "title": "Pattern", + "QueryStatement": { + "markdownDescription": "The query statement for the widget. For custom dashboard widgets, you can query across multiple event data stores as long as all event data stores exist in your account.\n\n> When a query uses `?` with `eventTime` , `?` must be surrounded by single quotes as follows: `'?'` .", + "title": "QueryStatement", "type": "string" }, - "Type": { - "markdownDescription": "The type of webhook filter. There are 11 webhook filter types: `EVENT` , `ACTOR_ACCOUNT_ID` , `HEAD_REF` , `BASE_REF` , `FILE_PATH` , `COMMIT_MESSAGE` , `TAG_NAME` , `RELEASE_NAME` , `REPOSITORY_NAME` , `ORGANIZATION_NAME` , and `WORKFLOW_NAME` .\n\n- EVENT\n\n- A webhook event triggers a build when the provided `pattern` matches one of nine event types: `PUSH` , `PULL_REQUEST_CREATED` , `PULL_REQUEST_UPDATED` , `PULL_REQUEST_CLOSED` , `PULL_REQUEST_REOPENED` , `PULL_REQUEST_MERGED` , `RELEASED` , `PRERELEASED` , and `WORKFLOW_JOB_QUEUED` . The `EVENT` patterns are specified as a comma-separated string. For example, `PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED` filters all push, pull request created, and pull request updated events.\n\n> Types `PULL_REQUEST_REOPENED` and `WORKFLOW_JOB_QUEUED` work with GitHub and GitHub Enterprise only. Types `RELEASED` and `PRERELEASED` work with GitHub only.\n- ACTOR_ACCOUNT_ID\n\n- A webhook event triggers a build when a GitHub, GitHub Enterprise, or Bitbucket account ID matches the regular expression `pattern` .\n- HEAD_REF\n\n- A webhook event triggers a build when the head reference matches the regular expression `pattern` . For example, `refs/heads/branch-name` and `refs/tags/tag-name` .\n\n> Works with GitHub and GitHub Enterprise push, GitHub and GitHub Enterprise pull request, Bitbucket push, and Bitbucket pull request events.\n- BASE_REF\n\n- A webhook event triggers a build when the base reference matches the regular expression `pattern` . For example, `refs/heads/branch-name` .\n\n> Works with pull request events only.\n- FILE_PATH\n\n- A webhook triggers a build when the path of a changed file matches the regular expression `pattern` .\n\n> Works with push and pull request events only.\n- COMMIT_MESSAGE\n\n- A webhook triggers a build when the head commit message matches the regular expression `pattern` .\n\n> Works with push and pull request events only.\n- TAG_NAME\n\n- A webhook triggers a build when the tag name of the release matches the regular expression `pattern` .\n\n> Works with `RELEASED` and `PRERELEASED` events only.\n- RELEASE_NAME\n\n- A webhook triggers a build when the release name matches the regular expression `pattern` .\n\n> Works with `RELEASED` and `PRERELEASED` events only.\n- REPOSITORY_NAME\n\n- A webhook triggers a build when the repository name matches the regular expression `pattern` .\n\n> Works with GitHub global or organization webhooks only.\n- ORGANIZATION_NAME\n\n- A webhook triggers a build when the organization name matches the regular expression `pattern` .\n\n> Works with GitHub global webhooks only.\n- WORKFLOW_NAME\n\n- A webhook triggers a build when the workflow name matches the regular expression `pattern` .\n\n> Works with `WORKFLOW_JOB_QUEUED` events only. > For CodeBuild-hosted Buildkite runner builds, WORKFLOW_NAME filters will filter by pipeline name.", - "title": "Type", - "type": "string" + "ViewProperties": { + "additionalProperties": true, + "markdownDescription": "The view properties for the widget. For more information about view properties, see [View properties for widgets](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-widget-properties.html) in the *AWS CloudTrail User Guide* .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ViewProperties", + "type": "object" } }, "required": [ - "Pattern", - "Type" + "QueryStatement" ], "type": "object" }, - "AWS::CodeBuild::ReportGroup": { + "AWS::CloudTrail::EventDataStore": { "additionalProperties": false, "properties": { "Condition": { @@ -77099,44 +77644,104 @@ "Properties": { "additionalProperties": false, "properties": { - "DeleteReports": { - "markdownDescription": "When deleting a report group, specifies if reports within the report group should be deleted.\n\n- **true** - Deletes any reports that belong to the report group before deleting the report group.\n- **false** - You must delete any reports in the report group. This is the default value. If you delete a report group that contains one or more reports, an exception is thrown.", - "title": "DeleteReports", + "AdvancedEventSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.AdvancedEventSelector" + }, + "markdownDescription": "The advanced event selectors to use to select the events for the data store. You can configure up to five advanced event selectors for each event data store.\n\nFor more information about how to use advanced event selectors to log CloudTrail events, see [Log events by using advanced event selectors](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced) in the CloudTrail User Guide.\n\nFor more information about how to use advanced event selectors to include AWS Config configuration items in your event data store, see [Create an event data store for AWS Config configuration items](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-eds-cli.html#lake-cli-create-eds-config) in the CloudTrail User Guide.\n\nFor more information about how to use advanced event selectors to include events outside of AWS events in your event data store, see [Create an integration to log events from outside AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/lake-integrations-cli.html#lake-cli-create-integration) in the CloudTrail User Guide.", + "title": "AdvancedEventSelectors", + "type": "array" + }, + "BillingMode": { + "markdownDescription": "The billing mode for the event data store determines the cost for ingesting events and the default and maximum retention period for the event data store.\n\nThe following are the possible values:\n\n- `EXTENDABLE_RETENTION_PRICING` - This billing mode is generally recommended if you want a flexible retention period of up to 3653 days (about 10 years). The default retention period for this billing mode is 366 days.\n- `FIXED_RETENTION_PRICING` - This billing mode is recommended if you expect to ingest more than 25 TB of event data per month and need a retention period of up to 2557 days (about 7 years). The default retention period for this billing mode is 2557 days.\n\nThe default value is `EXTENDABLE_RETENTION_PRICING` .\n\nFor more information about CloudTrail pricing, see [AWS CloudTrail Pricing](https://docs.aws.amazon.com/cloudtrail/pricing/) and [Managing CloudTrail Lake costs](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html) .", + "title": "BillingMode", + "type": "string" + }, + "ContextKeySelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.ContextKeySelector" + }, + "markdownDescription": "The list of context key selectors that are configured for the event data store.", + "title": "ContextKeySelectors", + "type": "array" + }, + "FederationEnabled": { + "markdownDescription": "Indicates if [Lake query federation](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-federation.html) is enabled. By default, Lake query federation is disabled. You cannot delete an event data store if Lake query federation is enabled.", + "title": "FederationEnabled", "type": "boolean" }, - "ExportConfig": { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.ReportExportConfig", - "markdownDescription": "Information about the destination where the raw data of this `ReportGroup` is exported.", - "title": "ExportConfig" + "FederationRoleArn": { + "markdownDescription": "If Lake query federation is enabled, provides the ARN of the federation role used to access the resources for the federated event data store.\n\nThe federation role must exist in your account and provide the [required minimum permissions](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-federation.html#query-federation-permissions-role) .", + "title": "FederationRoleArn", + "type": "string" + }, + "IngestionEnabled": { + "markdownDescription": "Specifies whether the event data store should start ingesting live events. The default is true.", + "title": "IngestionEnabled", + "type": "boolean" + }, + "InsightSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.InsightSelector" + }, + "markdownDescription": "A JSON string that contains the Insights types you want to log on an event data store. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", + "title": "InsightSelectors", + "type": "array" + }, + "InsightsDestination": { + "markdownDescription": "The ARN (or ID suffix of the ARN) of the destination event data store that logs Insights events. For more information, see [Create an event data store for CloudTrail Insights events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-insights.html) .", + "title": "InsightsDestination", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "Specifies the AWS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by `alias/` , a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.\n\n> Disabling or deleting the KMS key, or removing CloudTrail permissions on the key, prevents CloudTrail from logging events to the event data store, and prevents users from querying the data in the event data store that was encrypted with the key. After you associate an event data store with a KMS key, the KMS key cannot be removed or changed. Before you disable or delete a KMS key that you are using with an event data store, delete or back up your event data store. \n\nCloudTrail also supports AWS multi-Region keys. For more information about multi-Region keys, see [Using multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *AWS Key Management Service Developer Guide* .\n\nExamples:\n\n- `alias/MyAliasName`\n- `arn:aws:kms:us-east-2:123456789012:alias/MyAliasName`\n- `arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012`\n- `12345678-1234-1234-1234-123456789012`", + "title": "KmsKeyId", + "type": "string" + }, + "MaxEventSize": { + "markdownDescription": "The maximum allowed size for events to be stored in the specified event data store. If you are using context key selectors, MaxEventSize must be set to Large.", + "title": "MaxEventSize", + "type": "string" + }, + "MultiRegionEnabled": { + "markdownDescription": "Specifies whether the event data store includes events from all Regions, or only from the Region in which the event data store is created.", + "title": "MultiRegionEnabled", + "type": "boolean" }, "Name": { - "markdownDescription": "The name of the `ReportGroup` .", + "markdownDescription": "The name of the event data store.", "title": "Name", "type": "string" }, + "OrganizationEnabled": { + "markdownDescription": "Specifies whether an event data store collects events logged for an organization in AWS Organizations .", + "title": "OrganizationEnabled", + "type": "boolean" + }, + "RetentionPeriod": { + "markdownDescription": "The retention period of the event data store, in days. If `BillingMode` is set to `EXTENDABLE_RETENTION_PRICING` , you can set a retention period of up to 3653 days, the equivalent of 10 years. If `BillingMode` is set to `FIXED_RETENTION_PRICING` , you can set a retention period of up to 2557 days, the equivalent of seven years.\n\nCloudTrail Lake determines whether to retain an event by checking if the `eventTime` of the event is within the specified retention period. For example, if you set a retention period of 90 days, CloudTrail will remove events when the `eventTime` is older than 90 days.\n\n> If you plan to copy trail events to this event data store, we recommend that you consider both the age of the events that you want to copy as well as how long you want to keep the copied events in your event data store. For example, if you copy trail events that are 5 years old and specify a retention period of 7 years, the event data store will retain those events for two years.", + "title": "RetentionPeriod", + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of tag key and value pairs associated with this report group.\n\nThese tags are available for use by AWS services that support AWS CodeBuild report group tags.", + "markdownDescription": "A list of tags.", "title": "Tags", "type": "array" }, - "Type": { - "markdownDescription": "The type of the `ReportGroup` . This can be one of the following values:\n\n- **CODE_COVERAGE** - The report group contains code coverage reports.\n- **TEST** - The report group contains test reports.", - "title": "Type", - "type": "string" + "TerminationProtectionEnabled": { + "markdownDescription": "Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled.", + "title": "TerminationProtectionEnabled", + "type": "boolean" } }, - "required": [ - "ExportConfig", - "Type" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeBuild::ReportGroup" + "AWS::CloudTrail::EventDataStore" ], "type": "string" }, @@ -77150,70 +77755,129 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::CodeBuild::ReportGroup.ReportExportConfig": { + "AWS::CloudTrail::EventDataStore.AdvancedEventSelector": { "additionalProperties": false, "properties": { - "ExportConfigType": { - "markdownDescription": "The export configuration type. Valid values are:\n\n- `S3` : The report results are exported to an S3 bucket.\n- `NO_EXPORT` : The report results are not exported.", - "title": "ExportConfigType", - "type": "string" + "FieldSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.AdvancedFieldSelector" + }, + "markdownDescription": "Contains all selector statements in an advanced event selector.", + "title": "FieldSelectors", + "type": "array" }, - "S3Destination": { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.S3ReportExportConfig", - "markdownDescription": "A `S3ReportExportConfig` object that contains information about the S3 bucket where the run of a report is exported.", - "title": "S3Destination" + "Name": { + "markdownDescription": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".", + "title": "Name", + "type": "string" } }, "required": [ - "ExportConfigType" + "FieldSelectors" ], "type": "object" }, - "AWS::CodeBuild::ReportGroup.S3ReportExportConfig": { + "AWS::CloudTrail::EventDataStore.AdvancedFieldSelector": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the S3 bucket where the raw data of a report are exported.", - "title": "Bucket", - "type": "string" + "EndsWith": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that includes events that match the last few characters of the event record field specified as the value of `Field` .", + "title": "EndsWith", + "type": "array" }, - "BucketOwner": { - "markdownDescription": "The AWS account identifier of the owner of the Amazon S3 bucket. This allows report data to be exported to an Amazon S3 bucket that is owned by an account other than the account running the build.", - "title": "BucketOwner", + "Equals": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that includes events that match the exact value of the event record field specified as the value of `Field` . This is the only valid operator that you can use with the `readOnly` , `eventCategory` , and `resources.type` fields.", + "title": "Equals", + "type": "array" + }, + "Field": { + "markdownDescription": "A field in a CloudTrail event record on which to filter events to be logged. For event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the field is used only for selecting events as filtering is not supported.\n\nFor CloudTrail management events, supported fields include `eventCategory` (required), `eventSource` , and `readOnly` . The following additional fields are available for event data stores: `eventName` , `eventType` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail data events, supported fields include `eventCategory` (required), `eventName` , `eventSource` , `eventType` , `resources.type` (required), `readOnly` , `resources.ARN` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail network activity events, supported fields include `eventCategory` (required), `eventSource` (required), `eventName` , `errorCode` , and `vpcEndpointId` .\n\nFor event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the only supported field is `eventCategory` .\n\n> Selectors don't support the use of wildcards like `*` . To match multiple values with a single condition, you may use `StartsWith` , `EndsWith` , `NotStartsWith` , or `NotEndsWith` to explicitly match the beginning or end of the event field. \n\n- *`readOnly`* - This is an optional field that is only used for management events and data events. This field can be set to `Equals` with a value of `true` or `false` . If you do not add this field, CloudTrail logs both `read` and `write` events. A value of `true` logs only `read` events. A value of `false` logs only `write` events.\n- *`eventSource`* - This field is only used for management events, data events, and network activity events.\n\nFor management events for trails, this is an optional field that can be set to `NotEquals` `kms.amazonaws.com` to exclude KMS management events, or `NotEquals` `rdsdata.amazonaws.com` to exclude RDS management events.\n\nFor data events for trails, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor management and data events for event data stores, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor network activity events, this is a required field that only uses the `Equals` operator. Set this field to the event source for which you want to log network activity events. If you want to log network activity events for multiple event sources, you must create a separate field selector for each event source. For a list of services supporting network activity events, see [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .\n- *`eventName`* - This is an optional field that is only used for data events, management events (for event data stores only), and network activity events. You can use any operator with `eventName` . You can use it to \ufb01lter in or \ufb01lter out specific events. You can have multiple values for this \ufb01eld, separated by commas.\n- *`eventCategory`* - This field is required and must be set to `Equals` .\n\n- For CloudTrail management events, the value must be `Management` .\n- For CloudTrail data events, the value must be `Data` .\n- For CloudTrail network activity events, the value must be `NetworkActivity` .\n\nThe following are used only for event data stores:\n\n- For CloudTrail Insights events, the value must be `Insight` .\n- For AWS Config configuration items, the value must be `ConfigurationItem` .\n- For Audit Manager evidence, the value must be `Evidence` .\n- For events outside of AWS , the value must be `ActivityAuditLog` .\n- *`eventType`* - For event data stores, this is an optional field available for event data stores to filter management and data events on the event type. For trails, this is an optional field to filter data events on the event type. For information about available event types, see [CloudTrail record contents](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html#ct-event-type) in the *AWS CloudTrail user guide* .\n- *`errorCode`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This is the error code to filter on. Currently, the only valid `errorCode` is `VpceAccessDenied` . `errorCode` can only use the `Equals` operator.\n- *`sessionCredentialFromConsole`* - For event data stores, this is an optional field used to filter management and data events based on whether the events originated from an AWS Management Console session. For trails, this is an optional field used to filter data events. `sessionCredentialFromConsole` can only use the `Equals` and `NotEquals` operators.\n- *`resources.type`* - This \ufb01eld is required for CloudTrail data events. `resources.type` can only use the `Equals` operator.\n\nFor a list of available resource types for data events, see [Data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) in the *AWS CloudTrail User Guide* .\n\nYou can have only one `resources.type` \ufb01eld per selector. To log events on more than one resource type, add another selector.\n- *`resources.ARN`* - The `resources.ARN` is an optional field for data events. You can use any operator with `resources.ARN` , but if you use `Equals` or `NotEquals` , the value must exactly match the ARN of a valid resource of the type you've speci\ufb01ed in the template as the value of resources.type. To log all data events for all objects in a specific S3 bucket, use the `StartsWith` operator, and include only the bucket ARN as the matching value.\n\nFor more information about the ARN formats of data event resources, see [Actions, resources, and condition keys for AWS services](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) in the *Service Authorization Reference* .\n\n> You can't use the `resources.ARN` field to filter resource types that do not have ARNs.\n- *`userIdentity.arn`* - For event data stores, this is an optional field used to filter management and data events for actions taken by specific IAM identities. For trails, this is an optional field used to filter data events. You can use any operator with `userIdentity.arn` . For more information on the userIdentity element, see [CloudTrail userIdentity element](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html) in the *AWS CloudTrail User Guide* .\n- *`vpcEndpointId`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This field identifies the VPC endpoint that the request passed through. You can use any operator with `vpcEndpointId` .", + "title": "Field", "type": "string" }, - "EncryptionDisabled": { - "markdownDescription": "A boolean value that specifies if the results of a report are encrypted.", - "title": "EncryptionDisabled", - "type": "boolean" + "NotEndsWith": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that excludes events that match the last few characters of the event record field specified as the value of `Field` .", + "title": "NotEndsWith", + "type": "array" }, - "EncryptionKey": { - "markdownDescription": "The encryption key for the report's encrypted raw data.", - "title": "EncryptionKey", - "type": "string" + "NotEquals": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that excludes events that match the exact value of the event record field specified as the value of `Field` .", + "title": "NotEquals", + "type": "array" }, - "Packaging": { - "markdownDescription": "The type of build output artifact to create. Valid values include:\n\n- `NONE` : CodeBuild creates the raw data in the output bucket. This is the default if packaging is not specified.\n- `ZIP` : CodeBuild creates a ZIP file with the raw data in the output bucket.", - "title": "Packaging", - "type": "string" + "NotStartsWith": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that excludes events that match the first few characters of the event record field specified as the value of `Field` .", + "title": "NotStartsWith", + "type": "array" }, - "Path": { - "markdownDescription": "The path to the exported report's raw data results.", - "title": "Path", + "StartsWith": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that includes events that match the first few characters of the event record field specified as the value of `Field` .", + "title": "StartsWith", + "type": "array" + } + }, + "required": [ + "Field" + ], + "type": "object" + }, + "AWS::CloudTrail::EventDataStore.ContextKeySelector": { + "additionalProperties": false, + "properties": { + "Equals": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of keys defined by Type to be included in CloudTrail enriched events.", + "title": "Equals", + "type": "array" + }, + "Type": { + "markdownDescription": "Specifies the type of the event record field in ContextKeySelector. Valid values include RequestContext, TagContext.", + "title": "Type", "type": "string" } }, "required": [ - "Bucket" + "Equals", + "Type" ], "type": "object" }, - "AWS::CodeBuild::Sandbox": { + "AWS::CloudTrail::EventDataStore.InsightSelector": { + "additionalProperties": false, + "properties": { + "InsightType": { + "markdownDescription": "The type of Insights events to log on an event data store. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", + "title": "InsightType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudTrail::ResourcePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -77248,15 +77912,26 @@ "Properties": { "additionalProperties": false, "properties": { - "ProjectName": { + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the CloudTrail event data store, dashboard, or channel attached to the resource-based policy.\n\nExample event data store ARN format: `arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE`\n\nExample dashboard ARN format: `arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDash`\n\nExample channel ARN format: `arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890`", + "title": "ResourceArn", "type": "string" + }, + "ResourcePolicy": { + "markdownDescription": "A JSON-formatted string for an AWS resource-based policy.\n\nFor example resource-based policies, see [CloudTrail resource-based policy examples](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/security_iam_resource-based-policy-examples.html) in the *CloudTrail User Guide* .", + "title": "ResourcePolicy", + "type": "object" } }, + "required": [ + "ResourceArn", + "ResourcePolicy" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeBuild::Sandbox" + "AWS::CloudTrail::ResourcePolicy" ], "type": "string" }, @@ -77270,11 +77945,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CodeBuild::SourceCredential": { + "AWS::CloudTrail::Trail": { "additionalProperties": false, "properties": { "Condition": { @@ -77309,135 +77985,116 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthType": { - "markdownDescription": "The type of authentication used by the credentials. Valid options are OAUTH, BASIC_AUTH, PERSONAL_ACCESS_TOKEN, CODECONNECTIONS, or SECRETS_MANAGER.", - "title": "AuthType", - "type": "string" - }, - "ServerType": { - "markdownDescription": "The type of source provider. The valid options are GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, or BITBUCKET.", - "title": "ServerType", - "type": "string" + "AdvancedEventSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.AdvancedEventSelector" + }, + "markdownDescription": "Specifies the settings for advanced event selectors. You can use advanced event selectors to log management events, data events for all resource types, and network activity events.\n\nYou can add advanced event selectors, and conditions for your advanced event selectors, up to a maximum of 500 values for all conditions and selectors on a trail. You can use either `AdvancedEventSelectors` or `EventSelectors` , but not both. If you apply `AdvancedEventSelectors` to a trail, any existing `EventSelectors` are overwritten. For more information about advanced event selectors, see [Logging data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) and [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .", + "title": "AdvancedEventSelectors", + "type": "array" }, - "Token": { - "markdownDescription": "For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket, this is either the access token or the app password. For the `authType` CODECONNECTIONS, this is the `connectionArn` . For the `authType` SECRETS_MANAGER, this is the `secretArn` .", - "title": "Token", - "type": "string" + "AggregationConfigurations": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.AggregationConfiguration" + }, + "markdownDescription": "", + "title": "AggregationConfigurations", + "type": "array" }, - "Username": { - "markdownDescription": "The Bitbucket username when the `authType` is BASIC_AUTH. This parameter is not valid for other types of source providers or connections.", - "title": "Username", + "CloudWatchLogsLogGroupArn": { + "markdownDescription": "Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs are delivered. You must use a log group that exists in your account.\n\nTo enable CloudWatch Logs delivery, you must provide values for `CloudWatchLogsLogGroupArn` and `CloudWatchLogsRoleArn` .\n\n> If you previously enabled CloudWatch Logs delivery and want to disable CloudWatch Logs delivery, you must set the values of the `CloudWatchLogsRoleArn` and `CloudWatchLogsLogGroupArn` fields to `\"\"` .", + "title": "CloudWatchLogsLogGroupArn", "type": "string" - } - }, - "required": [ - "AuthType", - "ServerType", - "Token" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::SourceCredential" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "CloudWatchLogsRoleArn": { + "markdownDescription": "Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group. You must use a role that exists in your account.\n\nTo enable CloudWatch Logs delivery, you must provide values for `CloudWatchLogsLogGroupArn` and `CloudWatchLogsRoleArn` .\n\n> If you previously enabled CloudWatch Logs delivery and want to disable CloudWatch Logs delivery, you must set the values of the `CloudWatchLogsRoleArn` and `CloudWatchLogsLogGroupArn` fields to `\"\"` .", + "title": "CloudWatchLogsRoleArn", "type": "string" }, - { + "EnableLogFileValidation": { + "markdownDescription": "Specifies whether log file validation is enabled. The default is false.\n\n> When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail does not create digest files for log files that were delivered during a period in which log file integrity validation was disabled. For example, if you enable log file integrity validation at noon on January 1, disable it at noon on January 2, and re-enable it at noon on January 10, digest files will not be created for the log files delivered from noon on January 2 to noon on January 10. The same applies whenever you stop CloudTrail logging or delete a trail.", + "title": "EnableLogFileValidation", + "type": "boolean" + }, + "EventSelectors": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" }, + "markdownDescription": "Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.\n\nYou can configure up to five event selectors for a trail.\n\nYou cannot apply both event selectors and advanced event selectors to a trail.", + "title": "EventSelectors", "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.Code", - "markdownDescription": "Information about code to be committed to a repository after it is created in an AWS CloudFormation stack. Information about code is only used in resource creation. Updates to a stack will not reflect changes made to code properties after initial resource creation.\n\n> You can only use this property to add code when creating a repository with a CloudFormation template at creation time. This property cannot be used for updating code to an existing repository.", - "title": "Code" }, - "KmsKeyId": { - "markdownDescription": "The ID of the AWS Key Management Service encryption key used to encrypt and decrypt the repository.\n\n> The input can be the full ARN, the key ID, or the key alias. For more information, see [Finding the key ID and key ARN](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html) .", - "title": "KmsKeyId", + "IncludeGlobalServiceEvents": { + "markdownDescription": "Specifies whether the trail is publishing events from global services such as IAM to the log files.", + "title": "IncludeGlobalServiceEvents", + "type": "boolean" + }, + "InsightSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.InsightSelector" + }, + "markdownDescription": "A JSON string that contains the Insights types you want to log on a trail. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", + "title": "InsightSelectors", + "type": "array" + }, + "IsLogging": { + "markdownDescription": "Whether the CloudTrail trail is currently logging AWS API calls.", + "title": "IsLogging", + "type": "boolean" + }, + "IsMultiRegionTrail": { + "markdownDescription": "Specifies whether the trail applies only to the current Region or to all Regions. The default is false. If the trail exists only in the current Region and this value is set to true, shadow trails (replications of the trail) will be created in the other Regions. If the trail exists in all Regions and this value is set to false, the trail will remain in the Region where it was created, and its shadow trails in other Regions will be deleted. As a best practice, consider using trails that log events in all Regions.", + "title": "IsMultiRegionTrail", + "type": "boolean" + }, + "IsOrganizationTrail": { + "markdownDescription": "Specifies whether the trail is applied to all accounts in an organization in AWS Organizations , or only for the current AWS account . The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the management account for an organization in AWS Organizations . If the trail is not an organization trail and this is set to `true` , the trail will be created in all AWS accounts that belong to the organization. If the trail is an organization trail and this is set to `false` , the trail will remain in the current AWS account but be deleted from all member accounts in the organization.\n\n> Only the management account for the organization can convert an organization trail to a non-organization trail, or convert a non-organization trail to an organization trail.", + "title": "IsOrganizationTrail", + "type": "boolean" + }, + "KMSKeyId": { + "markdownDescription": "Specifies the AWS key ID to use to encrypt the logs and digest files delivered by CloudTrail. The value can be an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.\n\nCloudTrail also supports AWS multi-Region keys. For more information about multi-Region keys, see [Using multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *AWS Key Management Service Developer Guide* .\n\nExamples:\n\n- alias/MyAliasName\n- arn:aws:kms:us-east-2:123456789012:alias/MyAliasName\n- arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012\n- 12345678-1234-1234-1234-123456789012", + "title": "KMSKeyId", "type": "string" }, - "RepositoryDescription": { - "markdownDescription": "A comment or description about the new repository.\n\n> The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage.", - "title": "RepositoryDescription", + "S3BucketName": { + "markdownDescription": "Specifies the name of the Amazon S3 bucket designated for publishing log files. See [Amazon S3 Bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) .", + "title": "S3BucketName", "type": "string" }, - "RepositoryName": { - "markdownDescription": "The name of the new repository to be created.\n\n> The repository name must be unique across the calling AWS account . Repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For more information about the limits on repository names, see [Quotas](https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html) in the *AWS CodeCommit User Guide* . The suffix .git is prohibited.", - "title": "RepositoryName", + "S3KeyPrefix": { + "markdownDescription": "Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see [Finding Your CloudTrail Log Files](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/get-and-view-cloudtrail-log-files.html#cloudtrail-find-log-files) . The maximum length is 200 characters.", + "title": "S3KeyPrefix", + "type": "string" + }, + "SnsTopicName": { + "markdownDescription": "Specifies the name or ARN of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.", + "title": "SnsTopicName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more tag key-value pairs to use when tagging this repository.", + "markdownDescription": "A custom set of tags (key-value pairs) for this trail.", "title": "Tags", "type": "array" }, - "Triggers": { - "items": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.RepositoryTrigger" - }, - "markdownDescription": "The JSON block of configuration information for each trigger.", - "title": "Triggers", - "type": "array" + "TrailName": { + "markdownDescription": "Specifies the name of the trail. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)\n- Start with a letter or number, and end with a letter or number\n- Be between 3 and 128 characters\n- Have no adjacent periods, underscores or dashes. Names like `my-_namespace` and `my--namespace` are not valid.\n- Not be in IP address format (for example, 192.168.5.4)", + "title": "TrailName", + "type": "string" } }, "required": [ - "RepositoryName" + "IsLogging", + "S3BucketName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeCommit::Repository" + "AWS::CloudTrail::Trail" ], "type": "string" }, @@ -77456,93 +78113,187 @@ ], "type": "object" }, - "AWS::CodeCommit::Repository.Code": { + "AWS::CloudTrail::Trail.AdvancedEventSelector": { "additionalProperties": false, "properties": { - "BranchName": { - "markdownDescription": "Optional. Specifies a branch name to be used as the default branch when importing code into a repository on initial creation. If this property is not set, the name *main* will be used for the default branch for the repository. Changes to this property are ignored after initial resource creation. We recommend using this parameter to set the name to *main* to align with the default behavior of CodeCommit unless another name is needed.", - "title": "BranchName", - "type": "string" + "FieldSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.AdvancedFieldSelector" + }, + "markdownDescription": "Contains all selector statements in an advanced event selector.", + "title": "FieldSelectors", + "type": "array" }, - "S3": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.S3", - "markdownDescription": "Information about the Amazon S3 bucket that contains a ZIP file of code to be committed to the repository. Changes to this property are ignored after initial resource creation.", - "title": "S3" + "Name": { + "markdownDescription": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".", + "title": "Name", + "type": "string" } }, "required": [ - "S3" + "FieldSelectors" ], "type": "object" }, - "AWS::CodeCommit::Repository.RepositoryTrigger": { + "AWS::CloudTrail::Trail.AdvancedFieldSelector": { "additionalProperties": false, "properties": { - "Branches": { + "EndsWith": { "items": { "type": "string" }, - "markdownDescription": "The branches to be included in the trigger configuration. If you specify an empty array, the trigger applies to all branches.\n\n> Although no content is required in the array, you must include the array itself.", - "title": "Branches", + "markdownDescription": "An operator that includes events that match the last few characters of the event record field specified as the value of `Field` .", + "title": "EndsWith", "type": "array" }, - "CustomData": { - "markdownDescription": "Any custom data associated with the trigger to be included in the information sent to the target of the trigger.", - "title": "CustomData", - "type": "string" + "Equals": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that includes events that match the exact value of the event record field specified as the value of `Field` . This is the only valid operator that you can use with the `readOnly` , `eventCategory` , and `resources.type` fields.", + "title": "Equals", + "type": "array" }, - "DestinationArn": { - "markdownDescription": "The ARN of the resource that is the target for a trigger (for example, the ARN of a topic in Amazon SNS).", - "title": "DestinationArn", + "Field": { + "markdownDescription": "A field in a CloudTrail event record on which to filter events to be logged. For event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the field is used only for selecting events as filtering is not supported.\n\nFor CloudTrail management events, supported fields include `eventCategory` (required), `eventSource` , and `readOnly` . The following additional fields are available for event data stores: `eventName` , `eventType` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail data events, supported fields include `eventCategory` (required), `eventName` , `eventSource` , `eventType` , `resources.type` (required), `readOnly` , `resources.ARN` , `sessionCredentialFromConsole` , and `userIdentity.arn` .\n\nFor CloudTrail network activity events, supported fields include `eventCategory` (required), `eventSource` (required), `eventName` , `errorCode` , and `vpcEndpointId` .\n\nFor event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the only supported field is `eventCategory` .\n\n> Selectors don't support the use of wildcards like `*` . To match multiple values with a single condition, you may use `StartsWith` , `EndsWith` , `NotStartsWith` , or `NotEndsWith` to explicitly match the beginning or end of the event field. \n\n- *`readOnly`* - This is an optional field that is only used for management events and data events. This field can be set to `Equals` with a value of `true` or `false` . If you do not add this field, CloudTrail logs both `read` and `write` events. A value of `true` logs only `read` events. A value of `false` logs only `write` events.\n- *`eventSource`* - This field is only used for management events, data events, and network activity events.\n\nFor management events for trails, this is an optional field that can be set to `NotEquals` `kms.amazonaws.com` to exclude KMS management events, or `NotEquals` `rdsdata.amazonaws.com` to exclude RDS management events.\n\nFor data events for trails, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor management and data events for event data stores, this is an optional field that you can use to include or exclude any event source and can use any operator.\n\nFor network activity events, this is a required field that only uses the `Equals` operator. Set this field to the event source for which you want to log network activity events. If you want to log network activity events for multiple event sources, you must create a separate field selector for each event source. For a list of services supporting network activity events, see [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .\n- *`eventName`* - This is an optional field that is only used for data events, management events (for event data stores only), and network activity events. You can use any operator with `eventName` . You can use it to \ufb01lter in or \ufb01lter out specific events. You can have multiple values for this \ufb01eld, separated by commas.\n- *`eventCategory`* - This field is required and must be set to `Equals` .\n\n- For CloudTrail management events, the value must be `Management` .\n- For CloudTrail data events, the value must be `Data` .\n- For CloudTrail network activity events, the value must be `NetworkActivity` .\n\nThe following are used only for event data stores:\n\n- For CloudTrail Insights events, the value must be `Insight` .\n- For AWS Config configuration items, the value must be `ConfigurationItem` .\n- For Audit Manager evidence, the value must be `Evidence` .\n- For events outside of AWS , the value must be `ActivityAuditLog` .\n- *`eventType`* - For event data stores, this is an optional field available for event data stores to filter management and data events on the event type. For trails, this is an optional field to filter data events on the event type. For information about available event types, see [CloudTrail record contents](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html#ct-event-type) in the *AWS CloudTrail user guide* .\n- *`errorCode`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This is the error code to filter on. Currently, the only valid `errorCode` is `VpceAccessDenied` . `errorCode` can only use the `Equals` operator.\n- *`sessionCredentialFromConsole`* - For event data stores, this is an optional field used to filter management and data events based on whether the events originated from an AWS Management Console session. For trails, this is an optional field used to filter data events. `sessionCredentialFromConsole` can only use the `Equals` and `NotEquals` operators.\n- *`resources.type`* - This \ufb01eld is required for CloudTrail data events. `resources.type` can only use the `Equals` operator.\n\nFor a list of available resource types for data events, see [Data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) in the *AWS CloudTrail User Guide* .\n\nYou can have only one `resources.type` \ufb01eld per selector. To log events on more than one resource type, add another selector.\n- *`resources.ARN`* - The `resources.ARN` is an optional field for data events. You can use any operator with `resources.ARN` , but if you use `Equals` or `NotEquals` , the value must exactly match the ARN of a valid resource of the type you've speci\ufb01ed in the template as the value of resources.type. To log all data events for all objects in a specific S3 bucket, use the `StartsWith` operator, and include only the bucket ARN as the matching value.\n\nFor more information about the ARN formats of data event resources, see [Actions, resources, and condition keys for AWS services](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) in the *Service Authorization Reference* .\n\n> You can't use the `resources.ARN` field to filter resource types that do not have ARNs.\n- *`userIdentity.arn`* - For event data stores, this is an optional field used to filter management and data events for actions taken by specific IAM identities. For trails, this is an optional field used to filter data events. You can use any operator with `userIdentity.arn` . For more information on the userIdentity element, see [CloudTrail userIdentity element](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html) in the *AWS CloudTrail User Guide* .\n- *`vpcEndpointId`* - This \ufb01eld is only used to filter CloudTrail network activity events and is optional. This field identifies the VPC endpoint that the request passed through. You can use any operator with `vpcEndpointId` .", + "title": "Field", "type": "string" }, - "Events": { + "NotEndsWith": { "items": { "type": "string" }, - "markdownDescription": "The repository events that cause the trigger to run actions in another service, such as sending a notification through Amazon SNS.\n\n> The valid value \"all\" cannot be used with any other values.", - "title": "Events", + "markdownDescription": "An operator that excludes events that match the last few characters of the event record field specified as the value of `Field` .", + "title": "NotEndsWith", "type": "array" }, - "Name": { - "markdownDescription": "The name of the trigger.", - "title": "Name", - "type": "string" + "NotEquals": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that excludes events that match the exact value of the event record field specified as the value of `Field` .", + "title": "NotEquals", + "type": "array" + }, + "NotStartsWith": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that excludes events that match the first few characters of the event record field specified as the value of `Field` .", + "title": "NotStartsWith", + "type": "array" + }, + "StartsWith": { + "items": { + "type": "string" + }, + "markdownDescription": "An operator that includes events that match the first few characters of the event record field specified as the value of `Field` .", + "title": "StartsWith", + "type": "array" } }, "required": [ - "DestinationArn", - "Events", - "Name" + "Field" ], "type": "object" }, - "AWS::CodeCommit::Repository.S3": { + "AWS::CloudTrail::Trail.AggregationConfiguration": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the Amazon S3 bucket that contains the ZIP file with the content that will be committed to the new repository. This can be specified using the name of the bucket in the AWS account . Changes to this property are ignored after initial resource creation.", - "title": "Bucket", + "EventCategory": { + "markdownDescription": "Specifies the event category for which aggregation should be performed.", + "title": "EventCategory", "type": "string" }, - "Key": { - "markdownDescription": "The key to use for accessing the Amazon S3 bucket. Changes to this property are ignored after initial resource creation. For more information, see [Creating object key names](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html) and [Uploading objects](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) in the Amazon S3 User Guide.", - "title": "Key", + "Templates": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of aggregation templates that can be used to configure event aggregation.", + "title": "Templates", + "type": "array" + } + }, + "required": [ + "EventCategory", + "Templates" + ], + "type": "object" + }, + "AWS::CloudTrail::Trail.DataResource": { + "additionalProperties": false, + "properties": { + "Type": { + "markdownDescription": "The resource type in which you want to log data events. You can specify the following *basic* event selector resource types:\n\n- `AWS::DynamoDB::Table`\n- `AWS::Lambda::Function`\n- `AWS::S3::Object`\n\nAdditional resource types are available through *advanced* event selectors. For more information, see [AdvancedEventSelector](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedEventSelector.html) .", + "title": "Type", "type": "string" }, - "ObjectVersion": { - "markdownDescription": "The object version of the ZIP file, if versioning is enabled for the Amazon S3 bucket. Changes to this property are ignored after initial resource creation.", - "title": "ObjectVersion", - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified resource type.\n\n- To log data events for all objects in all S3 buckets in your AWS account , specify the prefix as `arn:aws:s3` .\n\n> This also enables logging of data event activity performed by any user or role in your AWS account , even if that activity is performed on a bucket that belongs to another AWS account .\n- To log data events for all objects in an S3 bucket, specify the bucket and an empty object prefix such as `arn:aws:s3:::amzn-s3-demo-bucket1/` . The trail logs data events for all objects in this S3 bucket.\n- To log data events for specific objects, specify the S3 bucket and object prefix such as `arn:aws:s3:::amzn-s3-demo-bucket1/example-images` . The trail logs data events for objects in this S3 bucket that match the prefix.\n- To log data events for all Lambda functions in your AWS account , specify the prefix as `arn:aws:lambda` .\n\n> This also enables logging of `Invoke` activity performed by any user or role in your AWS account , even if that activity is performed on a function that belongs to another AWS account .\n- To log data events for a specific Lambda function, specify the function ARN.\n\n> Lambda function ARNs are exact. For example, if you specify a function ARN *arn:aws:lambda:us-west-2:111111111111:function:helloworld* , data events will only be logged for *arn:aws:lambda:us-west-2:111111111111:function:helloworld* . They will not be logged for *arn:aws:lambda:us-west-2:111111111111:function:helloworld2* .\n- To log data events for all DynamoDB tables in your AWS account , specify the prefix as `arn:aws:dynamodb` .", + "title": "Values", + "type": "array" } }, "required": [ - "Bucket", - "Key" + "Type" ], "type": "object" }, - "AWS::CodeConnections::Connection": { + "AWS::CloudTrail::Trail.EventSelector": { + "additionalProperties": false, + "properties": { + "DataResources": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" + }, + "markdownDescription": "CloudTrail supports data event logging for Amazon S3 objects in standard S3 buckets, AWS Lambda functions, and Amazon DynamoDB tables with basic event selectors. You can specify up to 250 resources for an individual event selector, but the total number of data resources cannot exceed 250 across all event selectors in a trail. This limit does not apply if you configure resource logging for all data events.\n\nFor more information, see [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) and [Limits in AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) in the *AWS CloudTrail User Guide* .\n\n> To log data events for all other resource types including objects stored in [directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html) , you must use [AdvancedEventSelectors](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedEventSelector.html) . You must also use `AdvancedEventSelectors` if you want to filter on the `eventName` field.", + "title": "DataResources", + "type": "array" + }, + "ExcludeManagementEventSources": { + "items": { + "type": "string" + }, + "markdownDescription": "An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service or Amazon RDS Data API events by containing `kms.amazonaws.com` or `rdsdata.amazonaws.com` . By default, `ExcludeManagementEventSources` is empty, and AWS and Amazon RDS Data API events are logged to your trail. You can exclude management event sources only in Regions that support the event source.", + "title": "ExcludeManagementEventSources", + "type": "array" + }, + "IncludeManagementEvents": { + "markdownDescription": "Specify if you want your event selector to include management events for your trail.\n\nFor more information, see [Management Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html) in the *AWS CloudTrail User Guide* .\n\nBy default, the value is `true` .\n\nThe first copy of management events is free. You are charged for additional copies of management events that you are logging on any subsequent trail in the same Region. For more information about CloudTrail pricing, see [AWS CloudTrail Pricing](https://docs.aws.amazon.com/cloudtrail/pricing/) .", + "title": "IncludeManagementEvents", + "type": "boolean" + }, + "ReadWriteType": { + "markdownDescription": "Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 `GetConsoleOutput` is a read-only API operation and `RunInstances` is a write-only API operation.\n\nBy default, the value is `All` .", + "title": "ReadWriteType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudTrail::Trail.InsightSelector": { + "additionalProperties": false, + "properties": { + "EventCategories": { + "items": { + "type": "string" + }, + "markdownDescription": "Select the event category on which Insights should be enabled.\n\n- If EventCategories is not provided, the specified Insights types are enabled on management API calls by default.\n- If EventCategories is provided, the given event categories will overwrite the existing ones. For example, if a trail already has Insights enabled on management events, and then a PutInsightSelectors request is made with only data events specified in EventCategories, Insights on management events will be disabled.", + "title": "EventCategories", + "type": "array" + }, + "InsightType": { + "markdownDescription": "The type of Insights events to log on a trail. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid Insight types.\n\nThe `ApiCallRateInsight` Insights type analyzes write-only management API calls that are aggregated per minute against a baseline API call volume.\n\nThe `ApiErrorRateInsight` Insights type analyzes management API calls that result in error codes. The error is shown if the API call is unsuccessful.", + "title": "InsightType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm": { "additionalProperties": false, "properties": { "Condition": { @@ -77577,38 +78328,152 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionName": { - "markdownDescription": "The name of the connection. Connection names must be unique in an AWS account .", - "title": "ConnectionName", + "ActionsEnabled": { + "markdownDescription": "Indicates whether actions should be executed during any changes to the alarm state. The default is TRUE.", + "title": "ActionsEnabled", + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of actions to execute when this alarm transitions into an ALARM state from any other state. Specify each action as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) in the *Amazon CloudWatch API Reference* .", + "title": "AlarmActions", + "type": "array" + }, + "AlarmDescription": { + "markdownDescription": "The description of the alarm.", + "title": "AlarmDescription", "type": "string" }, - "HostArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the host associated with the connection.", - "title": "HostArn", + "AlarmName": { + "markdownDescription": "The name of the alarm. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the alarm name.\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "AlarmName", "type": "string" }, - "ProviderType": { - "markdownDescription": "The name of the external provider where your third-party code repository is configured.", - "title": "ProviderType", + "ComparisonOperator": { + "markdownDescription": "The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand.", + "title": "ComparisonOperator", + "type": "string" + }, + "DatapointsToAlarm": { + "markdownDescription": "The number of datapoints that must be breaching to trigger the alarm. This is used only if you are setting an \"M out of N\" alarm. In that case, this value is the M, and the value that you set for `EvaluationPeriods` is the N value. For more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *Amazon CloudWatch User Guide* .\n\nIf you omit this parameter, CloudWatch uses the same value here that you set for `EvaluationPeriods` , and the alarm goes to alarm state if that many consecutive periods are breaching.", + "title": "DatapointsToAlarm", + "type": "number" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" + }, + "markdownDescription": "The dimensions for the metric associated with the alarm. For an alarm based on a math expression, you can't specify `Dimensions` . Instead, you use `Metrics` .", + "title": "Dimensions", + "type": "array" + }, + "EvaluateLowSampleCountPercentile": { + "markdownDescription": "Used only for alarms based on percentiles. If `ignore` , the alarm state does not change during periods with too few data points to be statistically significant. If `evaluate` or this parameter is not used, the alarm is always evaluated and possibly changes state no matter how many data points are available.", + "title": "EvaluateLowSampleCountPercentile", + "type": "string" + }, + "EvaluationCriteria": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.EvaluationCriteria" + }, + "EvaluationInterval": { + "type": "number" + }, + "EvaluationPeriods": { + "markdownDescription": "The number of periods over which data is compared to the specified threshold. If you are setting an alarm that requires that a number of consecutive data points be breaching to trigger the alarm, this value specifies that number. If you are setting an \"M out of N\" alarm, this value is the N, and `DatapointsToAlarm` is the M.\n\nFor more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *Amazon CloudWatch User Guide* .", + "title": "EvaluationPeriods", + "type": "number" + }, + "EvaluationWindow": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.EvaluationWindow" + }, + "ExtendedStatistic": { + "markdownDescription": "The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.\n\nFor an alarm based on a metric, you must specify either `Statistic` or `ExtendedStatistic` but not both.\n\nFor an alarm based on a math expression, you can't specify `ExtendedStatistic` . Instead, you use `Metrics` .", + "title": "ExtendedStatistic", + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "markdownDescription": "The actions to execute when this alarm transitions to the `INSUFFICIENT_DATA` state from any other state. Each action is specified as an Amazon Resource Name (ARN).", + "title": "InsufficientDataActions", + "type": "array" + }, + "MetricName": { + "markdownDescription": "The name of the metric associated with the alarm. This is required for an alarm based on a metric. For an alarm based on a math expression, you use `Metrics` instead and you can't specify `MetricName` .", + "title": "MetricName", + "type": "string" + }, + "Metrics": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricDataQuery" + }, + "markdownDescription": "An array that enables you to create an alarm based on the result of a metric math expression. Each item in the array either retrieves a metric or performs a math expression.\n\nIf you specify the `Metrics` parameter, you cannot specify `MetricName` , `Dimensions` , `Period` , `Namespace` , `Statistic` , `ExtendedStatistic` , or `Unit` .", + "title": "Metrics", + "type": "array" + }, + "Namespace": { + "markdownDescription": "The namespace of the metric associated with the alarm. This is required for an alarm based on a metric. For an alarm based on a math expression, you can't specify `Namespace` and you use `Metrics` instead.\n\nFor a list of namespaces for metrics from AWS services, see [AWS Services That Publish CloudWatch Metrics.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)", + "title": "Namespace", + "type": "string" + }, + "OKActions": { + "items": { + "type": "string" + }, + "markdownDescription": "The actions to execute when this alarm transitions to the `OK` state from any other state. Each action is specified as an Amazon Resource Name (ARN).", + "title": "OKActions", + "type": "array" + }, + "Period": { + "markdownDescription": "The period, in seconds, over which the statistic is applied. This is required for an alarm based on a metric. Valid values are 10, 20, 30, 60, and any multiple of 60.\n\nFor an alarm based on a math expression, you can't specify `Period` , and instead you use the `Metrics` parameter.\n\n*Minimum:* 10", + "title": "Period", + "type": "number" + }, + "Statistic": { + "markdownDescription": "The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use `ExtendedStatistic` .\n\nFor an alarm based on a metric, you must specify either `Statistic` or `ExtendedStatistic` but not both.\n\nFor an alarm based on a math expression, you can't specify `Statistic` . Instead, you use `Metrics` .", + "title": "Statistic", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. To be able to associate tags with the alarm when you create the alarm, you must have the `cloudwatch:TagResource` permission.\n\nTags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.", "title": "Tags", "type": "array" + }, + "Threshold": { + "markdownDescription": "The value to compare with the specified statistic.", + "title": "Threshold", + "type": "number" + }, + "ThresholdMetricId": { + "markdownDescription": "In an alarm based on an anomaly detection model, this is the ID of the `ANOMALY_DETECTION_BAND` function used as the threshold for the alarm.", + "title": "ThresholdMetricId", + "type": "string" + }, + "TreatMissingData": { + "markdownDescription": "Sets how this alarm is to handle missing data points. Valid values are `breaching` , `notBreaching` , `ignore` , and `missing` . For more information, see [Configuring How CloudWatch Alarms Treat Missing Data](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) in the *Amazon CloudWatch User Guide* .\n\nIf you omit this parameter, the default behavior of `missing` is used.", + "title": "TreatMissingData", + "type": "string" + }, + "Unit": { + "markdownDescription": "The unit of the metric associated with the alarm. Specify this only if you are creating an alarm based on a single metric. Do not specify this if you are specifying a `Metrics` array.\n\nYou can specify the following values: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, or None.", + "title": "Unit", + "type": "string" + }, + "WarmUpConfiguration": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.WarmUpConfiguration" } }, - "required": [ - "ConnectionName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeConnections::Connection" + "AWS::CloudWatch::Alarm" ], "type": "string" }, @@ -77622,123 +78487,187 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::CodeConnections::Host": { + "AWS::CloudWatch::Alarm.AlarmPromQLCriteria": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "PendingPeriod": { + "type": "number" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Query": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "RecoveryPeriod": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm.Dimension": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the dimension, from 1\u2013255 characters in length. This dimension name must have been included when the metric was published.", + "title": "Name", + "type": "string" }, - "Metadata": { + "Value": { + "markdownDescription": "The value for the dimension, from 1\u2013255 characters in length.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::CloudWatch::Alarm.EvaluationCriteria": { + "additionalProperties": false, + "properties": { + "PromQLCriteria": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.AlarmPromQLCriteria" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm.EvaluationWindow": { + "additionalProperties": false, + "properties": { + "SlidingWindow": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ProviderEndpoint": { - "type": "string" - }, - "ProviderType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::CodeConnections::Host.VpcConfiguration" - } + "WallClockWindow": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.WallClockWindow" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm.Metric": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" }, - "required": [ - "Name", - "ProviderEndpoint", - "ProviderType" - ], - "type": "object" + "markdownDescription": "The metric dimensions that you want to be used for the metric that the alarm will watch.", + "title": "Dimensions", + "type": "array" }, - "Type": { - "enum": [ - "AWS::CodeConnections::Host" - ], + "MetricName": { + "markdownDescription": "The name of the metric that you want the alarm to watch. This is a required field.", + "title": "MetricName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Namespace": { + "markdownDescription": "The namespace of the metric that the alarm will watch.", + "title": "Namespace", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm.MetricDataQuery": { + "additionalProperties": false, + "properties": { + "AccountId": { + "markdownDescription": "The ID of the account where the metrics are located, if this is a cross-account alarm.", + "title": "AccountId", + "type": "string" + }, + "Expression": { + "markdownDescription": "The math expression to be performed on the returned data, if this object is performing a math expression. This expression can use the `Id` of the other metrics to refer to those metrics, and can also use the `Id` of other expressions to use the result of those expressions. For more information about metric math expressions, see [Metric Math Syntax and Functions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) in the *Amazon CloudWatch User Guide* .\n\nWithin each MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", + "title": "Expression", + "type": "string" + }, + "Id": { + "markdownDescription": "A short name used to tie this object to the results in the response. This name must be unique within a single call to `GetMetricData` . If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.", + "title": "Id", + "type": "string" + }, + "Label": { + "markdownDescription": "A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If `Label` is omitted, CloudWatch generates a default.", + "title": "Label", "type": "string" + }, + "MetricStat": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricStat", + "markdownDescription": "The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.\n\nWithin one MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", + "title": "MetricStat" + }, + "Period": { + "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` operation that includes a `StorageResolution of 1 second` .", + "title": "Period", + "type": "number" + }, + "ReturnData": { + "markdownDescription": "This option indicates whether to return the timestamps and raw data values of this metric.\n\nWhen you create an alarm based on a metric math expression, specify `True` for this value for only the one math expression that the alarm is based on. You must specify `False` for `ReturnData` for all the other metrics and expressions used in the alarm.\n\nThis field is required.", + "title": "ReturnData", + "type": "boolean" } }, "required": [ - "Type", - "Properties" + "Id" ], "type": "object" }, - "AWS::CodeConnections::Host.VpcConfiguration": { + "AWS::CloudWatch::Alarm.MetricStat": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "Metric": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Metric", + "markdownDescription": "The metric to return, including the metric name, namespace, and dimensions.", + "title": "Metric" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "Period": { + "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` call that includes a `StorageResolution` of 1 second.\n\nIf the `StartTime` parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:\n\n- Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).\n- Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).\n- Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).", + "title": "Period", + "type": "number" }, - "TlsCertificate": { + "Stat": { + "markdownDescription": "The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* .", + "title": "Stat", "type": "string" }, - "VpcId": { + "Unit": { + "markdownDescription": "The unit to use for the returned data points.\n\nValid values are: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, or None.", + "title": "Unit", "type": "string" } }, "required": [ - "SecurityGroupIds", - "SubnetIds", - "VpcId" + "Metric", + "Period", + "Stat" ], "type": "object" }, - "AWS::CodeDeploy::Application": { + "AWS::CloudWatch::Alarm.WallClockWindow": { + "additionalProperties": false, + "properties": { + "Timezone": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm.WarmUpConfiguration": { + "additionalProperties": false, + "properties": { + "OnlyStartEvaluatingAfterWarmUpPeriodEnds": { + "type": "boolean" + }, + "WarmUpPeriodDurationInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CloudWatch::AlarmMuteRule": { "additionalProperties": false, "properties": { "Condition": { @@ -77773,30 +78702,39 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { - "markdownDescription": "A name for the application. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the application name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> Updates to `ApplicationName` are not supported.", - "title": "ApplicationName", + "Description": { "type": "string" }, - "ComputePlatform": { - "markdownDescription": "The compute platform that CodeDeploy deploys the application to.", - "title": "ComputePlatform", + "ExpireDate": { + "type": "string" + }, + "MuteTargets": { + "$ref": "#/definitions/AWS::CloudWatch::AlarmMuteRule.MuteTargets" + }, + "Name": { + "type": "string" + }, + "Rule": { + "$ref": "#/definitions/AWS::CloudWatch::AlarmMuteRule.Rule" + }, + "StartDate": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The metadata that you apply to CodeDeploy applications to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.", - "title": "Tags", "type": "array" } }, + "required": [ + "Rule" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeDeploy::Application" + "AWS::CloudWatch::AlarmMuteRule" ], "type": "string" }, @@ -77810,11 +78748,58 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CodeDeploy::DeploymentConfig": { + "AWS::CloudWatch::AlarmMuteRule.MuteTargets": { + "additionalProperties": false, + "properties": { + "AlarmNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AlarmNames" + ], + "type": "object" + }, + "AWS::CloudWatch::AlarmMuteRule.Rule": { + "additionalProperties": false, + "properties": { + "Schedule": { + "$ref": "#/definitions/AWS::CloudWatch::AlarmMuteRule.Schedule" + } + }, + "required": [ + "Schedule" + ], + "type": "object" + }, + "AWS::CloudWatch::AlarmMuteRule.Schedule": { + "additionalProperties": false, + "properties": { + "Duration": { + "type": "string" + }, + "Expression": { + "type": "string" + }, + "Timezone": { + "type": "string" + } + }, + "required": [ + "Duration", + "Expression" + ], + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector": { "additionalProperties": false, "properties": { "Condition": { @@ -77849,37 +78834,55 @@ "Properties": { "additionalProperties": false, "properties": { - "ComputePlatform": { - "markdownDescription": "The destination platform type for the deployment ( `Lambda` , `Server` , or `ECS` ).", - "title": "ComputePlatform", - "type": "string" + "Configuration": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Configuration", + "markdownDescription": "Specifies details about how the anomaly detection model is to be trained, including time ranges to exclude when training and updating the model. The configuration can also include the time zone to use for the metric.", + "title": "Configuration" }, - "DeploymentConfigName": { - "markdownDescription": "A name for the deployment configuration. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the deployment configuration name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "DeploymentConfigName", + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" + }, + "markdownDescription": "The dimensions of the metric associated with the anomaly detection band.", + "title": "Dimensions", + "type": "array" + }, + "MetricCharacteristics": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricCharacteristics", + "markdownDescription": "Use this object to include parameters to provide information about your metric to CloudWatch to help it build more accurate anomaly detection models. Currently, it includes the `PeriodicSpikes` parameter.", + "title": "MetricCharacteristics" + }, + "MetricMathAnomalyDetector": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricMathAnomalyDetector", + "markdownDescription": "The CloudWatch metric math expression for this anomaly detector.", + "title": "MetricMathAnomalyDetector" + }, + "MetricName": { + "markdownDescription": "The name of the metric associated with the anomaly detection band.", + "title": "MetricName", "type": "string" }, - "MinimumHealthyHosts": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts", - "markdownDescription": "The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value.\n\nThe type parameter takes either of the following values:\n\n- HOST_COUNT: The value parameter represents the minimum number of healthy instances as an absolute value.\n- FLEET_PERCENT: The value parameter represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances.\n\nThe value parameter takes an integer.\n\nFor example, to set a minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of 95.\n\nFor more information about instance health, see [CodeDeploy Instance Health](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-health.html) in the AWS CodeDeploy User Guide.", - "title": "MinimumHealthyHosts" + "Namespace": { + "markdownDescription": "The namespace of the metric associated with the anomaly detection band.", + "title": "Namespace", + "type": "string" }, - "TrafficRoutingConfig": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TrafficRoutingConfig", - "markdownDescription": "The configuration that specifies how the deployment traffic is routed.", - "title": "TrafficRoutingConfig" + "SingleMetricAnomalyDetector": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.SingleMetricAnomalyDetector", + "markdownDescription": "The CloudWatch metric and statistic for this anomaly detector.", + "title": "SingleMetricAnomalyDetector" }, - "ZonalConfig": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.ZonalConfig", - "markdownDescription": "Configure the `ZonalConfig` object if you want AWS CodeDeploy to deploy your application to one [Availability Zone](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones) at a time, within an AWS Region.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", - "title": "ZonalConfig" + "Stat": { + "markdownDescription": "The statistic of the metric associated with the anomaly detection band.", + "title": "Stat", + "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::CodeDeploy::DeploymentConfig" + "AWS::CloudWatch::AnomalyDetector" ], "type": "string" }, @@ -77897,138 +78900,239 @@ ], "type": "object" }, - "AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts": { + "AWS::CloudWatch::AnomalyDetector.Configuration": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "The minimum healthy instance type:\n\n- HOST_COUNT: The minimum number of healthy instance as an absolute value.\n- FLEET_PERCENT: The minimum number of healthy instance as a percentage of the total number of instance in the deployment.\n\nIn an example of nine instance, if a HOST_COUNT of six is specified, deploy to up to three instances at a time. The deployment is successful if six or more instances are deployed to successfully. Otherwise, the deployment fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instance at a time. The deployment is successful if four or more instance are deployed to successfully. Otherwise, the deployment fails.\n\n> In a call to `GetDeploymentConfig` , CodeDeployDefault.OneAtATime returns a minimum healthy instance type of MOST_CONCURRENCY and a value of 1. This means a deployment to only one instance at a time. (You cannot set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy attempts to ensure that all instances but one are kept in a healthy state during the deployment. Although this allows one instance at a time to be taken offline for a new deployment, it also means that if the deployment to the last instance fails, the overall deployment is still successful. \n\nFor more information, see [AWS CodeDeploy Instance Health](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html) in the *AWS CodeDeploy User Guide* .", - "title": "Type", - "type": "string" + "ExcludedTimeRanges": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Range" + }, + "markdownDescription": "Specifies an array of time ranges to exclude from use when the anomaly detection model is trained and updated. Use this to make sure that events that could cause unusual values for the metric, such as deployments, aren't used when CloudWatch creates or updates the model.", + "title": "ExcludedTimeRanges", + "type": "array" }, - "Value": { - "markdownDescription": "The minimum healthy instance value.", - "title": "Value", - "type": "number" + "MetricTimeZone": { + "markdownDescription": "The time zone to use for the metric. This is useful to enable the model to automatically account for daylight savings time changes if the metric is sensitive to such time changes.\n\nTo specify a time zone, use the name of the time zone as specified in the standard tz database. For more information, see [tz database](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/Tz_database) .", + "title": "MetricTimeZone", + "type": "string" } }, - "required": [ - "Type", - "Value" - ], "type": "object" }, - "AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHostsPerZone": { + "AWS::CloudWatch::AnomalyDetector.Dimension": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "The `type` associated with the `MinimumHealthyHostsPerZone` option.", - "title": "Type", + "Name": { + "markdownDescription": "The name of the dimension.", + "title": "Name", "type": "string" }, "Value": { - "markdownDescription": "The `value` associated with the `MinimumHealthyHostsPerZone` option.", + "markdownDescription": "The value of the dimension. Dimension values must contain only ASCII characters and must include at least one non-whitespace character. ASCII control characters are not supported as part of dimension values.", "title": "Value", - "type": "number" + "type": "string" } }, "required": [ - "Type", + "Name", "Value" ], "type": "object" }, - "AWS::CodeDeploy::DeploymentConfig.TimeBasedCanary": { + "AWS::CloudWatch::AnomalyDetector.Metric": { "additionalProperties": false, "properties": { - "CanaryInterval": { - "markdownDescription": "The number of minutes between the first and second traffic shifts of a `TimeBasedCanary` deployment.", - "title": "CanaryInterval", - "type": "number" + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" + }, + "markdownDescription": "The dimensions for the metric.", + "title": "Dimensions", + "type": "array" }, - "CanaryPercentage": { - "markdownDescription": "The percentage of traffic to shift in the first increment of a `TimeBasedCanary` deployment.", - "title": "CanaryPercentage", - "type": "number" + "MetricName": { + "markdownDescription": "The name of the metric. This is a required field.", + "title": "MetricName", + "type": "string" + }, + "Namespace": { + "markdownDescription": "The namespace of the metric.", + "title": "Namespace", + "type": "string" } }, "required": [ - "CanaryInterval", - "CanaryPercentage" + "MetricName", + "Namespace" ], "type": "object" }, - "AWS::CodeDeploy::DeploymentConfig.TimeBasedLinear": { + "AWS::CloudWatch::AnomalyDetector.MetricCharacteristics": { "additionalProperties": false, "properties": { - "LinearInterval": { - "markdownDescription": "The number of minutes between each incremental traffic shift of a `TimeBasedLinear` deployment.", - "title": "LinearInterval", - "type": "number" - }, - "LinearPercentage": { - "markdownDescription": "The percentage of traffic that is shifted at the start of each increment of a `TimeBasedLinear` deployment.", - "title": "LinearPercentage", - "type": "number" + "PeriodicSpikes": { + "markdownDescription": "Set this parameter to true if values for this metric consistently include spikes that should not be considered to be anomalies. With this set to true, CloudWatch will expect to see spikes that occurred consistently during the model training period, and won't flag future similar spikes as anomalies.", + "title": "PeriodicSpikes", + "type": "boolean" } }, - "required": [ - "LinearInterval", - "LinearPercentage" - ], "type": "object" }, - "AWS::CodeDeploy::DeploymentConfig.TrafficRoutingConfig": { + "AWS::CloudWatch::AnomalyDetector.MetricDataQueries": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.MetricDataQuery": { "additionalProperties": false, "properties": { - "TimeBasedCanary": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TimeBasedCanary", - "markdownDescription": "A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in two increments. The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.", - "title": "TimeBasedCanary" + "AccountId": { + "markdownDescription": "The ID of the account where the metrics are located.\n\nIf you are performing a `GetMetricData` operation in a monitoring account, use this to specify which account to retrieve this metric from.\n\nIf you are performing a `PutMetricAlarm` operation, use this to specify which account contains the metric that the alarm is watching.", + "title": "AccountId", + "type": "string" }, - "TimeBasedLinear": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TimeBasedLinear", - "markdownDescription": "A configuration that shifts traffic from one version of a Lambda function or Amazon ECS task set to another in equal increments, with an equal number of minutes between each increment. The original and target Lambda function versions or Amazon ECS task sets are specified in the deployment's AppSpec file.", - "title": "TimeBasedLinear" + "Expression": { + "markdownDescription": "This field can contain either a Metrics Insights query, or a metric math expression to be performed on the returned data. For more information about Metrics Insights queries, see [Metrics Insights query components and syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-metrics-insights-querylanguage) in the *Amazon CloudWatch User Guide* .\n\nA math expression can use the `Id` of the other metrics or queries to refer to those metrics, and can also use the `Id` of other expressions to use the result of those expressions. For more information about metric math expressions, see [Metric Math Syntax and Functions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) in the *Amazon CloudWatch User Guide* .\n\nWithin each MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", + "title": "Expression", + "type": "string" }, - "Type": { - "markdownDescription": "The type of traffic shifting ( `TimeBasedCanary` or `TimeBasedLinear` ) used by a deployment configuration.", - "title": "Type", + "Id": { + "markdownDescription": "A short name used to tie this object to the results in the response. This name must be unique within a single call to `GetMetricData` . If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.", + "title": "Id", + "type": "string" + }, + "Label": { + "markdownDescription": "A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If Label is omitted, CloudWatch generates a default.\n\nYou can put dynamic expressions into a label, so that it is more descriptive. For more information, see [Using Dynamic Labels](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html) .", + "title": "Label", "type": "string" + }, + "MetricStat": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricStat", + "markdownDescription": "The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.\n\nWithin one MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.", + "title": "MetricStat" + }, + "Period": { + "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` operation that includes a `StorageResolution of 1 second` .", + "title": "Period", + "type": "number" + }, + "ReturnData": { + "markdownDescription": "When used in `GetMetricData` , this option indicates whether to return the timestamps and raw data values of this metric. If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify `false` . If you omit this, the default of `true` is used.\n\nWhen used in `PutMetricAlarm` , specify `true` for the one expression result to use as the alarm. For all other metrics and expressions in the same `PutMetricAlarm` operation, specify `ReturnData` as False.", + "title": "ReturnData", + "type": "boolean" } }, "required": [ - "Type" + "Id" ], "type": "object" }, - "AWS::CodeDeploy::DeploymentConfig.ZonalConfig": { + "AWS::CloudWatch::AnomalyDetector.MetricMathAnomalyDetector": { "additionalProperties": false, "properties": { - "FirstZoneMonitorDurationInSeconds": { - "markdownDescription": "The period of time, in seconds, that CodeDeploy must wait after completing a deployment to the *first* Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the second Availability Zone. You might set this option if you want to allow extra bake time for the first Availability Zone. If you don't specify a value for `firstZoneMonitorDurationInSeconds` , then CodeDeploy uses the `monitorDurationInSeconds` value for the first Availability Zone.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", - "title": "FirstZoneMonitorDurationInSeconds", - "type": "number" - }, - "MinimumHealthyHostsPerZone": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHostsPerZone", - "markdownDescription": "The number or percentage of instances that must remain available per Availability Zone during a deployment. This option works in conjunction with the `MinimumHealthyHosts` option. For more information, see [About the minimum number of healthy hosts per Availability Zone](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html#minimum-healthy-hosts-az) in the *CodeDeploy User Guide* .\n\nIf you don't specify the `minimumHealthyHostsPerZone` option, then CodeDeploy uses a default value of `0` percent.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", - "title": "MinimumHealthyHostsPerZone" - }, - "MonitorDurationInSeconds": { - "markdownDescription": "The period of time, in seconds, that CodeDeploy must wait after completing a deployment to an Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the next Availability Zone. Consider adding a monitor duration to give the deployment some time to prove itself (or 'bake') in one Availability Zone before it is released in the next zone. If you don't specify a `monitorDurationInSeconds` , CodeDeploy starts deploying to the next Availability Zone immediately.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", - "title": "MonitorDurationInSeconds", - "type": "number" + "MetricDataQueries": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricDataQuery" + }, + "markdownDescription": "An array of metric data query structures that enables you to create an anomaly detector based on the result of a metric math expression. Each item in `MetricDataQueries` gets a metric or performs a math expression. One item in `MetricDataQueries` is the expression that provides the time series that the anomaly detector uses as input. Designate the expression by setting `ReturnData` to `true` for this object in the array. For all other expressions and metrics, set `ReturnData` to `false` . The designated expression must return a single time series.", + "title": "MetricDataQueries", + "type": "array" } }, "type": "object" }, - "AWS::CodeDeploy::DeploymentGroup": { + "AWS::CloudWatch::AnomalyDetector.MetricStat": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Metric": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Metric", + "markdownDescription": "The metric to return, including the metric name, namespace, and dimensions.", + "title": "Metric" }, - "DeletionPolicy": { + "Period": { + "markdownDescription": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` call that includes a `StorageResolution` of 1 second.\n\nIf the `StartTime` parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:\n\n- Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).\n- Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).\n- Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).", + "title": "Period", + "type": "number" + }, + "Stat": { + "markdownDescription": "The statistic to return. It can include any CloudWatch statistic or extended statistic.", + "title": "Stat", + "type": "string" + }, + "Unit": { + "markdownDescription": "When you are using a `Put` operation, this defines what unit you want to use when storing the metric.\n\nIn a `Get` operation, if you omit `Unit` then all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.", + "title": "Unit", + "type": "string" + } + }, + "required": [ + "Metric", + "Period", + "Stat" + ], + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.Range": { + "additionalProperties": false, + "properties": { + "EndTime": { + "markdownDescription": "The end time of the range to exclude. The format is `yyyy-MM-dd'T'HH:mm:ss` . For example, `2019-07-01T23:59:59` .", + "title": "EndTime", + "type": "string" + }, + "StartTime": { + "markdownDescription": "The start time of the range to exclude. The format is `yyyy-MM-dd'T'HH:mm:ss` . For example, `2019-07-01T23:59:59` .", + "title": "StartTime", + "type": "string" + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.SingleMetricAnomalyDetector": { + "additionalProperties": false, + "properties": { + "AccountId": { + "markdownDescription": "If the CloudWatch metric that provides the time series that the anomaly detector uses as input is in another account, specify that account ID here. If you omit this parameter, the current account is used.", + "title": "AccountId", + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" + }, + "markdownDescription": "The metric dimensions to create the anomaly detection model for.", + "title": "Dimensions", + "type": "array" + }, + "MetricName": { + "markdownDescription": "The name of the metric to create the anomaly detection model for.", + "title": "MetricName", + "type": "string" + }, + "Namespace": { + "markdownDescription": "The namespace of the metric to create the anomaly detection model for.", + "title": "Namespace", + "type": "string" + }, + "Stat": { + "markdownDescription": "The statistic to use for the metric and anomaly detection model.", + "title": "Stat", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::CompositeAlarm": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { "enum": [ "Delete", "Retain", @@ -78057,134 +79161,82 @@ "Properties": { "additionalProperties": false, "properties": { - "AlarmConfiguration": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration", - "markdownDescription": "Information about the Amazon CloudWatch alarms that are associated with the deployment group.", - "title": "AlarmConfiguration" + "ActionsEnabled": { + "markdownDescription": "Indicates whether actions should be executed during any changes to the alarm state of the composite alarm. The default is TRUE.", + "title": "ActionsEnabled", + "type": "boolean" }, - "ApplicationName": { - "markdownDescription": "The name of an existing CodeDeploy application to associate this deployment group with.", - "title": "ApplicationName", + "ActionsSuppressor": { + "markdownDescription": "Actions will be suppressed if the suppressor alarm is in the `ALARM` state. `ActionsSuppressor` can be an AlarmName or an Amazon Resource Name (ARN) from an existing alarm.", + "title": "ActionsSuppressor", "type": "string" }, - "AutoRollbackConfiguration": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration", - "markdownDescription": "Information about the automatic rollback configuration that is associated with the deployment group. If you specify this property, don't specify the `Deployment` property.", - "title": "AutoRollbackConfiguration" + "ActionsSuppressorExtensionPeriod": { + "markdownDescription": "The maximum time in seconds that the composite alarm waits after suppressor alarm goes out of the `ALARM` state. After this time, the composite alarm performs its actions.\n\n> `ExtensionPeriod` is required only when `ActionsSuppressor` is specified.", + "title": "ActionsSuppressorExtensionPeriod", + "type": "number" }, - "AutoScalingGroups": { + "ActionsSuppressorWaitPeriod": { + "markdownDescription": "The maximum time in seconds that the composite alarm waits for the suppressor alarm to go into the `ALARM` state. After this time, the composite alarm performs its actions.\n\n> `WaitPeriod` is required only when `ActionsSuppressor` is specified.", + "title": "ActionsSuppressorWaitPeriod", + "type": "number" + }, + "AlarmActions": { "items": { "type": "string" }, - "markdownDescription": "A list of associated Auto Scaling groups that CodeDeploy automatically deploys revisions to when new instances are created. Duplicates are not allowed.", - "title": "AutoScalingGroups", + "markdownDescription": "The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", + "title": "AlarmActions", "type": "array" }, - "BlueGreenDeploymentConfiguration": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.BlueGreenDeploymentConfiguration", - "markdownDescription": "Information about blue/green deployment options for a deployment group.", - "title": "BlueGreenDeploymentConfiguration" - }, - "Deployment": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Deployment", - "markdownDescription": "The application revision to deploy to this deployment group. If you specify this property, your target application revision is deployed as soon as the provisioning process is complete. If you specify this property, don't specify the `AutoRollbackConfiguration` property.", - "title": "Deployment" - }, - "DeploymentConfigName": { - "markdownDescription": "A deployment configuration name or a predefined configuration name. With predefined configurations, you can deploy application revisions to one instance at a time ( `CodeDeployDefault.OneAtATime` ), half of the instances at a time ( `CodeDeployDefault.HalfAtATime` ), or all the instances at once ( `CodeDeployDefault.AllAtOnce` ). For more information and valid values, see [Working with Deployment Configurations](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) in the *AWS CodeDeploy User Guide* .", - "title": "DeploymentConfigName", + "AlarmDescription": { + "markdownDescription": "The description for the composite alarm.", + "title": "AlarmDescription", "type": "string" }, - "DeploymentGroupName": { - "markdownDescription": "A name for the deployment group. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the deployment group name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "DeploymentGroupName", + "AlarmName": { + "markdownDescription": "The name for the composite alarm. This name must be unique within your AWS account.", + "title": "AlarmName", "type": "string" }, - "DeploymentStyle": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.DeploymentStyle", - "markdownDescription": "Attributes that determine the type of deployment to run and whether to route deployment traffic behind a load balancer.\n\nIf you specify this property with a blue/green deployment type, don't specify the `AutoScalingGroups` , `LoadBalancerInfo` , or `Deployment` properties.\n\n> For blue/green deployments, CloudFormation supports deployments on Lambda compute platforms only. You can perform Amazon ECS blue/green deployments using `AWS::CodeDeploy::BlueGreen` hook. See [Perform Amazon ECS blue/green deployments through CodeDeploy using CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html) for more information.", - "title": "DeploymentStyle" - }, - "ECSServices": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.ECSService" - }, - "markdownDescription": "The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format `:` .", - "title": "ECSServices", - "type": "array" + "AlarmRule": { + "markdownDescription": "An expression that specifies which other alarms are to be evaluated to determine this composite alarm's state. For each alarm that you reference, you designate a function that specifies whether that alarm needs to be in ALARM state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and NOT) to combine multiple functions in a single expression. You can use parenthesis to logically group the functions in your expression.\n\nYou can use either alarm names or ARNs to reference the other alarms that are to be evaluated.\n\nFunctions can include the following:\n\n- ALARM(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in ALARM state.\n- OK(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in OK state.\n- INSUFFICIENT_DATA(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in INSUFFICIENT_DATA state.\n- TRUE always evaluates to TRUE.\n- FALSE always evaluates to FALSE.\n\nTRUE and FALSE are useful for testing a complex AlarmRule structure, and for testing your alarm actions.\n\nFor more information about `AlarmRule` syntax, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", + "title": "AlarmRule", + "type": "string" }, - "Ec2TagFilters": { + "InsufficientDataActions": { "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagFilter" + "type": "string" }, - "markdownDescription": "The Amazon EC2 tags that are already applied to Amazon EC2 instances that you want to include in the deployment group. CodeDeploy includes all Amazon EC2 instances identified by any of the tags you specify in this deployment group. Duplicates are not allowed.\n\nYou can specify `EC2TagFilters` or `Ec2TagSet` , but not both.", - "title": "Ec2TagFilters", + "markdownDescription": "The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", + "title": "InsufficientDataActions", "type": "array" }, - "Ec2TagSet": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagSet", - "markdownDescription": "Information about groups of tags applied to Amazon EC2 instances. The deployment group includes only Amazon EC2 instances identified by all the tag groups. Cannot be used in the same call as `ec2TagFilter` .", - "title": "Ec2TagSet" - }, - "LoadBalancerInfo": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.LoadBalancerInfo", - "markdownDescription": "Information about the load balancer to use in a deployment. For more information, see [Integrating CodeDeploy with Elastic Load Balancing](https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-elastic-load-balancing.html) in the *AWS CodeDeploy User Guide* .", - "title": "LoadBalancerInfo" - }, - "OnPremisesInstanceTagFilters": { + "OKActions": { "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" + "type": "string" }, - "markdownDescription": "The on-premises instance tags already applied to on-premises instances that you want to include in the deployment group. CodeDeploy includes all on-premises instances identified by any of the tags you specify in this deployment group. To register on-premises instances with CodeDeploy , see [Working with On-Premises Instances for CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-on-premises.html) in the *AWS CodeDeploy User Guide* . Duplicates are not allowed.\n\nYou can specify `OnPremisesInstanceTagFilters` or `OnPremisesInstanceTagSet` , but not both.", - "title": "OnPremisesInstanceTagFilters", + "markdownDescription": "The actions to execute when this alarm transitions to the OK state from any other state. Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .", + "title": "OKActions", "type": "array" }, - "OnPremisesTagSet": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet", - "markdownDescription": "Information about groups of tags applied to on-premises instances. The deployment group includes only on-premises instances identified by all the tag groups.\n\nYou can specify `OnPremisesInstanceTagFilters` or `OnPremisesInstanceTagSet` , but not both.", - "title": "OnPremisesTagSet" - }, - "OutdatedInstancesStrategy": { - "markdownDescription": "Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision.\n\nIf this option is set to `UPDATE` or is unspecified, CodeDeploy initiates one or more 'auto-update outdated instances' deployments to apply the deployed application revision to the new Amazon EC2 instances.\n\nIf this option is set to `IGNORE` , CodeDeploy does not initiate a deployment to update the new Amazon EC2 instances. This may result in instances having different revisions.", - "title": "OutdatedInstancesStrategy", - "type": "string" - }, - "ServiceRoleArn": { - "markdownDescription": "A service role Amazon Resource Name (ARN) that grants CodeDeploy permission to make calls to AWS services on your behalf. For more information, see [Create a Service Role for AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-create-service-role.html) in the *AWS CodeDeploy User Guide* .\n\n> In some cases, you might need to add a dependency on the service role's policy. For more information, see IAM role policy in [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) .", - "title": "ServiceRoleArn", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.", + "markdownDescription": "A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. To be able to associate tags with the alarm when you create the alarm, you must have the `cloudwatch:TagResource` permission.\n\nTags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.", "title": "Tags", "type": "array" - }, - "TerminationHookEnabled": { - "markdownDescription": "Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.\n\nFor more information about the termination hook, see [How Amazon EC2 Auto Scaling works with CodeDeploy](https://docs.aws.amazon.com//codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors) in the *AWS CodeDeploy User Guide* .", - "title": "TerminationHookEnabled", - "type": "boolean" - }, - "TriggerConfigurations": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" - }, - "markdownDescription": "Information about triggers associated with the deployment group. Duplicates are not allowed", - "title": "TriggerConfigurations", - "type": "array" } }, "required": [ - "ApplicationName", - "ServiceRoleArn" + "AlarmRule" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeDeploy::DeploymentGroup" + "AWS::CloudWatch::CompositeAlarm" ], "type": "string" }, @@ -78203,473 +79255,7 @@ ], "type": "object" }, - "AWS::CodeDeploy::DeploymentGroup.Alarm": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the alarm. Maximum length is 255 characters. Each alarm name can be used only once in a list of alarms.", - "title": "Name", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Alarm" - }, - "markdownDescription": "A list of alarms configured for the deployment or deployment group. A maximum of 10 alarms can be added.", - "title": "Alarms", - "type": "array" - }, - "Enabled": { - "markdownDescription": "Indicates whether the alarm configuration is enabled.", - "title": "Enabled", - "type": "boolean" - }, - "IgnorePollAlarmFailure": { - "markdownDescription": "Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from Amazon CloudWatch . The default value is `false` .\n\n- `true` : The deployment proceeds even if alarm status information can't be retrieved from CloudWatch .\n- `false` : The deployment stops if alarm status information can't be retrieved from CloudWatch .", - "title": "IgnorePollAlarmFailure", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "Indicates whether a defined automatic rollback configuration is currently enabled.", - "title": "Enabled", - "type": "boolean" - }, - "Events": { - "items": { - "type": "string" - }, - "markdownDescription": "The event type or types that trigger a rollback. Valid values are `DEPLOYMENT_FAILURE` , `DEPLOYMENT_STOP_ON_ALARM` , or `DEPLOYMENT_STOP_ON_REQUEST` .", - "title": "Events", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.BlueGreenDeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "DeploymentReadyOption": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.DeploymentReadyOption", - "markdownDescription": "Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment.", - "title": "DeploymentReadyOption" - }, - "GreenFleetProvisioningOption": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GreenFleetProvisioningOption", - "markdownDescription": "Information about how instances are provisioned for a replacement environment in a blue/green deployment.", - "title": "GreenFleetProvisioningOption" - }, - "TerminateBlueInstancesOnDeploymentSuccess": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.BlueInstanceTerminationOption", - "markdownDescription": "Information about whether to terminate instances in the original fleet during a blue/green deployment.", - "title": "TerminateBlueInstancesOnDeploymentSuccess" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.BlueInstanceTerminationOption": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "The action to take on instances in the original environment after a successful blue/green deployment.\n\n- `TERMINATE` : Instances are terminated after a specified wait time.\n- `KEEP_ALIVE` : Instances are left running after they are deregistered from the load balancer and removed from the deployment group.", - "title": "Action", - "type": "string" - }, - "TerminationWaitTimeInMinutes": { - "markdownDescription": "For an Amazon EC2 deployment, the number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.\n\nFor an Amazon ECS deployment, the number of minutes before deleting the original (blue) task set. During an Amazon ECS deployment, CodeDeploy shifts traffic from the original (blue) task set to a replacement (green) task set.\n\nThe maximum setting is 2880 minutes (2 days).", - "title": "TerminationWaitTimeInMinutes", - "type": "number" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.Deployment": { - "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "A comment about the deployment.", - "title": "Description", - "type": "string" - }, - "IgnoreApplicationStopFailures": { - "markdownDescription": "If true, then if an `ApplicationStop` , `BeforeBlockTraffic` , or `AfterBlockTraffic` deployment lifecycle event to an instance fails, then the deployment continues to the next deployment lifecycle event. For example, if `ApplicationStop` fails, the deployment continues with DownloadBundle. If `BeforeBlockTraffic` fails, the deployment continues with `BlockTraffic` . If `AfterBlockTraffic` fails, the deployment continues with `ApplicationStop` .\n\nIf false or not specified, then if a lifecycle event fails during a deployment to an instance, that deployment fails. If deployment to that instance is part of an overall deployment and the number of healthy hosts is not less than the minimum number of healthy hosts, then a deployment to the next instance is attempted.\n\nDuring a deployment, the AWS CodeDeploy agent runs the scripts specified for `ApplicationStop` , `BeforeBlockTraffic` , and `AfterBlockTraffic` in the AppSpec file from the previous successful deployment. (All other scripts are run from the AppSpec file in the current deployment.) If one of these scripts contains an error and does not run successfully, the deployment can fail.\n\nIf the cause of the failure is a script from the last successful deployment that will never run successfully, create a new deployment and use `ignoreApplicationStopFailures` to specify that the `ApplicationStop` , `BeforeBlockTraffic` , and `AfterBlockTraffic` failures should be ignored.", - "title": "IgnoreApplicationStopFailures", - "type": "boolean" - }, - "Revision": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.RevisionLocation", - "markdownDescription": "Information about the location of stored application artifacts and the service from which to retrieve them.", - "title": "Revision" - } - }, - "required": [ - "Revision" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.DeploymentReadyOption": { - "additionalProperties": false, - "properties": { - "ActionOnTimeout": { - "markdownDescription": "Information about when to reroute traffic from an original environment to a replacement environment in a blue/green deployment.\n\n- CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.\n- STOP_DEPLOYMENT: Do not register new instances with a load balancer unless traffic rerouting is started using [ContinueDeployment](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ContinueDeployment.html) . If traffic rerouting is not started before the end of the specified wait period, the deployment status is changed to Stopped.", - "title": "ActionOnTimeout", - "type": "string" - }, - "WaitTimeInMinutes": { - "markdownDescription": "The number of minutes to wait before the status of a blue/green deployment is changed to Stopped if rerouting is not started manually. Applies only to the `STOP_DEPLOYMENT` option for `actionOnTimeout` .", - "title": "WaitTimeInMinutes", - "type": "number" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.DeploymentStyle": { - "additionalProperties": false, - "properties": { - "DeploymentOption": { - "markdownDescription": "Indicates whether to route deployment traffic behind a load balancer.\n\n> An Amazon EC2 Application Load Balancer or Network Load Balancer is required for an Amazon ECS deployment.", - "title": "DeploymentOption", - "type": "string" - }, - "DeploymentType": { - "markdownDescription": "Indicates whether to run an in-place or blue/green deployment.", - "title": "DeploymentType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.EC2TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The tag filter key.", - "title": "Key", - "type": "string" - }, - "Type": { - "markdownDescription": "The tag filter type:\n\n- `KEY_ONLY` : Key only.\n- `VALUE_ONLY` : Value only.\n- `KEY_AND_VALUE` : Key and value.", - "title": "Type", - "type": "string" - }, - "Value": { - "markdownDescription": "The tag filter value.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.EC2TagSet": { - "additionalProperties": false, - "properties": { - "Ec2TagSetList": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagSetListObject" - }, - "markdownDescription": "The Amazon EC2 tags that are already applied to Amazon EC2 instances that you want to include in the deployment group. CodeDeploy includes all Amazon EC2 instances identified by any of the tags you specify in this deployment group.\n\nDuplicates are not allowed.", - "title": "Ec2TagSetList", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.EC2TagSetListObject": { - "additionalProperties": false, - "properties": { - "Ec2TagGroup": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagFilter" - }, - "markdownDescription": "A list that contains other lists of Amazon EC2 instance tag groups. For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list.", - "title": "Ec2TagGroup", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.ECSService": { - "additionalProperties": false, - "properties": { - "ClusterName": { - "markdownDescription": "The name of the cluster that the Amazon ECS service is associated with.", - "title": "ClusterName", - "type": "string" - }, - "ServiceName": { - "markdownDescription": "The name of the target Amazon ECS service.", - "title": "ServiceName", - "type": "string" - } - }, - "required": [ - "ClusterName", - "ServiceName" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.ELBInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "For blue/green deployments, the name of the load balancer that is used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment is complete.\n\n> CloudFormation supports blue/green deployments on AWS Lambda compute platforms only.", - "title": "Name", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.GitHubLocation": { - "additionalProperties": false, - "properties": { - "CommitId": { - "markdownDescription": "The SHA1 commit ID of the GitHub commit that represents the bundled artifacts for the application revision.", - "title": "CommitId", - "type": "string" - }, - "Repository": { - "markdownDescription": "The GitHub account and repository pair that stores a reference to the commit that represents the bundled artifacts for the application revision.\n\nSpecify the value as `account/repository` .", - "title": "Repository", - "type": "string" - } - }, - "required": [ - "CommitId", - "Repository" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.GreenFleetProvisioningOption": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "The method used to add instances to a replacement environment.\n\n- `DISCOVER_EXISTING` : Use instances that already exist or will be created manually.\n- `COPY_AUTO_SCALING_GROUP` : Use settings from a specified Auto Scaling group to define and create instances in a new Auto Scaling group.", - "title": "Action", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.LoadBalancerInfo": { - "additionalProperties": false, - "properties": { - "ElbInfoList": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.ELBInfo" - }, - "markdownDescription": "An array that contains information about the load balancers to use for load balancing in a deployment. If you're using Classic Load Balancers, specify those load balancers in this array.\n\n> You can add up to 10 load balancers to the array. > If you're using Application Load Balancers or Network Load Balancers, use the `targetGroupInfoList` array instead of this one.", - "title": "ElbInfoList", - "type": "array" - }, - "TargetGroupInfoList": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo" - }, - "markdownDescription": "An array that contains information about the target groups to use for load balancing in a deployment. If you're using Application Load Balancers and Network Load Balancers, specify their associated target groups in this array.\n\n> You can add up to 10 target groups to the array. > If you're using Classic Load Balancers, use the `elbInfoList` array instead of this one.", - "title": "TargetGroupInfoList", - "type": "array" - }, - "TargetGroupPairInfoList": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupPairInfo" - }, - "markdownDescription": "The target group pair information. This is an array of `TargeGroupPairInfo` objects with a maximum size of one.", - "title": "TargetGroupPairInfoList", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": { - "additionalProperties": false, - "properties": { - "OnPremisesTagSetList": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject" - }, - "markdownDescription": "A list that contains other lists of on-premises instance tag groups. For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list.\n\nDuplicates are not allowed.", - "title": "OnPremisesTagSetList", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": { - "additionalProperties": false, - "properties": { - "OnPremisesTagGroup": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" - }, - "markdownDescription": "Information about groups of on-premises instance tags.", - "title": "OnPremisesTagGroup", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.RevisionLocation": { - "additionalProperties": false, - "properties": { - "GitHubLocation": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GitHubLocation", - "markdownDescription": "Information about the location of application artifacts stored in GitHub.", - "title": "GitHubLocation" - }, - "RevisionType": { - "markdownDescription": "The type of application revision:\n\n- S3: An application revision stored in Amazon S3.\n- GitHub: An application revision stored in GitHub (EC2/On-premises deployments only).\n- String: A YAML-formatted or JSON-formatted string ( AWS Lambda deployments only).\n- AppSpecContent: An `AppSpecContent` object that contains the contents of an AppSpec file for an AWS Lambda or Amazon ECS deployment. The content is formatted as JSON or YAML stored as a RawString.", - "title": "RevisionType", - "type": "string" - }, - "S3Location": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.S3Location", - "markdownDescription": "Information about the location of a revision stored in Amazon S3.", - "title": "S3Location" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "markdownDescription": "The name of the Amazon S3 bucket where the application revision is stored.", - "title": "Bucket", - "type": "string" - }, - "BundleType": { - "markdownDescription": "The file type of the application revision. Must be one of the following:\n\n- JSON\n- tar: A tar archive file.\n- tgz: A compressed tar archive file.\n- YAML\n- zip: A zip archive file.", - "title": "BundleType", - "type": "string" - }, - "ETag": { - "markdownDescription": "The ETag of the Amazon S3 object that represents the bundled artifacts for the application revision.\n\nIf the ETag is not specified as an input parameter, ETag validation of the object is skipped.", - "title": "ETag", - "type": "string" - }, - "Key": { - "markdownDescription": "The name of the Amazon S3 object that represents the bundled artifacts for the application revision.", - "title": "Key", - "type": "string" - }, - "Version": { - "markdownDescription": "A specific version of the Amazon S3 object that represents the bundled artifacts for the application revision.\n\nIf the version is not specified, the system uses the most recent version by default.", - "title": "Version", - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The on-premises instance tag filter key.", - "title": "Key", - "type": "string" - }, - "Type": { - "markdownDescription": "The on-premises instance tag filter type:\n\n- KEY_ONLY: Key only.\n- VALUE_ONLY: Value only.\n- KEY_AND_VALUE: Key and value.", - "title": "Type", - "type": "string" - }, - "Value": { - "markdownDescription": "The on-premises instance tag filter value.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "For blue/green deployments, the name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes. No duplicates allowed.\n\n> CloudFormation supports blue/green deployments on AWS Lambda compute platforms only. \n\nThis value cannot exceed 32 characters, so you should use the `Name` property of the target group, or the `TargetGroupName` attribute with the `Fn::GetAtt` intrinsic function, as shown in the following example. Don't use the group's Amazon Resource Name (ARN) or `TargetGroupFullName` attribute.", - "title": "Name", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TargetGroupPairInfo": { - "additionalProperties": false, - "properties": { - "ProdTrafficRoute": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TrafficRoute", - "markdownDescription": "The path used by a load balancer to route production traffic when an Amazon ECS deployment is complete.", - "title": "ProdTrafficRoute" - }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo" - }, - "markdownDescription": "One pair of target groups. One is associated with the original task set. The second is associated with the task set that serves traffic after the deployment is complete.", - "title": "TargetGroups", - "type": "array" - }, - "TestTrafficRoute": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TrafficRoute", - "markdownDescription": "An optional path used by a load balancer to route test traffic after an Amazon ECS deployment. Validation can occur while test traffic is served during a deployment.", - "title": "TestTrafficRoute" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TrafficRoute": { - "additionalProperties": false, - "properties": { - "ListenerArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) of one listener. The listener identifies the route between a target group and a load balancer. This is an array of strings with a maximum size of one.", - "title": "ListenerArns", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": { - "additionalProperties": false, - "properties": { - "TriggerEvents": { - "items": { - "type": "string" - }, - "markdownDescription": "The event type or types that trigger notifications.", - "title": "TriggerEvents", - "type": "array" - }, - "TriggerName": { - "markdownDescription": "The name of the notification trigger.", - "title": "TriggerName", - "type": "string" - }, - "TriggerTargetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic through which notifications about deployment or instance events are sent.", - "title": "TriggerTargetArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeGuruProfiler::ProfilingGroup": { + "AWS::CloudWatch::Dashboard": { "additionalProperties": false, "properties": { "Condition": { @@ -78704,46 +79290,31 @@ "Properties": { "additionalProperties": false, "properties": { - "AgentPermissions": { - "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.AgentPermissions", - "markdownDescription": "The agent permissions attached to this profiling group. This action group grants `ConfigureAgent` and `PostAgentProfile` permissions to perform actions required by the profiling agent. The Json consists of key `Principals` .\n\n*Principals* : A list of string ARNs for the roles and users you want to grant access to the profiling group. Wildcards are not supported in the ARNs. You are allowed to provide up to 50 ARNs. An empty list is not permitted. This is a required key.\n\nFor more information, see [Resource-based policies in CodeGuru Profiler](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/resource-based-policies.html) in the *Amazon CodeGuru Profiler user guide* , [ConfigureAgent](https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html) , and [PostAgentProfile](https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PostAgentProfile.html) .", - "title": "AgentPermissions" - }, - "AnomalyDetectionNotificationConfiguration": { - "items": { - "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" - }, - "markdownDescription": "Adds anomaly notifications for a profiling group.", - "title": "AnomalyDetectionNotificationConfiguration", - "type": "array" - }, - "ComputePlatform": { - "markdownDescription": "The compute platform of the profiling group. Use `AWSLambda` if your application runs on AWS Lambda. Use `Default` if your application runs on a compute platform that is not AWS Lambda , such an Amazon EC2 instance, an on-premises server, or a different platform. If not specified, `Default` is used. This property is immutable.", - "title": "ComputePlatform", + "DashboardBody": { + "markdownDescription": "The detailed information about the dashboard in JSON format, including the widgets to include and their location on the dashboard. This parameter is required.\n\nFor more information about the syntax, see [Dashboard Body Structure and Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html) .", + "title": "DashboardBody", "type": "string" }, - "ProfilingGroupName": { - "markdownDescription": "The name of the profiling group.", - "title": "ProfilingGroupName", + "DashboardName": { + "markdownDescription": "The name of the dashboard. The name must be between 1 and 255 characters. If you do not specify a name, one will be generated automatically.", + "title": "DashboardName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of tags to add to the created profiling group.", - "title": "Tags", "type": "array" } }, "required": [ - "ProfilingGroupName" + "DashboardBody" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeGuruProfiler::ProfilingGroup" + "AWS::CloudWatch::Dashboard" ], "type": "string" }, @@ -78762,43 +79333,7 @@ ], "type": "object" }, - "AWS::CodeGuruProfiler::ProfilingGroup.AgentPermissions": { - "additionalProperties": false, - "properties": { - "Principals": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Principals", - "type": "array" - } - }, - "required": [ - "Principals" - ], - "type": "object" - }, - "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { - "additionalProperties": false, - "properties": { - "channelId": { - "markdownDescription": "The channel ID.", - "title": "channelId", - "type": "string" - }, - "channelUri": { - "markdownDescription": "The channel URI.", - "title": "channelUri", - "type": "string" - } - }, - "required": [ - "channelUri" - ], - "type": "object" - }, - "AWS::CodeGuruReviewer::RepositoryAssociation": { + "AWS::CloudWatch::InsightRule": { "additionalProperties": false, "properties": { "Condition": { @@ -78833,49 +79368,45 @@ "Properties": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The name of the bucket. This is required for your S3Bucket repository. The name must start with the prefix `codeguru-reviewer-*` .", - "title": "BucketName", - "type": "string" + "ApplyOnTransformedLogs": { + "markdownDescription": "Determines whether the rules is evaluated on transformed versions of logs. Valid values are `TRUE` and `FALSE` .", + "title": "ApplyOnTransformedLogs", + "type": "boolean" }, - "ConnectionArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is `arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id` . For more information, see [Connection](https://docs.aws.amazon.com/codestar-connections/latest/APIReference/API_Connection.html) in the *AWS CodeStar Connections API Reference* .\n\n`ConnectionArn` must be specified for Bitbucket and GitHub Enterprise Server repositories. It has no effect if it is specified for an AWS CodeCommit repository.", - "title": "ConnectionArn", + "RuleBody": { + "markdownDescription": "The definition of the rule, as a JSON object. For details about the syntax, see [Contributor Insights Rule Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html) in the *Amazon CloudWatch User Guide* .", + "title": "RuleBody", "type": "string" }, - "Name": { - "markdownDescription": "The name of the repository.", - "title": "Name", + "RuleName": { + "markdownDescription": "The name of the rule.", + "title": "RuleName", "type": "string" }, - "Owner": { - "markdownDescription": "The owner of the repository. For a GitHub Enterprise Server or Bitbucket repository, this is the username for the account that owns the repository.\n\n`Owner` must be specified for Bitbucket and GitHub Enterprise Server repositories. It has no effect if it is specified for an AWS CodeCommit repository.", - "title": "Owner", + "RuleState": { + "markdownDescription": "The current state of the rule. Valid values are `ENABLED` and `DISABLED` .", + "title": "RuleState", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts:\n\n- A *tag key* (for example, `CostCenter` , `Environment` , `Project` , or `Secret` ). Tag keys are case sensitive.\n- An optional field known as a *tag value* (for example, `111122223333` , `Production` , or a team name). Omitting the tag value is the same as using an empty string. Like tag keys, tag values are case sensitive.", + "markdownDescription": "A list of key-value pairs to associate with the Contributor Insights rule. You can associate as many as 50 tags with a rule.\n\nTags can help you organize and categorize your resources. For more information, see [Tagging Your Amazon CloudWatch Resources](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Tagging.html) .\n\nTo be able to associate tags with a rule, you must have the `cloudwatch:TagResource` permission in addition to the `cloudwatch:PutInsightRule` permission.", "title": "Tags", "type": "array" - }, - "Type": { - "markdownDescription": "The type of repository that contains the source code to be reviewed. The valid values are:\n\n- `CodeCommit`\n- `Bitbucket`\n- `GitHubEnterpriseServer`\n- `S3Bucket`", - "title": "Type", - "type": "string" } }, "required": [ - "Name", - "Type" + "RuleBody", + "RuleName", + "RuleState" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeGuruReviewer::RepositoryAssociation" + "AWS::CloudWatch::InsightRule" ], "type": "string" }, @@ -78894,7 +79425,7 @@ ], "type": "object" }, - "AWS::CodePipeline::CustomActionType": { + "AWS::CloudWatch::LogAlarm": { "additionalProperties": false, "properties": { "Condition": { @@ -78929,65 +79460,79 @@ "Properties": { "additionalProperties": false, "properties": { - "Category": { - "markdownDescription": "The category of the custom action, such as a build action or a test action.", - "title": "Category", + "ActionLogLineCount": { + "type": "number" + }, + "ActionLogLineRoleArn": { "type": "string" }, - "ConfigurationProperties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { "items": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ConfigurationProperties" + "type": "string" }, - "markdownDescription": "The configuration properties for the custom action.\n\n> You can refer to a name in the configuration properties of the custom action within the URL templates by following the format of {Config:name}, as long as the configuration property is both required and not secret. For more information, see [Create a Custom Action for a Pipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-create-custom-action.html) .", - "title": "ConfigurationProperties", "type": "array" }, - "InputArtifactDetails": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails", - "markdownDescription": "The details of the input artifact for the action, such as its commit ID.", - "title": "InputArtifactDetails" + "AlarmDescription": { + "type": "string" }, - "OutputArtifactDetails": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails", - "markdownDescription": "The details of the output artifact of the action, such as its commit ID.", - "title": "OutputArtifactDetails" + "AlarmName": { + "type": "string" }, - "Provider": { - "markdownDescription": "The provider of the service used in the custom action, such as CodeDeploy.", - "title": "Provider", + "ComparisonOperator": { "type": "string" }, - "Settings": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.Settings", - "markdownDescription": "URLs that provide users information about this custom action.", - "title": "Settings" + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QueryResultsToAlarm": { + "type": "number" + }, + "QueryResultsToEvaluate": { + "type": "number" + }, + "ScheduledQueryConfiguration": { + "$ref": "#/definitions/AWS::CloudWatch::LogAlarm.ScheduledQueryConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the custom action.", - "title": "Tags", "type": "array" }, - "Version": { - "markdownDescription": "The version identifier of the custom action.", - "title": "Version", + "Threshold": { + "type": "number" + }, + "TreatMissingData": { "type": "string" + }, + "WarmUpConfiguration": { + "$ref": "#/definitions/AWS::CloudWatch::LogAlarm.WarmUpConfiguration" } }, "required": [ - "Category", - "InputArtifactDetails", - "OutputArtifactDetails", - "Provider", - "Version" + "ComparisonOperator", + "QueryResultsToAlarm", + "QueryResultsToEvaluate", + "ScheduledQueryConfiguration", + "Threshold" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodePipeline::CustomActionType" + "AWS::CloudWatch::LogAlarm" ], "type": "string" }, @@ -79006,100 +79551,74 @@ ], "type": "object" }, - "AWS::CodePipeline::CustomActionType.ArtifactDetails": { + "AWS::CloudWatch::LogAlarm.ScheduleConfiguration": { "additionalProperties": false, "properties": { - "MaximumCount": { - "markdownDescription": "The maximum number of artifacts allowed for the action type.", - "title": "MaximumCount", + "EndTimeOffset": { "type": "number" }, - "MinimumCount": { - "markdownDescription": "The minimum number of artifacts allowed for the action type.", - "title": "MinimumCount", + "ScheduleExpression": { + "type": "string" + }, + "StartTimeOffset": { "type": "number" } }, "required": [ - "MaximumCount", - "MinimumCount" + "ScheduleExpression", + "StartTimeOffset" ], "type": "object" }, - "AWS::CodePipeline::CustomActionType.ConfigurationProperties": { + "AWS::CloudWatch::LogAlarm.ScheduledQueryConfiguration": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the action configuration property that is displayed to users.", - "title": "Description", + "AggregationExpression": { "type": "string" }, - "Key": { - "markdownDescription": "Whether the configuration property is a key.", - "title": "Key", - "type": "boolean" + "LogGroupIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" }, - "Name": { - "markdownDescription": "The name of the action configuration property.", - "title": "Name", + "QueryString": { "type": "string" }, - "Queryable": { - "markdownDescription": "Indicates that the property is used with `PollForJobs` . When creating a custom action, an action can have up to one queryable property. If it has one, that property must be both required and not secret.\n\nIf you create a pipeline with a custom action type, and that custom action contains a queryable property, the value for that configuration property is subject to other restrictions. The value must be less than or equal to twenty (20) characters. The value can contain only alphanumeric characters, underscores, and hyphens.", - "title": "Queryable", - "type": "boolean" - }, - "Required": { - "markdownDescription": "Whether the configuration property is a required value.", - "title": "Required", - "type": "boolean" - }, - "Secret": { - "markdownDescription": "Whether the configuration property is secret. Secrets are hidden from all calls except for `GetJobDetails` , `GetThirdPartyJobDetails` , `PollForJobs` , and `PollForThirdPartyJobs` .\n\nWhen updating a pipeline, passing * * * * * without changing any other values of the action preserves the previous value of the secret.", - "title": "Secret", - "type": "boolean" + "ScheduleConfiguration": { + "$ref": "#/definitions/AWS::CloudWatch::LogAlarm.ScheduleConfiguration" }, - "Type": { - "markdownDescription": "The type of the configuration property.", - "title": "Type", + "ScheduledQueryRoleARN": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Key", - "Name", - "Required", - "Secret" + "AggregationExpression", + "QueryString", + "ScheduleConfiguration", + "ScheduledQueryRoleARN" ], "type": "object" }, - "AWS::CodePipeline::CustomActionType.Settings": { + "AWS::CloudWatch::LogAlarm.WarmUpConfiguration": { "additionalProperties": false, "properties": { - "EntityUrlTemplate": { - "markdownDescription": "The URL returned to the CodePipeline console that provides a deep link to the resources of the external system, such as the configuration page for a CodeDeploy deployment group. This link is provided as part of the action display in the pipeline.", - "title": "EntityUrlTemplate", - "type": "string" - }, - "ExecutionUrlTemplate": { - "markdownDescription": "The URL returned to the CodePipeline console that contains a link to the top-level landing page for the external system, such as the console page for CodeDeploy. This link is shown on the pipeline view page in the CodePipeline console and provides a link to the execution entity of the external action.", - "title": "ExecutionUrlTemplate", - "type": "string" - }, - "RevisionUrlTemplate": { - "markdownDescription": "The URL returned to the CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action.", - "title": "RevisionUrlTemplate", - "type": "string" + "OnlyStartEvaluatingAfterWarmUpPeriodEnds": { + "type": "boolean" }, - "ThirdPartyConfigurationUrl": { - "markdownDescription": "The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service.", - "title": "ThirdPartyConfigurationUrl", - "type": "string" + "WarmUpPeriodDurationInMinutes": { + "type": "number" } }, "type": "object" }, - "AWS::CodePipeline::Pipeline": { + "AWS::CloudWatch::MetricStream": { "additionalProperties": false, "properties": { "Condition": { @@ -79134,94 +79653,74 @@ "Properties": { "additionalProperties": false, "properties": { - "ArtifactStore": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore", - "markdownDescription": "The S3 bucket where artifacts for the pipeline are stored.\n\n> You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` .", - "title": "ArtifactStore" - }, - "ArtifactStores": { + "ExcludeFilters": { "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStoreMap" + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" }, - "markdownDescription": "A mapping of `artifactStore` objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.\n\n> You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` .", - "title": "ArtifactStores", + "markdownDescription": "If you specify this parameter, the stream sends metrics from all metric namespaces except for the namespaces that you specify here. You cannot specify both `IncludeFilters` and `ExcludeFilters` in the same metric stream.\n\nWhen you modify the `IncludeFilters` or `ExcludeFilters` of an existing metric stream in any way, the metric stream is effectively restarted, so after such a change you will get only the datapoints that have a timestamp after the time of the update.", + "title": "ExcludeFilters", "type": "array" }, - "DisableInboundStageTransitions": { + "FirehoseArn": { + "markdownDescription": "The ARN of the Amazon Kinesis Firehose delivery stream to use for this metric stream. This Amazon Kinesis Firehose delivery stream must already exist and must be in the same account as the metric stream.", + "title": "FirehoseArn", + "type": "string" + }, + "IncludeFilters": { "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageTransition" + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" }, - "markdownDescription": "Represents the input of a `DisableStageTransition` action.", - "title": "DisableInboundStageTransitions", + "markdownDescription": "If you specify this parameter, the stream sends only the metrics from the metric namespaces that you specify here. You cannot specify both `IncludeFilters` and `ExcludeFilters` in the same metric stream.\n\nWhen you modify the `IncludeFilters` or `ExcludeFilters` of an existing metric stream in any way, the metric stream is effectively restarted, so after such a change you will get only the datapoints that have a timestamp after the time of the update.", + "title": "IncludeFilters", "type": "array" }, - "ExecutionMode": { - "markdownDescription": "The method that the pipeline will use to handle multiple executions. The default mode is SUPERSEDED.", - "title": "ExecutionMode", - "type": "string" + "IncludeLinkedAccountsMetrics": { + "markdownDescription": "If you are creating a metric stream in a monitoring account, specify `true` to include metrics from source accounts that are linked to this monitoring account, in the metric stream. The default is `false` .\n\nFor more information about linking accounts, see [CloudWatch cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)", + "title": "IncludeLinkedAccountsMetrics", + "type": "boolean" }, "Name": { - "markdownDescription": "The name of the pipeline.", + "markdownDescription": "If you are creating a new metric stream, this is the name for the new stream. The name must be different than the names of other metric streams in this account and Region.\n\nIf you are updating a metric stream, specify the name of that stream here.", "title": "Name", "type": "string" }, - "PipelineType": { - "markdownDescription": "CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.\n\n- V1 type pipelines have a JSON structure that contains standard pipeline, stage, and action-level parameters.\n- V2 type pipelines have the same structure as a V1 type, along with additional parameters for release safety and trigger configuration.\n\n> Including V2 parameters, such as triggers on Git tags, in the pipeline JSON when creating or updating a pipeline will result in the pipeline having the V2 type of pipeline and the associated costs. \n\nFor information about pricing for CodePipeline, see [Pricing](https://docs.aws.amazon.com/codepipeline/pricing/) .\n\nFor information about which type of pipeline to choose, see [What type of pipeline is right for me?](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html) .", - "title": "PipelineType", + "OutputFormat": { + "markdownDescription": "The output format for the stream. Valid values are `json` , `opentelemetry1.0` and `opentelemetry0.7` For more information about metric stream output formats, see [Metric streams output formats](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-formats.html) .\n\nThis parameter is required.", + "title": "OutputFormat", "type": "string" }, - "RestartExecutionOnUpdate": { - "markdownDescription": "Indicates whether to rerun the CodePipeline pipeline after you update it.", - "title": "RestartExecutionOnUpdate", - "type": "boolean" - }, "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for CodePipeline to use to either perform actions with no `actionRoleArn` , or to use to assume roles for actions with an `actionRoleArn` .", + "markdownDescription": "The ARN of an IAM role that this metric stream will use to access Amazon Kinesis Firehose resources. This IAM role must already exist and must be in the same account as the metric stream. This IAM role must include the `firehose:PutRecord` and `firehose:PutRecordBatch` permissions.", "title": "RoleArn", "type": "string" }, - "Stages": { + "StatisticsConfigurations": { "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageDeclaration" + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamStatisticsConfiguration" }, - "markdownDescription": "Represents information about a stage and its definition.", - "title": "Stages", + "markdownDescription": "By default, a metric stream always sends the MAX, MIN, SUM, and SAMPLECOUNT statistics for each metric that is streamed. You can use this parameter to have the metric stream also send additional statistics in the stream. This array can have up to 100 members.\n\nFor each entry in this array, you specify one or more metrics and the list of additional statistics to stream for those metrics. The additional statistics that you can stream depend on the stream's `OutputFormat` . If the `OutputFormat` is `json` , you can stream any additional statistic that is supported by CloudWatch , listed in [CloudWatch statistics definitions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html) . If the `OutputFormat` is OpenTelemetry, you can stream percentile statistics.", + "title": "StatisticsConfigurations", "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies the tags applied to the pipeline.", + "markdownDescription": "An array of key-value pairs to apply to the metric stream.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", "title": "Tags", "type": "array" - }, - "Triggers": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.PipelineTriggerDeclaration" - }, - "markdownDescription": "The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.\n\n> When a trigger configuration is specified, default change detection for repository and branch commits is disabled.", - "title": "Triggers", - "type": "array" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.VariableDeclaration" - }, - "markdownDescription": "A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match `[A-Za-z0-9@\\-_]+` .", - "title": "Variables", - "type": "array" } }, "required": [ - "RoleArn", - "Stages" + "FirehoseArn", + "OutputFormat", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodePipeline::Pipeline" + "AWS::CloudWatch::MetricStream" ], "type": "string" }, @@ -79240,680 +79739,132 @@ ], "type": "object" }, - "AWS::CodePipeline::Pipeline.ActionDeclaration": { + "AWS::CloudWatch::MetricStream.MetricStreamFilter": { "additionalProperties": false, "properties": { - "ActionTypeId": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionTypeId", - "markdownDescription": "Specifies the action type and the provider of the action.", - "title": "ActionTypeId" - }, - "Commands": { + "MetricNames": { "items": { "type": "string" }, - "markdownDescription": "The shell commands to run with your compute action in CodePipeline. All commands are supported except multi-line formats. While CodeBuild logs and permissions are used, you do not need to create any resources in CodeBuild.\n\n> Using compute time for this action will incur separate charges in AWS CodeBuild .", - "title": "Commands", - "type": "array" - }, - "Configuration": { - "markdownDescription": "The action's configuration. These are key-value pairs that specify input values for an action. For more information, see [Action Structure Requirements in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements) . For the list of configuration properties for the AWS CloudFormation action type in CodePipeline, see [Configuration Properties Reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html) in the *AWS CloudFormation User Guide* . For template snippets with examples, see [Using Parameter Override Functions with CodePipeline Pipelines](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html) in the *AWS CloudFormation User Guide* .\n\nThe values can be represented in either JSON or YAML format. For example, the JSON configuration item format is as follows:\n\n*JSON:*\n\n`\"Configuration\" : { Key : Value },`", - "title": "Configuration", - "type": "object" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EnvironmentVariable" - }, - "markdownDescription": "The environment variables for the action.", - "title": "EnvironmentVariables", - "type": "array" - }, - "InputArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" - }, - "markdownDescription": "The name or ID of the artifact consumed by the action, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of input artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* .\n\n> For a CodeBuild action with multiple input artifacts, one of your input sources must be designated the PrimarySource. For more information, see the [CodeBuild action reference page](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodeBuild.html) in the *AWS CodePipeline User Guide* .", - "title": "InputArtifacts", + "markdownDescription": "The names of the metrics to either include or exclude from the metric stream.\n\nIf you omit this parameter, all metrics in the namespace are included or excluded, depending on whether this filter is specified as an exclude filter or an include filter.\n\nEach metric name can contain only ASCII printable characters (ASCII range 32 through 126). Each metric name must contain at least one non-whitespace character.", + "title": "MetricNames", "type": "array" }, - "Name": { - "markdownDescription": "The action declaration's name.", - "title": "Name", - "type": "string" - }, "Namespace": { - "markdownDescription": "The variable namespace associated with the action. All variables produced as output by this action fall under this namespace.", + "markdownDescription": "The name of the metric namespace in the filter.\n\nThe namespace can contain only ASCII printable characters (ASCII range 32 through 126). It must contain at least one non-whitespace character.", "title": "Namespace", "type": "string" - }, - "OutputArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.OutputArtifact" - }, - "markdownDescription": "The name or ID of the result of the action declaration, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of output artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* .", - "title": "OutputArtifacts", - "type": "array" - }, - "OutputVariables": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of variables that are to be exported from the compute action. This is specifically CodeBuild environment variables as used for that action.", - "title": "OutputVariables", - "type": "array" - }, - "Region": { - "markdownDescription": "The action declaration's AWS Region, such as us-east-1.", - "title": "Region", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline.", - "title": "RoleArn", - "type": "string" - }, - "RunOrder": { - "markdownDescription": "The order in which actions are run.", - "title": "RunOrder", - "type": "number" - }, - "TimeoutInMinutes": { - "markdownDescription": "A timeout duration in minutes that can be applied against the ActionType\u2019s default timeout value specified in [Quotas for AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/limits.html) . This attribute is available only to the manual approval ActionType.", - "title": "TimeoutInMinutes", - "type": "number" - } - }, - "required": [ - "ActionTypeId", - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ActionTypeId": { - "additionalProperties": false, - "properties": { - "Category": { - "markdownDescription": "A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.\n\n- `Source`\n- `Build`\n- `Test`\n- `Deploy`\n- `Invoke`\n- `Approval`\n- `Compute`", - "title": "Category", - "type": "string" - }, - "Owner": { - "markdownDescription": "The creator of the action being called. There are three valid values for the `Owner` field in the action category section within your pipeline structure: `AWS` , `ThirdParty` , and `Custom` . For more information, see [Valid Action Types and Providers in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#actions-valid-providers) .", - "title": "Owner", - "type": "string" - }, - "Provider": { - "markdownDescription": "The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of CodeDeploy, which would be specified as `CodeDeploy` . For more information, see [Valid Action Types and Providers in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#actions-valid-providers) .", - "title": "Provider", - "type": "string" - }, - "Version": { - "markdownDescription": "A string that describes the action version.", - "title": "Version", - "type": "string" - } - }, - "required": [ - "Category", - "Owner", - "Provider", - "Version" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ArtifactStore": { - "additionalProperties": false, - "properties": { - "EncryptionKey": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EncryptionKey", - "markdownDescription": "The encryption key used to encrypt the data in the artifact store, such as an AWS Key Management Service ( AWS KMS) key. If this is undefined, the default key for Amazon S3 is used. To see an example artifact store encryption key field, see the example structure here: [AWS::CodePipeline::Pipeline](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html) .", - "title": "EncryptionKey" - }, - "Location": { - "markdownDescription": "The S3 bucket used for storing the artifacts for a pipeline. You can specify the name of an S3 bucket but not a folder in the bucket. A folder to contain the pipeline artifacts is created for you based on the name of the pipeline. You can use any S3 bucket in the same AWS Region as the pipeline to store your pipeline artifacts.", - "title": "Location", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of the artifact store, such as S3.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Location", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ArtifactStoreMap": { - "additionalProperties": false, - "properties": { - "ArtifactStore": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore", - "markdownDescription": "Represents information about the S3 bucket where artifacts are stored for the pipeline.\n\n> You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` .", - "title": "ArtifactStore" - }, - "Region": { - "markdownDescription": "The action declaration's AWS Region, such as us-east-1.", - "title": "Region", - "type": "string" - } - }, - "required": [ - "ArtifactStore", - "Region" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.BeforeEntryConditions": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.Condition" - }, - "markdownDescription": "The conditions that are configured as entry conditions.", - "title": "Conditions", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.BlockerDeclaration": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "Reserved for future use.", - "title": "Name", - "type": "string" - }, - "Type": { - "markdownDescription": "Reserved for future use.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.Condition": { - "additionalProperties": false, - "properties": { - "Result": { - "markdownDescription": "The action to be done when the condition is met. For example, rolling back an execution for a failure condition.", - "title": "Result", - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.RuleDeclaration" - }, - "markdownDescription": "The rules that make up the condition.", - "title": "Rules", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.EncryptionKey": { - "additionalProperties": false, - "properties": { - "Id": { - "markdownDescription": "The ID used to identify the key. For an AWS KMS key, you can use the key ID, the key ARN, or the alias ARN.\n\n> Aliases are recognized only in the account that created the AWS key. For cross-account actions, you can only use the key ID or key ARN to identify the key. Cross-account actions involve using the role from the other account (AccountB), so specifying the key ID will use the key from the other account (AccountB).", - "title": "Id", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of encryption key, such as an AWS KMS key. When creating or updating a pipeline, the value must be set to 'KMS'.", - "title": "Type", - "type": "string" } }, "required": [ - "Id", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The environment variable name in the key-value pair.", - "title": "Name", - "type": "string" - }, - "Type": { - "markdownDescription": "Specifies the type of use for the environment variable value. The value can be either `PLAINTEXT` or `SECRETS_MANAGER` . If the value is `SECRETS_MANAGER` , provide the Secrets reference in the EnvironmentVariable value.", - "title": "Type", - "type": "string" - }, - "Value": { - "markdownDescription": "The environment variable value in the key-value pair.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.FailureConditions": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.Condition" - }, - "markdownDescription": "The conditions that are configured as failure conditions. For more information about conditions, see [Stage conditions](https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html) and [How do stage conditions work?](https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html) .", - "title": "Conditions", - "type": "array" - }, - "Result": { - "markdownDescription": "The specified result for when the failure conditions are met, such as rolling back the stage.", - "title": "Result", - "type": "string" - }, - "RetryConfiguration": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.RetryConfiguration", - "markdownDescription": "The retry configuration specifies automatic retry for a failed stage, along with the configured retry mode.", - "title": "RetryConfiguration" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.GitBranchFilterCriteria": { - "additionalProperties": false, - "properties": { - "Excludes": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of patterns of Git branches that, when a commit is pushed, are to be excluded from starting the pipeline.", - "title": "Excludes", - "type": "array" - }, - "Includes": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of patterns of Git branches that, when a commit is pushed, are to be included as criteria that starts the pipeline.", - "title": "Includes", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.GitConfiguration": { - "additionalProperties": false, - "properties": { - "PullRequest": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitPullRequestFilter" - }, - "markdownDescription": "The field where the repository event that will start the pipeline is specified as pull requests.", - "title": "PullRequest", - "type": "array" - }, - "Push": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitPushFilter" - }, - "markdownDescription": "The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details.", - "title": "Push", - "type": "array" - }, - "SourceActionName": { - "markdownDescription": "The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only.\n\n> You can only specify one trigger configuration per source action.", - "title": "SourceActionName", - "type": "string" - } - }, - "required": [ - "SourceActionName" + "Namespace" ], "type": "object" }, - "AWS::CodePipeline::Pipeline.GitFilePathFilterCriteria": { - "additionalProperties": false, - "properties": { - "Excludes": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.", - "title": "Excludes", - "type": "array" - }, - "Includes": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.", - "title": "Includes", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.GitPullRequestFilter": { - "additionalProperties": false, - "properties": { - "Branches": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitBranchFilterCriteria", - "markdownDescription": "The field that specifies to filter on branches for the pull request trigger configuration.", - "title": "Branches" - }, - "Events": { - "items": { - "type": "string" - }, - "markdownDescription": "The field that specifies which pull request events to filter on (OPEN, UPDATED, CLOSED) for the trigger configuration.", - "title": "Events", - "type": "array" - }, - "FilePaths": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitFilePathFilterCriteria", - "markdownDescription": "The field that specifies to filter on file paths for the pull request trigger configuration.", - "title": "FilePaths" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.GitPushFilter": { - "additionalProperties": false, - "properties": { - "Branches": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitBranchFilterCriteria", - "markdownDescription": "The field that specifies to filter on branches for the push trigger configuration.", - "title": "Branches" - }, - "FilePaths": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitFilePathFilterCriteria", - "markdownDescription": "The field that specifies to filter on file paths for the push trigger configuration.", - "title": "FilePaths" - }, - "Tags": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitTagFilterCriteria", - "markdownDescription": "The field that contains the details for the Git tags trigger configuration.", - "title": "Tags" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.GitTagFilterCriteria": { + "AWS::CloudWatch::MetricStream.MetricStreamStatisticsConfiguration": { "additionalProperties": false, "properties": { - "Excludes": { + "AdditionalStatistics": { "items": { "type": "string" }, - "markdownDescription": "The list of patterns of Git tags that, when pushed, are to be excluded from starting the pipeline.", - "title": "Excludes", + "markdownDescription": "The additional statistics to stream for the metrics listed in `IncludeMetrics` .", + "title": "AdditionalStatistics", "type": "array" }, - "Includes": { + "IncludeMetrics": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamStatisticsMetric" }, - "markdownDescription": "The list of patterns of Git tags that, when pushed, are to be included as criteria that starts the pipeline.", - "title": "Includes", + "markdownDescription": "An array that defines the metrics that are to have additional statistics streamed.", + "title": "IncludeMetrics", "type": "array" } }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.InputArtifact": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the artifact to be worked on (for example, \"My App\").\n\nArtifacts are the files that are worked on by actions in the pipeline. See the action configuration for each action for details about artifact parameters. For example, the S3 source action input artifact is a file name (or file path), and the files are generally provided as a ZIP file. Example artifact name: SampleApp_Windows.zip\n\nThe input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.", - "title": "Name", - "type": "string" - } - }, "required": [ - "Name" + "AdditionalStatistics", + "IncludeMetrics" ], "type": "object" }, - "AWS::CodePipeline::Pipeline.OutputArtifact": { + "AWS::CloudWatch::MetricStream.MetricStreamStatisticsMetric": { "additionalProperties": false, "properties": { - "Files": { - "items": { - "type": "string" - }, - "markdownDescription": "The files that you want to associate with the output artifact that will be exported from the compute action.", - "title": "Files", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the output of an artifact, such as \"My App\".\n\nThe output artifact name must exactly match the input artifact declared for a downstream action. However, the downstream action's input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.\n\nOutput artifact names must be unique within a pipeline.", - "title": "Name", + "MetricName": { + "markdownDescription": "The name of the metric.", + "title": "MetricName", "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.PipelineTriggerDeclaration": { - "additionalProperties": false, - "properties": { - "GitConfiguration": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitConfiguration", - "markdownDescription": "Provides the filter criteria and the source stage for the repository event that starts the pipeline, such as Git tags.", - "title": "GitConfiguration" }, - "ProviderType": { - "markdownDescription": "The source provider for the event, such as connections configured for a repository with Git tags, for the specified trigger configuration.", - "title": "ProviderType", + "Namespace": { + "markdownDescription": "The namespace of the metric.", + "title": "Namespace", "type": "string" } }, "required": [ - "ProviderType" + "MetricName", + "Namespace" ], "type": "object" }, - "AWS::CodePipeline::Pipeline.RetryConfiguration": { - "additionalProperties": false, - "properties": { - "RetryMode": { - "markdownDescription": "The method that you want to configure for automatic stage retry on stage failure. You can specify to retry only failed action in the stage or all actions in the stage.", - "title": "RetryMode", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.RuleDeclaration": { - "additionalProperties": false, - "properties": { - "Commands": { - "items": { - "type": "string" - }, - "markdownDescription": "The shell commands to run with your commands rule in CodePipeline. All commands are supported except multi-line formats. While CodeBuild logs and permissions are used, you do not need to create any resources in CodeBuild.\n\n> Using compute time for this action will incur separate charges in AWS CodeBuild .", - "title": "Commands", - "type": "array" - }, - "Configuration": { - "markdownDescription": "The action configuration fields for the rule.", - "title": "Configuration", - "type": "object" - }, - "InputArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" - }, - "markdownDescription": "The input artifacts fields for the rule, such as specifying an input file for the rule.", - "title": "InputArtifacts", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the rule that is created for the condition, such as `VariableCheck` .", - "title": "Name", - "type": "string" - }, - "Region": { - "markdownDescription": "The Region for the condition associated with the rule.", - "title": "Region", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The pipeline role ARN associated with the rule.", - "title": "RoleArn", - "type": "string" - }, - "RuleTypeId": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.RuleTypeId", - "markdownDescription": "The ID for the rule type, which is made up of the combined values for category, owner, provider, and version.", - "title": "RuleTypeId" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.RuleTypeId": { + "AWS::CloudWatch::OTelEnrichment": { "additionalProperties": false, "properties": { - "Category": { - "markdownDescription": "A category defines what kind of rule can be run in the stage, and constrains the provider type for the rule. The valid category is `Rule` .", - "title": "Category", - "type": "string" - }, - "Owner": { - "markdownDescription": "The creator of the rule being called. The valid value for the `Owner` field in the rule category is `AWS` .", - "title": "Owner", - "type": "string" - }, - "Provider": { - "markdownDescription": "The rule provider, such as the `DeploymentWindow` rule. For a list of rule provider names, see the rules listed in the [AWS CodePipeline rule reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html) .", - "title": "Provider", - "type": "string" - }, - "Version": { - "markdownDescription": "A string that describes the rule version.", - "title": "Version", + "Condition": { "type": "string" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.StageDeclaration": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionDeclaration" - }, - "markdownDescription": "The actions included in a stage.", - "title": "Actions", - "type": "array" - }, - "BeforeEntry": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BeforeEntryConditions", - "markdownDescription": "The method to use when a stage allows entry. For example, configuring this field for conditions will allow entry to the stage when the conditions are met.", - "title": "BeforeEntry" - }, - "Blockers": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BlockerDeclaration" - }, - "markdownDescription": "Reserved for future use.", - "title": "Blockers", - "type": "array" }, - "Name": { - "markdownDescription": "The name of the stage.", - "title": "Name", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "OnFailure": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.FailureConditions", - "markdownDescription": "The method to use when a stage has not completed successfully. For example, configuring this field for rollback will roll back a failed stage automatically to the last successful pipeline execution in the stage.", - "title": "OnFailure" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "OnSuccess": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.SuccessConditions", - "markdownDescription": "The method to use when a stage has succeeded. For example, configuring this field for conditions will allow the stage to succeed when the conditions are met.", - "title": "OnSuccess" - } - }, - "required": [ - "Actions", - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.StageTransition": { - "additionalProperties": false, - "properties": { - "Reason": { - "markdownDescription": "The reason given to the user that a stage is disabled, such as waiting for manual approval or manual tests. This message is displayed in the pipeline console UI.", - "title": "Reason", - "type": "string" + "Metadata": { + "type": "object" }, - "StageName": { - "markdownDescription": "The name of the stage where you want to disable the inbound or outbound transition of artifacts.", - "title": "StageName", - "type": "string" - } - }, - "required": [ - "Reason", - "StageName" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.SuccessConditions": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.Condition" - }, - "markdownDescription": "The conditions that are success conditions.", - "title": "Conditions", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline.VariableDeclaration": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "markdownDescription": "The value of a pipeline-level variable.", - "title": "DefaultValue", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" }, - "Description": { - "markdownDescription": "The description of a pipeline-level variable. It's used to add additional context about the variable, and not being used at time when pipeline executes.", - "title": "Description", + "Type": { + "enum": [ + "AWS::CloudWatch::OTelEnrichment" + ], "type": "string" }, - "Name": { - "markdownDescription": "The name of a pipeline-level variable.", - "title": "Name", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Name" + "Type" ], "type": "object" }, - "AWS::CodePipeline::Webhook": { + "AWS::CodeArtifact::Domain": { "additionalProperties": false, "properties": { "Condition": { @@ -79948,68 +79899,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Authentication": { - "markdownDescription": "Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.\n\n> When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities. > If a secret token was provided, it will be redacted in the response. \n\n- For information about the authentication scheme implemented by GITHUB_HMAC, see [Securing your webhooks](https://docs.aws.amazon.com/https://developer.github.com/webhooks/securing/) on the GitHub Developer website.\n- IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration.\n- UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.", - "title": "Authentication", + "DomainName": { + "markdownDescription": "A string that specifies the name of the requested domain.", + "title": "DomainName", "type": "string" }, - "AuthenticationConfiguration": { - "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookAuthConfiguration", - "markdownDescription": "Properties that configure the authentication applied to incoming webhook trigger requests. The required properties depend on the authentication type. For GITHUB_HMAC, only the `SecretToken` property must be set. For IP, only the `AllowedIPRange` property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set.", - "title": "AuthenticationConfiguration" - }, - "Filters": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookFilterRule" - }, - "markdownDescription": "A list of rules applied to the body/payload sent in the POST request to a webhook URL. All defined rules must pass for the request to be accepted and the pipeline started.", - "title": "Filters", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the webhook.", - "title": "Name", + "EncryptionKey": { + "markdownDescription": "The key used to encrypt the domain.", + "title": "EncryptionKey", "type": "string" }, - "RegisterWithThirdParty": { - "markdownDescription": "Configures a connection between the webhook that was created and the external tool with events to be detected.", - "title": "RegisterWithThirdParty", - "type": "boolean" + "PermissionsPolicyDocument": { + "markdownDescription": "The document that defines the resource policy that is set on a domain.", + "title": "PermissionsPolicyDocument", + "type": "object" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "A list of tags to be applied to the domain.", + "title": "Tags", "type": "array" - }, - "TargetAction": { - "markdownDescription": "The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline.", - "title": "TargetAction", - "type": "string" - }, - "TargetPipeline": { - "markdownDescription": "The name of the pipeline you want to connect to the webhook.", - "title": "TargetPipeline", - "type": "string" - }, - "TargetPipelineVersion": { - "markdownDescription": "The version number of the pipeline to be connected to the trigger request.\n\nRequired: Yes\n\nType: Integer\n\nUpdate requires: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)", - "title": "TargetPipelineVersion", - "type": "number" } }, "required": [ - "Authentication", - "AuthenticationConfiguration", - "Filters", - "TargetAction", - "TargetPipeline" + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodePipeline::Webhook" + "AWS::CodeArtifact::Domain" ], "type": "string" }, @@ -80028,42 +79949,7 @@ ], "type": "object" }, - "AWS::CodePipeline::Webhook.WebhookAuthConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedIPRange": { - "markdownDescription": "The property used to configure acceptance of webhooks in an IP address range. For IP, only the `AllowedIPRange` property must be set. This property must be set to a valid CIDR range.", - "title": "AllowedIPRange", - "type": "string" - }, - "SecretToken": { - "markdownDescription": "The property used to configure GitHub authentication. For GITHUB_HMAC, only the `SecretToken` property must be set.\n\n> When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities. > If a secret token was provided, it will be redacted in the response.", - "title": "SecretToken", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Webhook.WebhookFilterRule": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "markdownDescription": "A JsonPath expression that is applied to the body/payload of the webhook. The value selected by the JsonPath expression must match the value specified in the `MatchEquals` field. Otherwise, the request is ignored. For more information, see [Java JsonPath implementation](https://docs.aws.amazon.com/https://github.com/json-path/JsonPath) in GitHub.", - "title": "JsonPath", - "type": "string" - }, - "MatchEquals": { - "markdownDescription": "The value selected by the `JsonPath` expression must match what is supplied in the `MatchEquals` field. Otherwise, the request is ignored. Properties from the target action configuration can be included as placeholders in this value by surrounding the action configuration key with curly brackets. For example, if the value supplied here is \"refs/heads/{Branch}\" and the target action has an action configuration property called \"Branch\" with a value of \"main\", the `MatchEquals` value is evaluated as \"refs/heads/main\". For a list of action configuration properties for built-in action types, see [Pipeline Structure Reference Action Requirements](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements) .", - "title": "MatchEquals", - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::CodeStar::GitHubRepository": { + "AWS::CodeArtifact::Package": { "additionalProperties": false, "properties": { "Condition": { @@ -80098,56 +79984,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Code": { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code", - "markdownDescription": "Information about code to be committed to a repository after it is created in an CloudFormation stack.", - "title": "Code" - }, - "ConnectionArn": { - "markdownDescription": "", - "title": "ConnectionArn", + "DomainName": { "type": "string" }, - "EnableIssues": { - "markdownDescription": "Indicates whether to enable issues for the GitHub repository. You can use GitHub issues to track information and bugs for your repository.", - "title": "EnableIssues", - "type": "boolean" - }, - "IsPrivate": { - "markdownDescription": "Indicates whether the GitHub repository is a private repository. If so, you choose who can see and commit to this repository.", - "title": "IsPrivate", - "type": "boolean" - }, - "RepositoryAccessToken": { - "markdownDescription": "The GitHub user's personal access token for the GitHub repository.", - "title": "RepositoryAccessToken", + "Format": { "type": "string" }, - "RepositoryDescription": { - "markdownDescription": "A comment or description about the new repository. This description is displayed in GitHub after the repository is created.", - "title": "RepositoryDescription", + "Name": { "type": "string" }, - "RepositoryName": { - "markdownDescription": "The name of the repository you want to create in GitHub with CloudFormation stack creation.", - "title": "RepositoryName", + "Namespace": { "type": "string" }, - "RepositoryOwner": { - "markdownDescription": "The GitHub user name for the owner of the GitHub repository to be created. If this repository should be owned by a GitHub organization, provide its name.", - "title": "RepositoryOwner", + "Repository": { "type": "string" } }, "required": [ - "RepositoryName", - "RepositoryOwner" + "DomainName", + "Format", + "Name", + "Repository" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeStar::GitHubRepository" + "AWS::CodeArtifact::Package" ], "type": "string" }, @@ -80166,46 +80029,28 @@ ], "type": "object" }, - "AWS::CodeStar::GitHubRepository.Code": { + "AWS::CodeArtifact::Package.OriginConfiguration": { "additionalProperties": false, "properties": { - "S3": { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.S3", - "markdownDescription": "Information about the Amazon S3 bucket that contains a ZIP file of code to be committed to the repository.", - "title": "S3" + "Restrictions": { + "$ref": "#/definitions/AWS::CodeArtifact::Package.Restrictions" } }, - "required": [ - "S3" - ], "type": "object" }, - "AWS::CodeStar::GitHubRepository.S3": { + "AWS::CodeArtifact::Package.Restrictions": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the Amazon S3 bucket that contains the ZIP file with the content to be committed to the new repository.", - "title": "Bucket", - "type": "string" - }, - "Key": { - "markdownDescription": "The S3 object key or file name for the ZIP file.", - "title": "Key", + "Publish": { "type": "string" }, - "ObjectVersion": { - "markdownDescription": "The object version of the ZIP file, if versioning is enabled for the Amazon S3 bucket.", - "title": "ObjectVersion", + "Upstream": { "type": "string" } }, - "required": [ - "Bucket", - "Key" - ], "type": "object" }, - "AWS::CodeStarConnections::Connection": { + "AWS::CodeArtifact::PackageGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -80240,38 +80085,54 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionName": { - "markdownDescription": "The name of the connection. Connection names must be unique in an AWS account .", - "title": "ConnectionName", + "ContactInfo": { + "markdownDescription": "The contact information of the package group.", + "title": "ContactInfo", "type": "string" }, - "HostArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the host associated with the connection.", - "title": "HostArn", + "Description": { + "markdownDescription": "The description of the package group.", + "title": "Description", "type": "string" }, - "ProviderType": { - "markdownDescription": "The name of the external provider where your third-party code repository is configured.", - "title": "ProviderType", + "DomainName": { + "markdownDescription": "The domain that contains the package group.", + "title": "DomainName", + "type": "string" + }, + "DomainOwner": { + "markdownDescription": "The 12-digit account number of the AWS account that owns the domain. It does not include dashes or spaces.", + "title": "DomainOwner", + "type": "string" + }, + "OriginConfiguration": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.OriginConfiguration", + "markdownDescription": "Details about the package origin configuration of a package group.", + "title": "OriginConfiguration" + }, + "Pattern": { + "markdownDescription": "The pattern of the package group. The pattern determines which packages are associated with the package group.", + "title": "Pattern", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies the tags applied to the resource.", + "markdownDescription": "", "title": "Tags", "type": "array" } }, "required": [ - "ConnectionName" + "DomainName", + "Pattern" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeStarConnections::Connection" + "AWS::CodeArtifact::PackageGroup" ], "type": "string" }, @@ -80290,7 +80151,64 @@ ], "type": "object" }, - "AWS::CodeStarConnections::RepositoryLink": { + "AWS::CodeArtifact::PackageGroup.OriginConfiguration": { + "additionalProperties": false, + "properties": { + "Restrictions": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.Restrictions", + "markdownDescription": "", + "title": "Restrictions" + } + }, + "required": [ + "Restrictions" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.RestrictionType": { + "additionalProperties": false, + "properties": { + "Repositories": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Repositories", + "type": "array" + }, + "RestrictionMode": { + "markdownDescription": "", + "title": "RestrictionMode", + "type": "string" + } + }, + "required": [ + "RestrictionMode" + ], + "type": "object" + }, + "AWS::CodeArtifact::PackageGroup.Restrictions": { + "additionalProperties": false, + "properties": { + "ExternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType", + "markdownDescription": "", + "title": "ExternalUpstream" + }, + "InternalUpstream": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType", + "markdownDescription": "", + "title": "InternalUpstream" + }, + "Publish": { + "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup.RestrictionType", + "markdownDescription": "", + "title": "Publish" + } + }, + "type": "object" + }, + "AWS::CodeArtifact::Repository": { "additionalProperties": false, "properties": { "Condition": { @@ -80325,23 +80243,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the connection associated with the repository link.", - "title": "ConnectionArn", + "Description": { + "markdownDescription": "A text description of the repository.", + "title": "Description", "type": "string" }, - "EncryptionKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the encryption key for the repository associated with the repository link.", - "title": "EncryptionKeyArn", + "DomainName": { + "markdownDescription": "The name of the domain that contains the repository.", + "title": "DomainName", "type": "string" }, - "OwnerId": { - "markdownDescription": "The owner ID for the repository associated with the repository link, such as the owner ID in GitHub.", - "title": "OwnerId", + "DomainOwner": { + "markdownDescription": "The 12-digit account number of the AWS account that owns the domain that contains the repository. It does not include dashes or spaces.", + "title": "DomainOwner", "type": "string" }, + "ExternalConnections": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of external connections associated with the repository. For more information, see [Supported external connection repositories](https://docs.aws.amazon.com/codeartifact/latest/ug/external-connection.html#supported-public-repositories) in the *CodeArtifact user guide* .", + "title": "ExternalConnections", + "type": "array" + }, + "PermissionsPolicyDocument": { + "markdownDescription": "The document that defines the resource policy that is set on a repository.", + "title": "PermissionsPolicyDocument", + "type": "object" + }, "RepositoryName": { - "markdownDescription": "The name of the repository associated with the repository link.", + "markdownDescription": "The name of an upstream repository.", "title": "RepositoryName", "type": "string" }, @@ -80349,21 +80280,28 @@ "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the repository to be associated with the repository link.", + "markdownDescription": "A list of tags to be applied to the repository.", "title": "Tags", "type": "array" + }, + "Upstreams": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of upstream repositories to associate with the repository. The order of the upstream repositories in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more information, see [Working with upstream repositories](https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html) .", + "title": "Upstreams", + "type": "array" } }, "required": [ - "ConnectionArn", - "OwnerId", + "DomainName", "RepositoryName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeStarConnections::RepositoryLink" + "AWS::CodeArtifact::Repository" ], "type": "string" }, @@ -80382,7 +80320,7 @@ ], "type": "object" }, - "AWS::CodeStarConnections::SyncConfiguration": { + "AWS::CodeBuild::Build": { "additionalProperties": false, "properties": { "Condition": { @@ -80417,60 +80355,15 @@ "Properties": { "additionalProperties": false, "properties": { - "Branch": { - "markdownDescription": "The branch associated with a specific sync configuration.", - "title": "Branch", - "type": "string" - }, - "ConfigFile": { - "markdownDescription": "The file path to the configuration file associated with a specific sync configuration. The path should point to an actual file in the sync configurations linked repository.", - "title": "ConfigFile", - "type": "string" - }, - "PublishDeploymentStatus": { - "markdownDescription": "Whether to enable or disable publishing of deployment status to source providers.", - "title": "PublishDeploymentStatus", - "type": "string" - }, - "RepositoryLinkId": { - "markdownDescription": "The ID of the repository link associated with a specific sync configuration.", - "title": "RepositoryLinkId", - "type": "string" - }, - "ResourceName": { - "markdownDescription": "The name of the connection resource associated with a specific sync configuration.", - "title": "ResourceName", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role associated with a specific sync configuration.", - "title": "RoleArn", - "type": "string" - }, - "SyncType": { - "markdownDescription": "The type of sync for a specific sync configuration.", - "title": "SyncType", - "type": "string" - }, - "TriggerResourceUpdateOn": { - "markdownDescription": "When to trigger Git sync to begin the stack update.", - "title": "TriggerResourceUpdateOn", + "ProjectName": { "type": "string" } }, - "required": [ - "Branch", - "ConfigFile", - "RepositoryLinkId", - "ResourceName", - "RoleArn", - "SyncType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeStarConnections::SyncConfiguration" + "AWS::CodeBuild::Build" ], "type": "string" }, @@ -80484,12 +80377,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::CodeStarNotifications::NotificationRule": { + "AWS::CodeBuild::BuildBatch": { "additionalProperties": false, "properties": { "Condition": { @@ -80524,81 +80416,15 @@ "Properties": { "additionalProperties": false, "properties": { - "CreatedBy": { - "markdownDescription": "The name or email alias of the person who created the notification rule.", - "title": "CreatedBy", - "type": "string" - }, - "DetailType": { - "markdownDescription": "The level of detail to include in the notifications for this resource. `BASIC` will include only the contents of the event as it would appear in Amazon CloudWatch. `FULL` will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.", - "title": "DetailType", - "type": "string" - }, - "EventTypeId": { - "markdownDescription": "The event type associated with this notification rule. For a complete list of event types and IDs, see [Notification concepts](https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#concepts-api) in the *Developer Tools Console User Guide* .", - "title": "EventTypeId", - "type": "string" - }, - "EventTypeIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of event types associated with this notification rule. For a complete list of event types and IDs, see [Notification concepts](https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#concepts-api) in the *Developer Tools Console User Guide* .", - "title": "EventTypeIds", - "type": "array" - }, - "Name": { - "markdownDescription": "The name for the notification rule. Notification rule names must be unique in your AWS account .", - "title": "Name", - "type": "string" - }, - "Resource": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource to associate with the notification rule. Supported resources include pipelines in AWS CodePipeline , repositories in AWS CodeCommit , and build projects in AWS CodeBuild .", - "title": "Resource", - "type": "string" - }, - "Status": { - "markdownDescription": "The status of the notification rule. The default value is `ENABLED` . If the status is set to `DISABLED` , notifications aren't sent for the notification rule.", - "title": "Status", - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "A list of tags to apply to this notification rule. Key names cannot start with \" `aws` \".", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - }, - "TargetAddress": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon topic or client.", - "title": "TargetAddress", + "ProjectName": { "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule.Target" - }, - "markdownDescription": "A list of Amazon Resource Names (ARNs) of Amazon topics and clients to associate with the notification rule.", - "title": "Targets", - "type": "array" } }, - "required": [ - "DetailType", - "EventTypeIds", - "Name", - "Resource", - "Targets" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CodeStarNotifications::NotificationRule" + "AWS::CodeBuild::BuildBatch" ], "type": "string" }, @@ -80612,32 +80438,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeStarNotifications::NotificationRule.Target": { - "additionalProperties": false, - "properties": { - "TargetAddress": { - "markdownDescription": "The Amazon Resource Name (ARN) of the topic or client.", - "title": "TargetAddress", - "type": "string" - }, - "TargetType": { - "markdownDescription": "The target type. Can be an Amazon Simple Notification Service topic or client.\n\n- Amazon Simple Notification Service topics are specified as `SNS` .\n- clients are specified as `AWSChatbotSlack` .\n- clients for Microsoft Teams are specified as `AWSChatbotMicrosoftTeams` .", - "title": "TargetType", - "type": "string" - } - }, - "required": [ - "TargetAddress", - "TargetType" + "Type" ], "type": "object" }, - "AWS::Cognito::IdentityPool": { + "AWS::CodeBuild::Fleet": { "additionalProperties": false, "properties": { "Condition": { @@ -80672,87 +80477,75 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowClassicFlow": { - "markdownDescription": "Enables the Basic (Classic) authentication flow.", - "title": "AllowClassicFlow", - "type": "boolean" + "BaseCapacity": { + "markdownDescription": "The initial number of machines allocated to the compute \ufb02eet, which de\ufb01nes the number of builds that can run in parallel.", + "title": "BaseCapacity", + "type": "number" }, - "AllowUnauthenticatedIdentities": { - "markdownDescription": "Specifies whether the identity pool supports unauthenticated logins.", - "title": "AllowUnauthenticatedIdentities", - "type": "boolean" + "ComputeConfiguration": { + "$ref": "#/definitions/AWS::CodeBuild::Fleet.ComputeConfiguration", + "markdownDescription": "The compute configuration of the compute fleet. This is only required if `computeType` is set to `ATTRIBUTE_BASED_COMPUTE` or `CUSTOM_INSTANCE_TYPE` .", + "title": "ComputeConfiguration" }, - "CognitoEvents": { - "markdownDescription": "The events to configure.", - "title": "CognitoEvents", - "type": "object" + "ComputeType": { + "markdownDescription": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine.\n\n> If you use `ATTRIBUTE_BASED_COMPUTE` , you must define your attributes by using `computeConfiguration` . AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types) in the *AWS CodeBuild User Guide* .\n- `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n- `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [On-demand environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types) in the *AWS CodeBuild User Guide.*", + "title": "ComputeType", + "type": "string" }, - "CognitoIdentityProviders": { - "items": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoIdentityProvider" - }, - "markdownDescription": "The Amazon Cognito user pools and their client IDs.", - "title": "CognitoIdentityProviders", - "type": "array" + "EnvironmentType": { + "markdownDescription": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (S\u00e3o Paulo).\n- The environment type `ARM_EC2` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_EC2` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `MAC_ARM` is available only in regions US East (Ohio), US East (N. Virginia), US West (Oregon), Europe (Frankfurt), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_EC2` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (S\u00e3o Paulo), and Asia Pacific (Mumbai).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (S\u00e3o Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* .", + "title": "EnvironmentType", + "type": "string" }, - "CognitoStreams": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoStreams", - "markdownDescription": "Configuration options for configuring Amazon Cognito streams.", - "title": "CognitoStreams" + "FleetProxyConfiguration": { + "$ref": "#/definitions/AWS::CodeBuild::Fleet.ProxyConfiguration", + "markdownDescription": "Information about the proxy configurations that apply network access control to your reserved capacity instances.", + "title": "FleetProxyConfiguration" }, - "DeveloperProviderName": { - "markdownDescription": "The \"domain\" Amazon Cognito uses when referencing your users. This name acts as a placeholder that allows your backend and the Amazon Cognito service to communicate about the developer provider. For the `DeveloperProviderName` , you can use letters and periods (.), underscores (_), and dashes (-).\n\n*Minimum length* : 1\n\n*Maximum length* : 100", - "title": "DeveloperProviderName", + "FleetServiceRole": { + "markdownDescription": "The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* .", + "title": "FleetServiceRole", "type": "string" }, - "IdentityPoolName": { - "markdownDescription": "The name of your Amazon Cognito identity pool.\n\n*Minimum length* : 1\n\n*Maximum length* : 128\n\n*Pattern* : `[\\w\\s+=,.@-]+`", - "title": "IdentityPoolName", + "FleetVpcConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Fleet.VpcConfig", + "markdownDescription": "Information about the VPC configuration that AWS CodeBuild accesses.", + "title": "FleetVpcConfig" + }, + "ImageId": { + "markdownDescription": "The Amazon Machine Image (AMI) of the compute fleet.", + "title": "ImageId", "type": "string" }, - "IdentityPoolTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.", - "title": "IdentityPoolTags", - "type": "array" + "Name": { + "markdownDescription": "The name of the compute fleet.", + "title": "Name", + "type": "string" }, - "OpenIdConnectProviderARNs": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the OpenID connect providers.", - "title": "OpenIdConnectProviderARNs", - "type": "array" + "OverflowBehavior": { + "markdownDescription": "The compute fleet overflow behavior.\n\n- For overflow behavior `QUEUE` , your overflow builds need to wait on the existing fleet instance to become available.\n- For overflow behavior `ON_DEMAND` , your overflow builds run on CodeBuild on-demand.\n\n> If you choose to set your overflow behavior to on-demand while creating a VPC-connected fleet, make sure that you add the required VPC permissions to your project service role. For more information, see [Example policy statement to allow CodeBuild access to AWS services required to create a VPC network interface](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-create-vpc-network-interface) .", + "title": "OverflowBehavior", + "type": "string" }, - "PushSync": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.PushSync", - "markdownDescription": "The configuration options to be applied to the identity pool.", - "title": "PushSync" + "ScalingConfiguration": { + "$ref": "#/definitions/AWS::CodeBuild::Fleet.ScalingConfigurationInput", + "markdownDescription": "The scaling configuration of the compute fleet.", + "title": "ScalingConfiguration" }, - "SamlProviderARNs": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the Security Assertion Markup Language (SAML) providers.", - "title": "SamlProviderARNs", + "markdownDescription": "A list of tag key and value pairs associated with this compute fleet.\n\nThese tags are available for use by AWS services that support AWS CodeBuild compute fleet tags.", + "title": "Tags", "type": "array" - }, - "SupportedLoginProviders": { - "markdownDescription": "Key-value pairs that map provider names to provider app IDs.", - "title": "SupportedLoginProviders", - "type": "object" } }, - "required": [ - "AllowUnauthenticatedIdentities" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::IdentityPool" + "AWS::CodeBuild::Fleet" ], "type": "string" }, @@ -80766,77 +80559,152 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Cognito::IdentityPool.CognitoIdentityProvider": { + "AWS::CodeBuild::Fleet.ComputeConfiguration": { "additionalProperties": false, "properties": { - "ClientId": { - "markdownDescription": "The client ID for the Amazon Cognito user pool.", - "title": "ClientId", + "disk": { + "markdownDescription": "The amount of disk space of the instance type included in your fleet.", + "title": "disk", + "type": "number" + }, + "instanceType": { + "markdownDescription": "The EC2 instance type to be launched in your fleet.", + "title": "instanceType", "type": "string" }, - "ProviderName": { - "markdownDescription": "The provider name for an Amazon Cognito user pool. For example: `cognito-idp.us-east-2.amazonaws.com/us-east-2_123456789` .", - "title": "ProviderName", + "machineType": { + "markdownDescription": "The machine type of the instance type included in your fleet.", + "title": "machineType", "type": "string" }, - "ServerSideTokenCheck": { - "markdownDescription": "TRUE if server-side token validation is enabled for the identity provider\u2019s token.\n\nAfter you set the `ServerSideTokenCheck` to TRUE for an identity pool, that identity pool checks with the integrated user pools to make sure the user has not been globally signed out or deleted before the identity pool provides an OIDC token or AWS credentials for the user.\n\nIf the user is signed out or deleted, the identity pool returns a 400 Not Authorized error.", - "title": "ServerSideTokenCheck", - "type": "boolean" + "memory": { + "markdownDescription": "The amount of memory of the instance type included in your fleet.", + "title": "memory", + "type": "number" + }, + "vCpu": { + "markdownDescription": "The number of vCPUs of the instance type included in your fleet.", + "title": "vCpu", + "type": "number" } }, - "required": [ - "ClientId", - "ProviderName" - ], "type": "object" }, - "AWS::Cognito::IdentityPool.CognitoStreams": { + "AWS::CodeBuild::Fleet.FleetProxyRule": { "additionalProperties": false, "properties": { - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role Amazon Cognito can assume to publish to the stream. This role must grant access to Amazon Cognito (cognito-sync) to invoke `PutRecord` on your Amazon Cognito stream.", - "title": "RoleArn", + "Effect": { + "markdownDescription": "The behavior of the proxy rule.", + "title": "Effect", "type": "string" }, - "StreamName": { - "markdownDescription": "The name of the Amazon Cognito stream to receive updates. This stream must be in the developer's account and in the same Region as the identity pool.", - "title": "StreamName", + "Entities": { + "items": { + "type": "string" + }, + "markdownDescription": "The destination of the proxy rule.", + "title": "Entities", + "type": "array" + }, + "Type": { + "markdownDescription": "The type of proxy rule.", + "title": "Type", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Fleet.ProxyConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultBehavior": { + "markdownDescription": "The default behavior of outgoing traffic.", + "title": "DefaultBehavior", "type": "string" }, - "StreamingStatus": { - "markdownDescription": "Status of the Amazon Cognito streams. Valid values are: `ENABLED` or `DISABLED` .", - "title": "StreamingStatus", + "OrderedProxyRules": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Fleet.FleetProxyRule" + }, + "markdownDescription": "An array of `FleetProxyRule` objects that represent the specified destination domains or IPs to allow or deny network access control to.", + "title": "OrderedProxyRules", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Fleet.ScalingConfigurationInput": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "markdownDescription": "The maximum number of instances in the \ufb02eet when auto-scaling.", + "title": "MaxCapacity", + "type": "number" + }, + "ScalingType": { + "markdownDescription": "The scaling type for a compute fleet.", + "title": "ScalingType", "type": "string" + }, + "TargetTrackingScalingConfigs": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Fleet.TargetTrackingScalingConfiguration" + }, + "markdownDescription": "A list of `TargetTrackingScalingConfiguration` objects.", + "title": "TargetTrackingScalingConfigs", + "type": "array" } }, "type": "object" }, - "AWS::Cognito::IdentityPool.PushSync": { + "AWS::CodeBuild::Fleet.TargetTrackingScalingConfiguration": { "additionalProperties": false, "properties": { - "ApplicationArns": { + "MetricType": { + "markdownDescription": "The metric type to determine auto-scaling.", + "title": "MetricType", + "type": "string" + }, + "TargetValue": { + "markdownDescription": "The value of `metricType` when to start scaling.", + "title": "TargetValue", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Fleet.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { "items": { "type": "string" }, - "markdownDescription": "The ARNs of the Amazon SNS platform applications that could be used by clients.", - "title": "ApplicationArns", + "markdownDescription": "A list of one or more security groups IDs in your Amazon VPC.", + "title": "SecurityGroupIds", "type": "array" }, - "RoleArn": { - "markdownDescription": "An IAM role configured to allow Amazon Cognito to call Amazon SNS on behalf of the developer.", - "title": "RoleArn", + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of one or more subnet IDs in your Amazon VPC.", + "title": "Subnets", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the Amazon VPC.", + "title": "VpcId", "type": "string" } }, "type": "object" }, - "AWS::Cognito::IdentityPoolPrincipalTag": { + "AWS::CodeBuild::Project": { "additionalProperties": false, "properties": { "Condition": { @@ -80871,36 +80739,156 @@ "Properties": { "additionalProperties": false, "properties": { - "IdentityPoolId": { - "markdownDescription": "The identity pool that you want to associate with this principal tag map.", - "title": "IdentityPoolId", + "Artifacts": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts", + "markdownDescription": "`Artifacts` is a property of the [AWS::CodeBuild::Project](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html) resource that specifies output settings for artifacts generated by an AWS CodeBuild build.", + "title": "Artifacts" + }, + "AutoRetryLimit": { + "type": "number" + }, + "BadgeEnabled": { + "markdownDescription": "Indicates whether AWS CodeBuild generates a publicly accessible URL for your project's build badge. For more information, see [Build Badges Sample](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-build-badges.html) in the *AWS CodeBuild User Guide* .\n\n> Including build badges with your project is currently not supported if the source type is CodePipeline. If you specify `CODEPIPELINE` for the `Source` property, do not specify the `BadgeEnabled` property.", + "title": "BadgeEnabled", + "type": "boolean" + }, + "BuildBatchConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig", + "markdownDescription": "A `ProjectBuildBatchConfig` object that defines the batch build options for the project.", + "title": "BuildBatchConfig" + }, + "Cache": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache", + "markdownDescription": "Settings that AWS CodeBuild uses to store and reuse build dependencies.", + "title": "Cache" + }, + "ConcurrentBuildLimit": { + "markdownDescription": "The maximum number of concurrent builds that are allowed for this project.\n\nNew builds are only started if the current number of builds is less than or equal to this limit. If the current build count meets this limit, new builds are throttled and are not run.", + "title": "ConcurrentBuildLimit", + "type": "number" + }, + "Description": { + "markdownDescription": "A description that makes the build project easy to identify.", + "title": "Description", "type": "string" }, - "IdentityProviderName": { - "markdownDescription": "The identity pool identity provider (IdP) that you want to associate with this principal tag map.", - "title": "IdentityProviderName", + "EncryptionKey": { + "markdownDescription": "The AWS Key Management Service customer master key (CMK) to be used for encrypting the build output artifacts.\n\n> You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key. \n\nYou can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format `alias/` ). If you don't specify a value, CodeBuild uses the managed CMK for Amazon Simple Storage Service (Amazon S3).", + "title": "EncryptionKey", "type": "string" }, - "PrincipalTags": { - "markdownDescription": "A JSON-formatted list of user claims and the principal tags that you want to associate with them. When Amazon Cognito requests credentials, it sets the value of the principal tag to the value of the user's claim.", - "title": "PrincipalTags", - "type": "object" + "Environment": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Environment", + "markdownDescription": "The build environment settings for the project, such as the environment type or the environment variables to use for the build environment.", + "title": "Environment" }, - "UseDefaults": { - "markdownDescription": "Use a default set of mappings between claims and tags for this provider, instead of a custom map.", - "title": "UseDefaults", - "type": "boolean" + "FileSystemLocations": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFileSystemLocation" + }, + "markdownDescription": "An array of `ProjectFileSystemLocation` objects for a CodeBuild build project. A `ProjectFileSystemLocation` object specifies the `identifier` , `location` , `mountOptions` , `mountPoint` , and `type` of a file system created using Amazon Elastic File System.", + "title": "FileSystemLocations", + "type": "array" + }, + "LogsConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.LogsConfig", + "markdownDescription": "Information about logs for the build project. A project can create logs in CloudWatch Logs, an S3 bucket, or both.", + "title": "LogsConfig" + }, + "Name": { + "markdownDescription": "The name of the build project. The name must be unique across all of the projects in your AWS account .", + "title": "Name", + "type": "string" + }, + "QueuedTimeoutInMinutes": { + "markdownDescription": "The number of minutes a build is allowed to be queued before it times out.", + "title": "QueuedTimeoutInMinutes", + "type": "number" + }, + "ResourceAccessRole": { + "markdownDescription": "The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds.", + "title": "ResourceAccessRole", + "type": "string" + }, + "SecondaryArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" + }, + "markdownDescription": "A list of `Artifacts` objects. Each artifacts object specifies output settings that the project generates during a build.", + "title": "SecondaryArtifacts", + "type": "array" + }, + "SecondarySourceVersions": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectSourceVersion" + }, + "markdownDescription": "An array of `ProjectSourceVersion` objects. If `secondarySourceVersions` is specified at the build level, then they take over these `secondarySourceVersions` (at the project level).", + "title": "SecondarySourceVersions", + "type": "array" + }, + "SecondarySources": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Source" + }, + "markdownDescription": "An array of `ProjectSource` objects.", + "title": "SecondarySources", + "type": "array" + }, + "ServiceRole": { + "markdownDescription": "The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.", + "title": "ServiceRole", + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Source", + "markdownDescription": "The source code settings for the project, such as the source code's repository type and location.", + "title": "Source" + }, + "SourceVersion": { + "markdownDescription": "A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:\n\n- For CodeCommit: the commit ID, branch, or Git tag to use.\n- For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format `pr/pull-request-ID` (for example `pr/25` ). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For GitLab: the commit ID, branch, or Git tag to use.\n- For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For Amazon S3: the version ID of the object that represents the build input ZIP file to use.\n\nIf `sourceVersion` is specified at the build level, then that version takes precedence over this `sourceVersion` (at the project level).\n\nFor more information, see [Source Version Sample with CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) in the *AWS CodeBuild User Guide* .", + "title": "SourceVersion", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An arbitrary set of tags (key-value pairs) for the AWS CodeBuild project.\n\nThese tags are available for use by AWS services that support AWS CodeBuild build project tags.", + "title": "Tags", + "type": "array" + }, + "TimeoutInMinutes": { + "markdownDescription": "How long, in minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait before timing out any related build that did not get marked as completed. The default is 60 minutes.", + "title": "TimeoutInMinutes", + "type": "number" + }, + "Triggers": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers", + "markdownDescription": "For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, enables AWS CodeBuild to begin automatically rebuilding the source code every time a code change is pushed to the repository.", + "title": "Triggers" + }, + "Visibility": { + "markdownDescription": "Specifies the visibility of the project's builds. Possible values are:\n\n- **PUBLIC_READ** - The project builds are visible to the public.\n- **PRIVATE** - The project builds are not visible to the public.", + "title": "Visibility", + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig", + "markdownDescription": "`VpcConfig` specifies settings that enable AWS CodeBuild to access resources in an Amazon VPC. For more information, see [Use AWS CodeBuild with Amazon Virtual Private Cloud](https://docs.aws.amazon.com/codebuild/latest/userguide/vpc-support.html) in the *AWS CodeBuild User Guide* .", + "title": "VpcConfig" } }, "required": [ - "IdentityPoolId", - "IdentityProviderName" + "Artifacts", + "Environment", + "ServiceRole", + "Source" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::IdentityPoolPrincipalTag" + "AWS::CodeBuild::Project" ], "type": "string" }, @@ -80919,389 +80907,678 @@ ], "type": "object" }, - "AWS::Cognito::IdentityPoolRoleAttachment": { + "AWS::CodeBuild::Project.Artifacts": { "additionalProperties": false, "properties": { - "Condition": { + "ArtifactIdentifier": { + "markdownDescription": "An identifier for this artifact definition.", + "title": "ArtifactIdentifier", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "EncryptionDisabled": { + "markdownDescription": "Set to true if you do not want your output artifacts encrypted. This option is valid only if your artifacts type is Amazon Simple Storage Service (Amazon S3). If this is set with another artifacts type, an `invalidInputException` is thrown.", + "title": "EncryptionDisabled", + "type": "boolean" + }, + "Location": { + "markdownDescription": "Information about the build output artifact location:\n\n- If `type` is set to `CODEPIPELINE` , AWS CodePipeline ignores this value if specified. This is because CodePipeline manages its build output locations instead of CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , this is the name of the output bucket.\n\nIf you specify `CODEPIPELINE` or `NO_ARTIFACTS` for the `Type` property, don't specify this property. For all of the other types, you must specify this property.", + "title": "Location", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Name": { + "markdownDescription": "Along with `path` and `namespaceType` , the pattern that AWS CodeBuild uses to name and store the output artifact:\n\n- If `type` is set to `CODEPIPELINE` , AWS CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , this is the name of the output artifact object. If you set the name to be a forward slash (\"/\"), the artifact is stored in the root of the output bucket.\n\nFor example:\n\n- If `path` is set to `MyArtifacts` , `namespaceType` is set to `BUILD_ID` , and `name` is set to `MyArtifact.zip` , then the output artifact is stored in `MyArtifacts/ *build-ID* /MyArtifact.zip` .\n- If `path` is empty, `namespaceType` is set to `NONE` , and `name` is set to \" `/` \", the output artifact is stored in the root of the output bucket.\n- If `path` is set to `MyArtifacts` , `namespaceType` is set to `BUILD_ID` , and `name` is set to \" `/` \", the output artifact is stored in `MyArtifacts/ *build-ID*` .\n\nIf you specify `CODEPIPELINE` or `NO_ARTIFACTS` for the `Type` property, don't specify this property. For all of the other types, you must specify this property.", + "title": "Name", + "type": "string" }, - "Metadata": { - "type": "object" + "NamespaceType": { + "markdownDescription": "Along with `path` and `name` , the pattern that AWS CodeBuild uses to determine the name and location to store the output artifact:\n\n- If `type` is set to `CODEPIPELINE` , CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , valid values include:\n\n- `BUILD_ID` : Include the build ID in the location of the build output artifact.\n- `NONE` : Do not include the build ID. This is the default if `namespaceType` is not specified.\n\nFor example, if `path` is set to `MyArtifacts` , `namespaceType` is set to `BUILD_ID` , and `name` is set to `MyArtifact.zip` , the output artifact is stored in `MyArtifacts//MyArtifact.zip` .", + "title": "NamespaceType", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "IdentityPoolId": { - "markdownDescription": "An identity pool ID in the format `REGION:GUID` .", - "title": "IdentityPoolId", - "type": "string" - }, - "RoleMappings": { - "additionalProperties": false, - "markdownDescription": "How users for a specific identity provider are mapped to roles. This is a string to the `RoleMapping` object map. The string identifies the identity provider. For example: `graph.facebook.com` or `cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id` .\n\nIf the `IdentityProvider` field isn't provided in this object, the string is used as the identity provider name.\n\nFor more information, see the [RoleMapping property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html) .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping" - } - }, - "title": "RoleMappings", - "type": "object" - }, - "Roles": { - "additionalProperties": true, - "markdownDescription": "The map of the roles associated with this pool. For a given role, the key is either \"authenticated\" or \"unauthenticated\". The value is the role ARN.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Roles", - "type": "object" - } - }, - "required": [ - "IdentityPoolId" - ], - "type": "object" + "OverrideArtifactName": { + "markdownDescription": "If set to true a name specified in the buildspec file overrides the artifact name. The name specified in a buildspec file is calculated at build time and uses the Shell command language. For example, you can append a date and time to your artifact name so that it is always unique.", + "title": "OverrideArtifactName", + "type": "boolean" }, - "Type": { - "enum": [ - "AWS::Cognito::IdentityPoolRoleAttachment" - ], + "Packaging": { + "markdownDescription": "The type of build output artifact to create:\n\n- If `type` is set to `CODEPIPELINE` , CodePipeline ignores this value if specified. This is because CodePipeline manages its build output artifacts instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , valid values include:\n\n- `NONE` : AWS CodeBuild creates in the output bucket a folder that contains the build output. This is the default if `packaging` is not specified.\n- `ZIP` : AWS CodeBuild creates in the output bucket a ZIP file that contains the build output.", + "title": "Packaging", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Path": { + "markdownDescription": "Along with `namespaceType` and `name` , the pattern that AWS CodeBuild uses to name and store the output artifact:\n\n- If `type` is set to `CODEPIPELINE` , CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild .\n- If `type` is set to `NO_ARTIFACTS` , this value is ignored if specified, because no build output is produced.\n- If `type` is set to `S3` , this is the path to the output artifact. If `path` is not specified, `path` is not used.\n\nFor example, if `path` is set to `MyArtifacts` , `namespaceType` is set to `NONE` , and `name` is set to `MyArtifact.zip` , the output artifact is stored in the output bucket at `MyArtifacts/MyArtifact.zip` .", + "title": "Path", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of build output artifact. Valid values include:\n\n- `CODEPIPELINE` : The build project has build output generated through CodePipeline.\n\n> The `CODEPIPELINE` type is not supported for `secondaryArtifacts` .\n- `NO_ARTIFACTS` : The build project does not produce any build output.\n- `S3` : The build project stores build output in Amazon S3.", + "title": "Type", "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Cognito::IdentityPoolRoleAttachment.MappingRule": { + "AWS::CodeBuild::Project.BatchRestrictions": { "additionalProperties": false, "properties": { - "Claim": { - "markdownDescription": "The claim name that must be present in the token. For example: \"isAdmin\" or \"paid\".", - "title": "Claim", - "type": "string" - }, - "MatchType": { - "markdownDescription": "The match condition that specifies how closely the claim value in the IdP token must match `Value` .\n\nValid values are: `Equals` , `Contains` , `StartsWith` , and `NotEqual` .", - "title": "MatchType", - "type": "string" + "ComputeTypesAllowed": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of strings that specify the compute types that are allowed for the batch build. See [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide* for these values.", + "title": "ComputeTypesAllowed", + "type": "array" }, - "RoleARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role.", - "title": "RoleARN", + "MaximumBuildsAllowed": { + "markdownDescription": "Specifies the maximum number of builds allowed.", + "title": "MaximumBuildsAllowed", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.BuildStatusConfig": { + "additionalProperties": false, + "properties": { + "Context": { + "markdownDescription": "Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.\n\n- **Bitbucket** - This parameter is used for the `name` parameter in the Bitbucket commit status. For more information, see [build](https://docs.aws.amazon.com/https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) in the Bitbucket API documentation.\n- **GitHub/GitHub Enterprise Server** - This parameter is used for the `context` parameter in the GitHub commit status. For more information, see [Create a commit status](https://docs.aws.amazon.com/https://developer.github.com/v3/repos/statuses/#create-a-commit-status) in the GitHub developer guide.", + "title": "Context", "type": "string" }, - "Value": { - "markdownDescription": "A brief string that the claim must match. For example, \"paid\" or \"yes\".", - "title": "Value", + "TargetUrl": { + "markdownDescription": "Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.\n\n- **Bitbucket** - This parameter is used for the `url` parameter in the Bitbucket commit status. For more information, see [build](https://docs.aws.amazon.com/https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) in the Bitbucket API documentation.\n- **GitHub/GitHub Enterprise Server** - This parameter is used for the `target_url` parameter in the GitHub commit status. For more information, see [Create a commit status](https://docs.aws.amazon.com/https://developer.github.com/v3/repos/statuses/#create-a-commit-status) in the GitHub developer guide.", + "title": "TargetUrl", "type": "string" } }, - "required": [ - "Claim", - "MatchType", - "RoleARN", - "Value" - ], "type": "object" }, - "AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": { + "AWS::CodeBuild::Project.CloudWatchLogsConfig": { "additionalProperties": false, "properties": { - "AmbiguousRoleResolution": { - "markdownDescription": "If you specify Token or Rules as the `Type` , `AmbiguousRoleResolution` is required.\n\nSpecifies the action to be taken if either no rules match the claim value for the `Rules` type, or there is no `cognito:preferred_role` claim and there are multiple `cognito:roles` matches for the `Token` type.", - "title": "AmbiguousRoleResolution", + "GroupName": { + "markdownDescription": "The group name of the logs in CloudWatch Logs. For more information, see [Working with Log Groups and Log Streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) .", + "title": "GroupName", "type": "string" }, - "IdentityProvider": { - "markdownDescription": "Identifier for the identity provider for which the role is mapped. For example: `graph.facebook.com` or `cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id (http://cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id)` . This is the identity provider that is used by the user for authentication.\n\nIf the identity provider property isn't provided, the key of the entry in the `RoleMappings` map is used as the identity provider.", - "title": "IdentityProvider", + "Status": { + "markdownDescription": "The current status of the logs in CloudWatch Logs for a build project. Valid values are:\n\n- `ENABLED` : CloudWatch Logs are enabled for this build project.\n- `DISABLED` : CloudWatch Logs are not enabled for this build project.", + "title": "Status", "type": "string" }, - "RulesConfiguration": { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType", - "markdownDescription": "The rules to be used for mapping users to roles. If you specify \"Rules\" as the role-mapping type, RulesConfiguration is required.", - "title": "RulesConfiguration" - }, - "Type": { - "markdownDescription": "The role mapping type. Token will use `cognito:roles` and `cognito:preferred_role` claims from the Cognito identity provider token to map groups to roles. Rules will attempt to match claims from the token to map to a role.", - "title": "Type", + "StreamName": { + "markdownDescription": "The prefix of the stream name of the CloudWatch Logs. For more information, see [Working with Log Groups and Log Streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) .", + "title": "StreamName", "type": "string" } }, "required": [ - "Type" + "Status" ], "type": "object" }, - "AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": { + "AWS::CodeBuild::Project.DockerServer": { "additionalProperties": false, "properties": { - "Rules": { + "ComputeType": { + "type": "string" + }, + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.MappingRule" + "type": "string" }, - "markdownDescription": "The rules. You can specify up to 25 rules per identity provider.", - "title": "Rules", "type": "array" } }, "required": [ - "Rules" + "ComputeType" ], "type": "object" }, - "AWS::Cognito::LogDeliveryConfiguration": { + "AWS::CodeBuild::Project.Environment": { "additionalProperties": false, "properties": { - "Condition": { + "Certificate": { + "markdownDescription": "The ARN of the Amazon S3 bucket, path prefix, and object key that contains the PEM-encoded certificate for the build project. For more information, see [certificate](https://docs.aws.amazon.com/codebuild/latest/userguide/create-project-cli.html#cli.environment.certificate) in the *AWS CodeBuild User Guide* .", + "title": "Certificate", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ComputeType": { + "markdownDescription": "The type of compute environment. This determines the number of CPU cores and memory the build environment uses. Available values include:\n\n- `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine.\n\n> If you use `ATTRIBUTE_BASED_COMPUTE` , you must define your attributes by using `computeConfiguration` . AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types) in the *AWS CodeBuild User Guide* .\n- `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n- `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [On-demand environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types) in the *AWS CodeBuild User Guide.*", + "title": "ComputeType", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "DockerServer": { + "$ref": "#/definitions/AWS::CodeBuild::Project.DockerServer" }, - "Properties": { - "additionalProperties": false, - "properties": { - "LogConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.LogConfiguration" - }, - "markdownDescription": "A logging destination of a user pool. User pools can have multiple logging destinations for message-delivery and user-activity logs.", - "title": "LogConfigurations", - "type": "array" - }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool where you configured logging.", - "title": "UserPoolId", - "type": "string" - } + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" }, - "required": [ - "UserPoolId" - ], - "type": "object" + "markdownDescription": "A set of environment variables to make available to builds for this build project.", + "title": "EnvironmentVariables", + "type": "array" }, - "Type": { - "enum": [ - "AWS::Cognito::LogDeliveryConfiguration" - ], + "Fleet": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFleet" + }, + "HostKernel": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Image": { + "markdownDescription": "The image tag or image digest that identifies the Docker image to use for this build project. Use the following formats:\n\n- For an image tag: `/:` . For example, in the Docker repository that CodeBuild uses to manage its Docker images, this would be `aws/codebuild/standard:4.0` .\n- For an image digest: `/@` . For example, to specify an image with the digest \"sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf,\" use `/@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf` .\n\nFor more information, see [Docker images provided by CodeBuild](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-available.html) in the *AWS CodeBuild user guide* .", + "title": "Image", + "type": "string" + }, + "ImagePullCredentialsType": { + "markdownDescription": "The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid values:\n\n- `CODEBUILD` specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust AWS CodeBuild service principal.\n- `SERVICE_ROLE` specifies that AWS CodeBuild uses your build project's service role.\n\nWhen you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD credentials.", + "title": "ImagePullCredentialsType", + "type": "string" + }, + "PrivilegedMode": { + "markdownDescription": "Enables running the Docker daemon inside a Docker container. Set to true only if the build project is used to build Docker images. Otherwise, a build that attempts to interact with the Docker daemon fails. The default setting is `false` .\n\nYou can initialize the Docker daemon during the install phase of your build by adding one of the following sets of commands to the install phase of your buildspec file:\n\nIf the operating system's base image is Ubuntu Linux:\n\n`- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&`\n\n`- timeout 15 sh -c \"until docker info; do echo .; sleep 1; done\"`\n\nIf the operating system's base image is Alpine Linux and the previous command does not work, add the `-t` argument to `timeout` :\n\n`- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&`\n\n`- timeout -t 15 sh -c \"until docker info; do echo .; sleep 1; done\"`", + "title": "PrivilegedMode", + "type": "boolean" + }, + "RegistryCredential": { + "$ref": "#/definitions/AWS::CodeBuild::Project.RegistryCredential", + "markdownDescription": "`RegistryCredential` is a property of the [AWS::CodeBuild::Project Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-environment) property that specifies information about credentials that provide access to a private Docker registry. When this is set:\n\n- `imagePullCredentialsType` must be set to `SERVICE_ROLE` .\n- images cannot be curated or an Amazon ECR image.", + "title": "RegistryCredential" + }, + "Type": { + "markdownDescription": "The type of build environment to use for related builds.\n\n> If you're using compute fleets during project creation, `type` will be ignored. \n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* .", + "title": "Type", "type": "string" } }, "required": [ - "Type", - "Properties" + "ComputeType", + "Image", + "Type" ], "type": "object" }, - "AWS::Cognito::LogDeliveryConfiguration.CloudWatchLogsConfiguration": { + "AWS::CodeBuild::Project.EnvironmentVariable": { "additionalProperties": false, "properties": { - "LogGroupArn": { - "markdownDescription": "The Amazon Resource Name (arn) of a CloudWatch Logs log group where your user pool sends logs. The log group must not be encrypted with AWS Key Management Service and must be in the same AWS account as your user pool.\n\nTo send logs to log groups with a resource policy of a size greater than 5120 characters, configure a log group with a path that starts with `/aws/vendedlogs` . For more information, see [Enabling logging from certain AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html) .", - "title": "LogGroupArn", + "Name": { + "markdownDescription": "The name or key of the environment variable.", + "title": "Name", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of environment variable. Valid values include:\n\n- `PARAMETER_STORE` : An environment variable stored in Systems Manager Parameter Store. For environment variables of this type, specify the name of the parameter as the `value` of the EnvironmentVariable. The parameter value will be substituted for the name at runtime. You can also define Parameter Store environment variables in the buildspec. To learn how to do so, see [env/parameter-store](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.parameter-store) in the *AWS CodeBuild User Guide* .\n- `PLAINTEXT` : An environment variable in plain text format. This is the default value.\n- `SECRETS_MANAGER` : An environment variable stored in AWS Secrets Manager . For environment variables of this type, specify the name of the secret as the `value` of the EnvironmentVariable. The secret value will be substituted for the name at runtime. You can also define AWS Secrets Manager environment variables in the buildspec. To learn how to do so, see [env/secrets-manager](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.secrets-manager) in the *AWS CodeBuild User Guide* .", + "title": "Type", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the environment variable.\n\n> We strongly discourage the use of `PLAINTEXT` environment variables to store sensitive values, especially AWS secret key IDs. `PLAINTEXT` environment variables can be displayed in plain text using the AWS CodeBuild console and the AWS CLI . For sensitive values, we recommend you use an environment variable of type `PARAMETER_STORE` or `SECRETS_MANAGER` .", + "title": "Value", "type": "string" } }, + "required": [ + "Name", + "Value" + ], "type": "object" }, - "AWS::Cognito::LogDeliveryConfiguration.FirehoseConfiguration": { + "AWS::CodeBuild::Project.FilterGroup": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::CodeBuild::Project.GitSubmodulesConfig": { "additionalProperties": false, "properties": { - "StreamArn": { - "markdownDescription": "The ARN of an Amazon Data Firehose stream that's the destination for threat protection log export.", - "title": "StreamArn", - "type": "string" + "FetchSubmodules": { + "markdownDescription": "Set to true to fetch Git submodules for your AWS CodeBuild build project.", + "title": "FetchSubmodules", + "type": "boolean" } }, + "required": [ + "FetchSubmodules" + ], "type": "object" }, - "AWS::Cognito::LogDeliveryConfiguration.LogConfiguration": { + "AWS::CodeBuild::Project.LogsConfig": { "additionalProperties": false, "properties": { - "CloudWatchLogsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.CloudWatchLogsConfiguration", - "markdownDescription": "Configuration for the CloudWatch log group destination of user pool detailed activity logging, or of user activity log export with advanced security features.", - "title": "CloudWatchLogsConfiguration" + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::CodeBuild::Project.CloudWatchLogsConfig", + "markdownDescription": "Information about CloudWatch Logs for a build project. CloudWatch Logs are enabled by default.", + "title": "CloudWatchLogs" }, - "EventSource": { - "markdownDescription": "The source of events that your user pool sends for logging. To send error-level logs about user notification activity, set to `userNotification` . To send info-level logs about threat-protection user activity in user pools with the Plus feature plan, set to `userAuthEvents` .", - "title": "EventSource", + "S3Logs": { + "$ref": "#/definitions/AWS::CodeBuild::Project.S3LogsConfig", + "markdownDescription": "Information about logs built to an S3 bucket for a build project. S3 logs are not enabled by default.", + "title": "S3Logs" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { + "additionalProperties": false, + "properties": { + "BatchReportMode": { + "markdownDescription": "Specifies how build status reports are sent to the source provider for the batch build. This property is only used when the source provider for your project is Bitbucket, GitHub, or GitHub Enterprise, and your project is configured to report build statuses to the source provider.\n\n- **REPORT_AGGREGATED_BATCH** - (Default) Aggregate all of the build statuses into a single status report.\n- **REPORT_INDIVIDUAL_BUILDS** - Send a separate status report for each individual build.", + "title": "BatchReportMode", "type": "string" }, - "FirehoseConfiguration": { - "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.FirehoseConfiguration", - "markdownDescription": "Configuration for the Amazon Data Firehose stream destination of user activity log export with threat protection.", - "title": "FirehoseConfiguration" + "CombineArtifacts": { + "markdownDescription": "Specifies if the build artifacts for the batch build should be combined into a single artifact location.", + "title": "CombineArtifacts", + "type": "boolean" }, - "LogLevel": { - "markdownDescription": "The `errorlevel` selection of logs that a user pool sends for detailed activity logging. To send `userNotification` activity with [information about message delivery](https://docs.aws.amazon.com/cognito/latest/developerguide/exporting-quotas-and-usage.html) , choose `ERROR` with `CloudWatchLogsConfiguration` . To send `userAuthEvents` activity with user logs from threat protection with the Plus feature plan, choose `INFO` with one of `CloudWatchLogsConfiguration` , `FirehoseConfiguration` , or `S3Configuration` .", - "title": "LogLevel", + "Restrictions": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions", + "markdownDescription": "A `BatchRestrictions` object that specifies the restrictions for the batch build.", + "title": "Restrictions" + }, + "ServiceRole": { + "markdownDescription": "Specifies the service role ARN for the batch build project.", + "title": "ServiceRole", "type": "string" }, - "S3Configuration": { - "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.S3Configuration", - "markdownDescription": "Configuration for the Amazon S3 bucket destination of user activity log export with threat protection.", - "title": "S3Configuration" + "TimeoutInMins": { + "markdownDescription": "Specifies the maximum amount of time, in minutes, that the batch build must be completed in.", + "title": "TimeoutInMins", + "type": "number" } }, "type": "object" }, - "AWS::Cognito::LogDeliveryConfiguration.S3Configuration": { + "AWS::CodeBuild::Project.ProjectCache": { "additionalProperties": false, "properties": { - "BucketArn": { - "markdownDescription": "The ARN of an Amazon S3 bucket that's the destination for threat protection log export.", - "title": "BucketArn", + "CacheNamespace": { + "markdownDescription": "Defines the scope of the cache. You can use this namespace to share a cache across multiple projects. For more information, see [Cache sharing between projects](https://docs.aws.amazon.com/codebuild/latest/userguide/caching-s3.html#caching-s3-sharing) in the *AWS CodeBuild User Guide* .", + "title": "CacheNamespace", + "type": "string" + }, + "Location": { + "markdownDescription": "Information about the cache location:\n\n- `NO_CACHE` or `LOCAL` : This value is ignored.\n- `S3` : This is the S3 bucket name/prefix.", + "title": "Location", + "type": "string" + }, + "Modes": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of strings that specify the local cache modes. You can use one or more local cache modes at the same time. This is only used for `LOCAL` cache types.\n\nPossible values are:\n\n- **LOCAL_SOURCE_CACHE** - Caches Git metadata for primary and secondary sources. After the cache is created, subsequent builds pull only the change between commits. This mode is a good choice for projects with a clean working directory and a source that is a large Git repository. If you choose this option and your project does not use a Git repository (GitHub, GitHub Enterprise, or Bitbucket), the option is ignored.\n- **LOCAL_DOCKER_LAYER_CACHE** - Caches existing Docker layers. This mode is a good choice for projects that build or pull large Docker images. It can prevent the performance issues caused by pulling large Docker images down from the network.\n\n> - You can use a Docker layer cache in the Linux environment only.\n> - The `privileged` flag must be set so that your project has the required Docker permissions.\n> - You should consider the security implications before you use a Docker layer cache.\n- **LOCAL_CUSTOM_CACHE** - Caches directories you specify in the buildspec file. This mode is a good choice if your build scenario is not suited to one of the other three local cache modes. If you use a custom cache:\n\n- Only directories can be specified for caching. You cannot specify individual files.\n- Symlinks are used to reference cached directories.\n- Cached directories are linked to your build before it downloads its project sources. Cached items are overridden if a source item has the same name. Directories are specified using cache paths in the buildspec file.", + "title": "Modes", + "type": "array" + }, + "Type": { + "markdownDescription": "The type of cache used by the build project. Valid values include:\n\n- `NO_CACHE` : The build project does not use any cache.\n- `S3` : The build project reads and writes from and to S3.\n- `LOCAL` : The build project stores a cache locally on a build host that is only available to that build host.", + "title": "Type", "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Cognito::ManagedLoginBranding": { + "AWS::CodeBuild::Project.ProjectFileSystemLocation": { "additionalProperties": false, "properties": { - "Condition": { + "Identifier": { + "markdownDescription": "The name used to access a file system created by Amazon EFS. CodeBuild creates an environment variable by appending the `identifier` in all capital letters to `CODEBUILD_` . For example, if you specify `my_efs` for `identifier` , a new environment variable is create named `CODEBUILD_MY_EFS` .\n\nThe `identifier` is used to mount your file system.", + "title": "Identifier", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Location": { + "markdownDescription": "A string that specifies the location of the file system created by Amazon EFS. Its format is `efs-dns-name:/directory-path` . You can find the DNS name of file system when you view it in the Amazon EFS console. The directory path is a path to a directory in the file system that CodeBuild mounts. For example, if the DNS name of a file system is `fs-abcd1234.efs.us-west-2.amazonaws.com` , and its mount directory is `my-efs-mount-directory` , then the `location` is `fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory` .\n\nThe directory path in the format `efs-dns-name:/directory-path` is optional. If you do not specify a directory path, the location is only the DNS name and CodeBuild mounts the entire file system.", + "title": "Location", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MountOptions": { + "markdownDescription": "The mount options for a file system created by Amazon EFS. The default mount options used by CodeBuild are `nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2` . For more information, see [Recommended NFS Mount Options](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html) .", + "title": "MountOptions", + "type": "string" }, - "Metadata": { - "type": "object" + "MountPoint": { + "markdownDescription": "The location in the container where you mount the file system.", + "title": "MountPoint", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Assets": { - "items": { - "$ref": "#/definitions/AWS::Cognito::ManagedLoginBranding.AssetType" - }, - "markdownDescription": "An array of image files that you want to apply to roles like backgrounds, logos, and icons. Each object must also indicate whether it is for dark mode, light mode, or browser-adaptive mode.", - "title": "Assets", - "type": "array" - }, - "ClientId": { - "markdownDescription": "The app client that you want to assign the branding style to. Each style is linked to an app client until you delete it.", - "title": "ClientId", + "Type": { + "markdownDescription": "The type of the file system. The one supported type is `EFS` .", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Identifier", + "Location", + "MountPoint", + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectFleet": { + "additionalProperties": false, + "properties": { + "FleetArn": { + "markdownDescription": "Specifies the compute fleet ARN for the build project.", + "title": "FleetArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectSourceVersion": { + "additionalProperties": false, + "properties": { + "SourceIdentifier": { + "markdownDescription": "An identifier for a source in the build project. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.", + "title": "SourceIdentifier", + "type": "string" + }, + "SourceVersion": { + "markdownDescription": "The source version for the corresponding source identifier. If specified, must be one of:\n\n- For CodeCommit: the commit ID, branch, or Git tag to use.\n- For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format `pr/pull-request-ID` (for example, `pr/25` ). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For GitLab: the commit ID, branch, or Git tag to use.\n- For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.\n- For Amazon S3: the version ID of the object that represents the build input ZIP file to use.\n\nFor more information, see [Source Version Sample with CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) in the *AWS CodeBuild User Guide* .", + "title": "SourceVersion", + "type": "string" + } + }, + "required": [ + "SourceIdentifier" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectTriggers": { + "additionalProperties": false, + "properties": { + "BuildType": { + "markdownDescription": "Specifies the type of build this webhook will trigger. Allowed values are:\n\n- **BUILD** - A single build\n- **BUILD_BATCH** - A batch build", + "title": "BuildType", + "type": "string" + }, + "FilterGroups": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.FilterGroup" + }, + "markdownDescription": "A list of lists of `WebhookFilter` objects used to determine which webhook events are triggered. At least one `WebhookFilter` in the array must specify `EVENT` as its type.", + "title": "FilterGroups", + "type": "array" + }, + "PullRequestBuildPolicy": { + "$ref": "#/definitions/AWS::CodeBuild::Project.PullRequestBuildPolicy" + }, + "ScopeConfiguration": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ScopeConfiguration", + "markdownDescription": "Contains configuration information about the scope for a webhook.", + "title": "ScopeConfiguration" + }, + "Webhook": { + "markdownDescription": "Specifies whether or not to begin automatically rebuilding the source code every time a code change is pushed to the repository.", + "title": "Webhook", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.PullRequestBuildPolicy": { + "additionalProperties": false, + "properties": { + "ApproverRoles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RequiresCommentApproval": { + "type": "string" + } + }, + "required": [ + "RequiresCommentApproval" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.RegistryCredential": { + "additionalProperties": false, + "properties": { + "Credential": { + "markdownDescription": "The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets Manager .\n\n> The `credential` can use the name of the credentials only if they exist in your current AWS Region .", + "title": "Credential", + "type": "string" + }, + "CredentialProvider": { + "markdownDescription": "The service that created the credentials to access a private Docker registry. The valid value, SECRETS_MANAGER, is for AWS Secrets Manager .", + "title": "CredentialProvider", + "type": "string" + } + }, + "required": [ + "Credential", + "CredentialProvider" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.S3LogsConfig": { + "additionalProperties": false, + "properties": { + "EncryptionDisabled": { + "markdownDescription": "Set to true if you do not want your S3 build log output encrypted. By default S3 build logs are encrypted.", + "title": "EncryptionDisabled", + "type": "boolean" + }, + "Location": { + "markdownDescription": "The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 bucket name is `my-bucket` , and your path prefix is `build-log` , then acceptable formats are `my-bucket/build-log` or `arn:aws:s3:::my-bucket/build-log` .", + "title": "Location", + "type": "string" + }, + "Status": { + "markdownDescription": "The current status of the S3 build logs. Valid values are:\n\n- `ENABLED` : S3 build logs are enabled for this build project.\n- `DISABLED` : S3 build logs are not enabled for this build project.", + "title": "Status", + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ScopeConfiguration": { + "additionalProperties": false, + "properties": { + "Domain": { + "markdownDescription": "The domain of the GitHub Enterprise organization or the GitLab Self Managed group. Note that this parameter is only required if your project's source type is GITHUB_ENTERPRISE or GITLAB_SELF_MANAGED.", + "title": "Domain", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of either the enterprise or organization that will send webhook events to CodeBuild , depending on if the webhook is a global or organization webhook respectively.", + "title": "Name", + "type": "string" + }, + "Scope": { + "markdownDescription": "The type of scope for a GitHub or GitLab webhook. The scope default is GITHUB_ORGANIZATION.", + "title": "Scope", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.Source": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::CodeBuild::Project.SourceAuth", + "markdownDescription": "Information about the authorization settings for AWS CodeBuild to access the source code to be built.", + "title": "Auth" + }, + "BuildSpec": { + "markdownDescription": "The build specification for the project. If this value is not provided, then the source code must contain a buildspec file named `buildspec.yml` at the root level. If this value is provided, it can be either a single string containing the entire build specification, or the path to an alternate buildspec file relative to the value of the built-in environment variable `CODEBUILD_SRC_DIR` . The alternate buildspec file can have a name other than `buildspec.yml` , for example `myspec.yml` or `build_spec_qa.yml` or similar. For more information, see the [Build Spec Reference](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-example) in the *AWS CodeBuild User Guide* .", + "title": "BuildSpec", + "type": "string" + }, + "BuildStatusConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig", + "markdownDescription": "Contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is `GITHUB` , `GITHUB_ENTERPRISE` , or `BITBUCKET` .", + "title": "BuildStatusConfig" + }, + "GitCloneDepth": { + "markdownDescription": "The depth of history to download. Minimum value is 0. If this value is 0, greater than 25, or not provided, then the full history is downloaded with each build project. If your source type is Amazon S3, this value is not supported.", + "title": "GitCloneDepth", + "type": "number" + }, + "GitSubmodulesConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig", + "markdownDescription": "Information about the Git submodules configuration for the build project.", + "title": "GitSubmodulesConfig" + }, + "InsecureSsl": { + "markdownDescription": "This is used with GitHub Enterprise only. Set to true to ignore SSL warnings while connecting to your GitHub Enterprise project repository. The default value is `false` . `InsecureSsl` should be used for testing purposes only. It should not be used in a production environment.", + "title": "InsecureSsl", + "type": "boolean" + }, + "Location": { + "markdownDescription": "Information about the location of the source code to be built. Valid values include:\n\n- For source code settings that are specified in the source action of a pipeline in CodePipeline, `location` should not be specified. If it is specified, CodePipeline ignores it. This is because CodePipeline uses the settings in a pipeline's source action instead of this value.\n- For source code in an CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the buildspec file (for example, `https://git-codecommit..amazonaws.com/v1/repos/` ).\n- For source code in an Amazon S3 input bucket, one of the following.\n\n- The path to the ZIP file that contains the source code (for example, `//.zip` ).\n- The path to the folder that contains the source code (for example, `///` ).\n- For source code in a GitHub repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your AWS account to your GitHub account. Use the AWS CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with GitHub, on the GitHub *Authorize application* page, for *Organization access* , choose *Request access* next to each repository you want to allow AWS CodeBuild to have access to, and then choose *Authorize application* . (After you have connected to your GitHub account, you do not need to finish creating the build project. You can leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this connection, in the `source` object, set the `auth` object's `type` value to `OAUTH` .\n- For source code in an GitLab or self-managed GitLab repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your AWS account to your GitLab account. Use the AWS CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with GitLab, on the Connections *Authorize application* page, choose *Authorize* . Then on the AWS CodeConnections *Create GitLab connection* page, choose *Connect to GitLab* . (After you have connected to your GitLab account, you do not need to finish creating the build project. You can leave the AWS CodeBuild console.) To instruct AWS CodeBuild to override the default connection and use this connection instead, set the `auth` object's `type` value to `CODECONNECTIONS` in the `source` object.\n- For source code in a Bitbucket repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your AWS account to your Bitbucket account. Use the AWS CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with Bitbucket, on the Bitbucket *Confirm access to your account* page, choose *Grant access* . (After you have connected to your Bitbucket account, you do not need to finish creating the build project. You can leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this connection, in the `source` object, set the `auth` object's `type` value to `OAUTH` .\n\nIf you specify `CODEPIPELINE` for the `Type` property, don't specify this property. For all of the other types, you must specify `Location` .", + "title": "Location", + "type": "string" + }, + "ReportBuildStatus": { + "markdownDescription": "Set to true to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. If this is set and you use a different source provider, an `invalidInputException` is thrown.", + "title": "ReportBuildStatus", + "type": "boolean" + }, + "SourceIdentifier": { + "markdownDescription": "An identifier for this project source. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.", + "title": "SourceIdentifier", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of repository that contains the source code to be built. Valid values include:\n\n- `BITBUCKET` : The source code is in a Bitbucket repository.\n- `CODECOMMIT` : The source code is in an CodeCommit repository.\n- `CODEPIPELINE` : The source code settings are specified in the source action of a pipeline in CodePipeline.\n- `GITHUB` : The source code is in a GitHub repository.\n- `GITHUB_ENTERPRISE` : The source code is in a GitHub Enterprise Server repository.\n- `GITLAB` : The source code is in a GitLab repository.\n- `GITLAB_SELF_MANAGED` : The source code is in a self-managed GitLab repository.\n- `NO_SOURCE` : The project does not have input source code.\n- `S3` : The source code is in an Amazon S3 bucket.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.SourceAuth": { + "additionalProperties": false, + "properties": { + "Resource": { + "markdownDescription": "The resource value that applies to the specified authorization type.", + "title": "Resource", + "type": "string" + }, + "Type": { + "markdownDescription": "The authorization type to use. Valid options are OAUTH, CODECONNECTIONS, or SECRETS_MANAGER.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of one or more security groups IDs in your Amazon VPC. The maximum count is 5.", + "title": "SecurityGroupIds", + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of one or more subnet IDs in your Amazon VPC. The maximum count is 16.", + "title": "Subnets", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the Amazon VPC.", + "title": "VpcId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.WebhookFilter": { + "additionalProperties": false, + "properties": { + "ExcludeMatchedPattern": { + "markdownDescription": "Used to indicate that the `pattern` determines which webhook events do not trigger a build. If true, then a webhook event that does not match the `pattern` triggers a build. If false, then a webhook event that matches the `pattern` triggers a build.", + "title": "ExcludeMatchedPattern", + "type": "boolean" + }, + "Pattern": { + "markdownDescription": "For a `WebHookFilter` that uses `EVENT` type, a comma-separated string that specifies one or more events. For example, the webhook filter `PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED` allows all push, pull request created, and pull request updated events to trigger a build.\n\nFor a `WebHookFilter` that uses any of the other filter types, a regular expression pattern. For example, a `WebHookFilter` that uses `HEAD_REF` for its `type` and the pattern `^refs/heads/` triggers a build when the head reference is a branch with a reference name `refs/heads/branch-name` .", + "title": "Pattern", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of webhook filter. There are 11 webhook filter types: `EVENT` , `ACTOR_ACCOUNT_ID` , `HEAD_REF` , `BASE_REF` , `FILE_PATH` , `COMMIT_MESSAGE` , `TAG_NAME` , `RELEASE_NAME` , `REPOSITORY_NAME` , `ORGANIZATION_NAME` , and `WORKFLOW_NAME` .\n\n- EVENT\n\n- A webhook event triggers a build when the provided `pattern` matches one of nine event types: `PUSH` , `PULL_REQUEST_CREATED` , `PULL_REQUEST_UPDATED` , `PULL_REQUEST_CLOSED` , `PULL_REQUEST_REOPENED` , `PULL_REQUEST_MERGED` , `RELEASED` , `PRERELEASED` , and `WORKFLOW_JOB_QUEUED` . The `EVENT` patterns are specified as a comma-separated string. For example, `PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED` filters all push, pull request created, and pull request updated events.\n\n> Types `PULL_REQUEST_REOPENED` and `WORKFLOW_JOB_QUEUED` work with GitHub and GitHub Enterprise only. Types `RELEASED` and `PRERELEASED` work with GitHub only.\n- ACTOR_ACCOUNT_ID\n\n- A webhook event triggers a build when a GitHub, GitHub Enterprise, or Bitbucket account ID matches the regular expression `pattern` .\n- HEAD_REF\n\n- A webhook event triggers a build when the head reference matches the regular expression `pattern` . For example, `refs/heads/branch-name` and `refs/tags/tag-name` .\n\n> Works with GitHub and GitHub Enterprise push, GitHub and GitHub Enterprise pull request, Bitbucket push, and Bitbucket pull request events.\n- BASE_REF\n\n- A webhook event triggers a build when the base reference matches the regular expression `pattern` . For example, `refs/heads/branch-name` .\n\n> Works with pull request events only.\n- FILE_PATH\n\n- A webhook triggers a build when the path of a changed file matches the regular expression `pattern` .\n\n> Works with push and pull request events only.\n- COMMIT_MESSAGE\n\n- A webhook triggers a build when the head commit message matches the regular expression `pattern` .\n\n> Works with push and pull request events only.\n- TAG_NAME\n\n- A webhook triggers a build when the tag name of the release matches the regular expression `pattern` .\n\n> Works with `RELEASED` and `PRERELEASED` events only.\n- RELEASE_NAME\n\n- A webhook triggers a build when the release name matches the regular expression `pattern` .\n\n> Works with `RELEASED` and `PRERELEASED` events only.\n- REPOSITORY_NAME\n\n- A webhook triggers a build when the repository name matches the regular expression `pattern` .\n\n> Works with GitHub global or organization webhooks only.\n- ORGANIZATION_NAME\n\n- A webhook triggers a build when the organization name matches the regular expression `pattern` .\n\n> Works with GitHub global webhooks only.\n- WORKFLOW_NAME\n\n- A webhook triggers a build when the workflow name matches the regular expression `pattern` .\n\n> Works with `WORKFLOW_JOB_QUEUED` events only. > For CodeBuild-hosted Buildkite runner builds, WORKFLOW_NAME filters will filter by pipeline name.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Pattern", + "Type" + ], + "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" }, - "ReturnMergedResources": { - "markdownDescription": "When `true` , returns values for branding options that are unchanged from Amazon Cognito defaults. When `false` or when you omit this parameter, returns only values that you customized in your branding style.", - "title": "ReturnMergedResources", - "type": "boolean" - }, - "Settings": { - "markdownDescription": "A JSON file, encoded as a `Document` type, with the the settings that you want to apply to your style.\n\nThe following components are not currently implemented and reserved for future use:\n\n- `signUp`\n- `instructions`\n- `sessionTimerDisplay`\n- `languageSelector` (for localization, see [Managed login localization)](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html#managed-login-localization)", - "title": "Settings", - "type": "object" - }, - "UseCognitoProvidedValues": { - "markdownDescription": "When true, applies the default branding style options. This option reverts to default style options that are managed by Amazon Cognito. You can modify them later in the branding editor.\n\nWhen you specify `true` for this option, you must also omit values for `Settings` and `Assets` in the request.", - "title": "UseCognitoProvidedValues", - "type": "boolean" - }, - "UserPoolId": { - "markdownDescription": "The user pool where the branding style is assigned.", - "title": "UserPoolId", - "type": "string" + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, - "required": [ - "UserPoolId" - ], + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::ManagedLoginBranding" + "AWS::CodeBuild::Report" ], "type": "string" }, @@ -81315,48 +81592,97 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Cognito::ManagedLoginBranding.AssetType": { + "AWS::CodeBuild::Report.CodeCoverageReportSummary": { "additionalProperties": false, "properties": { - "Bytes": { - "markdownDescription": "The image file, in Base64-encoded binary.", - "title": "Bytes", + "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" }, - "Category": { - "markdownDescription": "The category that the image corresponds to in your managed login configuration. Managed login has asset categories for different types of logos, backgrounds, and icons.", - "title": "Category", + "S3Destination": { + "$ref": "#/definitions/AWS::CodeBuild::Report.S3ReportExportConfig" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Report.S3ReportExportConfig": { + "additionalProperties": false, + "properties": { + "Bucket": { "type": "string" }, - "ColorMode": { - "markdownDescription": "The display-mode target of the asset: light, dark, or browser-adaptive. For example, Amazon Cognito displays a dark-mode image only when the browser or application is in dark mode, but displays a browser-adaptive file in all contexts.", - "title": "ColorMode", + "BucketOwner": { "type": "string" }, - "Extension": { - "markdownDescription": "The file type of the image file.", - "title": "Extension", + "EncryptionDisabled": { + "type": "boolean" + }, + "EncryptionKey": { "type": "string" }, - "ResourceId": { - "markdownDescription": "The ID of the asset.", - "title": "ResourceId", + "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": [ - "Category", - "ColorMode", - "Extension" + "DurationInNanoSeconds", + "StatusCounts", + "Total" ], "type": "object" }, - "AWS::Cognito::Terms": { + "AWS::CodeBuild::ReportGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -81391,55 +81717,44 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientId": { - "markdownDescription": "The ID of the app client that the terms documents are assigned to.", - "title": "ClientId", - "type": "string" - }, - "Enforcement": { - "markdownDescription": "This parameter is reserved for future use and currently accepts one value.", - "title": "Enforcement", - "type": "string" + "DeleteReports": { + "markdownDescription": "When deleting a report group, specifies if reports within the report group should be deleted.\n\n- **true** - Deletes any reports that belong to the report group before deleting the report group.\n- **false** - You must delete any reports in the report group. This is the default value. If you delete a report group that contains one or more reports, an exception is thrown.", + "title": "DeleteReports", + "type": "boolean" }, - "Links": { - "additionalProperties": true, - "markdownDescription": "A map of URLs to languages. For each localized language that will view the requested `TermsName` , assign a URL. A selection of `cognito:default` displays for all languages that don't have a language-specific URL.\n\nFor example, `\"cognito:default\": \"https://terms.example.com\", \"cognito:spanish\": \"https://terms.example.com/es\"` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Links", - "type": "object" + "ExportConfig": { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.ReportExportConfig", + "markdownDescription": "Information about the destination where the raw data of this `ReportGroup` is exported.", + "title": "ExportConfig" }, - "TermsName": { - "markdownDescription": "The type and friendly name of the terms documents.", - "title": "TermsName", + "Name": { + "markdownDescription": "The name of the `ReportGroup` .", + "title": "Name", "type": "string" }, - "TermsSource": { - "markdownDescription": "This parameter is reserved for future use and currently accepts one value.", - "title": "TermsSource", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tag key and value pairs associated with this report group.\n\nThese tags are available for use by AWS services that support AWS CodeBuild report group tags.", + "title": "Tags", + "type": "array" }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool that contains the terms documents.", - "title": "UserPoolId", + "Type": { + "markdownDescription": "The type of the `ReportGroup` . This can be one of the following values:\n\n- **CODE_COVERAGE** - The report group contains code coverage reports.\n- **TEST** - The report group contains test reports.", + "title": "Type", "type": "string" } }, "required": [ - "Enforcement", - "Links", - "TermsName", - "TermsSource", - "UserPoolId" + "ExportConfig", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::Terms" + "AWS::CodeBuild::ReportGroup" ], "type": "string" }, @@ -81458,7 +81773,65 @@ ], "type": "object" }, - "AWS::Cognito::UserPool": { + "AWS::CodeBuild::ReportGroup.ReportExportConfig": { + "additionalProperties": false, + "properties": { + "ExportConfigType": { + "markdownDescription": "The export configuration type. Valid values are:\n\n- `S3` : The report results are exported to an S3 bucket.\n- `NO_EXPORT` : The report results are not exported.", + "title": "ExportConfigType", + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.S3ReportExportConfig", + "markdownDescription": "A `S3ReportExportConfig` object that contains information about the S3 bucket where the run of a report is exported.", + "title": "S3Destination" + } + }, + "required": [ + "ExportConfigType" + ], + "type": "object" + }, + "AWS::CodeBuild::ReportGroup.S3ReportExportConfig": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The name of the S3 bucket where the raw data of a report are exported.", + "title": "Bucket", + "type": "string" + }, + "BucketOwner": { + "markdownDescription": "The AWS account identifier of the owner of the Amazon S3 bucket. This allows report data to be exported to an Amazon S3 bucket that is owned by an account other than the account running the build.", + "title": "BucketOwner", + "type": "string" + }, + "EncryptionDisabled": { + "markdownDescription": "A boolean value that specifies if the results of a report are encrypted.", + "title": "EncryptionDisabled", + "type": "boolean" + }, + "EncryptionKey": { + "markdownDescription": "The encryption key for the report's encrypted raw data.", + "title": "EncryptionKey", + "type": "string" + }, + "Packaging": { + "markdownDescription": "The type of build output artifact to create. Valid values include:\n\n- `NONE` : CodeBuild creates the raw data in the output bucket. This is the default if packaging is not specified.\n- `ZIP` : CodeBuild creates a ZIP file with the raw data in the output bucket.", + "title": "Packaging", + "type": "string" + }, + "Path": { + "markdownDescription": "The path to the exported report's raw data results.", + "title": "Path", + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::CodeBuild::Sandbox": { "additionalProperties": false, "properties": { "Condition": { @@ -81493,187 +81866,196 @@ "Properties": { "additionalProperties": false, "properties": { - "AccountRecoverySetting": { - "$ref": "#/definitions/AWS::Cognito::UserPool.AccountRecoverySetting", - "markdownDescription": "The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email.", - "title": "AccountRecoverySetting" - }, - "AdminCreateUserConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPool.AdminCreateUserConfig", - "markdownDescription": "The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire.", - "title": "AdminCreateUserConfig" - }, - "AliasAttributes": { - "items": { - "type": "string" - }, - "markdownDescription": "Attributes supported as an alias for this user pool. For more information about alias attributes, see [Customizing sign-in attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases) .", - "title": "AliasAttributes", - "type": "array" + "ProjectName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::Sandbox" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::SourceCredential": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "AutoVerifiedAttributes": { + { "items": { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "markdownDescription": "The attributes that you want your user pool to automatically verify. For more information, see [Verifying contact information at sign-up](https://docs.aws.amazon.com/cognito/latest/developerguide/signing-up-users-in-your-app.html#allowing-users-to-sign-up-and-confirm-themselves) .", - "title": "AutoVerifiedAttributes", "type": "array" - }, - "DeletionProtection": { - "markdownDescription": "When active, `DeletionProtection` prevents accidental deletion of your user\npool. Before you can delete a user pool that you have protected against deletion, you\nmust deactivate this feature.\n\nWhen you try to delete a protected user pool in a `DeleteUserPool` API request, Amazon Cognito returns an `InvalidParameterException` error. To delete a protected user pool, send a new `DeleteUserPool` request after you deactivate deletion protection in an `UpdateUserPool` API request.", - "title": "DeletionProtection", + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthType": { + "markdownDescription": "The type of authentication used by the credentials. Valid options are OAUTH, BASIC_AUTH, PERSONAL_ACCESS_TOKEN, CODECONNECTIONS, or SECRETS_MANAGER.", + "title": "AuthType", "type": "string" }, - "DeviceConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.DeviceConfiguration", - "markdownDescription": "The device-remembering configuration for a user pool. Device remembering or device tracking is a \"Remember me on this device\" option for user pools that perform authentication with the device key of a trusted device in the back end, instead of a user-provided MFA code. For more information about device authentication, see [Working with user devices in your user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-device-tracking.html) . A null value indicates that you have deactivated device remembering in your user pool.\n\n> When you provide a value for any `DeviceConfiguration` field, you activate the Amazon Cognito device-remembering feature. For more information, see [Working with devices](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-device-tracking.html) .", - "title": "DeviceConfiguration" - }, - "EmailAuthenticationMessage": { - "markdownDescription": "", - "title": "EmailAuthenticationMessage", + "ServerType": { + "markdownDescription": "The type of source provider. The valid options are GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, or BITBUCKET.", + "title": "ServerType", "type": "string" }, - "EmailAuthenticationSubject": { - "markdownDescription": "", - "title": "EmailAuthenticationSubject", + "Token": { + "markdownDescription": "For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket, this is either the access token or the app password. For the `authType` CODECONNECTIONS, this is the `connectionArn` . For the `authType` SECRETS_MANAGER, this is the `secretArn` .", + "title": "Token", "type": "string" }, - "EmailConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.EmailConfiguration", - "markdownDescription": "The email configuration of your user pool. The email configuration type sets your preferred sending method, AWS Region, and sender for messages from your user pool.", - "title": "EmailConfiguration" - }, - "EmailVerificationMessage": { - "markdownDescription": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) .", - "title": "EmailVerificationMessage", + "Username": { + "markdownDescription": "The Bitbucket username when the `authType` is BASIC_AUTH. This parameter is not valid for other types of source providers or connections.", + "title": "Username", "type": "string" - }, - "EmailVerificationSubject": { - "markdownDescription": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) .", - "title": "EmailVerificationSubject", + } + }, + "required": [ + "AuthType", + "ServerType", + "Token" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::SourceCredential" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "EnabledMfas": { + { "items": { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "markdownDescription": "Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values:\n\n- `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` .\n- `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool.\n- `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` .\n\nAllowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP`", - "title": "EnabledMfas", - "type": "array" - }, - "IssuerConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.IssuerConfiguration" - }, - "KeyConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.KeyConfiguration" - }, - "LambdaConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig", - "markdownDescription": "A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them.", - "title": "LambdaConfig" - }, - "MfaConfiguration": { - "markdownDescription": "Displays the state of multi-factor authentication (MFA) as on, off, or optional. When `ON` , all users must set up MFA before they can sign in. When `OPTIONAL` , your application must make a client-side determination of whether a user wants to register an MFA device. For user pools with adaptive authentication with threat protection, choose `OPTIONAL` .\n\nWhen `MfaConfiguration` is `OPTIONAL` , managed login doesn't automatically prompt users to set up MFA. Amazon Cognito generates MFA prompts in API responses and in managed login for users who have chosen and configured a preferred MFA factor.", - "title": "MfaConfiguration", - "type": "string" - }, - "Policies": { - "$ref": "#/definitions/AWS::Cognito::UserPool.Policies", - "markdownDescription": "A list of user pool policies. Contains the policy that sets password-complexity requirements.", - "title": "Policies" - }, - "Schema": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPool.SchemaAttribute" - }, - "markdownDescription": "An array of attributes for the new user pool. You can add custom attributes and modify the properties of default attributes. The specifications in this parameter set the required attributes in your user pool. For more information, see [Working with user attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html) .", - "title": "Schema", "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.Code", + "markdownDescription": "Information about code to be committed to a repository after it is created in an AWS CloudFormation stack. Information about code is only used in resource creation. Updates to a stack will not reflect changes made to code properties after initial resource creation.\n\n> You can only use this property to add code when creating a repository with a CloudFormation template at creation time. This property cannot be used for updating code to an existing repository.", + "title": "Code" }, - "SmsAuthenticationMessage": { - "markdownDescription": "The contents of the SMS authentication message.", - "title": "SmsAuthenticationMessage", + "KmsKeyId": { + "markdownDescription": "The ID of the AWS Key Management Service encryption key used to encrypt and decrypt the repository.\n\n> The input can be the full ARN, the key ID, or the key alias. For more information, see [Finding the key ID and key ARN](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html) .", + "title": "KmsKeyId", "type": "string" }, - "SmsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.SmsConfiguration", - "markdownDescription": "The settings for your Amazon Cognito user pool to send SMS messages with Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the AWS Region that you want, the Amazon Cognito user pool uses an AWS Identity and Access Management (IAM) role in your AWS account . For more information see [SMS message settings](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sms-settings.html) .", - "title": "SmsConfiguration" - }, - "SmsVerificationMessage": { - "markdownDescription": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) .", - "title": "SmsVerificationMessage", + "RepositoryDescription": { + "markdownDescription": "A comment or description about the new repository.\n\n> The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage.", + "title": "RepositoryDescription", "type": "string" }, - "UserAttributeUpdateSettings": { - "$ref": "#/definitions/AWS::Cognito::UserPool.UserAttributeUpdateSettings", - "markdownDescription": "The settings for updates to user attributes. These settings include the property `AttributesRequireVerificationBeforeUpdate` ,\na user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For\nmore information, see [Verifying updates to email addresses and phone numbers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates) .", - "title": "UserAttributeUpdateSettings" - }, - "UserPoolAddOns": { - "$ref": "#/definitions/AWS::Cognito::UserPool.UserPoolAddOns", - "markdownDescription": "Contains settings for activation of threat protection, including the operating mode and additional authentication types. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to potentially unwanted traffic to your user pool, set to `ENFORCED` .\n\nFor more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) .", - "title": "UserPoolAddOns" - }, - "UserPoolName": { - "markdownDescription": "A friendly name for your user pool.", - "title": "UserPoolName", + "RepositoryName": { + "markdownDescription": "The name of the new repository to be created.\n\n> The repository name must be unique across the calling AWS account . Repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For more information about the limits on repository names, see [Quotas](https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html) in the *AWS CodeCommit User Guide* . The suffix .git is prohibited.", + "title": "RepositoryName", "type": "string" }, - "UserPoolTags": { - "additionalProperties": true, - "markdownDescription": "The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "Tags": { + "items": { + "$ref": "#/definitions/Tag" }, - "title": "UserPoolTags", - "type": "object" - }, - "UserPoolTier": { - "markdownDescription": "The user pool [feature plan](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html) , or tier. This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection. Defaults to `ESSENTIALS` .", - "title": "UserPoolTier", - "type": "string" + "markdownDescription": "One or more tag key-value pairs to use when tagging this repository.", + "title": "Tags", + "type": "array" }, - "UsernameAttributes": { + "Triggers": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CodeCommit::Repository.RepositoryTrigger" }, - "markdownDescription": "Specifies whether a user can use an email address or phone number as a username when they sign up.", - "title": "UsernameAttributes", + "markdownDescription": "The JSON block of configuration information for each trigger.", + "title": "Triggers", "type": "array" - }, - "UsernameConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.UsernameConfiguration", - "markdownDescription": "Sets the case sensitivity option for sign-in usernames. When `CaseSensitive` is `false` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `false` as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user.\n\nWhen `CaseSensitive` is `true` (case sensitive), Amazon Cognito interprets `USERNAME` and `UserName` as distinct users.\n\nThis configuration is immutable after you set it.", - "title": "UsernameConfiguration" - }, - "VerificationMessageTemplate": { - "$ref": "#/definitions/AWS::Cognito::UserPool.VerificationMessageTemplate", - "markdownDescription": "The template for the verification message that your user pool delivers to users who set an email address or phone number attribute.\n\nSet the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error.", - "title": "VerificationMessageTemplate" - }, - "WebAuthnFactorConfiguration": { - "type": "string" - }, - "WebAuthnRelyingPartyID": { - "markdownDescription": "Sets or displays the authentication domain, typically your user pool domain, that passkey providers must use as a relying party (RP) in their configuration.\n\nUnder the following conditions, the passkey relying party ID must be the fully-qualified domain name of your custom domain:\n\n- The user pool is configured for passkey authentication.\n- The user pool has a custom domain, whether or not it also has a prefix domain.\n- Your application performs authentication with managed login or the classic hosted UI.", - "title": "WebAuthnRelyingPartyID", - "type": "string" - }, - "WebAuthnUserVerification": { - "markdownDescription": "When `required` , users can only register and sign in users with passkeys that are capable of [user verification](https://docs.aws.amazon.com/https://www.w3.org/TR/webauthn-2/#enum-userVerificationRequirement) . When `preferred` , your user pool doesn't require the use of authenticators with user verification but encourages it.", - "title": "WebAuthnUserVerification", - "type": "string" } }, + "required": [ + "RepositoryName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPool" + "AWS::CodeCommit::Repository" ], "type": "string" }, @@ -81687,590 +82069,109 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Cognito::UserPool.AccountRecoverySetting": { - "additionalProperties": false, - "properties": { - "RecoveryMechanisms": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPool.RecoveryOption" - }, - "markdownDescription": "The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators.", - "title": "RecoveryMechanisms", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.AdminCreateUserConfig": { - "additionalProperties": false, - "properties": { - "AllowAdminCreateUserOnly": { - "markdownDescription": "The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the `SignUp` operation.", - "title": "AllowAdminCreateUserOnly", - "type": "boolean" - }, - "InviteMessageTemplate": { - "$ref": "#/definitions/AWS::Cognito::UserPool.InviteMessageTemplate", - "markdownDescription": "The template for the welcome message to new users. This template must include the `{####}` temporary password placeholder if you are creating users with passwords. If your users don't have passwords, you can omit the placeholder.\n\nSee also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) .", - "title": "InviteMessageTemplate" - }, - "UnusedAccountValidityDays": { - "markdownDescription": "This parameter is no longer in use.\n\nThe password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter.\n\nThe default value for this parameter is 7.", - "title": "UnusedAccountValidityDays", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.AdvancedSecurityAdditionalFlows": { - "additionalProperties": false, - "properties": { - "CustomAuthMode": { - "markdownDescription": "The operating mode of threat protection in custom authentication with [Custom authentication challenge Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", - "title": "CustomAuthMode", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.CustomEmailSender": { + "AWS::CodeCommit::Repository.Code": { "additionalProperties": false, "properties": { - "LambdaArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.", - "title": "LambdaArn", + "BranchName": { + "markdownDescription": "Optional. Specifies a branch name to be used as the default branch when importing code into a repository on initial creation. If this property is not set, the name *main* will be used for the default branch for the repository. Changes to this property are ignored after initial resource creation. We recommend using this parameter to set the name to *main* to align with the default behavior of CodeCommit unless another name is needed.", + "title": "BranchName", "type": "string" }, - "LambdaVersion": { - "markdownDescription": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.\n\nYou must use a `LambdaVersion` of `V1_0` with a custom sender function.", - "title": "LambdaVersion", - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.S3", + "markdownDescription": "Information about the Amazon S3 bucket that contains a ZIP file of code to be committed to the repository. Changes to this property are ignored after initial resource creation.", + "title": "S3" } }, + "required": [ + "S3" + ], "type": "object" }, - "AWS::Cognito::UserPool.CustomSMSSender": { + "AWS::CodeCommit::Repository.RepositoryTrigger": { "additionalProperties": false, "properties": { - "LambdaArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.", - "title": "LambdaArn", + "Branches": { + "items": { + "type": "string" + }, + "markdownDescription": "The branches to be included in the trigger configuration. If you specify an empty array, the trigger applies to all branches.\n\n> Although no content is required in the array, you must include the array itself.", + "title": "Branches", + "type": "array" + }, + "CustomData": { + "markdownDescription": "Any custom data associated with the trigger to be included in the information sent to the target of the trigger.", + "title": "CustomData", "type": "string" }, - "LambdaVersion": { - "markdownDescription": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.\n\nYou must use a `LambdaVersion` of `V1_0` with a custom sender function.", - "title": "LambdaVersion", + "DestinationArn": { + "markdownDescription": "The ARN of the resource that is the target for a trigger (for example, the ARN of a topic in Amazon SNS).", + "title": "DestinationArn", "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.DeviceConfiguration": { - "additionalProperties": false, - "properties": { - "ChallengeRequiredOnNewDevice": { - "markdownDescription": "When true, a remembered device can sign in with device authentication instead of SMS and time-based one-time password (TOTP) factors for multi-factor authentication (MFA).\n\n> Whether or not `ChallengeRequiredOnNewDevice` is true, users who sign in with devices that have not been confirmed or remembered must still provide a second factor in a user pool that requires MFA.", - "title": "ChallengeRequiredOnNewDevice", - "type": "boolean" }, - "DeviceOnlyRememberedOnUserPrompt": { - "markdownDescription": "When true, Amazon Cognito doesn't automatically remember a user's device when your app sends a `ConfirmDevice` API request. In your app, create a prompt for your user to choose whether they want to remember their device. Return the user's choice in an `UpdateDeviceStatus` API request.\n\nWhen `DeviceOnlyRememberedOnUserPrompt` is `false` , Amazon Cognito immediately remembers devices that you register in a `ConfirmDevice` API request.", - "title": "DeviceOnlyRememberedOnUserPrompt", - "type": "boolean" + "Events": { + "items": { + "type": "string" + }, + "markdownDescription": "The repository events that cause the trigger to run actions in another service, such as sending a notification through Amazon SNS.\n\n> The valid value \"all\" cannot be used with any other values.", + "title": "Events", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the trigger.", + "title": "Name", + "type": "string" } }, + "required": [ + "DestinationArn", + "Events", + "Name" + ], "type": "object" }, - "AWS::Cognito::UserPool.EmailConfiguration": { + "AWS::CodeCommit::Repository.S3": { "additionalProperties": false, "properties": { - "ConfigurationSet": { - "markdownDescription": "The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:\n\n- **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch\n- **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets.", - "title": "ConfigurationSet", - "type": "string" - }, - "EmailSendingAccount": { - "markdownDescription": "Specifies whether Amazon Cognito uses its built-in functionality to send your users email messages, or uses your Amazon Simple Email Service email configuration. Specify one of the following values:\n\n- **COGNITO_DEFAULT** - When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. For typical production environments, the default email limit is less than the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email configuration.\n\nTo look up the email delivery limit for the default option, see [Limits](https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html) in the *Amazon Cognito Developer Guide* .\n\nThe default FROM address is `no-reply@verificationemail.com` . To customize the FROM address, provide the Amazon Resource Name (ARN) of an Amazon SES verified email address for the `SourceArn` parameter.\n- **DEVELOPER** - When Amazon Cognito emails your users, it uses your Amazon SES configuration. Amazon Cognito calls Amazon SES on your behalf to send email from your verified email address. When you use this option, the email delivery limits are the same limits that apply to your Amazon SES verified email address in your AWS account .\n\nIf you use this option, provide the ARN of an Amazon SES verified email address for the `SourceArn` parameter.\n\nBefore Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a *service-linked role* , which is a type of role in your AWS account . This role contains the permissions that allow you to access Amazon SES and send email messages from your email address. For more information about the service-linked role that Amazon Cognito creates, see [Using Service-Linked Roles for Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/using-service-linked-roles.html) in the *Amazon Cognito Developer Guide* .", - "title": "EmailSendingAccount", - "type": "string" - }, - "From": { - "markdownDescription": "Either the sender\u2019s email address or the sender\u2019s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email.", - "title": "From", + "Bucket": { + "markdownDescription": "The name of the Amazon S3 bucket that contains the ZIP file with the content that will be committed to the new repository. This can be specified using the name of the bucket in the AWS account . Changes to this property are ignored after initial resource creation.", + "title": "Bucket", "type": "string" }, - "ReplyToEmailAddress": { - "markdownDescription": "The destination to which the receiver of the email should reply.", - "title": "ReplyToEmailAddress", + "Key": { + "markdownDescription": "The key to use for accessing the Amazon S3 bucket. Changes to this property are ignored after initial resource creation. For more information, see [Creating object key names](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html) and [Uploading objects](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) in the Amazon S3 User Guide.", + "title": "Key", "type": "string" }, - "SourceArn": { - "markdownDescription": "The ARN of a verified email address or an address from a verified domain in Amazon SES. You can set a `SourceArn` email from a verified domain only with an API request. You can set a verified email address, but not an address in a verified domain, in the Amazon Cognito console. Amazon Cognito uses the email address that you provide in one of the following ways, depending on the value that you specify for the `EmailSendingAccount` parameter:\n\n- If you specify `COGNITO_DEFAULT` , Amazon Cognito uses this address as the custom FROM address when it emails your users using its built-in email account.\n- If you specify `DEVELOPER` , Amazon Cognito emails your users with this address by calling Amazon SES on your behalf.\n\nThe Region value of the `SourceArn` parameter must indicate a supported AWS Region of your user pool. Typically, the Region in the `SourceArn` and the user pool Region are the same. For more information, see [Amazon SES email configuration regions](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-email.html#user-pool-email-developer-region-mapping) in the [Amazon Cognito Developer Guide](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html) .", - "title": "SourceArn", + "ObjectVersion": { + "markdownDescription": "The object version of the ZIP file, if versioning is enabled for the Amazon S3 bucket. Changes to this property are ignored after initial resource creation.", + "title": "ObjectVersion", "type": "string" } }, + "required": [ + "Bucket", + "Key" + ], "type": "object" }, - "AWS::Cognito::UserPool.EumsSmsConfiguration": { + "AWS::CodeConnections::Connection": { "additionalProperties": false, "properties": { - "CallerArn": { - "type": "string" - }, - "ConfigurationSetName": { - "type": "string" - }, - "ExternalId": { - "type": "string" - }, - "InEntityId": { + "Condition": { "type": "string" }, - "InTemplateId": { - "type": "string" - }, - "OriginationIdentity": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "CallerArn" - ], - "type": "object" - }, - "AWS::Cognito::UserPool.InboundFederation": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.InviteMessageTemplate": { - "additionalProperties": false, - "properties": { - "EmailMessage": { - "markdownDescription": "The message template for email messages. EmailMessage is allowed only if [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is DEVELOPER.", - "title": "EmailMessage", - "type": "string" - }, - "EmailSubject": { - "markdownDescription": "The subject line for email messages. EmailSubject is allowed only if [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is DEVELOPER.", - "title": "EmailSubject", - "type": "string" - }, - "SMSMessage": { - "markdownDescription": "The message template for SMS messages.", - "title": "SMSMessage", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.IssuerConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.KeyConfiguration": { - "additionalProperties": false, - "properties": { - "KeyType": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.LambdaConfig": { - "additionalProperties": false, - "properties": { - "CreateAuthChallenge": { - "markdownDescription": "The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", - "title": "CreateAuthChallenge", - "type": "string" - }, - "CustomEmailSender": { - "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender", - "markdownDescription": "The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic.", - "title": "CustomEmailSender" - }, - "CustomMessage": { - "markdownDescription": "A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user.", - "title": "CustomMessage", - "type": "string" - }, - "CustomSMSSender": { - "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender", - "markdownDescription": "The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic.", - "title": "CustomSMSSender" - }, - "DefineAuthChallenge": { - "markdownDescription": "The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", - "title": "DefineAuthChallenge", - "type": "string" - }, - "InboundFederation": { - "$ref": "#/definitions/AWS::Cognito::UserPool.InboundFederation" - }, - "KMSKeyID": { - "markdownDescription": "The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers.", - "title": "KMSKeyID", - "type": "string" - }, - "PostAuthentication": { - "markdownDescription": "The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in.", - "title": "PostAuthentication", - "type": "string" - }, - "PostConfirmation": { - "markdownDescription": "The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number.", - "title": "PostConfirmation", - "type": "string" - }, - "PreAuthentication": { - "markdownDescription": "The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events.", - "title": "PreAuthentication", - "type": "string" - }, - "PreSignUp": { - "markdownDescription": "The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests.", - "title": "PreSignUp", - "type": "string" - }, - "PreTokenGeneration": { - "markdownDescription": "The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool.\n\nSet this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` .", - "title": "PreTokenGeneration", - "type": "string" - }, - "PreTokenGenerationConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPool.PreTokenGenerationConfig", - "markdownDescription": "The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` .", - "title": "PreTokenGenerationConfig" - }, - "UserMigration": { - "markdownDescription": "The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet.", - "title": "UserMigration", - "type": "string" - }, - "VerifyAuthChallengeResponse": { - "markdownDescription": "The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", - "title": "VerifyAuthChallengeResponse", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.NumberAttributeConstraints": { - "additionalProperties": false, - "properties": { - "MaxValue": { - "markdownDescription": "The maximum length of a number attribute value. Must be a number less than or equal to `2^1023` , represented as a string with a length of 131072 characters or fewer.", - "title": "MaxValue", - "type": "string" - }, - "MinValue": { - "markdownDescription": "The minimum value of an attribute that is of the number data type.", - "title": "MinValue", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.PasswordPolicy": { - "additionalProperties": false, - "properties": { - "MinimumLength": { - "markdownDescription": "The minimum length of the password in the policy that you have set. This value can't be less than 6.", - "title": "MinimumLength", - "type": "number" - }, - "PasswordHistorySize": { - "markdownDescription": "The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` .", - "title": "PasswordHistorySize", - "type": "number" - }, - "RequireLowercase": { - "markdownDescription": "The requirement in a password policy that users must include at least one lowercase letter in their password.", - "title": "RequireLowercase", - "type": "boolean" - }, - "RequireNumbers": { - "markdownDescription": "The requirement in a password policy that users must include at least one number in their password.", - "title": "RequireNumbers", - "type": "boolean" - }, - "RequireSymbols": { - "markdownDescription": "The requirement in a password policy that users must include at least one symbol in their password.", - "title": "RequireSymbols", - "type": "boolean" - }, - "RequireUppercase": { - "markdownDescription": "The requirement in a password policy that users must include at least one uppercase letter in their password.", - "title": "RequireUppercase", - "type": "boolean" - }, - "TemporaryPasswordValidityDays": { - "markdownDescription": "The number of days a temporary password is valid in the password policy. If the user doesn't sign in during this time, an administrator must reset their password. Defaults to `7` . If you submit a value of `0` , Amazon Cognito treats it as a null value and sets `TemporaryPasswordValidityDays` to its default value.\n\n> When you set `TemporaryPasswordValidityDays` for a user pool, you can no longer set a value for the legacy `UnusedAccountValidityDays` parameter in that user pool.", - "title": "TemporaryPasswordValidityDays", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.Policies": { - "additionalProperties": false, - "properties": { - "PasswordPolicy": { - "$ref": "#/definitions/AWS::Cognito::UserPool.PasswordPolicy", - "markdownDescription": "The password policy settings for a user pool, including complexity, history, and length requirements.", - "title": "PasswordPolicy" - }, - "SignInPolicy": { - "$ref": "#/definitions/AWS::Cognito::UserPool.SignInPolicy", - "markdownDescription": "The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.", - "title": "SignInPolicy" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.PreTokenGenerationConfig": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.\n\nThis parameter and the `PreTokenGeneration` property of `LambdaConfig` have the same value. For new instances of pre token generation triggers, set `LambdaArn` .", - "title": "LambdaArn", - "type": "string" - }, - "LambdaVersion": { - "markdownDescription": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.", - "title": "LambdaVersion", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.RecoveryOption": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The recovery method that this object sets a recovery option for.", - "title": "Name", - "type": "string" - }, - "Priority": { - "markdownDescription": "Your priority preference for using the specified attribute in account recovery. The highest priority is `1` .", - "title": "Priority", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.SchemaAttribute": { - "additionalProperties": false, - "properties": { - "AttributeDataType": { - "markdownDescription": "The data format of the values for your attribute. When you choose an `AttributeDataType` , Amazon Cognito validates the input against the data type. A custom attribute value in your user's ID token is always a string, for example `\"custom:isMember\" : \"true\"` or `\"custom:YearsAsMember\" : \"12\"` .", - "title": "AttributeDataType", - "type": "string" - }, - "DeveloperOnlyAttribute": { - "markdownDescription": "> You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . \n\nSpecifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes.", - "title": "DeveloperOnlyAttribute", - "type": "boolean" - }, - "Mutable": { - "markdownDescription": "Specifies whether the value of the attribute can be changed.\n\nAny user pool attribute whose value you map from an IdP attribute must be mutable, with a parameter value of `true` . Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If an attribute is immutable, Amazon Cognito throws an error when it attempts to update the attribute. For more information, see [Specifying Identity Provider Attribute Mappings for Your User Pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html) .", - "title": "Mutable", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of your user pool attribute. When you create or update a user pool, adding a schema attribute creates a custom or developer-only attribute. When you add an attribute with a `Name` value of `MyAttribute` , Amazon Cognito creates the custom attribute `custom:MyAttribute` . When `DeveloperOnlyAttribute` is `true` , Amazon Cognito creates your attribute as `dev:MyAttribute` . In an operation that describes a user pool, Amazon Cognito returns this value as `value` for standard attributes, `custom:value` for custom attributes, and `dev:value` for developer-only attributes..", - "title": "Name", - "type": "string" - }, - "NumberAttributeConstraints": { - "$ref": "#/definitions/AWS::Cognito::UserPool.NumberAttributeConstraints", - "markdownDescription": "Specifies the constraints for an attribute of the number type.", - "title": "NumberAttributeConstraints" - }, - "Required": { - "markdownDescription": "Specifies whether a user pool attribute is required. If the attribute is required and the user doesn't provide a value, registration or sign-in will fail.", - "title": "Required", - "type": "boolean" - }, - "StringAttributeConstraints": { - "$ref": "#/definitions/AWS::Cognito::UserPool.StringAttributeConstraints", - "markdownDescription": "Specifies the constraints for an attribute of the string type.", - "title": "StringAttributeConstraints" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.SignInPolicy": { - "additionalProperties": false, - "properties": { - "AllowedFirstAuthFactors": { - "items": { - "type": "string" - }, - "markdownDescription": "The sign-in methods that a user pool supports as the first factor. You can permit users to start authentication with a standard username and password, or with other one-time password and hardware factors.\n\nSupports values of `EMAIL_OTP` , `SMS_OTP` , `WEB_AUTHN` and `PASSWORD` ,", - "title": "AllowedFirstAuthFactors", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.SmsConfiguration": { - "additionalProperties": false, - "properties": { - "EumsSms": { - "$ref": "#/definitions/AWS::Cognito::UserPool.EumsSmsConfiguration" - }, - "ExternalId": { - "markdownDescription": "The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` .\n\nFor more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) .", - "title": "ExternalId", - "type": "string" - }, - "SnsCallerArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS caller. This is the ARN of the IAM role in your AWS account that Amazon Cognito will use to send SMS messages. SMS messages are subject to a [spending limit](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html) .", - "title": "SnsCallerArn", - "type": "string" - }, - "SnsRegion": { - "markdownDescription": "The AWS Region to use with Amazon SNS integration. You can choose the same Region as your user pool, or a supported *Legacy Amazon SNS alternate Region* .\n\nAmazon Cognito resources in the Asia Pacific (Seoul) AWS Region must use your Amazon SNS configuration in the Asia Pacific (Tokyo) Region. For more information, see [SMS message settings for Amazon Cognito user pools](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sms-settings.html) .", - "title": "SnsRegion", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.StringAttributeConstraints": { - "additionalProperties": false, - "properties": { - "MaxLength": { - "markdownDescription": "The maximum length of a string attribute value. Must be a number less than or equal to `2^1023` , represented as a string with a length of 131072 characters or fewer.", - "title": "MaxLength", - "type": "string" - }, - "MinLength": { - "markdownDescription": "The minimum length of a string attribute value.", - "title": "MinLength", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.UserAttributeUpdateSettings": { - "additionalProperties": false, - "properties": { - "AttributesRequireVerificationBeforeUpdate": { - "items": { - "type": "string" - }, - "markdownDescription": "Requires that your user verifies their email address, phone number, or both before Amazon Cognito updates the value of that attribute. When you update a user attribute that has this option activated, Amazon Cognito sends a verification message to the new phone number or email address. Amazon Cognito doesn\u2019t change the value of the attribute until your user responds to the verification message and confirms the new value.\n\nWhen `AttributesRequireVerificationBeforeUpdate` is false, your user pool doesn't require that your users verify attribute changes before Amazon Cognito updates them. In a user pool where `AttributesRequireVerificationBeforeUpdate` is false, API operations that change attribute values can immediately update a user\u2019s `email` or `phone_number` attribute.", - "title": "AttributesRequireVerificationBeforeUpdate", - "type": "array" - } - }, - "required": [ - "AttributesRequireVerificationBeforeUpdate" - ], - "type": "object" - }, - "AWS::Cognito::UserPool.UserPoolAddOns": { - "additionalProperties": false, - "properties": { - "AdvancedSecurityAdditionalFlows": { - "$ref": "#/definitions/AWS::Cognito::UserPool.AdvancedSecurityAdditionalFlows", - "markdownDescription": "Threat protection configuration options for additional authentication types in your user pool, including custom authentication.", - "title": "AdvancedSecurityAdditionalFlows" - }, - "AdvancedSecurityMode": { - "markdownDescription": "The operating mode of threat protection for standard authentication types in your user pool, including username-password and secure remote password (SRP) authentication.", - "title": "AdvancedSecurityMode", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.UsernameConfiguration": { - "additionalProperties": false, - "properties": { - "CaseSensitive": { - "markdownDescription": "Specifies whether user name case sensitivity will be applied for all users in the user pool through Amazon Cognito APIs. For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, users can sign in as the same user when they enter a different capitalization of their user name.\n\nValid values include:\n\n- **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as \u201cUserName\u201d. This is the default value.\n- **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute.", - "title": "CaseSensitive", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.VerificationMessageTemplate": { - "additionalProperties": false, - "properties": { - "DefaultEmailOption": { - "markdownDescription": "The configuration of verification emails to contain a clickable link or a verification code.\n\nFor link, your template body must contain link text in the format `{##Click here##}` . \"Click here\" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` .", - "title": "DefaultEmailOption", - "type": "string" - }, - "EmailMessage": { - "markdownDescription": "The template for email messages that Amazon Cognito sends to your users. You can set an `EmailMessage` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", - "title": "EmailMessage", - "type": "string" - }, - "EmailMessageByLink": { - "markdownDescription": "The email message template for sending a confirmation link to the user. You can set an `EmailMessageByLink` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", - "title": "EmailMessageByLink", - "type": "string" - }, - "EmailSubject": { - "markdownDescription": "The subject line for the email message template. You can set an `EmailSubject` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", - "title": "EmailSubject", - "type": "string" - }, - "EmailSubjectByLink": { - "markdownDescription": "The subject line for the email message template for sending a confirmation link to the user. You can set an `EmailSubjectByLink` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", - "title": "EmailSubjectByLink", - "type": "string" - }, - "SmsMessage": { - "markdownDescription": "The template for SMS messages that Amazon Cognito sends to your users.", - "title": "SmsMessage", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolClient": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -82294,154 +82195,38 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessTokenValidity": { - "markdownDescription": "The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with\ntheir access token for 10 hours.\n\nThe default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your access\ntokens are valid for one hour.", - "title": "AccessTokenValidity", - "type": "number" - }, - "AllowedOAuthFlows": { - "items": { - "type": "string" - }, - "markdownDescription": "The OAuth grant types that you want your app client to generate for clients in managed login authentication. To create an app client that generates client credentials grants, you must add `client_credentials` as the only allowed OAuth flow.\n\n- **code** - Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the `/oauth2/token` endpoint.\n- **implicit** - Issue the access token, and the ID token when scopes like `openid` and `profile` are requested, directly to your user.\n- **client_credentials** - Issue the access token from the `/oauth2/token` endpoint directly to a non-person user, authorized by a combination of the client ID and client secret.", - "title": "AllowedOAuthFlows", - "type": "array" - }, - "AllowedOAuthFlowsUserPoolClient": { - "markdownDescription": "Set to `true` to use OAuth 2.0 authorization server features in your app client.\n\nThis parameter must have a value of `true` before you can configure the following features in your app client.\n\n- `CallBackURLs` : Callback URLs.\n- `LogoutURLs` : Sign-out redirect URLs.\n- `AllowedOAuthScopes` : OAuth 2.0 scopes.\n- `AllowedOAuthFlows` : Support for authorization code, implicit, and client credentials OAuth 2.0 grants.\n\nTo use authorization server features, configure one of these features in the Amazon Cognito console or set `AllowedOAuthFlowsUserPoolClient` to `true` in a `CreateUserPoolClient` or `UpdateUserPoolClient` API request. If you don't set a value for `AllowedOAuthFlowsUserPoolClient` in a request with the AWS CLI or SDKs, it defaults to `false` . When `false` , only SDK-based API sign-in is permitted.", - "title": "AllowedOAuthFlowsUserPoolClient", - "type": "boolean" - }, - "AllowedOAuthScopes": { - "items": { - "type": "string" - }, - "markdownDescription": "The OAuth, OpenID Connect (OIDC), and custom scopes that you want to permit your app client to authorize access with. Scopes govern access control to user pool self-service API operations, user data from the `userInfo` endpoint, and third-party APIs. Scope values include `phone` , `email` , `openid` , and `profile` . The `aws.cognito.signin.user.admin` scope authorizes user self-service operations. Custom scopes with resource servers authorize access to external APIs.", - "title": "AllowedOAuthScopes", - "type": "array" - }, - "AnalyticsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolClient.AnalyticsConfiguration", - "markdownDescription": "The user pool analytics configuration for collecting metrics and sending them to your Amazon Pinpoint campaign.\n\nIn AWS Regions where Amazon Pinpoint isn't available, user pools might not have access to analytics or might be configurable with campaigns in the US East (N. Virginia) Region. For more information, see [Using Amazon Pinpoint analytics](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-pinpoint-integration.html) .", - "title": "AnalyticsConfiguration" - }, - "AuthSessionValidity": { - "markdownDescription": "Amazon Cognito creates a session token for each API request in an authentication flow. `AuthSessionValidity` is the duration, in minutes, of that session token. Your user pool native user must respond to each authentication challenge before the session expires.", - "title": "AuthSessionValidity", - "type": "number" - }, - "CallbackURLs": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of allowed redirect, or callback, URLs for managed login authentication. These URLs are the paths where you want to send your users' browsers after they complete authentication with managed login or a third-party IdP. Typically, callback URLs are the home of an application that uses OAuth or OIDC libraries to process authentication outcomes.\n\nA redirect URI must meet the following requirements:\n\n- Be an absolute URI.\n- Be registered with the authorization server. Amazon Cognito doesn't accept authorization requests with `redirect_uri` values that aren't in the list of `CallbackURLs` that you provide in this parameter.\n- Not include a fragment component.\n\nSee [OAuth 2.0 - Redirection Endpoint](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2) .\n\nAmazon Cognito requires HTTPS over HTTP except for callback URLs to `http://localhost` , `http://127.0.0.1` and `http://[::1]` . These callback URLs are for testing purposes only. You can specify custom TCP ports for your callback URLs.\n\nApp callback URLs such as `myapp://example` are also supported.", - "title": "CallbackURLs", - "type": "array" - }, - "ClientName": { - "markdownDescription": "A friendly name for the app client that you want to create.", - "title": "ClientName", - "type": "string" - }, - "DefaultRedirectURI": { - "markdownDescription": "The default redirect URI. In app clients with one assigned IdP, replaces `redirect_uri` in authentication requests. Must be in the `CallbackURLs` list.", - "title": "DefaultRedirectURI", + "ConnectionName": { + "markdownDescription": "The name of the connection. Connection names must be unique in an AWS account .", + "title": "ConnectionName", "type": "string" }, - "EnablePropagateAdditionalUserContextData": { - "markdownDescription": "When `true` , your application can include additional `UserContextData` in authentication requests. This data includes the IP address, and contributes to analysis by threat protection features. For more information about propagation of user context data, see [Adding session data to API requests](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-adaptive-authentication.html#user-pool-settings-adaptive-authentication-device-fingerprint) . If you don\u2019t include this parameter, you can't send the source IP address to Amazon Cognito threat protection features. You can only activate `EnablePropagateAdditionalUserContextData` in an app client that has a client secret.", - "title": "EnablePropagateAdditionalUserContextData", - "type": "boolean" - }, - "EnableTokenRevocation": { - "markdownDescription": "Activates or deactivates token revocation.\n\nIf you don't include this parameter, token revocation is automatically activated for the new user pool client.", - "title": "EnableTokenRevocation", - "type": "boolean" - }, - "ExplicitAuthFlows": { - "items": { - "type": "string" - }, - "markdownDescription": "The [authentication flows](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow-methods.html) that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.\n\n> If you don't specify a value for `ExplicitAuthFlows` , your app client supports `ALLOW_REFRESH_TOKEN_AUTH` , `ALLOW_USER_SRP_AUTH` , and `ALLOW_CUSTOM_AUTH` . \n\nThe values for authentication flow options include the following.\n\n- `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` .\n\nTo activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.\n- `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.\n- `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication.\n- `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.\n- `ALLOW_USER_SRP_AUTH` : Enable SRP-based authentication.\n- `ALLOW_REFRESH_TOKEN_AUTH` : Enable authflow to refresh tokens.\n\nIn some environments, you will see the values `ADMIN_NO_SRP_AUTH` , `CUSTOM_AUTH_FLOW_ONLY` , or `USER_PASSWORD_AUTH` . You can't assign these legacy `ExplicitAuthFlows` values to user pool clients at the same time as values that begin with `ALLOW_` ,\nlike `ALLOW_USER_SRP_AUTH` .", - "title": "ExplicitAuthFlows", - "type": "array" - }, - "GenerateSecret": { - "markdownDescription": "When `true` , generates a client secret for the app client. Client secrets are used with server-side and machine-to-machine applications. Client secrets are automatically generated; you can't specify a secret value. For more information, see [App client types](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-client-apps.html#user-pool-settings-client-app-client-types) .", - "title": "GenerateSecret", - "type": "boolean" - }, - "IdTokenValidity": { - "markdownDescription": "The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for `IdTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours.\n\nThe default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your ID\ntokens are valid for one hour.", - "title": "IdTokenValidity", - "type": "number" - }, - "LogoutURLs": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of allowed logout URLs for managed login authentication. When you pass `logout_uri` and `client_id` parameters to `/logout` , Amazon Cognito signs out your user and redirects them to the logout URL. This parameter describes the URLs that you want to be the permitted targets of `logout_uri` . A typical use of these URLs is when a user selects \"Sign out\" and you redirect them to your public homepage. For more information, see [Logout endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/logout-endpoint.html) .", - "title": "LogoutURLs", - "type": "array" - }, - "PreventUserExistenceErrors": { - "markdownDescription": "Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool.\n\nValid values include:\n\n- `ENABLED` - This prevents user existence-related errors.\n- `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented.\n\nDefaults to `LEGACY` when you don't provide a value.", - "title": "PreventUserExistenceErrors", + "HostArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the host associated with the connection.", + "title": "HostArn", "type": "string" }, - "ReadAttributes": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information.\n\nWhen you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes.", - "title": "ReadAttributes", - "type": "array" - }, - "RefreshTokenRotation": { - "$ref": "#/definitions/AWS::Cognito::UserPoolClient.RefreshTokenRotation", - "markdownDescription": "The configuration of your app client for refresh token rotation. When enabled, your app client issues new ID, access, and refresh tokens when users renew their sessions with refresh tokens. When disabled, token refresh issues only ID and access tokens.", - "title": "RefreshTokenRotation" - }, - "RefreshTokenValidity": { - "markdownDescription": "The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session\nand retrieve new access and ID tokens for 10 days.\n\nThe default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your refresh\ntokens are valid for 30 days.", - "title": "RefreshTokenValidity", - "type": "number" - }, - "SupportedIdentityProviders": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: `COGNITO` , `Facebook` , `Google` , `SignInWithApple` , and `LoginWithAmazon` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example `MySAMLIdP` or `MyOIDCIdP` .\n\nThis parameter sets the IdPs that [managed login](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html) will display on the login page for your app client. The removal of `COGNITO` from this list doesn't prevent authentication operations for local users with the user pools API in an AWS SDK. The only way to prevent SDK-based authentication is to block access with a [AWS WAF rule](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-waf.html) .", - "title": "SupportedIdentityProviders", - "type": "array" - }, - "TokenValidityUnits": { - "$ref": "#/definitions/AWS::Cognito::UserPoolClient.TokenValidityUnits", - "markdownDescription": "The units that validity times are represented in. The default unit for refresh tokens is days, and the default for ID and access tokens are hours.", - "title": "TokenValidityUnits" - }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool where you want to create an app client.", - "title": "UserPoolId", + "ProviderType": { + "markdownDescription": "The name of the external provider where your third-party code repository is configured.", + "title": "ProviderType", "type": "string" }, - "WriteAttributes": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The list of user attributes that you want your app client to have write access to. After your user authenticates in your app, their access token authorizes them to set or modify their own attribute value for any attribute in this list.\n\nWhen you don't specify the `WriteAttributes` for your app client, your app can write the values of the Standard attributes of your user pool. When your user pool has write access to these default attributes, `WriteAttributes` doesn't return any information. Amazon Cognito only populates `WriteAttributes` in the API response if you have specified your own custom set of write attributes.\n\nIf your app client allows users to sign in through an IdP, this array must include all attributes that you have mapped to IdP attributes. Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If your app client does not have write access to a mapped attribute, Amazon Cognito throws an error when it tries to update the attribute. For more information, see [Specifying IdP Attribute Mappings for Your user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html) .", - "title": "WriteAttributes", + "markdownDescription": "", + "title": "Tags", "type": "array" } }, "required": [ - "UserPoolId" + "ConnectionName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolClient" + "AWS::CodeConnections::Connection" ], "type": "string" }, @@ -82460,75 +82245,7 @@ ], "type": "object" }, - "AWS::Cognito::UserPoolClient.AnalyticsConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications", - "title": "ApplicationArn", - "type": "string" - }, - "ApplicationId": { - "markdownDescription": "Your Amazon Pinpoint project ID.", - "title": "ApplicationId", - "type": "string" - }, - "ExternalId": { - "markdownDescription": "The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint.", - "title": "ExternalId", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics.", - "title": "RoleArn", - "type": "string" - }, - "UserDataShared": { - "markdownDescription": "If `UserDataShared` is `true` , Amazon Cognito includes user data in the events that it publishes to Amazon Pinpoint analytics.", - "title": "UserDataShared", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolClient.RefreshTokenRotation": { - "additionalProperties": false, - "properties": { - "Feature": { - "markdownDescription": "The state of refresh token rotation for the current app client.", - "title": "Feature", - "type": "string" - }, - "RetryGracePeriodSeconds": { - "markdownDescription": "When you request a token refresh with `GetTokensFromRefreshToken` , the original refresh token that you're rotating out can remain valid for a period of time of up to 60 seconds. This allows for client-side retries. When `RetryGracePeriodSeconds` is `0` , the grace period is disabled and a successful request immediately invalidates the submitted refresh token.", - "title": "RetryGracePeriodSeconds", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolClient.TokenValidityUnits": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "markdownDescription": "A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day.", - "title": "AccessToken", - "type": "string" - }, - "IdToken": { - "markdownDescription": "A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day.", - "title": "IdToken", - "type": "string" - }, - "RefreshToken": { - "markdownDescription": "A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years.", - "title": "RefreshToken", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolDomain": { + "AWS::CodeConnections::Host": { "additionalProperties": false, "properties": { "Condition": { @@ -82563,39 +82280,35 @@ "Properties": { "additionalProperties": false, "properties": { - "CustomDomainConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType", - "markdownDescription": "The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM.\n\nWhen you create a custom domain, the passkey RP ID defaults to the custom domain. If you had a prefix domain active, this will cause passkey integration for your prefix domain to stop working due to a mismatch in RP ID. To keep the prefix domain passkey integration working, you can explicitly set RP ID to the prefix domain.", - "title": "CustomDomainConfig" + "Name": { + "type": "string" }, - "Domain": { - "markdownDescription": "The name of the domain that you want to update. For custom domains, this is the fully-qualified domain name, for example `auth.example.com` . For prefix domains, this is the prefix alone, such as `myprefix` .", - "title": "Domain", + "ProviderEndpoint": { "type": "string" }, - "ManagedLoginVersion": { - "markdownDescription": "A version number that indicates the state of managed login for your domain. Version `1` is hosted UI (classic). Version `2` is the newer managed login with the branding editor. For more information, see [Managed login](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html) .", - "title": "ManagedLoginVersion", - "type": "number" + "ProviderType": { + "type": "string" }, - "Routing": { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.RoutingType" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool that is associated with the domain you're updating.", - "title": "UserPoolId", - "type": "string" + "VpcConfiguration": { + "$ref": "#/definitions/AWS::CodeConnections::Host.VpcConfiguration" } }, "required": [ - "Domain", - "UserPoolId" + "Name", + "ProviderEndpoint", + "ProviderType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolDomain" + "AWS::CodeConnections::Host" ], "type": "string" }, @@ -82614,46 +82327,36 @@ ], "type": "object" }, - "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { + "AWS::CodeConnections::Host.VpcConfiguration": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an Certificate Manager SSL certificate. You use this certificate for the subdomain of your custom domain.", - "title": "CertificateArn", - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "SecurityPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolDomain.FailoverType": { - "additionalProperties": false, - "properties": { - "PrimaryRoute53HealthCheckId": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TlsCertificate": { "type": "string" }, - "SecondaryRegion": { + "VpcId": { "type": "string" } }, "required": [ - "PrimaryRoute53HealthCheckId", - "SecondaryRegion" + "SecurityGroupIds", + "SubnetIds", + "VpcId" ], "type": "object" }, - "AWS::Cognito::UserPoolDomain.RoutingType": { - "additionalProperties": false, - "properties": { - "Failover": { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.FailoverType" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolGroup": { + "AWS::CodeDeploy::Application": { "additionalProperties": false, "properties": { "Condition": { @@ -82688,40 +82391,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description of the group that you're creating.", - "title": "Description", - "type": "string" - }, - "GroupName": { - "markdownDescription": "A name for the group. This name must be unique in your user pool.", - "title": "GroupName", + "ApplicationName": { + "markdownDescription": "A name for the application. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the application name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> Updates to `ApplicationName` are not supported.", + "title": "ApplicationName", "type": "string" }, - "Precedence": { - "markdownDescription": "A non-negative integer value that specifies the precedence of this group relative to the other groups that a user can belong to in the user pool. Zero is the highest precedence value. Groups with lower `Precedence` values take precedence over groups with higher or null `Precedence` values. If a user belongs to two or more groups, it is the group with the lowest precedence value whose role ARN is given in the user's tokens for the `cognito:roles` and `cognito:preferred_role` claims.\n\nTwo groups can have the same `Precedence` value. If this happens, neither group takes precedence over the other. If two groups with the same `Precedence` have the same role ARN, that role is used in the `cognito:preferred_role` claim in tokens for users in each group. If the two groups have different role ARNs, the `cognito:preferred_role` claim isn't set in users' tokens.\n\nThe default `Precedence` value is null. The maximum `Precedence` value is `2^31-1` .", - "title": "Precedence", - "type": "number" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the IAM role that you want to associate with the group. A group role primarily declares a preferred role for the credentials that you get from an identity pool. Amazon Cognito ID tokens have a `cognito:preferred_role` claim that presents the highest-precedence group that a user belongs to. Both ID and access tokens also contain a `cognito:groups` claim that list all the groups that a user is a member of.", - "title": "RoleArn", + "ComputePlatform": { + "markdownDescription": "The compute platform that CodeDeploy deploys the application to.", + "title": "ComputePlatform", "type": "string" }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool where you want to create a user group.", - "title": "UserPoolId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The metadata that you apply to CodeDeploy applications to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.", + "title": "Tags", + "type": "array" } }, - "required": [ - "UserPoolId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolGroup" + "AWS::CodeDeploy::Application" ], "type": "string" }, @@ -82735,12 +82428,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Cognito::UserPoolIdentityProvider": { + "AWS::CodeDeploy::DeploymentConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -82775,63 +82467,37 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributeMapping": { - "additionalProperties": true, - "markdownDescription": "A mapping of IdP attributes to standard and custom user pool attributes. Specify a user pool attribute as the key of the key-value pair, and the IdP attribute claim name as the value.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "AttributeMapping", - "type": "object" - }, - "IdpIdentifiers": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of IdP identifiers, for example `\"IdPIdentifiers\": [ \"MyIdP\", \"MyIdP2\" ]` . Identifiers are friendly names that you can pass in the `idp_identifier` query parameter of requests to the [Authorize endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html) to silently redirect to sign-in with the associated IdP. Identifiers in a domain format also enable the use of [email-address matching with SAML providers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managing-saml-idp-naming.html) .", - "title": "IdpIdentifiers", - "type": "array" - }, - "ProviderDetails": { - "additionalProperties": true, - "markdownDescription": "The scopes, URLs, and identifiers for your external identity provider. The following\nexamples describe the provider detail keys for each IdP type. These values and their\nschema are subject to change. Social IdP `authorize_scopes` values must match\nthe values listed here.\n\n- **OpenID Connect (OIDC)** - Amazon Cognito accepts the following elements when it can't discover endpoint URLs from `oidc_issuer` : `attributes_url` , `authorize_url` , `jwks_uri` , `token_url` .\n\nCreate or update request: `\"ProviderDetails\": { \"attributes_request_method\": \"GET\", \"attributes_url\": \"https://auth.example.com/userInfo\", \"authorize_scopes\": \"openid profile email\", \"authorize_url\": \"https://auth.example.com/authorize\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"jwks_uri\": \"https://auth.example.com/.well-known/jwks.json\", \"oidc_issuer\": \"https://auth.example.com\", \"token_url\": \"https://example.com/token\" }`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_request_method\": \"GET\", \"attributes_url\": \"https://auth.example.com/userInfo\", \"attributes_url_add_attributes\": \"false\", \"authorize_scopes\": \"openid profile email\", \"authorize_url\": \"https://auth.example.com/authorize\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"jwks_uri\": \"https://auth.example.com/.well-known/jwks.json\", \"oidc_issuer\": \"https://auth.example.com\", \"token_url\": \"https://example.com/token\" }`\n- **SAML** - Create or update request with Metadata URL: `\"ProviderDetails\": { \"IDPInit\": \"true\", \"IDPSignout\": \"true\", \"EncryptedResponses\" : \"true\", \"MetadataURL\": \"https://auth.example.com/sso/saml/metadata\", \"RequestSigningAlgorithm\": \"rsa-sha256\" }`\n\nCreate or update request with Metadata file: `\"ProviderDetails\": { \"IDPInit\": \"true\", \"IDPSignout\": \"true\", \"EncryptedResponses\" : \"true\", \"MetadataFile\": \"[metadata XML]\", \"RequestSigningAlgorithm\": \"rsa-sha256\" }`\n\nThe value of `MetadataFile` must be the plaintext metadata document with all quote (\") characters escaped by backslashes.\n\nDescribe response: `\"ProviderDetails\": { \"IDPInit\": \"true\", \"IDPSignout\": \"true\", \"EncryptedResponses\" : \"true\", \"ActiveEncryptionCertificate\": \"[certificate]\", \"MetadataURL\": \"https://auth.example.com/sso/saml/metadata\", \"RequestSigningAlgorithm\": \"rsa-sha256\", \"SLORedirectBindingURI\": \"https://auth.example.com/slo/saml\", \"SSORedirectBindingURI\": \"https://auth.example.com/sso/saml\" }`\n- **LoginWithAmazon** - Create or update request: `\"ProviderDetails\": { \"authorize_scopes\": \"profile postal_code\", \"client_id\": \"amzn1.application-oa2-client.1example23456789\", \"client_secret\": \"provider-app-client-secret\"`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_url\": \"https://api.amazon.com/user/profile\", \"attributes_url_add_attributes\": \"false\", \"authorize_scopes\": \"profile postal_code\", \"authorize_url\": \"https://www.amazon.com/ap/oa\", \"client_id\": \"amzn1.application-oa2-client.1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"token_request_method\": \"POST\", \"token_url\": \"https://api.amazon.com/auth/o2/token\" }`\n- **Google** - Create or update request: `\"ProviderDetails\": { \"authorize_scopes\": \"email profile openid\", \"client_id\": \"1example23456789.apps.googleusercontent.com\", \"client_secret\": \"provider-app-client-secret\" }`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_url\": \"https://people.googleapis.com/v1/people/me?personFields=\", \"attributes_url_add_attributes\": \"true\", \"authorize_scopes\": \"email profile openid\", \"authorize_url\": \"https://accounts.google.com/o/oauth2/v2/auth\", \"client_id\": \"1example23456789.apps.googleusercontent.com\", \"client_secret\": \"provider-app-client-secret\", \"oidc_issuer\": \"https://accounts.google.com\", \"token_request_method\": \"POST\", \"token_url\": \"https://www.googleapis.com/oauth2/v4/token\" }`\n- **SignInWithApple** - Create or update request: `\"ProviderDetails\": { \"authorize_scopes\": \"email name\", \"client_id\": \"com.example.cognito\", \"private_key\": \"1EXAMPLE\", \"key_id\": \"2EXAMPLE\", \"team_id\": \"3EXAMPLE\" }`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_url_add_attributes\": \"false\", \"authorize_scopes\": \"email name\", \"authorize_url\": \"https://appleid.apple.com/auth/authorize\", \"client_id\": \"com.example.cognito\", \"key_id\": \"1EXAMPLE\", \"oidc_issuer\": \"https://appleid.apple.com\", \"team_id\": \"2EXAMPLE\", \"token_request_method\": \"POST\", \"token_url\": \"https://appleid.apple.com/auth/token\" }`\n- **Facebook** - Create or update request: `\"ProviderDetails\": { \"api_version\": \"v17.0\", \"authorize_scopes\": \"public_profile, email\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\" }`\n\nDescribe response: `\"ProviderDetails\": { \"api_version\": \"v17.0\", \"attributes_url\": \"https://graph.facebook.com/v17.0/me?fields=\", \"attributes_url_add_attributes\": \"true\", \"authorize_scopes\": \"public_profile, email\", \"authorize_url\": \"https://www.facebook.com/v17.0/dialog/oauth\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"token_request_method\": \"GET\", \"token_url\": \"https://graph.facebook.com/v17.0/oauth/access_token\" }`", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ProviderDetails", - "type": "object" - }, - "ProviderName": { - "markdownDescription": "The name that you want to assign to the IdP. You can pass the identity provider name in the `identity_provider` query parameter of requests to the [Authorize endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html) to silently redirect to sign-in with the associated IdP.", - "title": "ProviderName", + "ComputePlatform": { + "markdownDescription": "The destination platform type for the deployment ( `Lambda` , `Server` , or `ECS` ).", + "title": "ComputePlatform", "type": "string" }, - "ProviderType": { - "markdownDescription": "The type of IdP that you want to add. Amazon Cognito supports OIDC, SAML 2.0, Login With Amazon, Sign In With Apple, Google, and Facebook IdPs.", - "title": "ProviderType", + "DeploymentConfigName": { + "markdownDescription": "A name for the deployment configuration. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the deployment configuration name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "DeploymentConfigName", "type": "string" }, - "UserPoolId": { - "markdownDescription": "The Id of the user pool where you want to create an IdP.", - "title": "UserPoolId", - "type": "string" + "MinimumHealthyHosts": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts", + "markdownDescription": "The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value.\n\nThe type parameter takes either of the following values:\n\n- HOST_COUNT: The value parameter represents the minimum number of healthy instances as an absolute value.\n- FLEET_PERCENT: The value parameter represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances.\n\nThe value parameter takes an integer.\n\nFor example, to set a minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of 95.\n\nFor more information about instance health, see [CodeDeploy Instance Health](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-health.html) in the AWS CodeDeploy User Guide.", + "title": "MinimumHealthyHosts" + }, + "TrafficRoutingConfig": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TrafficRoutingConfig", + "markdownDescription": "The configuration that specifies how the deployment traffic is routed.", + "title": "TrafficRoutingConfig" + }, + "ZonalConfig": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.ZonalConfig", + "markdownDescription": "Configure the `ZonalConfig` object if you want AWS CodeDeploy to deploy your application to one [Availability Zone](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones) at a time, within an AWS Region.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", + "title": "ZonalConfig" } }, - "required": [ - "ProviderDetails", - "ProviderName", - "ProviderType", - "UserPoolId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolIdentityProvider" + "AWS::CodeDeploy::DeploymentConfig" ], "type": "string" }, @@ -82845,266 +82511,136 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment": { + "AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts": { "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": { - "EmailConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.EmailConfiguration" - }, - "LambdaConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.LambdaConfig" - }, - "SmsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.SmsConfiguration" - }, - "Status": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - }, - "UserPoolTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, "Type": { - "enum": [ - "AWS::Cognito::UserPoolRegionalConfigurationAttachment" - ], + "markdownDescription": "The minimum healthy instance type:\n\n- HOST_COUNT: The minimum number of healthy instance as an absolute value.\n- FLEET_PERCENT: The minimum number of healthy instance as a percentage of the total number of instance in the deployment.\n\nIn an example of nine instance, if a HOST_COUNT of six is specified, deploy to up to three instances at a time. The deployment is successful if six or more instances are deployed to successfully. Otherwise, the deployment fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instance at a time. The deployment is successful if four or more instance are deployed to successfully. Otherwise, the deployment fails.\n\n> In a call to `GetDeploymentConfig` , CodeDeployDefault.OneAtATime returns a minimum healthy instance type of MOST_CONCURRENCY and a value of 1. This means a deployment to only one instance at a time. (You cannot set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy attempts to ensure that all instances but one are kept in a healthy state during the deployment. Although this allows one instance at a time to be taken offline for a new deployment, it also means that if the deployment to the last instance fails, the overall deployment is still successful. \n\nFor more information, see [AWS CodeDeploy Instance Health](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html) in the *AWS CodeDeploy User Guide* .", + "title": "Type", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Value": { + "markdownDescription": "The minimum healthy instance value.", + "title": "Value", + "type": "number" } }, "required": [ "Type", - "Properties" + "Value" ], "type": "object" }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomEmailSender": { + "AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHostsPerZone": { "additionalProperties": false, "properties": { - "LambdaArn": { + "Type": { + "markdownDescription": "The `type` associated with the `MinimumHealthyHostsPerZone` option.", + "title": "Type", "type": "string" }, - "LambdaVersion": { - "type": "string" + "Value": { + "markdownDescription": "The `value` associated with the `MinimumHealthyHostsPerZone` option.", + "title": "Value", + "type": "number" } }, + "required": [ + "Type", + "Value" + ], "type": "object" }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomSMSSender": { + "AWS::CodeDeploy::DeploymentConfig.TimeBasedCanary": { "additionalProperties": false, "properties": { - "LambdaArn": { - "type": "string" + "CanaryInterval": { + "markdownDescription": "The number of minutes between the first and second traffic shifts of a `TimeBasedCanary` deployment.", + "title": "CanaryInterval", + "type": "number" }, - "LambdaVersion": { - "type": "string" + "CanaryPercentage": { + "markdownDescription": "The percentage of traffic to shift in the first increment of a `TimeBasedCanary` deployment.", + "title": "CanaryPercentage", + "type": "number" } }, + "required": [ + "CanaryInterval", + "CanaryPercentage" + ], "type": "object" }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.EmailConfiguration": { + "AWS::CodeDeploy::DeploymentConfig.TimeBasedLinear": { "additionalProperties": false, "properties": { - "ConfigurationSet": { - "type": "string" - }, - "EmailSendingAccount": { - "type": "string" - }, - "From": { - "type": "string" - }, - "ReplyToEmailAddress": { - "type": "string" + "LinearInterval": { + "markdownDescription": "The number of minutes between each incremental traffic shift of a `TimeBasedLinear` deployment.", + "title": "LinearInterval", + "type": "number" }, - "SourceArn": { - "type": "string" + "LinearPercentage": { + "markdownDescription": "The percentage of traffic that is shifted at the start of each increment of a `TimeBasedLinear` deployment.", + "title": "LinearPercentage", + "type": "number" } }, + "required": [ + "LinearInterval", + "LinearPercentage" + ], "type": "object" }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.EumsSmsConfiguration": { + "AWS::CodeDeploy::DeploymentConfig.TrafficRoutingConfig": { "additionalProperties": false, "properties": { - "CallerArn": { - "type": "string" - }, - "ConfigurationSetName": { - "type": "string" - }, - "ExternalId": { - "type": "string" - }, - "InEntityId": { - "type": "string" - }, - "InTemplateId": { - "type": "string" + "TimeBasedCanary": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TimeBasedCanary", + "markdownDescription": "A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in two increments. The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.", + "title": "TimeBasedCanary" }, - "OriginationIdentity": { - "type": "string" + "TimeBasedLinear": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TimeBasedLinear", + "markdownDescription": "A configuration that shifts traffic from one version of a Lambda function or Amazon ECS task set to another in equal increments, with an equal number of minutes between each increment. The original and target Lambda function versions or Amazon ECS task sets are specified in the deployment's AppSpec file.", + "title": "TimeBasedLinear" }, - "Region": { + "Type": { + "markdownDescription": "The type of traffic shifting ( `TimeBasedCanary` or `TimeBasedLinear` ) used by a deployment configuration.", + "title": "Type", "type": "string" } }, "required": [ - "CallerArn" + "Type" ], "type": "object" }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.InboundFederation": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.LambdaConfig": { - "additionalProperties": false, - "properties": { - "CreateAuthChallenge": { - "type": "string" - }, - "CustomEmailSender": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomEmailSender" - }, - "CustomMessage": { - "type": "string" - }, - "CustomSMSSender": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomSMSSender" - }, - "DefineAuthChallenge": { - "type": "string" - }, - "InboundFederation": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.InboundFederation" - }, - "KMSKeyID": { - "type": "string" - }, - "PostAuthentication": { - "type": "string" - }, - "PostConfirmation": { - "type": "string" - }, - "PreAuthentication": { - "type": "string" - }, - "PreSignUp": { - "type": "string" - }, - "PreTokenGeneration": { - "type": "string" - }, - "PreTokenGenerationConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.PreTokenGenerationConfig" - }, - "UserMigration": { - "type": "string" - }, - "VerifyAuthChallengeResponse": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.PreTokenGenerationConfig": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.SmsConfiguration": { + "AWS::CodeDeploy::DeploymentConfig.ZonalConfig": { "additionalProperties": false, "properties": { - "EumsSms": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.EumsSmsConfiguration" - }, - "ExternalId": { - "type": "string" + "FirstZoneMonitorDurationInSeconds": { + "markdownDescription": "The period of time, in seconds, that CodeDeploy must wait after completing a deployment to the *first* Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the second Availability Zone. You might set this option if you want to allow extra bake time for the first Availability Zone. If you don't specify a value for `firstZoneMonitorDurationInSeconds` , then CodeDeploy uses the `monitorDurationInSeconds` value for the first Availability Zone.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", + "title": "FirstZoneMonitorDurationInSeconds", + "type": "number" }, - "SnsCallerArn": { - "type": "string" + "MinimumHealthyHostsPerZone": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHostsPerZone", + "markdownDescription": "The number or percentage of instances that must remain available per Availability Zone during a deployment. This option works in conjunction with the `MinimumHealthyHosts` option. For more information, see [About the minimum number of healthy hosts per Availability Zone](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html#minimum-healthy-hosts-az) in the *CodeDeploy User Guide* .\n\nIf you don't specify the `minimumHealthyHostsPerZone` option, then CodeDeploy uses a default value of `0` percent.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", + "title": "MinimumHealthyHostsPerZone" }, - "SnsRegion": { - "type": "string" + "MonitorDurationInSeconds": { + "markdownDescription": "The period of time, in seconds, that CodeDeploy must wait after completing a deployment to an Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the next Availability Zone. Consider adding a monitor duration to give the deployment some time to prove itself (or 'bake') in one Availability Zone before it is released in the next zone. If you don't specify a `monitorDurationInSeconds` , CodeDeploy starts deploying to the next Availability Zone immediately.\n\nFor more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .", + "title": "MonitorDurationInSeconds", + "type": "number" } }, "type": "object" }, - "AWS::Cognito::UserPoolReplica": { + "AWS::CodeDeploy::DeploymentGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -83139,31 +82675,134 @@ "Properties": { "additionalProperties": false, "properties": { - "RegionName": { + "AlarmConfiguration": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration", + "markdownDescription": "Information about the Amazon CloudWatch alarms that are associated with the deployment group.", + "title": "AlarmConfiguration" + }, + "ApplicationName": { + "markdownDescription": "The name of an existing CodeDeploy application to associate this deployment group with.", + "title": "ApplicationName", "type": "string" }, - "UserPoolId": { + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration", + "markdownDescription": "Information about the automatic rollback configuration that is associated with the deployment group. If you specify this property, don't specify the `Deployment` property.", + "title": "AutoRollbackConfiguration" + }, + "AutoScalingGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of associated Auto Scaling groups that CodeDeploy automatically deploys revisions to when new instances are created. Duplicates are not allowed.", + "title": "AutoScalingGroups", + "type": "array" + }, + "BlueGreenDeploymentConfiguration": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.BlueGreenDeploymentConfiguration", + "markdownDescription": "Information about blue/green deployment options for a deployment group.", + "title": "BlueGreenDeploymentConfiguration" + }, + "Deployment": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Deployment", + "markdownDescription": "The application revision to deploy to this deployment group. If you specify this property, your target application revision is deployed as soon as the provisioning process is complete. If you specify this property, don't specify the `AutoRollbackConfiguration` property.", + "title": "Deployment" + }, + "DeploymentConfigName": { + "markdownDescription": "A deployment configuration name or a predefined configuration name. With predefined configurations, you can deploy application revisions to one instance at a time ( `CodeDeployDefault.OneAtATime` ), half of the instances at a time ( `CodeDeployDefault.HalfAtATime` ), or all the instances at once ( `CodeDeployDefault.AllAtOnce` ). For more information and valid values, see [Working with Deployment Configurations](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) in the *AWS CodeDeploy User Guide* .", + "title": "DeploymentConfigName", "type": "string" }, - "UserPoolTagsAtCreate": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "DeploymentGroupName": { + "markdownDescription": "A name for the deployment group. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the deployment group name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "DeploymentGroupName", + "type": "string" + }, + "DeploymentStyle": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.DeploymentStyle", + "markdownDescription": "Attributes that determine the type of deployment to run and whether to route deployment traffic behind a load balancer.\n\nIf you specify this property with a blue/green deployment type, don't specify the `AutoScalingGroups` , `LoadBalancerInfo` , or `Deployment` properties.\n\n> For blue/green deployments, CloudFormation supports deployments on Lambda compute platforms only. You can perform Amazon ECS blue/green deployments using `AWS::CodeDeploy::BlueGreen` hook. See [Perform Amazon ECS blue/green deployments through CodeDeploy using CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html) for more information.", + "title": "DeploymentStyle" + }, + "ECSServices": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.ECSService" }, - "type": "object" + "markdownDescription": "The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format `:` .", + "title": "ECSServices", + "type": "array" + }, + "Ec2TagFilters": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagFilter" + }, + "markdownDescription": "The Amazon EC2 tags that are already applied to Amazon EC2 instances that you want to include in the deployment group. CodeDeploy includes all Amazon EC2 instances identified by any of the tags you specify in this deployment group. Duplicates are not allowed.\n\nYou can specify `EC2TagFilters` or `Ec2TagSet` , but not both.", + "title": "Ec2TagFilters", + "type": "array" + }, + "Ec2TagSet": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagSet", + "markdownDescription": "Information about groups of tags applied to Amazon EC2 instances. The deployment group includes only Amazon EC2 instances identified by all the tag groups. Cannot be used in the same call as `ec2TagFilter` .", + "title": "Ec2TagSet" + }, + "LoadBalancerInfo": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.LoadBalancerInfo", + "markdownDescription": "Information about the load balancer to use in a deployment. For more information, see [Integrating CodeDeploy with Elastic Load Balancing](https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-elastic-load-balancing.html) in the *AWS CodeDeploy User Guide* .", + "title": "LoadBalancerInfo" + }, + "OnPremisesInstanceTagFilters": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" + }, + "markdownDescription": "The on-premises instance tags already applied to on-premises instances that you want to include in the deployment group. CodeDeploy includes all on-premises instances identified by any of the tags you specify in this deployment group. To register on-premises instances with CodeDeploy , see [Working with On-Premises Instances for CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-on-premises.html) in the *AWS CodeDeploy User Guide* . Duplicates are not allowed.\n\nYou can specify `OnPremisesInstanceTagFilters` or `OnPremisesInstanceTagSet` , but not both.", + "title": "OnPremisesInstanceTagFilters", + "type": "array" + }, + "OnPremisesTagSet": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet", + "markdownDescription": "Information about groups of tags applied to on-premises instances. The deployment group includes only on-premises instances identified by all the tag groups.\n\nYou can specify `OnPremisesInstanceTagFilters` or `OnPremisesInstanceTagSet` , but not both.", + "title": "OnPremisesTagSet" + }, + "OutdatedInstancesStrategy": { + "markdownDescription": "Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision.\n\nIf this option is set to `UPDATE` or is unspecified, CodeDeploy initiates one or more 'auto-update outdated instances' deployments to apply the deployed application revision to the new Amazon EC2 instances.\n\nIf this option is set to `IGNORE` , CodeDeploy does not initiate a deployment to update the new Amazon EC2 instances. This may result in instances having different revisions.", + "title": "OutdatedInstancesStrategy", + "type": "string" + }, + "ServiceRoleArn": { + "markdownDescription": "A service role Amazon Resource Name (ARN) that grants CodeDeploy permission to make calls to AWS services on your behalf. For more information, see [Create a Service Role for AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-create-service-role.html) in the *AWS CodeDeploy User Guide* .\n\n> In some cases, you might need to add a dependency on the service role's policy. For more information, see IAM role policy in [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) .", + "title": "ServiceRoleArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.", + "title": "Tags", + "type": "array" + }, + "TerminationHookEnabled": { + "markdownDescription": "Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.\n\nFor more information about the termination hook, see [How Amazon EC2 Auto Scaling works with CodeDeploy](https://docs.aws.amazon.com//codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors) in the *AWS CodeDeploy User Guide* .", + "title": "TerminationHookEnabled", + "type": "boolean" + }, + "TriggerConfigurations": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" + }, + "markdownDescription": "Information about triggers associated with the deployment group. Duplicates are not allowed", + "title": "TriggerConfigurations", + "type": "array" } }, "required": [ - "RegionName", - "UserPoolId" + "ApplicationName", + "ServiceRoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolReplica" + "AWS::CodeDeploy::DeploymentGroup" ], "type": "string" }, @@ -83182,383 +82821,473 @@ ], "type": "object" }, - "AWS::Cognito::UserPoolResourceServer": { + "AWS::CodeDeploy::DeploymentGroup.Alarm": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "markdownDescription": "The name of the alarm. Maximum length is 255 characters. Each alarm name can be used only once in a list of alarms.", + "title": "Name", "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Alarm" + }, + "markdownDescription": "A list of alarms configured for the deployment or deployment group. A maximum of 10 alarms can be added.", + "title": "Alarms", + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Enabled": { + "markdownDescription": "Indicates whether the alarm configuration is enabled.", + "title": "Enabled", + "type": "boolean" }, - "Metadata": { - "type": "object" + "IgnorePollAlarmFailure": { + "markdownDescription": "Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from Amazon CloudWatch . The default value is `false` .\n\n- `true` : The deployment proceeds even if alarm status information can't be retrieved from CloudWatch .\n- `false` : The deployment stops if alarm status information can't be retrieved from CloudWatch .", + "title": "IgnorePollAlarmFailure", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "Indicates whether a defined automatic rollback configuration is currently enabled.", + "title": "Enabled", + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Identifier": { - "markdownDescription": "A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier.\n\nAmazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens.", - "title": "Identifier", - "type": "string" - }, - "Name": { - "markdownDescription": "A friendly name for the resource server.", - "title": "Name", - "type": "string" - }, - "Scopes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" - }, - "markdownDescription": "A list of scopes. Each scope is a map with keys `ScopeName` and `ScopeDescription` .", - "title": "Scopes", - "type": "array" - }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool where you want to create a resource server.", - "title": "UserPoolId", - "type": "string" - } + "Events": { + "items": { + "type": "string" }, - "required": [ - "Identifier", - "Name", - "UserPoolId" - ], - "type": "object" + "markdownDescription": "The event type or types that trigger a rollback. Valid values are `DEPLOYMENT_FAILURE` , `DEPLOYMENT_STOP_ON_ALARM` , or `DEPLOYMENT_STOP_ON_REQUEST` .", + "title": "Events", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.BlueGreenDeploymentConfiguration": { + "additionalProperties": false, + "properties": { + "DeploymentReadyOption": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.DeploymentReadyOption", + "markdownDescription": "Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment.", + "title": "DeploymentReadyOption" }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolResourceServer" - ], - "type": "string" + "GreenFleetProvisioningOption": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GreenFleetProvisioningOption", + "markdownDescription": "Information about how instances are provisioned for a replacement environment in a blue/green deployment.", + "title": "GreenFleetProvisioningOption" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "TerminateBlueInstancesOnDeploymentSuccess": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.BlueInstanceTerminationOption", + "markdownDescription": "Information about whether to terminate instances in the original fleet during a blue/green deployment.", + "title": "TerminateBlueInstancesOnDeploymentSuccess" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { + "AWS::CodeDeploy::DeploymentGroup.BlueInstanceTerminationOption": { "additionalProperties": false, "properties": { - "ScopeDescription": { - "markdownDescription": "A friendly description of a custom scope.", - "title": "ScopeDescription", + "Action": { + "markdownDescription": "The action to take on instances in the original environment after a successful blue/green deployment.\n\n- `TERMINATE` : Instances are terminated after a specified wait time.\n- `KEEP_ALIVE` : Instances are left running after they are deregistered from the load balancer and removed from the deployment group.", + "title": "Action", "type": "string" }, - "ScopeName": { - "markdownDescription": "The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` .", - "title": "ScopeName", + "TerminationWaitTimeInMinutes": { + "markdownDescription": "For an Amazon EC2 deployment, the number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.\n\nFor an Amazon ECS deployment, the number of minutes before deleting the original (blue) task set. During an Amazon ECS deployment, CodeDeploy shifts traffic from the original (blue) task set to a replacement (green) task set.\n\nThe maximum setting is 2880 minutes (2 days).", + "title": "TerminationWaitTimeInMinutes", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.Deployment": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "A comment about the deployment.", + "title": "Description", "type": "string" + }, + "IgnoreApplicationStopFailures": { + "markdownDescription": "If true, then if an `ApplicationStop` , `BeforeBlockTraffic` , or `AfterBlockTraffic` deployment lifecycle event to an instance fails, then the deployment continues to the next deployment lifecycle event. For example, if `ApplicationStop` fails, the deployment continues with DownloadBundle. If `BeforeBlockTraffic` fails, the deployment continues with `BlockTraffic` . If `AfterBlockTraffic` fails, the deployment continues with `ApplicationStop` .\n\nIf false or not specified, then if a lifecycle event fails during a deployment to an instance, that deployment fails. If deployment to that instance is part of an overall deployment and the number of healthy hosts is not less than the minimum number of healthy hosts, then a deployment to the next instance is attempted.\n\nDuring a deployment, the AWS CodeDeploy agent runs the scripts specified for `ApplicationStop` , `BeforeBlockTraffic` , and `AfterBlockTraffic` in the AppSpec file from the previous successful deployment. (All other scripts are run from the AppSpec file in the current deployment.) If one of these scripts contains an error and does not run successfully, the deployment can fail.\n\nIf the cause of the failure is a script from the last successful deployment that will never run successfully, create a new deployment and use `ignoreApplicationStopFailures` to specify that the `ApplicationStop` , `BeforeBlockTraffic` , and `AfterBlockTraffic` failures should be ignored.", + "title": "IgnoreApplicationStopFailures", + "type": "boolean" + }, + "Revision": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.RevisionLocation", + "markdownDescription": "Information about the location of stored application artifacts and the service from which to retrieve them.", + "title": "Revision" } }, "required": [ - "ScopeDescription", - "ScopeName" + "Revision" ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment": { + "AWS::CodeDeploy::DeploymentGroup.DeploymentReadyOption": { "additionalProperties": false, "properties": { - "Condition": { + "ActionOnTimeout": { + "markdownDescription": "Information about when to reroute traffic from an original environment to a replacement environment in a blue/green deployment.\n\n- CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.\n- STOP_DEPLOYMENT: Do not register new instances with a load balancer unless traffic rerouting is started using [ContinueDeployment](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ContinueDeployment.html) . If traffic rerouting is not started before the end of the specified wait period, the deployment status is changed to Stopped.", + "title": "ActionOnTimeout", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "WaitTimeInMinutes": { + "markdownDescription": "The number of minutes to wait before the status of a blue/green deployment is changed to Stopped if rerouting is not started manually. Applies only to the `STOP_DEPLOYMENT` option for `actionOnTimeout` .", + "title": "WaitTimeInMinutes", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.DeploymentStyle": { + "additionalProperties": false, + "properties": { + "DeploymentOption": { + "markdownDescription": "Indicates whether to route deployment traffic behind a load balancer.\n\n> An Amazon EC2 Application Load Balancer or Network Load Balancer is required for an Amazon ECS deployment.", + "title": "DeploymentOption", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountTakeoverRiskConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType", - "markdownDescription": "The settings for automated responses and notification templates for adaptive authentication with threat protection.", - "title": "AccountTakeoverRiskConfiguration" - }, - "ClientId": { - "markdownDescription": "The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings.", - "title": "ClientId", - "type": "string" - }, - "CompromisedCredentialsRiskConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType", - "markdownDescription": "Settings for compromised-credentials actions and authentication types with threat protection in full-function `ENFORCED` mode.", - "title": "CompromisedCredentialsRiskConfiguration" - }, - "RiskExceptionConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType", - "markdownDescription": "Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges.", - "title": "RiskExceptionConfiguration" - }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool that has the risk configuration applied.", - "title": "UserPoolId", - "type": "string" - } - }, - "required": [ - "ClientId", - "UserPoolId" - ], - "type": "object" + "DeploymentType": { + "markdownDescription": "Indicates whether to run an in-place or blue/green deployment.", + "title": "DeploymentType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.EC2TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The tag filter key.", + "title": "Key", + "type": "string" }, "Type": { - "enum": [ - "AWS::Cognito::UserPoolRiskConfigurationAttachment" - ], + "markdownDescription": "The tag filter type:\n\n- `KEY_ONLY` : Key only.\n- `VALUE_ONLY` : Value only.\n- `KEY_AND_VALUE` : Key and value.", + "title": "Type", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { + "markdownDescription": "The tag filter value.", + "title": "Value", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { + "AWS::CodeDeploy::DeploymentGroup.EC2TagSet": { "additionalProperties": false, "properties": { - "EventAction": { - "markdownDescription": "The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows:\n\n- `BLOCK` : Block the request.\n- `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request.\n- `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor.\n- `NO_ACTION` : Take no action. Permit sign-in.", - "title": "EventAction", + "Ec2TagSetList": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagSetListObject" + }, + "markdownDescription": "The Amazon EC2 tags that are already applied to Amazon EC2 instances that you want to include in the deployment group. CodeDeploy includes all Amazon EC2 instances identified by any of the tags you specify in this deployment group.\n\nDuplicates are not allowed.", + "title": "Ec2TagSetList", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.EC2TagSetListObject": { + "additionalProperties": false, + "properties": { + "Ec2TagGroup": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagFilter" + }, + "markdownDescription": "A list that contains other lists of Amazon EC2 instance tag groups. For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list.", + "title": "Ec2TagGroup", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.ECSService": { + "additionalProperties": false, + "properties": { + "ClusterName": { + "markdownDescription": "The name of the cluster that the Amazon ECS service is associated with.", + "title": "ClusterName", "type": "string" }, - "Notify": { - "markdownDescription": "Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level.", - "title": "Notify", - "type": "boolean" + "ServiceName": { + "markdownDescription": "The name of the target Amazon ECS service.", + "title": "ServiceName", + "type": "string" } }, "required": [ - "EventAction", - "Notify" + "ClusterName", + "ServiceName" ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { + "AWS::CodeDeploy::DeploymentGroup.ELBInfo": { "additionalProperties": false, "properties": { - "HighAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType", - "markdownDescription": "The action that you assign to a high-risk assessment by threat protection.", - "title": "HighAction" - }, - "LowAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType", - "markdownDescription": "The action that you assign to a low-risk assessment by threat protection.", - "title": "LowAction" - }, - "MediumAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType", - "markdownDescription": "The action that you assign to a medium-risk assessment by threat protection.", - "title": "MediumAction" + "Name": { + "markdownDescription": "For blue/green deployments, the name of the load balancer that is used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment is complete.\n\n> CloudFormation supports blue/green deployments on AWS Lambda compute platforms only.", + "title": "Name", + "type": "string" } }, "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { + "AWS::CodeDeploy::DeploymentGroup.GitHubLocation": { "additionalProperties": false, "properties": { - "Actions": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType", - "markdownDescription": "A list of account-takeover actions for each level of risk that Amazon Cognito might assess with threat protection.", - "title": "Actions" + "CommitId": { + "markdownDescription": "The SHA1 commit ID of the GitHub commit that represents the bundled artifacts for the application revision.", + "title": "CommitId", + "type": "string" }, - "NotifyConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType", - "markdownDescription": "The settings for composing and sending an email message when threat protection assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type.", - "title": "NotifyConfiguration" + "Repository": { + "markdownDescription": "The GitHub account and repository pair that stores a reference to the commit that represents the bundled artifacts for the application revision.\n\nSpecify the value as `account/repository` .", + "title": "Repository", + "type": "string" } }, "required": [ - "Actions" + "CommitId", + "Repository" ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { + "AWS::CodeDeploy::DeploymentGroup.GreenFleetProvisioningOption": { "additionalProperties": false, "properties": { - "EventAction": { - "markdownDescription": "The action that Amazon Cognito takes when it detects compromised credentials.", - "title": "EventAction", + "Action": { + "markdownDescription": "The method used to add instances to a replacement environment.\n\n- `DISCOVER_EXISTING` : Use instances that already exist or will be created manually.\n- `COPY_AUTO_SCALING_GROUP` : Use settings from a specified Auto Scaling group to define and create instances in a new Auto Scaling group.", + "title": "Action", "type": "string" } }, - "required": [ - "EventAction" - ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { + "AWS::CodeDeploy::DeploymentGroup.LoadBalancerInfo": { "additionalProperties": false, "properties": { - "Actions": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType", - "markdownDescription": "Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials.", - "title": "Actions" + "ElbInfoList": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.ELBInfo" + }, + "markdownDescription": "An array that contains information about the load balancers to use for load balancing in a deployment. If you're using Classic Load Balancers, specify those load balancers in this array.\n\n> You can add up to 10 load balancers to the array. > If you're using Application Load Balancers or Network Load Balancers, use the `targetGroupInfoList` array instead of this one.", + "title": "ElbInfoList", + "type": "array" }, - "EventFilter": { + "TargetGroupInfoList": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo" }, - "markdownDescription": "Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events.", - "title": "EventFilter", + "markdownDescription": "An array that contains information about the target groups to use for load balancing in a deployment. If you're using Application Load Balancers and Network Load Balancers, specify their associated target groups in this array.\n\n> You can add up to 10 target groups to the array. > If you're using Classic Load Balancers, use the `elbInfoList` array instead of this one.", + "title": "TargetGroupInfoList", + "type": "array" + }, + "TargetGroupPairInfoList": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupPairInfo" + }, + "markdownDescription": "The target group pair information. This is an array of `TargeGroupPairInfo` objects with a maximum size of one.", + "title": "TargetGroupPairInfoList", "type": "array" } }, - "required": [ - "Actions" - ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { + "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": { "additionalProperties": false, "properties": { - "BlockEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType", - "markdownDescription": "The template for the email message that your user pool sends when a detected risk event is blocked.", - "title": "BlockEmail" + "OnPremisesTagSetList": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject" + }, + "markdownDescription": "A list that contains other lists of on-premises instance tag groups. For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list.\n\nDuplicates are not allowed.", + "title": "OnPremisesTagSetList", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": { + "additionalProperties": false, + "properties": { + "OnPremisesTagGroup": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" + }, + "markdownDescription": "Information about groups of on-premises instance tags.", + "title": "OnPremisesTagGroup", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.RevisionLocation": { + "additionalProperties": false, + "properties": { + "GitHubLocation": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GitHubLocation", + "markdownDescription": "Information about the location of application artifacts stored in GitHub.", + "title": "GitHubLocation" }, - "From": { - "markdownDescription": "The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES.", - "title": "From", + "RevisionType": { + "markdownDescription": "The type of application revision:\n\n- S3: An application revision stored in Amazon S3.\n- GitHub: An application revision stored in GitHub (EC2/On-premises deployments only).\n- String: A YAML-formatted or JSON-formatted string ( AWS Lambda deployments only).\n- AppSpecContent: An `AppSpecContent` object that contains the contents of an AppSpec file for an AWS Lambda or Amazon ECS deployment. The content is formatted as JSON or YAML stored as a RawString.", + "title": "RevisionType", "type": "string" }, - "MfaEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType", - "markdownDescription": "The template for the email message that your user pool sends when MFA is challenged in response to a detected risk.", - "title": "MfaEmail" + "S3Location": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.S3Location", + "markdownDescription": "Information about the location of a revision stored in Amazon S3.", + "title": "S3Location" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The name of the Amazon S3 bucket where the application revision is stored.", + "title": "Bucket", + "type": "string" }, - "NoActionEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType", - "markdownDescription": "The template for the email message that your user pool sends when no action is taken in response to a detected risk.", - "title": "NoActionEmail" + "BundleType": { + "markdownDescription": "The file type of the application revision. Must be one of the following:\n\n- JSON\n- tar: A tar archive file.\n- tgz: A compressed tar archive file.\n- YAML\n- zip: A zip archive file.", + "title": "BundleType", + "type": "string" }, - "ReplyTo": { - "markdownDescription": "The reply-to email address of an email template. Can be an email address in the format `admin@example.com` or `Administrator ` .", - "title": "ReplyTo", + "ETag": { + "markdownDescription": "The ETag of the Amazon S3 object that represents the bundled artifacts for the application revision.\n\nIf the ETag is not specified as an input parameter, ETag validation of the object is skipped.", + "title": "ETag", "type": "string" }, - "SourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the identity that is associated with the sending authorization policy. This identity permits Amazon Cognito to send for the email address specified in the `From` parameter.", - "title": "SourceArn", + "Key": { + "markdownDescription": "The name of the Amazon S3 object that represents the bundled artifacts for the application revision.", + "title": "Key", + "type": "string" + }, + "Version": { + "markdownDescription": "A specific version of the Amazon S3 object that represents the bundled artifacts for the application revision.\n\nIf the version is not specified, the system uses the most recent version by default.", + "title": "Version", "type": "string" } }, "required": [ - "SourceArn" + "Bucket", + "Key" ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { + "AWS::CodeDeploy::DeploymentGroup.TagFilter": { "additionalProperties": false, "properties": { - "HtmlBody": { - "markdownDescription": "The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively.", - "title": "HtmlBody", + "Key": { + "markdownDescription": "The on-premises instance tag filter key.", + "title": "Key", "type": "string" }, - "Subject": { - "markdownDescription": "The subject of the threat protection email notification.", - "title": "Subject", + "Type": { + "markdownDescription": "The on-premises instance tag filter type:\n\n- KEY_ONLY: Key only.\n- VALUE_ONLY: Value only.\n- KEY_AND_VALUE: Key and value.", + "title": "Type", "type": "string" }, - "TextBody": { - "markdownDescription": "The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively.", - "title": "TextBody", + "Value": { + "markdownDescription": "The on-premises instance tag filter value.", + "title": "Value", "type": "string" } }, - "required": [ - "Subject" - ], "type": "object" }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { + "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": { "additionalProperties": false, "properties": { - "BlockedIPRangeList": { + "Name": { + "markdownDescription": "For blue/green deployments, the name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes. No duplicates allowed.\n\n> CloudFormation supports blue/green deployments on AWS Lambda compute platforms only. \n\nThis value cannot exceed 32 characters, so you should use the `Name` property of the target group, or the `TargetGroupName` attribute with the `Fn::GetAtt` intrinsic function, as shown in the following example. Don't use the group's Amazon Resource Name (ARN) or `TargetGroupFullName` attribute.", + "title": "Name", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TargetGroupPairInfo": { + "additionalProperties": false, + "properties": { + "ProdTrafficRoute": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TrafficRoute", + "markdownDescription": "The path used by a load balancer to route production traffic when an Amazon ECS deployment is complete.", + "title": "ProdTrafficRoute" + }, + "TargetGroups": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo" }, - "markdownDescription": "An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation.", - "title": "BlockedIPRangeList", + "markdownDescription": "One pair of target groups. One is associated with the original task set. The second is associated with the task set that serves traffic after the deployment is complete.", + "title": "TargetGroups", "type": "array" }, - "SkippedIPRangeList": { + "TestTrafficRoute": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TrafficRoute", + "markdownDescription": "An optional path used by a load balancer to route test traffic after an Amazon ECS deployment. Validation can occur while test traffic is served during a deployment.", + "title": "TestTrafficRoute" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TrafficRoute": { + "additionalProperties": false, + "properties": { + "ListenerArns": { "items": { "type": "string" }, - "markdownDescription": "An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation.", - "title": "SkippedIPRangeList", + "markdownDescription": "The Amazon Resource Name (ARN) of one listener. The listener identifies the route between a target group and a load balancer. This is an array of strings with a maximum size of one.", + "title": "ListenerArns", "type": "array" } }, "type": "object" }, - "AWS::Cognito::UserPoolUICustomizationAttachment": { + "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": { + "additionalProperties": false, + "properties": { + "TriggerEvents": { + "items": { + "type": "string" + }, + "markdownDescription": "The event type or types that trigger notifications.", + "title": "TriggerEvents", + "type": "array" + }, + "TriggerName": { + "markdownDescription": "The name of the notification trigger.", + "title": "TriggerName", + "type": "string" + }, + "TriggerTargetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic through which notifications about deployment or instance events are sent.", + "title": "TriggerTargetArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeGuruProfiler::ProfilingGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -83593,31 +83322,46 @@ "Properties": { "additionalProperties": false, "properties": { - "CSS": { - "markdownDescription": "A plaintext CSS file that contains the custom fields that you want to apply to your user pool or app client. To download a template, go to the Amazon Cognito console. Navigate to your user pool *App clients* tab, select *Login pages* , edit *Hosted UI (classic) style* , and select the link to `CSS template.css` .", - "title": "CSS", - "type": "string" + "AgentPermissions": { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.AgentPermissions", + "markdownDescription": "The agent permissions attached to this profiling group. This action group grants `ConfigureAgent` and `PostAgentProfile` permissions to perform actions required by the profiling agent. The Json consists of key `Principals` .\n\n*Principals* : A list of string ARNs for the roles and users you want to grant access to the profiling group. Wildcards are not supported in the ARNs. You are allowed to provide up to 50 ARNs. An empty list is not permitted. This is a required key.\n\nFor more information, see [Resource-based policies in CodeGuru Profiler](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/resource-based-policies.html) in the *Amazon CodeGuru Profiler user guide* , [ConfigureAgent](https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html) , and [PostAgentProfile](https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PostAgentProfile.html) .", + "title": "AgentPermissions" }, - "ClientId": { - "markdownDescription": "The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings..", - "title": "ClientId", + "AnomalyDetectionNotificationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" + }, + "markdownDescription": "Adds anomaly notifications for a profiling group.", + "title": "AnomalyDetectionNotificationConfiguration", + "type": "array" + }, + "ComputePlatform": { + "markdownDescription": "The compute platform of the profiling group. Use `AWSLambda` if your application runs on AWS Lambda. Use `Default` if your application runs on a compute platform that is not AWS Lambda , such an Amazon EC2 instance, an on-premises server, or a different platform. If not specified, `Default` is used. This property is immutable.", + "title": "ComputePlatform", "type": "string" }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool where you want to apply branding to the classic hosted UI.", - "title": "UserPoolId", + "ProfilingGroupName": { + "markdownDescription": "The name of the profiling group.", + "title": "ProfilingGroupName", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags to add to the created profiling group.", + "title": "Tags", + "type": "array" } }, "required": [ - "ClientId", - "UserPoolId" + "ProfilingGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolUICustomizationAttachment" + "AWS::CodeGuruProfiler::ProfilingGroup" ], "type": "string" }, @@ -83636,7 +83380,43 @@ ], "type": "object" }, - "AWS::Cognito::UserPoolUser": { + "AWS::CodeGuruProfiler::ProfilingGroup.AgentPermissions": { + "additionalProperties": false, + "properties": { + "Principals": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Principals", + "type": "array" + } + }, + "required": [ + "Principals" + ], + "type": "object" + }, + "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { + "additionalProperties": false, + "properties": { + "channelId": { + "markdownDescription": "The channel ID.", + "title": "channelId", + "type": "string" + }, + "channelUri": { + "markdownDescription": "The channel URI.", + "title": "channelUri", + "type": "string" + } + }, + "required": [ + "channelUri" + ], + "type": "object" + }, + "AWS::CodeGuruReviewer::RepositoryAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -83671,70 +83451,49 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientMetadata": { - "additionalProperties": true, - "markdownDescription": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n\nWhen Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a `clientMetadata` attribute that provides the data that you assigned to the ClientMetadata parameter in your request. In your function code, you can process the `clientMetadata` value to enhance your workflow for your specific needs.\n\nTo review the Lambda trigger types that Amazon Cognito invokes at runtime with API requests, see [Connecting API actions to Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-working-with-lambda-triggers.html#lambda-triggers-by-event) in the *Amazon Cognito Developer Guide* .\n\n> When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following:\n> \n> - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose.\n> - Validate the `ClientMetadata` value.\n> - Encrypt the `ClientMetadata` value. Don't send sensitive information in this parameter.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ClientMetadata", - "type": "object" - }, - "DesiredDeliveryMediums": { - "items": { - "type": "string" - }, - "markdownDescription": "Specify `EMAIL` if email will be used to send the welcome message. Specify `SMS` if the phone number will be used. The default value is `SMS` . You can specify more than one value.", - "title": "DesiredDeliveryMediums", - "type": "array" - }, - "ForceAliasCreation": { - "markdownDescription": "This parameter is used only if the `phone_number_verified` or `email_verified` attribute is set to `True` . Otherwise, it is ignored.\n\nIf this parameter is set to `True` and the phone number or email address specified in the `UserAttributes` parameter already exists as an alias with a different user, this request migrates the alias from the previous user to the newly-created user. The previous user will no longer be able to log in using that alias.\n\nIf this parameter is set to `False` , the API throws an `AliasExistsException` error if the alias already exists. The default value is `False` .", - "title": "ForceAliasCreation", - "type": "boolean" - }, - "MessageAction": { - "markdownDescription": "Set to `RESEND` to resend the invitation message to a user that already exists, and to reset the temporary-password duration with a new temporary password. Set to `SUPPRESS` to suppress sending the message. You can specify only one value.", - "title": "MessageAction", + "BucketName": { + "markdownDescription": "The name of the bucket. This is required for your S3Bucket repository. The name must start with the prefix `codeguru-reviewer-*` .", + "title": "BucketName", "type": "string" }, - "UserAttributes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "markdownDescription": "An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message).\n\nFor custom attributes, you must prepend the `custom:` prefix to the attribute name.\n\nTo send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools.\n\nYou must also provide an email address or phone number when you expect the user to do passwordless sign-in with an email or SMS OTP. These attributes must be provided when passwordless options are the only available, or when you don't submit a `TemporaryPassword` .\n\nIn your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` .\n\n- *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `\"EMAIL\"` is specified in the `DesiredDeliveryMediums` parameter.\n- *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `\"SMS\"` is specified in the `DesiredDeliveryMediums` parameter.", - "title": "UserAttributes", - "type": "array" + "ConnectionArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is `arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id` . For more information, see [Connection](https://docs.aws.amazon.com/codestar-connections/latest/APIReference/API_Connection.html) in the *AWS CodeStar Connections API Reference* .\n\n`ConnectionArn` must be specified for Bitbucket and GitHub Enterprise Server repositories. It has no effect if it is specified for an AWS CodeCommit repository.", + "title": "ConnectionArn", + "type": "string" }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool where you want to create a user.", - "title": "UserPoolId", + "Name": { + "markdownDescription": "The name of the repository.", + "title": "Name", "type": "string" }, - "Username": { - "markdownDescription": "The value that you want to set as the username sign-in attribute. The following conditions apply to the username parameter.\n\n- The username can't be a duplicate of another username in the same user pool.\n- You can't change the value of a username after you create it.\n- You can only provide a value if usernames are a valid sign-in attribute for your user pool. If your user pool only supports phone numbers or email addresses as sign-in attributes, Amazon Cognito automatically generates a username value. For more information, see [Customizing sign-in attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases) .", - "title": "Username", + "Owner": { + "markdownDescription": "The owner of the repository. For a GitHub Enterprise Server or Bitbucket repository, this is the username for the account that owns the repository.\n\n`Owner` must be specified for Bitbucket and GitHub Enterprise Server repositories. It has no effect if it is specified for an AWS CodeCommit repository.", + "title": "Owner", "type": "string" }, - "ValidationData": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "Temporary user attributes that contribute to the outcomes of your pre sign-up Lambda trigger. This set of key-value pairs are for custom validation of information that you collect from your users but don't need to retain.\n\nYour Lambda function can analyze this additional data and act on it. Your function can automatically confirm and verify select users or perform external API operations like logging user attributes and validation data to Amazon CloudWatch Logs.\n\nFor more information about the pre sign-up Lambda trigger, see [Pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) .", - "title": "ValidationData", + "markdownDescription": "An array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts:\n\n- A *tag key* (for example, `CostCenter` , `Environment` , `Project` , or `Secret` ). Tag keys are case sensitive.\n- An optional field known as a *tag value* (for example, `111122223333` , `Production` , or a team name). Omitting the tag value is the same as using an empty string. Like tag keys, tag values are case sensitive.", + "title": "Tags", "type": "array" + }, + "Type": { + "markdownDescription": "The type of repository that contains the source code to be reviewed. The valid values are:\n\n- `CodeCommit`\n- `Bitbucket`\n- `GitHubEnterpriseServer`\n- `S3Bucket`", + "title": "Type", + "type": "string" } }, "required": [ - "UserPoolId" + "Name", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolUser" + "AWS::CodeGuruReviewer::RepositoryAssociation" ], "type": "string" }, @@ -83753,23 +83512,7 @@ ], "type": "object" }, - "AWS::Cognito::UserPoolUser.AttributeType": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the attribute.", - "title": "Name", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of the attribute.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolUserToGroupAttachment": { + "AWS::CodePipeline::CustomActionType": { "additionalProperties": false, "properties": { "Condition": { @@ -83804,32 +83547,65 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupName": { - "markdownDescription": "The name of the group that you want to add your user to.", - "title": "GroupName", + "Category": { + "markdownDescription": "The category of the custom action, such as a build action or a test action.", + "title": "Category", "type": "string" }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool that contains the group that you want to add the user to.", - "title": "UserPoolId", - "type": "string" + "ConfigurationProperties": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ConfigurationProperties" + }, + "markdownDescription": "The configuration properties for the custom action.\n\n> You can refer to a name in the configuration properties of the custom action within the URL templates by following the format of {Config:name}, as long as the configuration property is both required and not secret. For more information, see [Create a Custom Action for a Pipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-create-custom-action.html) .", + "title": "ConfigurationProperties", + "type": "array" }, - "Username": { - "markdownDescription": "The user's username.", - "title": "Username", - "type": "string" - } - }, - "required": [ - "GroupName", - "UserPoolId", - "Username" + "InputArtifactDetails": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails", + "markdownDescription": "The details of the input artifact for the action, such as its commit ID.", + "title": "InputArtifactDetails" + }, + "OutputArtifactDetails": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails", + "markdownDescription": "The details of the output artifact of the action, such as its commit ID.", + "title": "OutputArtifactDetails" + }, + "Provider": { + "markdownDescription": "The provider of the service used in the custom action, such as CodeDeploy.", + "title": "Provider", + "type": "string" + }, + "Settings": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.Settings", + "markdownDescription": "URLs that provide users information about this custom action.", + "title": "Settings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the custom action.", + "title": "Tags", + "type": "array" + }, + "Version": { + "markdownDescription": "The version identifier of the custom action.", + "title": "Version", + "type": "string" + } + }, + "required": [ + "Category", + "InputArtifactDetails", + "OutputArtifactDetails", + "Provider", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cognito::UserPoolUserToGroupAttachment" + "AWS::CodePipeline::CustomActionType" ], "type": "string" }, @@ -83848,183 +83624,100 @@ ], "type": "object" }, - "AWS::CognitoSync::Dataset": { + "AWS::CodePipeline::CustomActionType.ArtifactDetails": { "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": { - "DatasetName": { - "type": "string" - }, - "IdentityId": { - "type": "string" - }, - "IdentityPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CognitoSync::Dataset" - ], - "type": "string" + "MaximumCount": { + "markdownDescription": "The maximum number of artifacts allowed for the action type.", + "title": "MaximumCount", + "type": "number" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "MinimumCount": { + "markdownDescription": "The minimum number of artifacts allowed for the action type.", + "title": "MinimumCount", + "type": "number" } }, "required": [ - "Type" + "MaximumCount", + "MinimumCount" ], "type": "object" }, - "AWS::Comprehend::DocumentClassificationJob": { + "AWS::CodePipeline::CustomActionType.ConfigurationProperties": { "additionalProperties": false, "properties": { - "Condition": { + "Description": { + "markdownDescription": "The description of the action configuration property that is displayed to users.", + "title": "Description", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Key": { + "markdownDescription": "Whether the configuration property is a key.", + "title": "Key", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the action configuration property.", + "title": "Name", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Queryable": { + "markdownDescription": "Indicates that the property is used with `PollForJobs` . When creating a custom action, an action can have up to one queryable property. If it has one, that property must be both required and not secret.\n\nIf you create a pipeline with a custom action type, and that custom action contains a queryable property, the value for that configuration property is subject to other restrictions. The value must be less than or equal to twenty (20) characters. The value can contain only alphanumeric characters, underscores, and hyphens.", + "title": "Queryable", + "type": "boolean" }, - "Metadata": { - "type": "object" + "Required": { + "markdownDescription": "Whether the configuration property is a required value.", + "title": "Required", + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataAccessRoleArn": { - "type": "string" - }, - "DocumentClassifierArn": { - "type": "string" - }, - "InputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassificationJob.InputDataConfig" - }, - "JobName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DataAccessRoleArn", - "DocumentClassifierArn", - "InputDataConfig" - ], - "type": "object" + "Secret": { + "markdownDescription": "Whether the configuration property is secret. Secrets are hidden from all calls except for `GetJobDetails` , `GetThirdPartyJobDetails` , `PollForJobs` , and `PollForThirdPartyJobs` .\n\nWhen updating a pipeline, passing * * * * * without changing any other values of the action preserves the previous value of the secret.", + "title": "Secret", + "type": "boolean" }, "Type": { - "enum": [ - "AWS::Comprehend::DocumentClassificationJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "markdownDescription": "The type of the configuration property.", + "title": "Type", "type": "string" } }, "required": [ - "Type", - "Properties" + "Key", + "Name", + "Required", + "Secret" ], "type": "object" }, - "AWS::Comprehend::DocumentClassificationJob.InputDataConfig": { + "AWS::CodePipeline::CustomActionType.Settings": { "additionalProperties": false, "properties": { - "InputFormat": { + "EntityUrlTemplate": { + "markdownDescription": "The URL returned to the CodePipeline console that provides a deep link to the resources of the external system, such as the configuration page for a CodeDeploy deployment group. This link is provided as part of the action display in the pipeline.", + "title": "EntityUrlTemplate", "type": "string" }, - "S3Uri": { + "ExecutionUrlTemplate": { + "markdownDescription": "The URL returned to the CodePipeline console that contains a link to the top-level landing page for the external system, such as the console page for CodeDeploy. This link is shown on the pipeline view page in the CodePipeline console and provides a link to the execution entity of the external action.", + "title": "ExecutionUrlTemplate", "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::DocumentClassificationJob.OutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3Uri": { + }, + "RevisionUrlTemplate": { + "markdownDescription": "The URL returned to the CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action.", + "title": "RevisionUrlTemplate", + "type": "string" + }, + "ThirdPartyConfigurationUrl": { + "markdownDescription": "The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service.", + "title": "ThirdPartyConfigurationUrl", "type": "string" } }, - "required": [ - "S3Uri" - ], "type": "object" }, - "AWS::Comprehend::DocumentClassifier": { + "AWS::CodePipeline::Pipeline": { "additionalProperties": false, "properties": { "Condition": { @@ -84059,81 +83752,94 @@ "Properties": { "additionalProperties": false, "properties": { - "DataAccessRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data.", - "title": "DataAccessRoleArn", - "type": "string" + "ArtifactStore": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore", + "markdownDescription": "The S3 bucket where artifacts for the pipeline are stored.\n\n> You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` .", + "title": "ArtifactStore" }, - "DocumentClassifierName": { - "markdownDescription": "The name of the document classifier.", - "title": "DocumentClassifierName", - "type": "string" + "ArtifactStores": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStoreMap" + }, + "markdownDescription": "A mapping of `artifactStore` objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.\n\n> You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` .", + "title": "ArtifactStores", + "type": "array" }, - "InputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierInputDataConfig", - "markdownDescription": "Specifies the format and location of the input data for the job.", - "title": "InputDataConfig" + "DisableInboundStageTransitions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageTransition" + }, + "markdownDescription": "Represents the input of a `DisableStageTransition` action.", + "title": "DisableInboundStageTransitions", + "type": "array" }, - "LanguageCode": { - "markdownDescription": "The language of the input documents. You can specify any of the languages supported by Amazon Comprehend. All documents must be in the same language.", - "title": "LanguageCode", + "ExecutionMode": { + "markdownDescription": "The method that the pipeline will use to handle multiple executions. The default mode is SUPERSEDED.", + "title": "ExecutionMode", "type": "string" }, - "Mode": { - "markdownDescription": "Indicates the mode in which the classifier will be trained. The classifier can be trained in multi-class (single-label) mode or multi-label mode. Multi-class mode identifies a single class label for each document and multi-label mode identifies one or more class labels for each document. Multiple labels for an individual document are separated by a delimiter. The default delimiter between labels is a pipe (|).", - "title": "Mode", + "Name": { + "markdownDescription": "The name of the pipeline.", + "title": "Name", "type": "string" }, - "ModelKmsKeyId": { - "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`", - "title": "ModelKmsKeyId", + "PipelineType": { + "markdownDescription": "CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.\n\n- V1 type pipelines have a JSON structure that contains standard pipeline, stage, and action-level parameters.\n- V2 type pipelines have the same structure as a V1 type, along with additional parameters for release safety and trigger configuration.\n\n> Including V2 parameters, such as triggers on Git tags, in the pipeline JSON when creating or updating a pipeline will result in the pipeline having the V2 type of pipeline and the associated costs. \n\nFor information about pricing for CodePipeline, see [Pricing](https://docs.aws.amazon.com/codepipeline/pricing/) .\n\nFor information about which type of pipeline to choose, see [What type of pipeline is right for me?](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html) .", + "title": "PipelineType", "type": "string" }, - "ModelPolicy": { - "markdownDescription": "The resource-based policy to attach to your custom document classifier model. You can use this policy to allow another AWS account to import your custom model.\n\nProvide your policy as a JSON body that you enter as a UTF-8 encoded string without line breaks. To provide valid JSON, enclose the attribute names and values in double quotes. If the JSON body is also enclosed in double quotes, then you must escape the double quotes that are inside the policy:\n\n`\"{\\\"attribute\\\": \\\"value\\\", \\\"attribute\\\": [\\\"value\\\"]}\"`\n\nTo avoid escaping quotes, you can use single quotes to enclose the policy and double quotes to enclose the JSON names and values:\n\n`'{\"attribute\": \"value\", \"attribute\": [\"value\"]}'`", - "title": "ModelPolicy", + "RestartExecutionOnUpdate": { + "markdownDescription": "Indicates whether to rerun the CodePipeline pipeline after you update it.", + "title": "RestartExecutionOnUpdate", + "type": "boolean" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for CodePipeline to use to either perform actions with no `actionRoleArn` , or to use to assume roles for actions with an `actionRoleArn` .", + "title": "RoleArn", "type": "string" }, - "OutputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierOutputDataConfig", - "markdownDescription": "Provides output results configuration parameters for custom classifier jobs.", - "title": "OutputDataConfig" + "Stages": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageDeclaration" + }, + "markdownDescription": "Represents information about a stage and its definition.", + "title": "Stages", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Tags to associate with the document classifier. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.", + "markdownDescription": "Specifies the tags applied to the pipeline.", "title": "Tags", "type": "array" }, - "VersionName": { - "markdownDescription": "The version name given to the newly created classifier. Version names can have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The version name must be unique among all models with the same classifier name in the AWS account / AWS Region .", - "title": "VersionName", - "type": "string" - }, - "VolumeKmsKeyId": { - "markdownDescription": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`", - "title": "VolumeKmsKeyId", - "type": "string" + "Triggers": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.PipelineTriggerDeclaration" + }, + "markdownDescription": "The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.\n\n> When a trigger configuration is specified, default change detection for repository and branch commits is disabled.", + "title": "Triggers", + "type": "array" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.VpcConfig", - "markdownDescription": "Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your custom classifier. For more information, see [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) .", - "title": "VpcConfig" + "Variables": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.VariableDeclaration" + }, + "markdownDescription": "A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match `[A-Za-z0-9@\\-_]+` .", + "title": "Variables", + "type": "array" } }, "required": [ - "DataAccessRoleArn", - "DocumentClassifierName", - "InputDataConfig", - "LanguageCode" + "RoleArn", + "Stages" ], "type": "object" }, "Type": { "enum": [ - "AWS::Comprehend::DocumentClassifier" + "AWS::CodePipeline::Pipeline" ], "type": "string" }, @@ -84152,701 +83858,680 @@ ], "type": "object" }, - "AWS::Comprehend::DocumentClassifier.AugmentedManifestsListItem": { + "AWS::CodePipeline::Pipeline.ActionDeclaration": { "additionalProperties": false, "properties": { - "AttributeNames": { + "ActionTypeId": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionTypeId", + "markdownDescription": "Specifies the action type and the provider of the action.", + "title": "ActionTypeId" + }, + "Commands": { "items": { "type": "string" }, - "markdownDescription": "The JSON attribute that contains the annotations for your training documents. The number of attribute names that you specify depends on whether your augmented manifest file is the output of a single labeling job or a chained labeling job.\n\nIf your file is the output of a single labeling job, specify the LabelAttributeName key that was used when the job was created in Ground Truth.\n\nIf your file is the output of a chained labeling job, specify the LabelAttributeName key for one or more jobs in the chain. Each LabelAttributeName key provides the annotations from an individual job.", - "title": "AttributeNames", + "markdownDescription": "The shell commands to run with your compute action in CodePipeline. All commands are supported except multi-line formats. While CodeBuild logs and permissions are used, you do not need to create any resources in CodeBuild.\n\n> Using compute time for this action will incur separate charges in AWS CodeBuild .", + "title": "Commands", "type": "array" }, - "S3Uri": { - "markdownDescription": "The Amazon S3 location of the augmented manifest file.", - "title": "S3Uri", + "Configuration": { + "markdownDescription": "The action's configuration. These are key-value pairs that specify input values for an action. For more information, see [Action Structure Requirements in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements) . For the list of configuration properties for the AWS CloudFormation action type in CodePipeline, see [Configuration Properties Reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html) in the *AWS CloudFormation User Guide* . For template snippets with examples, see [Using Parameter Override Functions with CodePipeline Pipelines](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html) in the *AWS CloudFormation User Guide* .\n\nThe values can be represented in either JSON or YAML format. For example, the JSON configuration item format is as follows:\n\n*JSON:*\n\n`\"Configuration\" : { Key : Value },`", + "title": "Configuration", + "type": "object" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EnvironmentVariable" + }, + "markdownDescription": "The environment variables for the action.", + "title": "EnvironmentVariables", + "type": "array" + }, + "InputArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" + }, + "markdownDescription": "The name or ID of the artifact consumed by the action, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of input artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* .\n\n> For a CodeBuild action with multiple input artifacts, one of your input sources must be designated the PrimarySource. For more information, see the [CodeBuild action reference page](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodeBuild.html) in the *AWS CodePipeline User Guide* .", + "title": "InputArtifacts", + "type": "array" + }, + "Name": { + "markdownDescription": "The action declaration's name.", + "title": "Name", "type": "string" }, - "Split": { - "markdownDescription": "The purpose of the data you've provided in the augmented manifest. You can either train or test this data. If you don't specify, the default is train.\n\nTRAIN - all of the documents in the manifest will be used for training. If no test documents are provided, Amazon Comprehend will automatically reserve a portion of the training documents for testing.\n\nTEST - all of the documents in the manifest will be used for testing.", - "title": "Split", + "Namespace": { + "markdownDescription": "The variable namespace associated with the action. All variables produced as output by this action fall under this namespace.", + "title": "Namespace", "type": "string" - } - }, - "required": [ - "AttributeNames", - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::DocumentClassifier.DocumentClassifierDocuments": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "markdownDescription": "The S3 URI location of the training documents specified in the S3Uri CSV file.", - "title": "S3Uri", + }, + "OutputArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.OutputArtifact" + }, + "markdownDescription": "The name or ID of the result of the action declaration, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of output artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* .", + "title": "OutputArtifacts", + "type": "array" + }, + "OutputVariables": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of variables that are to be exported from the compute action. This is specifically CodeBuild environment variables as used for that action.", + "title": "OutputVariables", + "type": "array" + }, + "Region": { + "markdownDescription": "The action declaration's AWS Region, such as us-east-1.", + "title": "Region", "type": "string" }, - "TestS3Uri": { - "markdownDescription": "The S3 URI location of the test documents included in the TestS3Uri CSV file. This field is not required if you do not specify a test CSV file.", - "title": "TestS3Uri", + "RoleArn": { + "markdownDescription": "The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline.", + "title": "RoleArn", "type": "string" + }, + "RunOrder": { + "markdownDescription": "The order in which actions are run.", + "title": "RunOrder", + "type": "number" + }, + "TimeoutInMinutes": { + "markdownDescription": "A timeout duration in minutes that can be applied against the ActionType\u2019s default timeout value specified in [Quotas for AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/limits.html) . This attribute is available only to the manual approval ActionType.", + "title": "TimeoutInMinutes", + "type": "number" } }, "required": [ - "S3Uri" + "ActionTypeId", + "Name" ], "type": "object" }, - "AWS::Comprehend::DocumentClassifier.DocumentClassifierInputDataConfig": { + "AWS::CodePipeline::Pipeline.ActionTypeId": { "additionalProperties": false, "properties": { - "AugmentedManifests": { - "items": { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.AugmentedManifestsListItem" - }, - "markdownDescription": "A list of augmented manifest files that provide training data for your custom model. An augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground Truth.\n\nThis parameter is required if you set `DataFormat` to `AUGMENTED_MANIFEST` .", - "title": "AugmentedManifests", - "type": "array" - }, - "DataFormat": { - "markdownDescription": "The format of your training data:\n\n- `COMPREHEND_CSV` : A two-column CSV file, where labels are provided in the first column, and documents are provided in the second. If you use this value, you must provide the `S3Uri` parameter in your request.\n- `AUGMENTED_MANIFEST` : A labeled dataset that is produced by Amazon SageMaker Ground Truth. This file is in JSON lines format. Each line is a complete JSON object that contains a training document and its associated labels.\n\nIf you use this value, you must provide the `AugmentedManifests` parameter in your request.\n\nIf you don't specify a value, Amazon Comprehend uses `COMPREHEND_CSV` as the default.", - "title": "DataFormat", - "type": "string" - }, - "DocumentReaderConfig": { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentReaderConfig", - "markdownDescription": "", - "title": "DocumentReaderConfig" - }, - "DocumentType": { - "markdownDescription": "The type of input documents for training the model. Provide plain-text documents to create a plain-text model, and provide semi-structured documents to create a native document model.", - "title": "DocumentType", + "Category": { + "markdownDescription": "A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.\n\n- `Source`\n- `Build`\n- `Test`\n- `Deploy`\n- `Invoke`\n- `Approval`\n- `Compute`", + "title": "Category", "type": "string" }, - "Documents": { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierDocuments", - "markdownDescription": "The S3 location of the training documents. This parameter is required in a request to create a native document model.", - "title": "Documents" - }, - "LabelDelimiter": { - "markdownDescription": "Indicates the delimiter used to separate each label for training a multi-label classifier. The default delimiter between labels is a pipe (|). You can use a different character as a delimiter (if it's an allowed character) by specifying it under Delimiter for labels. If the training documents use a delimiter other than the default or the delimiter you specify, the labels on that line will be combined to make a single unique label, such as LABELLABELLABEL.", - "title": "LabelDelimiter", + "Owner": { + "markdownDescription": "The creator of the action being called. There are three valid values for the `Owner` field in the action category section within your pipeline structure: `AWS` , `ThirdParty` , and `Custom` . For more information, see [Valid Action Types and Providers in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#actions-valid-providers) .", + "title": "Owner", "type": "string" }, - "S3Uri": { - "markdownDescription": "The Amazon S3 URI for the input data. The S3 bucket must be in the same Region as the API endpoint that you are calling. The URI can point to a single input file or it can provide the prefix for a collection of input files.\n\nFor example, if you use the URI `S3://bucketName/prefix` , if the prefix is a single file, Amazon Comprehend uses that file as input. If more than one file begins with the prefix, Amazon Comprehend uses all of them as input.\n\nThis parameter is required if you set `DataFormat` to `COMPREHEND_CSV` .", - "title": "S3Uri", + "Provider": { + "markdownDescription": "The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of CodeDeploy, which would be specified as `CodeDeploy` . For more information, see [Valid Action Types and Providers in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#actions-valid-providers) .", + "title": "Provider", "type": "string" }, - "TestS3Uri": { - "markdownDescription": "This specifies the Amazon S3 location that contains the test annotations for the document classifier. The URI must be in the same AWS Region as the API endpoint that you are calling.", - "title": "TestS3Uri", + "Version": { + "markdownDescription": "A string that describes the action version.", + "title": "Version", "type": "string" } }, + "required": [ + "Category", + "Owner", + "Provider", + "Version" + ], "type": "object" }, - "AWS::Comprehend::DocumentClassifier.DocumentClassifierOutputDataConfig": { + "AWS::CodePipeline::Pipeline.ArtifactStore": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the output results from an analysis job. The KmsKeyId can be one of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- KMS Key Alias: `\"alias/ExampleAlias\"`\n- ARN of a KMS Key Alias: `\"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"`", - "title": "KmsKeyId", + "EncryptionKey": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EncryptionKey", + "markdownDescription": "The encryption key used to encrypt the data in the artifact store, such as an AWS Key Management Service ( AWS KMS) key. If this is undefined, the default key for Amazon S3 is used. To see an example artifact store encryption key field, see the example structure here: [AWS::CodePipeline::Pipeline](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html) .", + "title": "EncryptionKey" + }, + "Location": { + "markdownDescription": "The S3 bucket used for storing the artifacts for a pipeline. You can specify the name of an S3 bucket but not a folder in the bucket. A folder to contain the pipeline artifacts is created for you based on the name of the pipeline. You can use any S3 bucket in the same AWS Region as the pipeline to store your pipeline artifacts.", + "title": "Location", "type": "string" }, - "S3Uri": { - "markdownDescription": "When you use the `OutputDataConfig` object while creating a custom classifier, you specify the Amazon S3 location where you want to write the confusion matrix and other output files. The URI must be in the same Region as the API endpoint that you are calling. The location is used as the prefix for the actual location of this output file.\n\nWhen the custom classifier job is finished, the service creates the output file in a directory specific to the job. The `S3Uri` field contains the location of the output file, called `output.tar.gz` . It is a compressed archive that contains the confusion matrix.", - "title": "S3Uri", + "Type": { + "markdownDescription": "The type of the artifact store, such as S3.", + "title": "Type", "type": "string" } }, + "required": [ + "Location", + "Type" + ], "type": "object" }, - "AWS::Comprehend::DocumentClassifier.DocumentReaderConfig": { + "AWS::CodePipeline::Pipeline.ArtifactStoreMap": { "additionalProperties": false, "properties": { - "DocumentReadAction": { - "markdownDescription": "This field defines the Amazon Textract API operation that Amazon Comprehend uses to extract text from PDF files and image files. Enter one of the following values:\n\n- `TEXTRACT_DETECT_DOCUMENT_TEXT` - The Amazon Comprehend service uses the `DetectDocumentText` API operation.\n- `TEXTRACT_ANALYZE_DOCUMENT` - The Amazon Comprehend service uses the `AnalyzeDocument` API operation.", - "title": "DocumentReadAction", - "type": "string" + "ArtifactStore": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore", + "markdownDescription": "Represents information about the S3 bucket where artifacts are stored for the pipeline.\n\n> You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` .", + "title": "ArtifactStore" }, - "DocumentReadMode": { - "markdownDescription": "Determines the text extraction actions for PDF files. Enter one of the following values:\n\n- `SERVICE_DEFAULT` - use the Amazon Comprehend service defaults for PDF files.\n- `FORCE_DOCUMENT_READ_ACTION` - Amazon Comprehend uses the Textract API specified by DocumentReadAction for all PDF files, including digital PDF files.", - "title": "DocumentReadMode", + "Region": { + "markdownDescription": "The action declaration's AWS Region, such as us-east-1.", + "title": "Region", "type": "string" - }, - "FeatureTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the type of Amazon Textract features to apply. If you chose `TEXTRACT_ANALYZE_DOCUMENT` as the read action, you must specify one or both of the following values:\n\n- `TABLES` - Returns additional information about any tables that are detected in the input document.\n- `FORMS` - Returns additional information about any forms that are detected in the input document.", - "title": "FeatureTypes", - "type": "array" } }, "required": [ - "DocumentReadAction" + "ArtifactStore", + "Region" ], "type": "object" }, - "AWS::Comprehend::DocumentClassifier.VpcConfig": { + "AWS::CodePipeline::Pipeline.BeforeEntryConditions": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The ID number for a security group on an instance of your private VPC. Security groups on your VPC function serve as a virtual firewall to control inbound and outbound traffic and provides security for the resources that you\u2019ll be accessing on the VPC. This ID number is preceded by \"sg-\", for instance: \"sg-03b388029b0a285ea\". For more information, see [Security Groups for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) .", - "title": "SecurityGroupIds", - "type": "array" - }, - "Subnets": { + "Conditions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.Condition" }, - "markdownDescription": "The ID for each subnet being used in your private VPC. This subnet is a subset of the a range of IPv4 addresses used by the VPC and is specific to a given availability zone in the VPC\u2019s Region. This ID number is preceded by \"subnet-\", for instance: \"subnet-04ccf456919e69055\". For more information, see [VPCs and Subnets](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) .", - "title": "Subnets", + "markdownDescription": "The conditions that are configured as entry conditions.", + "title": "Conditions", "type": "array" } }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], "type": "object" }, - "AWS::Comprehend::DominantLanguageDetectionJob": { + "AWS::CodePipeline::Pipeline.BlockerDeclaration": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "markdownDescription": "Reserved for future use.", + "title": "Name", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "InputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::DominantLanguageDetectionJob.InputDataConfig" - }, - "JobName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VolumeKmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, "Type": { - "enum": [ - "AWS::Comprehend::DominantLanguageDetectionJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "markdownDescription": "Reserved for future use.", + "title": "Type", "type": "string" } }, "required": [ + "Name", "Type" ], "type": "object" }, - "AWS::Comprehend::DominantLanguageDetectionJob.InputDataConfig": { + "AWS::CodePipeline::Pipeline.Condition": { "additionalProperties": false, "properties": { - "InputFormat": { + "Result": { + "markdownDescription": "The action to be done when the condition is met. For example, rolling back an execution for a failure condition.", + "title": "Result", "type": "string" }, - "S3Uri": { - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.RuleDeclaration" + }, + "markdownDescription": "The rules that make up the condition.", + "title": "Rules", + "type": "array" } }, - "required": [ - "S3Uri" - ], "type": "object" }, - "AWS::Comprehend::DominantLanguageDetectionJob.OutputDataConfig": { + "AWS::CodePipeline::Pipeline.EncryptionKey": { "additionalProperties": false, "properties": { - "KmsKeyId": { + "Id": { + "markdownDescription": "The ID used to identify the key. For an AWS KMS key, you can use the key ID, the key ARN, or the alias ARN.\n\n> Aliases are recognized only in the account that created the AWS key. For cross-account actions, you can only use the key ID or key ARN to identify the key. Cross-account actions involve using the role from the other account (AccountB), so specifying the key ID will use the key from the other account (AccountB).", + "title": "Id", "type": "string" }, - "S3Uri": { + "Type": { + "markdownDescription": "The type of encryption key, such as an AWS KMS key. When creating or updating a pipeline, the value must be set to 'KMS'.", + "title": "Type", "type": "string" } }, "required": [ - "S3Uri" + "Id", + "Type" ], "type": "object" }, - "AWS::Comprehend::EntitiesDetectionJob": { + "AWS::CodePipeline::Pipeline.EnvironmentVariable": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "markdownDescription": "The environment variable name in the key-value pair.", + "title": "Name", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "InputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::EntitiesDetectionJob.InputDataConfig" - }, - "JobName": { - "type": "string" - }, - "LanguageCode": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DataAccessRoleArn", - "InputDataConfig", - "LanguageCode" - ], - "type": "object" - }, "Type": { - "enum": [ - "AWS::Comprehend::EntitiesDetectionJob" - ], + "markdownDescription": "Specifies the type of use for the environment variable value. The value can be either `PLAINTEXT` or `SECRETS_MANAGER` . If the value is `SECRETS_MANAGER` , provide the Secrets reference in the EnvironmentVariable value.", + "title": "Type", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { + "markdownDescription": "The environment variable value in the key-value pair.", + "title": "Value", "type": "string" } }, "required": [ - "Type", - "Properties" + "Name", + "Value" ], "type": "object" }, - "AWS::Comprehend::EntitiesDetectionJob.InputDataConfig": { + "AWS::CodePipeline::Pipeline.FailureConditions": { "additionalProperties": false, "properties": { - "InputFormat": { - "type": "string" + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.Condition" + }, + "markdownDescription": "The conditions that are configured as failure conditions. For more information about conditions, see [Stage conditions](https://docs.aws.amazon.com/codepipeline/latest/userguide/stage-conditions.html) and [How do stage conditions work?](https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts-how-it-works-conditions.html) .", + "title": "Conditions", + "type": "array" }, - "S3Uri": { + "Result": { + "markdownDescription": "The specified result for when the failure conditions are met, such as rolling back the stage.", + "title": "Result", "type": "string" + }, + "RetryConfiguration": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.RetryConfiguration", + "markdownDescription": "The retry configuration specifies automatic retry for a failed stage, along with the configured retry mode.", + "title": "RetryConfiguration" } }, - "required": [ - "S3Uri" - ], "type": "object" }, - "AWS::Comprehend::EntitiesDetectionJob.OutputDataConfig": { + "AWS::CodePipeline::Pipeline.GitBranchFilterCriteria": { "additionalProperties": false, "properties": { - "S3Uri": { - "type": "string" + "Excludes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of patterns of Git branches that, when a commit is pushed, are to be excluded from starting the pipeline.", + "title": "Excludes", + "type": "array" + }, + "Includes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of patterns of Git branches that, when a commit is pushed, are to be included as criteria that starts the pipeline.", + "title": "Includes", + "type": "array" } }, - "required": [ - "S3Uri" - ], "type": "object" }, - "AWS::Comprehend::Flywheel": { + "AWS::CodePipeline::Pipeline.GitConfiguration": { "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": { - "ActiveModelArn": { - "markdownDescription": "The Amazon Resource Number (ARN) of the active model version.", - "title": "ActiveModelArn", - "type": "string" - }, - "DataAccessRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend permission to access the flywheel data.", - "title": "DataAccessRoleArn", - "type": "string" - }, - "DataLakeS3Uri": { - "markdownDescription": "Amazon S3 URI of the data lake location.", - "title": "DataLakeS3Uri", - "type": "string" - }, - "DataSecurityConfig": { - "$ref": "#/definitions/AWS::Comprehend::Flywheel.DataSecurityConfig", - "markdownDescription": "Data security configuration.", - "title": "DataSecurityConfig" - }, - "FlywheelName": { - "markdownDescription": "Name for the flywheel.", - "title": "FlywheelName", - "type": "string" - }, - "ModelType": { - "markdownDescription": "Model type of the flywheel's model.", - "title": "ModelType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with \"Sales\" as the key might be added to an endpoint to indicate its use by the sales department.", - "title": "Tags", - "type": "array" - }, - "TaskConfig": { - "$ref": "#/definitions/AWS::Comprehend::Flywheel.TaskConfig", - "markdownDescription": "Configuration about the model associated with a flywheel.", - "title": "TaskConfig" - } + "PullRequest": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitPullRequestFilter" }, - "required": [ - "DataAccessRoleArn", - "DataLakeS3Uri", - "FlywheelName" - ], - "type": "object" + "markdownDescription": "The field where the repository event that will start the pipeline is specified as pull requests.", + "title": "PullRequest", + "type": "array" }, - "Type": { - "enum": [ - "AWS::Comprehend::Flywheel" - ], - "type": "string" + "Push": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitPushFilter" + }, + "markdownDescription": "The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details.", + "title": "Push", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceActionName": { + "markdownDescription": "The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only.\n\n> You can only specify one trigger configuration per source action.", + "title": "SourceActionName", "type": "string" } }, "required": [ - "Type", - "Properties" + "SourceActionName" ], "type": "object" }, - "AWS::Comprehend::Flywheel.DataSecurityConfig": { + "AWS::CodePipeline::Pipeline.GitFilePathFilterCriteria": { "additionalProperties": false, "properties": { - "DataLakeKmsKeyId": { - "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt the data in the data lake.", - "title": "DataLakeKmsKeyId", - "type": "string" - }, - "ModelKmsKeyId": { - "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`", - "title": "ModelKmsKeyId", - "type": "string" - }, - "VolumeKmsKeyId": { - "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt the volume.", - "title": "VolumeKmsKeyId", - "type": "string" + "Excludes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.", + "title": "Excludes", + "type": "array" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Comprehend::Flywheel.VpcConfig", - "markdownDescription": "Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for the job. For more information, see [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) .", - "title": "VpcConfig" + "Includes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.", + "title": "Includes", + "type": "array" } }, "type": "object" }, - "AWS::Comprehend::Flywheel.DocumentClassificationConfig": { + "AWS::CodePipeline::Pipeline.GitPullRequestFilter": { "additionalProperties": false, "properties": { - "Labels": { + "Branches": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitBranchFilterCriteria", + "markdownDescription": "The field that specifies to filter on branches for the pull request trigger configuration.", + "title": "Branches" + }, + "Events": { "items": { "type": "string" }, - "markdownDescription": "One or more labels to associate with the custom classifier.", - "title": "Labels", + "markdownDescription": "The field that specifies which pull request events to filter on (OPEN, UPDATED, CLOSED) for the trigger configuration.", + "title": "Events", "type": "array" }, - "Mode": { - "markdownDescription": "Classification mode indicates whether the documents are `MULTI_CLASS` or `MULTI_LABEL` .", - "title": "Mode", - "type": "string" + "FilePaths": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitFilePathFilterCriteria", + "markdownDescription": "The field that specifies to filter on file paths for the pull request trigger configuration.", + "title": "FilePaths" } }, - "required": [ - "Mode" - ], "type": "object" }, - "AWS::Comprehend::Flywheel.EntityRecognitionConfig": { + "AWS::CodePipeline::Pipeline.GitPushFilter": { "additionalProperties": false, "properties": { - "EntityTypes": { + "Branches": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitBranchFilterCriteria", + "markdownDescription": "The field that specifies to filter on branches for the push trigger configuration.", + "title": "Branches" + }, + "FilePaths": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitFilePathFilterCriteria", + "markdownDescription": "The field that specifies to filter on file paths for the push trigger configuration.", + "title": "FilePaths" + }, + "Tags": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitTagFilterCriteria", + "markdownDescription": "The field that contains the details for the Git tags trigger configuration.", + "title": "Tags" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Pipeline.GitTagFilterCriteria": { + "additionalProperties": false, + "properties": { + "Excludes": { "items": { - "$ref": "#/definitions/AWS::Comprehend::Flywheel.EntityTypesListItem" + "type": "string" }, - "markdownDescription": "Up to 25 entity types that the model is trained to recognize.", - "title": "EntityTypes", + "markdownDescription": "The list of patterns of Git tags that, when pushed, are to be excluded from starting the pipeline.", + "title": "Excludes", + "type": "array" + }, + "Includes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of patterns of Git tags that, when pushed, are to be included as criteria that starts the pipeline.", + "title": "Includes", "type": "array" } }, "type": "object" }, - "AWS::Comprehend::Flywheel.EntityTypesListItem": { + "AWS::CodePipeline::Pipeline.InputArtifact": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "An entity type within a labeled training dataset that Amazon Comprehend uses to train a custom entity recognizer.\n\nEntity types must not contain the following invalid characters: \\n (line break), \\\\n (escaped line break, \\r (carriage return), \\\\r (escaped carriage return), \\t (tab), \\\\t (escaped tab), and , (comma).", - "title": "Type", + "Name": { + "markdownDescription": "The name of the artifact to be worked on (for example, \"My App\").\n\nArtifacts are the files that are worked on by actions in the pipeline. See the action configuration for each action for details about artifact parameters. For example, the S3 source action input artifact is a file name (or file path), and the files are generally provided as a ZIP file. Example artifact name: SampleApp_Windows.zip\n\nThe input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.", + "title": "Name", "type": "string" } }, "required": [ - "Type" + "Name" ], "type": "object" }, - "AWS::Comprehend::Flywheel.TaskConfig": { + "AWS::CodePipeline::Pipeline.OutputArtifact": { "additionalProperties": false, "properties": { - "DocumentClassificationConfig": { - "$ref": "#/definitions/AWS::Comprehend::Flywheel.DocumentClassificationConfig", - "markdownDescription": "Configuration required for a document classification model.", - "title": "DocumentClassificationConfig" + "Files": { + "items": { + "type": "string" + }, + "markdownDescription": "The files that you want to associate with the output artifact that will be exported from the compute action.", + "title": "Files", + "type": "array" }, - "EntityRecognitionConfig": { - "$ref": "#/definitions/AWS::Comprehend::Flywheel.EntityRecognitionConfig", - "markdownDescription": "Configuration required for an entity recognition model.", - "title": "EntityRecognitionConfig" + "Name": { + "markdownDescription": "The name of the output of an artifact, such as \"My App\".\n\nThe output artifact name must exactly match the input artifact declared for a downstream action. However, the downstream action's input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.\n\nOutput artifact names must be unique within a pipeline.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.PipelineTriggerDeclaration": { + "additionalProperties": false, + "properties": { + "GitConfiguration": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.GitConfiguration", + "markdownDescription": "Provides the filter criteria and the source stage for the repository event that starts the pipeline, such as Git tags.", + "title": "GitConfiguration" }, - "LanguageCode": { - "markdownDescription": "Language code for the language that the model supports.", - "title": "LanguageCode", + "ProviderType": { + "markdownDescription": "The source provider for the event, such as connections configured for a repository with Git tags, for the specified trigger configuration.", + "title": "ProviderType", "type": "string" } }, "required": [ - "LanguageCode" + "ProviderType" ], "type": "object" }, - "AWS::Comprehend::Flywheel.VpcConfig": { + "AWS::CodePipeline::Pipeline.RetryConfiguration": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { + "RetryMode": { + "markdownDescription": "The method that you want to configure for automatic stage retry on stage failure. You can specify to retry only failed action in the stage or all actions in the stage.", + "title": "RetryMode", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Pipeline.RuleDeclaration": { + "additionalProperties": false, + "properties": { + "Commands": { "items": { "type": "string" }, - "markdownDescription": "The ID number for a security group on an instance of your private VPC. Security groups on your VPC function serve as a virtual firewall to control inbound and outbound traffic and provides security for the resources that you\u2019ll be accessing on the VPC. This ID number is preceded by \"sg-\", for instance: \"sg-03b388029b0a285ea\". For more information, see [Security Groups for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) .", - "title": "SecurityGroupIds", + "markdownDescription": "The shell commands to run with your commands rule in CodePipeline. All commands are supported except multi-line formats. While CodeBuild logs and permissions are used, you do not need to create any resources in CodeBuild.\n\n> Using compute time for this action will incur separate charges in AWS CodeBuild .", + "title": "Commands", "type": "array" }, - "Subnets": { + "Configuration": { + "markdownDescription": "The action configuration fields for the rule.", + "title": "Configuration", + "type": "object" + }, + "InputArtifacts": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" }, - "markdownDescription": "The ID for each subnet being used in your private VPC. This subnet is a subset of the a range of IPv4 addresses used by the VPC and is specific to a given availability zone in the VPC\u2019s Region. This ID number is preceded by \"subnet-\", for instance: \"subnet-04ccf456919e69055\". For more information, see [VPCs and Subnets](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) .", - "title": "Subnets", + "markdownDescription": "The input artifacts fields for the rule, such as specifying an input file for the rule.", + "title": "InputArtifacts", "type": "array" + }, + "Name": { + "markdownDescription": "The name of the rule that is created for the condition, such as `VariableCheck` .", + "title": "Name", + "type": "string" + }, + "Region": { + "markdownDescription": "The Region for the condition associated with the rule.", + "title": "Region", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The pipeline role ARN associated with the rule.", + "title": "RoleArn", + "type": "string" + }, + "RuleTypeId": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.RuleTypeId", + "markdownDescription": "The ID for the rule type, which is made up of the combined values for category, owner, provider, and version.", + "title": "RuleTypeId" } }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], "type": "object" }, - "AWS::Comprehend::FlywheelDataset": { + "AWS::CodePipeline::Pipeline.RuleTypeId": { "additionalProperties": false, "properties": { - "Condition": { + "Category": { + "markdownDescription": "A category defines what kind of rule can be run in the stage, and constrains the provider type for the rule. The valid category is `Rule` .", + "title": "Category", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Owner": { + "markdownDescription": "The creator of the rule being called. The valid value for the `Owner` field in the rule category is `AWS` .", + "title": "Owner", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Provider": { + "markdownDescription": "The rule provider, such as the `DeploymentWindow` rule. For a list of rule provider names, see the rules listed in the [AWS CodePipeline rule reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/rule-reference.html) .", + "title": "Provider", + "type": "string" }, - "Metadata": { - "type": "object" + "Version": { + "markdownDescription": "A string that describes the rule version.", + "title": "Version", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Pipeline.StageDeclaration": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionDeclaration" + }, + "markdownDescription": "The actions included in a stage.", + "title": "Actions", + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - }, - "DatasetType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FlywheelArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "BeforeEntry": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BeforeEntryConditions", + "markdownDescription": "The method to use when a stage allows entry. For example, configuring this field for conditions will allow entry to the stage when the conditions are met.", + "title": "BeforeEntry" + }, + "Blockers": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BlockerDeclaration" }, - "required": [ - "DatasetName", - "FlywheelArn" - ], - "type": "object" + "markdownDescription": "Reserved for future use.", + "title": "Blockers", + "type": "array" }, - "Type": { - "enum": [ - "AWS::Comprehend::FlywheelDataset" - ], + "Name": { + "markdownDescription": "The name of the stage.", + "title": "Name", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "OnFailure": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.FailureConditions", + "markdownDescription": "The method to use when a stage has not completed successfully. For example, configuring this field for rollback will roll back a failed stage automatically to the last successful pipeline execution in the stage.", + "title": "OnFailure" + }, + "OnSuccess": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.SuccessConditions", + "markdownDescription": "The method to use when a stage has succeeded. For example, configuring this field for conditions will allow the stage to succeed when the conditions are met.", + "title": "OnSuccess" + } + }, + "required": [ + "Actions", + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.StageTransition": { + "additionalProperties": false, + "properties": { + "Reason": { + "markdownDescription": "The reason given to the user that a stage is disabled, such as waiting for manual approval or manual tests. This message is displayed in the pipeline console UI.", + "title": "Reason", + "type": "string" + }, + "StageName": { + "markdownDescription": "The name of the stage where you want to disable the inbound or outbound transition of artifacts.", + "title": "StageName", "type": "string" } }, "required": [ - "Type", - "Properties" + "Reason", + "StageName" ], "type": "object" }, - "AWS::Comprehend::SentimentDetectionJob": { + "AWS::CodePipeline::Pipeline.SuccessConditions": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.Condition" + }, + "markdownDescription": "The conditions that are success conditions.", + "title": "Conditions", + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Pipeline.VariableDeclaration": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "markdownDescription": "The value of a pipeline-level variable.", + "title": "DefaultValue", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of a pipeline-level variable. It's used to add additional context about the variable, and not being used at time when pipeline executes.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of a pipeline-level variable.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Webhook": { "additionalProperties": false, "properties": { "Condition": { @@ -84881,35 +84566,68 @@ "Properties": { "additionalProperties": false, "properties": { - "DataAccessRoleArn": { + "Authentication": { + "markdownDescription": "Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.\n\n> When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities. > If a secret token was provided, it will be redacted in the response. \n\n- For information about the authentication scheme implemented by GITHUB_HMAC, see [Securing your webhooks](https://docs.aws.amazon.com/https://developer.github.com/webhooks/securing/) on the GitHub Developer website.\n- IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration.\n- UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.", + "title": "Authentication", "type": "string" }, - "InputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::SentimentDetectionJob.InputDataConfig" + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookAuthConfiguration", + "markdownDescription": "Properties that configure the authentication applied to incoming webhook trigger requests. The required properties depend on the authentication type. For GITHUB_HMAC, only the `SecretToken` property must be set. For IP, only the `AllowedIPRange` property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set.", + "title": "AuthenticationConfiguration" }, - "JobName": { - "type": "string" + "Filters": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookFilterRule" + }, + "markdownDescription": "A list of rules applied to the body/payload sent in the POST request to a webhook URL. All defined rules must pass for the request to be accepted and the pipeline started.", + "title": "Filters", + "type": "array" }, - "LanguageCode": { + "Name": { + "markdownDescription": "The name of the webhook.", + "title": "Name", "type": "string" }, + "RegisterWithThirdParty": { + "markdownDescription": "Configures a connection between the webhook that was created and the external tool with events to be detected.", + "title": "RegisterWithThirdParty", + "type": "boolean" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TargetAction": { + "markdownDescription": "The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline.", + "title": "TargetAction", + "type": "string" + }, + "TargetPipeline": { + "markdownDescription": "The name of the pipeline you want to connect to the webhook.", + "title": "TargetPipeline", + "type": "string" + }, + "TargetPipelineVersion": { + "markdownDescription": "The version number of the pipeline to be connected to the trigger request.\n\nRequired: Yes\n\nType: Integer\n\nUpdate requires: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)", + "title": "TargetPipelineVersion", + "type": "number" } }, "required": [ - "DataAccessRoleArn", - "InputDataConfig", - "LanguageCode" + "Authentication", + "AuthenticationConfiguration", + "Filters", + "TargetAction", + "TargetPipeline" ], "type": "object" }, "Type": { "enum": [ - "AWS::Comprehend::SentimentDetectionJob" + "AWS::CodePipeline::Webhook" ], "type": "string" }, @@ -84928,22 +84646,42 @@ ], "type": "object" }, - "AWS::Comprehend::SentimentDetectionJob.InputDataConfig": { + "AWS::CodePipeline::Webhook.WebhookAuthConfiguration": { "additionalProperties": false, "properties": { - "InputFormat": { + "AllowedIPRange": { + "markdownDescription": "The property used to configure acceptance of webhooks in an IP address range. For IP, only the `AllowedIPRange` property must be set. This property must be set to a valid CIDR range.", + "title": "AllowedIPRange", "type": "string" }, - "S3Uri": { + "SecretToken": { + "markdownDescription": "The property used to configure GitHub authentication. For GITHUB_HMAC, only the `SecretToken` property must be set.\n\n> When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities. > If a secret token was provided, it will be redacted in the response.", + "title": "SecretToken", + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Webhook.WebhookFilterRule": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "markdownDescription": "A JsonPath expression that is applied to the body/payload of the webhook. The value selected by the JsonPath expression must match the value specified in the `MatchEquals` field. Otherwise, the request is ignored. For more information, see [Java JsonPath implementation](https://docs.aws.amazon.com/https://github.com/json-path/JsonPath) in GitHub.", + "title": "JsonPath", + "type": "string" + }, + "MatchEquals": { + "markdownDescription": "The value selected by the `JsonPath` expression must match what is supplied in the `MatchEquals` field. Otherwise, the request is ignored. Properties from the target action configuration can be included as placeholders in this value by surrounding the action configuration key with curly brackets. For example, if the value supplied here is \"refs/heads/{Branch}\" and the target action has an action configuration property called \"Branch\" with a value of \"main\", the `MatchEquals` value is evaluated as \"refs/heads/main\". For a list of action configuration properties for built-in action types, see [Pipeline Structure Reference Action Requirements](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements) .", + "title": "MatchEquals", "type": "string" } }, "required": [ - "S3Uri" + "JsonPath" ], "type": "object" }, - "AWS::Comprehend::TargetedSentimentDetectionJob": { + "AWS::CodeStar::GitHubRepository": { "additionalProperties": false, "properties": { "Condition": { @@ -84978,38 +84716,56 @@ "Properties": { "additionalProperties": false, "properties": { - "DataAccessRoleArn": { + "Code": { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code", + "markdownDescription": "Information about code to be committed to a repository after it is created in an CloudFormation stack.", + "title": "Code" + }, + "ConnectionArn": { + "markdownDescription": "", + "title": "ConnectionArn", "type": "string" }, - "InputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::TargetedSentimentDetectionJob.InputDataConfig" + "EnableIssues": { + "markdownDescription": "Indicates whether to enable issues for the GitHub repository. You can use GitHub issues to track information and bugs for your repository.", + "title": "EnableIssues", + "type": "boolean" }, - "JobName": { + "IsPrivate": { + "markdownDescription": "Indicates whether the GitHub repository is a private repository. If so, you choose who can see and commit to this repository.", + "title": "IsPrivate", + "type": "boolean" + }, + "RepositoryAccessToken": { + "markdownDescription": "The GitHub user's personal access token for the GitHub repository.", + "title": "RepositoryAccessToken", "type": "string" }, - "LanguageCode": { + "RepositoryDescription": { + "markdownDescription": "A comment or description about the new repository. This description is displayed in GitHub after the repository is created.", + "title": "RepositoryDescription", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::Comprehend::TargetedSentimentDetectionJob.TagsItems" - }, - "type": "array" + "RepositoryName": { + "markdownDescription": "The name of the repository you want to create in GitHub with CloudFormation stack creation.", + "title": "RepositoryName", + "type": "string" }, - "VolumeKmsKeyId": { + "RepositoryOwner": { + "markdownDescription": "The GitHub user name for the owner of the GitHub repository to be created. If this repository should be owned by a GitHub organization, provide its name.", + "title": "RepositoryOwner", "type": "string" } }, "required": [ - "DataAccessRoleArn", - "InputDataConfig", - "LanguageCode" + "RepositoryName", + "RepositoryOwner" ], "type": "object" }, "Type": { "enum": [ - "AWS::Comprehend::TargetedSentimentDetectionJob" + "AWS::CodeStar::GitHubRepository" ], "type": "string" }, @@ -85028,53 +84784,46 @@ ], "type": "object" }, - "AWS::Comprehend::TargetedSentimentDetectionJob.InputDataConfig": { + "AWS::CodeStar::GitHubRepository.Code": { "additionalProperties": false, "properties": { - "InputFormat": { - "type": "string" - }, - "S3Uri": { - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.S3", + "markdownDescription": "Information about the Amazon S3 bucket that contains a ZIP file of code to be committed to the repository.", + "title": "S3" } }, "required": [ - "S3Uri" + "S3" ], "type": "object" }, - "AWS::Comprehend::TargetedSentimentDetectionJob.OutputDataConfig": { + "AWS::CodeStar::GitHubRepository.S3": { "additionalProperties": false, "properties": { - "KmsKeyId": { + "Bucket": { + "markdownDescription": "The name of the Amazon S3 bucket that contains the ZIP file with the content to be committed to the new repository.", + "title": "Bucket", "type": "string" }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::TargetedSentimentDetectionJob.TagsItems": { - "additionalProperties": false, - "properties": { "Key": { + "markdownDescription": "The S3 object key or file name for the ZIP file.", + "title": "Key", "type": "string" }, - "Value": { + "ObjectVersion": { + "markdownDescription": "The object version of the ZIP file, if versioning is enabled for the Amazon S3 bucket.", + "title": "ObjectVersion", "type": "string" } }, "required": [ - "Key", - "Value" + "Bucket", + "Key" ], "type": "object" }, - "AWS::ComputeOptimizer::AutomationRule": { + "AWS::CodeStarConnections::Connection": { "additionalProperties": false, "properties": { "Condition": { @@ -85109,55 +84858,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Criteria": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.Criteria" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OrganizationConfiguration": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.OrganizationConfiguration" - }, - "Priority": { + "ConnectionName": { + "markdownDescription": "The name of the connection. Connection names must be unique in an AWS account .", + "title": "ConnectionName", "type": "string" }, - "RecommendedActionTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RuleType": { + "HostArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the host associated with the connection.", + "title": "HostArn", "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.Schedule" - }, - "Status": { + "ProviderType": { + "markdownDescription": "The name of the external provider where your third-party code repository is configured.", + "title": "ProviderType", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "Specifies the tags applied to the resource.", + "title": "Tags", "type": "array" } }, "required": [ - "Name", - "RecommendedActionTypes", - "RuleType", - "Schedule", - "Status" + "ConnectionName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ComputeOptimizer::AutomationRule" + "AWS::CodeStarConnections::Connection" ], "type": "string" }, @@ -85176,154 +84908,7 @@ ], "type": "object" }, - "AWS::ComputeOptimizer::AutomationRule.Criteria": { - "additionalProperties": false, - "properties": { - "EbsVolumeSizeInGib": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition" - }, - "type": "array" - }, - "EbsVolumeType": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" - }, - "type": "array" - }, - "EstimatedMonthlySavings": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.DoubleCriteriaCondition" - }, - "type": "array" - }, - "LookBackPeriodInDays": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition" - }, - "type": "array" - }, - "Region": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" - }, - "type": "array" - }, - "ResourceArn": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" - }, - "type": "array" - }, - "ResourceTag": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.ResourceTagsCriteriaCondition" - }, - "type": "array" - }, - "RestartNeeded": { - "items": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ComputeOptimizer::AutomationRule.DoubleCriteriaCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ComputeOptimizer::AutomationRule.OrganizationConfiguration": { - "additionalProperties": false, - "properties": { - "AccountIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RuleApplyOrder": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ComputeOptimizer::AutomationRule.ResourceTagsCriteriaCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ComputeOptimizer::AutomationRule.Schedule": { - "additionalProperties": false, - "properties": { - "ExecutionWindowInMinutes": { - "type": "number" - }, - "ScheduleExpression": { - "type": "string" - }, - "ScheduleExpressionTimezone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Config::AggregationAuthorization": { + "AWS::CodeStarConnections::RepositoryLink": { "additionalProperties": false, "properties": { "Condition": { @@ -85358,34 +84943,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthorizedAccountId": { - "markdownDescription": "The 12-digit account ID of the account authorized to aggregate data.", - "title": "AuthorizedAccountId", + "ConnectionArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the connection associated with the repository link.", + "title": "ConnectionArn", "type": "string" }, - "AuthorizedAwsRegion": { - "markdownDescription": "The region authorized to collect aggregated data.", - "title": "AuthorizedAwsRegion", + "EncryptionKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the encryption key for the repository associated with the repository link.", + "title": "EncryptionKeyArn", + "type": "string" + }, + "OwnerId": { + "markdownDescription": "The owner ID for the repository associated with the repository link, such as the owner ID in GitHub.", + "title": "OwnerId", + "type": "string" + }, + "RepositoryName": { + "markdownDescription": "The name of the repository associated with the repository link.", + "title": "RepositoryName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of tag object.", + "markdownDescription": "The tags for the repository to be associated with the repository link.", "title": "Tags", "type": "array" } }, "required": [ - "AuthorizedAccountId", - "AuthorizedAwsRegion" + "ConnectionArn", + "OwnerId", + "RepositoryName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::AggregationAuthorization" + "AWS::CodeStarConnections::RepositoryLink" ], "type": "string" }, @@ -85404,7 +85000,7 @@ ], "type": "object" }, - "AWS::Config::ConfigRule": { + "AWS::CodeStarConnections::SyncConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -85439,58 +85035,60 @@ "Properties": { "additionalProperties": false, "properties": { - "Compliance": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Compliance", - "markdownDescription": "Indicates whether an AWS resource or AWS Config rule is compliant and provides the number of contributors that affect the compliance.", - "title": "Compliance" + "Branch": { + "markdownDescription": "The branch associated with a specific sync configuration.", + "title": "Branch", + "type": "string" }, - "ConfigRuleName": { - "markdownDescription": "A name for the AWS Config rule. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the rule name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .", - "title": "ConfigRuleName", + "ConfigFile": { + "markdownDescription": "The file path to the configuration file associated with a specific sync configuration. The path should point to an actual file in the sync configurations linked repository.", + "title": "ConfigFile", "type": "string" }, - "Description": { - "markdownDescription": "The description that you provide for the AWS Config rule.", - "title": "Description", + "PublishDeploymentStatus": { + "markdownDescription": "Whether to enable or disable publishing of deployment status to source providers.", + "title": "PublishDeploymentStatus", "type": "string" }, - "EvaluationModes": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigRule.EvaluationModeConfiguration" - }, - "markdownDescription": "The modes the AWS Config rule can be evaluated in. The valid values are distinct objects. By default, the value is Detective evaluation mode only.", - "title": "EvaluationModes", - "type": "array" + "RepositoryLinkId": { + "markdownDescription": "The ID of the repository link associated with a specific sync configuration.", + "title": "RepositoryLinkId", + "type": "string" }, - "InputParameters": { - "markdownDescription": "A string, in JSON format, that is passed to the AWS Config rule Lambda function.", - "title": "InputParameters", - "type": "object" + "ResourceName": { + "markdownDescription": "The name of the connection resource associated with a specific sync configuration.", + "title": "ResourceName", + "type": "string" }, - "MaximumExecutionFrequency": { - "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for `MaximumExecutionFrequency` when:\n\n- You are using an AWS managed rule that is triggered at a periodic frequency.\n- Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see [ConfigSnapshotDeliveryProperties](https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigSnapshotDeliveryProperties.html) .\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.", - "title": "MaximumExecutionFrequency", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role associated with a specific sync configuration.", + "title": "RoleArn", "type": "string" }, - "Scope": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Scope", - "markdownDescription": "Defines which resources can trigger an evaluation for the rule. The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes.", - "title": "Scope" + "SyncType": { + "markdownDescription": "The type of sync for a specific sync configuration.", + "title": "SyncType", + "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Source", - "markdownDescription": "Provides the rule owner ( `AWS` for managed rules, `CUSTOM_POLICY` for Custom Policy rules, and `CUSTOM_LAMBDA` for Custom Lambda rules), the rule identifier, and the notifications that cause the function to evaluate your AWS resources.", - "title": "Source" + "TriggerResourceUpdateOn": { + "markdownDescription": "When to trigger Git sync to begin the stack update.", + "title": "TriggerResourceUpdateOn", + "type": "string" } }, "required": [ - "Source" + "Branch", + "ConfigFile", + "RepositoryLinkId", + "ResourceName", + "RoleArn", + "SyncType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::ConfigRule" + "AWS::CodeStarConnections::SyncConfiguration" ], "type": "string" }, @@ -85509,136 +85107,7 @@ ], "type": "object" }, - "AWS::Config::ConfigRule.Compliance": { - "additionalProperties": false, - "properties": { - "Type": { - "markdownDescription": "Indicates whether an AWS resource or AWS Config rule is compliant.\n\nA resource is compliant if it complies with all of the AWS Config rules that evaluate it. A resource is noncompliant if it does not comply with one or more of these rules.\n\nA rule is compliant if all of the resources that the rule evaluates comply with it. A rule is noncompliant if any of these resources do not comply.\n\nAWS Config returns the `INSUFFICIENT_DATA` value when no evaluation results are available for the AWS resource or AWS Config rule.\n\nFor the `Compliance` data type, AWS Config supports only `COMPLIANT` , `NON_COMPLIANT` , and `INSUFFICIENT_DATA` values. AWS Config does not support the `NOT_APPLICABLE` value for the `Compliance` data type.", - "title": "Type", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.CustomPolicyDetails": { - "additionalProperties": false, - "properties": { - "EnableDebugLogDelivery": { - "markdownDescription": "The boolean expression for enabling debug logging for your AWS Config Custom Policy rule. The default value is `false` .", - "title": "EnableDebugLogDelivery", - "type": "boolean" - }, - "PolicyRuntime": { - "markdownDescription": "The runtime system for your AWS Config Custom Policy rule. Guard is a policy-as-code language that allows you to write policies that are enforced by AWS Config Custom Policy rules. For more information about Guard, see the [Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard) .", - "title": "PolicyRuntime", - "type": "string" - }, - "PolicyText": { - "markdownDescription": "The policy definition containing the logic for your AWS Config Custom Policy rule.", - "title": "PolicyText", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.EvaluationModeConfiguration": { - "additionalProperties": false, - "properties": { - "Mode": { - "markdownDescription": "The mode of an evaluation. The valid values are Detective or Proactive.", - "title": "Mode", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.Scope": { - "additionalProperties": false, - "properties": { - "ComplianceResourceId": { - "markdownDescription": "The ID of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for `ComplianceResourceTypes` .", - "title": "ComplianceResourceId", - "type": "string" - }, - "ComplianceResourceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The resource types of only those AWS resources that you want to trigger an evaluation for the rule. You can only specify one type if you also specify a resource ID for `ComplianceResourceId` .", - "title": "ComplianceResourceTypes", - "type": "array" - }, - "TagKey": { - "markdownDescription": "The tag key that is applied to only those AWS resources that you want to trigger an evaluation for the rule.", - "title": "TagKey", - "type": "string" - }, - "TagValue": { - "markdownDescription": "The tag value applied to only those AWS resources that you want to trigger an evaluation for the rule. If you specify a value for `TagValue` , you must also specify a value for `TagKey` .", - "title": "TagValue", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.Source": { - "additionalProperties": false, - "properties": { - "CustomPolicyDetails": { - "$ref": "#/definitions/AWS::Config::ConfigRule.CustomPolicyDetails", - "markdownDescription": "Provides the runtime system, policy definition, and whether debug logging is enabled. Required when owner is set to `CUSTOM_POLICY` .", - "title": "CustomPolicyDetails" - }, - "Owner": { - "markdownDescription": "Indicates whether AWS or the customer owns and manages the AWS Config rule.\n\nAWS Config Managed Rules are predefined rules owned by AWS . For more information, see [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) in the *AWS Config developer guide* .\n\nAWS Config Custom Rules are rules that you can develop either with Guard ( `CUSTOM_POLICY` ) or AWS Lambda ( `CUSTOM_LAMBDA` ). For more information, see [AWS Config Custom Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html) in the *AWS Config developer guide* .", - "title": "Owner", - "type": "string" - }, - "SourceDetails": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" - }, - "markdownDescription": "Provides the source and the message types that cause AWS Config to evaluate your AWS resources against a rule. It also provides the frequency with which you want AWS Config to run evaluations for the rule if the trigger type is periodic.\n\nIf the owner is set to `CUSTOM_POLICY` , the only acceptable values for the AWS Config rule trigger message type are `ConfigurationItemChangeNotification` and `OversizedConfigurationItemChangeNotification` .", - "title": "SourceDetails", - "type": "array" - }, - "SourceIdentifier": { - "markdownDescription": "For AWS Config Managed rules, a predefined identifier from a list. For example, `IAM_PASSWORD_POLICY` is a managed rule. To reference a managed rule, see [List of AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) .\n\nFor AWS Config Custom Lambda rules, the identifier is the Amazon Resource Name (ARN) of the rule's AWS Lambda function, such as `arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name` .\n\nFor AWS Config Custom Policy rules, this field will be ignored.", - "title": "SourceIdentifier", - "type": "string" - } - }, - "required": [ - "Owner" - ], - "type": "object" - }, - "AWS::Config::ConfigRule.SourceDetail": { - "additionalProperties": false, - "properties": { - "EventSource": { - "markdownDescription": "The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources.", - "title": "EventSource", - "type": "string" - }, - "MaximumExecutionFrequency": { - "markdownDescription": "The frequency at which you want AWS Config to run evaluations for a custom rule with a periodic trigger. If you specify a value for `MaximumExecutionFrequency` , then `MessageType` must use the `ScheduledNotification` value.\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.\n> \n> Based on the valid value you choose, AWS Config runs evaluations once for each valid value. For example, if you choose `Three_Hours` , AWS Config runs evaluations once every three hours. In this case, `Three_Hours` is the frequency of this rule.", - "title": "MaximumExecutionFrequency", - "type": "string" - }, - "MessageType": { - "markdownDescription": "The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:\n\n- `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change.\n- `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.\n- `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `MaximumExecutionFrequency` .\n- `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot.\n\nIf you want your custom rule to be triggered by configuration changes, specify two SourceDetail objects, one for `ConfigurationItemChangeNotification` and one for `OversizedConfigurationItemChangeNotification` .", - "title": "MessageType", - "type": "string" - } - }, - "required": [ - "EventSource", - "MessageType" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator": { + "AWS::CodeStarNotifications::NotificationRule": { "additionalProperties": false, "properties": { "Condition": { @@ -85673,38 +85142,81 @@ "Properties": { "additionalProperties": false, "properties": { - "AccountAggregationSources": { + "CreatedBy": { + "markdownDescription": "The name or email alias of the person who created the notification rule.", + "title": "CreatedBy", + "type": "string" + }, + "DetailType": { + "markdownDescription": "The level of detail to include in the notifications for this resource. `BASIC` will include only the contents of the event as it would appear in Amazon CloudWatch. `FULL` will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.", + "title": "DetailType", + "type": "string" + }, + "EventTypeId": { + "markdownDescription": "The event type associated with this notification rule. For a complete list of event types and IDs, see [Notification concepts](https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#concepts-api) in the *Developer Tools Console User Guide* .", + "title": "EventTypeId", + "type": "string" + }, + "EventTypeIds": { "items": { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.AccountAggregationSource" + "type": "string" }, - "markdownDescription": "Provides a list of source accounts and regions to be aggregated.", - "title": "AccountAggregationSources", + "markdownDescription": "A list of event types associated with this notification rule. For a complete list of event types and IDs, see [Notification concepts](https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#concepts-api) in the *Developer Tools Console User Guide* .", + "title": "EventTypeIds", "type": "array" }, - "ConfigurationAggregatorName": { - "markdownDescription": "The name of the aggregator.", - "title": "ConfigurationAggregatorName", + "Name": { + "markdownDescription": "The name for the notification rule. Notification rule names must be unique in your AWS account .", + "title": "Name", "type": "string" }, - "OrganizationAggregationSource": { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.OrganizationAggregationSource", - "markdownDescription": "Provides an organization and list of regions to be aggregated.", - "title": "OrganizationAggregationSource" + "Resource": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource to associate with the notification rule. Supported resources include pipelines in AWS CodePipeline , repositories in AWS CodeCommit , and build projects in AWS CodeBuild .", + "title": "Resource", + "type": "string" + }, + "Status": { + "markdownDescription": "The status of the notification rule. The default value is `ENABLED` . If the status is set to `DISABLED` , notifications aren't sent for the notification rule.", + "title": "Status", + "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "A list of tags to apply to this notification rule. Key names cannot start with \" `aws` \".", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "An array of tag object.", "title": "Tags", + "type": "object" + }, + "TargetAddress": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon topic or client.", + "title": "TargetAddress", + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule.Target" + }, + "markdownDescription": "A list of Amazon Resource Names (ARNs) of Amazon topics and clients to associate with the notification rule.", + "title": "Targets", "type": "array" } }, + "required": [ + "DetailType", + "EventTypeIds", + "Name", + "Resource", + "Targets" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::ConfigurationAggregator" + "AWS::CodeStarNotifications::NotificationRule" ], "type": "string" }, @@ -85718,68 +85230,32 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator.AccountAggregationSource": { - "additionalProperties": false, - "properties": { - "AccountIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The 12-digit account ID of the account being aggregated.", - "title": "AccountIds", - "type": "array" - }, - "AllAwsRegions": { - "markdownDescription": "If true, aggregate existing AWS Config regions and future regions.", - "title": "AllAwsRegions", - "type": "boolean" - }, - "AwsRegions": { - "items": { - "type": "string" - }, - "markdownDescription": "The source regions being aggregated.", - "title": "AwsRegions", - "type": "array" - } - }, - "required": [ - "AccountIds" + "Type", + "Properties" ], "type": "object" }, - "AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": { + "AWS::CodeStarNotifications::NotificationRule.Target": { "additionalProperties": false, "properties": { - "AllAwsRegions": { - "markdownDescription": "If true, aggregate existing AWS Config regions and future regions.", - "title": "AllAwsRegions", - "type": "boolean" - }, - "AwsRegions": { - "items": { - "type": "string" - }, - "markdownDescription": "The source regions being aggregated.", - "title": "AwsRegions", - "type": "array" + "TargetAddress": { + "markdownDescription": "The Amazon Resource Name (ARN) of the topic or client.", + "title": "TargetAddress", + "type": "string" }, - "RoleArn": { - "markdownDescription": "ARN of the IAM role used to retrieve AWS Organizations details associated with the aggregator account.", - "title": "RoleArn", + "TargetType": { + "markdownDescription": "The target type. Can be an Amazon Simple Notification Service topic or client.\n\n- Amazon Simple Notification Service topics are specified as `SNS` .\n- clients are specified as `AWSChatbotSlack` .\n- clients for Microsoft Teams are specified as `AWSChatbotMicrosoftTeams` .", + "title": "TargetType", "type": "string" } }, "required": [ - "RoleArn" + "TargetAddress", + "TargetType" ], "type": "object" }, - "AWS::Config::ConfigurationRecorder": { + "AWS::Cognito::IdentityPool": { "additionalProperties": false, "properties": { "Condition": { @@ -85814,35 +85290,87 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the configuration recorder. AWS Config automatically assigns the name of \"default\" when creating the configuration recorder.\n\nYou cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.", - "title": "Name", - "type": "string" + "AllowClassicFlow": { + "markdownDescription": "Enables the Basic (Classic) authentication flow.", + "title": "AllowClassicFlow", + "type": "boolean" }, - "RecordingGroup": { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingGroup", - "markdownDescription": "Specifies which resource types AWS Config records for configuration changes.\n\n> *High Number of AWS Config Evaluations*\n> \n> You may notice increased activity in your account during your initial month recording with AWS Config when compared to subsequent months. During the initial bootstrapping process, AWS Config runs evaluations on all the resources in your account that you have selected for AWS Config to record.\n> \n> If you are running ephemeral workloads, you may see increased activity from AWS Config as it records configuration changes associated with creating and deleting these temporary resources. An *ephemeral workload* is a temporary use of computing resources that are loaded and run when needed. Examples include Amazon Elastic Compute Cloud ( Amazon EC2 ) Spot Instances, Amazon EMR jobs, and AWS Auto Scaling . If you want to avoid the increased activity from running ephemeral workloads, you can run these types of workloads in a separate account with AWS Config turned off to avoid increased configuration recording and rule evaluations.", - "title": "RecordingGroup" + "AllowUnauthenticatedIdentities": { + "markdownDescription": "Specifies whether the identity pool supports unauthenticated logins.", + "title": "AllowUnauthenticatedIdentities", + "type": "boolean" }, - "RecordingMode": { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingMode", - "markdownDescription": "Specifies the default recording frequency for the configuration recorder. AWS Config supports *Continuous recording* and *Daily recording* .\n\n- Continuous recording allows you to record configuration changes continuously whenever a change occurs.\n- Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it\u2019s different from the previous CI recorded.\n\n> *Some resource types require continuous recording*\n> \n> AWS Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous. \n\nYou can also override the recording frequency for specific resource types.", - "title": "RecordingMode" + "CognitoEvents": { + "markdownDescription": "The events to configure.", + "title": "CognitoEvents", + "type": "object" }, - "RoleARN": { - "markdownDescription": "Amazon Resource Name (ARN) of the IAM role assumed by AWS Config and used by the configuration recorder. For more information, see [Permissions for the IAM Role Assigned](https://docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html) to AWS Config in the AWS Config Developer Guide.\n\n> *Pre-existing AWS Config role*\n> \n> If you have used an AWS service that uses AWS Config , such as AWS Security Hub CSPM or AWS Control Tower , and an AWS Config role has already been created, make sure that the IAM role that you use when setting up AWS Config keeps the same minimum permissions as the already created AWS Config role. You must do this so that the other AWS service continues to run as expected.\n> \n> For example, if AWS Control Tower has an IAM role that allows AWS Config to read Amazon Simple Storage Service ( Amazon S3 ) objects, make sure that the same permissions are granted within the IAM role you use when setting up AWS Config . Otherwise, it may interfere with how AWS Control Tower operates. For more information about IAM roles for AWS Config , see [*Identity and Access Management for AWS Config*](https://docs.aws.amazon.com/config/latest/developerguide/security-iam.html) in the *AWS Config Developer Guide* .", - "title": "RoleARN", + "CognitoIdentityProviders": { + "items": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoIdentityProvider" + }, + "markdownDescription": "The Amazon Cognito user pools and their client IDs.", + "title": "CognitoIdentityProviders", + "type": "array" + }, + "CognitoStreams": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoStreams", + "markdownDescription": "Configuration options for configuring Amazon Cognito streams.", + "title": "CognitoStreams" + }, + "DeveloperProviderName": { + "markdownDescription": "The \"domain\" Amazon Cognito uses when referencing your users. This name acts as a placeholder that allows your backend and the Amazon Cognito service to communicate about the developer provider. For the `DeveloperProviderName` , you can use letters and periods (.), underscores (_), and dashes (-).\n\n*Minimum length* : 1\n\n*Maximum length* : 100", + "title": "DeveloperProviderName", + "type": "string" + }, + "IdentityPoolName": { + "markdownDescription": "The name of your Amazon Cognito identity pool.\n\n*Minimum length* : 1\n\n*Maximum length* : 128\n\n*Pattern* : `[\\w\\s+=,.@-]+`", + "title": "IdentityPoolName", "type": "string" + }, + "IdentityPoolTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to assign to the identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.", + "title": "IdentityPoolTags", + "type": "array" + }, + "OpenIdConnectProviderARNs": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the OpenID connect providers.", + "title": "OpenIdConnectProviderARNs", + "type": "array" + }, + "PushSync": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.PushSync", + "markdownDescription": "The configuration options to be applied to the identity pool.", + "title": "PushSync" + }, + "SamlProviderARNs": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the Security Assertion Markup Language (SAML) providers.", + "title": "SamlProviderARNs", + "type": "array" + }, + "SupportedLoginProviders": { + "markdownDescription": "Key-value pairs that map provider names to provider app IDs.", + "title": "SupportedLoginProviders", + "type": "object" } }, "required": [ - "RoleARN" + "AllowUnauthenticatedIdentities" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::ConfigurationRecorder" + "AWS::Cognito::IdentityPool" ], "type": "string" }, @@ -85861,122 +85389,72 @@ ], "type": "object" }, - "AWS::Config::ConfigurationRecorder.ExclusionByResourceTypes": { - "additionalProperties": false, - "properties": { - "ResourceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A comma-separated list of resource types to exclude from recording by the configuration recorder.", - "title": "ResourceTypes", - "type": "array" - } - }, - "required": [ - "ResourceTypes" - ], - "type": "object" - }, - "AWS::Config::ConfigurationRecorder.RecordingGroup": { + "AWS::Cognito::IdentityPool.CognitoIdentityProvider": { "additionalProperties": false, "properties": { - "AllSupported": { - "markdownDescription": "Specifies whether AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types.\n\nIf you set this field to `true` , when AWS Config adds support for a new resource type, AWS Config starts recording resources of that type automatically.\n\nIf you set this field to `true` , you cannot enumerate specific resource types to record in the `resourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) , or to exclude in the `resourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) .\n\n> *Region availability*\n> \n> Check [Resource Coverage by Region Availability](https://docs.aws.amazon.com/config/latest/developerguide/what-is-resource-config-coverage.html) to see if a resource type is supported in the AWS Region where you set up AWS Config .", - "title": "AllSupported", - "type": "boolean" - }, - "ExclusionByResourceTypes": { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.ExclusionByResourceTypes", - "markdownDescription": "An object that specifies how AWS Config excludes resource types from being recorded by the configuration recorder.\n\nTo use this option, you must set the `useOnly` field of [AWS::Config::ConfigurationRecorder RecordingStrategy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingstrategy.html) to `EXCLUSION_BY_RESOURCE_TYPES` .", - "title": "ExclusionByResourceTypes" - }, - "IncludeGlobalResourceTypes": { - "markdownDescription": "This option is a bundle which only applies to the global IAM resource types: IAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded by AWS Config in Regions where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:\n\n- Asia Pacific (Hyderabad)\n- Asia Pacific (Melbourne)\n- Canada West (Calgary)\n- Europe (Spain)\n- Europe (Zurich)\n- Israel (Tel Aviv)\n- Middle East (UAE)\n\n> *Aurora global clusters are recorded in all enabled Regions*\n> \n> The `AWS::RDS::GlobalCluster` resource type will be recorded in all supported AWS Config Regions where the configuration recorder is enabled, even if `IncludeGlobalResourceTypes` is set to `false` . The `IncludeGlobalResourceTypes` option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.\n> \n> If you do not want to record `AWS::RDS::GlobalCluster` in all enabled Regions, use one of the following recording strategies:\n> \n> - *Record all current and future resource types with exclusions* ( `EXCLUSION_BY_RESOURCE_TYPES` ), or\n> - *Record specific resource types* ( `INCLUSION_BY_RESOURCE_TYPES` ).\n> \n> For more information, see [Selecting Which Resources are Recorded](https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html#select-resources-all) in the *AWS Config developer guide* . > *IncludeGlobalResourceTypes and the exclusion recording strategy*\n> \n> The `IncludeGlobalResourceTypes` field has no impact on the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy. This means that the global IAM resource types ( IAM users, groups, roles, and customer managed policies) will not be automatically added as exclusions for `ExclusionByResourceTypes` when `IncludeGlobalResourceTypes` is set to `false` .\n> \n> The `IncludeGlobalResourceTypes` field should only be used to modify the `AllSupported` field, as the default for the `AllSupported` field is to record configuration changes for all supported resource types excluding the global IAM resource types. To include the global IAM resource types when `AllSupported` is set to `true` , make sure to set `IncludeGlobalResourceTypes` to `true` .\n> \n> To exclude the global IAM resource types for the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy, you need to manually add them to the `ResourceTypes` field of `ExclusionByResourceTypes` . > *Required and optional fields*\n> \n> Before you set this field to `true` , set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` . Optionally, you can set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `ALL_SUPPORTED_RESOURCE_TYPES` . > *Overriding fields*\n> \n> If you set this field to `false` but list global IAM resource types in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) , AWS Config will still record configuration changes for those specified resource types *regardless* of if you set the `IncludeGlobalResourceTypes` field to false.\n> \n> If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the `ResourceTypes` field in addition to setting the `IncludeGlobalResourceTypes` field to false.", - "title": "IncludeGlobalResourceTypes", - "type": "boolean" - }, - "RecordingStrategy": { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingStrategy", - "markdownDescription": "An object that specifies the recording strategy for the configuration recorder.\n\n- If you set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `ALL_SUPPORTED_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` . When AWS Config adds support for a new resource type, AWS Config automatically starts recording resources of that type.\n- If you set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `INCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for only the resource types you specify in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n- If you set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `EXCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types except the resource types that you specify to exclude from being recorded in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) .\n\n> *Required and optional fields*\n> \n> The `recordingStrategy` field is optional when you set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` .\n> \n> The `recordingStrategy` field is optional when you list resource types in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n> \n> The `recordingStrategy` field is required if you list resource types to exclude from recording in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) . > *Overriding fields*\n> \n> If you choose `EXCLUSION_BY_RESOURCE_TYPES` for the recording strategy, the `ExclusionByResourceTypes` field will override other properties in the request.\n> \n> For example, even if you set `IncludeGlobalResourceTypes` to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the `ResourceTypes` field of `ExclusionByResourceTypes` . > *Global resources types and the resource exclusion recording strategy*\n> \n> By default, if you choose the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy, when AWS Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, AWS Config starts recording resources of that type automatically.\n> \n> Unless specifically listed as exclusions, `AWS::RDS::GlobalCluster` will be recorded automatically in all supported AWS Config Regions were the configuration recorder is enabled.\n> \n> IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:\n> \n> - Asia Pacific (Hyderabad)\n> - Asia Pacific (Melbourne)\n> - Canada West (Calgary)\n> - Europe (Spain)\n> - Europe (Zurich)\n> - Israel (Tel Aviv)\n> - Middle East (UAE)", - "title": "RecordingStrategy" + "ClientId": { + "markdownDescription": "The client ID for the Amazon Cognito user pool.", + "title": "ClientId", + "type": "string" }, - "ResourceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A comma-separated list that specifies which resource types AWS Config records.\n\nFor a list of valid `ResourceTypes` values, see the *Resource Type Value* column in [Supported AWS resource Types](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources) in the *AWS Config developer guide* .\n\n> *Required and optional fields*\n> \n> Optionally, you can set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `INCLUSION_BY_RESOURCE_TYPES` .\n> \n> To record all configuration changes, set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` , and either omit this field or don't specify any resource types in this field. If you set the `AllSupported` field to `false` and specify values for `ResourceTypes` , when AWS Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group. > *Region availability*\n> \n> Before specifying a resource type for AWS Config to track, check [Resource Coverage by Region Availability](https://docs.aws.amazon.com/config/latest/developerguide/what-is-resource-config-coverage.html) to see if the resource type is supported in the AWS Region where you set up AWS Config . If a resource type is supported by AWS Config in at least one Region, you can enable the recording of that resource type in all Regions supported by AWS Config , even if the specified resource type is not supported in the AWS Region where you set up AWS Config .", - "title": "ResourceTypes", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Config::ConfigurationRecorder.RecordingMode": { - "additionalProperties": false, - "properties": { - "RecordingFrequency": { - "markdownDescription": "The default recording frequency that AWS Config uses to record configuration changes.\n\n> Daily recording cannot be specified for the following resource types:\n> \n> - `AWS::Config::ResourceCompliance`\n> - `AWS::Config::ConformancePackCompliance`\n> - `AWS::Config::ConfigurationRecorder`\n> \n> For the *allSupported* ( `ALL_SUPPORTED_RESOURCE_TYPES` ) recording strategy, these resource types will be set to Continuous recording.", - "title": "RecordingFrequency", + "ProviderName": { + "markdownDescription": "The provider name for an Amazon Cognito user pool. For example: `cognito-idp.us-east-2.amazonaws.com/us-east-2_123456789` .", + "title": "ProviderName", "type": "string" }, - "RecordingModeOverrides": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingModeOverride" - }, - "markdownDescription": "An array of `recordingModeOverride` objects for you to specify your overrides for the recording mode. The `recordingModeOverride` object in the `recordingModeOverrides` array consists of three fields: a `description` , the new `recordingFrequency` , and an array of `resourceTypes` to override.", - "title": "RecordingModeOverrides", - "type": "array" + "ServerSideTokenCheck": { + "markdownDescription": "TRUE if server-side token validation is enabled for the identity provider\u2019s token.\n\nAfter you set the `ServerSideTokenCheck` to TRUE for an identity pool, that identity pool checks with the integrated user pools to make sure the user has not been globally signed out or deleted before the identity pool provides an OIDC token or AWS credentials for the user.\n\nIf the user is signed out or deleted, the identity pool returns a 400 Not Authorized error.", + "title": "ServerSideTokenCheck", + "type": "boolean" } }, "required": [ - "RecordingFrequency" + "ClientId", + "ProviderName" ], "type": "object" }, - "AWS::Config::ConfigurationRecorder.RecordingModeOverride": { + "AWS::Cognito::IdentityPool.CognitoStreams": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description that you provide for the override.", - "title": "Description", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role Amazon Cognito can assume to publish to the stream. This role must grant access to Amazon Cognito (cognito-sync) to invoke `PutRecord` on your Amazon Cognito stream.", + "title": "RoleArn", "type": "string" }, - "RecordingFrequency": { - "markdownDescription": "The recording frequency that will be applied to all the resource types specified in the override.\n\n- Continuous recording allows you to record configuration changes continuously whenever a change occurs.\n- Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it\u2019s different from the previous CI recorded.\n\n> AWS Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.", - "title": "RecordingFrequency", + "StreamName": { + "markdownDescription": "The name of the Amazon Cognito stream to receive updates. This stream must be in the developer's account and in the same Region as the identity pool.", + "title": "StreamName", "type": "string" }, - "ResourceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A comma-separated list that specifies which resource types AWS Config includes in the override.\n\n> Daily recording cannot be specified for the following resource types:\n> \n> - `AWS::Config::ResourceCompliance`\n> - `AWS::Config::ConformancePackCompliance`\n> - `AWS::Config::ConfigurationRecorder`", - "title": "ResourceTypes", - "type": "array" + "StreamingStatus": { + "markdownDescription": "Status of the Amazon Cognito streams. Valid values are: `ENABLED` or `DISABLED` .", + "title": "StreamingStatus", + "type": "string" } }, - "required": [ - "RecordingFrequency", - "ResourceTypes" - ], "type": "object" }, - "AWS::Config::ConfigurationRecorder.RecordingStrategy": { + "AWS::Cognito::IdentityPool.PushSync": { "additionalProperties": false, "properties": { - "UseOnly": { - "markdownDescription": "The recording strategy for the configuration recorder.\n\n- If you set this option to `ALL_SUPPORTED_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` . When AWS Config adds support for a new resource type, AWS Config automatically starts recording resources of that type. For a list of supported resource types, see [Supported Resource Types](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources) in the *AWS Config developer guide* .\n- If you set this option to `INCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for only the resource types that you specify in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n- If you set this option to `EXCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) .\n\n> *Required and optional fields*\n> \n> The `recordingStrategy` field is optional when you set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` .\n> \n> The `recordingStrategy` field is optional when you list resource types in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n> \n> The `recordingStrategy` field is required if you list resource types to exclude from recording in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) . > *Overriding fields*\n> \n> If you choose `EXCLUSION_BY_RESOURCE_TYPES` for the recording strategy, the `ExclusionByResourceTypes` field will override other properties in the request.\n> \n> For example, even if you set `IncludeGlobalResourceTypes` to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the `ResourceTypes` field of `ExclusionByResourceTypes` . > *Global resource types and the exclusion recording strategy*\n> \n> By default, if you choose the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy, when AWS Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, AWS Config starts recording resources of that type automatically.\n> \n> Unless specifically listed as exclusions, `AWS::RDS::GlobalCluster` will be recorded automatically in all supported AWS Config Regions were the configuration recorder is enabled.\n> \n> IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:\n> \n> - Asia Pacific (Hyderabad)\n> - Asia Pacific (Melbourne)\n> - Canada West (Calgary)\n> - Europe (Spain)\n> - Europe (Zurich)\n> - Israel (Tel Aviv)\n> - Middle East (UAE)", - "title": "UseOnly", + "ApplicationArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The ARNs of the Amazon SNS platform applications that could be used by clients.", + "title": "ApplicationArns", + "type": "array" + }, + "RoleArn": { + "markdownDescription": "An IAM role configured to allow Amazon Cognito to call Amazon SNS on behalf of the developer.", + "title": "RoleArn", "type": "string" } }, - "required": [ - "UseOnly" - ], "type": "object" }, - "AWS::Config::ConformancePack": { + "AWS::Cognito::IdentityPoolPrincipalTag": { "additionalProperties": false, "properties": { "Condition": { @@ -86011,59 +85489,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ConformancePackInputParameters": { - "items": { - "$ref": "#/definitions/AWS::Config::ConformancePack.ConformancePackInputParameter" - }, - "markdownDescription": "A list of ConformancePackInputParameter objects.", - "title": "ConformancePackInputParameters", - "type": "array" - }, - "ConformancePackName": { - "markdownDescription": "Name of the conformance pack you want to create.", - "title": "ConformancePackName", - "type": "string" - }, - "DeliveryS3Bucket": { - "markdownDescription": "The name of the Amazon S3 bucket where AWS Config stores conformance pack templates.", - "title": "DeliveryS3Bucket", - "type": "string" - }, - "DeliveryS3KeyPrefix": { - "markdownDescription": "The prefix for the Amazon S3 bucket.", - "title": "DeliveryS3KeyPrefix", + "IdentityPoolId": { + "markdownDescription": "The identity pool that you want to associate with this principal tag map.", + "title": "IdentityPoolId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateBody": { - "markdownDescription": "A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.\n\n> You can only use a YAML template with two resource types: config rule ( `AWS::Config::ConfigRule` ) and a remediation action ( `AWS::Config::RemediationConfiguration` ).", - "title": "TemplateBody", + "IdentityProviderName": { + "markdownDescription": "The identity pool identity provider (IdP) that you want to associate with this principal tag map.", + "title": "IdentityProviderName", "type": "string" }, - "TemplateS3Uri": { - "markdownDescription": "Location of file containing the template body (s3://bucketname/prefix). The uri must point to the conformance pack template (max size: 300 KB) that is located in an Amazon S3 bucket.\n\n> You must have access to read Amazon S3 bucket.", - "title": "TemplateS3Uri", - "type": "string" + "PrincipalTags": { + "markdownDescription": "A JSON-formatted list of user claims and the principal tags that you want to associate with them. When Amazon Cognito requests credentials, it sets the value of the principal tag to the value of the user's claim.", + "title": "PrincipalTags", + "type": "object" }, - "TemplateSSMDocumentDetails": { - "$ref": "#/definitions/AWS::Config::ConformancePack.TemplateSSMDocumentDetails", - "markdownDescription": "An object that contains the name or Amazon Resource Name (ARN) of the AWS Systems Manager document (SSM document) and the version of the SSM document that is used to create a conformance pack.", - "title": "TemplateSSMDocumentDetails" + "UseDefaults": { + "markdownDescription": "Use a default set of mappings between claims and tags for this provider, instead of a custom map.", + "title": "UseDefaults", + "type": "boolean" } }, "required": [ - "ConformancePackName" + "IdentityPoolId", + "IdentityProviderName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::ConformancePack" + "AWS::Cognito::IdentityPoolPrincipalTag" ], "type": "string" }, @@ -86082,43 +85537,7 @@ ], "type": "object" }, - "AWS::Config::ConformancePack.ConformancePackInputParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "markdownDescription": "One part of a key-value pair.", - "title": "ParameterName", - "type": "string" - }, - "ParameterValue": { - "markdownDescription": "Another part of the key-value pair.", - "title": "ParameterValue", - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Config::ConformancePack.TemplateSSMDocumentDetails": { - "additionalProperties": false, - "properties": { - "DocumentName": { - "markdownDescription": "The name or Amazon Resource Name (ARN) of the SSM document to use to create a conformance pack. If you use the document name, AWS Config checks only your account and AWS Region for the SSM document.", - "title": "DocumentName", - "type": "string" - }, - "DocumentVersion": { - "markdownDescription": "The version of the SSM document to use to create a conformance pack. By default, AWS Config uses the latest version.\n\n> This field is optional.", - "title": "DocumentVersion", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::Connector": { + "AWS::Cognito::IdentityPoolRoleAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -86153,24 +85572,42 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectorConfiguration": { - "$ref": "#/definitions/AWS::Config::Connector.ConnectorConfiguration" + "IdentityPoolId": { + "markdownDescription": "An identity pool ID in the format `REGION:GUID` .", + "title": "IdentityPoolId", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "RoleMappings": { + "additionalProperties": false, + "markdownDescription": "How users for a specific identity provider are mapped to roles. This is a string to the `RoleMapping` object map. The string identifies the identity provider. For example: `graph.facebook.com` or `cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id` .\n\nIf the `IdentityProvider` field isn't provided in this object, the string is used as the identity provider name.\n\nFor more information, see the [RoleMapping property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html) .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping" + } }, - "type": "array" + "title": "RoleMappings", + "type": "object" + }, + "Roles": { + "additionalProperties": true, + "markdownDescription": "The map of the roles associated with this pool. For a given role, the key is either \"authenticated\" or \"unauthenticated\". The value is the role ARN.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Roles", + "type": "object" } }, "required": [ - "ConnectorConfiguration" + "IdentityPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::Connector" + "AWS::Cognito::IdentityPoolRoleAttachment" ], "type": "string" }, @@ -86189,135 +85626,85 @@ ], "type": "object" }, - "AWS::Config::Connector.AzureConnectorConfiguration": { + "AWS::Cognito::IdentityPoolRoleAttachment.MappingRule": { "additionalProperties": false, "properties": { - "ClientIdentifier": { + "Claim": { + "markdownDescription": "The claim name that must be present in the token. For example: \"isAdmin\" or \"paid\".", + "title": "Claim", "type": "string" }, - "TenantIdentifier": { + "MatchType": { + "markdownDescription": "The match condition that specifies how closely the claim value in the IdP token must match `Value` .\n\nValid values are: `Equals` , `Contains` , `StartsWith` , and `NotEqual` .", + "title": "MatchType", + "type": "string" + }, + "RoleARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role.", + "title": "RoleARN", + "type": "string" + }, + "Value": { + "markdownDescription": "A brief string that the claim must match. For example, \"paid\" or \"yes\".", + "title": "Value", "type": "string" } }, "required": [ - "ClientIdentifier", - "TenantIdentifier" + "Claim", + "MatchType", + "RoleARN", + "Value" ], "type": "object" }, - "AWS::Config::Connector.ConnectorConfiguration": { - "additionalProperties": false, - "properties": { - "Azure": { - "$ref": "#/definitions/AWS::Config::Connector.AzureConnectorConfiguration" - } - }, - "type": "object" - }, - "AWS::Config::DeliveryChannel": { + "AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": { "additionalProperties": false, "properties": { - "Condition": { + "AmbiguousRoleResolution": { + "markdownDescription": "If you specify Token or Rules as the `Type` , `AmbiguousRoleResolution` is required.\n\nSpecifies the action to be taken if either no rules match the claim value for the `Rules` type, or there is no `cognito:preferred_role` claim and there are multiple `cognito:roles` matches for the `Token` type.", + "title": "AmbiguousRoleResolution", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "IdentityProvider": { + "markdownDescription": "Identifier for the identity provider for which the role is mapped. For example: `graph.facebook.com` or `cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id (http://cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id)` . This is the identity provider that is used by the user for authentication.\n\nIf the identity provider property isn't provided, the key of the entry in the `RoleMappings` map is used as the identity provider.", + "title": "IdentityProvider", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigSnapshotDeliveryProperties": { - "$ref": "#/definitions/AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties", - "markdownDescription": "The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket.", - "title": "ConfigSnapshotDeliveryProperties" - }, - "Name": { - "markdownDescription": "A name for the delivery channel. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the delivery channel name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\nUpdates are not supported. To change the name, you must run two separate updates. In the first update, delete this resource, and then recreate it with a new name in the second update.", - "title": "Name", - "type": "string" - }, - "S3BucketName": { - "markdownDescription": "The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files.\n\nIf you specify a bucket that belongs to another AWS account , that bucket must have policies that grant access permissions to AWS Config . For more information, see [Permissions for the Amazon S3 Bucket](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy.html) in the *AWS Config Developer Guide* .", - "title": "S3BucketName", - "type": "string" - }, - "S3KeyPrefix": { - "markdownDescription": "The prefix for the specified Amazon S3 bucket.", - "title": "S3KeyPrefix", - "type": "string" - }, - "S3KmsKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service ( AWS ) AWS KMS key (KMS key) used to encrypt objects delivered by AWS Config . Must belong to the same Region as the destination S3 bucket.", - "title": "S3KmsKeyArn", - "type": "string" - }, - "SnsTopicARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.\n\nIf you choose a topic from another account, the topic must have policies that grant access permissions to AWS Config . For more information, see [Permissions for the Amazon SNS Topic](https://docs.aws.amazon.com/config/latest/developerguide/sns-topic-policy.html) in the *AWS Config Developer Guide* .", - "title": "SnsTopicARN", - "type": "string" - } - }, - "required": [ - "S3BucketName" - ], - "type": "object" + "RulesConfiguration": { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType", + "markdownDescription": "The rules to be used for mapping users to roles. If you specify \"Rules\" as the role-mapping type, RulesConfiguration is required.", + "title": "RulesConfiguration" }, "Type": { - "enum": [ - "AWS::Config::DeliveryChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "markdownDescription": "The role mapping type. Token will use `cognito:roles` and `cognito:preferred_role` claims from the Cognito identity provider token to map groups to roles. Rules will attempt to match claims from the token to map to a role.", + "title": "Type", "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": { + "AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": { "additionalProperties": false, "properties": { - "DeliveryFrequency": { - "markdownDescription": "The frequency with which AWS Config delivers configuration snapshots.", - "title": "DeliveryFrequency", - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.MappingRule" + }, + "markdownDescription": "The rules. You can specify up to 25 rules per identity provider.", + "title": "Rules", + "type": "array" } }, + "required": [ + "Rules" + ], "type": "object" }, - "AWS::Config::OrganizationConfigRule": { + "AWS::Cognito::LogDeliveryConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -86352,43 +85739,28 @@ "Properties": { "additionalProperties": false, "properties": { - "ExcludedAccounts": { + "LogConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.LogConfiguration" }, - "markdownDescription": "A comma-separated list of accounts excluded from organization AWS Config rule.", - "title": "ExcludedAccounts", + "markdownDescription": "A logging destination of a user pool. User pools can have multiple logging destinations for message-delivery and user-activity logs.", + "title": "LogConfigurations", "type": "array" }, - "OrganizationConfigRuleName": { - "markdownDescription": "The name that you assign to organization AWS Config rule.", - "title": "OrganizationConfigRuleName", + "UserPoolId": { + "markdownDescription": "The ID of the user pool where you configured logging.", + "title": "UserPoolId", "type": "string" - }, - "OrganizationCustomPolicyRuleMetadata": { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomPolicyRuleMetadata", - "markdownDescription": "An object that specifies metadata for your organization's AWS Config Custom Policy rule. The metadata includes the runtime system in use, which accounts have debug logging enabled, and other custom rule metadata, such as resource type, resource ID of AWS resource, and organization trigger types that initiate AWS Config to evaluate AWS resources against a rule.", - "title": "OrganizationCustomPolicyRuleMetadata" - }, - "OrganizationCustomRuleMetadata": { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata", - "markdownDescription": "An `OrganizationCustomRuleMetadata` object.", - "title": "OrganizationCustomRuleMetadata" - }, - "OrganizationManagedRuleMetadata": { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata", - "markdownDescription": "An `OrganizationManagedRuleMetadata` object.", - "title": "OrganizationManagedRuleMetadata" } }, "required": [ - "OrganizationConfigRuleName" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::OrganizationConfigRule" + "AWS::Cognito::LogDeliveryConfiguration" ], "type": "string" }, @@ -86407,194 +85779,71 @@ ], "type": "object" }, - "AWS::Config::OrganizationConfigRule.OrganizationCustomPolicyRuleMetadata": { + "AWS::Cognito::LogDeliveryConfiguration.CloudWatchLogsConfiguration": { "additionalProperties": false, "properties": { - "DebugLogDeliveryAccounts": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of accounts that you can enable debug logging for your organization AWS Config Custom Policy rule. List is null when debug logging is enabled for all accounts.", - "title": "DebugLogDeliveryAccounts", - "type": "array" - }, - "Description": { - "markdownDescription": "The description that you provide for your organization AWS Config Custom Policy rule.", - "title": "Description", - "type": "string" - }, - "InputParameters": { - "markdownDescription": "A string, in JSON format, that is passed to your organization AWS Config Custom Policy rule.", - "title": "InputParameters", - "type": "string" - }, - "MaximumExecutionFrequency": { - "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. Your AWS Config Custom Policy rule is triggered when AWS Config delivers the configuration snapshot. For more information, see `ConfigSnapshotDeliveryProperties` .", - "title": "MaximumExecutionFrequency", - "type": "string" - }, - "OrganizationConfigRuleTriggerTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The type of notification that initiates AWS Config to run an evaluation for a rule. For AWS Config Custom Policy rules, AWS Config supports change-initiated notification types:\n\n- `ConfigurationItemChangeNotification` - Initiates an evaluation when AWS Config delivers a configuration item as a result of a resource change.\n- `OversizedConfigurationItemChangeNotification` - Initiates an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.", - "title": "OrganizationConfigRuleTriggerTypes", - "type": "array" - }, - "PolicyText": { - "markdownDescription": "The policy definition containing the logic for your organization AWS Config Custom Policy rule.", - "title": "PolicyText", - "type": "string" - }, - "ResourceIdScope": { - "markdownDescription": "The ID of the AWS resource that was evaluated.", - "title": "ResourceIdScope", - "type": "string" - }, - "ResourceTypesScope": { - "items": { - "type": "string" - }, - "markdownDescription": "The type of the AWS resource that was evaluated.", - "title": "ResourceTypesScope", - "type": "array" - }, - "Runtime": { - "markdownDescription": "The runtime system for your organization AWS Config Custom Policy rules. Guard is a policy-as-code language that allows you to write policies that are enforced by AWS Config Custom Policy rules. For more information about Guard, see the [Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard) .", - "title": "Runtime", - "type": "string" - }, - "TagKeyScope": { - "markdownDescription": "One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.", - "title": "TagKeyScope", - "type": "string" - }, - "TagValueScope": { - "markdownDescription": "The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).", - "title": "TagValueScope", + "LogGroupArn": { + "markdownDescription": "The Amazon Resource Name (arn) of a CloudWatch Logs log group where your user pool sends logs. The log group must not be encrypted with AWS Key Management Service and must be in the same AWS account as your user pool.\n\nTo send logs to log groups with a resource policy of a size greater than 5120 characters, configure a log group with a path that starts with `/aws/vendedlogs` . For more information, see [Enabling logging from certain AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html) .", + "title": "LogGroupArn", "type": "string" } }, - "required": [ - "PolicyText", - "Runtime" - ], "type": "object" }, - "AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": { + "AWS::Cognito::LogDeliveryConfiguration.FirehoseConfiguration": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description that you provide for your organization AWS Config rule.", - "title": "Description", - "type": "string" - }, - "InputParameters": { - "markdownDescription": "A string, in JSON format, that is passed to your organization AWS Config rule Lambda function.", - "title": "InputParameters", - "type": "string" - }, - "LambdaFunctionArn": { - "markdownDescription": "The lambda function ARN.", - "title": "LambdaFunctionArn", - "type": "string" - }, - "MaximumExecutionFrequency": { - "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see `ConfigSnapshotDeliveryProperties` .\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.", - "title": "MaximumExecutionFrequency", - "type": "string" - }, - "OrganizationConfigRuleTriggerTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:\n\n- `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change.\n- `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.\n- `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `MaximumExecutionFrequency` .", - "title": "OrganizationConfigRuleTriggerTypes", - "type": "array" - }, - "ResourceIdScope": { - "markdownDescription": "The ID of the AWS resource that was evaluated.", - "title": "ResourceIdScope", - "type": "string" - }, - "ResourceTypesScope": { - "items": { - "type": "string" - }, - "markdownDescription": "The type of the AWS resource that was evaluated.", - "title": "ResourceTypesScope", - "type": "array" - }, - "TagKeyScope": { - "markdownDescription": "One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.", - "title": "TagKeyScope", - "type": "string" - }, - "TagValueScope": { - "markdownDescription": "The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).", - "title": "TagValueScope", + "StreamArn": { + "markdownDescription": "The ARN of an Amazon Data Firehose stream that's the destination for threat protection log export.", + "title": "StreamArn", "type": "string" } }, - "required": [ - "LambdaFunctionArn", - "OrganizationConfigRuleTriggerTypes" - ], "type": "object" }, - "AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": { + "AWS::Cognito::LogDeliveryConfiguration.LogConfiguration": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description that you provide for your organization AWS Config rule.", - "title": "Description", - "type": "string" - }, - "InputParameters": { - "markdownDescription": "A string, in JSON format, that is passed to your organization AWS Config rule Lambda function.", - "title": "InputParameters", - "type": "string" - }, - "MaximumExecutionFrequency": { - "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. This is for an AWS Config managed rule that is triggered at a periodic frequency.\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.", - "title": "MaximumExecutionFrequency", - "type": "string" + "CloudWatchLogsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.CloudWatchLogsConfiguration", + "markdownDescription": "Configuration for the CloudWatch log group destination of user pool detailed activity logging, or of user activity log export with advanced security features.", + "title": "CloudWatchLogsConfiguration" }, - "ResourceIdScope": { - "markdownDescription": "The ID of the AWS resource that was evaluated.", - "title": "ResourceIdScope", + "EventSource": { + "markdownDescription": "The source of events that your user pool sends for logging. To send error-level logs about user notification activity, set to `userNotification` . To send info-level logs about threat-protection user activity in user pools with the Plus feature plan, set to `userAuthEvents` .", + "title": "EventSource", "type": "string" }, - "ResourceTypesScope": { - "items": { - "type": "string" - }, - "markdownDescription": "The type of the AWS resource that was evaluated.", - "title": "ResourceTypesScope", - "type": "array" - }, - "RuleIdentifier": { - "markdownDescription": "For organization config managed rules, a predefined identifier from a list. For example, `IAM_PASSWORD_POLICY` is a managed rule. To reference a managed rule, see [Using AWS Config managed rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) .", - "title": "RuleIdentifier", - "type": "string" + "FirehoseConfiguration": { + "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.FirehoseConfiguration", + "markdownDescription": "Configuration for the Amazon Data Firehose stream destination of user activity log export with threat protection.", + "title": "FirehoseConfiguration" }, - "TagKeyScope": { - "markdownDescription": "One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.", - "title": "TagKeyScope", + "LogLevel": { + "markdownDescription": "The `errorlevel` selection of logs that a user pool sends for detailed activity logging. To send `userNotification` activity with [information about message delivery](https://docs.aws.amazon.com/cognito/latest/developerguide/exporting-quotas-and-usage.html) , choose `ERROR` with `CloudWatchLogsConfiguration` . To send `userAuthEvents` activity with user logs from threat protection with the Plus feature plan, choose `INFO` with one of `CloudWatchLogsConfiguration` , `FirehoseConfiguration` , or `S3Configuration` .", + "title": "LogLevel", "type": "string" }, - "TagValueScope": { - "markdownDescription": "The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).", - "title": "TagValueScope", + "S3Configuration": { + "$ref": "#/definitions/AWS::Cognito::LogDeliveryConfiguration.S3Configuration", + "markdownDescription": "Configuration for the Amazon S3 bucket destination of user activity log export with threat protection.", + "title": "S3Configuration" + } + }, + "type": "object" + }, + "AWS::Cognito::LogDeliveryConfiguration.S3Configuration": { + "additionalProperties": false, + "properties": { + "BucketArn": { + "markdownDescription": "The ARN of an Amazon S3 bucket that's the destination for threat protection log export.", + "title": "BucketArn", "type": "string" } }, - "required": [ - "RuleIdentifier" - ], "type": "object" }, - "AWS::Config::OrganizationConformancePack": { + "AWS::Cognito::ManagedLoginBranding": { "additionalProperties": false, "properties": { "Condition": { @@ -86629,62 +85878,48 @@ "Properties": { "additionalProperties": false, "properties": { - "ConformancePackInputParameters": { + "Assets": { "items": { - "$ref": "#/definitions/AWS::Config::OrganizationConformancePack.ConformancePackInputParameter" + "$ref": "#/definitions/AWS::Cognito::ManagedLoginBranding.AssetType" }, - "markdownDescription": "A list of `ConformancePackInputParameter` objects.", - "title": "ConformancePackInputParameters", + "markdownDescription": "An array of image files that you want to apply to roles like backgrounds, logos, and icons. Each object must also indicate whether it is for dark mode, light mode, or browser-adaptive mode.", + "title": "Assets", "type": "array" }, - "DeliveryS3Bucket": { - "markdownDescription": "The name of the Amazon S3 bucket where AWS Config stores conformance pack templates.\n\n> This field is optional.", - "title": "DeliveryS3Bucket", - "type": "string" - }, - "DeliveryS3KeyPrefix": { - "markdownDescription": "Any folder structure you want to add to an Amazon S3 bucket.\n\n> This field is optional.", - "title": "DeliveryS3KeyPrefix", + "ClientId": { + "markdownDescription": "The app client that you want to assign the branding style to. Each style is linked to an app client until you delete it.", + "title": "ClientId", "type": "string" }, - "ExcludedAccounts": { - "items": { - "type": "string" - }, - "markdownDescription": "A comma-separated list of accounts excluded from organization conformance pack.", - "title": "ExcludedAccounts", - "type": "array" - }, - "OrganizationConformancePackName": { - "markdownDescription": "The name you assign to an organization conformance pack.", - "title": "OrganizationConformancePackName", - "type": "string" + "ReturnMergedResources": { + "markdownDescription": "When `true` , returns values for branding options that are unchanged from Amazon Cognito defaults. When `false` or when you omit this parameter, returns only values that you customized in your branding style.", + "title": "ReturnMergedResources", + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Settings": { + "markdownDescription": "A JSON file, encoded as a `Document` type, with the the settings that you want to apply to your style.\n\nThe following components are not currently implemented and reserved for future use:\n\n- `signUp`\n- `instructions`\n- `sessionTimerDisplay`\n- `languageSelector` (for localization, see [Managed login localization)](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html#managed-login-localization)", + "title": "Settings", + "type": "object" }, - "TemplateBody": { - "markdownDescription": "A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.", - "title": "TemplateBody", - "type": "string" + "UseCognitoProvidedValues": { + "markdownDescription": "When true, applies the default branding style options. This option reverts to default style options that are managed by Amazon Cognito. You can modify them later in the branding editor.\n\nWhen you specify `true` for this option, you must also omit values for `Settings` and `Assets` in the request.", + "title": "UseCognitoProvidedValues", + "type": "boolean" }, - "TemplateS3Uri": { - "markdownDescription": "Location of file containing the template body. The uri must point to the conformance pack template (max size: 300 KB).", - "title": "TemplateS3Uri", + "UserPoolId": { + "markdownDescription": "The user pool where the branding style is assigned.", + "title": "UserPoolId", "type": "string" } }, "required": [ - "OrganizationConformancePackName" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::OrganizationConformancePack" + "AWS::Cognito::ManagedLoginBranding" ], "type": "string" }, @@ -86703,27 +85938,43 @@ ], "type": "object" }, - "AWS::Config::OrganizationConformancePack.ConformancePackInputParameter": { + "AWS::Cognito::ManagedLoginBranding.AssetType": { "additionalProperties": false, "properties": { - "ParameterName": { - "markdownDescription": "One part of a key-value pair.", - "title": "ParameterName", + "Bytes": { + "markdownDescription": "The image file, in Base64-encoded binary.", + "title": "Bytes", "type": "string" }, - "ParameterValue": { - "markdownDescription": "One part of a key-value pair.", - "title": "ParameterValue", + "Category": { + "markdownDescription": "The category that the image corresponds to in your managed login configuration. Managed login has asset categories for different types of logos, backgrounds, and icons.", + "title": "Category", + "type": "string" + }, + "ColorMode": { + "markdownDescription": "The display-mode target of the asset: light, dark, or browser-adaptive. For example, Amazon Cognito displays a dark-mode image only when the browser or application is in dark mode, but displays a browser-adaptive file in all contexts.", + "title": "ColorMode", + "type": "string" + }, + "Extension": { + "markdownDescription": "The file type of the image file.", + "title": "Extension", + "type": "string" + }, + "ResourceId": { + "markdownDescription": "The ID of the asset.", + "title": "ResourceId", "type": "string" } }, "required": [ - "ParameterName", - "ParameterValue" + "Category", + "ColorMode", + "Extension" ], "type": "object" }, - "AWS::Config::RemediationConfiguration": { + "AWS::Cognito::Terms": { "additionalProperties": false, "properties": { "Condition": { @@ -86758,67 +86009,55 @@ "Properties": { "additionalProperties": false, "properties": { - "Automatic": { - "markdownDescription": "The remediation is triggered automatically.", - "title": "Automatic", - "type": "boolean" - }, - "ConfigRuleName": { - "markdownDescription": "The name of the AWS Config rule.", - "title": "ConfigRuleName", + "ClientId": { + "markdownDescription": "The ID of the app client that the terms documents are assigned to.", + "title": "ClientId", "type": "string" }, - "ExecutionControls": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ExecutionControls", - "markdownDescription": "An ExecutionControls object.", - "title": "ExecutionControls" - }, - "MaximumAutomaticAttempts": { - "markdownDescription": "The maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.\n\nFor example, if you specify MaximumAutomaticAttempts as 5 with RetryAttemptSeconds as 50 seconds, AWS Config will put a RemediationException on your behalf for the failing resource after the 5th failed attempt within 50 seconds.", - "title": "MaximumAutomaticAttempts", - "type": "number" - }, - "Parameters": { - "markdownDescription": "An object of the RemediationParameterValue. For more information, see [RemediationParameterValue](https://docs.aws.amazon.com/config/latest/APIReference/API_RemediationParameterValue.html) .\n\n> The type is a map of strings to RemediationParameterValue.", - "title": "Parameters", - "type": "object" - }, - "ResourceType": { - "markdownDescription": "The type of a resource.", - "title": "ResourceType", + "Enforcement": { + "markdownDescription": "This parameter is reserved for future use and currently accepts one value.", + "title": "Enforcement", "type": "string" }, - "RetryAttemptSeconds": { - "markdownDescription": "Time window to determine whether or not to add a remediation exception to prevent infinite remediation attempts. If `MaximumAutomaticAttempts` remediation attempts have been made under `RetryAttemptSeconds` , a remediation exception will be added to the resource. If you do not select a number, the default is 60 seconds.\n\nFor example, if you specify `RetryAttemptSeconds` as 50 seconds and `MaximumAutomaticAttempts` as 5, AWS Config will run auto-remediations 5 times within 50 seconds before adding a remediation exception to the resource.", - "title": "RetryAttemptSeconds", - "type": "number" + "Links": { + "additionalProperties": true, + "markdownDescription": "A map of URLs to languages. For each localized language that will view the requested `TermsName` , assign a URL. A selection of `cognito:default` displays for all languages that don't have a language-specific URL.\n\nFor example, `\"cognito:default\": \"https://terms.example.com\", \"cognito:spanish\": \"https://terms.example.com/es\"` .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Links", + "type": "object" }, - "TargetId": { - "markdownDescription": "Target ID is the name of the SSM document.", - "title": "TargetId", + "TermsName": { + "markdownDescription": "The type and friendly name of the terms documents.", + "title": "TermsName", "type": "string" }, - "TargetType": { - "markdownDescription": "The type of the target. Target executes remediation. For example, SSM document.", - "title": "TargetType", + "TermsSource": { + "markdownDescription": "This parameter is reserved for future use and currently accepts one value.", + "title": "TermsSource", "type": "string" }, - "TargetVersion": { - "markdownDescription": "Version of the target. For example, version of the SSM document.\n\n> If you make backward incompatible changes to the SSM document, you must call PutRemediationConfiguration API again to ensure the remediations can run.", - "title": "TargetVersion", + "UserPoolId": { + "markdownDescription": "The ID of the user pool that contains the terms documents.", + "title": "UserPoolId", "type": "string" } }, "required": [ - "ConfigRuleName", - "TargetId", - "TargetType" + "Enforcement", + "Links", + "TermsName", + "TermsSource", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Config::RemediationConfiguration" + "AWS::Cognito::Terms" ], "type": "string" }, @@ -86837,34 +86076,7 @@ ], "type": "object" }, - "AWS::Config::RemediationConfiguration.ExecutionControls": { - "additionalProperties": false, - "properties": { - "SsmControls": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.SsmControls", - "markdownDescription": "A SsmControls object.", - "title": "SsmControls" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.SsmControls": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutionRatePercentage": { - "markdownDescription": "The maximum percentage of remediation actions allowed to run in parallel on the non-compliant resources for that specific rule. You can specify a percentage, such as 10%. The default value is 10.", - "title": "ConcurrentExecutionRatePercentage", - "type": "number" - }, - "ErrorPercentage": { - "markdownDescription": "The percentage of errors that are allowed before SSM stops running automations on non-compliant resources for that specific rule. You can specify a percentage of errors, for example 10%. If you do not specifiy a percentage, the default is 50%. For example, if you set the ErrorPercentage to 40% for 10 non-compliant resources, then SSM stops running the automations when the fifth error is received.", - "title": "ErrorPercentage", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Config::StoredQuery": { + "AWS::Cognito::UserPool": { "additionalProperties": false, "properties": { "Condition": { @@ -86899,146 +86111,187 @@ "Properties": { "additionalProperties": false, "properties": { - "QueryDescription": { - "markdownDescription": "A unique description for the query.", - "title": "QueryDescription", - "type": "string" - }, - "QueryExpression": { - "markdownDescription": "The expression of the query. For example, `SELECT resourceId, resourceType, supplementaryConfiguration.BucketVersioningConfiguration.status WHERE resourceType = 'AWS::S3::Bucket' AND supplementaryConfiguration.BucketVersioningConfiguration.status = 'Off'.`", - "title": "QueryExpression", - "type": "string" + "AccountRecoverySetting": { + "$ref": "#/definitions/AWS::Cognito::UserPool.AccountRecoverySetting", + "markdownDescription": "The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email.", + "title": "AccountRecoverySetting" }, - "QueryName": { - "markdownDescription": "The name of the query.", - "title": "QueryName", - "type": "string" + "AdminCreateUserConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPool.AdminCreateUserConfig", + "markdownDescription": "The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire.", + "title": "AdminCreateUserConfig" }, - "Tags": { + "AliasAttributes": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", + "markdownDescription": "Attributes supported as an alias for this user pool. For more information about alias attributes, see [Customizing sign-in attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases) .", + "title": "AliasAttributes", "type": "array" - } - }, - "required": [ - "QueryExpression", - "QueryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::StoredQuery" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Connect::AgentStatus": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" }, - { + "AutoVerifiedAttributes": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, + "markdownDescription": "The attributes that you want your user pool to automatically verify. For more information, see [Verifying contact information at sign-up](https://docs.aws.amazon.com/cognito/latest/developerguide/signing-up-users-in-your-app.html#allowing-users-to-sign-up-and-confirm-themselves) .", + "title": "AutoVerifiedAttributes", "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "The description of the agent status.", - "title": "Description", + }, + "DeletionProtection": { + "markdownDescription": "When active, `DeletionProtection` prevents accidental deletion of your user\npool. Before you can delete a user pool that you have protected against deletion, you\nmust deactivate this feature.\n\nWhen you try to delete a protected user pool in a `DeleteUserPool` API request, Amazon Cognito returns an `InvalidParameterException` error. To delete a protected user pool, send a new `DeleteUserPool` request after you deactivate deletion protection in an `UpdateUserPool` API request.", + "title": "DeletionProtection", "type": "string" }, - "DisplayOrder": { - "markdownDescription": "The display order of the agent status.", - "title": "DisplayOrder", - "type": "number" + "DeviceConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.DeviceConfiguration", + "markdownDescription": "The device-remembering configuration for a user pool. Device remembering or device tracking is a \"Remember me on this device\" option for user pools that perform authentication with the device key of a trusted device in the back end, instead of a user-provided MFA code. For more information about device authentication, see [Working with user devices in your user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-device-tracking.html) . A null value indicates that you have deactivated device remembering in your user pool.\n\n> When you provide a value for any `DeviceConfiguration` field, you activate the Amazon Cognito device-remembering feature. For more information, see [Working with devices](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-device-tracking.html) .", + "title": "DeviceConfiguration" }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "EmailAuthenticationMessage": { + "markdownDescription": "", + "title": "EmailAuthenticationMessage", "type": "string" }, - "Name": { - "markdownDescription": "The name of the agent status.", - "title": "Name", + "EmailAuthenticationSubject": { + "markdownDescription": "", + "title": "EmailAuthenticationSubject", "type": "string" }, - "ResetOrderNumber": { - "markdownDescription": "A number indicating the reset order of the agent status.", - "title": "ResetOrderNumber", - "type": "boolean" + "EmailConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.EmailConfiguration", + "markdownDescription": "The email configuration of your user pool. The email configuration type sets your preferred sending method, AWS Region, and sender for messages from your user pool.", + "title": "EmailConfiguration" }, - "State": { - "markdownDescription": "The state of the agent status.", - "title": "State", + "EmailVerificationMessage": { + "markdownDescription": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) .", + "title": "EmailVerificationMessage", "type": "string" }, - "Tags": { + "EmailVerificationSubject": { + "markdownDescription": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) .", + "title": "EmailVerificationSubject", + "type": "string" + }, + "EnabledMfas": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", + "markdownDescription": "Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values:\n\n- `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` .\n- `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool.\n- `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` .\n\nAllowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP`", + "title": "EnabledMfas", "type": "array" }, - "Type": { - "markdownDescription": "The type of agent status.", - "title": "Type", + "IssuerConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.IssuerConfiguration" + }, + "KeyConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.KeyConfiguration" + }, + "LambdaConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig", + "markdownDescription": "A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them.", + "title": "LambdaConfig" + }, + "MfaConfiguration": { + "markdownDescription": "Displays the state of multi-factor authentication (MFA) as on, off, or optional. When `ON` , all users must set up MFA before they can sign in. When `OPTIONAL` , your application must make a client-side determination of whether a user wants to register an MFA device. For user pools with adaptive authentication with threat protection, choose `OPTIONAL` .\n\nWhen `MfaConfiguration` is `OPTIONAL` , managed login doesn't automatically prompt users to set up MFA. Amazon Cognito generates MFA prompts in API responses and in managed login for users who have chosen and configured a preferred MFA factor.", + "title": "MfaConfiguration", + "type": "string" + }, + "Policies": { + "$ref": "#/definitions/AWS::Cognito::UserPool.Policies", + "markdownDescription": "A list of user pool policies. Contains the policy that sets password-complexity requirements.", + "title": "Policies" + }, + "Schema": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPool.SchemaAttribute" + }, + "markdownDescription": "An array of attributes for the new user pool. You can add custom attributes and modify the properties of default attributes. The specifications in this parameter set the required attributes in your user pool. For more information, see [Working with user attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html) .", + "title": "Schema", + "type": "array" + }, + "SmsAuthenticationMessage": { + "markdownDescription": "The contents of the SMS authentication message.", + "title": "SmsAuthenticationMessage", + "type": "string" + }, + "SmsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.SmsConfiguration", + "markdownDescription": "The settings for your Amazon Cognito user pool to send SMS messages with Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the AWS Region that you want, the Amazon Cognito user pool uses an AWS Identity and Access Management (IAM) role in your AWS account . For more information see [SMS message settings](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sms-settings.html) .", + "title": "SmsConfiguration" + }, + "SmsVerificationMessage": { + "markdownDescription": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) .", + "title": "SmsVerificationMessage", + "type": "string" + }, + "UserAttributeUpdateSettings": { + "$ref": "#/definitions/AWS::Cognito::UserPool.UserAttributeUpdateSettings", + "markdownDescription": "The settings for updates to user attributes. These settings include the property `AttributesRequireVerificationBeforeUpdate` ,\na user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For\nmore information, see [Verifying updates to email addresses and phone numbers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates) .", + "title": "UserAttributeUpdateSettings" + }, + "UserPoolAddOns": { + "$ref": "#/definitions/AWS::Cognito::UserPool.UserPoolAddOns", + "markdownDescription": "Contains settings for activation of threat protection, including the operating mode and additional authentication types. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to potentially unwanted traffic to your user pool, set to `ENFORCED` .\n\nFor more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) .", + "title": "UserPoolAddOns" + }, + "UserPoolName": { + "markdownDescription": "A friendly name for your user pool.", + "title": "UserPoolName", + "type": "string" + }, + "UserPoolTags": { + "additionalProperties": true, + "markdownDescription": "The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "UserPoolTags", + "type": "object" + }, + "UserPoolTier": { + "markdownDescription": "The user pool [feature plan](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html) , or tier. This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection. Defaults to `ESSENTIALS` .", + "title": "UserPoolTier", + "type": "string" + }, + "UsernameAttributes": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies whether a user can use an email address or phone number as a username when they sign up.", + "title": "UsernameAttributes", + "type": "array" + }, + "UsernameConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.UsernameConfiguration", + "markdownDescription": "Sets the case sensitivity option for sign-in usernames. When `CaseSensitive` is `false` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `false` as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user.\n\nWhen `CaseSensitive` is `true` (case sensitive), Amazon Cognito interprets `USERNAME` and `UserName` as distinct users.\n\nThis configuration is immutable after you set it.", + "title": "UsernameConfiguration" + }, + "VerificationMessageTemplate": { + "$ref": "#/definitions/AWS::Cognito::UserPool.VerificationMessageTemplate", + "markdownDescription": "The template for the verification message that your user pool delivers to users who set an email address or phone number attribute.\n\nSet the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error.", + "title": "VerificationMessageTemplate" + }, + "WebAuthnFactorConfiguration": { + "type": "string" + }, + "WebAuthnRelyingPartyID": { + "markdownDescription": "Sets or displays the authentication domain, typically your user pool domain, that passkey providers must use as a relying party (RP) in their configuration.\n\nUnder the following conditions, the passkey relying party ID must be the fully-qualified domain name of your custom domain:\n\n- The user pool is configured for passkey authentication.\n- The user pool has a custom domain, whether or not it also has a prefix domain.\n- Your application performs authentication with managed login or the classic hosted UI.", + "title": "WebAuthnRelyingPartyID", + "type": "string" + }, + "WebAuthnUserVerification": { + "markdownDescription": "When `required` , users can only register and sign in users with passkeys that are capable of [user verification](https://docs.aws.amazon.com/https://www.w3.org/TR/webauthn-2/#enum-userVerificationRequirement) . When `preferred` , your user pool doesn't require the use of authenticators with user verification but encourages it.", + "title": "WebAuthnUserVerification", "type": "string" } }, - "required": [ - "InstanceArn", - "Name", - "State" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::AgentStatus" + "AWS::Cognito::UserPool" ], "type": "string" }, @@ -87052,12 +86305,579 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Connect::ApprovedOrigin": { + "AWS::Cognito::UserPool.AccountRecoverySetting": { + "additionalProperties": false, + "properties": { + "RecoveryMechanisms": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPool.RecoveryOption" + }, + "markdownDescription": "The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators.", + "title": "RecoveryMechanisms", + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.AdminCreateUserConfig": { + "additionalProperties": false, + "properties": { + "AllowAdminCreateUserOnly": { + "markdownDescription": "The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the `SignUp` operation.", + "title": "AllowAdminCreateUserOnly", + "type": "boolean" + }, + "InviteMessageTemplate": { + "$ref": "#/definitions/AWS::Cognito::UserPool.InviteMessageTemplate", + "markdownDescription": "The template for the welcome message to new users. This template must include the `{####}` temporary password placeholder if you are creating users with passwords. If your users don't have passwords, you can omit the placeholder.\n\nSee also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) .", + "title": "InviteMessageTemplate" + }, + "UnusedAccountValidityDays": { + "markdownDescription": "This parameter is no longer in use.\n\nThe password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter.\n\nThe default value for this parameter is 7.", + "title": "UnusedAccountValidityDays", + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.AdvancedSecurityAdditionalFlows": { + "additionalProperties": false, + "properties": { + "CustomAuthMode": { + "markdownDescription": "The operating mode of threat protection in custom authentication with [Custom authentication challenge Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", + "title": "CustomAuthMode", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomEmailSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.", + "title": "LambdaArn", + "type": "string" + }, + "LambdaVersion": { + "markdownDescription": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.\n\nYou must use a `LambdaVersion` of `V1_0` with a custom sender function.", + "title": "LambdaVersion", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomSMSSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.", + "title": "LambdaArn", + "type": "string" + }, + "LambdaVersion": { + "markdownDescription": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.\n\nYou must use a `LambdaVersion` of `V1_0` with a custom sender function.", + "title": "LambdaVersion", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.DeviceConfiguration": { + "additionalProperties": false, + "properties": { + "ChallengeRequiredOnNewDevice": { + "markdownDescription": "When true, a remembered device can sign in with device authentication instead of SMS and time-based one-time password (TOTP) factors for multi-factor authentication (MFA).\n\n> Whether or not `ChallengeRequiredOnNewDevice` is true, users who sign in with devices that have not been confirmed or remembered must still provide a second factor in a user pool that requires MFA.", + "title": "ChallengeRequiredOnNewDevice", + "type": "boolean" + }, + "DeviceOnlyRememberedOnUserPrompt": { + "markdownDescription": "When true, Amazon Cognito doesn't automatically remember a user's device when your app sends a `ConfirmDevice` API request. In your app, create a prompt for your user to choose whether they want to remember their device. Return the user's choice in an `UpdateDeviceStatus` API request.\n\nWhen `DeviceOnlyRememberedOnUserPrompt` is `false` , Amazon Cognito immediately remembers devices that you register in a `ConfirmDevice` API request.", + "title": "DeviceOnlyRememberedOnUserPrompt", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.EmailConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationSet": { + "markdownDescription": "The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:\n\n- **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch\n- **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets.", + "title": "ConfigurationSet", + "type": "string" + }, + "EmailSendingAccount": { + "markdownDescription": "Specifies whether Amazon Cognito uses its built-in functionality to send your users email messages, or uses your Amazon Simple Email Service email configuration. Specify one of the following values:\n\n- **COGNITO_DEFAULT** - When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. For typical production environments, the default email limit is less than the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email configuration.\n\nTo look up the email delivery limit for the default option, see [Limits](https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html) in the *Amazon Cognito Developer Guide* .\n\nThe default FROM address is `no-reply@verificationemail.com` . To customize the FROM address, provide the Amazon Resource Name (ARN) of an Amazon SES verified email address for the `SourceArn` parameter.\n- **DEVELOPER** - When Amazon Cognito emails your users, it uses your Amazon SES configuration. Amazon Cognito calls Amazon SES on your behalf to send email from your verified email address. When you use this option, the email delivery limits are the same limits that apply to your Amazon SES verified email address in your AWS account .\n\nIf you use this option, provide the ARN of an Amazon SES verified email address for the `SourceArn` parameter.\n\nBefore Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a *service-linked role* , which is a type of role in your AWS account . This role contains the permissions that allow you to access Amazon SES and send email messages from your email address. For more information about the service-linked role that Amazon Cognito creates, see [Using Service-Linked Roles for Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/using-service-linked-roles.html) in the *Amazon Cognito Developer Guide* .", + "title": "EmailSendingAccount", + "type": "string" + }, + "From": { + "markdownDescription": "Either the sender\u2019s email address or the sender\u2019s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email.", + "title": "From", + "type": "string" + }, + "ReplyToEmailAddress": { + "markdownDescription": "The destination to which the receiver of the email should reply.", + "title": "ReplyToEmailAddress", + "type": "string" + }, + "SourceArn": { + "markdownDescription": "The ARN of a verified email address or an address from a verified domain in Amazon SES. You can set a `SourceArn` email from a verified domain only with an API request. You can set a verified email address, but not an address in a verified domain, in the Amazon Cognito console. Amazon Cognito uses the email address that you provide in one of the following ways, depending on the value that you specify for the `EmailSendingAccount` parameter:\n\n- If you specify `COGNITO_DEFAULT` , Amazon Cognito uses this address as the custom FROM address when it emails your users using its built-in email account.\n- If you specify `DEVELOPER` , Amazon Cognito emails your users with this address by calling Amazon SES on your behalf.\n\nThe Region value of the `SourceArn` parameter must indicate a supported AWS Region of your user pool. Typically, the Region in the `SourceArn` and the user pool Region are the same. For more information, see [Amazon SES email configuration regions](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-email.html#user-pool-email-developer-region-mapping) in the [Amazon Cognito Developer Guide](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html) .", + "title": "SourceArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.EumsSmsConfiguration": { + "additionalProperties": false, + "properties": { + "CallerArn": { + "type": "string" + }, + "ConfigurationSetName": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "InEntityId": { + "type": "string" + }, + "InTemplateId": { + "type": "string" + }, + "OriginationIdentity": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "CallerArn" + ], + "type": "object" + }, + "AWS::Cognito::UserPool.InboundFederation": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.InviteMessageTemplate": { + "additionalProperties": false, + "properties": { + "EmailMessage": { + "markdownDescription": "The message template for email messages. EmailMessage is allowed only if [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is DEVELOPER.", + "title": "EmailMessage", + "type": "string" + }, + "EmailSubject": { + "markdownDescription": "The subject line for email messages. EmailSubject is allowed only if [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is DEVELOPER.", + "title": "EmailSubject", + "type": "string" + }, + "SMSMessage": { + "markdownDescription": "The message template for SMS messages.", + "title": "SMSMessage", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.IssuerConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.KeyConfiguration": { + "additionalProperties": false, + "properties": { + "KeyType": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.LambdaConfig": { + "additionalProperties": false, + "properties": { + "CreateAuthChallenge": { + "markdownDescription": "The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", + "title": "CreateAuthChallenge", + "type": "string" + }, + "CustomEmailSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender", + "markdownDescription": "The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic.", + "title": "CustomEmailSender" + }, + "CustomMessage": { + "markdownDescription": "A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user.", + "title": "CustomMessage", + "type": "string" + }, + "CustomSMSSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender", + "markdownDescription": "The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic.", + "title": "CustomSMSSender" + }, + "DefineAuthChallenge": { + "markdownDescription": "The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", + "title": "DefineAuthChallenge", + "type": "string" + }, + "InboundFederation": { + "$ref": "#/definitions/AWS::Cognito::UserPool.InboundFederation" + }, + "KMSKeyID": { + "markdownDescription": "The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers.", + "title": "KMSKeyID", + "type": "string" + }, + "PostAuthentication": { + "markdownDescription": "The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in.", + "title": "PostAuthentication", + "type": "string" + }, + "PostConfirmation": { + "markdownDescription": "The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number.", + "title": "PostConfirmation", + "type": "string" + }, + "PreAuthentication": { + "markdownDescription": "The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events.", + "title": "PreAuthentication", + "type": "string" + }, + "PreSignUp": { + "markdownDescription": "The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests.", + "title": "PreSignUp", + "type": "string" + }, + "PreTokenGeneration": { + "markdownDescription": "The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool.\n\nSet this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` .", + "title": "PreTokenGeneration", + "type": "string" + }, + "PreTokenGenerationConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPool.PreTokenGenerationConfig", + "markdownDescription": "The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` .", + "title": "PreTokenGenerationConfig" + }, + "UserMigration": { + "markdownDescription": "The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet.", + "title": "UserMigration", + "type": "string" + }, + "VerifyAuthChallengeResponse": { + "markdownDescription": "The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) .", + "title": "VerifyAuthChallengeResponse", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.NumberAttributeConstraints": { + "additionalProperties": false, + "properties": { + "MaxValue": { + "markdownDescription": "The maximum length of a number attribute value. Must be a number less than or equal to `2^1023` , represented as a string with a length of 131072 characters or fewer.", + "title": "MaxValue", + "type": "string" + }, + "MinValue": { + "markdownDescription": "The minimum value of an attribute that is of the number data type.", + "title": "MinValue", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.PasswordPolicy": { + "additionalProperties": false, + "properties": { + "MinimumLength": { + "markdownDescription": "The minimum length of the password in the policy that you have set. This value can't be less than 6.", + "title": "MinimumLength", + "type": "number" + }, + "PasswordHistorySize": { + "markdownDescription": "The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` .", + "title": "PasswordHistorySize", + "type": "number" + }, + "RequireLowercase": { + "markdownDescription": "The requirement in a password policy that users must include at least one lowercase letter in their password.", + "title": "RequireLowercase", + "type": "boolean" + }, + "RequireNumbers": { + "markdownDescription": "The requirement in a password policy that users must include at least one number in their password.", + "title": "RequireNumbers", + "type": "boolean" + }, + "RequireSymbols": { + "markdownDescription": "The requirement in a password policy that users must include at least one symbol in their password.", + "title": "RequireSymbols", + "type": "boolean" + }, + "RequireUppercase": { + "markdownDescription": "The requirement in a password policy that users must include at least one uppercase letter in their password.", + "title": "RequireUppercase", + "type": "boolean" + }, + "TemporaryPasswordValidityDays": { + "markdownDescription": "The number of days a temporary password is valid in the password policy. If the user doesn't sign in during this time, an administrator must reset their password. Defaults to `7` . If you submit a value of `0` , Amazon Cognito treats it as a null value and sets `TemporaryPasswordValidityDays` to its default value.\n\n> When you set `TemporaryPasswordValidityDays` for a user pool, you can no longer set a value for the legacy `UnusedAccountValidityDays` parameter in that user pool.", + "title": "TemporaryPasswordValidityDays", + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.Policies": { + "additionalProperties": false, + "properties": { + "PasswordPolicy": { + "$ref": "#/definitions/AWS::Cognito::UserPool.PasswordPolicy", + "markdownDescription": "The password policy settings for a user pool, including complexity, history, and length requirements.", + "title": "PasswordPolicy" + }, + "SignInPolicy": { + "$ref": "#/definitions/AWS::Cognito::UserPool.SignInPolicy", + "markdownDescription": "The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.", + "title": "SignInPolicy" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.PreTokenGenerationConfig": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.\n\nThis parameter and the `PreTokenGeneration` property of `LambdaConfig` have the same value. For new instances of pre token generation triggers, set `LambdaArn` .", + "title": "LambdaArn", + "type": "string" + }, + "LambdaVersion": { + "markdownDescription": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.", + "title": "LambdaVersion", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.RecoveryOption": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The recovery method that this object sets a recovery option for.", + "title": "Name", + "type": "string" + }, + "Priority": { + "markdownDescription": "Your priority preference for using the specified attribute in account recovery. The highest priority is `1` .", + "title": "Priority", + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.SchemaAttribute": { + "additionalProperties": false, + "properties": { + "AttributeDataType": { + "markdownDescription": "The data format of the values for your attribute. When you choose an `AttributeDataType` , Amazon Cognito validates the input against the data type. A custom attribute value in your user's ID token is always a string, for example `\"custom:isMember\" : \"true\"` or `\"custom:YearsAsMember\" : \"12\"` .", + "title": "AttributeDataType", + "type": "string" + }, + "DeveloperOnlyAttribute": { + "markdownDescription": "> You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . \n\nSpecifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes.", + "title": "DeveloperOnlyAttribute", + "type": "boolean" + }, + "Mutable": { + "markdownDescription": "Specifies whether the value of the attribute can be changed.\n\nAny user pool attribute whose value you map from an IdP attribute must be mutable, with a parameter value of `true` . Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If an attribute is immutable, Amazon Cognito throws an error when it attempts to update the attribute. For more information, see [Specifying Identity Provider Attribute Mappings for Your User Pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html) .", + "title": "Mutable", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of your user pool attribute. When you create or update a user pool, adding a schema attribute creates a custom or developer-only attribute. When you add an attribute with a `Name` value of `MyAttribute` , Amazon Cognito creates the custom attribute `custom:MyAttribute` . When `DeveloperOnlyAttribute` is `true` , Amazon Cognito creates your attribute as `dev:MyAttribute` . In an operation that describes a user pool, Amazon Cognito returns this value as `value` for standard attributes, `custom:value` for custom attributes, and `dev:value` for developer-only attributes..", + "title": "Name", + "type": "string" + }, + "NumberAttributeConstraints": { + "$ref": "#/definitions/AWS::Cognito::UserPool.NumberAttributeConstraints", + "markdownDescription": "Specifies the constraints for an attribute of the number type.", + "title": "NumberAttributeConstraints" + }, + "Required": { + "markdownDescription": "Specifies whether a user pool attribute is required. If the attribute is required and the user doesn't provide a value, registration or sign-in will fail.", + "title": "Required", + "type": "boolean" + }, + "StringAttributeConstraints": { + "$ref": "#/definitions/AWS::Cognito::UserPool.StringAttributeConstraints", + "markdownDescription": "Specifies the constraints for an attribute of the string type.", + "title": "StringAttributeConstraints" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.SignInPolicy": { + "additionalProperties": false, + "properties": { + "AllowedFirstAuthFactors": { + "items": { + "type": "string" + }, + "markdownDescription": "The sign-in methods that a user pool supports as the first factor. You can permit users to start authentication with a standard username and password, or with other one-time password and hardware factors.\n\nSupports values of `EMAIL_OTP` , `SMS_OTP` , `WEB_AUTHN` and `PASSWORD` ,", + "title": "AllowedFirstAuthFactors", + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.SmsConfiguration": { + "additionalProperties": false, + "properties": { + "EumsSms": { + "$ref": "#/definitions/AWS::Cognito::UserPool.EumsSmsConfiguration" + }, + "ExternalId": { + "markdownDescription": "The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` .\n\nFor more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) .", + "title": "ExternalId", + "type": "string" + }, + "SnsCallerArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS caller. This is the ARN of the IAM role in your AWS account that Amazon Cognito will use to send SMS messages. SMS messages are subject to a [spending limit](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html) .", + "title": "SnsCallerArn", + "type": "string" + }, + "SnsRegion": { + "markdownDescription": "The AWS Region to use with Amazon SNS integration. You can choose the same Region as your user pool, or a supported *Legacy Amazon SNS alternate Region* .\n\nAmazon Cognito resources in the Asia Pacific (Seoul) AWS Region must use your Amazon SNS configuration in the Asia Pacific (Tokyo) Region. For more information, see [SMS message settings for Amazon Cognito user pools](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sms-settings.html) .", + "title": "SnsRegion", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.StringAttributeConstraints": { + "additionalProperties": false, + "properties": { + "MaxLength": { + "markdownDescription": "The maximum length of a string attribute value. Must be a number less than or equal to `2^1023` , represented as a string with a length of 131072 characters or fewer.", + "title": "MaxLength", + "type": "string" + }, + "MinLength": { + "markdownDescription": "The minimum length of a string attribute value.", + "title": "MinLength", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.UserAttributeUpdateSettings": { + "additionalProperties": false, + "properties": { + "AttributesRequireVerificationBeforeUpdate": { + "items": { + "type": "string" + }, + "markdownDescription": "Requires that your user verifies their email address, phone number, or both before Amazon Cognito updates the value of that attribute. When you update a user attribute that has this option activated, Amazon Cognito sends a verification message to the new phone number or email address. Amazon Cognito doesn\u2019t change the value of the attribute until your user responds to the verification message and confirms the new value.\n\nWhen `AttributesRequireVerificationBeforeUpdate` is false, your user pool doesn't require that your users verify attribute changes before Amazon Cognito updates them. In a user pool where `AttributesRequireVerificationBeforeUpdate` is false, API operations that change attribute values can immediately update a user\u2019s `email` or `phone_number` attribute.", + "title": "AttributesRequireVerificationBeforeUpdate", + "type": "array" + } + }, + "required": [ + "AttributesRequireVerificationBeforeUpdate" + ], + "type": "object" + }, + "AWS::Cognito::UserPool.UserPoolAddOns": { + "additionalProperties": false, + "properties": { + "AdvancedSecurityAdditionalFlows": { + "$ref": "#/definitions/AWS::Cognito::UserPool.AdvancedSecurityAdditionalFlows", + "markdownDescription": "Threat protection configuration options for additional authentication types in your user pool, including custom authentication.", + "title": "AdvancedSecurityAdditionalFlows" + }, + "AdvancedSecurityMode": { + "markdownDescription": "The operating mode of threat protection for standard authentication types in your user pool, including username-password and secure remote password (SRP) authentication.", + "title": "AdvancedSecurityMode", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.UsernameConfiguration": { + "additionalProperties": false, + "properties": { + "CaseSensitive": { + "markdownDescription": "Specifies whether user name case sensitivity will be applied for all users in the user pool through Amazon Cognito APIs. For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, users can sign in as the same user when they enter a different capitalization of their user name.\n\nValid values include:\n\n- **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as \u201cUserName\u201d. This is the default value.\n- **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute.", + "title": "CaseSensitive", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.VerificationMessageTemplate": { + "additionalProperties": false, + "properties": { + "DefaultEmailOption": { + "markdownDescription": "The configuration of verification emails to contain a clickable link or a verification code.\n\nFor link, your template body must contain link text in the format `{##Click here##}` . \"Click here\" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` .", + "title": "DefaultEmailOption", + "type": "string" + }, + "EmailMessage": { + "markdownDescription": "The template for email messages that Amazon Cognito sends to your users. You can set an `EmailMessage` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", + "title": "EmailMessage", + "type": "string" + }, + "EmailMessageByLink": { + "markdownDescription": "The email message template for sending a confirmation link to the user. You can set an `EmailMessageByLink` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", + "title": "EmailMessageByLink", + "type": "string" + }, + "EmailSubject": { + "markdownDescription": "The subject line for the email message template. You can set an `EmailSubject` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", + "title": "EmailSubject", + "type": "string" + }, + "EmailSubjectByLink": { + "markdownDescription": "The subject line for the email message template for sending a confirmation link to the user. You can set an `EmailSubjectByLink` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration.", + "title": "EmailSubjectByLink", + "type": "string" + }, + "SmsMessage": { + "markdownDescription": "The template for SMS messages that Amazon Cognito sends to your users.", + "title": "SmsMessage", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolClient": { "additionalProperties": false, "properties": { "Condition": { @@ -87092,26 +86912,154 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `100`", - "title": "InstanceId", + "AccessTokenValidity": { + "markdownDescription": "The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with\ntheir access token for 10 hours.\n\nThe default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your access\ntokens are valid for one hour.", + "title": "AccessTokenValidity", + "type": "number" + }, + "AllowedOAuthFlows": { + "items": { + "type": "string" + }, + "markdownDescription": "The OAuth grant types that you want your app client to generate for clients in managed login authentication. To create an app client that generates client credentials grants, you must add `client_credentials` as the only allowed OAuth flow.\n\n- **code** - Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the `/oauth2/token` endpoint.\n- **implicit** - Issue the access token, and the ID token when scopes like `openid` and `profile` are requested, directly to your user.\n- **client_credentials** - Issue the access token from the `/oauth2/token` endpoint directly to a non-person user, authorized by a combination of the client ID and client secret.", + "title": "AllowedOAuthFlows", + "type": "array" + }, + "AllowedOAuthFlowsUserPoolClient": { + "markdownDescription": "Set to `true` to use OAuth 2.0 authorization server features in your app client.\n\nThis parameter must have a value of `true` before you can configure the following features in your app client.\n\n- `CallBackURLs` : Callback URLs.\n- `LogoutURLs` : Sign-out redirect URLs.\n- `AllowedOAuthScopes` : OAuth 2.0 scopes.\n- `AllowedOAuthFlows` : Support for authorization code, implicit, and client credentials OAuth 2.0 grants.\n\nTo use authorization server features, configure one of these features in the Amazon Cognito console or set `AllowedOAuthFlowsUserPoolClient` to `true` in a `CreateUserPoolClient` or `UpdateUserPoolClient` API request. If you don't set a value for `AllowedOAuthFlowsUserPoolClient` in a request with the AWS CLI or SDKs, it defaults to `false` . When `false` , only SDK-based API sign-in is permitted.", + "title": "AllowedOAuthFlowsUserPoolClient", + "type": "boolean" + }, + "AllowedOAuthScopes": { + "items": { + "type": "string" + }, + "markdownDescription": "The OAuth, OpenID Connect (OIDC), and custom scopes that you want to permit your app client to authorize access with. Scopes govern access control to user pool self-service API operations, user data from the `userInfo` endpoint, and third-party APIs. Scope values include `phone` , `email` , `openid` , and `profile` . The `aws.cognito.signin.user.admin` scope authorizes user self-service operations. Custom scopes with resource servers authorize access to external APIs.", + "title": "AllowedOAuthScopes", + "type": "array" + }, + "AnalyticsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolClient.AnalyticsConfiguration", + "markdownDescription": "The user pool analytics configuration for collecting metrics and sending them to your Amazon Pinpoint campaign.\n\nIn AWS Regions where Amazon Pinpoint isn't available, user pools might not have access to analytics or might be configurable with campaigns in the US East (N. Virginia) Region. For more information, see [Using Amazon Pinpoint analytics](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-pinpoint-integration.html) .", + "title": "AnalyticsConfiguration" + }, + "AuthSessionValidity": { + "markdownDescription": "Amazon Cognito creates a session token for each API request in an authentication flow. `AuthSessionValidity` is the duration, in minutes, of that session token. Your user pool native user must respond to each authentication challenge before the session expires.", + "title": "AuthSessionValidity", + "type": "number" + }, + "CallbackURLs": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of allowed redirect, or callback, URLs for managed login authentication. These URLs are the paths where you want to send your users' browsers after they complete authentication with managed login or a third-party IdP. Typically, callback URLs are the home of an application that uses OAuth or OIDC libraries to process authentication outcomes.\n\nA redirect URI must meet the following requirements:\n\n- Be an absolute URI.\n- Be registered with the authorization server. Amazon Cognito doesn't accept authorization requests with `redirect_uri` values that aren't in the list of `CallbackURLs` that you provide in this parameter.\n- Not include a fragment component.\n\nSee [OAuth 2.0 - Redirection Endpoint](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2) .\n\nAmazon Cognito requires HTTPS over HTTP except for callback URLs to `http://localhost` , `http://127.0.0.1` and `http://[::1]` . These callback URLs are for testing purposes only. You can specify custom TCP ports for your callback URLs.\n\nApp callback URLs such as `myapp://example` are also supported.", + "title": "CallbackURLs", + "type": "array" + }, + "ClientName": { + "markdownDescription": "A friendly name for the app client that you want to create.", + "title": "ClientName", "type": "string" }, - "Origin": { - "markdownDescription": "Domain name to be added to the allow-list of the instance.\n\n*Maximum* : `267`", - "title": "Origin", + "DefaultRedirectURI": { + "markdownDescription": "The default redirect URI. In app clients with one assigned IdP, replaces `redirect_uri` in authentication requests. Must be in the `CallbackURLs` list.", + "title": "DefaultRedirectURI", + "type": "string" + }, + "EnablePropagateAdditionalUserContextData": { + "markdownDescription": "When `true` , your application can include additional `UserContextData` in authentication requests. This data includes the IP address, and contributes to analysis by threat protection features. For more information about propagation of user context data, see [Adding session data to API requests](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-adaptive-authentication.html#user-pool-settings-adaptive-authentication-device-fingerprint) . If you don\u2019t include this parameter, you can't send the source IP address to Amazon Cognito threat protection features. You can only activate `EnablePropagateAdditionalUserContextData` in an app client that has a client secret.", + "title": "EnablePropagateAdditionalUserContextData", + "type": "boolean" + }, + "EnableTokenRevocation": { + "markdownDescription": "Activates or deactivates token revocation.\n\nIf you don't include this parameter, token revocation is automatically activated for the new user pool client.", + "title": "EnableTokenRevocation", + "type": "boolean" + }, + "ExplicitAuthFlows": { + "items": { + "type": "string" + }, + "markdownDescription": "The [authentication flows](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow-methods.html) that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.\n\n> If you don't specify a value for `ExplicitAuthFlows` , your app client supports `ALLOW_REFRESH_TOKEN_AUTH` , `ALLOW_USER_SRP_AUTH` , and `ALLOW_CUSTOM_AUTH` . \n\nThe values for authentication flow options include the following.\n\n- `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` .\n\nTo activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.\n- `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.\n- `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication.\n- `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.\n- `ALLOW_USER_SRP_AUTH` : Enable SRP-based authentication.\n- `ALLOW_REFRESH_TOKEN_AUTH` : Enable authflow to refresh tokens.\n\nIn some environments, you will see the values `ADMIN_NO_SRP_AUTH` , `CUSTOM_AUTH_FLOW_ONLY` , or `USER_PASSWORD_AUTH` . You can't assign these legacy `ExplicitAuthFlows` values to user pool clients at the same time as values that begin with `ALLOW_` ,\nlike `ALLOW_USER_SRP_AUTH` .", + "title": "ExplicitAuthFlows", + "type": "array" + }, + "GenerateSecret": { + "markdownDescription": "When `true` , generates a client secret for the app client. Client secrets are used with server-side and machine-to-machine applications. Client secrets are automatically generated; you can't specify a secret value. For more information, see [App client types](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-client-apps.html#user-pool-settings-client-app-client-types) .", + "title": "GenerateSecret", + "type": "boolean" + }, + "IdTokenValidity": { + "markdownDescription": "The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for `IdTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours.\n\nThe default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your ID\ntokens are valid for one hour.", + "title": "IdTokenValidity", + "type": "number" + }, + "LogoutURLs": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of allowed logout URLs for managed login authentication. When you pass `logout_uri` and `client_id` parameters to `/logout` , Amazon Cognito signs out your user and redirects them to the logout URL. This parameter describes the URLs that you want to be the permitted targets of `logout_uri` . A typical use of these URLs is when a user selects \"Sign out\" and you redirect them to your public homepage. For more information, see [Logout endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/logout-endpoint.html) .", + "title": "LogoutURLs", + "type": "array" + }, + "PreventUserExistenceErrors": { + "markdownDescription": "Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool.\n\nValid values include:\n\n- `ENABLED` - This prevents user existence-related errors.\n- `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented.\n\nDefaults to `LEGACY` when you don't provide a value.", + "title": "PreventUserExistenceErrors", + "type": "string" + }, + "ReadAttributes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information.\n\nWhen you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes.", + "title": "ReadAttributes", + "type": "array" + }, + "RefreshTokenRotation": { + "$ref": "#/definitions/AWS::Cognito::UserPoolClient.RefreshTokenRotation", + "markdownDescription": "The configuration of your app client for refresh token rotation. When enabled, your app client issues new ID, access, and refresh tokens when users renew their sessions with refresh tokens. When disabled, token refresh issues only ID and access tokens.", + "title": "RefreshTokenRotation" + }, + "RefreshTokenValidity": { + "markdownDescription": "The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session\nand retrieve new access and ID tokens for 10 days.\n\nThe default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your refresh\ntokens are valid for 30 days.", + "title": "RefreshTokenValidity", + "type": "number" + }, + "SupportedIdentityProviders": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: `COGNITO` , `Facebook` , `Google` , `SignInWithApple` , and `LoginWithAmazon` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example `MySAMLIdP` or `MyOIDCIdP` .\n\nThis parameter sets the IdPs that [managed login](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html) will display on the login page for your app client. The removal of `COGNITO` from this list doesn't prevent authentication operations for local users with the user pools API in an AWS SDK. The only way to prevent SDK-based authentication is to block access with a [AWS WAF rule](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-waf.html) .", + "title": "SupportedIdentityProviders", + "type": "array" + }, + "TokenValidityUnits": { + "$ref": "#/definitions/AWS::Cognito::UserPoolClient.TokenValidityUnits", + "markdownDescription": "The units that validity times are represented in. The default unit for refresh tokens is days, and the default for ID and access tokens are hours.", + "title": "TokenValidityUnits" + }, + "UserPoolId": { + "markdownDescription": "The ID of the user pool where you want to create an app client.", + "title": "UserPoolId", "type": "string" + }, + "WriteAttributes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of user attributes that you want your app client to have write access to. After your user authenticates in your app, their access token authorizes them to set or modify their own attribute value for any attribute in this list.\n\nWhen you don't specify the `WriteAttributes` for your app client, your app can write the values of the Standard attributes of your user pool. When your user pool has write access to these default attributes, `WriteAttributes` doesn't return any information. Amazon Cognito only populates `WriteAttributes` in the API response if you have specified your own custom set of write attributes.\n\nIf your app client allows users to sign in through an IdP, this array must include all attributes that you have mapped to IdP attributes. Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If your app client does not have write access to a mapped attribute, Amazon Cognito throws an error when it tries to update the attribute. For more information, see [Specifying IdP Attribute Mappings for Your user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html) .", + "title": "WriteAttributes", + "type": "array" } }, "required": [ - "InstanceId", - "Origin" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::ApprovedOrigin" + "AWS::Cognito::UserPoolClient" ], "type": "string" }, @@ -87130,7 +87078,75 @@ ], "type": "object" }, - "AWS::Connect::ContactFlow": { + "AWS::Cognito::UserPoolClient.AnalyticsConfiguration": { + "additionalProperties": false, + "properties": { + "ApplicationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications", + "title": "ApplicationArn", + "type": "string" + }, + "ApplicationId": { + "markdownDescription": "Your Amazon Pinpoint project ID.", + "title": "ApplicationId", + "type": "string" + }, + "ExternalId": { + "markdownDescription": "The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint.", + "title": "ExternalId", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics.", + "title": "RoleArn", + "type": "string" + }, + "UserDataShared": { + "markdownDescription": "If `UserDataShared` is `true` , Amazon Cognito includes user data in the events that it publishes to Amazon Pinpoint analytics.", + "title": "UserDataShared", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolClient.RefreshTokenRotation": { + "additionalProperties": false, + "properties": { + "Feature": { + "markdownDescription": "The state of refresh token rotation for the current app client.", + "title": "Feature", + "type": "string" + }, + "RetryGracePeriodSeconds": { + "markdownDescription": "When you request a token refresh with `GetTokensFromRefreshToken` , the original refresh token that you're rotating out can remain valid for a period of time of up to 60 seconds. This allows for client-side retries. When `RetryGracePeriodSeconds` is `0` , the grace period is disabled and a successful request immediately invalidates the submitted refresh token.", + "title": "RetryGracePeriodSeconds", + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolClient.TokenValidityUnits": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "markdownDescription": "A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day.", + "title": "AccessToken", + "type": "string" + }, + "IdToken": { + "markdownDescription": "A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day.", + "title": "IdToken", + "type": "string" + }, + "RefreshToken": { + "markdownDescription": "A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years.", + "title": "RefreshToken", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolDomain": { "additionalProperties": false, "properties": { "Condition": { @@ -87165,56 +87181,39 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "markdownDescription": "The content of the flow.\n\nFor more information, see [Connect Customer Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html) in the *Connect Customer Administrator Guide* .", - "title": "Content", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the flow.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Connect Customer instance.", - "title": "InstanceArn", - "type": "string" + "CustomDomainConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType", + "markdownDescription": "The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM.\n\nWhen you create a custom domain, the passkey RP ID defaults to the custom domain. If you had a prefix domain active, this will cause passkey integration for your prefix domain to stop working due to a mismatch in RP ID. To keep the prefix domain passkey integration working, you can explicitly set RP ID to the prefix domain.", + "title": "CustomDomainConfig" }, - "Name": { - "markdownDescription": "The name of the flow.", - "title": "Name", + "Domain": { + "markdownDescription": "The name of the domain that you want to update. For custom domains, this is the fully-qualified domain name, for example `auth.example.com` . For prefix domains, this is the prefix alone, such as `myprefix` .", + "title": "Domain", "type": "string" }, - "State": { - "markdownDescription": "The state of the flow.", - "title": "State", - "type": "string" + "ManagedLoginVersion": { + "markdownDescription": "A version number that indicates the state of managed login for your domain. Version `1` is hosted UI (classic). Version `2` is the newer managed login with the branding editor. For more information, see [Managed login](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html) .", + "title": "ManagedLoginVersion", + "type": "number" }, - "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" + "Routing": { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.RoutingType" }, - "Type": { - "markdownDescription": "The type of the flow. For descriptions of the available types, see [Choose a flow type](https://docs.aws.amazon.com/connect/latest/adminguide/create-contact-flow.html#contact-flow-types) in the *Amazon Connect Administrator Guide* .", - "title": "Type", + "UserPoolId": { + "markdownDescription": "The ID of the user pool that is associated with the domain you're updating.", + "title": "UserPoolId", "type": "string" } }, "required": [ - "Content", - "InstanceArn", - "Name", - "Type" + "Domain", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::ContactFlow" + "AWS::Cognito::UserPoolDomain" ], "type": "string" }, @@ -87233,7 +87232,46 @@ ], "type": "object" }, - "AWS::Connect::ContactFlowModule": { + "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an Certificate Manager SSL certificate. You use this certificate for the subdomain of your custom domain.", + "title": "CertificateArn", + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolDomain.FailoverType": { + "additionalProperties": false, + "properties": { + "PrimaryRoute53HealthCheckId": { + "type": "string" + }, + "SecondaryRegion": { + "type": "string" + } + }, + "required": [ + "PrimaryRoute53HealthCheckId", + "SecondaryRegion" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolDomain.RoutingType": { + "additionalProperties": false, + "properties": { + "Failover": { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.FailoverType" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -87268,60 +87306,40 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "markdownDescription": "The content of the flow module.", - "title": "Content", + "Description": { + "markdownDescription": "A description of the group that you're creating.", + "title": "Description", "type": "string" }, - "Description": { - "markdownDescription": "The description of the flow module.", - "title": "Description", - "type": "string" - }, - "ExternalInvocationConfiguration": { - "$ref": "#/definitions/AWS::Connect::ContactFlowModule.ExternalInvocationConfiguration", - "markdownDescription": "The external invocation configuration for the flow module", - "title": "ExternalInvocationConfiguration" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Connect Customer instance.", - "title": "InstanceArn", + "GroupName": { + "markdownDescription": "A name for the group. This name must be unique in your user pool.", + "title": "GroupName", "type": "string" }, - "Name": { - "markdownDescription": "The name of the flow module.", - "title": "Name", - "type": "string" + "Precedence": { + "markdownDescription": "A non-negative integer value that specifies the precedence of this group relative to the other groups that a user can belong to in the user pool. Zero is the highest precedence value. Groups with lower `Precedence` values take precedence over groups with higher or null `Precedence` values. If a user belongs to two or more groups, it is the group with the lowest precedence value whose role ARN is given in the user's tokens for the `cognito:roles` and `cognito:preferred_role` claims.\n\nTwo groups can have the same `Precedence` value. If this happens, neither group takes precedence over the other. If two groups with the same `Precedence` have the same role ARN, that role is used in the `cognito:preferred_role` claim in tokens for users in each group. If the two groups have different role ARNs, the `cognito:preferred_role` claim isn't set in users' tokens.\n\nThe default `Precedence` value is null. The maximum `Precedence` value is `2^31-1` .", + "title": "Precedence", + "type": "number" }, - "Settings": { - "markdownDescription": "The configuration settings for the flow module.", - "title": "Settings", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the IAM role that you want to associate with the group. A group role primarily declares a preferred role for the credentials that you get from an identity pool. Amazon Cognito ID tokens have a `cognito:preferred_role` claim that presents the highest-precedence group that a user belongs to. Both ID and access tokens also contain a `cognito:groups` claim that list all the groups that a user is a member of.", + "title": "RoleArn", "type": "string" }, - "State": { - "markdownDescription": "The state of the flow module.", - "title": "State", + "UserPoolId": { + "markdownDescription": "The ID of the user pool where you want to create a user group.", + "title": "UserPoolId", "type": "string" - }, - "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": [ - "Content", - "InstanceArn", - "Name" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::ContactFlowModule" + "AWS::Cognito::UserPoolGroup" ], "type": "string" }, @@ -87340,18 +87358,7 @@ ], "type": "object" }, - "AWS::Connect::ContactFlowModule.ExternalInvocationConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "Enable external invocation.", - "title": "Enabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Connect::ContactFlowModuleAlias": { + "AWS::Cognito::UserPoolIdentityProvider": { "additionalProperties": false, "properties": { "Condition": { @@ -87386,29 +87393,63 @@ "Properties": { "additionalProperties": false, "properties": { - "ContactFlowModuleId": { - "type": "string" + "AttributeMapping": { + "additionalProperties": true, + "markdownDescription": "A mapping of IdP attributes to standard and custom user pool attributes. Specify a user pool attribute as the key of the key-value pair, and the IdP attribute claim name as the value.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "AttributeMapping", + "type": "object" }, - "ContactFlowModuleVersion": { - "type": "number" + "IdpIdentifiers": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of IdP identifiers, for example `\"IdPIdentifiers\": [ \"MyIdP\", \"MyIdP2\" ]` . Identifiers are friendly names that you can pass in the `idp_identifier` query parameter of requests to the [Authorize endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html) to silently redirect to sign-in with the associated IdP. Identifiers in a domain format also enable the use of [email-address matching with SAML providers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managing-saml-idp-naming.html) .", + "title": "IdpIdentifiers", + "type": "array" }, - "Description": { + "ProviderDetails": { + "additionalProperties": true, + "markdownDescription": "The scopes, URLs, and identifiers for your external identity provider. The following\nexamples describe the provider detail keys for each IdP type. These values and their\nschema are subject to change. Social IdP `authorize_scopes` values must match\nthe values listed here.\n\n- **OpenID Connect (OIDC)** - Amazon Cognito accepts the following elements when it can't discover endpoint URLs from `oidc_issuer` : `attributes_url` , `authorize_url` , `jwks_uri` , `token_url` .\n\nCreate or update request: `\"ProviderDetails\": { \"attributes_request_method\": \"GET\", \"attributes_url\": \"https://auth.example.com/userInfo\", \"authorize_scopes\": \"openid profile email\", \"authorize_url\": \"https://auth.example.com/authorize\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"jwks_uri\": \"https://auth.example.com/.well-known/jwks.json\", \"oidc_issuer\": \"https://auth.example.com\", \"token_url\": \"https://example.com/token\" }`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_request_method\": \"GET\", \"attributes_url\": \"https://auth.example.com/userInfo\", \"attributes_url_add_attributes\": \"false\", \"authorize_scopes\": \"openid profile email\", \"authorize_url\": \"https://auth.example.com/authorize\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"jwks_uri\": \"https://auth.example.com/.well-known/jwks.json\", \"oidc_issuer\": \"https://auth.example.com\", \"token_url\": \"https://example.com/token\" }`\n- **SAML** - Create or update request with Metadata URL: `\"ProviderDetails\": { \"IDPInit\": \"true\", \"IDPSignout\": \"true\", \"EncryptedResponses\" : \"true\", \"MetadataURL\": \"https://auth.example.com/sso/saml/metadata\", \"RequestSigningAlgorithm\": \"rsa-sha256\" }`\n\nCreate or update request with Metadata file: `\"ProviderDetails\": { \"IDPInit\": \"true\", \"IDPSignout\": \"true\", \"EncryptedResponses\" : \"true\", \"MetadataFile\": \"[metadata XML]\", \"RequestSigningAlgorithm\": \"rsa-sha256\" }`\n\nThe value of `MetadataFile` must be the plaintext metadata document with all quote (\") characters escaped by backslashes.\n\nDescribe response: `\"ProviderDetails\": { \"IDPInit\": \"true\", \"IDPSignout\": \"true\", \"EncryptedResponses\" : \"true\", \"ActiveEncryptionCertificate\": \"[certificate]\", \"MetadataURL\": \"https://auth.example.com/sso/saml/metadata\", \"RequestSigningAlgorithm\": \"rsa-sha256\", \"SLORedirectBindingURI\": \"https://auth.example.com/slo/saml\", \"SSORedirectBindingURI\": \"https://auth.example.com/sso/saml\" }`\n- **LoginWithAmazon** - Create or update request: `\"ProviderDetails\": { \"authorize_scopes\": \"profile postal_code\", \"client_id\": \"amzn1.application-oa2-client.1example23456789\", \"client_secret\": \"provider-app-client-secret\"`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_url\": \"https://api.amazon.com/user/profile\", \"attributes_url_add_attributes\": \"false\", \"authorize_scopes\": \"profile postal_code\", \"authorize_url\": \"https://www.amazon.com/ap/oa\", \"client_id\": \"amzn1.application-oa2-client.1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"token_request_method\": \"POST\", \"token_url\": \"https://api.amazon.com/auth/o2/token\" }`\n- **Google** - Create or update request: `\"ProviderDetails\": { \"authorize_scopes\": \"email profile openid\", \"client_id\": \"1example23456789.apps.googleusercontent.com\", \"client_secret\": \"provider-app-client-secret\" }`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_url\": \"https://people.googleapis.com/v1/people/me?personFields=\", \"attributes_url_add_attributes\": \"true\", \"authorize_scopes\": \"email profile openid\", \"authorize_url\": \"https://accounts.google.com/o/oauth2/v2/auth\", \"client_id\": \"1example23456789.apps.googleusercontent.com\", \"client_secret\": \"provider-app-client-secret\", \"oidc_issuer\": \"https://accounts.google.com\", \"token_request_method\": \"POST\", \"token_url\": \"https://www.googleapis.com/oauth2/v4/token\" }`\n- **SignInWithApple** - Create or update request: `\"ProviderDetails\": { \"authorize_scopes\": \"email name\", \"client_id\": \"com.example.cognito\", \"private_key\": \"1EXAMPLE\", \"key_id\": \"2EXAMPLE\", \"team_id\": \"3EXAMPLE\" }`\n\nDescribe response: `\"ProviderDetails\": { \"attributes_url_add_attributes\": \"false\", \"authorize_scopes\": \"email name\", \"authorize_url\": \"https://appleid.apple.com/auth/authorize\", \"client_id\": \"com.example.cognito\", \"key_id\": \"1EXAMPLE\", \"oidc_issuer\": \"https://appleid.apple.com\", \"team_id\": \"2EXAMPLE\", \"token_request_method\": \"POST\", \"token_url\": \"https://appleid.apple.com/auth/token\" }`\n- **Facebook** - Create or update request: `\"ProviderDetails\": { \"api_version\": \"v17.0\", \"authorize_scopes\": \"public_profile, email\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\" }`\n\nDescribe response: `\"ProviderDetails\": { \"api_version\": \"v17.0\", \"attributes_url\": \"https://graph.facebook.com/v17.0/me?fields=\", \"attributes_url_add_attributes\": \"true\", \"authorize_scopes\": \"public_profile, email\", \"authorize_url\": \"https://www.facebook.com/v17.0/dialog/oauth\", \"client_id\": \"1example23456789\", \"client_secret\": \"provider-app-client-secret\", \"token_request_method\": \"GET\", \"token_url\": \"https://graph.facebook.com/v17.0/oauth/access_token\" }`", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ProviderDetails", + "type": "object" + }, + "ProviderName": { + "markdownDescription": "The name that you want to assign to the IdP. You can pass the identity provider name in the `identity_provider` query parameter of requests to the [Authorize endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html) to silently redirect to sign-in with the associated IdP.", + "title": "ProviderName", "type": "string" }, - "Name": { + "ProviderType": { + "markdownDescription": "The type of IdP that you want to add. Amazon Cognito supports OIDC, SAML 2.0, Login With Amazon, Sign In With Apple, Google, and Facebook IdPs.", + "title": "ProviderType", + "type": "string" + }, + "UserPoolId": { + "markdownDescription": "The Id of the user pool where you want to create an IdP.", + "title": "UserPoolId", "type": "string" } }, "required": [ - "ContactFlowModuleId", - "ContactFlowModuleVersion", - "Name" + "ProviderDetails", + "ProviderName", + "ProviderType", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::ContactFlowModuleAlias" + "AWS::Cognito::UserPoolIdentityProvider" ], "type": "string" }, @@ -87427,7 +87468,7 @@ ], "type": "object" }, - "AWS::Connect::ContactFlowModuleVersion": { + "AWS::Cognito::UserPoolRegionalConfigurationAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -87462,21 +87503,39 @@ "Properties": { "additionalProperties": false, "properties": { - "ContactFlowModuleId": { + "EmailConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.EmailConfiguration" + }, + "LambdaConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.LambdaConfig" + }, + "SmsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.SmsConfiguration" + }, + "Status": { "type": "string" }, - "Description": { + "UserPoolId": { "type": "string" + }, + "UserPoolTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "ContactFlowModuleId" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::ContactFlowModuleVersion" + "AWS::Cognito::UserPoolRegionalConfigurationAttachment" ], "type": "string" }, @@ -87495,79 +87554,175 @@ ], "type": "object" }, - "AWS::Connect::ContactFlowVersion": { + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomEmailSender": { "additionalProperties": false, "properties": { - "Condition": { + "LambdaArn": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomSMSSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.EmailConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationSet": { + "type": "string" }, - "Metadata": { - "type": "object" + "EmailSendingAccount": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContactFlowId": { - "markdownDescription": "The identifier of the flow.", - "title": "ContactFlowId", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the flow version.", - "title": "Description", - "type": "string" - } - }, - "required": [ - "ContactFlowId" - ], - "type": "object" + "From": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Connect::ContactFlowVersion" - ], + "ReplyToEmailAddress": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.EumsSmsConfiguration": { + "additionalProperties": false, + "properties": { + "CallerArn": { + "type": "string" + }, + "ConfigurationSetName": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "InEntityId": { + "type": "string" + }, + "InTemplateId": { + "type": "string" + }, + "OriginationIdentity": { + "type": "string" + }, + "Region": { "type": "string" } }, "required": [ - "Type", - "Properties" + "CallerArn" ], "type": "object" }, - "AWS::Connect::DataLakeAssociation": { + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.InboundFederation": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.LambdaConfig": { + "additionalProperties": false, + "properties": { + "CreateAuthChallenge": { + "type": "string" + }, + "CustomEmailSender": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomEmailSender" + }, + "CustomMessage": { + "type": "string" + }, + "CustomSMSSender": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomSMSSender" + }, + "DefineAuthChallenge": { + "type": "string" + }, + "InboundFederation": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.InboundFederation" + }, + "KMSKeyID": { + "type": "string" + }, + "PostAuthentication": { + "type": "string" + }, + "PostConfirmation": { + "type": "string" + }, + "PreAuthentication": { + "type": "string" + }, + "PreSignUp": { + "type": "string" + }, + "PreTokenGeneration": { + "type": "string" + }, + "PreTokenGenerationConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.PreTokenGenerationConfig" + }, + "UserMigration": { + "type": "string" + }, + "VerifyAuthChallengeResponse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.PreTokenGenerationConfig": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRegionalConfigurationAttachment.SmsConfiguration": { + "additionalProperties": false, + "properties": { + "EumsSms": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment.EumsSmsConfiguration" + }, + "ExternalId": { + "type": "string" + }, + "SnsCallerArn": { + "type": "string" + }, + "SnsRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolReplica": { "additionalProperties": false, "properties": { "Condition": { @@ -87602,25 +87757,31 @@ "Properties": { "additionalProperties": false, "properties": { - "DataSetId": { + "RegionName": { "type": "string" }, - "InstanceId": { + "UserPoolId": { "type": "string" }, - "TargetAccountId": { - "type": "string" + "UserPoolTagsAtCreate": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "DataSetId", - "InstanceId" + "RegionName", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::DataLakeAssociation" + "AWS::Cognito::UserPoolReplica" ], "type": "string" }, @@ -87639,7 +87800,7 @@ ], "type": "object" }, - "AWS::Connect::DataTable": { + "AWS::Cognito::UserPoolResourceServer": { "additionalProperties": false, "properties": { "Condition": { @@ -87674,57 +87835,40 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "An optional description of the data table's purpose and contents.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "Identifier": { + "markdownDescription": "A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier.\n\nAmazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens.", + "title": "Identifier", "type": "string" }, "Name": { - "markdownDescription": "The human-readable name of the data table. Must be unique within the instance and conform to Connect naming standards.", + "markdownDescription": "A friendly name for the resource server.", "title": "Name", "type": "string" }, - "Status": { - "markdownDescription": "The current status of the data table. One of PUBLISHED or SAVED.", - "title": "Status", - "type": "string" - }, - "Tags": { + "Scopes": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" }, - "markdownDescription": "Key-value pairs for attribute based access control (TBAC or ABAC) and organization.", - "title": "Tags", + "markdownDescription": "A list of scopes. Each scope is a map with keys `ScopeName` and `ScopeDescription` .", + "title": "Scopes", "type": "array" }, - "TimeZone": { - "markdownDescription": "The IANA timezone identifier used when resolving time based dynamic values. Required even if no time slices are specified.", - "title": "TimeZone", - "type": "string" - }, - "ValueLockLevel": { - "markdownDescription": "The data level that concurrent value edits are locked on. One of DATA_TABLE, PRIMARY_VALUE, ATTRIBUTE, VALUE, and NONE. Determines how concurrent edits are handled when multiple users attempt to modify values simultaneously.", - "title": "ValueLockLevel", + "UserPoolId": { + "markdownDescription": "The ID of the user pool where you want to create a resource server.", + "title": "UserPoolId", "type": "string" } }, "required": [ - "InstanceArn", + "Identifier", "Name", - "Status", - "TimeZone", - "ValueLockLevel" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::DataTable" + "AWS::Cognito::UserPoolResourceServer" ], "type": "string" }, @@ -87743,18 +87887,27 @@ ], "type": "object" }, - "AWS::Connect::DataTable.LockVersion": { + "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { "additionalProperties": false, "properties": { - "DataTable": { - "markdownDescription": "", - "title": "DataTable", + "ScopeDescription": { + "markdownDescription": "A friendly description of a custom scope.", + "title": "ScopeDescription", + "type": "string" + }, + "ScopeName": { + "markdownDescription": "The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` .", + "title": "ScopeName", "type": "string" } }, + "required": [ + "ScopeDescription", + "ScopeName" + ], "type": "object" }, - "AWS::Connect::DataTableAttribute": { + "AWS::Cognito::UserPoolRiskConfigurationAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -87789,53 +87942,41 @@ "Properties": { "additionalProperties": false, "properties": { - "DataTableArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the data table that contains this attribute.", - "title": "DataTableArn", - "type": "string" - }, - "Description": { - "markdownDescription": "An optional description explaining the purpose and usage of this attribute.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", - "type": "string" + "AccountTakeoverRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType", + "markdownDescription": "The settings for automated responses and notification templates for adaptive authentication with threat protection.", + "title": "AccountTakeoverRiskConfiguration" }, - "Name": { - "markdownDescription": "The human-readable name of the attribute. Must be unique within the data table and conform to Connect naming standards.", - "title": "Name", + "ClientId": { + "markdownDescription": "The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings.", + "title": "ClientId", "type": "string" }, - "Primary": { - "markdownDescription": "Boolean indicating whether this attribute is used as a primary key for record identification. Primary attributes must have unique value combinations and cannot contain expressions.", - "title": "Primary", - "type": "boolean" + "CompromisedCredentialsRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType", + "markdownDescription": "Settings for compromised-credentials actions and authentication types with threat protection in full-function `ENFORCED` mode.", + "title": "CompromisedCredentialsRiskConfiguration" }, - "Validation": { - "$ref": "#/definitions/AWS::Connect::DataTableAttribute.Validation", - "markdownDescription": "The validation rules applied to values of this attribute. Based on JSON Schema Draft 2020-12 with additional Connect-specific validations for data integrity.", - "title": "Validation" + "RiskExceptionConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType", + "markdownDescription": "Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges.", + "title": "RiskExceptionConfiguration" }, - "ValueType": { - "markdownDescription": "The type of value allowed for this attribute. Must be one of TEXT, TEXT_LIST, NUMBER, NUMBER_LIST, or BOOLEAN. Determines how values are validated and processed.", - "title": "ValueType", + "UserPoolId": { + "markdownDescription": "The ID of the user pool that has the risk configuration applied.", + "title": "UserPoolId", "type": "string" } }, "required": [ - "DataTableArn", - "InstanceArn", - "Name", - "ValueType" + "ClientId", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::DataTableAttribute" + "AWS::Cognito::UserPoolRiskConfigurationAttachment" ], "type": "string" }, @@ -87854,98 +87995,188 @@ ], "type": "object" }, - "AWS::Connect::DataTableAttribute.Enum": { + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { "additionalProperties": false, "properties": { - "Strict": { - "markdownDescription": "", - "title": "Strict", + "EventAction": { + "markdownDescription": "The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows:\n\n- `BLOCK` : Block the request.\n- `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request.\n- `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor.\n- `NO_ACTION` : Take no action. Permit sign-in.", + "title": "EventAction", + "type": "string" + }, + "Notify": { + "markdownDescription": "Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level.", + "title": "Notify", "type": "boolean" + } + }, + "required": [ + "EventAction", + "Notify" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { + "additionalProperties": false, + "properties": { + "HighAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType", + "markdownDescription": "The action that you assign to a high-risk assessment by threat protection.", + "title": "HighAction" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Values", - "type": "array" + "LowAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType", + "markdownDescription": "The action that you assign to a low-risk assessment by threat protection.", + "title": "LowAction" + }, + "MediumAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType", + "markdownDescription": "The action that you assign to a medium-risk assessment by threat protection.", + "title": "MediumAction" } }, "type": "object" }, - "AWS::Connect::DataTableAttribute.LockVersion": { + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { "additionalProperties": false, "properties": { - "Attribute": { - "markdownDescription": "", - "title": "Attribute", - "type": "string" + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType", + "markdownDescription": "A list of account-takeover actions for each level of risk that Amazon Cognito might assess with threat protection.", + "title": "Actions" }, - "DataTable": { - "markdownDescription": "", - "title": "DataTable", + "NotifyConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType", + "markdownDescription": "The settings for composing and sending an email message when threat protection assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type.", + "title": "NotifyConfiguration" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "markdownDescription": "The action that Amazon Cognito takes when it detects compromised credentials.", + "title": "EventAction", "type": "string" } }, + "required": [ + "EventAction" + ], "type": "object" }, - "AWS::Connect::DataTableAttribute.Validation": { + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { "additionalProperties": false, "properties": { - "Enum": { - "$ref": "#/definitions/AWS::Connect::DataTableAttribute.Enum", - "markdownDescription": "Defines enumeration constraints for attribute values. Can specify a list of allowed values and whether custom values are permitted beyond the enumerated list.", - "title": "Enum" + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType", + "markdownDescription": "Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials.", + "title": "Actions" }, - "ExclusiveMaximum": { - "markdownDescription": "The largest exclusive numeric value for NUMBER value type. Can be provided alongside Maximum where both operate independently. Must be greater than ExclusiveMinimum and Minimum. Applies to NUMBER and values within NUMBER_LIST.", - "title": "ExclusiveMaximum", - "type": "number" + "EventFilter": { + "items": { + "type": "string" + }, + "markdownDescription": "Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events.", + "title": "EventFilter", + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType", + "markdownDescription": "The template for the email message that your user pool sends when a detected risk event is blocked.", + "title": "BlockEmail" }, - "ExclusiveMinimum": { - "markdownDescription": "The smallest exclusive numeric value for NUMBER value type. Can be provided alongside Minimum where both operate independently. Must be less than ExclusiveMaximum and Maximum. Applies to NUMBER and values within NUMBER_LIST.", - "title": "ExclusiveMinimum", - "type": "number" + "From": { + "markdownDescription": "The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES.", + "title": "From", + "type": "string" }, - "MaxLength": { - "markdownDescription": "The maximum number of characters a text value can contain. Applies to TEXT value type and values within a TEXT_LIST. Must be greater than or equal to MinLength.", - "title": "MaxLength", - "type": "number" + "MfaEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType", + "markdownDescription": "The template for the email message that your user pool sends when MFA is challenged in response to a detected risk.", + "title": "MfaEmail" }, - "MaxValues": { - "markdownDescription": "The maximum number of values in a list. Must be an integer greater than or equal to 0 and greater than or equal to MinValues. Applies to all list types.", - "title": "MaxValues", - "type": "number" + "NoActionEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType", + "markdownDescription": "The template for the email message that your user pool sends when no action is taken in response to a detected risk.", + "title": "NoActionEmail" }, - "Maximum": { - "markdownDescription": "The largest inclusive numeric value for NUMBER value type. Can be provided alongside ExclusiveMaximum where both operate independently. Must be greater than or equal to Minimum and greater than ExclusiveMinimum. Applies to NUMBER and values within NUMBER_LIST.", - "title": "Maximum", - "type": "number" + "ReplyTo": { + "markdownDescription": "The reply-to email address of an email template. Can be an email address in the format `admin@example.com` or `Administrator ` .", + "title": "ReplyTo", + "type": "string" }, - "MinLength": { - "markdownDescription": "The minimum number of characters a text value can contain. Applies to TEXT value type and values within a TEXT_LIST. Must be less than or equal to MaxLength.", - "title": "MinLength", - "type": "number" + "SourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the identity that is associated with the sending authorization policy. This identity permits Amazon Cognito to send for the email address specified in the `From` parameter.", + "title": "SourceArn", + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { + "additionalProperties": false, + "properties": { + "HtmlBody": { + "markdownDescription": "The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively.", + "title": "HtmlBody", + "type": "string" }, - "MinValues": { - "markdownDescription": "The minimum number of values in a list. Must be an integer greater than or equal to 0 and less than or equal to MaxValues. Applies to all list types.", - "title": "MinValues", - "type": "number" + "Subject": { + "markdownDescription": "The subject of the threat protection email notification.", + "title": "Subject", + "type": "string" }, - "Minimum": { - "markdownDescription": "The smallest inclusive numeric value for NUMBER value type. Cannot be provided when ExclusiveMinimum is also provided. Must be less than or equal to Maximum and less than ExclusiveMaximum. Applies to NUMBER and values within NUMBER_LIST.", - "title": "Minimum", - "type": "number" + "TextBody": { + "markdownDescription": "The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively.", + "title": "TextBody", + "type": "string" + } + }, + "required": [ + "Subject" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockedIPRangeList": { + "items": { + "type": "string" + }, + "markdownDescription": "An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation.", + "title": "BlockedIPRangeList", + "type": "array" }, - "MultipleOf": { - "markdownDescription": "Specifies that numeric values must be multiples of this number. Must be greater than 0. The result of dividing a value by this multiple must result in an integer. Applies to NUMBER and values within NUMBER_LIST.", - "title": "MultipleOf", - "type": "number" + "SkippedIPRangeList": { + "items": { + "type": "string" + }, + "markdownDescription": "An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation.", + "title": "SkippedIPRangeList", + "type": "array" } }, "type": "object" }, - "AWS::Connect::DataTableRecord": { + "AWS::Cognito::UserPoolUICustomizationAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -87980,32 +88211,31 @@ "Properties": { "additionalProperties": false, "properties": { - "DataTableArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the data table. Does not include version aliases.", - "title": "DataTableArn", + "CSS": { + "markdownDescription": "A plaintext CSS file that contains the custom fields that you want to apply to your user pool or app client. To download a template, go to the Amazon Cognito console. Navigate to your user pool *App clients* tab, select *Login pages* , edit *Hosted UI (classic) style* , and select the link to `CSS template.css` .", + "title": "CSS", "type": "string" }, - "DataTableRecord": { - "$ref": "#/definitions/AWS::Connect::DataTableRecord.DataTableRecord", - "markdownDescription": "", - "title": "DataTableRecord" + "ClientId": { + "markdownDescription": "The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings..", + "title": "ClientId", + "type": "string" }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "UserPoolId": { + "markdownDescription": "The ID of the user pool where you want to apply branding to the classic hosted UI.", + "title": "UserPoolId", "type": "string" } }, "required": [ - "DataTableArn", - "DataTableRecord", - "InstanceArn" + "ClientId", + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::DataTableRecord" + "AWS::Cognito::UserPoolUICustomizationAttachment" ], "type": "string" }, @@ -88024,48 +88254,7 @@ ], "type": "object" }, - "AWS::Connect::DataTableRecord.DataTableRecord": { - "additionalProperties": false, - "properties": { - "PrimaryValues": { - "items": { - "$ref": "#/definitions/AWS::Connect::DataTableRecord.Value" - }, - "markdownDescription": "", - "title": "PrimaryValues", - "type": "array" - }, - "Values": { - "items": { - "$ref": "#/definitions/AWS::Connect::DataTableRecord.Value" - }, - "markdownDescription": "", - "title": "Values", - "type": "array" - } - }, - "required": [ - "Values" - ], - "type": "object" - }, - "AWS::Connect::DataTableRecord.Value": { - "additionalProperties": false, - "properties": { - "AttributeId": { - "markdownDescription": "", - "title": "AttributeId", - "type": "string" - }, - "AttributeValue": { - "markdownDescription": "", - "title": "AttributeValue", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::EmailAddress": { + "AWS::Cognito::UserPoolUser": { "additionalProperties": false, "properties": { "Condition": { @@ -88100,52 +88289,70 @@ "Properties": { "additionalProperties": false, "properties": { - "AliasConfigurations": { + "ClientMetadata": { + "additionalProperties": true, + "markdownDescription": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers.\n\nWhen Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a `clientMetadata` attribute that provides the data that you assigned to the ClientMetadata parameter in your request. In your function code, you can process the `clientMetadata` value to enhance your workflow for your specific needs.\n\nTo review the Lambda trigger types that Amazon Cognito invokes at runtime with API requests, see [Connecting API actions to Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-working-with-lambda-triggers.html#lambda-triggers-by-event) in the *Amazon Cognito Developer Guide* .\n\n> When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following:\n> \n> - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose.\n> - Validate the `ClientMetadata` value.\n> - Encrypt the `ClientMetadata` value. Don't send sensitive information in this parameter.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ClientMetadata", + "type": "object" + }, + "DesiredDeliveryMediums": { "items": { - "$ref": "#/definitions/AWS::Connect::EmailAddress.AliasConfiguration" + "type": "string" }, - "markdownDescription": "A list of alias configurations for this email address, showing which email addresses forward to this primary address. Each configuration contains the email address ID of an alias that forwards emails to this address.", - "title": "AliasConfigurations", + "markdownDescription": "Specify `EMAIL` if email will be used to send the welcome message. Specify `SMS` if the phone number will be used. The default value is `SMS` . You can specify more than one value.", + "title": "DesiredDeliveryMediums", "type": "array" }, - "Description": { - "markdownDescription": "The description of the email address.", - "title": "Description", - "type": "string" + "ForceAliasCreation": { + "markdownDescription": "This parameter is used only if the `phone_number_verified` or `email_verified` attribute is set to `True` . Otherwise, it is ignored.\n\nIf this parameter is set to `True` and the phone number or email address specified in the `UserAttributes` parameter already exists as an alias with a different user, this request migrates the alias from the previous user to the newly-created user. The previous user will no longer be able to log in using that alias.\n\nIf this parameter is set to `False` , the API throws an `AliasExistsException` error if the alias already exists. The default value is `False` .", + "title": "ForceAliasCreation", + "type": "boolean" }, - "DisplayName": { - "markdownDescription": "The display name of email address.", - "title": "DisplayName", + "MessageAction": { + "markdownDescription": "Set to `RESEND` to resend the invitation message to a user that already exists, and to reset the temporary-password duration with a new temporary password. Set to `SUPPRESS` to suppress sending the message. You can specify only one value.", + "title": "MessageAction", "type": "string" }, - "EmailAddress": { - "markdownDescription": "The email address, including the domain.", - "title": "EmailAddress", + "UserAttributes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "markdownDescription": "An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message).\n\nFor custom attributes, you must prepend the `custom:` prefix to the attribute name.\n\nTo send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools.\n\nYou must also provide an email address or phone number when you expect the user to do passwordless sign-in with an email or SMS OTP. These attributes must be provided when passwordless options are the only available, or when you don't submit a `TemporaryPassword` .\n\nIn your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` .\n\n- *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `\"EMAIL\"` is specified in the `DesiredDeliveryMediums` parameter.\n- *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `\"SMS\"` is specified in the `DesiredDeliveryMediums` parameter.", + "title": "UserAttributes", + "type": "array" + }, + "UserPoolId": { + "markdownDescription": "The ID of the user pool where you want to create a user.", + "title": "UserPoolId", "type": "string" }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "Username": { + "markdownDescription": "The value that you want to set as the username sign-in attribute. The following conditions apply to the username parameter.\n\n- The username can't be a duplicate of another username in the same user pool.\n- You can't change the value of a username after you create it.\n- You can only provide a value if usernames are a valid sign-in attribute for your user pool. If your user pool only supports phone numbers or email addresses as sign-in attributes, Amazon Cognito automatically generates a username value. For more information, see [Customizing sign-in attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases) .", + "title": "Username", "type": "string" }, - "Tags": { + "ValidationData": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", + "markdownDescription": "Temporary user attributes that contribute to the outcomes of your pre sign-up Lambda trigger. This set of key-value pairs are for custom validation of information that you collect from your users but don't need to retain.\n\nYour Lambda function can analyze this additional data and act on it. Your function can automatically confirm and verify select users or perform external API operations like logging user attributes and validation data to Amazon CloudWatch Logs.\n\nFor more information about the pre sign-up Lambda trigger, see [Pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) .", + "title": "ValidationData", "type": "array" } }, "required": [ - "EmailAddress", - "InstanceArn" + "UserPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::EmailAddress" + "AWS::Cognito::UserPoolUser" ], "type": "string" }, @@ -88164,21 +88371,23 @@ ], "type": "object" }, - "AWS::Connect::EmailAddress.AliasConfiguration": { + "AWS::Cognito::UserPoolUser.AttributeType": { "additionalProperties": false, "properties": { - "EmailAddressArn": { - "markdownDescription": "", - "title": "EmailAddressArn", + "Name": { + "markdownDescription": "The name of the attribute.", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the attribute.", + "title": "Value", "type": "string" } }, - "required": [ - "EmailAddressArn" - ], "type": "object" }, - "AWS::Connect::EvaluationForm": { + "AWS::Cognito::UserPoolUserToGroupAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -88213,77 +88422,32 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoEvaluationConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutoEvaluationConfiguration", - "markdownDescription": "The automatic evaluation configuration of an evaluation form.", - "title": "AutoEvaluationConfiguration" - }, - "Description": { - "markdownDescription": "The description of the evaluation form.\n\n*Length Constraints* : Minimum length of 0. Maximum length of 1024.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The identifier of the Amazon Connect instance.", - "title": "InstanceArn", + "GroupName": { + "markdownDescription": "The name of the group that you want to add your user to.", + "title": "GroupName", "type": "string" }, - "Items": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormBaseItem" - }, - "markdownDescription": "Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.\n\n*Minimum size* : 1\n\n*Maximum size* : 100", - "title": "Items", - "type": "array" - }, - "LanguageConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormLanguageConfiguration", - "markdownDescription": "Configuration for language settings of this evaluation form.", - "title": "LanguageConfiguration" - }, - "ReviewConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationReviewConfiguration" - }, - "ScoringStrategy": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.ScoringStrategy", - "markdownDescription": "A scoring strategy of the evaluation form.", - "title": "ScoringStrategy" - }, - "Status": { - "markdownDescription": "The status of the evaluation form.\n\n*Allowed values* : `DRAFT` | `ACTIVE`", - "title": "Status", + "UserPoolId": { + "markdownDescription": "The ID of the user pool that contains the group that you want to add the user to.", + "title": "UserPoolId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" - }, - "TargetConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormTargetConfiguration", - "markdownDescription": "Configuration that specifies the target for this evaluation form.", - "title": "TargetConfiguration" - }, - "Title": { - "markdownDescription": "A title of the evaluation form.", - "title": "Title", + "Username": { + "markdownDescription": "The user's username.", + "title": "Username", "type": "string" } }, "required": [ - "InstanceArn", - "Items", - "Status", - "Title" + "GroupName", + "UserPoolId", + "Username" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::EvaluationForm" + "AWS::Cognito::UserPoolUserToGroupAttachment" ], "type": "string" }, @@ -88302,863 +88466,1011 @@ ], "type": "object" }, - "AWS::Connect::EvaluationForm.AutoEvaluationConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "", - "title": "Enabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.AutomaticFailConfiguration": { + "AWS::CognitoSync::Dataset": { "additionalProperties": false, "properties": { - "TargetSection": { - "markdownDescription": "The referenceId of the target section for auto failure.", - "title": "TargetSection", + "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": { + "DatasetName": { + "type": "string" + }, + "IdentityId": { + "type": "string" + }, + "IdentityPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CognitoSync::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.EvaluationFormBaseItem": { - "additionalProperties": false, - "properties": { - "Section": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSection", - "markdownDescription": "A subsection or inner section of an item.", - "title": "Section" } }, "required": [ - "Section" + "Type" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormItem": { + "AWS::Comprehend::DocumentClassificationJob": { "additionalProperties": false, "properties": { - "Question": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestion", - "markdownDescription": "The information of the question.", - "title": "Question" + "Condition": { + "type": "string" }, - "Section": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSection", - "markdownDescription": "The information of the section.", - "title": "Section" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "DocumentClassifierArn": { + "type": "string" + }, + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassificationJob.InputDataConfig" + }, + "JobName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataAccessRoleArn", + "DocumentClassifierArn", + "InputDataConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Comprehend::DocumentClassificationJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementCondition": { + "AWS::Comprehend::DocumentClassificationJob.InputDataConfig": { "additionalProperties": false, "properties": { - "Operands": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConditionOperand" - }, - "markdownDescription": "Operands of the enablement condition.", - "title": "Operands", - "type": "array" + "InputFormat": { + "type": "string" }, - "Operator": { - "markdownDescription": "The operator to be used to be applied to operands if more than one provided.", - "title": "Operator", + "S3Uri": { "type": "string" } }, "required": [ - "Operands" + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConditionOperand": { + "AWS::Comprehend::DocumentClassificationJob.OutputDataConfig": { "additionalProperties": false, "properties": { - "Expression": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementExpression", - "markdownDescription": "An expression of the enablement condition.", - "title": "Expression" + "S3Uri": { + "type": "string" } }, + "required": [ + "S3Uri" + ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConfiguration": { + "AWS::Comprehend::DocumentClassifier": { "additionalProperties": false, "properties": { - "Action": { - "markdownDescription": "An enablement action that if condition is satisfied.", - "title": "Action", + "Condition": { "type": "string" }, - "Condition": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementCondition", - "markdownDescription": "A condition for item enablement configuration.", - "title": "Condition" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "DefaultAction": { - "markdownDescription": "An enablement action that if condition is not satisfied.", - "title": "DefaultAction", + "DependsOn": { + "anyOf": [ + { + "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": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data.", + "title": "DataAccessRoleArn", + "type": "string" + }, + "DocumentClassifierName": { + "markdownDescription": "The name of the document classifier.", + "title": "DocumentClassifierName", + "type": "string" + }, + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierInputDataConfig", + "markdownDescription": "Specifies the format and location of the input data for the job.", + "title": "InputDataConfig" + }, + "LanguageCode": { + "markdownDescription": "The language of the input documents. You can specify any of the languages supported by Amazon Comprehend. All documents must be in the same language.", + "title": "LanguageCode", + "type": "string" + }, + "Mode": { + "markdownDescription": "Indicates the mode in which the classifier will be trained. The classifier can be trained in multi-class (single-label) mode or multi-label mode. Multi-class mode identifies a single class label for each document and multi-label mode identifies one or more class labels for each document. Multiple labels for an individual document are separated by a delimiter. The default delimiter between labels is a pipe (|).", + "title": "Mode", + "type": "string" + }, + "ModelKmsKeyId": { + "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`", + "title": "ModelKmsKeyId", + "type": "string" + }, + "ModelPolicy": { + "markdownDescription": "The resource-based policy to attach to your custom document classifier model. You can use this policy to allow another AWS account to import your custom model.\n\nProvide your policy as a JSON body that you enter as a UTF-8 encoded string without line breaks. To provide valid JSON, enclose the attribute names and values in double quotes. If the JSON body is also enclosed in double quotes, then you must escape the double quotes that are inside the policy:\n\n`\"{\\\"attribute\\\": \\\"value\\\", \\\"attribute\\\": [\\\"value\\\"]}\"`\n\nTo avoid escaping quotes, you can use single quotes to enclose the policy and double quotes to enclose the JSON names and values:\n\n`'{\"attribute\": \"value\", \"attribute\": [\"value\"]}'`", + "title": "ModelPolicy", + "type": "string" + }, + "OutputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierOutputDataConfig", + "markdownDescription": "Provides output results configuration parameters for custom classifier jobs.", + "title": "OutputDataConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to associate with the document classifier. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.", + "title": "Tags", + "type": "array" + }, + "VersionName": { + "markdownDescription": "The version name given to the newly created classifier. Version names can have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The version name must be unique among all models with the same classifier name in the AWS account / AWS Region .", + "title": "VersionName", + "type": "string" + }, + "VolumeKmsKeyId": { + "markdownDescription": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`", + "title": "VolumeKmsKeyId", + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.VpcConfig", + "markdownDescription": "Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your custom classifier. For more information, see [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) .", + "title": "VpcConfig" + } + }, + "required": [ + "DataAccessRoleArn", + "DocumentClassifierName", + "InputDataConfig", + "LanguageCode" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Comprehend::DocumentClassifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Action", - "Condition" + "Type", + "Properties" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementExpression": { + "AWS::Comprehend::DocumentClassifier.AugmentedManifestsListItem": { "additionalProperties": false, "properties": { - "Comparator": { - "markdownDescription": "A comparator to be used against list of values.", - "title": "Comparator", - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSource", - "markdownDescription": "A source item of enablement expression.", - "title": "Source" - }, - "Values": { + "AttributeNames": { "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSourceValue" + "type": "string" }, - "markdownDescription": "A list of values from source item.", - "title": "Values", + "markdownDescription": "The JSON attribute that contains the annotations for your training documents. The number of attribute names that you specify depends on whether your augmented manifest file is the output of a single labeling job or a chained labeling job.\n\nIf your file is the output of a single labeling job, specify the LabelAttributeName key that was used when the job was created in Ground Truth.\n\nIf your file is the output of a chained labeling job, specify the LabelAttributeName key for one or more jobs in the chain. Each LabelAttributeName key provides the annotations from an individual job.", + "title": "AttributeNames", "type": "array" + }, + "S3Uri": { + "markdownDescription": "The Amazon S3 location of the augmented manifest file.", + "title": "S3Uri", + "type": "string" + }, + "Split": { + "markdownDescription": "The purpose of the data you've provided in the augmented manifest. You can either train or test this data. If you don't specify, the default is train.\n\nTRAIN - all of the documents in the manifest will be used for training. If no test documents are provided, Amazon Comprehend will automatically reserve a portion of the training documents for testing.\n\nTEST - all of the documents in the manifest will be used for testing.", + "title": "Split", + "type": "string" } }, "required": [ - "Comparator", - "Source", - "Values" + "AttributeNames", + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSource": { + "AWS::Comprehend::DocumentClassifier.DocumentClassifierDocuments": { "additionalProperties": false, "properties": { - "RefId": { - "markdownDescription": "A referenceId of the source item.", - "title": "RefId", + "S3Uri": { + "markdownDescription": "The S3 URI location of the training documents specified in the S3Uri CSV file.", + "title": "S3Uri", "type": "string" }, - "Type": { - "markdownDescription": "A type of source item.", - "title": "Type", + "TestS3Uri": { + "markdownDescription": "The S3 URI location of the test documents included in the TestS3Uri CSV file. This field is not required if you do not specify a test CSV file.", + "title": "TestS3Uri", "type": "string" } }, "required": [ - "Type" + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSourceValue": { + "AWS::Comprehend::DocumentClassifier.DocumentClassifierInputDataConfig": { "additionalProperties": false, "properties": { - "RefId": { - "markdownDescription": "A referenceId of the source value.", - "title": "RefId", + "AugmentedManifests": { + "items": { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.AugmentedManifestsListItem" + }, + "markdownDescription": "A list of augmented manifest files that provide training data for your custom model. An augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground Truth.\n\nThis parameter is required if you set `DataFormat` to `AUGMENTED_MANIFEST` .", + "title": "AugmentedManifests", + "type": "array" + }, + "DataFormat": { + "markdownDescription": "The format of your training data:\n\n- `COMPREHEND_CSV` : A two-column CSV file, where labels are provided in the first column, and documents are provided in the second. If you use this value, you must provide the `S3Uri` parameter in your request.\n- `AUGMENTED_MANIFEST` : A labeled dataset that is produced by Amazon SageMaker Ground Truth. This file is in JSON lines format. Each line is a complete JSON object that contains a training document and its associated labels.\n\nIf you use this value, you must provide the `AugmentedManifests` parameter in your request.\n\nIf you don't specify a value, Amazon Comprehend uses `COMPREHEND_CSV` as the default.", + "title": "DataFormat", "type": "string" }, - "Type": { - "markdownDescription": "A type of source item value.", - "title": "Type", + "DocumentReaderConfig": { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentReaderConfig", + "markdownDescription": "", + "title": "DocumentReaderConfig" + }, + "DocumentType": { + "markdownDescription": "The type of input documents for training the model. Provide plain-text documents to create a plain-text model, and provide semi-structured documents to create a native document model.", + "title": "DocumentType", + "type": "string" + }, + "Documents": { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierDocuments", + "markdownDescription": "The S3 location of the training documents. This parameter is required in a request to create a native document model.", + "title": "Documents" + }, + "LabelDelimiter": { + "markdownDescription": "Indicates the delimiter used to separate each label for training a multi-label classifier. The default delimiter between labels is a pipe (|). You can use a different character as a delimiter (if it's an allowed character) by specifying it under Delimiter for labels. If the training documents use a delimiter other than the default or the delimiter you specify, the labels on that line will be combined to make a single unique label, such as LABELLABELLABEL.", + "title": "LabelDelimiter", + "type": "string" + }, + "S3Uri": { + "markdownDescription": "The Amazon S3 URI for the input data. The S3 bucket must be in the same Region as the API endpoint that you are calling. The URI can point to a single input file or it can provide the prefix for a collection of input files.\n\nFor example, if you use the URI `S3://bucketName/prefix` , if the prefix is a single file, Amazon Comprehend uses that file as input. If more than one file begins with the prefix, Amazon Comprehend uses all of them as input.\n\nThis parameter is required if you set `DataFormat` to `COMPREHEND_CSV` .", + "title": "S3Uri", + "type": "string" + }, + "TestS3Uri": { + "markdownDescription": "This specifies the Amazon S3 location that contains the test annotations for the document classifier. The URI must be in the same AWS Region as the API endpoint that you are calling.", + "title": "TestS3Uri", "type": "string" } }, "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormLanguageConfiguration": { + "AWS::Comprehend::DocumentClassifier.DocumentClassifierOutputDataConfig": { "additionalProperties": false, "properties": { - "FormLanguage": { - "markdownDescription": "The language for the evaluation form.", - "title": "FormLanguage", + "KmsKeyId": { + "markdownDescription": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the output results from an analysis job. The KmsKeyId can be one of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- KMS Key Alias: `\"alias/ExampleAlias\"`\n- ARN of a KMS Key Alias: `\"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"`", + "title": "KmsKeyId", + "type": "string" + }, + "S3Uri": { + "markdownDescription": "When you use the `OutputDataConfig` object while creating a custom classifier, you specify the Amazon S3 location where you want to write the confusion matrix and other output files. The URI must be in the same Region as the API endpoint that you are calling. The location is used as the prefix for the actual location of this output file.\n\nWhen the custom classifier job is finished, the service creates the output file in a directory specific to the job. The `S3Uri` field contains the location of the output file, called `output.tar.gz` . It is a compressed archive that contains the confusion matrix.", + "title": "S3Uri", "type": "string" } }, "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomation": { + "AWS::Comprehend::DocumentClassifier.DocumentReaderConfig": { "additionalProperties": false, "properties": { - "AnswerSource": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", - "markdownDescription": "", - "title": "AnswerSource" + "DocumentReadAction": { + "markdownDescription": "This field defines the Amazon Textract API operation that Amazon Comprehend uses to extract text from PDF files and image files. Enter one of the following values:\n\n- `TEXTRACT_DETECT_DOCUMENT_TEXT` - The Amazon Comprehend service uses the `DetectDocumentText` API operation.\n- `TEXTRACT_ANALYZE_DOCUMENT` - The Amazon Comprehend service uses the `AnalyzeDocument` API operation.", + "title": "DocumentReadAction", + "type": "string" }, - "DefaultOptionRefIds": { - "items": { - "type": "string" - }, - "markdownDescription": "Reference IDs of default options.", - "title": "DefaultOptionRefIds", - "type": "array" + "DocumentReadMode": { + "markdownDescription": "Determines the text extraction actions for PDF files. Enter one of the following values:\n\n- `SERVICE_DEFAULT` - use the Amazon Comprehend service defaults for PDF files.\n- `FORCE_DOCUMENT_READ_ACTION` - Amazon Comprehend uses the Textract API specified by DocumentReadAction for all PDF files, including digital PDF files.", + "title": "DocumentReadMode", + "type": "string" }, - "Options": { + "FeatureTypes": { "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomationOption" + "type": "string" }, - "markdownDescription": "Automation options for the multi-select question.", - "title": "Options", + "markdownDescription": "Specifies the type of Amazon Textract features to apply. If you chose `TEXTRACT_ANALYZE_DOCUMENT` as the read action, you must specify one or both of the following values:\n\n- `TABLES` - Returns additional information about any tables that are detected in the input document.\n- `FORMS` - Returns additional information about any forms that are detected in the input document.", + "title": "FeatureTypes", "type": "array" } }, + "required": [ + "DocumentReadAction" + ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomationOption": { + "AWS::Comprehend::DocumentClassifier.VpcConfig": { "additionalProperties": false, "properties": { - "RuleCategory": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.MultiSelectQuestionRuleCategoryAutomation", - "markdownDescription": "Rule category configuration for this automation option.", - "title": "RuleCategory" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The ID number for a security group on an instance of your private VPC. Security groups on your VPC function serve as a virtual firewall to control inbound and outbound traffic and provides security for the resources that you\u2019ll be accessing on the VPC. This ID number is preceded by \"sg-\", for instance: \"sg-03b388029b0a285ea\". For more information, see [Security Groups for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) .", + "title": "SecurityGroupIds", + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "The ID for each subnet being used in your private VPC. This subnet is a subset of the a range of IPv4 addresses used by the VPC and is specific to a given availability zone in the VPC\u2019s Region. This ID number is preceded by \"subnet-\", for instance: \"subnet-04ccf456919e69055\". For more information, see [VPCs and Subnets](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) .", + "title": "Subnets", + "type": "array" } }, "required": [ - "RuleCategory" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionOption": { + "AWS::Comprehend::DocumentClassifierEndpoint": { "additionalProperties": false, "properties": { - "AutomaticFail": { - "type": "boolean" + "Condition": { + "type": "string" }, - "AutomaticFailConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutomaticFailConfiguration" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "PointsConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RefId": { - "markdownDescription": "Reference identifier for this option.", - "title": "RefId", - "type": "string" + "Metadata": { + "type": "object" }, - "Score": { - "type": "number" + "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" }, - "Text": { - "markdownDescription": "Display text for this option.", - "title": "Text", + "Type": { + "enum": [ + "AWS::Comprehend::DocumentClassifierEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "RefId", - "Text" + "Type", + "Properties" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionProperties": { + "AWS::Comprehend::DominantLanguageDetectionJob": { "additionalProperties": false, "properties": { - "Automation": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomation", - "markdownDescription": "Automation configuration for this multi-select question.", - "title": "Automation" + "Condition": { + "type": "string" }, - "DisplayAs": { - "markdownDescription": "Display format for the multi-select question.", - "title": "DisplayAs", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Options": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionOption" + "DependsOn": { + "anyOf": [ + { + "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" + }, + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::DominantLanguageDetectionJob.InputDataConfig" + }, + "JobName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VolumeKmsKeyId": { + "type": "string" + } }, - "markdownDescription": "Options available for this multi-select question.", - "title": "Options", - "type": "array" + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Comprehend::DominantLanguageDetectionJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Options" + "Type" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionAutomation": { - "additionalProperties": false, - "properties": { - "AnswerSource": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", - "markdownDescription": "A source of automation answer for numeric question.", - "title": "AnswerSource" - }, - "PropertyValue": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.NumericQuestionPropertyValueAutomation", - "markdownDescription": "The property value of the automation.", - "title": "PropertyValue" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionOption": { + "AWS::Comprehend::DominantLanguageDetectionJob.InputDataConfig": { "additionalProperties": false, "properties": { - "AutomaticFail": { - "markdownDescription": "The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.", - "title": "AutomaticFail", - "type": "boolean" - }, - "AutomaticFailConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutomaticFailConfiguration", - "markdownDescription": "A configuration for automatic fail.", - "title": "AutomaticFailConfiguration" - }, - "MaxValue": { - "markdownDescription": "The maximum answer value of the range option.", - "title": "MaxValue", - "type": "number" - }, - "MinValue": { - "markdownDescription": "The minimum answer value of the range option.", - "title": "MinValue", - "type": "number" - }, - "PointsConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration" + "InputFormat": { + "type": "string" }, - "Score": { - "markdownDescription": "The score assigned to answer values within the range option.\n\n*Minimum* : 0\n\n*Maximum* : 10", - "title": "Score", - "type": "number" + "S3Uri": { + "type": "string" } }, "required": [ - "MaxValue", - "MinValue" + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionProperties": { + "AWS::Comprehend::DominantLanguageDetectionJob.OutputDataConfig": { "additionalProperties": false, "properties": { - "Automation": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionAutomation", - "markdownDescription": "The automation properties of the numeric question.", - "title": "Automation" - }, - "MaxValue": { - "markdownDescription": "The maximum answer value.", - "title": "MaxValue", - "type": "number" - }, - "MinValue": { - "markdownDescription": "The minimum answer value.", - "title": "MinValue", - "type": "number" + "KmsKeyId": { + "type": "string" }, - "Options": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionOption" - }, - "markdownDescription": "The scoring options of the numeric question.", - "title": "Options", - "type": "array" + "S3Uri": { + "type": "string" } }, "required": [ - "MaxValue", - "MinValue" + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormQuestion": { + "AWS::Comprehend::EntitiesDetectionJob": { "additionalProperties": false, "properties": { - "Enablement": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConfiguration", - "markdownDescription": "A question conditional enablement.", - "title": "Enablement" - }, - "Instructions": { - "markdownDescription": "The instructions of the section.\n\n*Length Constraints* : Minimum length of 0. Maximum length of 1024.", - "title": "Instructions", + "Condition": { "type": "string" }, - "NotApplicableEnabled": { - "markdownDescription": "The flag to enable not applicable answers to the question.", - "title": "NotApplicableEnabled", - "type": "boolean" - }, - "QuestionType": { - "markdownDescription": "The type of the question.\n\n*Allowed values* : `NUMERIC` | `SINGLESELECT` | `TEXT`", - "title": "QuestionType", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "QuestionTypeProperties": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionTypeProperties", - "markdownDescription": "The properties of the type of question. Text questions do not have to define question type properties.", - "title": "QuestionTypeProperties" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RefId": { - "markdownDescription": "The identifier of the question. An identifier must be unique within the evaluation form.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", - "title": "RefId", - "type": "string" + "Metadata": { + "type": "object" }, - "ScoringConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionScoringConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "DataAccessRoleArn": { + "type": "string" + }, + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::EntitiesDetectionJob.InputDataConfig" + }, + "JobName": { + "type": "string" + }, + "LanguageCode": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataAccessRoleArn", + "InputDataConfig", + "LanguageCode" + ], + "type": "object" }, - "Title": { - "markdownDescription": "The title of the question.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 350.", - "title": "Title", + "Type": { + "enum": [ + "AWS::Comprehend::EntitiesDetectionJob" + ], "type": "string" }, - "Weight": { - "markdownDescription": "The scoring weight of the section.\n\n*Minimum* : 0\n\n*Maximum* : 100", - "title": "Weight", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "QuestionType", - "RefId", - "Title" + "Type", + "Properties" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource": { + "AWS::Comprehend::EntitiesDetectionJob.InputDataConfig": { "additionalProperties": false, "properties": { - "SourceType": { - "markdownDescription": "The automation answer source type.", - "title": "SourceType", + "InputFormat": { + "type": "string" + }, + "S3Uri": { "type": "string" } }, "required": [ - "SourceType" + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormQuestionScoringConfiguration": { + "AWS::Comprehend::EntitiesDetectionJob.OutputDataConfig": { "additionalProperties": false, "properties": { - "IsExcludedFromScoring": { - "type": "boolean" - }, - "PointsConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionPointsConfiguration" - }, - "ScoreThresholds": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold" - }, - "type": "array" + "S3Uri": { + "type": "string" } }, + "required": [ + "S3Uri" + ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormQuestionTypeProperties": { + "AWS::Comprehend::EntityRecognizer": { "additionalProperties": false, "properties": { - "MultiSelect": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionProperties", - "markdownDescription": "Properties for multi-select question types.", - "title": "MultiSelect" + "Condition": { + "type": "string" }, - "Numeric": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionProperties", - "markdownDescription": "The properties of the numeric question.", - "title": "Numeric" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "SingleSelect": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionProperties", - "markdownDescription": "The properties of the numeric question.", - "title": "SingleSelect" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Text": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormTextQuestionProperties", - "markdownDescription": "The properties of the text question.", - "title": "Text" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold": { - "additionalProperties": false, - "properties": { - "MaxScorePercentage": { - "type": "number" + "Metadata": { + "type": "object" }, - "MinScorePercentage": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "DataAccessRoleArn": { + "type": "string" + }, + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer.EntityRecognizerInputDataConfig" + }, + "LanguageCode": { + "type": "string" + }, + "ModelKmsKeyId": { + "type": "string" + }, + "ModelPolicy": { + "type": "string" + }, + "RecognizerName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VersionName": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer.VpcConfig" + } + }, + "required": [ + "DataAccessRoleArn", + "InputDataConfig", + "LanguageCode", + "RecognizerName" + ], + "type": "object" }, - "PerformanceCategory": { + "Type": { + "enum": [ + "AWS::Comprehend::EntityRecognizer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PerformanceCategory" + "Type", + "Properties" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormSection": { + "AWS::Comprehend::EntityRecognizer.AugmentedManifestsListItem": { "additionalProperties": false, "properties": { - "Instructions": { - "markdownDescription": "The instructions of the section.", - "title": "Instructions", + "AnnotationDataS3Uri": { "type": "string" }, - "IsExcludedFromScoring": { - "type": "boolean" - }, - "Items": { + "AttributeNames": { "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItem" + "type": "string" }, - "markdownDescription": "The items of the section.\n\n*Minimum* : 1", - "title": "Items", "type": "array" }, - "RefId": { - "markdownDescription": "The identifier of the section. An identifier must be unique within the evaluation form.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", - "title": "RefId", + "DocumentType": { "type": "string" }, - "ScoreThresholds": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold" - }, - "type": "array" + "S3Uri": { + "type": "string" }, - "Title": { - "markdownDescription": "The title of the section.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 128.", - "title": "Title", + "SourceDocumentsS3Uri": { "type": "string" }, - "Weight": { - "markdownDescription": "The scoring weight of the section.\n\n*Minimum* : 0\n\n*Maximum* : 100", - "title": "Weight", - "type": "number" + "Split": { + "type": "string" } }, "required": [ - "RefId", - "Title" + "AttributeNames", + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomation": { + "AWS::Comprehend::EntityRecognizer.EntityRecognizerAnnotations": { "additionalProperties": false, "properties": { - "AnswerSource": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", - "markdownDescription": "Automation answer source.", - "title": "AnswerSource" - }, - "DefaultOptionRefId": { - "markdownDescription": "The identifier of the default answer option, when none of the automation options match the criteria.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", - "title": "DefaultOptionRefId", + "S3Uri": { "type": "string" }, - "Options": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomationOption" - }, - "markdownDescription": "The automation options of the single select question.\n\n*Minimum* : 1\n\n*Maximum* : 20", - "title": "Options", - "type": "array" + "TestS3Uri": { + "type": "string" } }, + "required": [ + "S3Uri" + ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomationOption": { + "AWS::Comprehend::EntityRecognizer.EntityRecognizerDocuments": { "additionalProperties": false, "properties": { - "RuleCategory": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.SingleSelectQuestionRuleCategoryAutomation", - "markdownDescription": "The automation option based on a rule category for the single select question.", - "title": "RuleCategory" + "InputFormat": { + "type": "string" + }, + "S3Uri": { + "type": "string" + }, + "TestS3Uri": { + "type": "string" } }, "required": [ - "RuleCategory" + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionOption": { + "AWS::Comprehend::EntityRecognizer.EntityRecognizerEntityList": { "additionalProperties": false, "properties": { - "AutomaticFail": { - "markdownDescription": "The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.", - "title": "AutomaticFail", - "type": "boolean" - }, - "AutomaticFailConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutomaticFailConfiguration", - "markdownDescription": "Whether automatic fail is configured on a single select question.", - "title": "AutomaticFailConfiguration" - }, - "PointsConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration" - }, - "RefId": { - "markdownDescription": "The identifier of the answer option. An identifier must be unique within the question.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", - "title": "RefId", - "type": "string" - }, - "Score": { - "markdownDescription": "The score assigned to the answer option.\n\n*Minimum* : 0\n\n*Maximum* : 10", - "title": "Score", - "type": "number" - }, - "Text": { - "markdownDescription": "The title of the answer option.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 128.", - "title": "Text", + "S3Uri": { "type": "string" } }, "required": [ - "RefId", - "Text" + "S3Uri" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionProperties": { + "AWS::Comprehend::EntityRecognizer.EntityRecognizerInputDataConfig": { "additionalProperties": false, "properties": { - "Automation": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomation", - "markdownDescription": "The display mode of the single select question.", - "title": "Automation" + "Annotations": { + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer.EntityRecognizerAnnotations" }, - "DisplayAs": { - "markdownDescription": "The display mode of the single select question.\n\n*Allowed values* : `DROPDOWN` | `RADIO`", - "title": "DisplayAs", + "AugmentedManifests": { + "items": { + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer.AugmentedManifestsListItem" + }, + "type": "array" + }, + "DataFormat": { "type": "string" }, - "Options": { + "Documents": { + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer.EntityRecognizerDocuments" + }, + "EntityList": { + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer.EntityRecognizerEntityList" + }, + "EntityTypes": { "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionOption" + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer.EntityTypesListItem" }, - "markdownDescription": "The answer options of the single select question.\n\n*Minimum* : 2\n\n*Maximum* : 256", - "title": "Options", "type": "array" } }, "required": [ - "Options" + "EntityTypes" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormTargetConfiguration": { + "AWS::Comprehend::EntityRecognizer.EntityTypesListItem": { "additionalProperties": false, "properties": { - "ContactInteractionType": { - "markdownDescription": "The contact interaction type for this evaluation form.", - "title": "ContactInteractionType", + "Type": { "type": "string" } }, "required": [ - "ContactInteractionType" + "Type" ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormTextQuestionAutomation": { - "additionalProperties": false, - "properties": { - "AnswerSource": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", - "markdownDescription": "Automation answer source.", - "title": "AnswerSource" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.EvaluationFormTextQuestionProperties": { + "AWS::Comprehend::EntityRecognizer.VpcConfig": { "additionalProperties": false, "properties": { - "Automation": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormTextQuestionAutomation", - "markdownDescription": "The automation properties of the text question.", - "title": "Automation" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.EvaluationReviewConfiguration": { - "additionalProperties": false, - "properties": { - "EligibilityDays": { - "type": "number" - }, - "ReviewNotificationRecipients": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipient" - }, - "type": "array" - } - }, - "required": [ - "ReviewNotificationRecipients" - ], - "type": "object" - }, - "AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipient": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipientValue" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipientValue": { - "additionalProperties": false, - "properties": { - "UserId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.MultiSelectQuestionRuleCategoryAutomation": { - "additionalProperties": false, - "properties": { - "Category": { - "markdownDescription": "The category name for this automation rule.", - "title": "Category", - "type": "string" - }, - "Condition": { - "markdownDescription": "The condition for this automation rule.", - "title": "Condition", - "type": "string" - }, - "OptionRefIds": { + "SecurityGroupIds": { "items": { "type": "string" }, - "markdownDescription": "Reference IDs of options for this automation rule.", - "title": "OptionRefIds", "type": "array" - } - }, - "required": [ - "Category", - "Condition", - "OptionRefIds" - ], - "type": "object" - }, - "AWS::Connect::EvaluationForm.NumericQuestionPropertyValueAutomation": { - "additionalProperties": false, - "properties": { - "Label": { - "markdownDescription": "The property label of the automation.", - "title": "Label", - "type": "string" - } - }, - "required": [ - "Label" - ], - "type": "object" - }, - "AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration": { - "additionalProperties": false, - "properties": { - "IsBonus": { - "type": "boolean" - }, - "PointValue": { - "type": "number" - } - }, - "required": [ - "PointValue" - ], - "type": "object" - }, - "AWS::Connect::EvaluationForm.QuestionPointsConfiguration": { - "additionalProperties": false, - "properties": { - "IsBonus": { - "type": "boolean" - }, - "MaxPointValue": { - "type": "number" }, - "MinPointValue": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Connect::EvaluationForm.ScoringStrategy": { - "additionalProperties": false, - "properties": { - "Mode": { - "markdownDescription": "The scoring mode of the evaluation form.\n\n*Allowed values* : `QUESTION_ONLY` | `SECTION_ONLY`", - "title": "Mode", - "type": "string" - }, - "ScoreThresholds": { + "Subnets": { "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold" + "type": "string" }, "type": "array" - }, - "Status": { - "markdownDescription": "The scoring status of the evaluation form.\n\n*Allowed values* : `ENABLED` | `DISABLED`", - "title": "Status", - "type": "string" - } - }, - "required": [ - "Mode", - "Status" - ], - "type": "object" - }, - "AWS::Connect::EvaluationForm.SingleSelectQuestionRuleCategoryAutomation": { - "additionalProperties": false, - "properties": { - "Category": { - "markdownDescription": "The category name, as defined in Rules.\n\n*Minimum* : 1\n\n*Maximum* : 50", - "title": "Category", - "type": "string" - }, - "Condition": { - "markdownDescription": "The condition to apply for the automation option. If the condition is PRESENT, then the option is applied when the contact data includes the category. Similarly, if the condition is NOT_PRESENT, then the option is applied when the contact data does not include the category.\n\n*Allowed values* : `PRESENT` | `NOT_PRESENT`\n\n*Maximum* : 50", - "title": "Condition", - "type": "string" - }, - "OptionRefId": { - "markdownDescription": "The identifier of the answer option. An identifier must be unique within the question.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", - "title": "OptionRefId", - "type": "string" } }, "required": [ - "Category", - "Condition", - "OptionRefId" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::Connect::HoursOfOperation": { + "AWS::Comprehend::Flywheel": { "additionalProperties": false, "properties": { "Condition": { @@ -89193,78 +89505,60 @@ "Properties": { "additionalProperties": false, "properties": { - "ChildHoursOfOperations": { - "items": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationsIdentifier" - }, - "markdownDescription": "", - "title": "ChildHoursOfOperations", - "type": "array" + "ActiveModelArn": { + "markdownDescription": "The Amazon Resource Number (ARN) of the active model version.", + "title": "ActiveModelArn", + "type": "string" }, - "Config": { - "items": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationConfig" - }, - "markdownDescription": "Configuration information for the hours of operation.", - "title": "Config", - "type": "array" + "DataAccessRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend permission to access the flywheel data.", + "title": "DataAccessRoleArn", + "type": "string" }, - "Description": { - "markdownDescription": "The description for the hours of operation.", - "title": "Description", + "DataLakeS3Uri": { + "markdownDescription": "Amazon S3 URI of the data lake location.", + "title": "DataLakeS3Uri", "type": "string" }, - "HoursOfOperationOverrides": { - "items": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationOverride" - }, - "markdownDescription": "", - "title": "HoursOfOperationOverrides", - "type": "array" + "DataSecurityConfig": { + "$ref": "#/definitions/AWS::Comprehend::Flywheel.DataSecurityConfig", + "markdownDescription": "Data security configuration.", + "title": "DataSecurityConfig" }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "FlywheelName": { + "markdownDescription": "Name for the flywheel.", + "title": "FlywheelName", "type": "string" }, - "Name": { - "markdownDescription": "The name for the hours of operation.", - "title": "Name", + "ModelType": { + "markdownDescription": "Model type of the flywheel's model.", + "title": "ModelType", "type": "string" }, - "ParentHoursOfOperations": { - "items": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationsIdentifier" - }, - "markdownDescription": "", - "title": "ParentHoursOfOperations", - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with \"Sales\" as the key might be added to an endpoint to indicate its use by the sales department.", "title": "Tags", "type": "array" }, - "TimeZone": { - "markdownDescription": "The time zone for the hours of operation.", - "title": "TimeZone", - "type": "string" + "TaskConfig": { + "$ref": "#/definitions/AWS::Comprehend::Flywheel.TaskConfig", + "markdownDescription": "Configuration about the model associated with a flywheel.", + "title": "TaskConfig" } }, "required": [ - "Config", - "InstanceArn", - "Name", - "TimeZone" + "DataAccessRoleArn", + "DataLakeS3Uri", + "FlywheelName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::HoursOfOperation" + "AWS::Comprehend::Flywheel" ], "type": "string" }, @@ -89283,227 +89577,133 @@ ], "type": "object" }, - "AWS::Connect::HoursOfOperation.HoursOfOperationConfig": { + "AWS::Comprehend::Flywheel.DataSecurityConfig": { "additionalProperties": false, "properties": { - "Day": { - "markdownDescription": "The day that the hours of operation applies to.", - "title": "Day", + "DataLakeKmsKeyId": { + "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt the data in the data lake.", + "title": "DataLakeKmsKeyId", "type": "string" }, - "EndTime": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice", - "markdownDescription": "The end time that your contact center closes.", - "title": "EndTime" + "ModelKmsKeyId": { + "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either of the following formats:\n\n- KMS Key ID: `\"1234abcd-12ab-34cd-56ef-1234567890ab\"`\n- Amazon Resource Name (ARN) of a KMS Key: `\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"`", + "title": "ModelKmsKeyId", + "type": "string" }, - "StartTime": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice", - "markdownDescription": "The start time that your contact center opens.", - "title": "StartTime" + "VolumeKmsKeyId": { + "markdownDescription": "ID for the AWS key that Amazon Comprehend uses to encrypt the volume.", + "title": "VolumeKmsKeyId", + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Comprehend::Flywheel.VpcConfig", + "markdownDescription": "Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for the job. For more information, see [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) .", + "title": "VpcConfig" } }, - "required": [ - "Day", - "EndTime", - "StartTime" - ], "type": "object" }, - "AWS::Connect::HoursOfOperation.HoursOfOperationOverride": { + "AWS::Comprehend::Flywheel.DocumentClassificationConfig": { "additionalProperties": false, "properties": { - "EffectiveFrom": { - "markdownDescription": "The date from which the hours of operation override would be effective.", - "title": "EffectiveFrom", - "type": "string" - }, - "EffectiveTill": { - "markdownDescription": "The date until the hours of operation override is effective.", - "title": "EffectiveTill", - "type": "string" - }, - "HoursOfOperationOverrideId": { - "markdownDescription": "The identifier for the hours of operation override.", - "title": "HoursOfOperationOverrideId", - "type": "string" - }, - "OverrideConfig": { + "Labels": { "items": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationOverrideConfig" + "type": "string" }, - "markdownDescription": "", - "title": "OverrideConfig", + "markdownDescription": "One or more labels to associate with the custom classifier.", + "title": "Labels", "type": "array" }, - "OverrideDescription": { - "markdownDescription": "", - "title": "OverrideDescription", - "type": "string" - }, - "OverrideName": { - "markdownDescription": "", - "title": "OverrideName", - "type": "string" - }, - "OverrideType": { - "markdownDescription": "", - "title": "OverrideType", - "type": "string" - }, - "RecurrenceConfig": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.RecurrenceConfig", - "markdownDescription": "", - "title": "RecurrenceConfig" - } - }, - "required": [ - "EffectiveFrom", - "EffectiveTill", - "OverrideConfig", - "OverrideName" - ], - "type": "object" - }, - "AWS::Connect::HoursOfOperation.HoursOfOperationOverrideConfig": { - "additionalProperties": false, - "properties": { - "Day": { - "markdownDescription": "The day that the hours of operation override applies to.", - "title": "Day", + "Mode": { + "markdownDescription": "Classification mode indicates whether the documents are `MULTI_CLASS` or `MULTI_LABEL` .", + "title": "Mode", "type": "string" - }, - "EndTime": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.OverrideTimeSlice", - "markdownDescription": "The end time that your contact center closes if overrides are applied.", - "title": "EndTime" - }, - "StartTime": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.OverrideTimeSlice", - "markdownDescription": "The start time when your contact center opens if overrides are applied.", - "title": "StartTime" } }, "required": [ - "Day", - "EndTime", - "StartTime" + "Mode" ], "type": "object" }, - "AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice": { + "AWS::Comprehend::Flywheel.EntityRecognitionConfig": { "additionalProperties": false, "properties": { - "Hours": { - "markdownDescription": "The hours.", - "title": "Hours", - "type": "number" - }, - "Minutes": { - "markdownDescription": "The minutes.", - "title": "Minutes", - "type": "number" + "EntityTypes": { + "items": { + "$ref": "#/definitions/AWS::Comprehend::Flywheel.EntityTypesListItem" + }, + "markdownDescription": "Up to 25 entity types that the model is trained to recognize.", + "title": "EntityTypes", + "type": "array" } }, - "required": [ - "Hours", - "Minutes" - ], "type": "object" }, - "AWS::Connect::HoursOfOperation.HoursOfOperationsIdentifier": { + "AWS::Comprehend::Flywheel.EntityTypesListItem": { "additionalProperties": false, "properties": { - "Id": { - "markdownDescription": "", - "title": "Id", - "type": "string" - }, - "Name": { - "markdownDescription": "", - "title": "Name", + "Type": { + "markdownDescription": "An entity type within a labeled training dataset that Amazon Comprehend uses to train a custom entity recognizer.\n\nEntity types must not contain the following invalid characters: \\n (line break), \\\\n (escaped line break, \\r (carriage return), \\\\r (escaped carriage return), \\t (tab), \\\\t (escaped tab), and , (comma).", + "title": "Type", "type": "string" } }, "required": [ - "Id" + "Type" ], "type": "object" }, - "AWS::Connect::HoursOfOperation.OverrideTimeSlice": { + "AWS::Comprehend::Flywheel.TaskConfig": { "additionalProperties": false, "properties": { - "Hours": { - "markdownDescription": "The hours.", - "title": "Hours", - "type": "number" + "DocumentClassificationConfig": { + "$ref": "#/definitions/AWS::Comprehend::Flywheel.DocumentClassificationConfig", + "markdownDescription": "Configuration required for a document classification model.", + "title": "DocumentClassificationConfig" }, - "Minutes": { - "markdownDescription": "The minutes.", - "title": "Minutes", - "type": "number" - } - }, - "required": [ - "Hours", - "Minutes" - ], - "type": "object" - }, - "AWS::Connect::HoursOfOperation.RecurrenceConfig": { - "additionalProperties": false, - "properties": { - "RecurrencePattern": { - "$ref": "#/definitions/AWS::Connect::HoursOfOperation.RecurrencePattern", - "markdownDescription": "", - "title": "RecurrencePattern" + "EntityRecognitionConfig": { + "$ref": "#/definitions/AWS::Comprehend::Flywheel.EntityRecognitionConfig", + "markdownDescription": "Configuration required for an entity recognition model.", + "title": "EntityRecognitionConfig" + }, + "LanguageCode": { + "markdownDescription": "Language code for the language that the model supports.", + "title": "LanguageCode", + "type": "string" } }, "required": [ - "RecurrencePattern" + "LanguageCode" ], "type": "object" }, - "AWS::Connect::HoursOfOperation.RecurrencePattern": { + "AWS::Comprehend::Flywheel.VpcConfig": { "additionalProperties": false, "properties": { - "ByMonth": { - "items": { - "type": "number" - }, - "markdownDescription": "", - "title": "ByMonth", - "type": "array" - }, - "ByMonthDay": { + "SecurityGroupIds": { "items": { - "type": "number" + "type": "string" }, - "markdownDescription": "", - "title": "ByMonthDay", + "markdownDescription": "The ID number for a security group on an instance of your private VPC. Security groups on your VPC function serve as a virtual firewall to control inbound and outbound traffic and provides security for the resources that you\u2019ll be accessing on the VPC. This ID number is preceded by \"sg-\", for instance: \"sg-03b388029b0a285ea\". For more information, see [Security Groups for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) .", + "title": "SecurityGroupIds", "type": "array" }, - "ByWeekdayOccurrence": { + "Subnets": { "items": { - "type": "number" + "type": "string" }, - "markdownDescription": "", - "title": "ByWeekdayOccurrence", + "markdownDescription": "The ID for each subnet being used in your private VPC. This subnet is a subset of the a range of IPv4 addresses used by the VPC and is specific to a given availability zone in the VPC\u2019s Region. This ID number is preceded by \"subnet-\", for instance: \"subnet-04ccf456919e69055\". For more information, see [VPCs and Subnets](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) .", + "title": "Subnets", "type": "array" - }, - "Frequency": { - "markdownDescription": "", - "title": "Frequency", - "type": "string" - }, - "Interval": { - "markdownDescription": "", - "title": "Interval", - "type": "number" } }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], "type": "object" }, - "AWS::Connect::Instance": { + "AWS::Comprehend::FlywheelDataset": { "additionalProperties": false, "properties": { "Condition": { @@ -89538,44 +89738,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Attributes": { - "$ref": "#/definitions/AWS::Connect::Instance.Attributes", - "markdownDescription": "A toggle for an individual feature at the instance level.", - "title": "Attributes" + "DatasetName": { + "type": "string" }, - "DirectoryId": { - "markdownDescription": "The identifier for the directory.", - "title": "DirectoryId", + "DatasetType": { "type": "string" }, - "IdentityManagementType": { - "markdownDescription": "The identity management type.", - "title": "IdentityManagementType", + "Description": { "type": "string" }, - "InstanceAlias": { - "markdownDescription": "The alias of instance. `InstanceAlias` is only required when `IdentityManagementType` is `CONNECT_MANAGED` or `SAML` . `InstanceAlias` is not required when `IdentityManagementType` is `EXISTING_DIRECTORY` .", - "title": "InstanceAlias", + "FlywheelArn": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "Attributes", - "IdentityManagementType" + "DatasetName", + "FlywheelArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::Instance" + "AWS::Comprehend::FlywheelDataset" ], "type": "string" }, @@ -89594,80 +89784,7 @@ ], "type": "object" }, - "AWS::Connect::Instance.Attributes": { - "additionalProperties": false, - "properties": { - "AutoResolveBestVoices": { - "markdownDescription": "", - "title": "AutoResolveBestVoices", - "type": "boolean" - }, - "ContactLens": { - "markdownDescription": "", - "title": "ContactLens", - "type": "boolean" - }, - "ContactflowLogs": { - "markdownDescription": "", - "title": "ContactflowLogs", - "type": "boolean" - }, - "EarlyMedia": { - "markdownDescription": "", - "title": "EarlyMedia", - "type": "boolean" - }, - "EnhancedChatMonitoring": { - "markdownDescription": "", - "title": "EnhancedChatMonitoring", - "type": "boolean" - }, - "EnhancedContactMonitoring": { - "markdownDescription": "", - "title": "EnhancedContactMonitoring", - "type": "boolean" - }, - "HighVolumeOutBound": { - "markdownDescription": "", - "title": "HighVolumeOutBound", - "type": "boolean" - }, - "InboundCalls": { - "markdownDescription": "", - "title": "InboundCalls", - "type": "boolean" - }, - "MessageStreaming": { - "type": "boolean" - }, - "MultiPartyChatConference": { - "markdownDescription": "", - "title": "MultiPartyChatConference", - "type": "boolean" - }, - "MultiPartyConference": { - "markdownDescription": "", - "title": "MultiPartyConference", - "type": "boolean" - }, - "OutboundCalls": { - "markdownDescription": "", - "title": "OutboundCalls", - "type": "boolean" - }, - "UseCustomTTSVoices": { - "markdownDescription": "", - "title": "UseCustomTTSVoices", - "type": "boolean" - } - }, - "required": [ - "InboundCalls", - "OutboundCalls" - ], - "type": "object" - }, - "AWS::Connect::InstanceStorageConfig": { + "AWS::Comprehend::PiiEntitiesDetectionJob": { "additionalProperties": false, "properties": { "Condition": { @@ -89702,52 +89819,42 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "DataAccessRoleArn": { "type": "string" }, - "KinesisFirehoseConfig": { - "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisFirehoseConfig", - "markdownDescription": "The configuration of the Kinesis Firehose delivery stream.", - "title": "KinesisFirehoseConfig" + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob.InputDataConfig" }, - "KinesisStreamConfig": { - "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisStreamConfig", - "markdownDescription": "The configuration of the Kinesis data stream.", - "title": "KinesisStreamConfig" + "JobName": { + "type": "string" }, - "KinesisVideoStreamConfig": { - "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisVideoStreamConfig", - "markdownDescription": "The configuration of the Kinesis video stream.", - "title": "KinesisVideoStreamConfig" + "LanguageCode": { + "type": "string" }, - "ResourceType": { - "markdownDescription": "A valid resource type. Following are the valid resource types: `CHAT_TRANSCRIPTS` | `CALL_RECORDINGS` | `SCHEDULED_REPORTS` | `MEDIA_STREAMS` | `CONTACT_TRACE_RECORDS` | `AGENT_EVENTS`", - "title": "ResourceType", + "Mode": { "type": "string" }, - "S3Config": { - "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.S3Config", - "markdownDescription": "The S3 bucket configuration.", - "title": "S3Config" + "RedactionConfig": { + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob.RedactionConfig" }, - "StorageType": { - "markdownDescription": "A valid storage type.", - "title": "StorageType", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob.TagsItems" + }, + "type": "array" } }, "required": [ - "InstanceArn", - "ResourceType", - "StorageType" + "DataAccessRoleArn", + "InputDataConfig", + "LanguageCode", + "Mode" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::InstanceStorageConfig" + "AWS::Comprehend::PiiEntitiesDetectionJob" ], "type": "string" }, @@ -89766,106 +89873,68 @@ ], "type": "object" }, - "AWS::Connect::InstanceStorageConfig.EncryptionConfig": { + "AWS::Comprehend::PiiEntitiesDetectionJob.InputDataConfig": { "additionalProperties": false, "properties": { - "EncryptionType": { - "markdownDescription": "The type of encryption.", - "title": "EncryptionType", + "InputFormat": { "type": "string" }, - "KeyId": { - "markdownDescription": "The full ARN of the encryption key.\n\n> Be sure to provide the full ARN of the encryption key, not just the ID.\n> \n> Amazon Connect supports only KMS keys with the default key spec of [`SYMMETRIC_DEFAULT`](https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-symmetric-default) .", - "title": "KeyId", + "S3Uri": { "type": "string" } }, "required": [ - "EncryptionType", - "KeyId" + "S3Uri" ], "type": "object" }, - "AWS::Connect::InstanceStorageConfig.KinesisFirehoseConfig": { + "AWS::Comprehend::PiiEntitiesDetectionJob.OutputDataConfig": { "additionalProperties": false, "properties": { - "FirehoseArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the delivery stream.", - "title": "FirehoseArn", + "S3Uri": { "type": "string" } }, "required": [ - "FirehoseArn" + "S3Uri" ], "type": "object" }, - "AWS::Connect::InstanceStorageConfig.KinesisStreamConfig": { + "AWS::Comprehend::PiiEntitiesDetectionJob.RedactionConfig": { "additionalProperties": false, "properties": { - "StreamArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the data stream.", - "title": "StreamArn", + "MaskCharacter": { "type": "string" - } - }, - "required": [ - "StreamArn" - ], - "type": "object" - }, - "AWS::Connect::InstanceStorageConfig.KinesisVideoStreamConfig": { - "additionalProperties": false, - "properties": { - "EncryptionConfig": { - "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.EncryptionConfig", - "markdownDescription": "The encryption configuration.", - "title": "EncryptionConfig" }, - "Prefix": { - "markdownDescription": "The prefix of the video stream.", - "title": "Prefix", + "MaskMode": { "type": "string" }, - "RetentionPeriodHours": { - "markdownDescription": "The number of hours data is retained in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream.\n\nThe default value is 0, indicating that the stream does not persist data.", - "title": "RetentionPeriodHours", - "type": "number" + "PiiEntityTypes": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "EncryptionConfig", - "Prefix", - "RetentionPeriodHours" - ], "type": "object" }, - "AWS::Connect::InstanceStorageConfig.S3Config": { + "AWS::Comprehend::PiiEntitiesDetectionJob.TagsItems": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The S3 bucket name.", - "title": "BucketName", + "Key": { "type": "string" }, - "BucketPrefix": { - "markdownDescription": "The S3 bucket prefix.", - "title": "BucketPrefix", + "Value": { "type": "string" - }, - "EncryptionConfig": { - "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.EncryptionConfig", - "markdownDescription": "The Amazon S3 encryption configuration.", - "title": "EncryptionConfig" } }, "required": [ - "BucketName", - "BucketPrefix" + "Key", + "Value" ], "type": "object" }, - "AWS::Connect::IntegrationAssociation": { + "AWS::Comprehend::SentimentDetectionJob": { "additionalProperties": false, "properties": { "Condition": { @@ -89900,19 +89969,16 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `100`", - "title": "InstanceId", + "DataAccessRoleArn": { "type": "string" }, - "IntegrationArn": { - "markdownDescription": "ARN of the integration being associated with the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `140`", - "title": "IntegrationArn", + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::SentimentDetectionJob.InputDataConfig" + }, + "JobName": { "type": "string" }, - "IntegrationType": { - "markdownDescription": "Specifies the integration type to be associated with the instance.\n\n*Allowed Values* : `LEX_BOT` | `LAMBDA_FUNCTION`", - "title": "IntegrationType", + "LanguageCode": { "type": "string" }, "Tags": { @@ -89923,15 +89989,15 @@ } }, "required": [ - "InstanceId", - "IntegrationArn", - "IntegrationType" + "DataAccessRoleArn", + "InputDataConfig", + "LanguageCode" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::IntegrationAssociation" + "AWS::Comprehend::SentimentDetectionJob" ], "type": "string" }, @@ -89950,7 +90016,22 @@ ], "type": "object" }, - "AWS::Connect::Metric": { + "AWS::Comprehend::SentimentDetectionJob.InputDataConfig": { + "additionalProperties": false, + "properties": { + "InputFormat": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::Comprehend::TargetedSentimentDetectionJob": { "additionalProperties": false, "properties": { "Condition": { @@ -89985,42 +90066,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InstanceArn": { + "DataAccessRoleArn": { "type": "string" }, - "MetricCalculation": { - "$ref": "#/definitions/AWS::Connect::Metric.MetricCalculation" - }, - "Name": { - "type": "string" + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::TargetedSentimentDetectionJob.InputDataConfig" }, - "PositiveTrendIndicator": { + "JobName": { "type": "string" }, - "Status": { + "LanguageCode": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Comprehend::TargetedSentimentDetectionJob.TagsItems" }, "type": "array" }, - "Unit": { + "VolumeKmsKeyId": { "type": "string" } }, "required": [ - "InstanceArn" + "DataAccessRoleArn", + "InputDataConfig", + "LanguageCode" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::Metric" + "AWS::Comprehend::TargetedSentimentDetectionJob" ], "type": "string" }, @@ -90039,152 +90116,53 @@ ], "type": "object" }, - "AWS::Connect::Metric.AvailableFilter": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Id", - "Type" - ], - "type": "object" - }, - "AWS::Connect::Metric.CalculationComponent": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "MetricFilters": { - "items": { - "$ref": "#/definitions/AWS::Connect::Metric.MetricFilter" - }, - "type": "array" - }, - "MetricId": { - "type": "string" - }, - "MetricName": { - "type": "string" - } - }, - "required": [ - "Alias" - ], - "type": "object" - }, - "AWS::Connect::Metric.CreatedByInfo": { + "AWS::Comprehend::TargetedSentimentDetectionJob.InputDataConfig": { "additionalProperties": false, "properties": { - "AWSIdentityArn": { + "InputFormat": { "type": "string" }, - "ConnectUserArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::Metric.MetricCalculation": { - "additionalProperties": false, - "properties": { - "Calculation": { + "S3Uri": { "type": "string" - }, - "CalculationComponents": { - "items": { - "$ref": "#/definitions/AWS::Connect::Metric.CalculationComponent" - }, - "type": "array" } }, "required": [ - "Calculation", - "CalculationComponents" + "S3Uri" ], "type": "object" }, - "AWS::Connect::Metric.MetricFilter": { + "AWS::Comprehend::TargetedSentimentDetectionJob.OutputDataConfig": { "additionalProperties": false, "properties": { - "BooleanCondition": { - "$ref": "#/definitions/AWS::Connect::Metric.MetricFilterBooleanCondition" - }, - "MetricFilterKey": { + "KmsKeyId": { "type": "string" }, - "Negate": { - "type": "boolean" - }, - "NumberCondition": { - "$ref": "#/definitions/AWS::Connect::Metric.MetricFilterNumberCondition" - }, - "StringCondition": { - "$ref": "#/definitions/AWS::Connect::Metric.MetricFilterStringCondition" - } - }, - "required": [ - "MetricFilterKey" - ], - "type": "object" - }, - "AWS::Connect::Metric.MetricFilterBooleanCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { + "S3Uri": { "type": "string" } }, "required": [ - "Comparison" + "S3Uri" ], "type": "object" }, - "AWS::Connect::Metric.MetricFilterNumberCondition": { + "AWS::Comprehend::TargetedSentimentDetectionJob.TagsItems": { "additionalProperties": false, "properties": { - "Comparison": { + "Key": { "type": "string" }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Comparison", - "Values" - ], - "type": "object" - }, - "AWS::Connect::Metric.MetricFilterStringCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { + "Value": { "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "Comparison", - "Values" + "Key", + "Value" ], "type": "object" }, - "AWS::Connect::Notification": { + "AWS::ComputeOptimizer::AutomationRule": { "additionalProperties": false, "properties": { "Condition": { @@ -90219,24 +90197,36 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "$ref": "#/definitions/AWS::Connect::Notification.NotificationContent" + "Criteria": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.Criteria" }, - "ExpiresAt": { + "Description": { "type": "string" }, - "InstanceArn": { + "Name": { "type": "string" }, + "OrganizationConfiguration": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.OrganizationConfiguration" + }, "Priority": { "type": "string" }, - "Recipients": { + "RecommendedActionTypes": { "items": { "type": "string" }, "type": "array" }, + "RuleType": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.Schedule" + }, + "Status": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -90245,14 +90235,17 @@ } }, "required": [ - "Content", - "InstanceArn" + "Name", + "RecommendedActionTypes", + "RuleType", + "Schedule", + "Status" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::Notification" + "AWS::ComputeOptimizer::AutomationRule" ], "type": "string" }, @@ -90271,54 +90264,162 @@ ], "type": "object" }, - "AWS::Connect::Notification.NotificationContent": { + "AWS::ComputeOptimizer::AutomationRule.Criteria": { "additionalProperties": false, "properties": { - "DeDE": { - "type": "string" + "EbsVolumeSizeInGib": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition" + }, + "type": "array" }, - "EnUS": { - "type": "string" + "EbsVolumeType": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" + }, + "type": "array" }, - "EsES": { - "type": "string" + "EstimatedMonthlySavings": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.DoubleCriteriaCondition" + }, + "type": "array" }, - "FrFR": { - "type": "string" + "LookBackPeriodInDays": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition" + }, + "type": "array" }, - "IdID": { - "type": "string" + "Region": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" + }, + "type": "array" }, - "ItIT": { - "type": "string" + "ResourceArn": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" + }, + "type": "array" }, - "JaJP": { - "type": "string" + "ResourceTag": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.ResourceTagsCriteriaCondition" + }, + "type": "array" }, - "KoKR": { + "RestartNeeded": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ComputeOptimizer::AutomationRule.DoubleCriteriaCondition": { + "additionalProperties": false, + "properties": { + "Comparison": { "type": "string" }, - "PtBR": { + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition": { + "additionalProperties": false, + "properties": { + "Comparison": { "type": "string" }, - "ZhCN": { - "type": "string" + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ComputeOptimizer::AutomationRule.OrganizationConfiguration": { + "additionalProperties": false, + "properties": { + "AccountIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "ZhTW": { + "RuleApplyOrder": { "type": "string" } }, "type": "object" }, - "AWS::Connect::PhoneNumber": { + "AWS::ComputeOptimizer::AutomationRule.ResourceTagsCriteriaCondition": { "additionalProperties": false, "properties": { - "Condition": { + "Comparison": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ComputeOptimizer::AutomationRule.Schedule": { + "additionalProperties": false, + "properties": { + "ExecutionWindowInMinutes": { + "type": "number" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleExpressionTimezone": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Config::AggregationAuthorization": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", "Retain", "Snapshot" ], @@ -90345,53 +90446,34 @@ "Properties": { "additionalProperties": false, "properties": { - "CountryCode": { - "markdownDescription": "The ISO country code.", - "title": "CountryCode", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the phone number.", - "title": "Description", - "type": "string" - }, - "Prefix": { - "markdownDescription": "The prefix of the phone number. If provided, it must contain `+` as part of the country code.\n\n*Pattern* : `^\\\\+[0-9]{1,15}`", - "title": "Prefix", + "AuthorizedAccountId": { + "markdownDescription": "The 12-digit account ID of the account authorized to aggregate data.", + "title": "AuthorizedAccountId", "type": "string" }, - "SourcePhoneNumberArn": { - "markdownDescription": "The claimed phone number ARN that was previously imported from the external service, such as AWS End User Messaging. If it is from AWS End User Messaging, it looks like the ARN of the phone number that was imported from AWS End User Messaging.", - "title": "SourcePhoneNumberArn", + "AuthorizedAwsRegion": { + "markdownDescription": "The region authorized to collect aggregated data.", + "title": "AuthorizedAwsRegion", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "An array of tag object.", "title": "Tags", "type": "array" - }, - "TargetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for Connect Customer instances or traffic distribution group that phone numbers are claimed to.", - "title": "TargetArn", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of phone number.", - "title": "Type", - "type": "string" } }, "required": [ - "TargetArn" + "AuthorizedAccountId", + "AuthorizedAwsRegion" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::PhoneNumber" + "AWS::Config::AggregationAuthorization" ], "type": "string" }, @@ -90410,7 +90492,7 @@ ], "type": "object" }, - "AWS::Connect::PredefinedAttribute": { + "AWS::Config::ConfigRule": { "additionalProperties": false, "properties": { "Condition": { @@ -90445,44 +90527,58 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributeConfiguration": { - "$ref": "#/definitions/AWS::Connect::PredefinedAttribute.AttributeConfiguration", - "markdownDescription": "Custom metadata that is associated to predefined attributes to control behavior in upstream services, such as controlling how a predefined attribute should be displayed in the Amazon Connect admin website.", - "title": "AttributeConfiguration" + "Compliance": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Compliance", + "markdownDescription": "Indicates whether an AWS resource or AWS Config rule is compliant and provides the number of contributors that affect the compliance.", + "title": "Compliance" }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "ConfigRuleName": { + "markdownDescription": "A name for the AWS Config rule. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the rule name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .", + "title": "ConfigRuleName", "type": "string" }, - "Name": { - "markdownDescription": "The name of the predefined attribute.", - "title": "Name", + "Description": { + "markdownDescription": "The description that you provide for the AWS Config rule.", + "title": "Description", "type": "string" }, - "Purposes": { + "EvaluationModes": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Config::ConfigRule.EvaluationModeConfiguration" }, - "markdownDescription": "Values that enable you to categorize your predefined attributes. You can use them in custom UI elements across the Amazon Connect admin website.", - "title": "Purposes", + "markdownDescription": "The modes the AWS Config rule can be evaluated in. The valid values are distinct objects. By default, the value is Detective evaluation mode only.", + "title": "EvaluationModes", "type": "array" }, - "Values": { - "$ref": "#/definitions/AWS::Connect::PredefinedAttribute.Values", - "markdownDescription": "The values of a predefined attribute.", - "title": "Values" + "InputParameters": { + "markdownDescription": "A string, in JSON format, that is passed to the AWS Config rule Lambda function.", + "title": "InputParameters", + "type": "object" + }, + "MaximumExecutionFrequency": { + "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for `MaximumExecutionFrequency` when:\n\n- You are using an AWS managed rule that is triggered at a periodic frequency.\n- Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see [ConfigSnapshotDeliveryProperties](https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigSnapshotDeliveryProperties.html) .\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.", + "title": "MaximumExecutionFrequency", + "type": "string" + }, + "Scope": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Scope", + "markdownDescription": "Defines which resources can trigger an evaluation for the rule. The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes.", + "title": "Scope" + }, + "Source": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Source", + "markdownDescription": "Provides the rule owner ( `AWS` for managed rules, `CUSTOM_POLICY` for Custom Policy rules, and `CUSTOM_LAMBDA` for Custom Lambda rules), the rule identifier, and the notifications that cause the function to evaluate your AWS resources.", + "title": "Source" } }, "required": [ - "InstanceArn", - "Name" + "Source" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::PredefinedAttribute" + "AWS::Config::ConfigRule" ], "type": "string" }, @@ -90501,37 +90597,136 @@ ], "type": "object" }, - "AWS::Connect::PredefinedAttribute.AttributeConfiguration": { + "AWS::Config::ConfigRule.Compliance": { "additionalProperties": false, "properties": { - "EnableValueValidationOnAssociation": { - "markdownDescription": "", - "title": "EnableValueValidationOnAssociation", + "Type": { + "markdownDescription": "Indicates whether an AWS resource or AWS Config rule is compliant.\n\nA resource is compliant if it complies with all of the AWS Config rules that evaluate it. A resource is noncompliant if it does not comply with one or more of these rules.\n\nA rule is compliant if all of the resources that the rule evaluates comply with it. A rule is noncompliant if any of these resources do not comply.\n\nAWS Config returns the `INSUFFICIENT_DATA` value when no evaluation results are available for the AWS resource or AWS Config rule.\n\nFor the `Compliance` data type, AWS Config supports only `COMPLIANT` , `NON_COMPLIANT` , and `INSUFFICIENT_DATA` values. AWS Config does not support the `NOT_APPLICABLE` value for the `Compliance` data type.", + "title": "Type", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::ConfigRule.CustomPolicyDetails": { + "additionalProperties": false, + "properties": { + "EnableDebugLogDelivery": { + "markdownDescription": "The boolean expression for enabling debug logging for your AWS Config Custom Policy rule. The default value is `false` .", + "title": "EnableDebugLogDelivery", "type": "boolean" }, - "IsReadOnly": { - "markdownDescription": "", - "title": "IsReadOnly", - "type": "boolean" + "PolicyRuntime": { + "markdownDescription": "The runtime system for your AWS Config Custom Policy rule. Guard is a policy-as-code language that allows you to write policies that are enforced by AWS Config Custom Policy rules. For more information about Guard, see the [Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard) .", + "title": "PolicyRuntime", + "type": "string" + }, + "PolicyText": { + "markdownDescription": "The policy definition containing the logic for your AWS Config Custom Policy rule.", + "title": "PolicyText", + "type": "string" } }, "type": "object" }, - "AWS::Connect::PredefinedAttribute.Values": { + "AWS::Config::ConfigRule.EvaluationModeConfiguration": { "additionalProperties": false, "properties": { - "StringList": { + "Mode": { + "markdownDescription": "The mode of an evaluation. The valid values are Detective or Proactive.", + "title": "Mode", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::ConfigRule.Scope": { + "additionalProperties": false, + "properties": { + "ComplianceResourceId": { + "markdownDescription": "The ID of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for `ComplianceResourceTypes` .", + "title": "ComplianceResourceId", + "type": "string" + }, + "ComplianceResourceTypes": { "items": { "type": "string" }, - "markdownDescription": "Predefined attribute values of type string list.", - "title": "StringList", + "markdownDescription": "The resource types of only those AWS resources that you want to trigger an evaluation for the rule. You can only specify one type if you also specify a resource ID for `ComplianceResourceId` .", + "title": "ComplianceResourceTypes", "type": "array" + }, + "TagKey": { + "markdownDescription": "The tag key that is applied to only those AWS resources that you want to trigger an evaluation for the rule.", + "title": "TagKey", + "type": "string" + }, + "TagValue": { + "markdownDescription": "The tag value applied to only those AWS resources that you want to trigger an evaluation for the rule. If you specify a value for `TagValue` , you must also specify a value for `TagKey` .", + "title": "TagValue", + "type": "string" } }, "type": "object" }, - "AWS::Connect::Prompt": { + "AWS::Config::ConfigRule.Source": { + "additionalProperties": false, + "properties": { + "CustomPolicyDetails": { + "$ref": "#/definitions/AWS::Config::ConfigRule.CustomPolicyDetails", + "markdownDescription": "Provides the runtime system, policy definition, and whether debug logging is enabled. Required when owner is set to `CUSTOM_POLICY` .", + "title": "CustomPolicyDetails" + }, + "Owner": { + "markdownDescription": "Indicates whether AWS or the customer owns and manages the AWS Config rule.\n\nAWS Config Managed Rules are predefined rules owned by AWS . For more information, see [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) in the *AWS Config developer guide* .\n\nAWS Config Custom Rules are rules that you can develop either with Guard ( `CUSTOM_POLICY` ) or AWS Lambda ( `CUSTOM_LAMBDA` ). For more information, see [AWS Config Custom Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html) in the *AWS Config developer guide* .", + "title": "Owner", + "type": "string" + }, + "SourceDetails": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" + }, + "markdownDescription": "Provides the source and the message types that cause AWS Config to evaluate your AWS resources against a rule. It also provides the frequency with which you want AWS Config to run evaluations for the rule if the trigger type is periodic.\n\nIf the owner is set to `CUSTOM_POLICY` , the only acceptable values for the AWS Config rule trigger message type are `ConfigurationItemChangeNotification` and `OversizedConfigurationItemChangeNotification` .", + "title": "SourceDetails", + "type": "array" + }, + "SourceIdentifier": { + "markdownDescription": "For AWS Config Managed rules, a predefined identifier from a list. For example, `IAM_PASSWORD_POLICY` is a managed rule. To reference a managed rule, see [List of AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) .\n\nFor AWS Config Custom Lambda rules, the identifier is the Amazon Resource Name (ARN) of the rule's AWS Lambda function, such as `arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name` .\n\nFor AWS Config Custom Policy rules, this field will be ignored.", + "title": "SourceIdentifier", + "type": "string" + } + }, + "required": [ + "Owner" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.SourceDetail": { + "additionalProperties": false, + "properties": { + "EventSource": { + "markdownDescription": "The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources.", + "title": "EventSource", + "type": "string" + }, + "MaximumExecutionFrequency": { + "markdownDescription": "The frequency at which you want AWS Config to run evaluations for a custom rule with a periodic trigger. If you specify a value for `MaximumExecutionFrequency` , then `MessageType` must use the `ScheduledNotification` value.\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.\n> \n> Based on the valid value you choose, AWS Config runs evaluations once for each valid value. For example, if you choose `Three_Hours` , AWS Config runs evaluations once every three hours. In this case, `Three_Hours` is the frequency of this rule.", + "title": "MaximumExecutionFrequency", + "type": "string" + }, + "MessageType": { + "markdownDescription": "The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:\n\n- `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change.\n- `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.\n- `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `MaximumExecutionFrequency` .\n- `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot.\n\nIf you want your custom rule to be triggered by configuration changes, specify two SourceDetail objects, one for `ConfigurationItemChangeNotification` and one for `OversizedConfigurationItemChangeNotification` .", + "title": "MessageType", + "type": "string" + } + }, + "required": [ + "EventSource", + "MessageType" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator": { "additionalProperties": false, "properties": { "Condition": { @@ -90566,44 +90761,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the prompt.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The identifier of the Connect Customer instance.", - "title": "InstanceArn", - "type": "string" + "AccountAggregationSources": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.AccountAggregationSource" + }, + "markdownDescription": "Provides a list of source accounts and regions to be aggregated.", + "title": "AccountAggregationSources", + "type": "array" }, - "Name": { - "markdownDescription": "The name of the prompt.", - "title": "Name", + "ConfigurationAggregatorName": { + "markdownDescription": "The name of the aggregator.", + "title": "ConfigurationAggregatorName", "type": "string" }, - "S3Uri": { - "markdownDescription": "The URI for the S3 bucket where the prompt is stored. This property is required when you create a prompt.", - "title": "S3Uri", - "type": "string" + "OrganizationAggregationSource": { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.OrganizationAggregationSource", + "markdownDescription": "Provides an organization and list of regions to be aggregated.", + "title": "OrganizationAggregationSource" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "An array of tag object.", "title": "Tags", "type": "array" } }, - "required": [ - "InstanceArn", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::Prompt" + "AWS::Config::ConfigurationAggregator" ], "type": "string" }, @@ -90617,12 +90806,68 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Connect::Queue": { + "AWS::Config::ConfigurationAggregator.AccountAggregationSource": { + "additionalProperties": false, + "properties": { + "AccountIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The 12-digit account ID of the account being aggregated.", + "title": "AccountIds", + "type": "array" + }, + "AllAwsRegions": { + "markdownDescription": "If true, aggregate existing AWS Config regions and future regions.", + "title": "AllAwsRegions", + "type": "boolean" + }, + "AwsRegions": { + "items": { + "type": "string" + }, + "markdownDescription": "The source regions being aggregated.", + "title": "AwsRegions", + "type": "array" + } + }, + "required": [ + "AccountIds" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": { + "additionalProperties": false, + "properties": { + "AllAwsRegions": { + "markdownDescription": "If true, aggregate existing AWS Config regions and future regions.", + "title": "AllAwsRegions", + "type": "boolean" + }, + "AwsRegions": { + "items": { + "type": "string" + }, + "markdownDescription": "The source regions being aggregated.", + "title": "AwsRegions", + "type": "array" + }, + "RoleArn": { + "markdownDescription": "ARN of the IAM role used to retrieve AWS Organizations details associated with the aggregator account.", + "title": "RoleArn", + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Config::ConfigurationRecorder": { "additionalProperties": false, "properties": { "Condition": { @@ -90657,79 +90902,38 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalEmailAddresses": { - "items": { - "$ref": "#/definitions/AWS::Connect::Queue.EmailAddress" - }, - "type": "array" - }, - "Description": { - "markdownDescription": "The description of the queue.", - "title": "Description", - "type": "string" - }, - "HoursOfOperationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the hours of operation.", - "title": "HoursOfOperationArn", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The identifier of the Connect Customer instance.", - "title": "InstanceArn", - "type": "string" - }, - "MaxContacts": { - "markdownDescription": "The maximum number of contacts that can be in the queue before it is considered full.", - "title": "MaxContacts", - "type": "number" - }, "Name": { - "markdownDescription": "The name of the queue.", + "markdownDescription": "The name of the configuration recorder. AWS Config automatically assigns the name of \"default\" when creating the configuration recorder.\n\nYou cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.", "title": "Name", "type": "string" }, - "OutboundCallerConfig": { - "$ref": "#/definitions/AWS::Connect::Queue.OutboundCallerConfig", - "markdownDescription": "The outbound caller ID name, number, and outbound whisper flow.", - "title": "OutboundCallerConfig" - }, - "OutboundEmailConfig": { - "$ref": "#/definitions/AWS::Connect::Queue.OutboundEmailConfig", - "markdownDescription": "The outbound email address ID for a specified queue.", - "title": "OutboundEmailConfig" + "RecordingGroup": { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingGroup", + "markdownDescription": "Specifies which resource types AWS Config records for configuration changes.\n\n> *High Number of AWS Config Evaluations*\n> \n> You may notice increased activity in your account during your initial month recording with AWS Config when compared to subsequent months. During the initial bootstrapping process, AWS Config runs evaluations on all the resources in your account that you have selected for AWS Config to record.\n> \n> If you are running ephemeral workloads, you may see increased activity from AWS Config as it records configuration changes associated with creating and deleting these temporary resources. An *ephemeral workload* is a temporary use of computing resources that are loaded and run when needed. Examples include Amazon Elastic Compute Cloud ( Amazon EC2 ) Spot Instances, Amazon EMR jobs, and AWS Auto Scaling . If you want to avoid the increased activity from running ephemeral workloads, you can run these types of workloads in a separate account with AWS Config turned off to avoid increased configuration recording and rule evaluations.", + "title": "RecordingGroup" }, - "QuickConnectArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARN) of the of the quick connects available to agents who are working the queue.", - "title": "QuickConnectArns", - "type": "array" + "RecordingMode": { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingMode", + "markdownDescription": "Specifies the default recording frequency for the configuration recorder. AWS Config supports *Continuous recording* and *Daily recording* .\n\n- Continuous recording allows you to record configuration changes continuously whenever a change occurs.\n- Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it\u2019s different from the previous CI recorded.\n\n> *Some resource types require continuous recording*\n> \n> AWS Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous. \n\nYou can also override the recording frequency for specific resource types.", + "title": "RecordingMode" }, - "Status": { - "markdownDescription": "The status of the queue.", - "title": "Status", + "RoleARN": { + "markdownDescription": "Amazon Resource Name (ARN) of the IAM role assumed by AWS Config and used by the configuration recorder. For more information, see [Permissions for the IAM Role Assigned](https://docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html) to AWS Config in the AWS Config Developer Guide.\n\n> *Pre-existing AWS Config role*\n> \n> If you have used an AWS service that uses AWS Config , such as AWS Security Hub CSPM or AWS Control Tower , and an AWS Config role has already been created, make sure that the IAM role that you use when setting up AWS Config keeps the same minimum permissions as the already created AWS Config role. You must do this so that the other AWS service continues to run as expected.\n> \n> For example, if AWS Control Tower has an IAM role that allows AWS Config to read Amazon Simple Storage Service ( Amazon S3 ) objects, make sure that the same permissions are granted within the IAM role you use when setting up AWS Config . Otherwise, it may interfere with how AWS Control Tower operates. For more information about IAM roles for AWS Config , see [*Identity and Access Management for AWS Config*](https://docs.aws.amazon.com/config/latest/developerguide/security-iam.html) in the *AWS Config Developer Guide* .", + "title": "RoleARN", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" + "StartedOnCreate": { + "type": "boolean" } }, "required": [ - "HoursOfOperationArn", - "InstanceArn", - "Name" + "RoleARN" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::Queue" + "AWS::Config::ConfigurationRecorder" ], "type": "string" }, @@ -90748,51 +90952,122 @@ ], "type": "object" }, - "AWS::Connect::Queue.EmailAddress": { + "AWS::Config::ConfigurationRecorder.ExclusionByResourceTypes": { "additionalProperties": false, "properties": { - "EmailAddressArn": { - "type": "string" + "ResourceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A comma-separated list of resource types to exclude from recording by the configuration recorder.", + "title": "ResourceTypes", + "type": "array" } }, "required": [ - "EmailAddressArn" + "ResourceTypes" ], "type": "object" }, - "AWS::Connect::Queue.OutboundCallerConfig": { + "AWS::Config::ConfigurationRecorder.RecordingGroup": { "additionalProperties": false, "properties": { - "OutboundCallerIdName": { - "markdownDescription": "The caller ID name.", - "title": "OutboundCallerIdName", + "AllSupported": { + "markdownDescription": "Specifies whether AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types.\n\nIf you set this field to `true` , when AWS Config adds support for a new resource type, AWS Config starts recording resources of that type automatically.\n\nIf you set this field to `true` , you cannot enumerate specific resource types to record in the `resourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) , or to exclude in the `resourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) .\n\n> *Region availability*\n> \n> Check [Resource Coverage by Region Availability](https://docs.aws.amazon.com/config/latest/developerguide/what-is-resource-config-coverage.html) to see if a resource type is supported in the AWS Region where you set up AWS Config .", + "title": "AllSupported", + "type": "boolean" + }, + "ExclusionByResourceTypes": { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.ExclusionByResourceTypes", + "markdownDescription": "An object that specifies how AWS Config excludes resource types from being recorded by the configuration recorder.\n\nTo use this option, you must set the `useOnly` field of [AWS::Config::ConfigurationRecorder RecordingStrategy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingstrategy.html) to `EXCLUSION_BY_RESOURCE_TYPES` .", + "title": "ExclusionByResourceTypes" + }, + "IncludeGlobalResourceTypes": { + "markdownDescription": "This option is a bundle which only applies to the global IAM resource types: IAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded by AWS Config in Regions where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:\n\n- Asia Pacific (Hyderabad)\n- Asia Pacific (Melbourne)\n- Canada West (Calgary)\n- Europe (Spain)\n- Europe (Zurich)\n- Israel (Tel Aviv)\n- Middle East (UAE)\n\n> *Aurora global clusters are recorded in all enabled Regions*\n> \n> The `AWS::RDS::GlobalCluster` resource type will be recorded in all supported AWS Config Regions where the configuration recorder is enabled, even if `IncludeGlobalResourceTypes` is set to `false` . The `IncludeGlobalResourceTypes` option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.\n> \n> If you do not want to record `AWS::RDS::GlobalCluster` in all enabled Regions, use one of the following recording strategies:\n> \n> - *Record all current and future resource types with exclusions* ( `EXCLUSION_BY_RESOURCE_TYPES` ), or\n> - *Record specific resource types* ( `INCLUSION_BY_RESOURCE_TYPES` ).\n> \n> For more information, see [Selecting Which Resources are Recorded](https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html#select-resources-all) in the *AWS Config developer guide* . > *IncludeGlobalResourceTypes and the exclusion recording strategy*\n> \n> The `IncludeGlobalResourceTypes` field has no impact on the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy. This means that the global IAM resource types ( IAM users, groups, roles, and customer managed policies) will not be automatically added as exclusions for `ExclusionByResourceTypes` when `IncludeGlobalResourceTypes` is set to `false` .\n> \n> The `IncludeGlobalResourceTypes` field should only be used to modify the `AllSupported` field, as the default for the `AllSupported` field is to record configuration changes for all supported resource types excluding the global IAM resource types. To include the global IAM resource types when `AllSupported` is set to `true` , make sure to set `IncludeGlobalResourceTypes` to `true` .\n> \n> To exclude the global IAM resource types for the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy, you need to manually add them to the `ResourceTypes` field of `ExclusionByResourceTypes` . > *Required and optional fields*\n> \n> Before you set this field to `true` , set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` . Optionally, you can set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `ALL_SUPPORTED_RESOURCE_TYPES` . > *Overriding fields*\n> \n> If you set this field to `false` but list global IAM resource types in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) , AWS Config will still record configuration changes for those specified resource types *regardless* of if you set the `IncludeGlobalResourceTypes` field to false.\n> \n> If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the `ResourceTypes` field in addition to setting the `IncludeGlobalResourceTypes` field to false.", + "title": "IncludeGlobalResourceTypes", + "type": "boolean" + }, + "RecordingStrategy": { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingStrategy", + "markdownDescription": "An object that specifies the recording strategy for the configuration recorder.\n\n- If you set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `ALL_SUPPORTED_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` . When AWS Config adds support for a new resource type, AWS Config automatically starts recording resources of that type.\n- If you set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `INCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for only the resource types you specify in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n- If you set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `EXCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types except the resource types that you specify to exclude from being recorded in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) .\n\n> *Required and optional fields*\n> \n> The `recordingStrategy` field is optional when you set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` .\n> \n> The `recordingStrategy` field is optional when you list resource types in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n> \n> The `recordingStrategy` field is required if you list resource types to exclude from recording in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) . > *Overriding fields*\n> \n> If you choose `EXCLUSION_BY_RESOURCE_TYPES` for the recording strategy, the `ExclusionByResourceTypes` field will override other properties in the request.\n> \n> For example, even if you set `IncludeGlobalResourceTypes` to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the `ResourceTypes` field of `ExclusionByResourceTypes` . > *Global resources types and the resource exclusion recording strategy*\n> \n> By default, if you choose the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy, when AWS Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, AWS Config starts recording resources of that type automatically.\n> \n> Unless specifically listed as exclusions, `AWS::RDS::GlobalCluster` will be recorded automatically in all supported AWS Config Regions were the configuration recorder is enabled.\n> \n> IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:\n> \n> - Asia Pacific (Hyderabad)\n> - Asia Pacific (Melbourne)\n> - Canada West (Calgary)\n> - Europe (Spain)\n> - Europe (Zurich)\n> - Israel (Tel Aviv)\n> - Middle East (UAE)", + "title": "RecordingStrategy" + }, + "ResourceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A comma-separated list that specifies which resource types AWS Config records.\n\nFor a list of valid `ResourceTypes` values, see the *Resource Type Value* column in [Supported AWS resource Types](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources) in the *AWS Config developer guide* .\n\n> *Required and optional fields*\n> \n> Optionally, you can set the `useOnly` field of [RecordingStrategy](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html) to `INCLUSION_BY_RESOURCE_TYPES` .\n> \n> To record all configuration changes, set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` , and either omit this field or don't specify any resource types in this field. If you set the `AllSupported` field to `false` and specify values for `ResourceTypes` , when AWS Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group. > *Region availability*\n> \n> Before specifying a resource type for AWS Config to track, check [Resource Coverage by Region Availability](https://docs.aws.amazon.com/config/latest/developerguide/what-is-resource-config-coverage.html) to see if the resource type is supported in the AWS Region where you set up AWS Config . If a resource type is supported by AWS Config in at least one Region, you can enable the recording of that resource type in all Regions supported by AWS Config , even if the specified resource type is not supported in the AWS Region where you set up AWS Config .", + "title": "ResourceTypes", + "type": "array" + } + }, + "type": "object" + }, + "AWS::Config::ConfigurationRecorder.RecordingMode": { + "additionalProperties": false, + "properties": { + "RecordingFrequency": { + "markdownDescription": "The default recording frequency that AWS Config uses to record configuration changes.\n\n> Daily recording cannot be specified for the following resource types:\n> \n> - `AWS::Config::ResourceCompliance`\n> - `AWS::Config::ConformancePackCompliance`\n> - `AWS::Config::ConfigurationRecorder`\n> \n> For the *allSupported* ( `ALL_SUPPORTED_RESOURCE_TYPES` ) recording strategy, these resource types will be set to Continuous recording.", + "title": "RecordingFrequency", "type": "string" }, - "OutboundCallerIdNumberArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the outbound caller ID number.\n\n> Only use the phone number ARN format that doesn't contain `instance` in the path, for example, `arn:aws:connect:us-east-1:1234567890:phone-number/uuid` . This is the same ARN format that is returned when you create a phone number using CloudFormation , or when you call the [ListPhoneNumbersV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_ListPhoneNumbersV2.html) API.", - "title": "OutboundCallerIdNumberArn", + "RecordingModeOverrides": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingModeOverride" + }, + "markdownDescription": "An array of `recordingModeOverride` objects for you to specify your overrides for the recording mode. The `recordingModeOverride` object in the `recordingModeOverrides` array consists of three fields: a `description` , the new `recordingFrequency` , and an array of `resourceTypes` to override.", + "title": "RecordingModeOverrides", + "type": "array" + } + }, + "required": [ + "RecordingFrequency" + ], + "type": "object" + }, + "AWS::Config::ConfigurationRecorder.RecordingModeOverride": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "A description that you provide for the override.", + "title": "Description", "type": "string" }, - "OutboundFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the outbound flow.", - "title": "OutboundFlowArn", + "RecordingFrequency": { + "markdownDescription": "The recording frequency that will be applied to all the resource types specified in the override.\n\n- Continuous recording allows you to record configuration changes continuously whenever a change occurs.\n- Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it\u2019s different from the previous CI recorded.\n\n> AWS Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.", + "title": "RecordingFrequency", "type": "string" + }, + "ResourceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A comma-separated list that specifies which resource types AWS Config includes in the override.\n\n> Daily recording cannot be specified for the following resource types:\n> \n> - `AWS::Config::ResourceCompliance`\n> - `AWS::Config::ConformancePackCompliance`\n> - `AWS::Config::ConfigurationRecorder`", + "title": "ResourceTypes", + "type": "array" } }, + "required": [ + "RecordingFrequency", + "ResourceTypes" + ], "type": "object" }, - "AWS::Connect::Queue.OutboundEmailConfig": { + "AWS::Config::ConfigurationRecorder.RecordingStrategy": { "additionalProperties": false, "properties": { - "OutboundEmailAddressId": { - "markdownDescription": "The identifier of the email address.", - "title": "OutboundEmailAddressId", + "UseOnly": { + "markdownDescription": "The recording strategy for the configuration recorder.\n\n- If you set this option to `ALL_SUPPORTED_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` . When AWS Config adds support for a new resource type, AWS Config automatically starts recording resources of that type. For a list of supported resource types, see [Supported Resource Types](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources) in the *AWS Config developer guide* .\n- If you set this option to `INCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for only the resource types that you specify in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n- If you set this option to `EXCLUSION_BY_RESOURCE_TYPES` , AWS Config records configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) .\n\n> *Required and optional fields*\n> \n> The `recordingStrategy` field is optional when you set the `AllSupported` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) to `true` .\n> \n> The `recordingStrategy` field is optional when you list resource types in the `ResourceTypes` field of [RecordingGroup](https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html) .\n> \n> The `recordingStrategy` field is required if you list resource types to exclude from recording in the `ResourceTypes` field of [ExclusionByResourceTypes](https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html) . > *Overriding fields*\n> \n> If you choose `EXCLUSION_BY_RESOURCE_TYPES` for the recording strategy, the `ExclusionByResourceTypes` field will override other properties in the request.\n> \n> For example, even if you set `IncludeGlobalResourceTypes` to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the `ResourceTypes` field of `ExclusionByResourceTypes` . > *Global resource types and the exclusion recording strategy*\n> \n> By default, if you choose the `EXCLUSION_BY_RESOURCE_TYPES` recording strategy, when AWS Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, AWS Config starts recording resources of that type automatically.\n> \n> Unless specifically listed as exclusions, `AWS::RDS::GlobalCluster` will be recorded automatically in all supported AWS Config Regions were the configuration recorder is enabled.\n> \n> IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:\n> \n> - Asia Pacific (Hyderabad)\n> - Asia Pacific (Melbourne)\n> - Canada West (Calgary)\n> - Europe (Spain)\n> - Europe (Zurich)\n> - Israel (Tel Aviv)\n> - Middle East (UAE)", + "title": "UseOnly", "type": "string" } }, + "required": [ + "UseOnly" + ], "type": "object" }, - "AWS::Connect::QuickConnect": { + "AWS::Config::ConformancePack": { "additionalProperties": false, "properties": { "Condition": { @@ -90827,45 +91102,59 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the quick connect.", - "title": "Description", - "type": "string" + "ConformancePackInputParameters": { + "items": { + "$ref": "#/definitions/AWS::Config::ConformancePack.ConformancePackInputParameter" + }, + "markdownDescription": "A list of ConformancePackInputParameter objects.", + "title": "ConformancePackInputParameters", + "type": "array" }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "ConformancePackName": { + "markdownDescription": "Name of the conformance pack you want to create.", + "title": "ConformancePackName", "type": "string" }, - "Name": { - "markdownDescription": "The name of the quick connect.", - "title": "Name", + "DeliveryS3Bucket": { + "markdownDescription": "The name of the Amazon S3 bucket where AWS Config stores conformance pack templates.", + "title": "DeliveryS3Bucket", "type": "string" }, - "QuickConnectConfig": { - "$ref": "#/definitions/AWS::Connect::QuickConnect.QuickConnectConfig", - "markdownDescription": "Contains information about the quick connect.", - "title": "QuickConnectConfig" + "DeliveryS3KeyPrefix": { + "markdownDescription": "The prefix for the Amazon S3 bucket.", + "title": "DeliveryS3KeyPrefix", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", "type": "array" + }, + "TemplateBody": { + "markdownDescription": "A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.\n\n> You can only use a YAML template with two resource types: config rule ( `AWS::Config::ConfigRule` ) and a remediation action ( `AWS::Config::RemediationConfiguration` ).", + "title": "TemplateBody", + "type": "string" + }, + "TemplateS3Uri": { + "markdownDescription": "Location of file containing the template body (s3://bucketname/prefix). The uri must point to the conformance pack template (max size: 300 KB) that is located in an Amazon S3 bucket.\n\n> You must have access to read Amazon S3 bucket.", + "title": "TemplateS3Uri", + "type": "string" + }, + "TemplateSSMDocumentDetails": { + "$ref": "#/definitions/AWS::Config::ConformancePack.TemplateSSMDocumentDetails", + "markdownDescription": "An object that contains the name or Amazon Resource Name (ARN) of the AWS Systems Manager document (SSM document) and the version of the SSM document that is used to create a conformance pack.", + "title": "TemplateSSMDocumentDetails" } }, "required": [ - "InstanceArn", - "Name", - "QuickConnectConfig" + "ConformancePackName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::QuickConnect" + "AWS::Config::ConformancePack" ], "type": "string" }, @@ -90884,105 +91173,43 @@ ], "type": "object" }, - "AWS::Connect::QuickConnect.FlowQuickConnectConfig": { - "additionalProperties": false, - "properties": { - "ContactFlowArn": { - "type": "string" - } - }, - "required": [ - "ContactFlowArn" - ], - "type": "object" - }, - "AWS::Connect::QuickConnect.PhoneNumberQuickConnectConfig": { - "additionalProperties": false, - "properties": { - "PhoneNumber": { - "markdownDescription": "The phone number in E.164 format.", - "title": "PhoneNumber", - "type": "string" - } - }, - "required": [ - "PhoneNumber" - ], - "type": "object" - }, - "AWS::Connect::QuickConnect.QueueQuickConnectConfig": { + "AWS::Config::ConformancePack.ConformancePackInputParameter": { "additionalProperties": false, "properties": { - "ContactFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", - "title": "ContactFlowArn", - "type": "string" - }, - "QueueArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the queue.", - "title": "QueueArn", + "ParameterName": { + "markdownDescription": "One part of a key-value pair.", + "title": "ParameterName", "type": "string" - } - }, - "required": [ - "ContactFlowArn", - "QueueArn" - ], - "type": "object" - }, - "AWS::Connect::QuickConnect.QuickConnectConfig": { - "additionalProperties": false, - "properties": { - "FlowConfig": { - "$ref": "#/definitions/AWS::Connect::QuickConnect.FlowQuickConnectConfig" - }, - "PhoneConfig": { - "$ref": "#/definitions/AWS::Connect::QuickConnect.PhoneNumberQuickConnectConfig", - "markdownDescription": "The phone configuration. This is required only if QuickConnectType is PHONE_NUMBER.", - "title": "PhoneConfig" - }, - "QueueConfig": { - "$ref": "#/definitions/AWS::Connect::QuickConnect.QueueQuickConnectConfig", - "markdownDescription": "The queue configuration. This is required only if QuickConnectType is QUEUE.", - "title": "QueueConfig" }, - "QuickConnectType": { - "markdownDescription": "The type of quick connect. In the Connect Customer console, when you create a quick connect, you are prompted to assign one of the following types: Agent (USER), External (PHONE_NUMBER), or Queue (QUEUE).", - "title": "QuickConnectType", + "ParameterValue": { + "markdownDescription": "Another part of the key-value pair.", + "title": "ParameterValue", "type": "string" - }, - "UserConfig": { - "$ref": "#/definitions/AWS::Connect::QuickConnect.UserQuickConnectConfig", - "markdownDescription": "The user configuration. This is required only if QuickConnectType is USER.", - "title": "UserConfig" } }, "required": [ - "QuickConnectType" + "ParameterName", + "ParameterValue" ], "type": "object" }, - "AWS::Connect::QuickConnect.UserQuickConnectConfig": { + "AWS::Config::ConformancePack.TemplateSSMDocumentDetails": { "additionalProperties": false, "properties": { - "ContactFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", - "title": "ContactFlowArn", + "DocumentName": { + "markdownDescription": "The name or Amazon Resource Name (ARN) of the SSM document to use to create a conformance pack. If you use the document name, AWS Config checks only your account and AWS Region for the SSM document.", + "title": "DocumentName", "type": "string" }, - "UserArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the user.", - "title": "UserArn", + "DocumentVersion": { + "markdownDescription": "The version of the SSM document to use to create a conformance pack. By default, AWS Config uses the latest version.\n\n> This field is optional.", + "title": "DocumentVersion", "type": "string" } }, - "required": [ - "ContactFlowArn", - "UserArn" - ], "type": "object" }, - "AWS::Connect::RoutingProfile": { + "AWS::Config::Connector": { "additionalProperties": false, "properties": { "Condition": { @@ -91017,76 +91244,24 @@ "Properties": { "additionalProperties": false, "properties": { - "AgentAvailabilityTimer": { - "markdownDescription": "Whether agents with this routing profile will have their routing order calculated based on *time since their last inbound contact* or *longest idle time* .", - "title": "AgentAvailabilityTimer", - "type": "string" - }, - "DefaultOutboundQueueArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the default outbound queue for the routing profile.", - "title": "DefaultOutboundQueueArn", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the routing profile.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The identifier of the Connect Customer instance.", - "title": "InstanceArn", - "type": "string" - }, - "ManualAssignmentQueueConfigs": { - "items": { - "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileManualAssignmentQueueConfig" - }, - "markdownDescription": "Contains information about the queue and channel for manual assignment behaviour can be enabled.", - "title": "ManualAssignmentQueueConfigs", - "type": "array" - }, - "MediaConcurrencies": { - "items": { - "$ref": "#/definitions/AWS::Connect::RoutingProfile.MediaConcurrency" - }, - "markdownDescription": "The channels agents can handle in the Contact Control Panel (CCP) for this routing profile.", - "title": "MediaConcurrencies", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the routing profile.", - "title": "Name", - "type": "string" - }, - "QueueConfigs": { - "items": { - "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileQueueConfig" - }, - "markdownDescription": "The inbound queues associated with the routing profile. If no queue is added, the agent can make only outbound calls.", - "title": "QueueConfigs", - "type": "array" + "ConnectorConfiguration": { + "$ref": "#/definitions/AWS::Config::Connector.ConnectorConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", "type": "array" } }, "required": [ - "DefaultOutboundQueueArn", - "Description", - "InstanceArn", - "MediaConcurrencies", - "Name" + "ConnectorConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::RoutingProfile" + "AWS::Config::Connector" ], "type": "string" }, @@ -91105,106 +91280,135 @@ ], "type": "object" }, - "AWS::Connect::RoutingProfile.CrossChannelBehavior": { - "additionalProperties": false, - "properties": { - "BehaviorType": { - "markdownDescription": "Specifies the other channels that can be routed to an agent handling their current channel.", - "title": "BehaviorType", - "type": "string" - } - }, - "required": [ - "BehaviorType" - ], - "type": "object" - }, - "AWS::Connect::RoutingProfile.MediaConcurrency": { + "AWS::Config::Connector.AzureConnectorConfiguration": { "additionalProperties": false, "properties": { - "Channel": { - "markdownDescription": "The channels that agents can handle in the Contact Control Panel (CCP).", - "title": "Channel", + "ClientIdentifier": { "type": "string" }, - "Concurrency": { - "markdownDescription": "The number of contacts an agent can have on a channel simultaneously.\n\nValid Range for `VOICE` : Minimum value of 1. Maximum value of 1.\n\nValid Range for `CHAT` : Minimum value of 1. Maximum value of 10.\n\nValid Range for `TASK` : Minimum value of 1. Maximum value of 10.", - "title": "Concurrency", - "type": "number" - }, - "CrossChannelBehavior": { - "$ref": "#/definitions/AWS::Connect::RoutingProfile.CrossChannelBehavior", - "markdownDescription": "Defines the cross-channel routing behavior for each channel that is enabled for this Routing Profile. For example, this allows you to offer an agent a different contact from another channel when they are currently working with a contact from a Voice channel.", - "title": "CrossChannelBehavior" + "TenantIdentifier": { + "type": "string" } }, "required": [ - "Channel", - "Concurrency" + "ClientIdentifier", + "TenantIdentifier" ], "type": "object" }, - "AWS::Connect::RoutingProfile.RoutingProfileManualAssignmentQueueConfig": { + "AWS::Config::Connector.ConnectorConfiguration": { "additionalProperties": false, "properties": { - "QueueReference": { - "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileQueueReference", - "markdownDescription": "Contains information about a queue resource.", - "title": "QueueReference" + "Azure": { + "$ref": "#/definitions/AWS::Config::Connector.AzureConnectorConfiguration" } }, - "required": [ - "QueueReference" - ], "type": "object" }, - "AWS::Connect::RoutingProfile.RoutingProfileQueueConfig": { + "AWS::Config::DeliveryChannel": { "additionalProperties": false, "properties": { - "Delay": { - "markdownDescription": "The delay, in seconds, a contact should be in the queue before they are routed to an available agent. For more information, see [Queues: priority and delay](https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html) in the *Amazon Connect Administrator Guide* .", - "title": "Delay", - "type": "number" + "Condition": { + "type": "string" }, - "Priority": { - "markdownDescription": "The order in which contacts are to be handled for the queue. For more information, see [Queues: priority and delay](https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html) .", - "title": "Priority", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "QueueReference": { - "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileQueueReference", - "markdownDescription": "Contains information about a queue resource.", - "title": "QueueReference" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigSnapshotDeliveryProperties": { + "$ref": "#/definitions/AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties", + "markdownDescription": "The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket.", + "title": "ConfigSnapshotDeliveryProperties" + }, + "Name": { + "markdownDescription": "A name for the delivery channel. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the delivery channel name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\nUpdates are not supported. To change the name, you must run two separate updates. In the first update, delete this resource, and then recreate it with a new name in the second update.", + "title": "Name", + "type": "string" + }, + "S3BucketName": { + "markdownDescription": "The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files.\n\nIf you specify a bucket that belongs to another AWS account , that bucket must have policies that grant access permissions to AWS Config . For more information, see [Permissions for the Amazon S3 Bucket](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy.html) in the *AWS Config Developer Guide* .", + "title": "S3BucketName", + "type": "string" + }, + "S3KeyPrefix": { + "markdownDescription": "The prefix for the specified Amazon S3 bucket.", + "title": "S3KeyPrefix", + "type": "string" + }, + "S3KmsKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service ( AWS ) AWS KMS key (KMS key) used to encrypt objects delivered by AWS Config . Must belong to the same Region as the destination S3 bucket.", + "title": "S3KmsKeyArn", + "type": "string" + }, + "SnsTopicARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.\n\nIf you choose a topic from another account, the topic must have policies that grant access permissions to AWS Config . For more information, see [Permissions for the Amazon SNS Topic](https://docs.aws.amazon.com/config/latest/developerguide/sns-topic-policy.html) in the *AWS Config Developer Guide* .", + "title": "SnsTopicARN", + "type": "string" + } + }, + "required": [ + "S3BucketName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::DeliveryChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Delay", - "Priority", - "QueueReference" + "Type", + "Properties" ], "type": "object" }, - "AWS::Connect::RoutingProfile.RoutingProfileQueueReference": { + "AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": { "additionalProperties": false, "properties": { - "Channel": { - "markdownDescription": "The channels agents can handle in the Contact Control Panel (CCP) for this routing profile.", - "title": "Channel", - "type": "string" - }, - "QueueArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the queue.", - "title": "QueueArn", + "DeliveryFrequency": { + "markdownDescription": "The frequency with which AWS Config delivers configuration snapshots.", + "title": "DeliveryFrequency", "type": "string" } }, - "required": [ - "Channel", - "QueueArn" - ], "type": "object" }, - "AWS::Connect::Rule": { + "AWS::Config::OrganizationConfigRule": { "additionalProperties": false, "properties": { "Condition": { @@ -91239,58 +91443,43 @@ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "$ref": "#/definitions/AWS::Connect::Rule.Actions", - "markdownDescription": "A list of actions to be run when the rule is triggered.", - "title": "Actions" - }, - "Function": { - "markdownDescription": "The conditions of the rule.", - "title": "Function", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", - "type": "string" + "ExcludedAccounts": { + "items": { + "type": "string" + }, + "markdownDescription": "A comma-separated list of accounts excluded from organization AWS Config rule.", + "title": "ExcludedAccounts", + "type": "array" }, - "Name": { - "markdownDescription": "The name of the rule.", - "title": "Name", + "OrganizationConfigRuleName": { + "markdownDescription": "The name that you assign to organization AWS Config rule.", + "title": "OrganizationConfigRuleName", "type": "string" }, - "PublishStatus": { - "markdownDescription": "The publish status of the rule.\n\n*Allowed values* : `DRAFT` | `PUBLISHED`", - "title": "PublishStatus", - "type": "string" + "OrganizationCustomPolicyRuleMetadata": { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomPolicyRuleMetadata", + "markdownDescription": "An object that specifies metadata for your organization's AWS Config Custom Policy rule. The metadata includes the runtime system in use, which accounts have debug logging enabled, and other custom rule metadata, such as resource type, resource ID of AWS resource, and organization trigger types that initiate AWS Config to evaluate AWS resources against a rule.", + "title": "OrganizationCustomPolicyRuleMetadata" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" + "OrganizationCustomRuleMetadata": { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata", + "markdownDescription": "An `OrganizationCustomRuleMetadata` object.", + "title": "OrganizationCustomRuleMetadata" }, - "TriggerEventSource": { - "$ref": "#/definitions/AWS::Connect::Rule.RuleTriggerEventSource", - "markdownDescription": "The event source to trigger the rule.", - "title": "TriggerEventSource" + "OrganizationManagedRuleMetadata": { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata", + "markdownDescription": "An `OrganizationManagedRuleMetadata` object.", + "title": "OrganizationManagedRuleMetadata" } }, "required": [ - "Actions", - "Function", - "InstanceArn", - "Name", - "PublishStatus", - "TriggerEventSource" + "OrganizationConfigRuleName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::Rule" + "AWS::Config::OrganizationConfigRule" ], "type": "string" }, @@ -91309,391 +91498,194 @@ ], "type": "object" }, - "AWS::Connect::Rule.Actions": { + "AWS::Config::OrganizationConfigRule.OrganizationCustomPolicyRuleMetadata": { "additionalProperties": false, "properties": { - "AssignContactCategoryActions": { + "DebugLogDeliveryAccounts": { "items": { - "type": "object" + "type": "string" }, - "markdownDescription": "Information about the contact category action. The syntax can be empty, for example, `{}` .", - "title": "AssignContactCategoryActions", + "markdownDescription": "A list of accounts that you can enable debug logging for your organization AWS Config Custom Policy rule. List is null when debug logging is enabled for all accounts.", + "title": "DebugLogDeliveryAccounts", "type": "array" }, - "AssignSlaActions": { + "Description": { + "markdownDescription": "The description that you provide for your organization AWS Config Custom Policy rule.", + "title": "Description", + "type": "string" + }, + "InputParameters": { + "markdownDescription": "A string, in JSON format, that is passed to your organization AWS Config Custom Policy rule.", + "title": "InputParameters", + "type": "string" + }, + "MaximumExecutionFrequency": { + "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. Your AWS Config Custom Policy rule is triggered when AWS Config delivers the configuration snapshot. For more information, see `ConfigSnapshotDeliveryProperties` .", + "title": "MaximumExecutionFrequency", + "type": "string" + }, + "OrganizationConfigRuleTriggerTypes": { "items": { - "$ref": "#/definitions/AWS::Connect::Rule.AssignSlaAction" + "type": "string" }, + "markdownDescription": "The type of notification that initiates AWS Config to run an evaluation for a rule. For AWS Config Custom Policy rules, AWS Config supports change-initiated notification types:\n\n- `ConfigurationItemChangeNotification` - Initiates an evaluation when AWS Config delivers a configuration item as a result of a resource change.\n- `OversizedConfigurationItemChangeNotification` - Initiates an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.", + "title": "OrganizationConfigRuleTriggerTypes", "type": "array" }, - "CreateCaseActions": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.CreateCaseAction" - }, - "markdownDescription": "", - "title": "CreateCaseActions", - "type": "array" - }, - "EndAssociatedTasksActions": { - "items": { - "type": "object" - }, - "markdownDescription": "", - "title": "EndAssociatedTasksActions", - "type": "array" - }, - "EventBridgeActions": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.EventBridgeAction" - }, - "markdownDescription": "Information about the EventBridge action.", - "title": "EventBridgeActions", - "type": "array" + "PolicyText": { + "markdownDescription": "The policy definition containing the logic for your organization AWS Config Custom Policy rule.", + "title": "PolicyText", + "type": "string" }, - "SendNotificationActions": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.SendNotificationAction" - }, - "markdownDescription": "Information about the send notification action.", - "title": "SendNotificationActions", - "type": "array" + "ResourceIdScope": { + "markdownDescription": "The ID of the AWS resource that was evaluated.", + "title": "ResourceIdScope", + "type": "string" }, - "SubmitAutoEvaluationActions": { + "ResourceTypesScope": { "items": { - "$ref": "#/definitions/AWS::Connect::Rule.SubmitAutoEvaluationAction" + "type": "string" }, - "markdownDescription": "", - "title": "SubmitAutoEvaluationActions", + "markdownDescription": "The type of the AWS resource that was evaluated.", + "title": "ResourceTypesScope", "type": "array" }, - "TaskActions": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.TaskAction" - }, - "markdownDescription": "Information about the task action. This field is required if `TriggerEventSource` is one of the following values: `OnZendeskTicketCreate` | `OnZendeskTicketStatusUpdate` | `OnSalesforceCaseCreate`", - "title": "TaskActions", - "type": "array" + "Runtime": { + "markdownDescription": "The runtime system for your organization AWS Config Custom Policy rules. Guard is a policy-as-code language that allows you to write policies that are enforced by AWS Config Custom Policy rules. For more information about Guard, see the [Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard) .", + "title": "Runtime", + "type": "string" }, - "UpdateCaseActions": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.UpdateCaseAction" - }, - "markdownDescription": "", - "title": "UpdateCaseActions", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Connect::Rule.AssignSlaAction": { - "additionalProperties": false, - "properties": { - "CaseSlaConfiguration": { - "$ref": "#/definitions/AWS::Connect::Rule.CaseSlaConfiguration" + "TagKeyScope": { + "markdownDescription": "One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.", + "title": "TagKeyScope", + "type": "string" }, - "SlaAssignmentType": { + "TagValueScope": { + "markdownDescription": "The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).", + "title": "TagValueScope", "type": "string" } }, "required": [ - "CaseSlaConfiguration", - "SlaAssignmentType" + "PolicyText", + "Runtime" ], "type": "object" }, - "AWS::Connect::Rule.CaseSlaConfiguration": { + "AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": { "additionalProperties": false, "properties": { - "FieldId": { + "Description": { + "markdownDescription": "The description that you provide for your organization AWS Config rule.", + "title": "Description", "type": "string" }, - "Name": { + "InputParameters": { + "markdownDescription": "A string, in JSON format, that is passed to your organization AWS Config rule Lambda function.", + "title": "InputParameters", "type": "string" }, - "TargetFieldValues": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.SlaTargetFieldValue" - }, - "type": "array" - }, - "TargetSlaMinutes": { - "type": "number" + "LambdaFunctionArn": { + "markdownDescription": "The lambda function ARN.", + "title": "LambdaFunctionArn", + "type": "string" }, - "Type": { + "MaximumExecutionFrequency": { + "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see `ConfigSnapshotDeliveryProperties` .\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.", + "title": "MaximumExecutionFrequency", "type": "string" - } - }, - "required": [ - "Name", - "TargetSlaMinutes", - "Type" - ], - "type": "object" - }, - "AWS::Connect::Rule.CreateCaseAction": { - "additionalProperties": false, - "properties": { - "Fields": { + }, + "OrganizationConfigRuleTriggerTypes": { "items": { - "$ref": "#/definitions/AWS::Connect::Rule.Field" + "type": "string" }, - "markdownDescription": "", - "title": "Fields", + "markdownDescription": "The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:\n\n- `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change.\n- `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.\n- `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `MaximumExecutionFrequency` .", + "title": "OrganizationConfigRuleTriggerTypes", "type": "array" }, - "TemplateId": { - "markdownDescription": "", - "title": "TemplateId", - "type": "string" - } - }, - "required": [ - "Fields", - "TemplateId" - ], - "type": "object" - }, - "AWS::Connect::Rule.EventBridgeAction": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Connect::Rule.Field": { - "additionalProperties": false, - "properties": { - "Id": { - "markdownDescription": "", - "title": "Id", + "ResourceIdScope": { + "markdownDescription": "The ID of the AWS resource that was evaluated.", + "title": "ResourceIdScope", "type": "string" }, - "Value": { - "$ref": "#/definitions/AWS::Connect::Rule.FieldValue", - "markdownDescription": "", - "title": "Value" - } - }, - "required": [ - "Id", - "Value" - ], - "type": "object" - }, - "AWS::Connect::Rule.FieldValue": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "markdownDescription": "", - "title": "BooleanValue", - "type": "boolean" - }, - "DoubleValue": { - "markdownDescription": "", - "title": "DoubleValue", - "type": "number" - }, - "EmptyValue": { - "markdownDescription": "", - "title": "EmptyValue", - "type": "object" - }, - "StringValue": { - "markdownDescription": "", - "title": "StringValue", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::Rule.NotificationRecipientType": { - "additionalProperties": false, - "properties": { - "UserArns": { + "ResourceTypesScope": { "items": { "type": "string" }, - "markdownDescription": "The Amazon Resource Name (ARN) of the user account.", - "title": "UserArns", + "markdownDescription": "The type of the AWS resource that was evaluated.", + "title": "ResourceTypesScope", "type": "array" }, - "UserTags": { - "additionalProperties": true, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }. Connect Customer users with the specified tags will be notified.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "UserTags", - "type": "object" - } - }, - "type": "object" - }, - "AWS::Connect::Rule.Reference": { - "additionalProperties": false, - "properties": { - "Type": { - "markdownDescription": "The type of the reference. `DATE` must be of type Epoch timestamp.\n\n*Allowed values* : `URL` | `ATTACHMENT` | `NUMBER` | `STRING` | `DATE` | `EMAIL`", - "title": "Type", + "TagKeyScope": { + "markdownDescription": "One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.", + "title": "TagKeyScope", "type": "string" }, - "Value": { - "markdownDescription": "A valid value for the reference. For example, for a URL reference, a formatted URL that is displayed to an agent in the Contact Control Panel (CCP).", - "title": "Value", + "TagValueScope": { + "markdownDescription": "The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).", + "title": "TagValueScope", "type": "string" } }, "required": [ - "Type", - "Value" + "LambdaFunctionArn", + "OrganizationConfigRuleTriggerTypes" ], "type": "object" }, - "AWS::Connect::Rule.RuleTriggerEventSource": { + "AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": { "additionalProperties": false, "properties": { - "EventSourceName": { - "markdownDescription": "The name of the event source.", - "title": "EventSourceName", + "Description": { + "markdownDescription": "The description that you provide for your organization AWS Config rule.", + "title": "Description", "type": "string" }, - "IntegrationAssociationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the integration association. `IntegrationAssociationArn` is required if `TriggerEventSource` is one of the following values: `OnZendeskTicketCreate` | `OnZendeskTicketStatusUpdate` | `OnSalesforceCaseCreate`", - "title": "IntegrationAssociationArn", - "type": "string" - } - }, - "required": [ - "EventSourceName" - ], - "type": "object" - }, - "AWS::Connect::Rule.SendNotificationAction": { - "additionalProperties": false, - "properties": { - "Content": { - "markdownDescription": "Notification content. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", - "title": "Content", + "InputParameters": { + "markdownDescription": "A string, in JSON format, that is passed to your organization AWS Config rule Lambda function.", + "title": "InputParameters", "type": "string" }, - "ContentType": { - "markdownDescription": "Content type format.\n\n*Allowed value* : `PLAIN_TEXT`", - "title": "ContentType", + "MaximumExecutionFrequency": { + "markdownDescription": "The maximum frequency with which AWS Config runs evaluations for a rule. This is for an AWS Config managed rule that is triggered at a periodic frequency.\n\n> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the `MaximumExecutionFrequency` parameter.", + "title": "MaximumExecutionFrequency", "type": "string" }, - "DeliveryMethod": { - "markdownDescription": "Notification delivery method.\n\n*Allowed value* : `EMAIL`", - "title": "DeliveryMethod", + "ResourceIdScope": { + "markdownDescription": "The ID of the AWS resource that was evaluated.", + "title": "ResourceIdScope", "type": "string" }, - "Exclusion": { - "$ref": "#/definitions/AWS::Connect::Rule.NotificationRecipientType" - }, - "Recipient": { - "$ref": "#/definitions/AWS::Connect::Rule.NotificationRecipientType", - "markdownDescription": "Notification recipient.", - "title": "Recipient" + "ResourceTypesScope": { + "items": { + "type": "string" + }, + "markdownDescription": "The type of the AWS resource that was evaluated.", + "title": "ResourceTypesScope", + "type": "array" }, - "Subject": { - "markdownDescription": "The subject of the email if the delivery method is `EMAIL` . Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", - "title": "Subject", - "type": "string" - } - }, - "required": [ - "Content", - "ContentType", - "DeliveryMethod", - "Recipient" - ], - "type": "object" - }, - "AWS::Connect::Rule.SlaTargetFieldValue": { - "additionalProperties": false, - "properties": { - "StringValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::Rule.SubmitAutoEvaluationAction": { - "additionalProperties": false, - "properties": { - "EvaluationFormArn": { - "markdownDescription": "", - "title": "EvaluationFormArn", - "type": "string" - } - }, - "required": [ - "EvaluationFormArn" - ], - "type": "object" - }, - "AWS::Connect::Rule.TaskAction": { - "additionalProperties": false, - "properties": { - "ContactFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", - "title": "ContactFlowArn", + "RuleIdentifier": { + "markdownDescription": "For organization config managed rules, a predefined identifier from a list. For example, `IAM_PASSWORD_POLICY` is a managed rule. To reference a managed rule, see [Using AWS Config managed rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) .", + "title": "RuleIdentifier", "type": "string" }, - "Description": { - "markdownDescription": "The description. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", - "title": "Description", + "TagKeyScope": { + "markdownDescription": "One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.", + "title": "TagKeyScope", "type": "string" }, - "Name": { - "markdownDescription": "The name. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", - "title": "Name", + "TagValueScope": { + "markdownDescription": "The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).", + "title": "TagValueScope", "type": "string" - }, - "References": { - "additionalProperties": false, - "markdownDescription": "Information about the reference when the `referenceType` is `URL` . Otherwise, null. `URL` is the only accepted type. (Supports variable injection in the `Value` field.)", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Connect::Rule.Reference" - } - }, - "title": "References", - "type": "object" - } - }, - "required": [ - "ContactFlowArn", - "Name" - ], - "type": "object" - }, - "AWS::Connect::Rule.UpdateCaseAction": { - "additionalProperties": false, - "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.Field" - }, - "markdownDescription": "", - "title": "Fields", - "type": "array" } }, "required": [ - "Fields" + "RuleIdentifier" ], "type": "object" }, - "AWS::Connect::SecurityKey": { + "AWS::Config::OrganizationConformancePack": { "additionalProperties": false, "properties": { "Condition": { @@ -91728,26 +91720,62 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `100`", - "title": "InstanceId", + "ConformancePackInputParameters": { + "items": { + "$ref": "#/definitions/AWS::Config::OrganizationConformancePack.ConformancePackInputParameter" + }, + "markdownDescription": "A list of `ConformancePackInputParameter` objects.", + "title": "ConformancePackInputParameters", + "type": "array" + }, + "DeliveryS3Bucket": { + "markdownDescription": "The name of the Amazon S3 bucket where AWS Config stores conformance pack templates.\n\n> This field is optional.", + "title": "DeliveryS3Bucket", "type": "string" }, - "Key": { - "markdownDescription": "A valid security key in PEM format. For example:\n\n`\"-----BEGIN PUBLIC KEY-----\\ [a lot of characters] ----END PUBLIC KEY-----\"`\n\n*Minimum* : `1`\n\n*Maximum* : `1024`", - "title": "Key", + "DeliveryS3KeyPrefix": { + "markdownDescription": "Any folder structure you want to add to an Amazon S3 bucket.\n\n> This field is optional.", + "title": "DeliveryS3KeyPrefix", + "type": "string" + }, + "ExcludedAccounts": { + "items": { + "type": "string" + }, + "markdownDescription": "A comma-separated list of accounts excluded from organization conformance pack.", + "title": "ExcludedAccounts", + "type": "array" + }, + "OrganizationConformancePackName": { + "markdownDescription": "The name you assign to an organization conformance pack.", + "title": "OrganizationConformancePackName", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "markdownDescription": "A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.", + "title": "TemplateBody", + "type": "string" + }, + "TemplateS3Uri": { + "markdownDescription": "Location of file containing the template body. The uri must point to the conformance pack template (max size: 300 KB).", + "title": "TemplateS3Uri", "type": "string" } }, "required": [ - "InstanceId", - "Key" + "OrganizationConformancePackName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::SecurityKey" + "AWS::Config::OrganizationConformancePack" ], "type": "string" }, @@ -91766,7 +91794,27 @@ ], "type": "object" }, - "AWS::Connect::SecurityProfile": { + "AWS::Config::OrganizationConformancePack.ConformancePackInputParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "markdownDescription": "One part of a key-value pair.", + "title": "ParameterName", + "type": "string" + }, + "ParameterValue": { + "markdownDescription": "One part of a key-value pair.", + "title": "ParameterValue", + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Config::RemediationConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -91801,95 +91849,67 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowedAccessControlHierarchyGroupId": { - "markdownDescription": "The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.", - "title": "AllowedAccessControlHierarchyGroupId", + "Automatic": { + "markdownDescription": "The remediation is triggered automatically.", + "title": "Automatic", + "type": "boolean" + }, + "ConfigRuleName": { + "markdownDescription": "The name of the AWS Config rule.", + "title": "ConfigRuleName", "type": "string" }, - "AllowedAccessControlTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The list of tags that a security profile uses to restrict access to resources in Amazon Connect.", - "title": "AllowedAccessControlTags", - "type": "array" + "ExecutionControls": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ExecutionControls", + "markdownDescription": "An ExecutionControls object.", + "title": "ExecutionControls" }, - "AllowedFlowModules": { - "items": { - "$ref": "#/definitions/AWS::Connect::SecurityProfile.FlowModule" - }, - "type": "array" + "MaximumAutomaticAttempts": { + "markdownDescription": "The maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.\n\nFor example, if you specify MaximumAutomaticAttempts as 5 with RetryAttemptSeconds as 50 seconds, AWS Config will put a RemediationException on your behalf for the failing resource after the 5th failed attempt within 50 seconds.", + "title": "MaximumAutomaticAttempts", + "type": "number" }, - "Applications": { - "items": { - "$ref": "#/definitions/AWS::Connect::SecurityProfile.Application" - }, - "markdownDescription": "", - "title": "Applications", - "type": "array" + "Parameters": { + "markdownDescription": "An object of the RemediationParameterValue. For more information, see [RemediationParameterValue](https://docs.aws.amazon.com/config/latest/APIReference/API_RemediationParameterValue.html) .\n\n> The type is a map of strings to RemediationParameterValue.", + "title": "Parameters", + "type": "object" }, - "Description": { - "markdownDescription": "The description of the security profile.", - "title": "Description", + "ResourceType": { + "markdownDescription": "The type of a resource.", + "title": "ResourceType", "type": "string" }, - "GranularAccessControlConfiguration": { - "$ref": "#/definitions/AWS::Connect::SecurityProfile.GranularAccessControlConfiguration", - "markdownDescription": "The granular access control configuration for the security profile, including data table permissions.", - "title": "GranularAccessControlConfiguration" - }, - "HierarchyRestrictedResources": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: `User` .", - "title": "HierarchyRestrictedResources", - "type": "array" + "RetryAttemptSeconds": { + "markdownDescription": "Time window to determine whether or not to add a remediation exception to prevent infinite remediation attempts. If `MaximumAutomaticAttempts` remediation attempts have been made under `RetryAttemptSeconds` , a remediation exception will be added to the resource. If you do not select a number, the default is 60 seconds.\n\nFor example, if you specify `RetryAttemptSeconds` as 50 seconds and `MaximumAutomaticAttempts` as 5, AWS Config will run auto-remediations 5 times within 50 seconds before adding a remediation exception to the resource.", + "title": "RetryAttemptSeconds", + "type": "number" }, - "InstanceArn": { - "markdownDescription": "The identifier of the Connect Customer instance.", - "title": "InstanceArn", + "TargetId": { + "markdownDescription": "Target ID is the name of the SSM document.", + "title": "TargetId", "type": "string" }, - "Permissions": { - "items": { - "type": "string" - }, - "markdownDescription": "Permissions assigned to the security profile. For a list of valid permissions, see [List of security profile permissions](https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-list.html) .", - "title": "Permissions", - "type": "array" - }, - "SecurityProfileName": { - "markdownDescription": "The name for the security profile.", - "title": "SecurityProfileName", + "TargetType": { + "markdownDescription": "The type of the target. Target executes remediation. For example, SSM document.", + "title": "TargetType", "type": "string" }, - "TagRestrictedResources": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of resources that a security profile applies tag restrictions to in Amazon Connect.", - "title": "TagRestrictedResources", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" + "TargetVersion": { + "markdownDescription": "Version of the target. For example, version of the SSM document.\n\n> If you make backward incompatible changes to the SSM document, you must call PutRemediationConfiguration API again to ensure the remediations can run.", + "title": "TargetVersion", + "type": "string" } }, "required": [ - "InstanceArn", - "SecurityProfileName" + "ConfigRuleName", + "TargetId", + "TargetType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::SecurityProfile" + "AWS::Config::RemediationConfiguration" ], "type": "string" }, @@ -91908,101 +91928,34 @@ ], "type": "object" }, - "AWS::Connect::SecurityProfile.Application": { - "additionalProperties": false, - "properties": { - "ApplicationPermissions": { - "items": { - "type": "string" - }, - "markdownDescription": "The permissions that the agent is granted on the application. For third-party applications, only the `ACCESS` permission is supported. For MCP Servers, the permissions are tool Identifiers accepted by MCP Server.", - "title": "ApplicationPermissions", - "type": "array" - }, - "Namespace": { - "markdownDescription": "Namespace of the application that you want to give access to.", - "title": "Namespace", - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::SecurityProfile.DataTableAccessControlConfiguration": { - "additionalProperties": false, - "properties": { - "PrimaryAttributeAccessControlConfiguration": { - "$ref": "#/definitions/AWS::Connect::SecurityProfile.PrimaryAttributeAccessControlConfigurationItem", - "markdownDescription": "The configuration's primary attribute access control configuration.", - "title": "PrimaryAttributeAccessControlConfiguration" - } - }, - "type": "object" - }, - "AWS::Connect::SecurityProfile.FlowModule": { - "additionalProperties": false, - "properties": { - "FlowModuleId": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::SecurityProfile.GranularAccessControlConfiguration": { - "additionalProperties": false, - "properties": { - "DataTableAccessControlConfiguration": { - "$ref": "#/definitions/AWS::Connect::SecurityProfile.DataTableAccessControlConfiguration", - "markdownDescription": "The access control configuration for data tables.", - "title": "DataTableAccessControlConfiguration" - } - }, - "type": "object" - }, - "AWS::Connect::SecurityProfile.PrimaryAttributeAccessControlConfigurationItem": { + "AWS::Config::RemediationConfiguration.ExecutionControls": { "additionalProperties": false, "properties": { - "PrimaryAttributeValues": { - "items": { - "$ref": "#/definitions/AWS::Connect::SecurityProfile.PrimaryAttributeValue" - }, - "markdownDescription": "The item's primary attribute values.", - "title": "PrimaryAttributeValues", - "type": "array" + "SsmControls": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.SsmControls", + "markdownDescription": "A SsmControls object.", + "title": "SsmControls" } }, "type": "object" }, - "AWS::Connect::SecurityProfile.PrimaryAttributeValue": { + "AWS::Config::RemediationConfiguration.SsmControls": { "additionalProperties": false, "properties": { - "AccessType": { - "markdownDescription": "The value's access type.", - "title": "AccessType", - "type": "string" - }, - "AttributeName": { - "markdownDescription": "The value's attribute name.", - "title": "AttributeName", - "type": "string" + "ConcurrentExecutionRatePercentage": { + "markdownDescription": "The maximum percentage of remediation actions allowed to run in parallel on the non-compliant resources for that specific rule. You can specify a percentage, such as 10%. The default value is 10.", + "title": "ConcurrentExecutionRatePercentage", + "type": "number" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The value's values.", - "title": "Values", - "type": "array" + "ErrorPercentage": { + "markdownDescription": "The percentage of errors that are allowed before SSM stops running automations on non-compliant resources for that specific rule. You can specify a percentage of errors, for example 10%. If you do not specifiy a percentage, the default is 50%. For example, if you set the ErrorPercentage to 40% for 10 non-compliant resources, then SSM stops running the automations when the fifth error is received.", + "title": "ErrorPercentage", + "type": "number" } }, "type": "object" }, - "AWS::Connect::TaskTemplate": { + "AWS::Config::StoredQuery": { "additionalProperties": false, "properties": { "Condition": { @@ -92037,79 +91990,39 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientToken": { - "markdownDescription": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", - "title": "ClientToken", - "type": "string" - }, - "Constraints": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.Constraints", - "markdownDescription": "Constraints that are applicable to the fields listed.\n\nThe values can be represented in either JSON or YAML format. For an example of the JSON configuration, see *Examples* at the bottom of this page.", - "title": "Constraints" - }, - "ContactFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the flow that runs by default when a task is created by referencing this template. `ContactFlowArn` is not required when there is a field with `fieldType` = `QUICK_CONNECT` .", - "title": "ContactFlowArn", - "type": "string" - }, - "Defaults": { - "items": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.DefaultFieldValue" - }, - "markdownDescription": "The default values for fields when a task is created by referencing this template.", - "title": "Defaults", - "type": "array" - }, - "Description": { - "markdownDescription": "The description of the task template.", - "title": "Description", - "type": "string" - }, - "Fields": { - "items": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.Field" - }, - "markdownDescription": "Fields that are part of the template. A template requires at least one field that has type `Name` .", - "title": "Fields", - "type": "array" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Connect Customer instance.", - "title": "InstanceArn", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the task template.", - "title": "Name", + "QueryDescription": { + "markdownDescription": "A unique description for the query.", + "title": "QueryDescription", "type": "string" }, - "SelfAssignContactFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", - "title": "SelfAssignContactFlowArn", + "QueryExpression": { + "markdownDescription": "The expression of the query. For example, `SELECT resourceId, resourceType, supplementaryConfiguration.BucketVersioningConfiguration.status WHERE resourceType = 'AWS::S3::Bucket' AND supplementaryConfiguration.BucketVersioningConfiguration.status = 'Off'.`", + "title": "QueryExpression", "type": "string" }, - "Status": { - "markdownDescription": "The status of the task template.", - "title": "Status", + "QueryName": { + "markdownDescription": "The name of the query.", + "title": "QueryName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource.", + "markdownDescription": "An array of key-value pairs to apply to this resource.", "title": "Tags", "type": "array" } }, "required": [ - "InstanceArn" + "QueryExpression", + "QueryName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::TaskTemplate" + "AWS::Config::StoredQuery" ], "type": "string" }, @@ -92128,146 +92041,7 @@ ], "type": "object" }, - "AWS::Connect::TaskTemplate.Constraints": { - "additionalProperties": false, - "properties": { - "InvisibleFields": { - "items": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.InvisibleFieldInfo" - }, - "markdownDescription": "Lists the fields that are invisible to agents.", - "title": "InvisibleFields", - "type": "array" - }, - "ReadOnlyFields": { - "items": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.ReadOnlyFieldInfo" - }, - "markdownDescription": "Lists the fields that are read-only to agents, and cannot be edited.", - "title": "ReadOnlyFields", - "type": "array" - }, - "RequiredFields": { - "items": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.RequiredFieldInfo" - }, - "markdownDescription": "Lists the fields that are required to be filled by agents.", - "title": "RequiredFields", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Connect::TaskTemplate.DefaultFieldValue": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "markdownDescription": "Default value for the field.", - "title": "DefaultValue", - "type": "string" - }, - "Id": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", - "markdownDescription": "Identifier of a field.", - "title": "Id" - } - }, - "required": [ - "DefaultValue", - "Id" - ], - "type": "object" - }, - "AWS::Connect::TaskTemplate.Field": { - "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "The description of the field.", - "title": "Description", - "type": "string" - }, - "Id": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", - "markdownDescription": "The unique identifier for the field.", - "title": "Id" - }, - "SingleSelectOptions": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of options for a single select field.", - "title": "SingleSelectOptions", - "type": "array" - }, - "Type": { - "markdownDescription": "Indicates the type of field. Following are the valid field types: `NAME` `DESCRIPTION` | `SCHEDULED_TIME` | `QUICK_CONNECT` | `URL` | `NUMBER` | `TEXT` | `TEXT_AREA` | `DATE_TIME` | `BOOLEAN` | `SINGLE_SELECT` | `EMAIL`", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Id", - "Type" - ], - "type": "object" - }, - "AWS::Connect::TaskTemplate.FieldIdentifier": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the task template field.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Connect::TaskTemplate.InvisibleFieldInfo": { - "additionalProperties": false, - "properties": { - "Id": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", - "markdownDescription": "Identifier of the invisible field.", - "title": "Id" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::Connect::TaskTemplate.ReadOnlyFieldInfo": { - "additionalProperties": false, - "properties": { - "Id": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", - "markdownDescription": "Identifier of the read-only field.", - "title": "Id" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::Connect::TaskTemplate.RequiredFieldInfo": { - "additionalProperties": false, - "properties": { - "Id": { - "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", - "markdownDescription": "The unique identifier for the field.", - "title": "Id" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::Connect::TestCase": { + "AWS::Connect::AgentStatus": { "additionalProperties": false, "properties": { "Condition": { @@ -92302,44 +92076,60 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "type": "string" - }, "Description": { + "markdownDescription": "The description of the agent status.", + "title": "Description", "type": "string" }, - "EntryPoint": { - "$ref": "#/definitions/AWS::Connect::TestCase.EntryPoint" - }, - "InitializationData": { - "type": "string" + "DisplayOrder": { + "markdownDescription": "The display order of the agent status.", + "title": "DisplayOrder", + "type": "number" }, "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", "type": "string" }, "Name": { + "markdownDescription": "The name of the agent status.", + "title": "Name", "type": "string" }, - "Status": { + "ResetOrderNumber": { + "markdownDescription": "A number indicating the reset order of the agent status.", + "title": "ResetOrderNumber", + "type": "boolean" + }, + "State": { + "markdownDescription": "The state of the agent status.", + "title": "State", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", "type": "array" + }, + "Type": { + "markdownDescription": "The type of agent status.", + "title": "Type", + "type": "string" } }, "required": [ - "Content", "InstanceArn", - "Name" + "Name", + "State" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::TestCase" + "AWS::Connect::AgentStatus" ], "type": "string" }, @@ -92358,46 +92148,7 @@ ], "type": "object" }, - "AWS::Connect::TestCase.ChatEntryPointParameters": { - "additionalProperties": false, - "properties": { - "FlowId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::TestCase.EntryPoint": { - "additionalProperties": false, - "properties": { - "ChatEntryPointParameters": { - "$ref": "#/definitions/AWS::Connect::TestCase.ChatEntryPointParameters" - }, - "Type": { - "type": "string" - }, - "VoiceCallEntryPointParameters": { - "$ref": "#/definitions/AWS::Connect::TestCase.VoiceCallEntryPointParameters" - } - }, - "type": "object" - }, - "AWS::Connect::TestCase.VoiceCallEntryPointParameters": { - "additionalProperties": false, - "properties": { - "DestinationPhoneNumber": { - "type": "string" - }, - "FlowId": { - "type": "string" - }, - "SourcePhoneNumber": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::TrafficDistributionGroup": { + "AWS::Connect::ApprovedOrigin": { "additionalProperties": false, "properties": { "Condition": { @@ -92432,39 +92183,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the traffic distribution group.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN).", - "title": "InstanceArn", + "InstanceId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `100`", + "title": "InstanceId", "type": "string" }, - "Name": { - "markdownDescription": "The name of the traffic distribution group.", - "title": "Name", + "Origin": { + "markdownDescription": "Domain name to be added to the allow-list of the instance.\n\n*Maximum* : `267`", + "title": "Origin", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, {\"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" } }, "required": [ - "InstanceArn", - "Name" + "InstanceId", + "Origin" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::TrafficDistributionGroup" + "AWS::Connect::ApprovedOrigin" ], "type": "string" }, @@ -92483,7 +92221,7 @@ ], "type": "object" }, - "AWS::Connect::User": { + "AWS::Connect::ContactFlow": { "additionalProperties": false, "properties": { "Condition": { @@ -92518,112 +92256,56 @@ "Properties": { "additionalProperties": false, "properties": { - "AfterContactWorkConfigs": { - "items": { - "$ref": "#/definitions/AWS::Connect::User.AfterContactWorkConfigPerChannel" - }, - "type": "array" - }, - "AutoAcceptConfigs": { - "items": { - "$ref": "#/definitions/AWS::Connect::User.AutoAcceptConfig" - }, - "type": "array" - }, - "DirectoryUserId": { - "markdownDescription": "The identifier of the user account in the directory used for identity management.", - "title": "DirectoryUserId", + "Content": { + "markdownDescription": "The content of the flow.\n\nFor more information, see [Connect Customer Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html) in the *Connect Customer Administrator Guide* .", + "title": "Content", "type": "string" }, - "HierarchyGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the user's hierarchy group.", - "title": "HierarchyGroupArn", + "Description": { + "markdownDescription": "The description of the flow.", + "title": "Description", "type": "string" }, - "IdentityInfo": { - "$ref": "#/definitions/AWS::Connect::User.UserIdentityInfo", - "markdownDescription": "Information about the user identity.", - "title": "IdentityInfo" - }, "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "markdownDescription": "The Amazon Resource Name (ARN) of the Connect Customer instance.", "title": "InstanceArn", "type": "string" }, - "Password": { - "markdownDescription": "The user's password.", - "title": "Password", + "Name": { + "markdownDescription": "The name of the flow.", + "title": "Name", "type": "string" }, - "PersistentConnectionConfigs": { - "items": { - "$ref": "#/definitions/AWS::Connect::User.PersistentConnectionConfig" - }, - "type": "array" - }, - "PhoneConfig": { - "$ref": "#/definitions/AWS::Connect::User.UserPhoneConfig", - "markdownDescription": "Information about the phone configuration for the user.", - "title": "PhoneConfig" - }, - "PhoneNumberConfigs": { - "items": { - "$ref": "#/definitions/AWS::Connect::User.PhoneNumberConfig" - }, - "type": "array" - }, - "RoutingProfileArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the user's routing profile.", - "title": "RoutingProfileArn", + "State": { + "markdownDescription": "The state of the flow.", + "title": "State", "type": "string" }, - "SecurityProfileArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) of the user's security profile.", - "title": "SecurityProfileArns", - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags.", + "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" }, - "UserProficiencies": { - "items": { - "$ref": "#/definitions/AWS::Connect::User.UserProficiency" - }, - "markdownDescription": "One or more predefined attributes assigned to a user, with a numeric value that indicates how their level of skill in a specified area.", - "title": "UserProficiencies", - "type": "array" - }, - "Username": { - "markdownDescription": "The user name assigned to the user account.", - "title": "Username", + "Type": { + "markdownDescription": "The type of the flow. For descriptions of the available types, see [Choose a flow type](https://docs.aws.amazon.com/connect/latest/adminguide/create-contact-flow.html#contact-flow-types) in the *Amazon Connect Administrator Guide* .", + "title": "Type", "type": "string" - }, - "VoiceEnhancementConfigs": { - "items": { - "$ref": "#/definitions/AWS::Connect::User.VoiceEnhancementConfig" - }, - "type": "array" } }, "required": [ + "Content", "InstanceArn", - "RoutingProfileArn", - "SecurityProfileArns", - "Username" + "Name", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::User" + "AWS::Connect::ContactFlow" ], "type": "string" }, @@ -92642,196 +92324,7 @@ ], "type": "object" }, - "AWS::Connect::User.AfterContactWorkConfig": { - "additionalProperties": false, - "properties": { - "AfterContactWorkMode": { - "type": "string" - }, - "AfterContactWorkTimeLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Connect::User.AfterContactWorkConfigPerChannel": { - "additionalProperties": false, - "properties": { - "AfterContactWorkConfig": { - "$ref": "#/definitions/AWS::Connect::User.AfterContactWorkConfig" - }, - "AgentFirstCallbackAfterContactWorkConfig": { - "$ref": "#/definitions/AWS::Connect::User.AfterContactWorkConfig" - }, - "Channel": { - "type": "string" - } - }, - "required": [ - "AfterContactWorkConfig", - "Channel" - ], - "type": "object" - }, - "AWS::Connect::User.AutoAcceptConfig": { - "additionalProperties": false, - "properties": { - "AgentFirstCallbackAutoAccept": { - "type": "boolean" - }, - "AutoAccept": { - "type": "boolean" - }, - "Channel": { - "type": "string" - } - }, - "required": [ - "AutoAccept", - "Channel" - ], - "type": "object" - }, - "AWS::Connect::User.PersistentConnectionConfig": { - "additionalProperties": false, - "properties": { - "Channel": { - "type": "string" - }, - "PersistentConnection": { - "type": "boolean" - } - }, - "required": [ - "Channel", - "PersistentConnection" - ], - "type": "object" - }, - "AWS::Connect::User.PhoneNumberConfig": { - "additionalProperties": false, - "properties": { - "Channel": { - "type": "string" - }, - "PhoneNumber": { - "type": "string" - }, - "PhoneType": { - "type": "string" - } - }, - "required": [ - "Channel", - "PhoneType" - ], - "type": "object" - }, - "AWS::Connect::User.UserIdentityInfo": { - "additionalProperties": false, - "properties": { - "Email": { - "markdownDescription": "The email address. If you are using SAML for identity management and include this parameter, an error is returned.", - "title": "Email", - "type": "string" - }, - "FirstName": { - "markdownDescription": "The first name. This is required if you are using Amazon Connect or SAML for identity management. Inputs must be in Unicode Normalization Form C (NFC). Text containing characters in a non-NFC form (for example, decomposed characters or combining marks) are not accepted.", - "title": "FirstName", - "type": "string" - }, - "LastName": { - "markdownDescription": "The last name. This is required if you are using Amazon Connect or SAML for identity management. Inputs must be in Unicode Normalization Form C (NFC). Text containing characters in a non-NFC form (for example, decomposed characters or combining marks) are not accepted.", - "title": "LastName", - "type": "string" - }, - "Mobile": { - "markdownDescription": "The user's mobile number.", - "title": "Mobile", - "type": "string" - }, - "SecondaryEmail": { - "markdownDescription": "The user's secondary email address. If you provide a secondary email, the user receives email notifications -- other than password reset notifications -- to this email address instead of to their primary email address.\n\n*Pattern* : `(?=^.{0,265}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,63}`", - "title": "SecondaryEmail", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::User.UserPhoneConfig": { - "additionalProperties": false, - "properties": { - "AfterContactWorkTimeLimit": { - "markdownDescription": "The After Call Work (ACW) timeout setting, in seconds. This parameter has a minimum value of 0 and a maximum value of 2,000,000 seconds (24 days). Enter 0 if you don't want to allocate a specific amount of ACW time. It essentially means an indefinite amount of time. When the conversation ends, ACW starts; the agent must choose Close contact to end ACW.\n\n> When returned by a `SearchUsers` call, `AfterContactWorkTimeLimit` is returned in milliseconds.", - "title": "AfterContactWorkTimeLimit", - "type": "number" - }, - "AutoAccept": { - "markdownDescription": "The Auto accept setting.", - "title": "AutoAccept", - "type": "boolean" - }, - "DeskPhoneNumber": { - "markdownDescription": "The phone number for the user's desk phone.", - "title": "DeskPhoneNumber", - "type": "string" - }, - "PersistentConnection": { - "markdownDescription": "The persistent connection setting for the user.", - "title": "PersistentConnection", - "type": "boolean" - }, - "PhoneType": { - "markdownDescription": "The phone type.", - "title": "PhoneType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::User.UserProficiency": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "markdownDescription": "The name of user\u2019s proficiency. You must use a predefined attribute name that is present in the Amazon Connect instance.", - "title": "AttributeName", - "type": "string" - }, - "AttributeValue": { - "markdownDescription": "The value of user\u2019s proficiency. You must use a predefined attribute value that is present in the Amazon Connect instance.", - "title": "AttributeValue", - "type": "string" - }, - "Level": { - "markdownDescription": "The level of the proficiency. The valid values are 1, 2, 3, 4 and 5.", - "title": "Level", - "type": "number" - } - }, - "required": [ - "AttributeName", - "AttributeValue", - "Level" - ], - "type": "object" - }, - "AWS::Connect::User.VoiceEnhancementConfig": { - "additionalProperties": false, - "properties": { - "Channel": { - "type": "string" - }, - "VoiceEnhancementMode": { - "type": "string" - } - }, - "required": [ - "Channel", - "VoiceEnhancementMode" - ], - "type": "object" - }, - "AWS::Connect::UserHierarchyGroup": { + "AWS::Connect::ContactFlowModule": { "additionalProperties": false, "properties": { "Condition": { @@ -92866,31 +92359,52 @@ "Properties": { "additionalProperties": false, "properties": { + "Content": { + "markdownDescription": "The content of the flow module.", + "title": "Content", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the flow module.", + "title": "Description", + "type": "string" + }, + "ExternalInvocationConfiguration": { + "$ref": "#/definitions/AWS::Connect::ContactFlowModule.ExternalInvocationConfiguration", + "markdownDescription": "The external invocation configuration for the flow module", + "title": "ExternalInvocationConfiguration" + }, "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the user hierarchy group.", + "markdownDescription": "The Amazon Resource Name (ARN) of the Connect Customer instance.", "title": "InstanceArn", "type": "string" }, "Name": { - "markdownDescription": "The name of the user hierarchy group.", + "markdownDescription": "The name of the flow module.", "title": "Name", "type": "string" }, - "ParentGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the parent group.", - "title": "ParentGroupArn", + "Settings": { + "markdownDescription": "The configuration settings for the flow module.", + "title": "Settings", + "type": "string" + }, + "State": { + "markdownDescription": "The state of the flow module.", + "title": "State", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", + "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": [ + "Content", "InstanceArn", "Name" ], @@ -92898,7 +92412,7 @@ }, "Type": { "enum": [ - "AWS::Connect::UserHierarchyGroup" + "AWS::Connect::ContactFlowModule" ], "type": "string" }, @@ -92917,7 +92431,18 @@ ], "type": "object" }, - "AWS::Connect::UserHierarchyStructure": { + "AWS::Connect::ContactFlowModule.ExternalInvocationConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "Enable external invocation.", + "title": "Enabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Connect::ContactFlowModuleAlias": { "additionalProperties": false, "properties": { "Condition": { @@ -92952,25 +92477,29 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", + "ContactFlowModuleId": { "type": "string" }, - "UserHierarchyStructure": { - "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.UserHierarchyStructure", - "markdownDescription": "Contains information about a hierarchy structure.", - "title": "UserHierarchyStructure" + "ContactFlowModuleVersion": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" } }, "required": [ - "InstanceArn" + "ContactFlowModuleId", + "ContactFlowModuleVersion", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::UserHierarchyStructure" + "AWS::Connect::ContactFlowModuleAlias" ], "type": "string" }, @@ -92989,158 +92518,75 @@ ], "type": "object" }, - "AWS::Connect::UserHierarchyStructure.LevelFive": { - "additionalProperties": false, - "properties": { - "HierarchyLevelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", - "title": "HierarchyLevelArn", - "type": "string" - }, - "HierarchyLevelId": { - "markdownDescription": "The identifier of the hierarchy level.", - "title": "HierarchyLevelId", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the hierarchy level.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Connect::UserHierarchyStructure.LevelFour": { - "additionalProperties": false, - "properties": { - "HierarchyLevelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", - "title": "HierarchyLevelArn", - "type": "string" - }, - "HierarchyLevelId": { - "markdownDescription": "The identifier of the hierarchy level.", - "title": "HierarchyLevelId", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the hierarchy level.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Connect::UserHierarchyStructure.LevelOne": { + "AWS::Connect::ContactFlowModuleVersion": { "additionalProperties": false, "properties": { - "HierarchyLevelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", - "title": "HierarchyLevelArn", + "Condition": { "type": "string" }, - "HierarchyLevelId": { - "markdownDescription": "The identifier of the hierarchy level.", - "title": "HierarchyLevelId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Name": { - "markdownDescription": "The name of the hierarchy level.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Connect::UserHierarchyStructure.LevelThree": { - "additionalProperties": false, - "properties": { - "HierarchyLevelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", - "title": "HierarchyLevelArn", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "HierarchyLevelId": { - "markdownDescription": "", - "title": "HierarchyLevelId", - "type": "string" + "Metadata": { + "type": "object" }, - "Name": { - "markdownDescription": "The name of the hierarchy level.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Connect::UserHierarchyStructure.LevelTwo": { - "additionalProperties": false, - "properties": { - "HierarchyLevelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", - "title": "HierarchyLevelArn", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ContactFlowModuleId": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "ContactFlowModuleId" + ], + "type": "object" }, - "HierarchyLevelId": { - "markdownDescription": "The identifier of the hierarchy level.", - "title": "HierarchyLevelId", + "Type": { + "enum": [ + "AWS::Connect::ContactFlowModuleVersion" + ], "type": "string" }, - "Name": { - "markdownDescription": "The name of the hierarchy level.", - "title": "Name", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Name" + "Type", + "Properties" ], "type": "object" }, - "AWS::Connect::UserHierarchyStructure.UserHierarchyStructure": { - "additionalProperties": false, - "properties": { - "LevelFive": { - "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelFive", - "markdownDescription": "", - "title": "LevelFive" - }, - "LevelFour": { - "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelFour", - "markdownDescription": "The update for level four.", - "title": "LevelFour" - }, - "LevelOne": { - "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelOne", - "markdownDescription": "The update for level one.", - "title": "LevelOne" - }, - "LevelThree": { - "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelThree", - "markdownDescription": "The update for level three.", - "title": "LevelThree" - }, - "LevelTwo": { - "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelTwo", - "markdownDescription": "The update for level two.", - "title": "LevelTwo" - } - }, - "type": "object" - }, - "AWS::Connect::View": { + "AWS::Connect::ContactFlowVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -93175,54 +92621,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of actions possible from the view.", - "title": "Actions", - "type": "array" + "ContactFlowId": { + "markdownDescription": "The identifier of the flow.", + "title": "ContactFlowId", + "type": "string" }, "Description": { - "markdownDescription": "The description of the view.", + "markdownDescription": "The description of the flow version.", "title": "Description", "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", - "title": "InstanceArn", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the view.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags associated with the view resource (not specific to view version).", - "title": "Tags", - "type": "array" - }, - "Template": { - "markdownDescription": "The view template representing the structure of the view.", - "title": "Template", - "type": "object" } }, "required": [ - "Actions", - "InstanceArn", - "Name", - "Template" + "ContactFlowId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::View" + "AWS::Connect::ContactFlowVersion" ], "type": "string" }, @@ -93241,7 +92658,7 @@ ], "type": "object" }, - "AWS::Connect::ViewVersion": { + "AWS::Connect::DataLakeAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -93276,30 +92693,25 @@ "Properties": { "additionalProperties": false, "properties": { - "VersionDescription": { - "markdownDescription": "The description of the view version.", - "title": "VersionDescription", + "DataSetId": { "type": "string" }, - "ViewArn": { - "markdownDescription": "The unqualified Amazon Resource Name (ARN) of the view.\n\nFor example:\n\n`arn::connect:::instance/00000000-0000-0000-0000-000000000000/view/00000000-0000-0000-0000-000000000000`", - "title": "ViewArn", + "InstanceId": { "type": "string" }, - "ViewContentSha256": { - "markdownDescription": "Indicates the checksum value of the latest published view content.", - "title": "ViewContentSha256", + "TargetAccountId": { "type": "string" } }, "required": [ - "ViewArn" + "DataSetId", + "InstanceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::ViewVersion" + "AWS::Connect::DataLakeAssociation" ], "type": "string" }, @@ -93318,7 +92730,7 @@ ], "type": "object" }, - "AWS::Connect::Workspace": { + "AWS::Connect::DataTable": { "additionalProperties": false, "properties": { "Condition": { @@ -93353,16 +92765,8 @@ "Properties": { "additionalProperties": false, "properties": { - "Associations": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Associations", - "type": "array" - }, "Description": { - "markdownDescription": "The description of the workspace.", + "markdownDescription": "An optional description of the data table's purpose and contents.", "title": "Description", "type": "string" }, @@ -93371,60 +92775,47 @@ "title": "InstanceArn", "type": "string" }, - "Media": { - "items": { - "$ref": "#/definitions/AWS::Connect::Workspace.MediaItem" - }, - "markdownDescription": "", - "title": "Media", - "type": "array" - }, "Name": { - "markdownDescription": "The name of the workspace.", + "markdownDescription": "The human-readable name of the data table. Must be unique within the instance and conform to Connect naming standards.", "title": "Name", "type": "string" }, - "Pages": { - "items": { - "$ref": "#/definitions/AWS::Connect::Workspace.WorkspacePage" - }, - "markdownDescription": "", - "title": "Pages", - "type": "array" + "Status": { + "markdownDescription": "The current status of the data table. One of PUBLISHED or SAVED.", + "title": "Status", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for the workspace.", + "markdownDescription": "Key-value pairs for attribute based access control (TBAC or ABAC) and organization.", "title": "Tags", "type": "array" }, - "Theme": { - "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceTheme", - "markdownDescription": "The theme configuration for the workspace, including colors and styling.", - "title": "Theme" - }, - "Title": { - "markdownDescription": "The title displayed for the workspace.", - "title": "Title", + "TimeZone": { + "markdownDescription": "The IANA timezone identifier used when resolving time based dynamic values. Required even if no time slices are specified.", + "title": "TimeZone", "type": "string" }, - "Visibility": { - "markdownDescription": "Controls who can access the workspace. Valid values are: `ALL` (all users), `ASSIGNED` (only assigned users and routing profiles), and `NONE` (not visible).", - "title": "Visibility", + "ValueLockLevel": { + "markdownDescription": "The data level that concurrent value edits are locked on. One of DATA_TABLE, PRIMARY_VALUE, ATTRIBUTE, VALUE, and NONE. Determines how concurrent edits are handled when multiple users attempt to modify values simultaneously.", + "title": "ValueLockLevel", "type": "string" } }, "required": [ "InstanceArn", - "Name" + "Name", + "Status", + "TimeZone", + "ValueLockLevel" ], "type": "object" }, "Type": { "enum": [ - "AWS::Connect::Workspace" + "AWS::Connect::DataTable" ], "type": "string" }, @@ -93443,245 +92834,209 @@ ], "type": "object" }, - "AWS::Connect::Workspace.FontFamily": { + "AWS::Connect::DataTable.LockVersion": { "additionalProperties": false, "properties": { - "Default": { - "markdownDescription": "The default font family to use in the workspace theme.", - "title": "Default", + "DataTable": { + "markdownDescription": "", + "title": "DataTable", "type": "string" } }, "type": "object" }, - "AWS::Connect::Workspace.MediaItem": { + "AWS::Connect::DataTableAttribute": { "additionalProperties": false, "properties": { - "Source": { - "markdownDescription": "The source URL or data for the media asset.", - "title": "Source", + "Condition": { "type": "string" }, - "Type": { - "markdownDescription": "The type of media. Valid values are: `IMAGE_LOGO_FAVICON` and `IMAGE_LOGO_HORIZONTAL` .", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Connect::Workspace.PaletteCanvas": { - "additionalProperties": false, - "properties": { - "ActiveBackground": { - "markdownDescription": "The background color for active elements.", - "title": "ActiveBackground", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerBackground": { - "markdownDescription": "The background color for container elements.", - "title": "ContainerBackground", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "PageBackground": { - "markdownDescription": "The background color for page elements.", - "title": "PageBackground", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::Workspace.PaletteHeader": { - "additionalProperties": false, - "properties": { - "Background": { - "markdownDescription": "The background color of the header.", - "title": "Background", - "type": "string" + "Metadata": { + "type": "object" }, - "InvertActionsColors": { - "markdownDescription": "Whether to invert the colors of action buttons in the header.", - "title": "InvertActionsColors", - "type": "boolean" + "Properties": { + "additionalProperties": false, + "properties": { + "DataTableArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the data table that contains this attribute.", + "title": "DataTableArn", + "type": "string" + }, + "Description": { + "markdownDescription": "An optional description explaining the purpose and usage of this attribute.", + "title": "Description", + "type": "string" + }, + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The human-readable name of the attribute. Must be unique within the data table and conform to Connect naming standards.", + "title": "Name", + "type": "string" + }, + "Primary": { + "markdownDescription": "Boolean indicating whether this attribute is used as a primary key for record identification. Primary attributes must have unique value combinations and cannot contain expressions.", + "title": "Primary", + "type": "boolean" + }, + "Validation": { + "$ref": "#/definitions/AWS::Connect::DataTableAttribute.Validation", + "markdownDescription": "The validation rules applied to values of this attribute. Based on JSON Schema Draft 2020-12 with additional Connect-specific validations for data integrity.", + "title": "Validation" + }, + "ValueType": { + "markdownDescription": "The type of value allowed for this attribute. Must be one of TEXT, TEXT_LIST, NUMBER, NUMBER_LIST, or BOOLEAN. Determines how values are validated and processed.", + "title": "ValueType", + "type": "string" + } + }, + "required": [ + "DataTableArn", + "InstanceArn", + "Name", + "ValueType" + ], + "type": "object" }, - "Text": { - "markdownDescription": "The text color in the header.", - "title": "Text", + "Type": { + "enum": [ + "AWS::Connect::DataTableAttribute" + ], "type": "string" }, - "TextHover": { - "markdownDescription": "The text color when hovering over header elements.", - "title": "TextHover", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Connect::Workspace.PaletteNavigation": { + "AWS::Connect::DataTableAttribute.Enum": { "additionalProperties": false, "properties": { - "Background": { - "markdownDescription": "The background color of the navigation area.", - "title": "Background", - "type": "string" - }, - "InvertActionsColors": { - "markdownDescription": "Whether to invert the colors of action buttons in the navigation area.", - "title": "InvertActionsColors", + "Strict": { + "markdownDescription": "", + "title": "Strict", "type": "boolean" }, - "Text": { - "markdownDescription": "The text color in the navigation area.", - "title": "Text", - "type": "string" - }, - "TextActive": { - "markdownDescription": "The text color for active navigation items.", - "title": "TextActive", - "type": "string" - }, - "TextBackgroundActive": { - "markdownDescription": "The background color for active navigation items.", - "title": "TextBackgroundActive", - "type": "string" - }, - "TextBackgroundHover": { - "markdownDescription": "The background color when hovering over navigation text.", - "title": "TextBackgroundHover", - "type": "string" - }, - "TextHover": { - "markdownDescription": "The text color when hovering over navigation items.", - "title": "TextHover", - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Values", + "type": "array" } }, "type": "object" }, - "AWS::Connect::Workspace.PalettePrimary": { + "AWS::Connect::DataTableAttribute.LockVersion": { "additionalProperties": false, "properties": { - "Active": { - "markdownDescription": "The primary color used for active states.", - "title": "Active", - "type": "string" - }, - "ContrastText": { - "markdownDescription": "The text color that contrasts with the primary color for readability.", - "title": "ContrastText", + "Attribute": { + "markdownDescription": "", + "title": "Attribute", "type": "string" }, - "Default": { - "markdownDescription": "The default primary color used throughout the workspace.", - "title": "Default", + "DataTable": { + "markdownDescription": "", + "title": "DataTable", "type": "string" } }, "type": "object" }, - "AWS::Connect::Workspace.WorkspacePage": { + "AWS::Connect::DataTableAttribute.Validation": { "additionalProperties": false, "properties": { - "InputData": { - "markdownDescription": "A JSON string containing input parameters passed to the view when the page is rendered.", - "title": "InputData", - "type": "string" + "Enum": { + "$ref": "#/definitions/AWS::Connect::DataTableAttribute.Enum", + "markdownDescription": "Defines enumeration constraints for attribute values. Can specify a list of allowed values and whether custom values are permitted beyond the enumerated list.", + "title": "Enum" }, - "Page": { - "markdownDescription": "The page identifier. System pages include `HOME` and `AGENT_EXPERIENCE` .", - "title": "Page", - "type": "string" + "ExclusiveMaximum": { + "markdownDescription": "The largest exclusive numeric value for NUMBER value type. Can be provided alongside Maximum where both operate independently. Must be greater than ExclusiveMinimum and Minimum. Applies to NUMBER and values within NUMBER_LIST.", + "title": "ExclusiveMaximum", + "type": "number" }, - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the view associated with this page.", - "title": "ResourceArn", - "type": "string" + "ExclusiveMinimum": { + "markdownDescription": "The smallest exclusive numeric value for NUMBER value type. Can be provided alongside Minimum where both operate independently. Must be less than ExclusiveMaximum and Maximum. Applies to NUMBER and values within NUMBER_LIST.", + "title": "ExclusiveMinimum", + "type": "number" }, - "Slug": { - "markdownDescription": "The URL-friendly identifier for the page.", - "title": "Slug", - "type": "string" - } - }, - "required": [ - "Page", - "ResourceArn" - ], - "type": "object" - }, - "AWS::Connect::Workspace.WorkspaceTheme": { - "additionalProperties": false, - "properties": { - "Dark": { - "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemeConfig", - "markdownDescription": "The theme configuration for dark mode.", - "title": "Dark" + "MaxLength": { + "markdownDescription": "The maximum number of characters a text value can contain. Applies to TEXT value type and values within a TEXT_LIST. Must be greater than or equal to MinLength.", + "title": "MaxLength", + "type": "number" }, - "Light": { - "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemeConfig", - "markdownDescription": "The theme configuration for light mode.", - "title": "Light" - } - }, - "type": "object" - }, - "AWS::Connect::Workspace.WorkspaceThemeConfig": { - "additionalProperties": false, - "properties": { - "Palette": { - "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemePalette", - "markdownDescription": "The color palette configuration for the workspace theme.", - "title": "Palette" + "MaxValues": { + "markdownDescription": "The maximum number of values in a list. Must be an integer greater than or equal to 0 and greater than or equal to MinValues. Applies to all list types.", + "title": "MaxValues", + "type": "number" }, - "Typography": { - "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemeTypography", - "markdownDescription": "The typography configuration for the workspace theme.", - "title": "Typography" - } - }, - "type": "object" - }, - "AWS::Connect::Workspace.WorkspaceThemePalette": { - "additionalProperties": false, - "properties": { - "Canvas": { - "$ref": "#/definitions/AWS::Connect::Workspace.PaletteCanvas", - "markdownDescription": "The color configuration for the canvas area.", - "title": "Canvas" + "Maximum": { + "markdownDescription": "The largest inclusive numeric value for NUMBER value type. Can be provided alongside ExclusiveMaximum where both operate independently. Must be greater than or equal to Minimum and greater than ExclusiveMinimum. Applies to NUMBER and values within NUMBER_LIST.", + "title": "Maximum", + "type": "number" }, - "Header": { - "$ref": "#/definitions/AWS::Connect::Workspace.PaletteHeader", - "markdownDescription": "The color configuration for the header area.", - "title": "Header" + "MinLength": { + "markdownDescription": "The minimum number of characters a text value can contain. Applies to TEXT value type and values within a TEXT_LIST. Must be less than or equal to MaxLength.", + "title": "MinLength", + "type": "number" }, - "Navigation": { - "$ref": "#/definitions/AWS::Connect::Workspace.PaletteNavigation", - "markdownDescription": "The color configuration for the navigation area.", - "title": "Navigation" + "MinValues": { + "markdownDescription": "The minimum number of values in a list. Must be an integer greater than or equal to 0 and less than or equal to MaxValues. Applies to all list types.", + "title": "MinValues", + "type": "number" }, - "Primary": { - "$ref": "#/definitions/AWS::Connect::Workspace.PalettePrimary", - "markdownDescription": "The primary color configuration used throughout the workspace.", - "title": "Primary" - } - }, - "type": "object" - }, - "AWS::Connect::Workspace.WorkspaceThemeTypography": { - "additionalProperties": false, - "properties": { - "FontFamily": { - "$ref": "#/definitions/AWS::Connect::Workspace.FontFamily", - "markdownDescription": "The font family configuration for text in the workspace.", - "title": "FontFamily" + "Minimum": { + "markdownDescription": "The smallest inclusive numeric value for NUMBER value type. Cannot be provided when ExclusiveMinimum is also provided. Must be less than or equal to Maximum and less than ExclusiveMaximum. Applies to NUMBER and values within NUMBER_LIST.", + "title": "Minimum", + "type": "number" + }, + "MultipleOf": { + "markdownDescription": "Specifies that numeric values must be multiples of this number. Must be greater than 0. The result of dividing a value by this multiple must result in an integer. Applies to NUMBER and values within NUMBER_LIST.", + "title": "MultipleOf", + "type": "number" } }, "type": "object" }, - "AWS::ConnectCampaigns::Campaign": { + "AWS::Connect::DataTableRecord": { "additionalProperties": false, "properties": { "Condition": { @@ -93716,46 +93071,32 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectInstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect instance.", - "title": "ConnectInstanceArn", + "DataTableArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the data table. Does not include version aliases.", + "title": "DataTableArn", "type": "string" }, - "DialerConfig": { - "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.DialerConfig", - "markdownDescription": "Contains information about the dialer configuration.", - "title": "DialerConfig" + "DataTableRecord": { + "$ref": "#/definitions/AWS::Connect::DataTableRecord.DataTableRecord", + "markdownDescription": "", + "title": "DataTableRecord" }, - "Name": { - "markdownDescription": "The name of the campaign.", - "title": "Name", + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", "type": "string" - }, - "OutboundCallConfig": { - "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.OutboundCallConfig", - "markdownDescription": "Contains information about the outbound call configuration.", - "title": "OutboundCallConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" } }, "required": [ - "ConnectInstanceArn", - "DialerConfig", - "Name", - "OutboundCallConfig" + "DataTableArn", + "DataTableRecord", + "InstanceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::ConnectCampaigns::Campaign" + "AWS::Connect::DataTableRecord" ], "type": "string" }, @@ -93774,125 +93115,161 @@ ], "type": "object" }, - "AWS::ConnectCampaigns::Campaign.AgentlessDialerConfig": { - "additionalProperties": false, - "properties": { - "DialingCapacity": { - "markdownDescription": "The allocation of dialing capacity between multiple active campaigns.", - "title": "DialingCapacity", - "type": "number" - } - }, - "type": "object" - }, - "AWS::ConnectCampaigns::Campaign.AnswerMachineDetectionConfig": { + "AWS::Connect::DataTableRecord.DataTableRecord": { "additionalProperties": false, "properties": { - "AwaitAnswerMachinePrompt": { - "markdownDescription": "Whether waiting for answer machine prompt is enabled.", - "title": "AwaitAnswerMachinePrompt", - "type": "boolean" + "PrimaryValues": { + "items": { + "$ref": "#/definitions/AWS::Connect::DataTableRecord.Value" + }, + "markdownDescription": "", + "title": "PrimaryValues", + "type": "array" }, - "EnableAnswerMachineDetection": { - "markdownDescription": "Whether answering machine detection is enabled.", - "title": "EnableAnswerMachineDetection", - "type": "boolean" + "Values": { + "items": { + "$ref": "#/definitions/AWS::Connect::DataTableRecord.Value" + }, + "markdownDescription": "", + "title": "Values", + "type": "array" } }, "required": [ - "EnableAnswerMachineDetection" + "Values" ], "type": "object" }, - "AWS::ConnectCampaigns::Campaign.DialerConfig": { + "AWS::Connect::DataTableRecord.Value": { "additionalProperties": false, "properties": { - "AgentlessDialerConfig": { - "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.AgentlessDialerConfig", - "markdownDescription": "The configuration of the agentless dialer.", - "title": "AgentlessDialerConfig" - }, - "PredictiveDialerConfig": { - "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.PredictiveDialerConfig", - "markdownDescription": "The configuration of the predictive dialer.", - "title": "PredictiveDialerConfig" + "AttributeId": { + "markdownDescription": "", + "title": "AttributeId", + "type": "string" }, - "ProgressiveDialerConfig": { - "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.ProgressiveDialerConfig", - "markdownDescription": "The configuration of the progressive dialer.", - "title": "ProgressiveDialerConfig" + "AttributeValue": { + "markdownDescription": "", + "title": "AttributeValue", + "type": "string" } }, "type": "object" }, - "AWS::ConnectCampaigns::Campaign.OutboundCallConfig": { + "AWS::Connect::EmailAddress": { "additionalProperties": false, "properties": { - "AnswerMachineDetectionConfig": { - "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.AnswerMachineDetectionConfig", - "markdownDescription": "Whether answering machine detection has been enabled.", - "title": "AnswerMachineDetectionConfig" - }, - "ConnectContactFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", - "title": "ConnectContactFlowArn", + "Condition": { "type": "string" }, - "ConnectQueueArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the queue.", - "title": "ConnectQueueArn", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ConnectSourcePhoneNumber": { - "markdownDescription": "The phone number associated with the outbound call. This is the caller ID that is displayed to customers when an agent calls them.", - "title": "ConnectSourcePhoneNumber", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AliasConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Connect::EmailAddress.AliasConfiguration" + }, + "markdownDescription": "A list of alias configurations for this email address, showing which email addresses forward to this primary address. Each configuration contains the email address ID of an alias that forwards emails to this address.", + "title": "AliasConfigurations", + "type": "array" + }, + "Description": { + "markdownDescription": "The description of the email address.", + "title": "Description", + "type": "string" + }, + "DisplayName": { + "markdownDescription": "The display name of email address.", + "title": "DisplayName", + "type": "string" + }, + "EmailAddress": { + "markdownDescription": "The email address, including the domain.", + "title": "EmailAddress", + "type": "string" + }, + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "EmailAddress", + "InstanceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::EmailAddress" + ], "type": "string" - } - }, - "required": [ - "ConnectContactFlowArn" - ], - "type": "object" - }, - "AWS::ConnectCampaigns::Campaign.PredictiveDialerConfig": { - "additionalProperties": false, - "properties": { - "BandwidthAllocation": { - "markdownDescription": "Bandwidth allocation for the predictive dialer.", - "title": "BandwidthAllocation", - "type": "number" }, - "DialingCapacity": { - "markdownDescription": "The allocation of dialing capacity between multiple active campaigns.", - "title": "DialingCapacity", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "BandwidthAllocation" + "Type", + "Properties" ], "type": "object" }, - "AWS::ConnectCampaigns::Campaign.ProgressiveDialerConfig": { + "AWS::Connect::EmailAddress.AliasConfiguration": { "additionalProperties": false, "properties": { - "BandwidthAllocation": { - "markdownDescription": "Bandwidth allocation for the progressive dialer.", - "title": "BandwidthAllocation", - "type": "number" - }, - "DialingCapacity": { - "markdownDescription": "The allocation of dialing capacity between multiple active campaigns.", - "title": "DialingCapacity", - "type": "number" + "EmailAddressArn": { + "markdownDescription": "", + "title": "EmailAddressArn", + "type": "string" } }, "required": [ - "BandwidthAllocation" + "EmailAddressArn" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign": { + "AWS::Connect::EvaluationForm": { "additionalProperties": false, "properties": { "Condition": { @@ -93927,72 +93304,80 @@ "Properties": { "additionalProperties": false, "properties": { - "ChannelSubtypeConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.ChannelSubtypeConfig", - "markdownDescription": "Contains channel subtype configuration for an outbound campaign.", - "title": "ChannelSubtypeConfig" - }, - "CommunicationLimitsOverride": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationLimitsConfig", - "markdownDescription": "Communication limits configuration for an outbound campaign.", - "title": "CommunicationLimitsOverride" + "AIVersion": { + "type": "string" }, - "CommunicationTimeConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationTimeConfig", - "markdownDescription": "Contains communication time configuration for an outbound campaign.", - "title": "CommunicationTimeConfig" + "AutoEvaluationConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutoEvaluationConfiguration", + "markdownDescription": "The automatic evaluation configuration of an evaluation form.", + "title": "AutoEvaluationConfiguration" }, - "ConnectCampaignFlowArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect campaign flow associated with the outbound campaign.", - "title": "ConnectCampaignFlowArn", + "Description": { + "markdownDescription": "The description of the evaluation form.\n\n*Length Constraints* : Minimum length of 0. Maximum length of 1024.", + "title": "Description", "type": "string" }, - "ConnectInstanceId": { - "markdownDescription": "The identifier of the Amazon Connect instance. You can find the `instanceId` in the ARN of the instance.", - "title": "ConnectInstanceId", + "InstanceArn": { + "markdownDescription": "The identifier of the Amazon Connect instance.", + "title": "InstanceArn", "type": "string" }, - "EntryLimitsConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EntryLimitsConfig" + "Items": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormBaseItem" + }, + "markdownDescription": "Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.\n\n*Minimum size* : 1\n\n*Maximum size* : 100", + "title": "Items", + "type": "array" }, - "Name": { - "markdownDescription": "The name of the outbound campaign.", - "title": "Name", - "type": "string" + "LanguageConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormLanguageConfiguration", + "markdownDescription": "Configuration for language settings of this evaluation form.", + "title": "LanguageConfiguration" }, - "Schedule": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.Schedule", - "markdownDescription": "Contains the schedule configuration.", - "title": "Schedule" + "ReviewConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationReviewConfiguration" }, - "Source": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.Source", - "markdownDescription": "Contains source configuration.", - "title": "Source" + "ScoringStrategy": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.ScoringStrategy", + "markdownDescription": "A scoring strategy of the evaluation form.", + "title": "ScoringStrategy" + }, + "Status": { + "markdownDescription": "The status of the evaluation form.\n\n*Allowed values* : `DRAFT` | `ACTIVE`", + "title": "Status", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, `{ \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }` .", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "title": "Tags", "type": "array" }, - "Type": { - "markdownDescription": "The type of campaign.", - "title": "Type", + "TargetConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormTargetConfiguration", + "markdownDescription": "Configuration that specifies the target for this evaluation form.", + "title": "TargetConfiguration" + }, + "Title": { + "markdownDescription": "A title of the evaluation form.", + "title": "Title", "type": "string" } }, "required": [ - "ConnectInstanceId", - "Name" + "InstanceArn", + "Items", + "Status", + "Title" ], "type": "object" }, "Type": { "enum": [ - "AWS::ConnectCampaignsV2::Campaign" + "AWS::Connect::EvaluationForm" ], "type": "string" }, @@ -94011,755 +93396,882 @@ ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.AnswerMachineDetectionConfig": { + "AWS::Connect::EvaluationForm.AutoEvaluationConfiguration": { "additionalProperties": false, "properties": { - "AwaitAnswerMachinePrompt": { - "markdownDescription": "Whether or not waiting for an answer machine prompt is enabled.", - "title": "AwaitAnswerMachinePrompt", - "type": "boolean" - }, - "EnableAnswerMachineDetection": { - "markdownDescription": "Enables answering machine detection.", - "title": "EnableAnswerMachineDetection", + "Enabled": { + "markdownDescription": "", + "title": "Enabled", "type": "boolean" } }, - "required": [ - "EnableAnswerMachineDetection" - ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.ChannelSubtypeConfig": { + "AWS::Connect::EvaluationForm.AutomaticFailConfiguration": { "additionalProperties": false, "properties": { - "Email": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EmailChannelSubtypeConfig", - "markdownDescription": "The configuration of the email channel subtype.", - "title": "Email" - }, - "Sms": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.SmsChannelSubtypeConfig", - "markdownDescription": "The configuration of the SMS channel subtype.", - "title": "Sms" - }, - "Telephony": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TelephonyChannelSubtypeConfig", - "markdownDescription": "The configuration of the telephony channel subtype.", - "title": "Telephony" - }, - "WhatsApp": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.WhatsAppChannelSubtypeConfig", - "markdownDescription": "The configuration of the WhatsApp channel subtype.", - "title": "WhatsApp" + "TargetSection": { + "markdownDescription": "The referenceId of the target section for auto failure.", + "title": "TargetSection", + "type": "string" } }, "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.CommunicationLimit": { + "AWS::Connect::EvaluationForm.EvaluationFormBaseItem": { "additionalProperties": false, "properties": { - "Frequency": { - "markdownDescription": "The frequency of communication limit evaluation.", - "title": "Frequency", - "type": "number" - }, - "MaxCountPerRecipient": { - "markdownDescription": "The maximum outreaching count for each recipient.", - "title": "MaxCountPerRecipient", - "type": "number" - }, - "Unit": { - "markdownDescription": "The unit of communication limit evaluation.", - "title": "Unit", - "type": "string" + "Section": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSection", + "markdownDescription": "A subsection or inner section of an item.", + "title": "Section" } }, "required": [ - "Frequency", - "MaxCountPerRecipient", - "Unit" + "Section" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.CommunicationLimits": { + "AWS::Connect::EvaluationForm.EvaluationFormItem": { "additionalProperties": false, "properties": { - "CommunicationLimitList": { + "Question": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestion", + "markdownDescription": "The information of the question.", + "title": "Question" + }, + "Section": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSection", + "markdownDescription": "The information of the section.", + "title": "Section" + } + }, + "type": "object" + }, + "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementCondition": { + "additionalProperties": false, + "properties": { + "Operands": { "items": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationLimit" + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConditionOperand" }, - "markdownDescription": "The list of CommunicationLimits.", - "title": "CommunicationLimitList", + "markdownDescription": "Operands of the enablement condition.", + "title": "Operands", "type": "array" + }, + "Operator": { + "markdownDescription": "The operator to be used to be applied to operands if more than one provided.", + "title": "Operator", + "type": "string" } }, + "required": [ + "Operands" + ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.CommunicationLimitsConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConditionOperand": { "additionalProperties": false, "properties": { - "AllChannelsSubtypes": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationLimits", - "markdownDescription": "The CommunicationLimits that apply to all channel subtypes defined in an outbound campaign.", - "title": "AllChannelsSubtypes" - }, - "InstanceLimitsHandling": { - "markdownDescription": "Opt-in or Opt-out from instance-level limits.", - "title": "InstanceLimitsHandling", - "type": "string" + "Expression": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementExpression", + "markdownDescription": "An expression of the enablement condition.", + "title": "Expression" } }, "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.CommunicationTimeConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConfiguration": { "additionalProperties": false, "properties": { - "Email": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", - "markdownDescription": "The communication time configuration for the email channel subtype.", - "title": "Email" - }, - "LocalTimeZoneConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.LocalTimeZoneConfig", - "markdownDescription": "The local timezone configuration.", - "title": "LocalTimeZoneConfig" - }, - "Sms": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", - "markdownDescription": "The communication time configuration for the SMS channel subtype.", - "title": "Sms" + "Action": { + "markdownDescription": "An enablement action that if condition is satisfied.", + "title": "Action", + "type": "string" }, - "Telephony": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", - "markdownDescription": "The communication time configuration for the telephony channel subtype.", - "title": "Telephony" + "Condition": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementCondition", + "markdownDescription": "A condition for item enablement configuration.", + "title": "Condition" }, - "WhatsApp": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", - "markdownDescription": "The communication time configuration for the WhatsApp channel subtype.", - "title": "WhatsApp" + "DefaultAction": { + "markdownDescription": "An enablement action that if condition is not satisfied.", + "title": "DefaultAction", + "type": "string" } }, "required": [ - "LocalTimeZoneConfig" + "Action", + "Condition" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.DailyHour": { + "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementExpression": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key for DailyHour.", - "title": "Key", + "Comparator": { + "markdownDescription": "A comparator to be used against list of values.", + "title": "Comparator", "type": "string" }, - "Value": { + "Source": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSource", + "markdownDescription": "A source item of enablement expression.", + "title": "Source" + }, + "Values": { "items": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeRange" + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSourceValue" }, - "markdownDescription": "The value for DailyHour.", - "title": "Value", + "markdownDescription": "A list of values from source item.", + "title": "Values", "type": "array" } }, + "required": [ + "Comparator", + "Source", + "Values" + ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.EmailChannelSubtypeConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSource": { "additionalProperties": false, "properties": { - "Capacity": { - "markdownDescription": "The allocation of email capacity between multiple running outbound campaigns.", - "title": "Capacity", - "type": "number" - }, - "DefaultOutboundConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EmailOutboundConfig", - "markdownDescription": "The default email outbound configuration of an outbound campaign.", - "title": "DefaultOutboundConfig" + "RefId": { + "markdownDescription": "A referenceId of the source item.", + "title": "RefId", + "type": "string" }, - "OutboundMode": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EmailOutboundMode", - "markdownDescription": "The outbound mode for email of an outbound campaign.", - "title": "OutboundMode" + "Type": { + "markdownDescription": "A type of source item.", + "title": "Type", + "type": "string" } }, "required": [ - "DefaultOutboundConfig", - "OutboundMode" + "Type" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.EmailOutboundConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormItemEnablementSourceValue": { "additionalProperties": false, "properties": { - "ConnectSourceEmailAddress": { - "markdownDescription": "The Amazon Connect source email address.", - "title": "ConnectSourceEmailAddress", - "type": "string" - }, - "SourceEmailAddressDisplayName": { - "markdownDescription": "The display name for the Amazon Connect source email address.", - "title": "SourceEmailAddressDisplayName", + "RefId": { + "markdownDescription": "A referenceId of the source value.", + "title": "RefId", "type": "string" }, - "WisdomTemplateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Q in Connect template.", - "title": "WisdomTemplateArn", + "Type": { + "markdownDescription": "A type of source item value.", + "title": "Type", "type": "string" } }, - "required": [ - "ConnectSourceEmailAddress", - "WisdomTemplateArn" - ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.EmailOutboundMode": { + "AWS::Connect::EvaluationForm.EvaluationFormLanguageConfiguration": { "additionalProperties": false, "properties": { - "AgentlessConfig": { - "markdownDescription": "The agentless outbound mode configuration for email.", - "title": "AgentlessConfig", - "type": "object" + "FormLanguage": { + "markdownDescription": "The language for the evaluation form.", + "title": "FormLanguage", + "type": "string" } }, "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.EntryLimitsConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormMetricConfiguration": { "additionalProperties": false, "properties": { - "MaxEntryCount": { - "type": "number" + "MetricName": { + "type": "string" }, - "MinEntryInterval": { + "MetricType": { "type": "string" } }, "required": [ - "MaxEntryCount", - "MinEntryInterval" + "MetricName", + "MetricType" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.EventTrigger": { - "additionalProperties": false, - "properties": { - "CustomerProfilesDomainArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Customer Profiles domain.", - "title": "CustomerProfilesDomainArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ConnectCampaignsV2::Campaign.LocalTimeZoneConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomation": { "additionalProperties": false, "properties": { - "DefaultTimeZone": { - "markdownDescription": "The timezone to use for all recipients.", - "title": "DefaultTimeZone", - "type": "string" + "AnswerSource": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", + "markdownDescription": "", + "title": "AnswerSource" }, - "LocalTimeZoneDetection": { + "DefaultOptionRefIds": { "items": { "type": "string" }, - "markdownDescription": "Detects methods for the recipient's timezone.", - "title": "LocalTimeZoneDetection", + "markdownDescription": "Reference IDs of default options.", + "title": "DefaultOptionRefIds", "type": "array" }, - "LocalTimeZoneDetectionScope": { - "type": "string" + "Options": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomationOption" + }, + "markdownDescription": "Automation options for the multi-select question.", + "title": "Options", + "type": "array" } }, "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.OpenHours": { + "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomationOption": { "additionalProperties": false, "properties": { - "DailyHours": { - "items": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.DailyHour" - }, - "markdownDescription": "The daily hours configuration.", - "title": "DailyHours", - "type": "array" + "RuleCategory": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.MultiSelectQuestionRuleCategoryAutomation", + "markdownDescription": "Rule category configuration for this automation option.", + "title": "RuleCategory" } }, "required": [ - "DailyHours" + "RuleCategory" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.PredictiveConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionOption": { "additionalProperties": false, "properties": { - "BandwidthAllocation": { - "markdownDescription": "Bandwidth allocation for the predictive outbound mode.", - "title": "BandwidthAllocation", + "AutomaticFail": { + "type": "boolean" + }, + "AutomaticFailConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutomaticFailConfiguration" + }, + "PointsConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration" + }, + "RefId": { + "markdownDescription": "Reference identifier for this option.", + "title": "RefId", + "type": "string" + }, + "Score": { "type": "number" + }, + "Text": { + "markdownDescription": "Display text for this option.", + "title": "Text", + "type": "string" } }, "required": [ - "BandwidthAllocation" + "RefId", + "Text" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.PreviewConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionProperties": { "additionalProperties": false, "properties": { - "AgentActions": { + "Automation": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionAutomation", + "markdownDescription": "Automation configuration for this multi-select question.", + "title": "Automation" + }, + "DisplayAs": { + "markdownDescription": "Display format for the multi-select question.", + "title": "DisplayAs", + "type": "string" + }, + "Options": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionOption" }, - "markdownDescription": "Agent actions for the preview outbound mode.", - "title": "AgentActions", + "markdownDescription": "Options available for this multi-select question.", + "title": "Options", "type": "array" - }, - "BandwidthAllocation": { - "markdownDescription": "Bandwidth allocation for the preview outbound mode.", - "title": "BandwidthAllocation", - "type": "number" - }, - "TimeoutConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeoutConfig", - "markdownDescription": "Countdown timer configuration for preview outbound mode.", - "title": "TimeoutConfig" } }, "required": [ - "BandwidthAllocation", - "TimeoutConfig" + "Options" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.ProgressiveConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionAutomation": { "additionalProperties": false, "properties": { - "BandwidthAllocation": { - "markdownDescription": "Bandwidth allocation for the progressive outbound mode.", - "title": "BandwidthAllocation", - "type": "number" + "AnswerSource": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", + "markdownDescription": "A source of automation answer for numeric question.", + "title": "AnswerSource" + }, + "PropertyValue": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.NumericQuestionPropertyValueAutomation", + "markdownDescription": "The property value of the automation.", + "title": "PropertyValue" } }, - "required": [ - "BandwidthAllocation" - ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.RestrictedPeriod": { + "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionOption": { "additionalProperties": false, "properties": { - "EndDate": { - "markdownDescription": "The end date of the restricted period.", - "title": "EndDate", - "type": "string" + "AutomaticFail": { + "markdownDescription": "The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.", + "title": "AutomaticFail", + "type": "boolean" }, - "Name": { - "markdownDescription": "The name of the restricted period.", - "title": "Name", - "type": "string" + "AutomaticFailConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutomaticFailConfiguration", + "markdownDescription": "A configuration for automatic fail.", + "title": "AutomaticFailConfiguration" }, - "StartDate": { - "markdownDescription": "The start date of the restricted period.", - "title": "StartDate", - "type": "string" + "MaxValue": { + "markdownDescription": "The maximum answer value of the range option.", + "title": "MaxValue", + "type": "number" + }, + "MinValue": { + "markdownDescription": "The minimum answer value of the range option.", + "title": "MinValue", + "type": "number" + }, + "PointsConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration" + }, + "Score": { + "markdownDescription": "The score assigned to answer values within the range option.\n\n*Minimum* : 0\n\n*Maximum* : 10", + "title": "Score", + "type": "number" } }, "required": [ - "EndDate", - "StartDate" + "MaxValue", + "MinValue" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.RestrictedPeriods": { + "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionProperties": { "additionalProperties": false, "properties": { - "RestrictedPeriodList": { + "Automation": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionAutomation", + "markdownDescription": "The automation properties of the numeric question.", + "title": "Automation" + }, + "MaxValue": { + "markdownDescription": "The maximum answer value.", + "title": "MaxValue", + "type": "number" + }, + "MinValue": { + "markdownDescription": "The minimum answer value.", + "title": "MinValue", + "type": "number" + }, + "Options": { "items": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.RestrictedPeriod" + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionOption" }, - "markdownDescription": "The restricted period list.", - "title": "RestrictedPeriodList", + "markdownDescription": "The scoring options of the numeric question.", + "title": "Options", "type": "array" } }, "required": [ - "RestrictedPeriodList" + "MaxValue", + "MinValue" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.Schedule": { + "AWS::Connect::EvaluationForm.EvaluationFormQuestion": { "additionalProperties": false, "properties": { - "EndTime": { - "markdownDescription": "The end time of the schedule in UTC.", - "title": "EndTime", + "Enablement": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItemEnablementConfiguration", + "markdownDescription": "A question conditional enablement.", + "title": "Enablement" + }, + "Instructions": { + "markdownDescription": "The instructions of the section.\n\n*Length Constraints* : Minimum length of 0. Maximum length of 1024.", + "title": "Instructions", "type": "string" }, - "RefreshFrequency": { - "markdownDescription": "The refresh frequency of the campaign.", - "title": "RefreshFrequency", + "MetricConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMetricConfiguration" + }, + "NotApplicableEnabled": { + "markdownDescription": "The flag to enable not applicable answers to the question.", + "title": "NotApplicableEnabled", + "type": "boolean" + }, + "QuestionType": { + "markdownDescription": "The type of the question.\n\n*Allowed values* : `NUMERIC` | `SINGLESELECT` | `TEXT`", + "title": "QuestionType", "type": "string" }, - "StartTime": { - "markdownDescription": "The start time of the schedule in UTC.", - "title": "StartTime", + "QuestionTypeProperties": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionTypeProperties", + "markdownDescription": "The properties of the type of question. Text questions do not have to define question type properties.", + "title": "QuestionTypeProperties" + }, + "RefId": { + "markdownDescription": "The identifier of the question. An identifier must be unique within the evaluation form.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", + "title": "RefId", "type": "string" - } - }, - "required": [ - "EndTime", - "StartTime" - ], - "type": "object" - }, - "AWS::ConnectCampaignsV2::Campaign.SmsChannelSubtypeConfig": { - "additionalProperties": false, - "properties": { - "Capacity": { - "markdownDescription": "The allocation of SMS capacity between multiple running outbound campaigns.", - "title": "Capacity", - "type": "number" }, - "DefaultOutboundConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.SmsOutboundConfig", - "markdownDescription": "The default SMS outbound configuration of an outbound campaign.", - "title": "DefaultOutboundConfig" + "ScoringConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionScoringConfiguration" }, - "OutboundMode": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.SmsOutboundMode", - "markdownDescription": "The outbound mode of SMS for an outbound campaign.", - "title": "OutboundMode" + "Title": { + "markdownDescription": "The title of the question.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 350.", + "title": "Title", + "type": "string" + }, + "Weight": { + "markdownDescription": "The scoring weight of the section.\n\n*Minimum* : 0\n\n*Maximum* : 100", + "title": "Weight", + "type": "number" } }, "required": [ - "DefaultOutboundConfig", - "OutboundMode" + "QuestionType", + "RefId", + "Title" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.SmsOutboundConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource": { "additionalProperties": false, "properties": { - "ConnectSourcePhoneNumberArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect source SMS phone number.", - "title": "ConnectSourcePhoneNumberArn", - "type": "string" - }, - "WisdomTemplateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Q in Connect template.", - "title": "WisdomTemplateArn", + "SourceType": { + "markdownDescription": "The automation answer source type.", + "title": "SourceType", "type": "string" } }, "required": [ - "ConnectSourcePhoneNumberArn", - "WisdomTemplateArn" + "SourceType" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.SmsOutboundMode": { + "AWS::Connect::EvaluationForm.EvaluationFormQuestionScoringConfiguration": { "additionalProperties": false, "properties": { - "AgentlessConfig": { - "markdownDescription": "Contains agentless outbound mode configuration.", - "title": "AgentlessConfig", - "type": "object" + "IsExcludedFromScoring": { + "type": "boolean" + }, + "PointsConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionPointsConfiguration" + }, + "ScoreThresholds": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold" + }, + "type": "array" } }, "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.Source": { + "AWS::Connect::EvaluationForm.EvaluationFormQuestionTypeProperties": { "additionalProperties": false, "properties": { - "CustomerProfilesSegmentArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Customer Profiles segment.", - "title": "CustomerProfilesSegmentArn", - "type": "string" + "MultiSelect": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionProperties", + "markdownDescription": "Properties for multi-select question types.", + "title": "MultiSelect" }, - "EventTrigger": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EventTrigger", - "markdownDescription": "The event trigger of the campaign.", - "title": "EventTrigger" + "Numeric": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionProperties", + "markdownDescription": "The properties of the numeric question.", + "title": "Numeric" + }, + "SingleSelect": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionProperties", + "markdownDescription": "The properties of the numeric question.", + "title": "SingleSelect" + }, + "Text": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormTextQuestionProperties", + "markdownDescription": "The properties of the text question.", + "title": "Text" } }, "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.TelephonyChannelSubtypeConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold": { "additionalProperties": false, "properties": { - "Capacity": { - "markdownDescription": "The allocation of telephony capacity between multiple running outbound campaigns.", - "title": "Capacity", + "MaxScorePercentage": { "type": "number" }, - "ConnectQueueId": { - "markdownDescription": "The identifier of the Amazon Connect queue associated with telephony outbound requests of an outbound campaign.", - "title": "ConnectQueueId", - "type": "string" - }, - "DefaultOutboundConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundConfig", - "markdownDescription": "The default telephony outbound configuration of an outbound campaign.", - "title": "DefaultOutboundConfig" + "MinScorePercentage": { + "type": "number" }, - "OutboundMode": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundMode", - "markdownDescription": "The outbound mode of telephony for an outbound campaign.", - "title": "OutboundMode" + "PerformanceCategory": { + "type": "string" } }, "required": [ - "DefaultOutboundConfig", - "OutboundMode" + "PerformanceCategory" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormSection": { "additionalProperties": false, "properties": { - "AnswerMachineDetectionConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.AnswerMachineDetectionConfig", - "markdownDescription": "The answering machine detection configuration.", - "title": "AnswerMachineDetectionConfig" + "Instructions": { + "markdownDescription": "The instructions of the section.", + "title": "Instructions", + "type": "string" }, - "ConnectContactFlowId": { - "markdownDescription": "The identifier of the published Amazon Connect contact flow.", - "title": "ConnectContactFlowId", + "IsExcludedFromScoring": { + "type": "boolean" + }, + "Items": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItem" + }, + "markdownDescription": "The items of the section.\n\n*Minimum* : 1", + "title": "Items", + "type": "array" + }, + "RefId": { + "markdownDescription": "The identifier of the section. An identifier must be unique within the evaluation form.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", + "title": "RefId", "type": "string" }, - "ConnectSourcePhoneNumber": { - "markdownDescription": "The Amazon Connect source phone number.", - "title": "ConnectSourcePhoneNumber", + "ScoreThresholds": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold" + }, + "type": "array" + }, + "Title": { + "markdownDescription": "The title of the section.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 128.", + "title": "Title", "type": "string" }, - "RingTimeout": { - "markdownDescription": "The ring timeout configuration for outbound calls. Specifies how long to wait for the call to be answered before timing out.", - "title": "RingTimeout", + "Weight": { + "markdownDescription": "The scoring weight of the section.\n\n*Minimum* : 0\n\n*Maximum* : 100", + "title": "Weight", "type": "number" } }, "required": [ - "ConnectContactFlowId" + "RefId", + "Title" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundMode": { + "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomation": { "additionalProperties": false, "properties": { - "AgentlessConfig": { - "markdownDescription": "The agentless outbound mode configuration for telephony.", - "title": "AgentlessConfig", - "type": "object" - }, - "PredictiveConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.PredictiveConfig", - "markdownDescription": "Contains predictive outbound mode configuration.", - "title": "PredictiveConfig" + "AnswerSource": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", + "markdownDescription": "Automation answer source.", + "title": "AnswerSource" }, - "PreviewConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.PreviewConfig", - "markdownDescription": "Contains preview outbound mode configuration.", - "title": "PreviewConfig" + "DefaultOptionRefId": { + "markdownDescription": "The identifier of the default answer option, when none of the automation options match the criteria.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", + "title": "DefaultOptionRefId", + "type": "string" }, - "ProgressiveConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.ProgressiveConfig", - "markdownDescription": "Contains progressive telephony outbound mode configuration.", - "title": "ProgressiveConfig" + "Options": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomationOption" + }, + "markdownDescription": "The automation options of the single select question.\n\n*Minimum* : 1\n\n*Maximum* : 20", + "title": "Options", + "type": "array" } }, "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.TimeRange": { + "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomationOption": { "additionalProperties": false, "properties": { - "EndTime": { - "markdownDescription": "The end time of the time range.", - "title": "EndTime", - "type": "string" - }, - "StartTime": { - "markdownDescription": "The start time of the time range.", - "title": "StartTime", - "type": "string" + "RuleCategory": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.SingleSelectQuestionRuleCategoryAutomation", + "markdownDescription": "The automation option based on a rule category for the single select question.", + "title": "RuleCategory" } }, "required": [ - "EndTime", - "StartTime" + "RuleCategory" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.TimeWindow": { + "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionOption": { "additionalProperties": false, "properties": { - "OpenHours": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.OpenHours", - "markdownDescription": "The open hours configuration.", - "title": "OpenHours" + "AutomaticFail": { + "markdownDescription": "The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.", + "title": "AutomaticFail", + "type": "boolean" }, - "RestrictedPeriods": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.RestrictedPeriods", - "markdownDescription": "The restricted periods configuration.", - "title": "RestrictedPeriods" + "AutomaticFailConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.AutomaticFailConfiguration", + "markdownDescription": "Whether automatic fail is configured on a single select question.", + "title": "AutomaticFailConfiguration" + }, + "PointsConfiguration": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration" + }, + "RefId": { + "markdownDescription": "The identifier of the answer option. An identifier must be unique within the question.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", + "title": "RefId", + "type": "string" + }, + "Score": { + "markdownDescription": "The score assigned to the answer option.\n\n*Minimum* : 0\n\n*Maximum* : 10", + "title": "Score", + "type": "number" + }, + "Text": { + "markdownDescription": "The title of the answer option.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 128.", + "title": "Text", + "type": "string" } }, "required": [ - "OpenHours" + "RefId", + "Text" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.TimeoutConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionProperties": { "additionalProperties": false, "properties": { - "DurationInSeconds": { - "markdownDescription": "Duration in seconds for the countdown timer.", - "title": "DurationInSeconds", - "type": "number" + "Automation": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomation", + "markdownDescription": "The display mode of the single select question.", + "title": "Automation" + }, + "DisplayAs": { + "markdownDescription": "The display mode of the single select question.\n\n*Allowed values* : `DROPDOWN` | `RADIO`", + "title": "DisplayAs", + "type": "string" + }, + "Options": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionOption" + }, + "markdownDescription": "The answer options of the single select question.\n\n*Minimum* : 2\n\n*Maximum* : 256", + "title": "Options", + "type": "array" } }, + "required": [ + "Options" + ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.WhatsAppChannelSubtypeConfig": { + "AWS::Connect::EvaluationForm.EvaluationFormTargetConfiguration": { "additionalProperties": false, "properties": { - "Capacity": { - "markdownDescription": "The allocation of WhatsApp capacity between multiple running outbound campaigns.", - "title": "Capacity", + "ContactInteractionType": { + "markdownDescription": "The contact interaction type for this evaluation form.", + "title": "ContactInteractionType", + "type": "string" + } + }, + "required": [ + "ContactInteractionType" + ], + "type": "object" + }, + "AWS::Connect::EvaluationForm.EvaluationFormTextQuestionAutomation": { + "additionalProperties": false, + "properties": { + "AnswerSource": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionAutomationAnswerSource", + "markdownDescription": "Automation answer source.", + "title": "AnswerSource" + } + }, + "type": "object" + }, + "AWS::Connect::EvaluationForm.EvaluationFormTextQuestionProperties": { + "additionalProperties": false, + "properties": { + "Automation": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormTextQuestionAutomation", + "markdownDescription": "The automation properties of the text question.", + "title": "Automation" + } + }, + "type": "object" + }, + "AWS::Connect::EvaluationForm.EvaluationReviewConfiguration": { + "additionalProperties": false, + "properties": { + "EligibilityDays": { "type": "number" }, - "DefaultOutboundConfig": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundConfig", - "markdownDescription": "The default WhatsApp outbound configuration of an outbound campaign.", - "title": "DefaultOutboundConfig" - }, - "OutboundMode": { - "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundMode", - "markdownDescription": "The outbound mode for WhatsApp of an outbound campaign.", - "title": "OutboundMode" + "ReviewNotificationRecipients": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipient" + }, + "type": "array" } }, "required": [ - "DefaultOutboundConfig", - "OutboundMode" + "ReviewNotificationRecipients" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundConfig": { + "AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipient": { "additionalProperties": false, "properties": { - "ConnectSourcePhoneNumberArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect source WhatsApp phone number.", - "title": "ConnectSourcePhoneNumberArn", + "Type": { "type": "string" }, - "WisdomTemplateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Q in Connect template.", - "title": "WisdomTemplateArn", - "type": "string" + "Value": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipientValue" } }, "required": [ - "ConnectSourcePhoneNumberArn", - "WisdomTemplateArn" + "Type", + "Value" ], "type": "object" }, - "AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundMode": { + "AWS::Connect::EvaluationForm.EvaluationReviewNotificationRecipientValue": { "additionalProperties": false, "properties": { - "AgentlessConfig": { - "markdownDescription": "", - "title": "AgentlessConfig", - "type": "object" + "UserId": { + "type": "string" } }, "type": "object" }, - "AWS::ControlCatalog::CommonControl": { + "AWS::Connect::EvaluationForm.MultiSelectQuestionRuleCategoryAutomation": { "additionalProperties": false, "properties": { - "Condition": { + "Category": { + "markdownDescription": "The category name for this automation rule.", + "title": "Category", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Condition": { + "markdownDescription": "The condition for this automation rule.", + "title": "Condition", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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::ControlCatalog::CommonControl" - ], + "OptionRefIds": { + "items": { + "type": "string" + }, + "markdownDescription": "Reference IDs of options for this automation rule.", + "title": "OptionRefIds", + "type": "array" + } + }, + "required": [ + "Category", + "Condition", + "OptionRefIds" + ], + "type": "object" + }, + "AWS::Connect::EvaluationForm.NumericQuestionPropertyValueAutomation": { + "additionalProperties": false, + "properties": { + "Label": { + "markdownDescription": "The property label of the automation.", + "title": "Label", "type": "string" + } + }, + "required": [ + "Label" + ], + "type": "object" + }, + "AWS::Connect::EvaluationForm.QuestionOptionPointsConfiguration": { + "additionalProperties": false, + "properties": { + "IsBonus": { + "type": "boolean" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "PointValue": { + "type": "number" } }, "required": [ - "Type" + "PointValue" ], "type": "object" }, - "AWS::ControlCatalog::CommonControl.Domain": { + "AWS::Connect::EvaluationForm.QuestionPointsConfiguration": { "additionalProperties": false, "properties": { - "Arn": { + "IsBonus": { + "type": "boolean" + }, + "MaxPointValue": { + "type": "number" + }, + "MinPointValue": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Connect::EvaluationForm.ScoringStrategy": { + "additionalProperties": false, + "properties": { + "Mode": { + "markdownDescription": "The scoring mode of the evaluation form.\n\n*Allowed values* : `QUESTION_ONLY` | `SECTION_ONLY`", + "title": "Mode", "type": "string" }, - "Name": { + "ScoreThresholds": { + "items": { + "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold" + }, + "type": "array" + }, + "Status": { + "markdownDescription": "The scoring status of the evaluation form.\n\n*Allowed values* : `ENABLED` | `DISABLED`", + "title": "Status", "type": "string" } }, + "required": [ + "Mode", + "Status" + ], "type": "object" }, - "AWS::ControlCatalog::CommonControl.Objective": { + "AWS::Connect::EvaluationForm.SingleSelectQuestionRuleCategoryAutomation": { "additionalProperties": false, "properties": { - "Arn": { + "Category": { + "markdownDescription": "The category name, as defined in Rules.\n\n*Minimum* : 1\n\n*Maximum* : 50", + "title": "Category", "type": "string" }, - "Name": { + "Condition": { + "markdownDescription": "The condition to apply for the automation option. If the condition is PRESENT, then the option is applied when the contact data includes the category. Similarly, if the condition is NOT_PRESENT, then the option is applied when the contact data does not include the category.\n\n*Allowed values* : `PRESENT` | `NOT_PRESENT`\n\n*Maximum* : 50", + "title": "Condition", + "type": "string" + }, + "OptionRefId": { + "markdownDescription": "The identifier of the answer option. An identifier must be unique within the question.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 40.", + "title": "OptionRefId", "type": "string" } }, + "required": [ + "Category", + "Condition", + "OptionRefId" + ], "type": "object" }, - "AWS::ControlCatalog::Control": { + "AWS::Connect::HoursOfOperation": { "additionalProperties": false, "properties": { "Condition": { @@ -94793,12 +94305,79 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "ChildHoursOfOperations": { + "items": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationsIdentifier" + }, + "markdownDescription": "", + "title": "ChildHoursOfOperations", + "type": "array" + }, + "Config": { + "items": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationConfig" + }, + "markdownDescription": "Configuration information for the hours of operation.", + "title": "Config", + "type": "array" + }, + "Description": { + "markdownDescription": "The description for the hours of operation.", + "title": "Description", + "type": "string" + }, + "HoursOfOperationOverrides": { + "items": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationOverride" + }, + "markdownDescription": "", + "title": "HoursOfOperationOverrides", + "type": "array" + }, + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name for the hours of operation.", + "title": "Name", + "type": "string" + }, + "ParentHoursOfOperations": { + "items": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationsIdentifier" + }, + "markdownDescription": "", + "title": "ParentHoursOfOperations", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" + }, + "TimeZone": { + "markdownDescription": "The time zone for the hours of operation.", + "title": "TimeZone", + "type": "string" + } + }, + "required": [ + "Config", + "InstanceArn", + "Name", + "TimeZone" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ControlCatalog::Control" + "AWS::Connect::HoursOfOperation" ], "type": "string" }, @@ -94812,113 +94391,232 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ControlCatalog::Control.ImplementationDetails": { + "AWS::Connect::HoursOfOperation.HoursOfOperationConfig": { "additionalProperties": false, "properties": { - "Identifier": { + "Day": { + "markdownDescription": "The day that the hours of operation applies to.", + "title": "Day", "type": "string" }, - "Type": { - "type": "string" + "EndTime": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice", + "markdownDescription": "The end time that your contact center closes.", + "title": "EndTime" + }, + "StartTime": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice", + "markdownDescription": "The start time that your contact center opens.", + "title": "StartTime" } }, "required": [ - "Type" + "Day", + "EndTime", + "StartTime" ], "type": "object" }, - "AWS::ControlCatalog::Control.RegionConfiguration": { + "AWS::Connect::HoursOfOperation.HoursOfOperationOverride": { "additionalProperties": false, "properties": { - "DeployableRegions": { + "EffectiveFrom": { + "markdownDescription": "The date from which the hours of operation override would be effective.", + "title": "EffectiveFrom", + "type": "string" + }, + "EffectiveTill": { + "markdownDescription": "The date until the hours of operation override is effective.", + "title": "EffectiveTill", + "type": "string" + }, + "HoursOfOperationOverrideId": { + "markdownDescription": "The identifier for the hours of operation override.", + "title": "HoursOfOperationOverrideId", + "type": "string" + }, + "OverrideConfig": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationOverrideConfig" }, + "markdownDescription": "", + "title": "OverrideConfig", "type": "array" }, - "Scope": { + "OverrideDescription": { + "markdownDescription": "", + "title": "OverrideDescription", + "type": "string" + }, + "OverrideName": { + "markdownDescription": "", + "title": "OverrideName", + "type": "string" + }, + "OverrideType": { + "markdownDescription": "", + "title": "OverrideType", "type": "string" + }, + "RecurrenceConfig": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.RecurrenceConfig", + "markdownDescription": "", + "title": "RecurrenceConfig" } }, "required": [ - "Scope" + "EffectiveFrom", + "EffectiveTill", + "OverrideConfig", + "OverrideName" ], "type": "object" }, - "AWS::ControlCatalog::Objective": { + "AWS::Connect::HoursOfOperation.HoursOfOperationOverrideConfig": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Day": { + "markdownDescription": "The day that the hours of operation override applies to.", + "title": "Day", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "EndTime": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.OverrideTimeSlice", + "markdownDescription": "The end time that your contact center closes if overrides are applied.", + "title": "EndTime" }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" + "StartTime": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.OverrideTimeSlice", + "markdownDescription": "The start time when your contact center opens if overrides are applied.", + "title": "StartTime" + } + }, + "required": [ + "Day", + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice": { + "additionalProperties": false, + "properties": { + "Hours": { + "markdownDescription": "The hours.", + "title": "Hours", + "type": "number" }, - "Type": { - "enum": [ - "AWS::ControlCatalog::Objective" - ], + "Minutes": { + "markdownDescription": "The minutes.", + "title": "Minutes", + "type": "number" + } + }, + "required": [ + "Hours", + "Minutes" + ], + "type": "object" + }, + "AWS::Connect::HoursOfOperation.HoursOfOperationsIdentifier": { + "additionalProperties": false, + "properties": { + "Id": { + "markdownDescription": "", + "title": "Id", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "markdownDescription": "", + "title": "Name", "type": "string" } }, "required": [ - "Type" + "Id" ], "type": "object" }, - "AWS::ControlCatalog::Objective.Domain": { + "AWS::Connect::HoursOfOperation.OverrideTimeSlice": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" + "Hours": { + "markdownDescription": "The hours.", + "title": "Hours", + "type": "number" }, - "Name": { + "Minutes": { + "markdownDescription": "The minutes.", + "title": "Minutes", + "type": "number" + } + }, + "required": [ + "Hours", + "Minutes" + ], + "type": "object" + }, + "AWS::Connect::HoursOfOperation.RecurrenceConfig": { + "additionalProperties": false, + "properties": { + "RecurrencePattern": { + "$ref": "#/definitions/AWS::Connect::HoursOfOperation.RecurrencePattern", + "markdownDescription": "", + "title": "RecurrencePattern" + } + }, + "required": [ + "RecurrencePattern" + ], + "type": "object" + }, + "AWS::Connect::HoursOfOperation.RecurrencePattern": { + "additionalProperties": false, + "properties": { + "ByMonth": { + "items": { + "type": "number" + }, + "markdownDescription": "", + "title": "ByMonth", + "type": "array" + }, + "ByMonthDay": { + "items": { + "type": "number" + }, + "markdownDescription": "", + "title": "ByMonthDay", + "type": "array" + }, + "ByWeekdayOccurrence": { + "items": { + "type": "number" + }, + "markdownDescription": "", + "title": "ByWeekdayOccurrence", + "type": "array" + }, + "Frequency": { + "markdownDescription": "", + "title": "Frequency", "type": "string" + }, + "Interval": { + "markdownDescription": "", + "title": "Interval", + "type": "number" } }, "type": "object" }, - "AWS::ControlTower::EnabledBaseline": { + "AWS::Connect::Instance": { "additionalProperties": false, "properties": { "Condition": { @@ -94953,48 +94651,44 @@ "Properties": { "additionalProperties": false, "properties": { - "BaselineIdentifier": { - "markdownDescription": "The specific `Baseline` enabled as part of the `EnabledBaseline` resource.", - "title": "BaselineIdentifier", + "Attributes": { + "$ref": "#/definitions/AWS::Connect::Instance.Attributes", + "markdownDescription": "A toggle for an individual feature at the instance level.", + "title": "Attributes" + }, + "DirectoryId": { + "markdownDescription": "The identifier for the directory.", + "title": "DirectoryId", "type": "string" }, - "BaselineVersion": { - "markdownDescription": "The enabled version of the `Baseline` .", - "title": "BaselineVersion", + "IdentityManagementType": { + "markdownDescription": "The identity management type.", + "title": "IdentityManagementType", "type": "string" }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ControlTower::EnabledBaseline.Parameter" - }, - "markdownDescription": "Shows the parameters that are applied when enabling this `Baseline` .", - "title": "Parameters", - "type": "array" + "InstanceAlias": { + "markdownDescription": "The alias of instance. `InstanceAlias` is only required when `IdentityManagementType` is `CONNECT_MANAGED` or `SAML` . `InstanceAlias` is not required when `IdentityManagementType` is `EXISTING_DIRECTORY` .", + "title": "InstanceAlias", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "An array of key-value pairs to apply to this resource.", "title": "Tags", "type": "array" - }, - "TargetIdentifier": { - "markdownDescription": "The target on which to enable the `Baseline` .", - "title": "TargetIdentifier", - "type": "string" } }, "required": [ - "BaselineIdentifier", - "BaselineVersion", - "TargetIdentifier" + "Attributes", + "IdentityManagementType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ControlTower::EnabledBaseline" + "AWS::Connect::Instance" ], "type": "string" }, @@ -95013,23 +94707,80 @@ ], "type": "object" }, - "AWS::ControlTower::EnabledBaseline.Parameter": { + "AWS::Connect::Instance.Attributes": { "additionalProperties": false, "properties": { - "Key": { + "AutoResolveBestVoices": { "markdownDescription": "", - "title": "Key", - "type": "string" + "title": "AutoResolveBestVoices", + "type": "boolean" }, - "Value": { + "ContactLens": { "markdownDescription": "", - "title": "Value", - "type": "object" + "title": "ContactLens", + "type": "boolean" + }, + "ContactflowLogs": { + "markdownDescription": "", + "title": "ContactflowLogs", + "type": "boolean" + }, + "EarlyMedia": { + "markdownDescription": "", + "title": "EarlyMedia", + "type": "boolean" + }, + "EnhancedChatMonitoring": { + "markdownDescription": "", + "title": "EnhancedChatMonitoring", + "type": "boolean" + }, + "EnhancedContactMonitoring": { + "markdownDescription": "", + "title": "EnhancedContactMonitoring", + "type": "boolean" + }, + "HighVolumeOutBound": { + "markdownDescription": "", + "title": "HighVolumeOutBound", + "type": "boolean" + }, + "InboundCalls": { + "markdownDescription": "", + "title": "InboundCalls", + "type": "boolean" + }, + "MessageStreaming": { + "type": "boolean" + }, + "MultiPartyChatConference": { + "markdownDescription": "", + "title": "MultiPartyChatConference", + "type": "boolean" + }, + "MultiPartyConference": { + "markdownDescription": "", + "title": "MultiPartyConference", + "type": "boolean" + }, + "OutboundCalls": { + "markdownDescription": "", + "title": "OutboundCalls", + "type": "boolean" + }, + "UseCustomTTSVoices": { + "markdownDescription": "", + "title": "UseCustomTTSVoices", + "type": "boolean" } }, + "required": [ + "InboundCalls", + "OutboundCalls" + ], "type": "object" }, - "AWS::ControlTower::EnabledControl": { + "AWS::Connect::InstanceStorageConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -95064,42 +94815,52 @@ "Properties": { "additionalProperties": false, "properties": { - "ControlIdentifier": { - "markdownDescription": "The ARN of the control. Only *Strongly recommended* and *Elective* controls are permitted, with the exception of the *Region deny* control. For information on how to find the `controlIdentifier` , see [the overview page](https://docs.aws.amazon.com//controltower/latest/APIReference/Welcome.html) .", - "title": "ControlIdentifier", + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", "type": "string" }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ControlTower::EnabledControl.EnabledControlParameter" - }, - "markdownDescription": "Array of `EnabledControlParameter` objects.", - "title": "Parameters", - "type": "array" + "KinesisFirehoseConfig": { + "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisFirehoseConfig", + "markdownDescription": "The configuration of the Kinesis Firehose delivery stream.", + "title": "KinesisFirehoseConfig" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" + "KinesisStreamConfig": { + "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisStreamConfig", + "markdownDescription": "The configuration of the Kinesis data stream.", + "title": "KinesisStreamConfig" }, - "TargetIdentifier": { - "markdownDescription": "The ARN of the organizational unit. For information on how to find the `targetIdentifier` , see [the overview page](https://docs.aws.amazon.com//controltower/latest/APIReference/Welcome.html) .", - "title": "TargetIdentifier", + "KinesisVideoStreamConfig": { + "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisVideoStreamConfig", + "markdownDescription": "The configuration of the Kinesis video stream.", + "title": "KinesisVideoStreamConfig" + }, + "ResourceType": { + "markdownDescription": "A valid resource type. Following are the valid resource types: `CHAT_TRANSCRIPTS` | `CALL_RECORDINGS` | `SCHEDULED_REPORTS` | `MEDIA_STREAMS` | `CONTACT_TRACE_RECORDS` | `AGENT_EVENTS`", + "title": "ResourceType", + "type": "string" + }, + "S3Config": { + "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.S3Config", + "markdownDescription": "The S3 bucket configuration.", + "title": "S3Config" + }, + "StorageType": { + "markdownDescription": "A valid storage type.", + "title": "StorageType", "type": "string" } }, "required": [ - "ControlIdentifier", - "TargetIdentifier" + "InstanceArn", + "ResourceType", + "StorageType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ControlTower::EnabledControl" + "AWS::Connect::InstanceStorageConfig" ], "type": "string" }, @@ -95118,27 +94879,106 @@ ], "type": "object" }, - "AWS::ControlTower::EnabledControl.EnabledControlParameter": { + "AWS::Connect::InstanceStorageConfig.EncryptionConfig": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key of a key/value pair. It is of type `string` .", - "title": "Key", + "EncryptionType": { + "markdownDescription": "The type of encryption.", + "title": "EncryptionType", "type": "string" }, - "Value": { - "markdownDescription": "The value of a key/value pair. It can be of type `array` , `string` , `number` , `object` , or `boolean` . [Note: The *Type* field that follows may show a single type such as Number, which is only one possible type.]", - "title": "Value", - "type": "object" + "KeyId": { + "markdownDescription": "The full ARN of the encryption key.\n\n> Be sure to provide the full ARN of the encryption key, not just the ID.\n> \n> Amazon Connect supports only KMS keys with the default key spec of [`SYMMETRIC_DEFAULT`](https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-symmetric-default) .", + "title": "KeyId", + "type": "string" } }, "required": [ - "Key", - "Value" + "EncryptionType", + "KeyId" ], "type": "object" }, - "AWS::ControlTower::LandingZone": { + "AWS::Connect::InstanceStorageConfig.KinesisFirehoseConfig": { + "additionalProperties": false, + "properties": { + "FirehoseArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the delivery stream.", + "title": "FirehoseArn", + "type": "string" + } + }, + "required": [ + "FirehoseArn" + ], + "type": "object" + }, + "AWS::Connect::InstanceStorageConfig.KinesisStreamConfig": { + "additionalProperties": false, + "properties": { + "StreamArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the data stream.", + "title": "StreamArn", + "type": "string" + } + }, + "required": [ + "StreamArn" + ], + "type": "object" + }, + "AWS::Connect::InstanceStorageConfig.KinesisVideoStreamConfig": { + "additionalProperties": false, + "properties": { + "EncryptionConfig": { + "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.EncryptionConfig", + "markdownDescription": "The encryption configuration.", + "title": "EncryptionConfig" + }, + "Prefix": { + "markdownDescription": "The prefix of the video stream.", + "title": "Prefix", + "type": "string" + }, + "RetentionPeriodHours": { + "markdownDescription": "The number of hours data is retained in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream.\n\nThe default value is 0, indicating that the stream does not persist data.", + "title": "RetentionPeriodHours", + "type": "number" + } + }, + "required": [ + "EncryptionConfig", + "Prefix", + "RetentionPeriodHours" + ], + "type": "object" + }, + "AWS::Connect::InstanceStorageConfig.S3Config": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "The S3 bucket name.", + "title": "BucketName", + "type": "string" + }, + "BucketPrefix": { + "markdownDescription": "The S3 bucket prefix.", + "title": "BucketPrefix", + "type": "string" + }, + "EncryptionConfig": { + "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.EncryptionConfig", + "markdownDescription": "The Amazon S3 encryption configuration.", + "title": "EncryptionConfig" + } + }, + "required": [ + "BucketName", + "BucketPrefix" + ], + "type": "object" + }, + "AWS::Connect::IntegrationAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -95173,42 +95013,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Manifest": { - "markdownDescription": "The landing zone manifest JSON text file that specifies the landing zone configurations.", - "title": "Manifest", - "type": "object" + "InstanceId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `100`", + "title": "InstanceId", + "type": "string" }, - "RemediationTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The types of remediation actions configured for the landing zone, such as automatic drift correction or compliance enforcement.", - "title": "RemediationTypes", - "type": "array" + "IntegrationArn": { + "markdownDescription": "ARN of the integration being associated with the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `140`", + "title": "IntegrationArn", + "type": "string" + }, + "IntegrationType": { + "markdownDescription": "Specifies the integration type to be associated with the instance.\n\n*Allowed Values* : `LEX_BOT` | `LAMBDA_FUNCTION`", + "title": "IntegrationType", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Tags to be applied to the landing zone.", - "title": "Tags", "type": "array" - }, - "Version": { - "markdownDescription": "The landing zone's current deployed version.", - "title": "Version", - "type": "string" } }, "required": [ - "Manifest", - "Version" + "InstanceId", + "IntegrationArn", + "IntegrationType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ControlTower::LandingZone" + "AWS::Connect::IntegrationAssociation" ], "type": "string" }, @@ -95227,7 +95063,7 @@ ], "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition": { + "AWS::Connect::Metric": { "additionalProperties": false, "properties": { "Condition": { @@ -95262,66 +95098,46 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributeDetails": { - "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails", - "markdownDescription": "Mathematical expression and a list of attribute items specified in that expression.", - "title": "AttributeDetails" - }, - "CalculatedAttributeName": { - "markdownDescription": "The name of an attribute defined in a profile object type.", - "title": "CalculatedAttributeName", + "Description": { "type": "string" }, - "Conditions": { - "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions", - "markdownDescription": "The conditions including range, object count, and threshold for the calculated attribute.", - "title": "Conditions" - }, - "Description": { - "markdownDescription": "The description of the calculated attribute.", - "title": "Description", + "InstanceArn": { "type": "string" }, - "DisplayName": { - "markdownDescription": "The display name of the calculated attribute.", - "title": "DisplayName", + "MetricCalculation": { + "$ref": "#/definitions/AWS::Connect::Metric.MetricCalculation" + }, + "Name": { "type": "string" }, - "DomainName": { - "markdownDescription": "The unique name of the domain.", - "title": "DomainName", + "PositiveTrendIndicator": { "type": "string" }, - "Statistic": { - "markdownDescription": "The aggregation operation to perform for the calculated attribute.", - "title": "Statistic", + "Status": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", "type": "array" }, - "UseHistoricalData": { - "markdownDescription": "Whether historical data ingested before the Calculated Attribute was created should be included in calculations.", - "title": "UseHistoricalData", - "type": "boolean" + "Unit": { + "type": "string" } }, "required": [ - "AttributeDetails", - "CalculatedAttributeName", - "DomainName", - "Statistic" + "InstanceArn", + "MetricCalculation", + "Name", + "Status", + "Unit" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::CalculatedAttributeDefinition" + "AWS::Connect::Metric" ], "type": "string" }, @@ -95340,155 +95156,152 @@ ], "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails": { + "AWS::Connect::Metric.AvailableFilter": { "additionalProperties": false, "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem" - }, - "markdownDescription": "Mathematical expression and a list of attribute items specified in that expression.", - "title": "Attributes", - "type": "array" + "Id": { + "type": "string" }, - "Expression": { - "markdownDescription": "Mathematical expression that is performed on attribute items provided in the attribute list. Each element in the expression should follow the structure of \\\"{ObjectTypeName.AttributeName}\\\".", - "title": "Expression", + "Type": { "type": "string" } }, "required": [ - "Attributes", - "Expression" + "Id", + "Type" ], "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem": { + "AWS::Connect::Metric.CalculationComponent": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The unique name of the calculated attribute.", - "title": "Name", + "Alias": { + "type": "string" + }, + "MetricFilters": { + "items": { + "$ref": "#/definitions/AWS::Connect::Metric.MetricFilter" + }, + "type": "array" + }, + "MetricId": { + "type": "string" + }, + "MetricName": { "type": "string" } }, "required": [ - "Name" + "Alias" ], "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions": { + "AWS::Connect::Metric.CreatedByInfo": { "additionalProperties": false, "properties": { - "ObjectCount": { - "markdownDescription": "The number of profile objects used for the calculated attribute.", - "title": "ObjectCount", - "type": "number" - }, - "Range": { - "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Range", - "markdownDescription": "The relative time period over which data is included in the aggregation.", - "title": "Range" + "AWSIdentityArn": { + "type": "string" }, - "Threshold": { - "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold", - "markdownDescription": "The threshold for the calculated attribute.", - "title": "Threshold" + "ConnectUserArn": { + "type": "string" } }, "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition.Range": { + "AWS::Connect::Metric.MetricCalculation": { "additionalProperties": false, "properties": { - "TimestampFormat": { - "markdownDescription": "The format the timestamp field in your JSON object is specified. This value should be one of EPOCHMILLI (for Unix epoch timestamps with second/millisecond level precision) or ISO_8601 (following ISO_8601 format with second/millisecond level precision, with an optional offset of Z or in the format HH:MM or HHMM.). E.g. if your object type is MyType and source JSON is {\"generatedAt\": {\"timestamp\": \"2001-07-04T12:08:56.235-0700\"}}, then TimestampFormat should be \"ISO_8601\"", - "title": "TimestampFormat", - "type": "string" - }, - "TimestampSource": { - "markdownDescription": "An expression specifying the field in your JSON object from which the date should be parsed. The expression should follow the structure of \\\"{ObjectTypeName.}\\\". E.g. if your object type is MyType and source JSON is {\"generatedAt\": {\"timestamp\": \"1737587945945\"}}, then TimestampSource should be \"{MyType.generatedAt.timestamp}\"", - "title": "TimestampSource", - "type": "string" - }, - "Unit": { - "markdownDescription": "The unit of time.", - "title": "Unit", + "Calculation": { "type": "string" }, - "Value": { - "markdownDescription": "The amount of time of the specified unit.", - "title": "Value", - "type": "number" - }, - "ValueRange": { - "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.ValueRange", - "markdownDescription": "A structure letting customers specify a relative time window over which over which data is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint is in the past, and negative numbers to indicate it is in the future. ValueRange overrides Value.", - "title": "ValueRange" + "CalculationComponents": { + "items": { + "$ref": "#/definitions/AWS::Connect::Metric.CalculationComponent" + }, + "type": "array" } }, "required": [ - "Unit" + "Calculation", + "CalculationComponents" ], "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition.Readiness": { + "AWS::Connect::Metric.MetricFilter": { "additionalProperties": false, "properties": { - "Message": { - "markdownDescription": "Any customer messaging.", - "title": "Message", + "BooleanCondition": { + "$ref": "#/definitions/AWS::Connect::Metric.MetricFilterBooleanCondition" + }, + "MetricFilterKey": { "type": "string" }, - "ProgressPercentage": { - "markdownDescription": "Approximately how far the Calculated Attribute creation is from completion.", - "title": "ProgressPercentage", - "type": "number" - } + "Negate": { + "type": "boolean" + }, + "NumberCondition": { + "$ref": "#/definitions/AWS::Connect::Metric.MetricFilterNumberCondition" + }, + "StringCondition": { + "$ref": "#/definitions/AWS::Connect::Metric.MetricFilterStringCondition" + } }, + "required": [ + "MetricFilterKey" + ], "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold": { + "AWS::Connect::Metric.MetricFilterBooleanCondition": { "additionalProperties": false, "properties": { - "Operator": { - "markdownDescription": "The operator of the threshold.", - "title": "Operator", + "Comparison": { "type": "string" - }, - "Value": { - "markdownDescription": "The value of the threshold.", - "title": "Value", + } + }, + "required": [ + "Comparison" + ], + "type": "object" + }, + "AWS::Connect::Metric.MetricFilterNumberCondition": { + "additionalProperties": false, + "properties": { + "Comparison": { "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" } }, "required": [ - "Operator", - "Value" + "Comparison", + "Values" ], "type": "object" }, - "AWS::CustomerProfiles::CalculatedAttributeDefinition.ValueRange": { + "AWS::Connect::Metric.MetricFilterStringCondition": { "additionalProperties": false, "properties": { - "End": { - "markdownDescription": "The ending point for this overridden range. Positive numbers indicate how many days in the past data should be included, and negative numbers indicate how many days in the future.", - "title": "End", - "type": "number" + "Comparison": { + "type": "string" }, - "Start": { - "markdownDescription": "The starting point for this overridden range. Positive numbers indicate how many days in the past data should be included, and negative numbers indicate how many days in the future.", - "title": "Start", - "type": "number" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "End", - "Start" + "Comparison", + "Values" ], "type": "object" }, - "AWS::CustomerProfiles::Domain": { + "AWS::Connect::Notification": { "additionalProperties": false, "properties": { "Condition": { @@ -95523,59 +95336,40 @@ "Properties": { "additionalProperties": false, "properties": { - "DataStore": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.DataStore", - "markdownDescription": "", - "title": "DataStore" + "Content": { + "$ref": "#/definitions/AWS::Connect::Notification.NotificationContent" }, - "DeadLetterQueueUrl": { - "markdownDescription": "The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications. You must set up a policy on the `DeadLetterQueue` for the `SendMessage` operation to enable Amazon Connect Customer Profiles to send messages to the `DeadLetterQueue` .", - "title": "DeadLetterQueueUrl", + "ExpiresAt": { "type": "string" }, - "DefaultEncryptionKey": { - "markdownDescription": "The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.", - "title": "DefaultEncryptionKey", + "InstanceArn": { "type": "string" }, - "DefaultExpirationDays": { - "markdownDescription": "The default number of days until the data within the domain expires.", - "title": "DefaultExpirationDays", - "type": "number" - }, - "DomainName": { - "markdownDescription": "The unique name of the domain.", - "title": "DomainName", + "Priority": { "type": "string" }, - "Matching": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.Matching", - "markdownDescription": "The process of matching duplicate profiles.", - "title": "Matching" - }, - "RuleBasedMatching": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.RuleBasedMatching", - "markdownDescription": "The process of matching duplicate profiles using Rule-Based matching.", - "title": "RuleBasedMatching" + "Recipients": { + "items": { + "type": "string" + }, + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource.", - "title": "Tags", "type": "array" } }, "required": [ - "DefaultExpirationDays", - "DomainName" + "Content", + "InstanceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::Domain" + "AWS::Connect::Notification" ], "type": "string" }, @@ -95594,313 +95388,267 @@ ], "type": "object" }, - "AWS::CustomerProfiles::Domain.AttributeTypesSelector": { + "AWS::Connect::Notification.NotificationContent": { "additionalProperties": false, "properties": { - "Address": { - "items": { - "type": "string" - }, - "markdownDescription": "The `Address` type. You can choose from `Address` , `BusinessAddress` , `MaillingAddress` , and `ShippingAddress` . You only can use the `Address` type in the `MatchingRule` . For example, if you want to match a profile based on `BusinessAddress.City` or `MaillingAddress.City` , you can choose the `BusinessAddress` and the `MaillingAddress` to represent the `Address` type and specify the `Address.City` on the matching rule.", - "title": "Address", - "type": "array" + "DeDE": { + "type": "string" }, - "AttributeMatchingModel": { - "markdownDescription": "Configures the `AttributeMatchingModel` , you can either choose `ONE_TO_ONE` or `MANY_TO_MANY` .", - "title": "AttributeMatchingModel", + "EnUS": { "type": "string" }, - "EmailAddress": { - "items": { - "type": "string" - }, - "markdownDescription": "The Email type. You can choose from `EmailAddress` , `BusinessEmailAddress` and `PersonalEmailAddress` . You only can use the `EmailAddress` type in the `MatchingRule` . For example, if you want to match profile based on `PersonalEmailAddress` or `BusinessEmailAddress` , you can choose the `PersonalEmailAddress` and the `BusinessEmailAddress` to represent the `EmailAddress` type and only specify the `EmailAddress` on the matching rule.", - "title": "EmailAddress", - "type": "array" + "EsES": { + "type": "string" }, - "PhoneNumber": { - "items": { - "type": "string" - }, - "markdownDescription": "The `PhoneNumber` type. You can choose from `PhoneNumber` , `HomePhoneNumber` , and `MobilePhoneNumber` . You only can use the `PhoneNumber` type in the `MatchingRule` . For example, if you want to match a profile based on `Phone` or `HomePhone` , you can choose the `Phone` and the `HomePhone` to represent the `PhoneNumber` type and only specify the `PhoneNumber` on the matching rule.", - "title": "PhoneNumber", - "type": "array" - } - }, - "required": [ - "AttributeMatchingModel" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Domain.AutoMerging": { - "additionalProperties": false, - "properties": { - "ConflictResolution": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ConflictResolution", - "markdownDescription": "Determines how the auto-merging process should resolve conflicts between different profiles. For example, if Profile A and Profile B have the same `FirstName` and `LastName` , `ConflictResolution` specifies which `EmailAddress` should be used.", - "title": "ConflictResolution" + "FrFR": { + "type": "string" }, - "Consolidation": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.Consolidation", - "markdownDescription": "A list of matching attributes that represent matching criteria. If two profiles meet at least one of the requirements in the matching attributes list, they will be merged.", - "title": "Consolidation" + "IdID": { + "type": "string" }, - "Enabled": { - "markdownDescription": "The flag that enables the auto-merging of duplicate profiles.", - "title": "Enabled", - "type": "boolean" + "ItIT": { + "type": "string" }, - "MinAllowedConfidenceScoreForMerging": { - "markdownDescription": "A number between 0 and 1 that represents the minimum confidence score required for profiles within a matching group to be merged during the auto-merge process. A higher score means that a higher similarity is required to merge profiles.", - "title": "MinAllowedConfidenceScoreForMerging", - "type": "number" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Domain.ConflictResolution": { - "additionalProperties": false, - "properties": { - "ConflictResolvingModel": { - "markdownDescription": "How the auto-merging process should resolve conflicts between different profiles.", - "title": "ConflictResolvingModel", + "JaJP": { "type": "string" }, - "SourceName": { - "markdownDescription": "The `ObjectType` name that is used to resolve profile merging conflicts when choosing `SOURCE` as the `ConflictResolvingModel` .", - "title": "SourceName", + "KoKR": { "type": "string" - } - }, - "required": [ - "ConflictResolvingModel" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Domain.Consolidation": { - "additionalProperties": false, - "properties": { - "MatchingAttributesList": { - "markdownDescription": "A list of matching criteria.", - "title": "MatchingAttributesList", - "type": "object" - } - }, - "required": [ - "MatchingAttributesList" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Domain.DataStore": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "", - "title": "Enabled", - "type": "boolean" }, - "Readiness": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.Readiness", - "markdownDescription": "", - "title": "Readiness" + "PtBR": { + "type": "string" + }, + "ZhCN": { + "type": "string" + }, + "ZhTW": { + "type": "string" } }, "type": "object" }, - "AWS::CustomerProfiles::Domain.DomainStats": { + "AWS::Connect::PhoneNumber": { "additionalProperties": false, "properties": { - "MeteringProfileCount": { - "markdownDescription": "The number of profiles that you are currently paying for in the domain. If you have more than 100 objects associated with a single profile, that profile counts as two profiles. If you have more than 200 objects, that profile counts as three, and so on.", - "title": "MeteringProfileCount", - "type": "number" + "Condition": { + "type": "string" }, - "ObjectCount": { - "markdownDescription": "The total number of objects in domain.", - "title": "ObjectCount", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ProfileCount": { - "markdownDescription": "The total number of profiles currently in the domain.", - "title": "ProfileCount", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TotalSize": { - "markdownDescription": "The total size, in bytes, of all objects in the domain.", - "title": "TotalSize", - "type": "number" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Domain.ExportingConfig": { - "additionalProperties": false, - "properties": { - "S3Exporting": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.S3ExportingConfig", - "markdownDescription": "", - "title": "S3Exporting" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Domain.JobSchedule": { - "additionalProperties": false, - "properties": { - "DayOfTheWeek": { - "markdownDescription": "The day when the Identity Resolution Job should run every week.", - "title": "DayOfTheWeek", + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CountryCode": { + "markdownDescription": "The ISO country code.", + "title": "CountryCode", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the phone number.", + "title": "Description", + "type": "string" + }, + "Prefix": { + "markdownDescription": "The prefix of the phone number. If provided, it must contain `+` as part of the country code.\n\n*Pattern* : `^\\\\+[0-9]{1,15}`", + "title": "Prefix", + "type": "string" + }, + "SourcePhoneNumberArn": { + "markdownDescription": "The claimed phone number ARN that was previously imported from the external service, such as AWS End User Messaging. If it is from AWS End User Messaging, it looks like the ARN of the phone number that was imported from AWS End User Messaging.", + "title": "SourcePhoneNumberArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" + }, + "TargetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for Connect Customer instances or traffic distribution group that phone numbers are claimed to.", + "title": "TargetArn", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of phone number.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "TargetArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::PhoneNumber" + ], "type": "string" }, - "Time": { - "markdownDescription": "The time when the Identity Resolution Job should run every week.", - "title": "Time", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DayOfTheWeek", - "Time" + "Type", + "Properties" ], "type": "object" }, - "AWS::CustomerProfiles::Domain.Matching": { + "AWS::Connect::PredefinedAttribute": { "additionalProperties": false, "properties": { - "AutoMerging": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.AutoMerging", - "markdownDescription": "Configuration information about the auto-merging process.", - "title": "AutoMerging" + "Condition": { + "type": "string" }, - "Enabled": { - "markdownDescription": "The flag that enables the matching process of duplicate profiles.", - "title": "Enabled", - "type": "boolean" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ExportingConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ExportingConfig", - "markdownDescription": "The S3 location where Identity Resolution Jobs write result files.", - "title": "ExportingConfig" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "JobSchedule": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.JobSchedule", - "markdownDescription": "The day and time when do you want to start the Identity Resolution Job every week.", - "title": "JobSchedule" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Domain.MatchingRule": { - "additionalProperties": false, - "properties": { - "Rule": { - "items": { - "type": "string" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeConfiguration": { + "$ref": "#/definitions/AWS::Connect::PredefinedAttribute.AttributeConfiguration", + "markdownDescription": "Custom metadata that is associated to predefined attributes to control behavior in upstream services, such as controlling how a predefined attribute should be displayed in the Amazon Connect admin website.", + "title": "AttributeConfiguration" + }, + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the predefined attribute.", + "title": "Name", + "type": "string" + }, + "Purposes": { + "items": { + "type": "string" + }, + "markdownDescription": "Values that enable you to categorize your predefined attributes. You can use them in custom UI elements across the Amazon Connect admin website.", + "title": "Purposes", + "type": "array" + }, + "Values": { + "$ref": "#/definitions/AWS::Connect::PredefinedAttribute.Values", + "markdownDescription": "The values of a predefined attribute.", + "title": "Values" + } }, - "markdownDescription": "A single rule level of the `MatchRules` . Configures how the rule-based matching process should match profiles.", - "title": "Rule", - "type": "array" + "required": [ + "InstanceArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::PredefinedAttribute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Rule" + "Type", + "Properties" ], "type": "object" }, - "AWS::CustomerProfiles::Domain.Readiness": { + "AWS::Connect::PredefinedAttribute.AttributeConfiguration": { "additionalProperties": false, "properties": { - "Message": { + "EnableValueValidationOnAssociation": { "markdownDescription": "", - "title": "Message", - "type": "string" + "title": "EnableValueValidationOnAssociation", + "type": "boolean" }, - "ProgressPercentage": { + "IsReadOnly": { "markdownDescription": "", - "title": "ProgressPercentage", - "type": "number" + "title": "IsReadOnly", + "type": "boolean" } }, "type": "object" }, - "AWS::CustomerProfiles::Domain.RuleBasedMatching": { + "AWS::Connect::PredefinedAttribute.Values": { "additionalProperties": false, "properties": { - "AttributeTypesSelector": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.AttributeTypesSelector", - "markdownDescription": "Configures information about the `AttributeTypesSelector` where the rule-based identity resolution uses to match profiles.", - "title": "AttributeTypesSelector" - }, - "ConflictResolution": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ConflictResolution", - "markdownDescription": "Determines how the auto-merging process should resolve conflicts between different profiles. For example, if Profile A and Profile B have the same `FirstName` and `LastName` , `ConflictResolution` specifies which `EmailAddress` should be used.", - "title": "ConflictResolution" - }, - "Enabled": { - "markdownDescription": "The flag that enables the matching process of duplicate profiles.", - "title": "Enabled", - "type": "boolean" - }, - "ExportingConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ExportingConfig", - "markdownDescription": "The S3 location where Identity Resolution Jobs write result files.", - "title": "ExportingConfig" - }, - "MatchingRules": { + "StringList": { "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain.MatchingRule" + "type": "string" }, - "markdownDescription": "Configures how the rule-based matching process should match profiles. You can have up to 15 `MatchingRule` in the `MatchingRules` .", - "title": "MatchingRules", + "markdownDescription": "Predefined attribute values of type string list.", + "title": "StringList", "type": "array" - }, - "MaxAllowedRuleLevelForMatching": { - "markdownDescription": "Indicates the maximum allowed rule level for matching.", - "title": "MaxAllowedRuleLevelForMatching", - "type": "number" - }, - "MaxAllowedRuleLevelForMerging": { - "markdownDescription": "Indicates the maximum allowed rule level for merging.", - "title": "MaxAllowedRuleLevelForMerging", - "type": "number" - }, - "Status": { - "markdownDescription": "The status of rule-based matching rule.", - "title": "Status", - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Domain.S3ExportingConfig": { - "additionalProperties": false, - "properties": { - "S3BucketName": { - "markdownDescription": "The name of the S3 bucket where Identity Resolution Jobs write result files.", - "title": "S3BucketName", - "type": "string" - }, - "S3KeyName": { - "markdownDescription": "The S3 key name of the location where Identity Resolution Jobs write result files.", - "title": "S3KeyName", - "type": "string" } }, - "required": [ - "S3BucketName" - ], "type": "object" }, - "AWS::CustomerProfiles::DomainObjectType": { + "AWS::Connect::Prompt": { "additionalProperties": false, "properties": { "Condition": { @@ -95936,43 +95684,43 @@ "additionalProperties": false, "properties": { "Description": { + "markdownDescription": "The description of the prompt.", + "title": "Description", "type": "string" }, - "DomainName": { + "InstanceArn": { + "markdownDescription": "The identifier of the Connect Customer instance.", + "title": "InstanceArn", "type": "string" }, - "EncryptionKey": { + "Name": { + "markdownDescription": "The name of the prompt.", + "title": "Name", "type": "string" }, - "Fields": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::CustomerProfiles::DomainObjectType.DomainObjectTypeField" - } - }, - "type": "object" - }, - "ObjectTypeName": { + "S3Uri": { + "markdownDescription": "The URI for the S3 bucket where the prompt is stored. This property is required when you create a prompt.", + "title": "S3Uri", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", "type": "array" } }, "required": [ - "DomainName", - "Fields", - "ObjectTypeName" + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::DomainObjectType" + "AWS::Connect::Prompt" ], "type": "string" }, @@ -95991,29 +95739,7 @@ ], "type": "object" }, - "AWS::CustomerProfiles::DomainObjectType.DomainObjectTypeField": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "FeatureType": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Source", - "Target" - ], - "type": "object" - }, - "AWS::CustomerProfiles::EventStream": { + "AWS::Connect::Queue": { "additionalProperties": false, "properties": { "Condition": { @@ -96048,40 +95774,79 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "markdownDescription": "The unique name of the domain.", - "title": "DomainName", + "AdditionalEmailAddresses": { + "items": { + "$ref": "#/definitions/AWS::Connect::Queue.EmailAddress" + }, + "type": "array" + }, + "Description": { + "markdownDescription": "The description of the queue.", + "title": "Description", "type": "string" }, - "EventStreamName": { - "markdownDescription": "The name of the event stream.", - "title": "EventStreamName", + "HoursOfOperationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the hours of operation.", + "title": "HoursOfOperationArn", + "type": "string" + }, + "InstanceArn": { + "markdownDescription": "The identifier of the Connect Customer instance.", + "title": "InstanceArn", + "type": "string" + }, + "MaxContacts": { + "markdownDescription": "The maximum number of contacts that can be in the queue before it is considered full.", + "title": "MaxContacts", + "type": "number" + }, + "Name": { + "markdownDescription": "The name of the queue.", + "title": "Name", + "type": "string" + }, + "OutboundCallerConfig": { + "$ref": "#/definitions/AWS::Connect::Queue.OutboundCallerConfig", + "markdownDescription": "The outbound caller ID name, number, and outbound whisper flow.", + "title": "OutboundCallerConfig" + }, + "OutboundEmailConfig": { + "$ref": "#/definitions/AWS::Connect::Queue.OutboundEmailConfig", + "markdownDescription": "The outbound email address ID for a specified queue.", + "title": "OutboundEmailConfig" + }, + "QuickConnectArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARN) of the of the quick connects available to agents who are working the queue.", + "title": "QuickConnectArns", + "type": "array" + }, + "Status": { + "markdownDescription": "The status of the queue.", + "title": "Status", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource.", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "title": "Tags", "type": "array" - }, - "Uri": { - "markdownDescription": "The StreamARN of the destination to deliver profile events to. For example, arn:aws:kinesis:region:account-id:stream/stream-name.", - "title": "Uri", - "type": "string" } }, "required": [ - "DomainName", - "EventStreamName", - "Uri" + "HoursOfOperationArn", + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::EventStream" + "AWS::Connect::Queue" ], "type": "string" }, @@ -96100,27 +95865,51 @@ ], "type": "object" }, - "AWS::CustomerProfiles::EventStream.DestinationDetails": { + "AWS::Connect::Queue.EmailAddress": { "additionalProperties": false, "properties": { - "Status": { - "markdownDescription": "The status of enabling the Kinesis stream as a destination for export.", - "title": "Status", - "type": "string" - }, - "Uri": { - "markdownDescription": "The StreamARN of the destination to deliver profile events to. For example, arn:aws:kinesis:region:account-id:stream/stream-name.", - "title": "Uri", + "EmailAddressArn": { "type": "string" } }, "required": [ - "Status", - "Uri" + "EmailAddressArn" ], "type": "object" }, - "AWS::CustomerProfiles::EventTrigger": { + "AWS::Connect::Queue.OutboundCallerConfig": { + "additionalProperties": false, + "properties": { + "OutboundCallerIdName": { + "markdownDescription": "The caller ID name.", + "title": "OutboundCallerIdName", + "type": "string" + }, + "OutboundCallerIdNumberArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the outbound caller ID number.\n\n> Only use the phone number ARN format that doesn't contain `instance` in the path, for example, `arn:aws:connect:us-east-1:1234567890:phone-number/uuid` . This is the same ARN format that is returned when you create a phone number using CloudFormation , or when you call the [ListPhoneNumbersV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_ListPhoneNumbersV2.html) API.", + "title": "OutboundCallerIdNumberArn", + "type": "string" + }, + "OutboundFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the outbound flow.", + "title": "OutboundFlowArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Connect::Queue.OutboundEmailConfig": { + "additionalProperties": false, + "properties": { + "OutboundEmailAddressId": { + "markdownDescription": "The identifier of the email address.", + "title": "OutboundEmailAddressId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Connect::QuickConnect": { "additionalProperties": false, "properties": { "Condition": { @@ -96156,63 +95945,44 @@ "additionalProperties": false, "properties": { "Description": { - "markdownDescription": "The description of the event trigger.", + "markdownDescription": "The description of the quick connect.", "title": "Description", "type": "string" }, - "DomainName": { - "markdownDescription": "The unique name of the domain.", - "title": "DomainName", - "type": "string" - }, - "EventTriggerConditions": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.EventTriggerCondition" - }, - "markdownDescription": "A list of conditions that determine when an event should trigger the destination.", - "title": "EventTriggerConditions", - "type": "array" - }, - "EventTriggerLimits": { - "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.EventTriggerLimits", - "markdownDescription": "Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.", - "title": "EventTriggerLimits" - }, - "EventTriggerName": { - "markdownDescription": "The unique name of the event trigger.", - "title": "EventTriggerName", + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", "type": "string" }, - "ObjectTypeName": { - "markdownDescription": "The unique name of the object type.", - "title": "ObjectTypeName", + "Name": { + "markdownDescription": "The name of the quick connect.", + "title": "Name", "type": "string" }, - "SegmentFilter": { - "markdownDescription": "The destination is triggered only for profiles that meet the criteria of a segment definition.", - "title": "SegmentFilter", - "type": "string" + "QuickConnectConfig": { + "$ref": "#/definitions/AWS::Connect::QuickConnect.QuickConnectConfig", + "markdownDescription": "Contains information about the quick connect.", + "title": "QuickConnectConfig" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "title": "Tags", "type": "array" } }, "required": [ - "DomainName", - "EventTriggerConditions", - "EventTriggerName", - "ObjectTypeName" + "InstanceArn", + "Name", + "QuickConnectConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::EventTrigger" + "AWS::Connect::QuickConnect" ], "type": "string" }, @@ -96231,129 +96001,105 @@ ], "type": "object" }, - "AWS::CustomerProfiles::EventTrigger.EventTriggerCondition": { + "AWS::Connect::QuickConnect.FlowQuickConnectConfig": { "additionalProperties": false, "properties": { - "EventTriggerDimensions": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.EventTriggerDimension" - }, - "markdownDescription": "A list of dimensions to be evaluated for the event.", - "title": "EventTriggerDimensions", - "type": "array" - }, - "LogicalOperator": { - "markdownDescription": "The operator used to combine multiple dimensions.", - "title": "LogicalOperator", + "ContactFlowArn": { "type": "string" } }, "required": [ - "EventTriggerDimensions", - "LogicalOperator" + "ContactFlowArn" ], "type": "object" }, - "AWS::CustomerProfiles::EventTrigger.EventTriggerDimension": { + "AWS::Connect::QuickConnect.PhoneNumberQuickConnectConfig": { "additionalProperties": false, "properties": { - "ObjectAttributes": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.ObjectAttribute" - }, - "markdownDescription": "A list of object attributes to be evaluated.", - "title": "ObjectAttributes", - "type": "array" + "PhoneNumber": { + "markdownDescription": "The phone number in E.164 format.", + "title": "PhoneNumber", + "type": "string" } }, "required": [ - "ObjectAttributes" + "PhoneNumber" ], "type": "object" }, - "AWS::CustomerProfiles::EventTrigger.EventTriggerLimits": { + "AWS::Connect::QuickConnect.QueueQuickConnectConfig": { "additionalProperties": false, "properties": { - "EventExpiration": { - "markdownDescription": "Specifies that an event will only trigger the destination if it is processed within a certain latency period.", - "title": "EventExpiration", - "type": "number" + "ContactFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", + "title": "ContactFlowArn", + "type": "string" }, - "Periods": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.Period" - }, - "markdownDescription": "A list of time periods during which the limits apply.", - "title": "Periods", - "type": "array" + "QueueArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the queue.", + "title": "QueueArn", + "type": "string" } }, + "required": [ + "ContactFlowArn", + "QueueArn" + ], "type": "object" }, - "AWS::CustomerProfiles::EventTrigger.ObjectAttribute": { + "AWS::Connect::QuickConnect.QuickConnectConfig": { "additionalProperties": false, "properties": { - "ComparisonOperator": { - "markdownDescription": "The operator used to compare an attribute against a list of values.", - "title": "ComparisonOperator", - "type": "string" + "FlowConfig": { + "$ref": "#/definitions/AWS::Connect::QuickConnect.FlowQuickConnectConfig" }, - "FieldName": { - "markdownDescription": "A field defined within an object type.", - "title": "FieldName", - "type": "string" + "PhoneConfig": { + "$ref": "#/definitions/AWS::Connect::QuickConnect.PhoneNumberQuickConnectConfig", + "markdownDescription": "The phone configuration. This is required only if QuickConnectType is PHONE_NUMBER.", + "title": "PhoneConfig" }, - "Source": { - "markdownDescription": "An attribute contained within a source object.", - "title": "Source", + "QueueConfig": { + "$ref": "#/definitions/AWS::Connect::QuickConnect.QueueQuickConnectConfig", + "markdownDescription": "The queue configuration. This is required only if QuickConnectType is QUEUE.", + "title": "QueueConfig" + }, + "QuickConnectType": { + "markdownDescription": "The type of quick connect. In the Connect Customer console, when you create a quick connect, you are prompted to assign one of the following types: Agent (USER), External (PHONE_NUMBER), or Queue (QUEUE).", + "title": "QuickConnectType", "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The amount of time of the specified unit.", - "title": "Values", - "type": "array" + "UserConfig": { + "$ref": "#/definitions/AWS::Connect::QuickConnect.UserQuickConnectConfig", + "markdownDescription": "The user configuration. This is required only if QuickConnectType is USER.", + "title": "UserConfig" } }, "required": [ - "ComparisonOperator", - "Values" + "QuickConnectType" ], "type": "object" }, - "AWS::CustomerProfiles::EventTrigger.Period": { + "AWS::Connect::QuickConnect.UserQuickConnectConfig": { "additionalProperties": false, "properties": { - "MaxInvocationsPerProfile": { - "markdownDescription": "The maximum allowed number of destination invocations per profile.", - "title": "MaxInvocationsPerProfile", - "type": "number" - }, - "Unit": { - "markdownDescription": "The unit of time.", - "title": "Unit", + "ContactFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", + "title": "ContactFlowArn", "type": "string" }, - "Unlimited": { - "markdownDescription": "If set to true, there is no limit on the number of destination invocations per profile. The default is false.", - "title": "Unlimited", - "type": "boolean" - }, - "Value": { - "markdownDescription": "The amount of time of the specified unit.", - "title": "Value", - "type": "number" + "UserArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the user.", + "title": "UserArn", + "type": "string" } }, "required": [ - "Unit", - "Value" + "ContactFlowArn", + "UserArn" ], "type": "object" }, - "AWS::CustomerProfiles::Integration": { + "AWS::Connect::RoutingProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -96388,62 +96134,76 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "markdownDescription": "The unique name of the domain.", - "title": "DomainName", + "AgentAvailabilityTimer": { + "markdownDescription": "Whether agents with this routing profile will have their routing order calculated based on *time since their last inbound contact* or *longest idle time* .", + "title": "AgentAvailabilityTimer", "type": "string" }, - "EventTriggerNames": { + "DefaultOutboundQueueArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the default outbound queue for the routing profile.", + "title": "DefaultOutboundQueueArn", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the routing profile.", + "title": "Description", + "type": "string" + }, + "InstanceArn": { + "markdownDescription": "The identifier of the Connect Customer instance.", + "title": "InstanceArn", + "type": "string" + }, + "ManualAssignmentQueueConfigs": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileManualAssignmentQueueConfig" }, - "markdownDescription": "A list of unique names for active event triggers associated with the integration.", - "title": "EventTriggerNames", + "markdownDescription": "Contains information about the queue and channel for manual assignment behaviour can be enabled.", + "title": "ManualAssignmentQueueConfigs", "type": "array" }, - "FlowDefinition": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.FlowDefinition", - "markdownDescription": "The configuration that controls how Customer Profiles retrieves data from the source.", - "title": "FlowDefinition" + "MediaConcurrencies": { + "items": { + "$ref": "#/definitions/AWS::Connect::RoutingProfile.MediaConcurrency" + }, + "markdownDescription": "The channels agents can handle in the Contact Control Panel (CCP) for this routing profile.", + "title": "MediaConcurrencies", + "type": "array" }, - "ObjectTypeName": { - "markdownDescription": "The name of the profile object type mapping to use.", - "title": "ObjectTypeName", + "Name": { + "markdownDescription": "The name of the routing profile.", + "title": "Name", "type": "string" }, - "ObjectTypeNames": { + "QueueConfigs": { "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ObjectTypeMapping" + "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileQueueConfig" }, - "markdownDescription": "The object type mapping.", - "title": "ObjectTypeNames", + "markdownDescription": "The inbound queues associated with the routing profile. If no queue is added, the agent can make only outbound calls.", + "title": "QueueConfigs", "type": "array" }, - "Scope": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for this resource.", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "title": "Tags", "type": "array" - }, - "Uri": { - "markdownDescription": "The URI of the S3 bucket or any other type of data source.", - "title": "Uri", - "type": "string" } }, "required": [ - "DomainName" + "DefaultOutboundQueueArn", + "Description", + "InstanceArn", + "MediaConcurrencies", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::Integration" + "AWS::Connect::RoutingProfile" ], "type": "string" }, @@ -96462,396 +96222,595 @@ ], "type": "object" }, - "AWS::CustomerProfiles::Integration.ConnectorOperator": { + "AWS::Connect::RoutingProfile.CrossChannelBehavior": { "additionalProperties": false, "properties": { - "Marketo": { - "markdownDescription": "The operation to be performed on the provided Marketo source fields.", - "title": "Marketo", - "type": "string" - }, - "S3": { - "markdownDescription": "The operation to be performed on the provided Amazon S3 source fields.", - "title": "S3", - "type": "string" - }, - "Salesforce": { - "markdownDescription": "The operation to be performed on the provided Salesforce source fields.", - "title": "Salesforce", - "type": "string" - }, - "ServiceNow": { - "markdownDescription": "The operation to be performed on the provided ServiceNow source fields.", - "title": "ServiceNow", - "type": "string" - }, - "Zendesk": { - "markdownDescription": "The operation to be performed on the provided Zendesk source fields.", - "title": "Zendesk", + "BehaviorType": { + "markdownDescription": "Specifies the other channels that can be routed to an agent handling their current channel.", + "title": "BehaviorType", "type": "string" } }, + "required": [ + "BehaviorType" + ], "type": "object" }, - "AWS::CustomerProfiles::Integration.FlowDefinition": { + "AWS::Connect::RoutingProfile.MediaConcurrency": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description of the flow you want to create.", - "title": "Description", + "Channel": { + "markdownDescription": "The channels that agents can handle in the Contact Control Panel (CCP).", + "title": "Channel", "type": "string" }, - "FlowName": { - "markdownDescription": "The specified name of the flow. Use underscores (_) or hyphens (-) only. Spaces are not allowed.", - "title": "FlowName", - "type": "string" - }, - "KmsArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key you provide for encryption.", - "title": "KmsArn", - "type": "string" - }, - "SourceFlowConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceFlowConfig", - "markdownDescription": "The configuration that controls how Customer Profiles retrieves data from the source.", - "title": "SourceFlowConfig" - }, - "Tasks": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.Task" - }, - "markdownDescription": "A list of tasks that Customer Profiles performs while transferring the data in the flow run.", - "title": "Tasks", - "type": "array" + "Concurrency": { + "markdownDescription": "The number of contacts an agent can have on a channel simultaneously.\n\nValid Range for `VOICE` : Minimum value of 1. Maximum value of 1.\n\nValid Range for `CHAT` : Minimum value of 1. Maximum value of 10.\n\nValid Range for `TASK` : Minimum value of 1. Maximum value of 10.", + "title": "Concurrency", + "type": "number" }, - "TriggerConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerConfig", - "markdownDescription": "The trigger settings that determine how and when the flow runs.", - "title": "TriggerConfig" + "CrossChannelBehavior": { + "$ref": "#/definitions/AWS::Connect::RoutingProfile.CrossChannelBehavior", + "markdownDescription": "Defines the cross-channel routing behavior for each channel that is enabled for this Routing Profile. For example, this allows you to offer an agent a different contact from another channel when they are currently working with a contact from a Voice channel.", + "title": "CrossChannelBehavior" } }, "required": [ - "FlowName", - "KmsArn", - "SourceFlowConfig", - "Tasks", - "TriggerConfig" + "Channel", + "Concurrency" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.IncrementalPullConfig": { + "AWS::Connect::RoutingProfile.RoutingProfileManualAssignmentQueueConfig": { "additionalProperties": false, "properties": { - "DatetimeTypeFieldName": { - "markdownDescription": "A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source.", - "title": "DatetimeTypeFieldName", - "type": "string" + "QueueReference": { + "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileQueueReference", + "markdownDescription": "Contains information about a queue resource.", + "title": "QueueReference" } }, + "required": [ + "QueueReference" + ], "type": "object" }, - "AWS::CustomerProfiles::Integration.MarketoSourceProperties": { + "AWS::Connect::RoutingProfile.RoutingProfileQueueConfig": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Marketo flow source.", - "title": "Object", - "type": "string" + "Delay": { + "markdownDescription": "The delay, in seconds, a contact should be in the queue before they are routed to an available agent. For more information, see [Queues: priority and delay](https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html) in the *Amazon Connect Administrator Guide* .", + "title": "Delay", + "type": "number" + }, + "Priority": { + "markdownDescription": "The order in which contacts are to be handled for the queue. For more information, see [Queues: priority and delay](https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html) .", + "title": "Priority", + "type": "number" + }, + "QueueReference": { + "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileQueueReference", + "markdownDescription": "Contains information about a queue resource.", + "title": "QueueReference" } }, "required": [ - "Object" + "Delay", + "Priority", + "QueueReference" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.ObjectTypeMapping": { + "AWS::Connect::RoutingProfile.RoutingProfileQueueReference": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key.", - "title": "Key", + "Channel": { + "markdownDescription": "The channels agents can handle in the Contact Control Panel (CCP) for this routing profile.", + "title": "Channel", "type": "string" }, - "Value": { - "markdownDescription": "The value.", - "title": "Value", + "QueueArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the queue.", + "title": "QueueArn", "type": "string" } }, "required": [ - "Key", - "Value" + "Channel", + "QueueArn" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.S3SourceProperties": { + "AWS::Connect::Rule": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The Amazon S3 bucket name where the source files are stored.", - "title": "BucketName", + "Condition": { "type": "string" }, - "BucketPrefix": { - "markdownDescription": "The object key for the Amazon S3 bucket in which the source files are stored.", - "title": "BucketPrefix", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Connect::Rule.Actions", + "markdownDescription": "A list of actions to be run when the rule is triggered.", + "title": "Actions" + }, + "Function": { + "markdownDescription": "The conditions of the rule.", + "title": "Function", + "type": "string" + }, + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the rule.", + "title": "Name", + "type": "string" + }, + "PublishStatus": { + "markdownDescription": "The publish status of the rule.\n\n*Allowed values* : `DRAFT` | `PUBLISHED`", + "title": "PublishStatus", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" + }, + "TriggerEventSource": { + "$ref": "#/definitions/AWS::Connect::Rule.RuleTriggerEventSource", + "markdownDescription": "The event source to trigger the rule.", + "title": "TriggerEventSource" + } + }, + "required": [ + "Actions", + "Function", + "InstanceArn", + "Name", + "PublishStatus", + "TriggerEventSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::Rule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "BucketName" + "Type", + "Properties" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.SalesforceSourceProperties": { + "AWS::Connect::Rule.Actions": { "additionalProperties": false, "properties": { - "EnableDynamicFieldUpdate": { - "markdownDescription": "The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.", - "title": "EnableDynamicFieldUpdate", - "type": "boolean" + "AssignContactCategoryActions": { + "items": { + "type": "object" + }, + "markdownDescription": "Information about the contact category action. The syntax can be empty, for example, `{}` .", + "title": "AssignContactCategoryActions", + "type": "array" }, - "IncludeDeletedRecords": { - "markdownDescription": "Indicates whether Amazon AppFlow includes deleted files in the flow run.", - "title": "IncludeDeletedRecords", - "type": "boolean" + "AssignSlaActions": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.AssignSlaAction" + }, + "type": "array" }, - "Object": { - "markdownDescription": "The object specified in the Salesforce flow source.", - "title": "Object", + "CreateCaseActions": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.CreateCaseAction" + }, + "markdownDescription": "", + "title": "CreateCaseActions", + "type": "array" + }, + "EndAssociatedTasksActions": { + "items": { + "type": "object" + }, + "markdownDescription": "", + "title": "EndAssociatedTasksActions", + "type": "array" + }, + "EventBridgeActions": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.EventBridgeAction" + }, + "markdownDescription": "Information about the EventBridge action.", + "title": "EventBridgeActions", + "type": "array" + }, + "SendNotificationActions": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.SendNotificationAction" + }, + "markdownDescription": "Information about the send notification action.", + "title": "SendNotificationActions", + "type": "array" + }, + "SubmitAutoEvaluationActions": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.SubmitAutoEvaluationAction" + }, + "markdownDescription": "", + "title": "SubmitAutoEvaluationActions", + "type": "array" + }, + "TaskActions": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.TaskAction" + }, + "markdownDescription": "Information about the task action. This field is required if `TriggerEventSource` is one of the following values: `OnZendeskTicketCreate` | `OnZendeskTicketStatusUpdate` | `OnSalesforceCaseCreate`", + "title": "TaskActions", + "type": "array" + }, + "UpdateCaseActions": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.UpdateCaseAction" + }, + "markdownDescription": "", + "title": "UpdateCaseActions", + "type": "array" + } + }, + "type": "object" + }, + "AWS::Connect::Rule.AssignSlaAction": { + "additionalProperties": false, + "properties": { + "CaseSlaConfiguration": { + "$ref": "#/definitions/AWS::Connect::Rule.CaseSlaConfiguration" + }, + "SlaAssignmentType": { "type": "string" } }, "required": [ - "Object" + "CaseSlaConfiguration", + "SlaAssignmentType" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.ScheduledTriggerProperties": { + "AWS::Connect::Rule.CaseSlaConfiguration": { "additionalProperties": false, "properties": { - "DataPullMode": { - "markdownDescription": "Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run.", - "title": "DataPullMode", + "FieldId": { "type": "string" }, - "FirstExecutionFrom": { - "markdownDescription": "Specifies the date range for the records to import from the connector in the first flow run.", - "title": "FirstExecutionFrom", - "type": "number" - }, - "ScheduleEndTime": { - "markdownDescription": "Specifies the scheduled end time for a scheduled-trigger flow.", - "title": "ScheduleEndTime", - "type": "number" - }, - "ScheduleExpression": { - "markdownDescription": "The scheduling expression that determines the rate at which the schedule will run, for example rate (5 minutes).", - "title": "ScheduleExpression", + "Name": { "type": "string" }, - "ScheduleOffset": { - "markdownDescription": "Specifies the optional offset that is added to the time interval for a schedule-triggered flow.", - "title": "ScheduleOffset", - "type": "number" + "TargetFieldValues": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.SlaTargetFieldValue" + }, + "type": "array" }, - "ScheduleStartTime": { - "markdownDescription": "Specifies the scheduled start time for a scheduled-trigger flow. The value must be a date/time value in EPOCH format.", - "title": "ScheduleStartTime", + "TargetSlaMinutes": { "type": "number" }, - "Timezone": { - "markdownDescription": "Specifies the time zone used when referring to the date and time of a scheduled-triggered flow, such as America/New_York.", - "title": "Timezone", + "Type": { "type": "string" } }, "required": [ - "ScheduleExpression" + "Name", + "TargetSlaMinutes", + "Type" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.ServiceNowSourceProperties": { + "AWS::Connect::Rule.CreateCaseAction": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the ServiceNow flow source.", - "title": "Object", + "Fields": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.Field" + }, + "markdownDescription": "", + "title": "Fields", + "type": "array" + }, + "TemplateId": { + "markdownDescription": "", + "title": "TemplateId", "type": "string" } }, "required": [ - "Object" + "Fields", + "TemplateId" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.SourceConnectorProperties": { + "AWS::Connect::Rule.EventBridgeAction": { "additionalProperties": false, "properties": { - "Marketo": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.MarketoSourceProperties", - "markdownDescription": "The properties that are applied when Marketo is being used as a source.", - "title": "Marketo" - }, - "S3": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.S3SourceProperties", - "markdownDescription": "The properties that are applied when Amazon S3 is being used as the flow source.", - "title": "S3" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SalesforceSourceProperties", - "markdownDescription": "The properties that are applied when Salesforce is being used as a source.", - "title": "Salesforce" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ServiceNowSourceProperties", - "markdownDescription": "The properties that are applied when ServiceNow is being used as a source.", - "title": "ServiceNow" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ZendeskSourceProperties", - "markdownDescription": "The properties that are applied when using Zendesk as a flow source.", - "title": "Zendesk" + "Name": { + "markdownDescription": "The name.", + "title": "Name", + "type": "string" } }, + "required": [ + "Name" + ], "type": "object" }, - "AWS::CustomerProfiles::Integration.SourceFlowConfig": { + "AWS::Connect::Rule.Field": { "additionalProperties": false, "properties": { - "ConnectorProfileName": { - "markdownDescription": "The name of the Amazon AppFlow connector profile. This name must be unique for each connector profile in the AWS account .", - "title": "ConnectorProfileName", - "type": "string" - }, - "ConnectorType": { - "markdownDescription": "The type of connector, such as Salesforce, Marketo, and so on.", - "title": "ConnectorType", + "Id": { + "markdownDescription": "", + "title": "Id", "type": "string" }, - "IncrementalPullConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.IncrementalPullConfig", - "markdownDescription": "Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.", - "title": "IncrementalPullConfig" - }, - "SourceConnectorProperties": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceConnectorProperties", - "markdownDescription": "Specifies the information that is required to query a particular source connector.", - "title": "SourceConnectorProperties" + "Value": { + "$ref": "#/definitions/AWS::Connect::Rule.FieldValue", + "markdownDescription": "", + "title": "Value" } }, "required": [ - "ConnectorType", - "SourceConnectorProperties" + "Id", + "Value" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.Task": { + "AWS::Connect::Rule.FieldValue": { "additionalProperties": false, "properties": { - "ConnectorOperator": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ConnectorOperator", - "markdownDescription": "The operation to be performed on the provided source fields.", - "title": "ConnectorOperator" + "BooleanValue": { + "markdownDescription": "", + "title": "BooleanValue", + "type": "boolean" }, - "DestinationField": { - "markdownDescription": "A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.", - "title": "DestinationField", - "type": "string" + "DoubleValue": { + "markdownDescription": "", + "title": "DoubleValue", + "type": "number" }, - "SourceFields": { + "EmptyValue": { + "markdownDescription": "", + "title": "EmptyValue", + "type": "object" + }, + "StringValue": { + "markdownDescription": "", + "title": "StringValue", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Connect::Rule.NotificationRecipientType": { + "additionalProperties": false, + "properties": { + "UserArns": { "items": { "type": "string" }, - "markdownDescription": "The source fields to which a particular task is applied.", - "title": "SourceFields", + "markdownDescription": "The Amazon Resource Name (ARN) of the user account.", + "title": "UserArns", "type": "array" }, - "TaskProperties": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TaskPropertiesMap" + "UserTags": { + "additionalProperties": true, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }. Connect Customer users with the specified tags will be notified.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "A map used to store task-related information. The service looks for particular information based on the TaskType.", - "title": "TaskProperties", - "type": "array" + "title": "UserTags", + "type": "object" + } + }, + "type": "object" + }, + "AWS::Connect::Rule.Reference": { + "additionalProperties": false, + "properties": { + "Type": { + "markdownDescription": "The type of the reference. `DATE` must be of type Epoch timestamp.\n\n*Allowed values* : `URL` | `ATTACHMENT` | `NUMBER` | `STRING` | `DATE` | `EMAIL`", + "title": "Type", + "type": "string" }, - "TaskType": { - "markdownDescription": "Specifies the particular task implementation that Amazon AppFlow performs.", - "title": "TaskType", + "Value": { + "markdownDescription": "A valid value for the reference. For example, for a URL reference, a formatted URL that is displayed to an agent in the Contact Control Panel (CCP).", + "title": "Value", "type": "string" } }, "required": [ - "SourceFields", - "TaskType" + "Type", + "Value" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.TaskPropertiesMap": { + "AWS::Connect::Rule.RuleTriggerEventSource": { "additionalProperties": false, "properties": { - "OperatorPropertyKey": { - "markdownDescription": "The task property key.", - "title": "OperatorPropertyKey", + "EventSourceName": { + "markdownDescription": "The name of the event source.", + "title": "EventSourceName", "type": "string" }, - "Property": { - "markdownDescription": "The task property value.", - "title": "Property", + "IntegrationAssociationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the integration association. `IntegrationAssociationArn` is required if `TriggerEventSource` is one of the following values: `OnZendeskTicketCreate` | `OnZendeskTicketStatusUpdate` | `OnSalesforceCaseCreate`", + "title": "IntegrationAssociationArn", "type": "string" } }, "required": [ - "OperatorPropertyKey", - "Property" + "EventSourceName" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.TriggerConfig": { + "AWS::Connect::Rule.SendNotificationAction": { "additionalProperties": false, "properties": { - "TriggerProperties": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerProperties", - "markdownDescription": "Specifies the configuration details of a schedule-triggered flow that you define. Currently, these settings only apply to the Scheduled trigger type.", - "title": "TriggerProperties" + "Content": { + "markdownDescription": "Notification content. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", + "title": "Content", + "type": "string" }, - "TriggerType": { - "markdownDescription": "Specifies the type of flow trigger. It can be OnDemand, Scheduled, or Event.", - "title": "TriggerType", + "ContentType": { + "markdownDescription": "Content type format.\n\n*Allowed value* : `PLAIN_TEXT`", + "title": "ContentType", + "type": "string" + }, + "DeliveryMethod": { + "markdownDescription": "Notification delivery method.\n\n*Allowed value* : `EMAIL`", + "title": "DeliveryMethod", + "type": "string" + }, + "Exclusion": { + "$ref": "#/definitions/AWS::Connect::Rule.NotificationRecipientType" + }, + "Recipient": { + "$ref": "#/definitions/AWS::Connect::Rule.NotificationRecipientType", + "markdownDescription": "Notification recipient.", + "title": "Recipient" + }, + "Subject": { + "markdownDescription": "The subject of the email if the delivery method is `EMAIL` . Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", + "title": "Subject", "type": "string" } }, "required": [ - "TriggerType" + "Content", + "ContentType", + "DeliveryMethod", + "Recipient" ], "type": "object" }, - "AWS::CustomerProfiles::Integration.TriggerProperties": { + "AWS::Connect::Rule.SlaTargetFieldValue": { "additionalProperties": false, "properties": { - "Scheduled": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ScheduledTriggerProperties", - "markdownDescription": "Specifies the configuration details of a schedule-triggered flow that you define.", - "title": "Scheduled" + "StringValue": { + "type": "string" } }, "type": "object" }, - "AWS::CustomerProfiles::Integration.ZendeskSourceProperties": { + "AWS::Connect::Rule.SubmitAutoEvaluationAction": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Zendesk flow source.", - "title": "Object", + "EvaluationFormArn": { + "markdownDescription": "", + "title": "EvaluationFormArn", "type": "string" } }, "required": [ - "Object" + "EvaluationFormArn" ], "type": "object" }, - "AWS::CustomerProfiles::ObjectType": { + "AWS::Connect::Rule.TaskAction": { + "additionalProperties": false, + "properties": { + "ContactFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", + "title": "ContactFlowArn", + "type": "string" + }, + "Description": { + "markdownDescription": "The description. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "The name. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Connect Customer Administrators Guide* .", + "title": "Name", + "type": "string" + }, + "References": { + "additionalProperties": false, + "markdownDescription": "Information about the reference when the `referenceType` is `URL` . Otherwise, null. `URL` is the only accepted type. (Supports variable injection in the `Value` field.)", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Connect::Rule.Reference" + } + }, + "title": "References", + "type": "object" + } + }, + "required": [ + "ContactFlowArn", + "Name" + ], + "type": "object" + }, + "AWS::Connect::Rule.UpdateCaseAction": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::Connect::Rule.Field" + }, + "markdownDescription": "", + "title": "Fields", + "type": "array" + } + }, + "required": [ + "Fields" + ], + "type": "object" + }, + "AWS::Connect::SecurityKey": { "additionalProperties": false, "properties": { "Condition": { @@ -96886,89 +96845,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowProfileCreation": { - "markdownDescription": "Indicates whether a profile should be created when data is received if one doesn\u2019t exist for an object of this type. The default is `FALSE` . If the AllowProfileCreation flag is set to `FALSE` , then the service tries to fetch a standard profile and associate this object with the profile. If it is set to `TRUE` , and if no match is found, then the service creates a new standard profile.", - "title": "AllowProfileCreation", - "type": "boolean" - }, - "Description": { - "markdownDescription": "The description of the profile object type mapping.", - "title": "Description", - "type": "string" - }, - "DomainName": { - "markdownDescription": "The unique name of the domain.", - "title": "DomainName", - "type": "string" - }, - "EncryptionKey": { - "markdownDescription": "The customer-provided key to encrypt the profile object that will be created in this profile object type mapping. If not specified the system will use the encryption key of the domain.", - "title": "EncryptionKey", - "type": "string" - }, - "ExpirationDays": { - "markdownDescription": "The number of days until the data of this type expires.", - "title": "ExpirationDays", - "type": "number" - }, - "Fields": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.FieldMap" - }, - "markdownDescription": "A list of field definitions for the object type mapping.", - "title": "Fields", - "type": "array" - }, - "Keys": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.KeyMap" - }, - "markdownDescription": "A list of keys that can be used to map data to the profile or search for the profile.", - "title": "Keys", - "type": "array" - }, - "MaxProfileObjectCount": { - "markdownDescription": "The amount of profile object max count assigned to the object type.", - "title": "MaxProfileObjectCount", - "type": "number" - }, - "ObjectTypeName": { - "markdownDescription": "The name of the profile object type.", - "title": "ObjectTypeName", - "type": "string" - }, - "SourceLastUpdatedTimestampFormat": { - "markdownDescription": "The format of your sourceLastUpdatedTimestamp that was previously set up.", - "title": "SourceLastUpdatedTimestampFormat", + "InstanceId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.\n\n*Minimum* : `1`\n\n*Maximum* : `100`", + "title": "InstanceId", "type": "string" }, - "SourcePriority": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for this resource.", - "title": "Tags", - "type": "array" - }, - "TemplateId": { - "markdownDescription": "A unique identifier for the template mapping. This can be used instead of specifying the Keys and Fields properties directly.", - "title": "TemplateId", + "Key": { + "markdownDescription": "A valid security key in PEM format. For example:\n\n`\"-----BEGIN PUBLIC KEY-----\\ [a lot of characters] ----END PUBLIC KEY-----\"`\n\n*Minimum* : `1`\n\n*Maximum* : `1024`", + "title": "Key", "type": "string" } }, "required": [ - "Description", - "DomainName", - "ObjectTypeName" + "InstanceId", + "Key" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::ObjectType" + "AWS::Connect::SecurityKey" ], "type": "string" }, @@ -96987,85 +96883,7 @@ ], "type": "object" }, - "AWS::CustomerProfiles::ObjectType.FieldMap": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "Name of the field.", - "title": "Name", - "type": "string" - }, - "ObjectTypeField": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeField", - "markdownDescription": "Represents a field in a ProfileObjectType.", - "title": "ObjectTypeField" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.KeyMap": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "Name of the key.", - "title": "Name", - "type": "string" - }, - "ObjectTypeKeyList": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeKey" - }, - "markdownDescription": "A list of ObjectTypeKey.", - "title": "ObjectTypeKeyList", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.ObjectTypeField": { - "additionalProperties": false, - "properties": { - "ContentType": { - "markdownDescription": "The content type of the field. Used for determining equality when searching.", - "title": "ContentType", - "type": "string" - }, - "Source": { - "markdownDescription": "A field of a ProfileObject. For example: _source.FirstName, where \u201c_source\u201d is a ProfileObjectType of a Zendesk user and \u201cFirstName\u201d is a field in that ObjectType.", - "title": "Source", - "type": "string" - }, - "Target": { - "markdownDescription": "The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.", - "title": "Target", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.ObjectTypeKey": { - "additionalProperties": false, - "properties": { - "FieldNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The reference for the key name of the fields map.", - "title": "FieldNames", - "type": "array" - }, - "StandardIdentifiers": { - "items": { - "type": "string" - }, - "markdownDescription": "The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE means that this key can be used to tie an object to a PROFILE. UNIQUE means that it can be used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the profile does not already exist before the object is ingested, otherwise it is only used for matching objects to profiles.", - "title": "StandardIdentifiers", - "type": "array" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Recommender": { + "AWS::Connect::SecurityProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -97100,38 +96918,95 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AllowedAccessControlHierarchyGroupId": { + "markdownDescription": "The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.", + "title": "AllowedAccessControlHierarchyGroupId", "type": "string" }, - "DomainName": { + "AllowedAccessControlTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The list of tags that a security profile uses to restrict access to resources in Amazon Connect.", + "title": "AllowedAccessControlTags", + "type": "array" + }, + "AllowedFlowModules": { + "items": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.FlowModule" + }, + "type": "array" + }, + "Applications": { + "items": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.Application" + }, + "markdownDescription": "", + "title": "Applications", + "type": "array" + }, + "Description": { + "markdownDescription": "The description of the security profile.", + "title": "Description", "type": "string" }, - "RecommenderConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.RecommenderConfig" + "GranularAccessControlConfiguration": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.GranularAccessControlConfiguration", + "markdownDescription": "The granular access control configuration for the security profile, including data table permissions.", + "title": "GranularAccessControlConfiguration" }, - "RecommenderName": { + "HierarchyRestrictedResources": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: `User` .", + "title": "HierarchyRestrictedResources", + "type": "array" + }, + "InstanceArn": { + "markdownDescription": "The identifier of the Connect Customer instance.", + "title": "InstanceArn", "type": "string" }, - "RecommenderRecipeName": { + "Permissions": { + "items": { + "type": "string" + }, + "markdownDescription": "Permissions assigned to the security profile. For a list of valid permissions, see [List of security profile permissions](https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-list.html) .", + "title": "Permissions", + "type": "array" + }, + "SecurityProfileName": { + "markdownDescription": "The name for the security profile.", + "title": "SecurityProfileName", "type": "string" }, + "TagRestrictedResources": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of resources that a security profile applies tag restrictions to in Amazon Connect.", + "title": "TagRestrictedResources", + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", "type": "array" } }, "required": [ - "DomainName", - "RecommenderName", - "RecommenderRecipeName" + "InstanceArn", + "SecurityProfileName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::Recommender" + "AWS::Connect::SecurityProfile" ], "type": "string" }, @@ -97150,103 +97025,101 @@ ], "type": "object" }, - "AWS::CustomerProfiles::Recommender.EventParameters": { + "AWS::Connect::SecurityProfile.Application": { "additionalProperties": false, "properties": { - "EventType": { + "ApplicationPermissions": { + "items": { + "type": "string" + }, + "markdownDescription": "The permissions that the agent is granted on the application. For third-party applications, only the `ACCESS` permission is supported. For MCP Servers, the permissions are tool Identifiers accepted by MCP Server.", + "title": "ApplicationPermissions", + "type": "array" + }, + "Namespace": { + "markdownDescription": "Namespace of the application that you want to give access to.", + "title": "Namespace", "type": "string" }, - "EventValueThreshold": { - "type": "number" + "Type": { + "type": "string" } }, - "required": [ - "EventType" - ], "type": "object" }, - "AWS::CustomerProfiles::Recommender.EventsConfig": { + "AWS::Connect::SecurityProfile.DataTableAccessControlConfiguration": { "additionalProperties": false, "properties": { - "EventParametersList": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.EventParameters" - }, - "type": "array" + "PrimaryAttributeAccessControlConfiguration": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.PrimaryAttributeAccessControlConfigurationItem", + "markdownDescription": "The configuration's primary attribute access control configuration.", + "title": "PrimaryAttributeAccessControlConfiguration" } }, - "required": [ - "EventParametersList" - ], "type": "object" }, - "AWS::CustomerProfiles::Recommender.Metrics": { + "AWS::Connect::SecurityProfile.FlowModule": { "additionalProperties": false, "properties": { - "coverage": { - "type": "number" - }, - "freshness": { - "type": "number" - }, - "hit": { - "type": "number" - }, - "popularity": { - "type": "number" - }, - "recall": { - "type": "number" + "FlowModuleId": { + "type": "string" }, - "similarity": { - "type": "number" + "Type": { + "type": "string" } }, "type": "object" }, - "AWS::CustomerProfiles::Recommender.RecommenderConfig": { + "AWS::Connect::SecurityProfile.GranularAccessControlConfiguration": { "additionalProperties": false, "properties": { - "EventsConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.EventsConfig" + "DataTableAccessControlConfiguration": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.DataTableAccessControlConfiguration", + "markdownDescription": "The access control configuration for data tables.", + "title": "DataTableAccessControlConfiguration" } }, "type": "object" }, - "AWS::CustomerProfiles::Recommender.RecommenderUpdate": { + "AWS::Connect::SecurityProfile.PrimaryAttributeAccessControlConfigurationItem": { "additionalProperties": false, "properties": { - "CreationDateTime": { - "type": "string" - }, - "FailureReason": { - "type": "string" - }, - "LastUpdatedDateTime": { - "type": "string" - }, - "RecommenderConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.RecommenderConfig" - }, - "Status": { - "type": "string" + "PrimaryAttributeValues": { + "items": { + "$ref": "#/definitions/AWS::Connect::SecurityProfile.PrimaryAttributeValue" + }, + "markdownDescription": "The item's primary attribute values.", + "title": "PrimaryAttributeValues", + "type": "array" } }, "type": "object" }, - "AWS::CustomerProfiles::Recommender.TrainingMetrics": { + "AWS::Connect::SecurityProfile.PrimaryAttributeValue": { "additionalProperties": false, "properties": { - "Metrics": { - "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.Metrics" + "AccessType": { + "markdownDescription": "The value's access type.", + "title": "AccessType", + "type": "string" }, - "Time": { + "AttributeName": { + "markdownDescription": "The value's attribute name.", + "title": "AttributeName", "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The value's values.", + "title": "Values", + "type": "array" } }, "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition": { + "AWS::Connect::TaskTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -97281,58 +97154,79 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the segment definition.", - "title": "Description", - "type": "string" - }, - "DisplayName": { - "markdownDescription": "Display name of the segment definition.", - "title": "DisplayName", + "ClientToken": { + "markdownDescription": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "title": "ClientToken", "type": "string" }, - "DomainName": { - "markdownDescription": "The name of the domain.", - "title": "DomainName", - "type": "string" + "Constraints": { + "$ref": "#/definitions/AWS::Connect::TaskTemplate.Constraints", + "markdownDescription": "Constraints that are applicable to the fields listed.\n\nThe values can be represented in either JSON or YAML format. For an example of the JSON configuration, see *Examples* at the bottom of this page.", + "title": "Constraints" }, - "SegmentDefinitionName": { - "markdownDescription": "Name of the segment definition.", - "title": "SegmentDefinitionName", + "ContactFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the flow that runs by default when a task is created by referencing this template. `ContactFlowArn` is not required when there is a field with `fieldType` = `QUICK_CONNECT` .", + "title": "ContactFlowArn", "type": "string" }, - "SegmentGroups": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SegmentGroup", - "markdownDescription": "Contains all groups of the segment definition.", - "title": "SegmentGroups" - }, - "SegmentSort": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SegmentSort" + "Defaults": { + "items": { + "$ref": "#/definitions/AWS::Connect::TaskTemplate.DefaultFieldValue" + }, + "markdownDescription": "The default values for fields when a task is created by referencing this template.", + "title": "Defaults", + "type": "array" }, - "SegmentSqlQuery": { - "markdownDescription": "", - "title": "SegmentSqlQuery", + "Description": { + "markdownDescription": "The description of the task template.", + "title": "Description", "type": "string" }, - "Tags": { + "Fields": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Connect::TaskTemplate.Field" }, - "markdownDescription": "The tags belonging to the segment definition.", - "title": "Tags", + "markdownDescription": "Fields that are part of the template. A template requires at least one field that has type `Name` .", + "title": "Fields", "type": "array" - } - }, - "required": [ - "DisplayName", - "DomainName", - "SegmentDefinitionName" + }, + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Connect Customer instance.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the task template.", + "title": "Name", + "type": "string" + }, + "SelfAssignContactFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", + "title": "SelfAssignContactFlowArn", + "type": "string" + }, + "Status": { + "markdownDescription": "The status of the task template.", + "title": "Status", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for this resource.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "InstanceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::CustomerProfiles::SegmentDefinition" + "AWS::Connect::TaskTemplate" ], "type": "string" }, @@ -97351,465 +97245,146 @@ ], "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.AddressDimension": { - "additionalProperties": false, - "properties": { - "City": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "The city belonging to the address.", - "title": "City" - }, - "Country": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "The country belonging to the address.", - "title": "Country" - }, - "County": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "The county belonging to the address.", - "title": "County" - }, - "PostalCode": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "The postal code belonging to the address.", - "title": "PostalCode" - }, - "Province": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "The province belonging to the address.", - "title": "Province" - }, - "State": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "The state belonging to the address.", - "title": "State" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.AttributeDimension": { + "AWS::Connect::TaskTemplate.Constraints": { "additionalProperties": false, "properties": { - "DimensionType": { - "markdownDescription": "The action to segment with.", - "title": "DimensionType", - "type": "string" - }, - "Values": { + "InvisibleFields": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Connect::TaskTemplate.InvisibleFieldInfo" }, - "markdownDescription": "The values to apply the DimensionType on.", - "title": "Values", + "markdownDescription": "Lists the fields that are invisible to agents.", + "title": "InvisibleFields", "type": "array" - } - }, - "required": [ - "DimensionType", - "Values" - ], - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.CalculatedAttributeDimension": { - "additionalProperties": false, - "properties": { - "ConditionOverrides": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ConditionOverrides", - "markdownDescription": "Applies the given condition over the initial Calculated Attribute's definition.", - "title": "ConditionOverrides" - }, - "DimensionType": { - "markdownDescription": "The action to segment with.", - "title": "DimensionType", - "type": "string" }, - "Values": { + "ReadOnlyFields": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Connect::TaskTemplate.ReadOnlyFieldInfo" }, - "markdownDescription": "The values to apply the DimensionType with.", - "title": "Values", + "markdownDescription": "Lists the fields that are read-only to agents, and cannot be edited.", + "title": "ReadOnlyFields", "type": "array" - } - }, - "required": [ - "DimensionType", - "Values" - ], - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.ConditionOverrides": { - "additionalProperties": false, - "properties": { - "Range": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.RangeOverride", - "markdownDescription": "The relative time period over which data is included in the aggregation for this override.", - "title": "Range" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.DateDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { - "markdownDescription": "The action to segment on.", - "title": "DimensionType", - "type": "string" }, - "Values": { + "RequiredFields": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Connect::TaskTemplate.RequiredFieldInfo" }, - "markdownDescription": "The values to apply the DimensionType on.", - "title": "Values", + "markdownDescription": "Lists the fields that are required to be filled by agents.", + "title": "RequiredFields", "type": "array" } }, - "required": [ - "DimensionType", - "Values" - ], - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.Dimension": { - "additionalProperties": false, - "properties": { - "CalculatedAttributes": { - "additionalProperties": false, - "markdownDescription": "Object that holds the calculated attributes to segment on.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.CalculatedAttributeDimension" - } - }, - "title": "CalculatedAttributes", - "type": "object" - }, - "ProfileAttributes": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileAttributes", - "markdownDescription": "Object that holds the profile attributes to segment on.", - "title": "ProfileAttributes" - } - }, "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.ExtraLengthValueProfileDimension": { + "AWS::Connect::TaskTemplate.DefaultFieldValue": { "additionalProperties": false, "properties": { - "DimensionType": { - "markdownDescription": "The action to segment with.", - "title": "DimensionType", + "DefaultValue": { + "markdownDescription": "Default value for the field.", + "title": "DefaultValue", "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The values to apply the DimensionType on.", - "title": "Values", - "type": "array" + "Id": { + "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", + "markdownDescription": "Identifier of a field.", + "title": "Id" } }, "required": [ - "DimensionType", - "Values" + "DefaultValue", + "Id" ], "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.Group": { + "AWS::Connect::TaskTemplate.Field": { "additionalProperties": false, "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.Dimension" - }, - "markdownDescription": "Defines the attributes to segment on.", - "title": "Dimensions", - "type": "array" + "Description": { + "markdownDescription": "The description of the field.", + "title": "Description", + "type": "string" }, - "SourceSegments": { + "Id": { + "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", + "markdownDescription": "The unique identifier for the field.", + "title": "Id" + }, + "SingleSelectOptions": { "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SourceSegment" + "type": "string" }, - "markdownDescription": "Defines the starting source of data.", - "title": "SourceSegments", + "markdownDescription": "A list of options for a single select field.", + "title": "SingleSelectOptions", "type": "array" }, - "SourceType": { - "markdownDescription": "Defines how to interact with the source data.", - "title": "SourceType", - "type": "string" - }, "Type": { - "markdownDescription": "Defines how to interact with the profiles found in the current filtering.", + "markdownDescription": "Indicates the type of field. Following are the valid field types: `NAME` `DESCRIPTION` | `SCHEDULED_TIME` | `QUICK_CONNECT` | `URL` | `NUMBER` | `TEXT` | `TEXT_AREA` | `DATE_TIME` | `BOOLEAN` | `SINGLE_SELECT` | `EMAIL`", "title": "Type", "type": "string" } }, - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.ProfileAttributes": { - "additionalProperties": false, - "properties": { - "AccountNumber": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within account number.", - "title": "AccountNumber" - }, - "AdditionalInformation": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ExtraLengthValueProfileDimension", - "markdownDescription": "A field to describe values to segment on within additional information.", - "title": "AdditionalInformation" - }, - "Address": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", - "markdownDescription": "A field to describe values to segment on within address.", - "title": "Address" - }, - "Attributes": { - "additionalProperties": false, - "markdownDescription": "A field to describe values to segment on within attributes.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AttributeDimension" - } - }, - "title": "Attributes", - "type": "object" - }, - "BillingAddress": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", - "markdownDescription": "A field to describe values to segment on within billing address.", - "title": "BillingAddress" - }, - "BirthDate": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.DateDimension", - "markdownDescription": "A field to describe values to segment on within birthDate.", - "title": "BirthDate" - }, - "BusinessEmailAddress": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within business email address.", - "title": "BusinessEmailAddress" - }, - "BusinessName": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within business name.", - "title": "BusinessName" - }, - "BusinessPhoneNumber": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within business phone number.", - "title": "BusinessPhoneNumber" - }, - "EmailAddress": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within email address.", - "title": "EmailAddress" - }, - "FirstName": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within first name.", - "title": "FirstName" - }, - "GenderString": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within genderString.", - "title": "GenderString" - }, - "HomePhoneNumber": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within home phone number.", - "title": "HomePhoneNumber" - }, - "LastName": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within last name.", - "title": "LastName" - }, - "MailingAddress": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", - "markdownDescription": "A field to describe values to segment on within mailing address.", - "title": "MailingAddress" - }, - "MiddleName": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within middle name.", - "title": "MiddleName" - }, - "MobilePhoneNumber": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within mobile phone number.", - "title": "MobilePhoneNumber" - }, - "PartyTypeString": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within partyTypeString.", - "title": "PartyTypeString" - }, - "PersonalEmailAddress": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within personal email address.", - "title": "PersonalEmailAddress" - }, - "PhoneNumber": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", - "markdownDescription": "A field to describe values to segment on within phone number.", - "title": "PhoneNumber" - }, - "ProfileType": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileTypeDimension", - "markdownDescription": "The type of profile.", - "title": "ProfileType" - }, - "ShippingAddress": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", - "markdownDescription": "A field to describe values to segment on within shipping address.", - "title": "ShippingAddress" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.ProfileDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { - "markdownDescription": "The action to segment on.", - "title": "DimensionType", - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Values", - "type": "array" - } - }, "required": [ - "DimensionType", - "Values" + "Id", + "Type" ], "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.ProfileTypeDimension": { + "AWS::Connect::TaskTemplate.FieldIdentifier": { "additionalProperties": false, "properties": { - "DimensionType": { - "markdownDescription": "The action to segment on.", - "title": "DimensionType", + "Name": { + "markdownDescription": "The name of the task template field.", + "title": "Name", "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The values to apply the DimensionType on.", - "title": "Values", - "type": "array" } }, "required": [ - "DimensionType", - "Values" + "Name" ], "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.RangeOverride": { + "AWS::Connect::TaskTemplate.InvisibleFieldInfo": { "additionalProperties": false, "properties": { - "End": { - "markdownDescription": "The end time of when to include objects.", - "title": "End", - "type": "number" - }, - "Start": { - "markdownDescription": "The start time of when to include objects.", - "title": "Start", - "type": "number" - }, - "Unit": { - "markdownDescription": "The unit for start and end.", - "title": "Unit", - "type": "string" + "Id": { + "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", + "markdownDescription": "Identifier of the invisible field.", + "title": "Id" } }, "required": [ - "Start", - "Unit" + "Id" ], "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.SegmentGroup": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.Group" - }, - "markdownDescription": "Holds the list of groups within the segment definition.", - "title": "Groups", - "type": "array" - }, - "Include": { - "markdownDescription": "Defines whether to include or exclude the profiles that fit the segment criteria.", - "title": "Include", - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::SegmentDefinition.SegmentSort": { + "AWS::Connect::TaskTemplate.ReadOnlyFieldInfo": { "additionalProperties": false, "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SortAttribute" - }, - "type": "array" + "Id": { + "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", + "markdownDescription": "Identifier of the read-only field.", + "title": "Id" } }, "required": [ - "Attributes" + "Id" ], "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.SortAttribute": { + "AWS::Connect::TaskTemplate.RequiredFieldInfo": { "additionalProperties": false, "properties": { - "DataType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Order": { - "type": "string" - }, - "Type": { - "type": "string" + "Id": { + "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier", + "markdownDescription": "The unique identifier for the field.", + "title": "Id" } }, "required": [ - "Name", - "Order" + "Id" ], "type": "object" }, - "AWS::CustomerProfiles::SegmentDefinition.SourceSegment": { - "additionalProperties": false, - "properties": { - "SegmentDefinitionName": { - "markdownDescription": "The name of the source segment.", - "title": "SegmentDefinitionName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DAX::Cluster": { + "AWS::Connect::TestCase": { "additionalProperties": false, "properties": { "Condition": { @@ -97844,98 +97419,44 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "markdownDescription": "The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or updated. If provided, the length of this list must equal the `ReplicationFactor` parameter. If you omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability.", - "title": "AvailabilityZones", - "type": "array" - }, - "ClusterEndpointEncryptionType": { - "markdownDescription": "The encryption type of the cluster's endpoint. Available values are:\n\n- `NONE` - The cluster's endpoint will be unencrypted.\n- `TLS` - The cluster's endpoint will be encrypted with Transport Layer Security, and will provide an x509 certificate for authentication.\n\nThe default value is `NONE` .", - "title": "ClusterEndpointEncryptionType", - "type": "string" - }, - "ClusterName": { - "markdownDescription": "The name of the DAX cluster.", - "title": "ClusterName", + "Content": { "type": "string" }, "Description": { - "markdownDescription": "The description of the cluster.", - "title": "Description", - "type": "string" - }, - "IAMRoleARN": { - "markdownDescription": "A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role's permissions to access DynamoDB on your behalf.", - "title": "IAMRoleARN", "type": "string" }, - "NetworkType": { - "markdownDescription": "The IP address type of the cluster. Values are:\n\n- `ipv4` - IPv4 addresses only\n- `ipv6` - IPv6 addresses only\n- `dual_stack` - Both IPv4 and IPv6 addresses", - "title": "NetworkType", - "type": "string" + "EntryPoint": { + "$ref": "#/definitions/AWS::Connect::TestCase.EntryPoint" }, - "NodeType": { - "markdownDescription": "The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.)", - "title": "NodeType", + "InitializationData": { "type": "string" }, - "NotificationTopicARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent.\n\n> The Amazon SNS topic owner must be same as the DAX cluster owner.", - "title": "NotificationTopicARN", + "InstanceArn": { "type": "string" }, - "ParameterGroupName": { - "markdownDescription": "The parameter group to be associated with the DAX cluster.", - "title": "ParameterGroupName", + "Name": { "type": "string" }, - "PreferredMaintenanceWindow": { - "markdownDescription": "A range of time when maintenance of DAX cluster software will be performed. For example: `sun:01:00-sun:09:00` . Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.", - "title": "PreferredMaintenanceWindow", + "Status": { "type": "string" }, - "ReplicationFactor": { - "markdownDescription": "The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, without any read replicas. For additional fault tolerance, you can create a multiple node cluster with one or more read replicas. To do this, set `ReplicationFactor` to a number between 3 (one primary and two read replicas) and 10 (one primary and nine read replicas). `If the AvailabilityZones` parameter is provided, its length must equal the `ReplicationFactor` .\n\n> AWS recommends that you have at least two read replicas per cluster.", - "title": "ReplicationFactor", - "type": "number" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DAX::Cluster.SSESpecification", - "markdownDescription": "Represents the settings used to enable server-side encryption on the cluster.", - "title": "SSESpecification" - }, - "SecurityGroupIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is system-generated.)\n\nIf this parameter is not specified, DAX assigns the default VPC security group to each node.", - "title": "SecurityGroupIds", "type": "array" - }, - "SubnetGroupName": { - "markdownDescription": "The name of the subnet group to be used for the replication group.\n\n> DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet group must exist in the same VPC.", - "title": "SubnetGroupName", - "type": "string" - }, - "Tags": { - "markdownDescription": "A set of tags to associate with the DAX cluster.", - "title": "Tags", - "type": "object" } }, "required": [ - "IAMRoleARN", - "NodeType", - "ReplicationFactor" + "Content", + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DAX::Cluster" + "AWS::Connect::TestCase" ], "type": "string" }, @@ -97954,91 +97475,46 @@ ], "type": "object" }, - "AWS::DAX::Cluster.SSESpecification": { + "AWS::Connect::TestCase.ChatEntryPointParameters": { "additionalProperties": false, "properties": { - "SSEEnabled": { - "markdownDescription": "Indicates whether server-side encryption is enabled (true) or disabled (false) on the cluster.", - "title": "SSEEnabled", - "type": "boolean" + "FlowId": { + "type": "string" } }, "type": "object" }, - "AWS::DAX::ParameterGroup": { + "AWS::Connect::TestCase.EntryPoint": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "ChatEntryPointParameters": { + "$ref": "#/definitions/AWS::Connect::TestCase.ChatEntryPointParameters" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Type": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "A description of the parameter group.", - "title": "Description", - "type": "string" - }, - "ParameterGroupName": { - "markdownDescription": "The name of the parameter group.", - "title": "ParameterGroupName", - "type": "string" - }, - "ParameterNameValues": { - "markdownDescription": "An array of name-value pairs for the parameters in the group. Each element in the array represents a single parameter.\n\n> `record-ttl-millis` and `query-ttl-millis` are the only supported parameter names. For more details, see [Configuring TTL Settings](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.cluster-management.html#DAX.cluster-management.custom-settings.ttl) .", - "title": "ParameterNameValues", - "type": "object" - } - }, - "type": "object" + "VoiceCallEntryPointParameters": { + "$ref": "#/definitions/AWS::Connect::TestCase.VoiceCallEntryPointParameters" + } + }, + "type": "object" + }, + "AWS::Connect::TestCase.VoiceCallEntryPointParameters": { + "additionalProperties": false, + "properties": { + "DestinationPhoneNumber": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::DAX::ParameterGroup" - ], + "FlowId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourcePhoneNumber": { "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::DAX::SubnetGroup": { + "AWS::Connect::TrafficDistributionGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -98074,32 +97550,38 @@ "additionalProperties": false, "properties": { "Description": { - "markdownDescription": "The description of the subnet group.", + "markdownDescription": "The description of the traffic distribution group.", "title": "Description", "type": "string" }, - "SubnetGroupName": { - "markdownDescription": "The name of the subnet group.", - "title": "SubnetGroupName", + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN).", + "title": "InstanceArn", "type": "string" }, - "SubnetIds": { + "Name": { + "markdownDescription": "The name of the traffic distribution group.", + "title": "Name", + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of VPC subnet IDs for the subnet group.", - "title": "SubnetIds", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, {\"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", "type": "array" } }, "required": [ - "SubnetIds" + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DAX::SubnetGroup" + "AWS::Connect::TrafficDistributionGroup" ], "type": "string" }, @@ -98118,7 +97600,7 @@ ], "type": "object" }, - "AWS::DLM::LifecyclePolicy": { + "AWS::Connect::User": { "additionalProperties": false, "properties": { "Condition": { @@ -98153,75 +97635,112 @@ "Properties": { "additionalProperties": false, "properties": { - "CopyTags": { - "markdownDescription": "*[Default policies only]* Indicates whether the policy should copy tags from the source resource to the snapshot or AMI. If you do not specify a value, the default is `false` .\n\nDefault: false", - "title": "CopyTags", - "type": "boolean" - }, - "CreateInterval": { - "markdownDescription": "*[Default policies only]* Specifies how often the policy should run and create snapshots or AMIs. The creation frequency can range from 1 to 7 days. If you do not specify a value, the default is 1.\n\nDefault: 1", - "title": "CreateInterval", - "type": "number" + "AfterContactWorkConfigs": { + "items": { + "$ref": "#/definitions/AWS::Connect::User.AfterContactWorkConfigPerChannel" + }, + "type": "array" }, - "CrossRegionCopyTargets": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets", - "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" + "AutoAcceptConfigs": { + "items": { + "$ref": "#/definitions/AWS::Connect::User.AutoAcceptConfig" + }, + "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` .", - "title": "DefaultPolicy", + "DirectoryUserId": { + "markdownDescription": "The identifier of the user account in the directory used for identity management.", + "title": "DirectoryUserId", "type": "string" }, - "Description": { - "markdownDescription": "A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.", - "title": "Description", + "HierarchyGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the user's hierarchy group.", + "title": "HierarchyGroupArn", "type": "string" }, - "Exclusions": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions", - "markdownDescription": "*[Default policies only]* Specifies exclusion parameters for volumes or instances for which you do not want to create snapshots or AMIs. The policy will not create snapshots or AMIs for target resources that match any of the specified exclusion parameters.", - "title": "Exclusions" + "IdentityInfo": { + "$ref": "#/definitions/AWS::Connect::User.UserIdentityInfo", + "markdownDescription": "Information about the user identity.", + "title": "IdentityInfo" }, - "ExecutionRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.", - "title": "ExecutionRoleArn", + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", "type": "string" }, - "ExtendDeletion": { - "markdownDescription": "*[Default policies only]* Defines the snapshot or AMI retention behavior for the policy if the source volume or instance is deleted, or if the policy enters the error, disabled, or deleted state.\n\nBy default ( *ExtendDeletion=false* ):\n\n- If a source resource is deleted, Amazon Data Lifecycle Manager will continue to delete previously created snapshots or AMIs, up to but not including the last one, based on the specified retention period. If you want Amazon Data Lifecycle Manager to delete all snapshots or AMIs, including the last one, specify `true` .\n- If a policy enters the error, disabled, or deleted state, Amazon Data Lifecycle Manager stops deleting snapshots and AMIs. If you want Amazon Data Lifecycle Manager to continue deleting snapshots or AMIs, including the last one, if the policy enters one of these states, specify `true` .\n\nIf you enable extended deletion ( *ExtendDeletion=true* ), you override both default behaviors simultaneously.\n\nIf you do not specify a value, the default is `false` .\n\nDefault: false", - "title": "ExtendDeletion", - "type": "boolean" + "Password": { + "markdownDescription": "The user's password.", + "title": "Password", + "type": "string" }, - "PolicyDetails": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails", - "markdownDescription": "The configuration details of the lifecycle policy.\n\n> If you create a default policy, you can specify the request parameters either in the request body, or in the PolicyDetails request structure, but not both.", - "title": "PolicyDetails" + "PersistentConnectionConfigs": { + "items": { + "$ref": "#/definitions/AWS::Connect::User.PersistentConnectionConfig" + }, + "type": "array" }, - "RetainInterval": { - "markdownDescription": "*[Default policies only]* Specifies how long the policy should retain snapshots or AMIs before deleting them. The retention period can range from 2 to 14 days, but it must be greater than the creation frequency to ensure that the policy retains at least 1 snapshot or AMI at any given time. If you do not specify a value, the default is 7.\n\nDefault: 7", - "title": "RetainInterval", - "type": "number" + "PhoneConfig": { + "$ref": "#/definitions/AWS::Connect::User.UserPhoneConfig", + "markdownDescription": "Information about the phone configuration for the user.", + "title": "PhoneConfig" }, - "State": { - "markdownDescription": "The activation state of the lifecycle policy.", - "title": "State", + "PhoneNumberConfigs": { + "items": { + "$ref": "#/definitions/AWS::Connect::User.PhoneNumberConfig" + }, + "type": "array" + }, + "RoutingProfileArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the user's routing profile.", + "title": "RoutingProfileArn", "type": "string" }, + "SecurityProfileArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Name (ARN) of the user's security profile.", + "title": "SecurityProfileArns", + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to apply to the lifecycle policy during creation.", + "markdownDescription": "The tags.", "title": "Tags", "type": "array" + }, + "UserProficiencies": { + "items": { + "$ref": "#/definitions/AWS::Connect::User.UserProficiency" + }, + "markdownDescription": "One or more predefined attributes assigned to a user, with a numeric value that indicates how their level of skill in a specified area.", + "title": "UserProficiencies", + "type": "array" + }, + "Username": { + "markdownDescription": "The user name assigned to the user account.", + "title": "Username", + "type": "string" + }, + "VoiceEnhancementConfigs": { + "items": { + "$ref": "#/definitions/AWS::Connect::User.VoiceEnhancementConfig" + }, + "type": "array" } }, + "required": [ + "InstanceArn", + "RoutingProfileArn", + "SecurityProfileArns", + "Username" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DLM::LifecyclePolicy" + "AWS::Connect::User" ], "type": "string" }, @@ -98235,688 +97754,611 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.Action": { + "AWS::Connect::User.AfterContactWorkConfig": { "additionalProperties": false, "properties": { - "CrossRegionCopy": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" - }, - "markdownDescription": "The rule for copying shared snapshots across Regions.", - "title": "CrossRegionCopy", - "type": "array" + "AfterContactWorkMode": { + "type": "string" }, - "Name": { - "markdownDescription": "A descriptive name for the action.", - "title": "Name", + "AfterContactWorkTimeLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Connect::User.AfterContactWorkConfigPerChannel": { + "additionalProperties": false, + "properties": { + "AfterContactWorkConfig": { + "$ref": "#/definitions/AWS::Connect::User.AfterContactWorkConfig" + }, + "AgentFirstCallbackAfterContactWorkConfig": { + "$ref": "#/definitions/AWS::Connect::User.AfterContactWorkConfig" + }, + "Channel": { "type": "string" } }, "required": [ - "CrossRegionCopy", - "Name" + "AfterContactWorkConfig", + "Channel" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.ArchiveRetainRule": { + "AWS::Connect::User.AutoAcceptConfig": { "additionalProperties": false, "properties": { - "RetentionArchiveTier": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.RetentionArchiveTier", - "markdownDescription": "Information about retention period in the Amazon EBS Snapshots Archive. For more information, see [Archive Amazon EBS snapshots](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/snapshot-archive.html) .", - "title": "RetentionArchiveTier" + "AgentFirstCallbackAutoAccept": { + "type": "boolean" + }, + "AutoAccept": { + "type": "boolean" + }, + "Channel": { + "type": "string" } }, "required": [ - "RetentionArchiveTier" + "AutoAccept", + "Channel" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.ArchiveRule": { + "AWS::Connect::User.PersistentConnectionConfig": { "additionalProperties": false, "properties": { - "RetainRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ArchiveRetainRule", - "markdownDescription": "Information about the retention period for the snapshot archiving rule.", - "title": "RetainRule" + "Channel": { + "type": "string" + }, + "PersistentConnection": { + "type": "boolean" } }, "required": [ - "RetainRule" + "Channel", + "PersistentConnection" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.CreateRule": { + "AWS::Connect::User.PhoneNumberConfig": { "additionalProperties": false, "properties": { - "CronExpression": { - "markdownDescription": "The schedule, as a Cron expression. The schedule interval must be between 1 hour and 1 year. For more information, see the [Cron and rate expressions](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html) in the *Amazon EventBridge User Guide* .", - "title": "CronExpression", + "Channel": { "type": "string" }, - "Interval": { - "markdownDescription": "The interval between snapshots. The supported values are 1, 2, 3, 4, 6, 8, 12, and 24.", - "title": "Interval", - "type": "number" + "PhoneNumber": { + "type": "string" }, - "IntervalUnit": { - "markdownDescription": "The interval unit.", - "title": "IntervalUnit", + "PhoneType": { + "type": "string" + } + }, + "required": [ + "Channel", + "PhoneType" + ], + "type": "object" + }, + "AWS::Connect::User.UserIdentityInfo": { + "additionalProperties": false, + "properties": { + "Email": { + "markdownDescription": "The email address. If you are using SAML for identity management and include this parameter, an error is returned.", + "title": "Email", "type": "string" }, - "Location": { - "markdownDescription": "*[Custom snapshot policies only]* Specifies the destination for snapshots created by the policy. The allowed destinations depend on the location of the targeted resources.\n\n- If the policy targets resources in a Region, then you must create snapshots in the same Region as the source resource.\n- If the policy targets resources in a Local Zone, you can create snapshots in the same Local Zone or in its parent Region.\n- If the policy targets resources on an Outpost, then you can create snapshots on the same Outpost or in its parent Region.\n\nSpecify one of the following values:\n\n- To create snapshots in the same Region as the source resource, specify `CLOUD` .\n- To create snapshots in the same Local Zone as the source resource, specify `LOCAL_ZONE` .\n- To create snapshots on the same Outpost as the source resource, specify `OUTPOST_LOCAL` .\n\nDefault: `CLOUD`", - "title": "Location", + "FirstName": { + "markdownDescription": "The first name. This is required if you are using Amazon Connect or SAML for identity management. Inputs must be in Unicode Normalization Form C (NFC). Text containing characters in a non-NFC form (for example, decomposed characters or combining marks) are not accepted.", + "title": "FirstName", "type": "string" }, - "Scripts": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Script" - }, - "markdownDescription": "*[Custom snapshot policies that target instances only]* Specifies pre and/or post scripts for a snapshot lifecycle policy that targets instances. This is useful for creating application-consistent snapshots, or for performing specific administrative tasks before or after Amazon Data Lifecycle Manager initiates snapshot creation.\n\nFor more information, see [Automating application-consistent snapshots with pre and post scripts](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/automate-app-consistent-backups.html) .", - "title": "Scripts", - "type": "array" + "LastName": { + "markdownDescription": "The last name. This is required if you are using Amazon Connect or SAML for identity management. Inputs must be in Unicode Normalization Form C (NFC). Text containing characters in a non-NFC form (for example, decomposed characters or combining marks) are not accepted.", + "title": "LastName", + "type": "string" }, - "Times": { - "items": { - "type": "string" - }, - "markdownDescription": "The time, in UTC, to start the operation. The supported format is hh:mm.\n\nThe operation occurs within a one-hour window following the specified time. If you do not specify a time, Amazon Data Lifecycle Manager selects a time within the next 24 hours.", - "title": "Times", - "type": "array" + "Mobile": { + "markdownDescription": "The user's mobile number.", + "title": "Mobile", + "type": "string" + }, + "SecondaryEmail": { + "markdownDescription": "The user's secondary email address. If you provide a secondary email, the user receives email notifications -- other than password reset notifications -- to this email address instead of to their primary email address.\n\n*Pattern* : `(?=^.{0,265}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,63}`", + "title": "SecondaryEmail", + "type": "string" } }, "type": "object" }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { + "AWS::Connect::User.UserPhoneConfig": { "additionalProperties": false, "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration", - "markdownDescription": "The encryption settings for the copied snapshot.", - "title": "EncryptionConfiguration" + "AfterContactWorkTimeLimit": { + "markdownDescription": "The After Call Work (ACW) timeout setting, in seconds. This parameter has a minimum value of 0 and a maximum value of 2,000,000 seconds (24 days). Enter 0 if you don't want to allocate a specific amount of ACW time. It essentially means an indefinite amount of time. When the conversation ends, ACW starts; the agent must choose Close contact to end ACW.\n\n> When returned by a `SearchUsers` call, `AfterContactWorkTimeLimit` is returned in milliseconds.", + "title": "AfterContactWorkTimeLimit", + "type": "number" }, - "RetainRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule", - "markdownDescription": "Specifies a retention rule for cross-Region snapshot copies created by snapshot or event-based policies, or cross-Region AMI copies created by AMI policies. After the retention period expires, the cross-Region copy is deleted.", - "title": "RetainRule" + "AutoAccept": { + "markdownDescription": "The Auto accept setting.", + "title": "AutoAccept", + "type": "boolean" }, - "Target": { - "markdownDescription": "The target Region.", - "title": "Target", + "DeskPhoneNumber": { + "markdownDescription": "The phone number for the user's desk phone.", + "title": "DeskPhoneNumber", + "type": "string" + }, + "PersistentConnection": { + "markdownDescription": "The persistent connection setting for the user.", + "title": "PersistentConnection", + "type": "boolean" + }, + "PhoneType": { + "markdownDescription": "The phone type.", + "title": "PhoneType", "type": "string" } }, - "required": [ - "EncryptionConfiguration", - "Target" - ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule": { + "AWS::Connect::User.UserProficiency": { "additionalProperties": false, "properties": { - "Interval": { - "markdownDescription": "The period after which to deprecate the cross-Region AMI copies. The period must be less than or equal to the cross-Region AMI copy retention period, and it can't be greater than 10 years. This is equivalent to 120 months, 520 weeks, or 3650 days.", - "title": "Interval", - "type": "number" + "AttributeName": { + "markdownDescription": "The name of user\u2019s proficiency. You must use a predefined attribute name that is present in the Amazon Connect instance.", + "title": "AttributeName", + "type": "string" }, - "IntervalUnit": { - "markdownDescription": "The unit of time in which to measure the *Interval* . For example, to deprecate a cross-Region AMI copy after 3 months, specify `Interval=3` and `IntervalUnit=MONTHS` .", - "title": "IntervalUnit", + "AttributeValue": { + "markdownDescription": "The value of user\u2019s proficiency. You must use a predefined attribute value that is present in the Amazon Connect instance.", + "title": "AttributeValue", "type": "string" + }, + "Level": { + "markdownDescription": "The level of the proficiency. The valid values are 1, 2, 3, 4 and 5.", + "title": "Level", + "type": "number" } }, "required": [ - "Interval", - "IntervalUnit" + "AttributeName", + "AttributeValue", + "Level" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { + "AWS::Connect::User.VoiceEnhancementConfig": { "additionalProperties": false, "properties": { - "Interval": { - "markdownDescription": "The amount of time to retain a cross-Region snapshot or AMI copy. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.", - "title": "Interval", - "type": "number" + "Channel": { + "type": "string" }, - "IntervalUnit": { - "markdownDescription": "The unit of time for time-based retention. For example, to retain a cross-Region copy for 3 months, specify `Interval=3` and `IntervalUnit=MONTHS` .", - "title": "IntervalUnit", + "VoiceEnhancementMode": { "type": "string" } }, "required": [ - "Interval", - "IntervalUnit" + "Channel", + "VoiceEnhancementMode" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyRule": { + "AWS::Connect::UserHierarchyGroup": { "additionalProperties": false, "properties": { - "CmkArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key to use for EBS encryption. If this parameter is not specified, the default KMS key for the account is used.", - "title": "CmkArn", + "Condition": { "type": "string" }, - "CopyTags": { - "markdownDescription": "Indicates whether to copy all user-defined tags from the source snapshot or AMI to the cross-Region copy.", - "title": "CopyTags", - "type": "boolean" - }, - "DeprecateRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule", - "markdownDescription": "*[Custom AMI policies only]* The AMI deprecation rule for cross-Region AMI copies created by the rule.", - "title": "DeprecateRule" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Encrypted": { - "markdownDescription": "To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, enable encryption using this parameter. Copies of encrypted snapshots are encrypted, even if this parameter is false or if encryption by default is not enabled.", - "title": "Encrypted", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RetainRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule", - "markdownDescription": "The retention rule that indicates how long the cross-Region snapshot or AMI copies are to be retained in the destination Region.", - "title": "RetainRule" + "Metadata": { + "type": "object" }, - "Target": { - "markdownDescription": "> Use this parameter for snapshot policies only. For AMI policies, use *TargetRegion* instead. \n\n*[Custom snapshot policies only]* The target Region or the Amazon Resource Name (ARN) of the target Outpost for the snapshot copies.", - "title": "Target", + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the user hierarchy group.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the user hierarchy group.", + "title": "Name", + "type": "string" + }, + "ParentGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the parent group.", + "title": "ParentGroupArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "InstanceArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::UserHierarchyGroup" + ], "type": "string" }, - "TargetRegion": { - "markdownDescription": "> Use this parameter for AMI policies only. For snapshot policies, use *Target* instead. For snapshot policies created before the *Target* parameter was introduced, this parameter indicates the target Region for snapshot copies. \n\n*[Custom AMI policies only]* The target Region or the Amazon Resource Name (ARN) of the target Outpost for the snapshot copies.", - "title": "TargetRegion", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Encrypted" + "Type", + "Properties" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget": { + "AWS::Connect::UserHierarchyStructure": { "additionalProperties": false, "properties": { - "TargetRegion": { + "Condition": { "type": "string" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.DeprecateRule": { - "additionalProperties": false, - "properties": { - "Count": { - "markdownDescription": "If the schedule has a count-based retention rule, this parameter specifies the number of oldest AMIs to deprecate. The count must be less than or equal to the schedule's retention count, and it can't be greater than 1000.", - "title": "Count", - "type": "number" - }, - "Interval": { - "markdownDescription": "If the schedule has an age-based retention rule, this parameter specifies the period after which to deprecate AMIs created by the schedule. The period must be less than or equal to the schedule's retention period, and it can't be greater than 10 years. This is equivalent to 120 months, 520 weeks, or 3650 days.", - "title": "Interval", - "type": "number" }, - "IntervalUnit": { - "markdownDescription": "The unit of time in which to measure the *Interval* .", - "title": "IntervalUnit", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "CmkArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key to use for EBS encryption. If this parameter is not specified, the default KMS key for the account is used.", - "title": "CmkArn", + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", + "type": "string" + }, + "UserHierarchyStructure": { + "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.UserHierarchyStructure", + "markdownDescription": "Contains information about a hierarchy structure.", + "title": "UserHierarchyStructure" + } + }, + "required": [ + "InstanceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::UserHierarchyStructure" + ], "type": "string" }, - "Encrypted": { - "markdownDescription": "To encrypt a copy of an unencrypted snapshot when encryption by default is not enabled, enable encryption using this parameter. Copies of encrypted snapshots are encrypted, even if this parameter is false or when encryption by default is not enabled.", - "title": "Encrypted", - "type": "boolean" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Encrypted" + "Type", + "Properties" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.EventParameters": { + "AWS::Connect::UserHierarchyStructure.LevelFive": { "additionalProperties": false, "properties": { - "DescriptionRegex": { - "markdownDescription": "The snapshot description that can trigger the policy. The description pattern is specified using a regular expression. The policy runs only if a snapshot with a description that matches the specified pattern is shared with your account.\n\nFor example, specifying `^.*Created for policy: policy-1234567890abcdef0.*$` configures the policy to run only if snapshots created by policy `policy-1234567890abcdef0` are shared with your account.", - "title": "DescriptionRegex", + "HierarchyLevelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", + "title": "HierarchyLevelArn", "type": "string" }, - "EventType": { - "markdownDescription": "The type of event. Currently, only snapshot sharing events are supported.", - "title": "EventType", + "HierarchyLevelId": { + "markdownDescription": "The identifier of the hierarchy level.", + "title": "HierarchyLevelId", "type": "string" }, - "SnapshotOwner": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the AWS accounts that can trigger policy by sharing snapshots with your account. The policy only runs if one of the specified AWS accounts shares a snapshot with your account.", - "title": "SnapshotOwner", - "type": "array" + "Name": { + "markdownDescription": "The name of the hierarchy level.", + "title": "Name", + "type": "string" } }, "required": [ - "EventType", - "SnapshotOwner" + "Name" ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.EventSource": { + "AWS::Connect::UserHierarchyStructure.LevelFour": { "additionalProperties": false, "properties": { - "Parameters": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventParameters", - "markdownDescription": "Information about the event.", - "title": "Parameters" + "HierarchyLevelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", + "title": "HierarchyLevelArn", + "type": "string" }, - "Type": { - "markdownDescription": "The source of the event. Currently only managed Amazon EventBridge (formerly known as Amazon CloudWatch) events are supported.", - "title": "Type", + "HierarchyLevelId": { + "markdownDescription": "The identifier of the hierarchy level.", + "title": "HierarchyLevelId", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the hierarchy level.", + "title": "Name", "type": "string" } }, "required": [ - "Type" + "Name" ], "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": { - "ExcludeBootVolumes": { - "markdownDescription": "*[Default policies for EBS snapshots only]* Indicates whether to exclude volumes that are attached to instances as the boot volume. If you exclude boot volumes, only volumes attached as data (non-boot) volumes will be backed up by the policy. To exclude boot volumes, specify `true` .", - "title": "ExcludeBootVolumes", - "type": "boolean" - }, - "ExcludeTags": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeTags", - "markdownDescription": "*[Default policies for EBS-backed AMIs only]* Specifies whether to exclude volumes that have specific tags.", - "title": "ExcludeTags" - }, - "ExcludeVolumeTypes": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList", - "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" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.FastRestoreRule": { + "AWS::Connect::UserHierarchyStructure.LevelOne": { "additionalProperties": false, "properties": { - "AvailabilityZoneIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "markdownDescription": "The Availability Zones in which to enable fast snapshot restore.", - "title": "AvailabilityZones", - "type": "array" - }, - "Count": { - "markdownDescription": "The number of snapshots to be enabled with fast snapshot restore.", - "title": "Count", - "type": "number" - }, - "Interval": { - "markdownDescription": "The amount of time to enable fast snapshot restore. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.", - "title": "Interval", - "type": "number" - }, - "IntervalUnit": { - "markdownDescription": "The unit of time for enabling fast snapshot restore.", - "title": "IntervalUnit", + "HierarchyLevelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", + "title": "HierarchyLevelArn", "type": "string" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.Parameters": { - "additionalProperties": false, - "properties": { - "ExcludeBootVolume": { - "markdownDescription": "*[Custom snapshot policies that target instances only]* Indicates whether to exclude the root volume from multi-volume snapshot sets. The default is `false` . If you specify `true` , then the root volumes attached to targeted instances will be excluded from the multi-volume snapshot sets created by the policy.", - "title": "ExcludeBootVolume", - "type": "boolean" }, - "ExcludeDataVolumeTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "*[Custom snapshot policies that target instances only]* The tags used to identify data (non-root) volumes to exclude from multi-volume snapshot sets.\n\nIf you create a snapshot lifecycle policy that targets instances and you specify tags for this parameter, then data volumes with the specified tags that are attached to targeted instances will be excluded from the multi-volume snapshot sets created by the policy.", - "title": "ExcludeDataVolumeTags", - "type": "array" + "HierarchyLevelId": { + "markdownDescription": "The identifier of the hierarchy level.", + "title": "HierarchyLevelId", + "type": "string" }, - "NoReboot": { - "markdownDescription": "*[Custom AMI policies only]* Indicates whether targeted instances are rebooted when the lifecycle policy runs. `true` indicates that targeted instances are not rebooted when the policy runs. `false` indicates that target instances are rebooted when the policy runs. The default is `true` (instances are not rebooted).", - "title": "NoReboot", - "type": "boolean" + "Name": { + "markdownDescription": "The name of the hierarchy level.", + "title": "Name", + "type": "string" } }, + "required": [ + "Name" + ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.PolicyDetails": { + "AWS::Connect::UserHierarchyStructure.LevelThree": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" - }, - "markdownDescription": "*[Event-based policies only]* The actions to be performed when the event-based policy is activated. You can specify only one action per policy.", - "title": "Actions", - "type": "array" - }, - "CopyTags": { - "markdownDescription": "*[Default policies only]* Indicates whether the policy should copy tags from the source resource to the snapshot or AMI. If you do not specify a value, the default is `false` .\n\nDefault: false", - "title": "CopyTags", - "type": "boolean" - }, - "CreateInterval": { - "markdownDescription": "*[Default policies only]* Specifies how often the policy should run and create snapshots or AMIs. The creation frequency can range from 1 to 7 days. If you do not specify a value, the default is 1.\n\nDefault: 1", - "title": "CreateInterval", - "type": "number" - }, - "CrossRegionCopyTargets": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets", - "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" - }, - "EventSource": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource", - "markdownDescription": "*[Event-based policies only]* The event that activates the event-based policy.", - "title": "EventSource" - }, - "Exclusions": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions", - "markdownDescription": "*[Default policies only]* Specifies exclusion parameters for volumes or instances for which you do not want to create snapshots or AMIs. The policy will not create snapshots or AMIs for target resources that match any of the specified exclusion parameters.", - "title": "Exclusions" - }, - "ExtendDeletion": { - "markdownDescription": "*[Default policies only]* Defines the snapshot or AMI retention behavior for the policy if the source volume or instance is deleted, or if the policy enters the error, disabled, or deleted state.\n\nBy default ( *ExtendDeletion=false* ):\n\n- If a source resource is deleted, Amazon Data Lifecycle Manager will continue to delete previously created snapshots or AMIs, up to but not including the last one, based on the specified retention period. If you want Amazon Data Lifecycle Manager to delete all snapshots or AMIs, including the last one, specify `true` .\n- If a policy enters the error, disabled, or deleted state, Amazon Data Lifecycle Manager stops deleting snapshots and AMIs. If you want Amazon Data Lifecycle Manager to continue deleting snapshots or AMIs, including the last one, if the policy enters one of these states, specify `true` .\n\nIf you enable extended deletion ( *ExtendDeletion=true* ), you override both default behaviors simultaneously.\n\nIf you do not specify a value, the default is `false` .\n\nDefault: false", - "title": "ExtendDeletion", - "type": "boolean" - }, - "Parameters": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters", - "markdownDescription": "*[Custom snapshot and AMI policies only]* A set of optional parameters for snapshot and AMI lifecycle policies.\n\n> If you are modifying a policy that was created or previously modified using the Amazon Data Lifecycle Manager console, then you must include this parameter and specify either the default values or the new values that you require. You can't omit this parameter or set its values to null.", - "title": "Parameters" - }, - "PolicyLanguage": { - "markdownDescription": "The type of policy to create. Specify one of the following:\n\n- `SIMPLIFIED` To create a default policy.\n- `STANDARD` To create a custom policy.", - "title": "PolicyLanguage", + "HierarchyLevelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", + "title": "HierarchyLevelArn", "type": "string" }, - "PolicyType": { - "markdownDescription": "The type of policy. Specify `EBS_SNAPSHOT_MANAGEMENT` to create a lifecycle policy that manages the lifecycle of Amazon EBS snapshots. Specify `IMAGE_MANAGEMENT` to create a lifecycle policy that manages the lifecycle of EBS-backed AMIs. Specify `EVENT_BASED_POLICY` to create an event-based policy that performs specific actions when a defined event occurs in your AWS account .\n\nThe default is `EBS_SNAPSHOT_MANAGEMENT` .", - "title": "PolicyType", + "HierarchyLevelId": { + "markdownDescription": "", + "title": "HierarchyLevelId", "type": "string" }, - "ResourceLocations": { - "items": { - "type": "string" - }, - "markdownDescription": "*[Custom snapshot and AMI policies only]* The location of the resources to backup.\n\n- If the source resources are located in a Region, specify `CLOUD` . In this case, the policy targets all resources of the specified type with matching target tags across all Availability Zones in the Region.\n- *[Custom snapshot policies only]* If the source resources are located in a Local Zone, specify `LOCAL_ZONE` . In this case, the policy targets all resources of the specified type with matching target tags across all Local Zones in the Region.\n- If the source resources are located on an Outpost in your account, specify `OUTPOST` . In this case, the policy targets all resources of the specified type with matching target tags across all of the Outposts in your account.", - "title": "ResourceLocations", - "type": "array" - }, - "ResourceType": { - "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` .", - "title": "ResourceType", + "Name": { + "markdownDescription": "The name of the hierarchy level.", + "title": "Name", "type": "string" - }, - "ResourceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "*[Custom snapshot policies only]* The target resource type for snapshot and AMI lifecycle policies. Use `VOLUME` to create snapshots of individual volumes or use `INSTANCE` to create multi-volume snapshots from the volumes for an instance.", - "title": "ResourceTypes", - "type": "array" - }, - "RetainInterval": { - "markdownDescription": "*[Default policies only]* Specifies how long the policy should retain snapshots or AMIs before deleting them. The retention period can range from 2 to 14 days, but it must be greater than the creation frequency to ensure that the policy retains at least 1 snapshot or AMI at any given time. If you do not specify a value, the default is 7.\n\nDefault: 7", - "title": "RetainInterval", - "type": "number" - }, - "Schedules": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" - }, - "markdownDescription": "*[Custom snapshot and AMI policies only]* The schedules of policy-defined actions for snapshot and AMI lifecycle policies. A policy can have up to four schedules\u2014one mandatory schedule and up to three optional schedules.", - "title": "Schedules", - "type": "array" - }, - "TargetTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "*[Custom snapshot and AMI policies only]* The single tag that identifies targeted resources for this policy.", - "title": "TargetTags", - "type": "array" } }, + "required": [ + "Name" + ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.RetainRule": { + "AWS::Connect::UserHierarchyStructure.LevelTwo": { "additionalProperties": false, "properties": { - "Count": { - "markdownDescription": "The number of snapshots to retain for each volume, up to a maximum of 1000. For example if you want to retain a maximum of three snapshots, specify `3` . When the fourth snapshot is created, the oldest retained snapshot is deleted, or it is moved to the archive tier if you have specified an [ArchiveRule](https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html) .", - "title": "Count", - "type": "number" - }, - "Interval": { - "markdownDescription": "The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.", - "title": "Interval", - "type": "number" - }, - "IntervalUnit": { - "markdownDescription": "The unit of time for time-based retention. For example, to retain snapshots for 3 months, specify `Interval=3` and `IntervalUnit=MONTHS` . Once the snapshot has been retained for 3 months, it is deleted, or it is moved to the archive tier if you have specified an [ArchiveRule](https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html) .", - "title": "IntervalUnit", + "HierarchyLevelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the hierarchy level.", + "title": "HierarchyLevelArn", "type": "string" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.RetentionArchiveTier": { - "additionalProperties": false, - "properties": { - "Count": { - "markdownDescription": "The maximum number of snapshots to retain in the archive storage tier for each volume. The count must ensure that each snapshot remains in the archive tier for at least 90 days. For example, if the schedule creates snapshots every 30 days, you must specify a count of 3 or more to ensure that each snapshot is archived for at least 90 days.", - "title": "Count", - "type": "number" }, - "Interval": { - "markdownDescription": "Specifies the period of time to retain snapshots in the archive tier. After this period expires, the snapshot is permanently deleted.", - "title": "Interval", - "type": "number" + "HierarchyLevelId": { + "markdownDescription": "The identifier of the hierarchy level.", + "title": "HierarchyLevelId", + "type": "string" }, - "IntervalUnit": { - "markdownDescription": "The unit of time in which to measure the *Interval* . For example, to retain a snapshots in the archive tier for 6 months, specify `Interval=6` and `IntervalUnit=MONTHS` .", - "title": "IntervalUnit", + "Name": { + "markdownDescription": "The name of the hierarchy level.", + "title": "Name", "type": "string" } }, + "required": [ + "Name" + ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.Schedule": { + "AWS::Connect::UserHierarchyStructure.UserHierarchyStructure": { "additionalProperties": false, "properties": { - "ArchiveRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ArchiveRule", - "markdownDescription": "*[Custom snapshot policies that target volumes only]* The snapshot archiving rule for the schedule. When you specify an archiving rule, snapshots are automatically moved from the standard tier to the archive tier once the schedule's retention threshold is met. Snapshots are then retained in the archive tier for the archive retention period that you specify.\n\nFor more information about using snapshot archiving, see [Considerations for snapshot lifecycle policies](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-ami-policy.html#dlm-archive) .", - "title": "ArchiveRule" - }, - "CopyTags": { - "markdownDescription": "Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.", - "title": "CopyTags", - "type": "boolean" - }, - "CreateRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CreateRule", - "markdownDescription": "The creation rule.", - "title": "CreateRule" - }, - "CrossRegionCopyRules": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRule" - }, - "markdownDescription": "Specifies a rule for copying snapshots or AMIs across Regions.\n\n> You can't specify cross-Region copy rules for policies that create snapshots on an Outpost or in a Local Zone. If the policy creates snapshots in a Region, then snapshots can be copied to up to three Regions or Outposts.", - "title": "CrossRegionCopyRules", - "type": "array" - }, - "DeprecateRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.DeprecateRule", - "markdownDescription": "*[Custom AMI policies only]* The AMI deprecation rule for the schedule.", - "title": "DeprecateRule" - }, - "FastRestoreRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.FastRestoreRule", - "markdownDescription": "*[Custom snapshot policies only]* The rule for enabling fast snapshot restore.", - "title": "FastRestoreRule" - }, - "Name": { - "markdownDescription": "The name of the schedule.", - "title": "Name", - "type": "string" + "LevelFive": { + "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelFive", + "markdownDescription": "", + "title": "LevelFive" }, - "RetainRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.RetainRule", - "markdownDescription": "The retention rule for snapshots or AMIs created by the policy.", - "title": "RetainRule" + "LevelFour": { + "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelFour", + "markdownDescription": "The update for level four.", + "title": "LevelFour" }, - "ShareRules": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ShareRule" - }, - "markdownDescription": "*[Custom snapshot policies only]* The rule for sharing snapshots with other AWS accounts .", - "title": "ShareRules", - "type": "array" + "LevelOne": { + "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelOne", + "markdownDescription": "The update for level one.", + "title": "LevelOne" }, - "TagsToAdd": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to policy-created resources. These user-defined tags are in addition to the AWS -added lifecycle tags.", - "title": "TagsToAdd", - "type": "array" + "LevelThree": { + "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelThree", + "markdownDescription": "The update for level three.", + "title": "LevelThree" }, - "VariableTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "*[AMI policies and snapshot policies that target instances only]* A collection of key/value pairs with values determined dynamically when the policy is executed. Keys may be any valid Amazon EC2 tag key. Values must be in one of the two following formats: `$(instance-id)` or `$(timestamp)` . Variable tags are only valid for EBS Snapshot Management \u2013 Instance policies.", - "title": "VariableTags", - "type": "array" + "LevelTwo": { + "$ref": "#/definitions/AWS::Connect::UserHierarchyStructure.LevelTwo", + "markdownDescription": "The update for level two.", + "title": "LevelTwo" } }, "type": "object" }, - "AWS::DLM::LifecyclePolicy.Script": { + "AWS::Connect::View": { "additionalProperties": false, "properties": { - "ExecuteOperationOnScriptFailure": { - "markdownDescription": "Indicates whether Amazon Data Lifecycle Manager should default to crash-consistent snapshots if the pre script fails.\n\n- To default to crash consistent snapshot if the pre script fails, specify `true` .\n- To skip the instance for snapshot creation if the pre script fails, specify `false` .\n\nThis parameter is supported only if you run a pre script. If you run a post script only, omit this parameter.\n\nDefault: true", - "title": "ExecuteOperationOnScriptFailure", - "type": "boolean" - }, - "ExecutionHandler": { - "markdownDescription": "The SSM document that includes the pre and/or post scripts to run.\n\n- If you are automating VSS backups, specify `AWS_VSS_BACKUP` . In this case, Amazon Data Lifecycle Manager automatically uses the `AWSEC2-CreateVssSnapshot` SSM document.\n- If you are automating application-consistent snapshots for SAP HANA workloads, specify `AWSSystemsManagerSAP-CreateDLMSnapshotForSAPHANA` .\n- If you are using a custom SSM document that you own, specify either the name or ARN of the SSM document. If you are using a custom SSM document that is shared with you, specify the ARN of the SSM document.", - "title": "ExecutionHandler", + "Condition": { "type": "string" }, - "ExecutionHandlerService": { - "markdownDescription": "Indicates the service used to execute the pre and/or post scripts.\n\n- If you are using custom SSM documents or automating application-consistent snapshots of SAP HANA workloads, specify `AWS_SYSTEMS_MANAGER` .\n- If you are automating VSS Backups, omit this parameter.\n\nDefault: AWS_SYSTEMS_MANAGER", - "title": "ExecutionHandlerService", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ExecutionTimeout": { - "markdownDescription": "Specifies a timeout period, in seconds, after which Amazon Data Lifecycle Manager fails the script run attempt if it has not completed. If a script does not complete within its timeout period, Amazon Data Lifecycle Manager fails the attempt. The timeout period applies to the pre and post scripts individually.\n\nIf you are automating VSS Backups, omit this parameter.\n\nDefault: 10", - "title": "ExecutionTimeout", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MaximumRetryCount": { - "markdownDescription": "Specifies the number of times Amazon Data Lifecycle Manager should retry scripts that fail.\n\n- If the pre script fails, Amazon Data Lifecycle Manager retries the entire snapshot creation process, including running the pre and post scripts.\n- If the post script fails, Amazon Data Lifecycle Manager retries the post script only; in this case, the pre script will have completed and the snapshot might have been created.\n\nIf you do not want Amazon Data Lifecycle Manager to retry failed scripts, specify `0` .\n\nDefault: 0", - "title": "MaximumRetryCount", - "type": "number" + "Metadata": { + "type": "object" }, - "Stages": { - "items": { - "type": "string" - }, - "markdownDescription": "Indicate which scripts Amazon Data Lifecycle Manager should run on target instances. Pre scripts run before Amazon Data Lifecycle Manager initiates snapshot creation. Post scripts run after Amazon Data Lifecycle Manager initiates snapshot creation.\n\n- To run a pre script only, specify `PRE` . In this case, Amazon Data Lifecycle Manager calls the SSM document with the `pre-script` parameter before initiating snapshot creation.\n- To run a post script only, specify `POST` . In this case, Amazon Data Lifecycle Manager calls the SSM document with the `post-script` parameter after initiating snapshot creation.\n- To run both pre and post scripts, specify both `PRE` and `POST` . In this case, Amazon Data Lifecycle Manager calls the SSM document with the `pre-script` parameter before initiating snapshot creation, and then it calls the SSM document again with the `post-script` parameter after initiating snapshot creation.\n\nIf you are automating VSS Backups, omit this parameter.\n\nDefault: PRE and POST", - "title": "Stages", - "type": "array" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.ShareRule": { - "additionalProperties": false, - "properties": { - "TargetAccounts": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of actions possible from the view.", + "title": "Actions", + "type": "array" + }, + "Description": { + "markdownDescription": "The description of the view.", + "title": "Description", + "type": "string" + }, + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the view.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags associated with the view resource (not specific to view version).", + "title": "Tags", + "type": "array" + }, + "Template": { + "markdownDescription": "The view template representing the structure of the view.", + "title": "Template", + "type": "object" + } }, - "markdownDescription": "The IDs of the AWS accounts with which to share the snapshots.", - "title": "TargetAccounts", - "type": "array" + "required": [ + "Actions", + "InstanceArn", + "Name", + "Template" + ], + "type": "object" }, - "UnshareInterval": { - "markdownDescription": "The period after which snapshots that are shared with other AWS accounts are automatically unshared.", - "title": "UnshareInterval", - "type": "number" + "Type": { + "enum": [ + "AWS::Connect::View" + ], + "type": "string" }, - "UnshareIntervalUnit": { - "markdownDescription": "The unit of time for the automatic unsharing interval.", - "title": "UnshareIntervalUnit", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.VolumeTypeValues": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::DMS::Certificate": { + "AWS::Connect::ViewVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -98951,27 +98393,30 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateIdentifier": { - "markdownDescription": "A customer-assigned name for the certificate. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.", - "title": "CertificateIdentifier", + "VersionDescription": { + "markdownDescription": "The description of the view version.", + "title": "VersionDescription", "type": "string" }, - "CertificatePem": { - "markdownDescription": "The contents of a `.pem` file, which contains an X.509 certificate.", - "title": "CertificatePem", + "ViewArn": { + "markdownDescription": "The unqualified Amazon Resource Name (ARN) of the view.\n\nFor example:\n\n`arn::connect:::instance/00000000-0000-0000-0000-000000000000/view/00000000-0000-0000-0000-000000000000`", + "title": "ViewArn", "type": "string" }, - "CertificateWallet": { - "markdownDescription": "The location of an imported Oracle Wallet certificate for use with SSL. An example is: `filebase64(\"${path.root}/rds-ca-2019-root.sso\")`", - "title": "CertificateWallet", + "ViewContentSha256": { + "markdownDescription": "Indicates the checksum value of the latest published view content.", + "title": "ViewContentSha256", "type": "string" } }, + "required": [ + "ViewArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::Certificate" + "AWS::Connect::ViewVersion" ], "type": "string" }, @@ -98985,11 +98430,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DMS::DataMigration": { + "AWS::Connect::Vocabulary": { "additionalProperties": false, "properties": { "Condition": { @@ -99024,63 +98470,36 @@ "Properties": { "additionalProperties": false, "properties": { - "DataMigrationIdentifier": { - "markdownDescription": "", - "title": "DataMigrationIdentifier", - "type": "string" - }, - "DataMigrationName": { - "markdownDescription": "The user-friendly name for the data migration.", - "title": "DataMigrationName", - "type": "string" - }, - "DataMigrationSettings": { - "$ref": "#/definitions/AWS::DMS::DataMigration.DataMigrationSettings", - "markdownDescription": "Specifies CloudWatch settings and selection rules for the data migration.", - "title": "DataMigrationSettings" - }, - "DataMigrationType": { - "markdownDescription": "Specifies whether the data migration is full-load only, change data capture (CDC) only, or full-load and CDC.", - "title": "DataMigrationType", + "Content": { "type": "string" }, - "MigrationProjectIdentifier": { - "markdownDescription": "", - "title": "MigrationProjectIdentifier", + "InstanceId": { "type": "string" }, - "ServiceAccessRoleArn": { - "markdownDescription": "The IAM role that the data migration uses to access AWS resources.", - "title": "ServiceAccessRoleArn", + "LanguageCode": { "type": "string" }, - "SourceDataSettings": { - "items": { - "$ref": "#/definitions/AWS::DMS::DataMigration.SourceDataSettings" - }, - "markdownDescription": "Specifies information about the data migration's source data provider.", - "title": "SourceDataSettings", - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", - "title": "Tags", "type": "array" + }, + "VocabularyName": { + "type": "string" } }, "required": [ - "DataMigrationType", - "MigrationProjectIdentifier", - "ServiceAccessRoleArn" + "Content", + "InstanceId", + "LanguageCode", + "VocabularyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::DataMigration" + "AWS::Connect::Vocabulary" ], "type": "string" }, @@ -99099,54 +98518,7 @@ ], "type": "object" }, - "AWS::DMS::DataMigration.DataMigrationSettings": { - "additionalProperties": false, - "properties": { - "CloudwatchLogsEnabled": { - "markdownDescription": "Whether to enable CloudWatch logging for the data migration.", - "title": "CloudwatchLogsEnabled", - "type": "boolean" - }, - "NumberOfJobs": { - "markdownDescription": "The number of parallel jobs that trigger parallel threads to unload the tables from the source, and then load them to the target.", - "title": "NumberOfJobs", - "type": "number" - }, - "SelectionRules": { - "markdownDescription": "A JSON-formatted string that defines what objects to include and exclude from the migration.", - "title": "SelectionRules", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::DataMigration.SourceDataSettings": { - "additionalProperties": false, - "properties": { - "CDCStartPosition": { - "markdownDescription": "", - "title": "CDCStartPosition", - "type": "string" - }, - "CDCStartTime": { - "markdownDescription": "", - "title": "CDCStartTime", - "type": "string" - }, - "CDCStopTime": { - "markdownDescription": "", - "title": "CDCStopTime", - "type": "string" - }, - "SlotName": { - "markdownDescription": "", - "title": "SlotName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::DataProvider": { + "AWS::Connect::Workspace": { "additionalProperties": false, "properties": { "Condition": { @@ -99181,53 +98553,78 @@ "Properties": { "additionalProperties": false, "properties": { - "DataProviderIdentifier": { - "markdownDescription": "The identifier of the data provider. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", - "title": "DataProviderIdentifier", - "type": "string" - }, - "DataProviderName": { - "markdownDescription": "The name of the data provider.", - "title": "DataProviderName", - "type": "string" + "Associations": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Associations", + "type": "array" }, "Description": { - "markdownDescription": "A description of the data provider. Descriptions can have up to 31 characters. A description can contain only ASCII letters, digits, and hyphens ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter.", + "markdownDescription": "The description of the workspace.", "title": "Description", "type": "string" }, - "Engine": { - "markdownDescription": "The type of database engine for the data provider. Valid values include `\"aurora\"` , `\"aurora-postgresql\"` , `\"mysql\"` , `\"oracle\"` , `\"postgres\"` , `\"sqlserver\"` , `redshift` , `mariadb` , `mongodb` , `db2` , `db2-zos` , `docdb` , and `sybase` . A value of `\"aurora\"` represents Amazon Aurora MySQL-Compatible Edition.", - "title": "Engine", + "InstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance.", + "title": "InstanceArn", "type": "string" }, - "ExactSettings": { + "Media": { + "items": { + "$ref": "#/definitions/AWS::Connect::Workspace.MediaItem" + }, "markdownDescription": "", - "title": "ExactSettings", - "type": "boolean" + "title": "Media", + "type": "array" }, - "Settings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.Settings", - "markdownDescription": "The settings in JSON format for a data provider.", - "title": "Settings" + "Name": { + "markdownDescription": "The name of the workspace.", + "title": "Name", + "type": "string" + }, + "Pages": { + "items": { + "$ref": "#/definitions/AWS::Connect::Workspace.WorkspacePage" + }, + "markdownDescription": "", + "title": "Pages", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "The tags used to organize, track, or control access for the workspace.", "title": "Tags", "type": "array" + }, + "Theme": { + "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceTheme", + "markdownDescription": "The theme configuration for the workspace, including colors and styling.", + "title": "Theme" + }, + "Title": { + "markdownDescription": "The title displayed for the workspace.", + "title": "Title", + "type": "string" + }, + "Visibility": { + "markdownDescription": "Controls who can access the workspace. Valid values are: `ALL` (all users), `ASSIGNED` (only assigned users and routing profiles), and `NONE` (not visible).", + "title": "Visibility", + "type": "string" } }, "required": [ - "Engine" + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::DataProvider" + "AWS::Connect::Workspace" ], "type": "string" }, @@ -99246,493 +98643,456 @@ ], "type": "object" }, - "AWS::DMS::DataProvider.DocDbSettings": { + "AWS::Connect::Workspace.FontFamily": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The database name on the DocumentDB source endpoint.", - "title": "DatabaseName", - "type": "string" - }, - "Port": { - "markdownDescription": "The port value for the DocumentDB source endpoint.", - "title": "Port", - "type": "number" - }, - "ServerName": { - "markdownDescription": "The name of the server on the DocumentDB source endpoint.", - "title": "ServerName", - "type": "string" - }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", + "Default": { + "markdownDescription": "The default font family to use in the workspace theme.", + "title": "Default", "type": "string" } }, - "required": [ - "DatabaseName", - "Port", - "ServerName" - ], "type": "object" }, - "AWS::DMS::DataProvider.IbmDb2LuwSettings": { + "AWS::Connect::Workspace.MediaItem": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "", - "title": "DatabaseName", - "type": "string" - }, - "Port": { - "markdownDescription": "", - "title": "Port", - "type": "number" - }, - "ServerName": { - "markdownDescription": "", - "title": "ServerName", + "Source": { + "markdownDescription": "The source URL or data for the media asset.", + "title": "Source", "type": "string" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", + "Type": { + "markdownDescription": "The type of media. Valid values are: `IMAGE_LOGO_FAVICON` and `IMAGE_LOGO_HORIZONTAL` .", + "title": "Type", "type": "string" } }, "required": [ - "DatabaseName", - "Port", - "ServerName", - "SslMode" + "Type" ], "type": "object" }, - "AWS::DMS::DataProvider.IbmDb2zOsSettings": { + "AWS::Connect::Workspace.PaletteCanvas": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "", - "title": "DatabaseName", + "ActiveBackground": { + "markdownDescription": "The background color for active elements.", + "title": "ActiveBackground", "type": "string" }, - "Port": { - "markdownDescription": "", - "title": "Port", - "type": "number" - }, - "ServerName": { - "markdownDescription": "", - "title": "ServerName", + "ContainerBackground": { + "markdownDescription": "The background color for container elements.", + "title": "ContainerBackground", "type": "string" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", + "PageBackground": { + "markdownDescription": "The background color for page elements.", + "title": "PageBackground", "type": "string" } }, - "required": [ - "DatabaseName", - "Port", - "ServerName", - "SslMode" - ], "type": "object" }, - "AWS::DMS::DataProvider.MariaDbSettings": { + "AWS::Connect::Workspace.PaletteHeader": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", + "Background": { + "markdownDescription": "The background color of the header.", + "title": "Background", "type": "string" }, - "Port": { - "markdownDescription": "", - "title": "Port", - "type": "number" + "InvertActionsColors": { + "markdownDescription": "Whether to invert the colors of action buttons in the header.", + "title": "InvertActionsColors", + "type": "boolean" }, - "ServerName": { - "markdownDescription": "", - "title": "ServerName", + "Text": { + "markdownDescription": "The text color in the header.", + "title": "Text", "type": "string" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", + "TextHover": { + "markdownDescription": "The text color when hovering over header elements.", + "title": "TextHover", "type": "string" } }, - "required": [ - "Port", - "ServerName", - "SslMode" - ], "type": "object" }, - "AWS::DMS::DataProvider.MicrosoftSqlServerSettings": { + "AWS::Connect::Workspace.PaletteNavigation": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", + "Background": { + "markdownDescription": "The background color of the navigation area.", + "title": "Background", "type": "string" }, - "DatabaseName": { - "markdownDescription": "Database name for the endpoint.", - "title": "DatabaseName", + "InvertActionsColors": { + "markdownDescription": "Whether to invert the colors of action buttons in the navigation area.", + "title": "InvertActionsColors", + "type": "boolean" + }, + "Text": { + "markdownDescription": "The text color in the navigation area.", + "title": "Text", "type": "string" }, - "Port": { - "markdownDescription": "Endpoint TCP port.", - "title": "Port", - "type": "number" + "TextActive": { + "markdownDescription": "The text color for active navigation items.", + "title": "TextActive", + "type": "string" }, - "ServerName": { - "markdownDescription": "Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.", - "title": "ServerName", + "TextBackgroundActive": { + "markdownDescription": "The background color for active navigation items.", + "title": "TextBackgroundActive", "type": "string" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", + "TextBackgroundHover": { + "markdownDescription": "The background color when hovering over navigation text.", + "title": "TextBackgroundHover", + "type": "string" + }, + "TextHover": { + "markdownDescription": "The text color when hovering over navigation items.", + "title": "TextHover", "type": "string" } }, - "required": [ - "DatabaseName", - "Port", - "ServerName", - "SslMode" - ], "type": "object" }, - "AWS::DMS::DataProvider.MongoDbSettings": { + "AWS::Connect::Workspace.PalettePrimary": { "additionalProperties": false, "properties": { - "AuthMechanism": { - "markdownDescription": "The authentication mechanism you use to access the MongoDB source endpoint.\n\nFor the default value, in MongoDB version 2.x, `\"default\"` is `\"mongodb_cr\"` . For MongoDB version 3.x or later, `\"default\"` is `\"scram_sha_1\"` . This setting isn't used when `AuthType` is set to `\"no\"` .", - "title": "AuthMechanism", + "Active": { + "markdownDescription": "The primary color used for active states.", + "title": "Active", "type": "string" }, - "AuthSource": { - "markdownDescription": "The MongoDB database name. This setting isn't used when `AuthType` is set to `\"no\"` .\n\nThe default is `\"admin\"` .", - "title": "AuthSource", + "ContrastText": { + "markdownDescription": "The text color that contrasts with the primary color for readability.", + "title": "ContrastText", "type": "string" }, - "AuthType": { - "markdownDescription": "The authentication type you use to access the MongoDB source endpoint.\n\nWhen when set to `\"no\"` , user name and password parameters are not used and can be empty.", - "title": "AuthType", + "Default": { + "markdownDescription": "The default primary color used throughout the workspace.", + "title": "Default", "type": "string" - }, - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", + } + }, + "type": "object" + }, + "AWS::Connect::Workspace.WorkspacePage": { + "additionalProperties": false, + "properties": { + "InputData": { + "markdownDescription": "A JSON string containing input parameters passed to the view when the page is rendered.", + "title": "InputData", "type": "string" }, - "DatabaseName": { - "markdownDescription": "The database name on the MongoDB source endpoint.", - "title": "DatabaseName", + "Page": { + "markdownDescription": "The page identifier. System pages include `HOME` and `AGENT_EXPERIENCE` .", + "title": "Page", "type": "string" }, - "Port": { - "markdownDescription": "The port value for the MongoDB source endpoint.", - "title": "Port", - "type": "number" - }, - "ServerName": { - "markdownDescription": "The name of the server on the MongoDB source endpoint. For MongoDB Atlas, provide the server name for any of the servers in the replication set.", - "title": "ServerName", + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the view associated with this page.", + "title": "ResourceArn", "type": "string" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", + "Slug": { + "markdownDescription": "The URL-friendly identifier for the page.", + "title": "Slug", "type": "string" } }, "required": [ - "Port", - "ServerName" + "Page", + "ResourceArn" ], "type": "object" }, - "AWS::DMS::DataProvider.MySqlSettings": { + "AWS::Connect::Workspace.WorkspaceTheme": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", - "type": "string" - }, - "Port": { - "markdownDescription": "Endpoint TCP port.", - "title": "Port", - "type": "number" - }, - "ServerName": { - "markdownDescription": "The host name of the endpoint database.\n\nFor an Amazon RDS MySQL instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.\n\nFor an Aurora MySQL instance, this is the output of [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) , in the `Endpoint` field.", - "title": "ServerName", - "type": "string" + "Dark": { + "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemeConfig", + "markdownDescription": "The theme configuration for dark mode.", + "title": "Dark" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", - "type": "string" + "Light": { + "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemeConfig", + "markdownDescription": "The theme configuration for light mode.", + "title": "Light" } }, - "required": [ - "Port", - "ServerName", - "SslMode" - ], "type": "object" }, - "AWS::DMS::DataProvider.OracleSettings": { + "AWS::Connect::Workspace.WorkspaceThemeConfig": { "additionalProperties": false, "properties": { - "AsmServer": { - "markdownDescription": "For an Oracle source endpoint, your ASM server address. You can set this value from the `asm_server` value. You set `asm_server` as part of the extra connection attribute string to access an Oracle server with Binary Reader that uses ASM. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", - "title": "AsmServer", - "type": "string" + "Palette": { + "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemePalette", + "markdownDescription": "The color palette configuration for the workspace theme.", + "title": "Palette" }, - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", - "type": "string" + "Typography": { + "$ref": "#/definitions/AWS::Connect::Workspace.WorkspaceThemeTypography", + "markdownDescription": "The typography configuration for the workspace theme.", + "title": "Typography" + } + }, + "type": "object" + }, + "AWS::Connect::Workspace.WorkspaceThemePalette": { + "additionalProperties": false, + "properties": { + "Canvas": { + "$ref": "#/definitions/AWS::Connect::Workspace.PaletteCanvas", + "markdownDescription": "The color configuration for the canvas area.", + "title": "Canvas" }, - "DatabaseName": { - "markdownDescription": "Database name for the endpoint.", - "title": "DatabaseName", - "type": "string" + "Header": { + "$ref": "#/definitions/AWS::Connect::Workspace.PaletteHeader", + "markdownDescription": "The color configuration for the header area.", + "title": "Header" }, - "Port": { - "markdownDescription": "Endpoint TCP port.", - "title": "Port", - "type": "number" + "Navigation": { + "$ref": "#/definitions/AWS::Connect::Workspace.PaletteNavigation", + "markdownDescription": "The color configuration for the navigation area.", + "title": "Navigation" }, - "SecretsManagerOracleAsmAccessRoleArn": { - "markdownDescription": "Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the `SecretsManagerOracleAsmSecret` . This `SecretsManagerOracleAsmSecret` has the secret value that allows access to the Oracle ASM of the endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerOracleAsmSecretId` . Or you can specify clear-text values for `AsmUser` , `AsmPassword` , and `AsmServerName` . You can't specify both. For more information on creating this `SecretsManagerOracleAsmSecret` and the `SecretsManagerOracleAsmAccessRoleArn` and `SecretsManagerOracleAsmSecretId` required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerOracleAsmAccessRoleArn", + "Primary": { + "$ref": "#/definitions/AWS::Connect::Workspace.PalettePrimary", + "markdownDescription": "The primary color configuration used throughout the workspace.", + "title": "Primary" + } + }, + "type": "object" + }, + "AWS::Connect::Workspace.WorkspaceThemeTypography": { + "additionalProperties": false, + "properties": { + "FontFamily": { + "$ref": "#/definitions/AWS::Connect::Workspace.FontFamily", + "markdownDescription": "The font family configuration for text in the workspace.", + "title": "FontFamily" + } + }, + "type": "object" + }, + "AWS::ConnectCampaigns::Campaign": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "SecretsManagerOracleAsmSecretId": { - "markdownDescription": "Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN, partial ARN, or friendly name of the `SecretsManagerOracleAsmSecret` that contains the Oracle ASM connection details for the Oracle endpoint.", - "title": "SecretsManagerOracleAsmSecretId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SecretsManagerSecurityDbEncryptionAccessRoleArn": { - "markdownDescription": "", - "title": "SecretsManagerSecurityDbEncryptionAccessRoleArn", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SecretsManagerSecurityDbEncryptionSecretId": { - "markdownDescription": "", - "title": "SecretsManagerSecurityDbEncryptionSecretId", - "type": "string" + "Metadata": { + "type": "object" }, - "ServerName": { - "markdownDescription": "Fully qualified domain name of the endpoint.\n\nFor an Amazon RDS Oracle instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.", - "title": "ServerName", + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectInstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect instance.", + "title": "ConnectInstanceArn", + "type": "string" + }, + "DialerConfig": { + "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.DialerConfig", + "markdownDescription": "Contains information about the dialer configuration.", + "title": "DialerConfig" + }, + "Name": { + "markdownDescription": "The name of the campaign.", + "title": "Name", + "type": "string" + }, + "OutboundCallConfig": { + "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.OutboundCallConfig", + "markdownDescription": "Contains information about the outbound call configuration.", + "title": "OutboundCallConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "ConnectInstanceArn", + "DialerConfig", + "Name", + "OutboundCallConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ConnectCampaigns::Campaign" + ], "type": "string" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DatabaseName", - "Port", - "ServerName", - "SslMode" + "Type", + "Properties" ], "type": "object" }, - "AWS::DMS::DataProvider.PostgreSqlSettings": { + "AWS::ConnectCampaigns::Campaign.AgentlessDialerConfig": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "Database name for the endpoint.", - "title": "DatabaseName", - "type": "string" - }, - "Port": { - "markdownDescription": "Endpoint TCP port. The default is 5432.", - "title": "Port", + "DialingCapacity": { + "markdownDescription": "The allocation of dialing capacity between multiple active campaigns.", + "title": "DialingCapacity", "type": "number" - }, - "ServerName": { - "markdownDescription": "The host name of the endpoint database.\n\nFor an Amazon RDS PostgreSQL instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.\n\nFor an Aurora PostgreSQL instance, this is the output of [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) , in the `Endpoint` field.", - "title": "ServerName", - "type": "string" - }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", - "type": "string" } }, - "required": [ - "DatabaseName", - "Port", - "ServerName", - "SslMode" - ], "type": "object" }, - "AWS::DMS::DataProvider.RedshiftSettings": { + "AWS::ConnectCampaigns::Campaign.AnswerMachineDetectionConfig": { "additionalProperties": false, "properties": { - "DatabaseName": { - "markdownDescription": "The name of the Amazon Redshift data warehouse (service) that you are working with.", - "title": "DatabaseName", - "type": "string" - }, - "Port": { - "markdownDescription": "The port number for Amazon Redshift. The default value is 5439.", - "title": "Port", - "type": "number" + "AwaitAnswerMachinePrompt": { + "markdownDescription": "Whether waiting for answer machine prompt is enabled.", + "title": "AwaitAnswerMachinePrompt", + "type": "boolean" }, - "ServerName": { - "markdownDescription": "The name of the Amazon Redshift cluster you are using.", - "title": "ServerName", - "type": "string" + "EnableAnswerMachineDetection": { + "markdownDescription": "Whether answering machine detection is enabled.", + "title": "EnableAnswerMachineDetection", + "type": "boolean" } }, "required": [ - "DatabaseName", - "Port", - "ServerName" + "EnableAnswerMachineDetection" ], "type": "object" }, - "AWS::DMS::DataProvider.Settings": { + "AWS::ConnectCampaigns::Campaign.DialerConfig": { "additionalProperties": false, "properties": { - "DocDbSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.DocDbSettings", - "markdownDescription": "", - "title": "DocDbSettings" - }, - "IbmDb2LuwSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.IbmDb2LuwSettings", - "markdownDescription": "", - "title": "IbmDb2LuwSettings" - }, - "IbmDb2zOsSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.IbmDb2zOsSettings", - "markdownDescription": "", - "title": "IbmDb2zOsSettings" - }, - "MariaDbSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.MariaDbSettings", - "markdownDescription": "", - "title": "MariaDbSettings" - }, - "MicrosoftSqlServerSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.MicrosoftSqlServerSettings", - "markdownDescription": "", - "title": "MicrosoftSqlServerSettings" - }, - "MongoDbSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.MongoDbSettings", - "markdownDescription": "", - "title": "MongoDbSettings" - }, - "MySqlSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.MySqlSettings", - "markdownDescription": "", - "title": "MySqlSettings" - }, - "OracleSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.OracleSettings", - "markdownDescription": "", - "title": "OracleSettings" - }, - "PostgreSqlSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.PostgreSqlSettings", - "markdownDescription": "", - "title": "PostgreSqlSettings" + "AgentlessDialerConfig": { + "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.AgentlessDialerConfig", + "markdownDescription": "The configuration of the agentless dialer.", + "title": "AgentlessDialerConfig" }, - "RedshiftSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.RedshiftSettings", - "markdownDescription": "", - "title": "RedshiftSettings" + "PredictiveDialerConfig": { + "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.PredictiveDialerConfig", + "markdownDescription": "The configuration of the predictive dialer.", + "title": "PredictiveDialerConfig" }, - "SybaseAseSettings": { - "$ref": "#/definitions/AWS::DMS::DataProvider.SybaseAseSettings", - "markdownDescription": "", - "title": "SybaseAseSettings" + "ProgressiveDialerConfig": { + "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.ProgressiveDialerConfig", + "markdownDescription": "The configuration of the progressive dialer.", + "title": "ProgressiveDialerConfig" } }, "type": "object" }, - "AWS::DMS::DataProvider.SybaseAseSettings": { + "AWS::ConnectCampaigns::Campaign.OutboundCallConfig": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", - "type": "string" + "AnswerMachineDetectionConfig": { + "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.AnswerMachineDetectionConfig", + "markdownDescription": "Whether answering machine detection has been enabled.", + "title": "AnswerMachineDetectionConfig" }, - "DatabaseName": { - "markdownDescription": "", - "title": "DatabaseName", + "ConnectContactFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the flow.", + "title": "ConnectContactFlowArn", "type": "string" }, - "EncryptPassword": { - "markdownDescription": "", - "title": "EncryptPassword", - "type": "boolean" + "ConnectQueueArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the queue.", + "title": "ConnectQueueArn", + "type": "string" }, - "Port": { - "markdownDescription": "", - "title": "Port", + "ConnectSourcePhoneNumber": { + "markdownDescription": "The phone number associated with the outbound call. This is the caller ID that is displayed to customers when an agent calls them.", + "title": "ConnectSourcePhoneNumber", + "type": "string" + } + }, + "required": [ + "ConnectContactFlowArn" + ], + "type": "object" + }, + "AWS::ConnectCampaigns::Campaign.PredictiveDialerConfig": { + "additionalProperties": false, + "properties": { + "BandwidthAllocation": { + "markdownDescription": "Bandwidth allocation for the predictive dialer.", + "title": "BandwidthAllocation", "type": "number" }, - "ServerName": { - "markdownDescription": "", - "title": "ServerName", - "type": "string" + "DialingCapacity": { + "markdownDescription": "The allocation of dialing capacity between multiple active campaigns.", + "title": "DialingCapacity", + "type": "number" + } + }, + "required": [ + "BandwidthAllocation" + ], + "type": "object" + }, + "AWS::ConnectCampaigns::Campaign.ProgressiveDialerConfig": { + "additionalProperties": false, + "properties": { + "BandwidthAllocation": { + "markdownDescription": "Bandwidth allocation for the progressive dialer.", + "title": "BandwidthAllocation", + "type": "number" }, - "SslMode": { - "markdownDescription": "", - "title": "SslMode", - "type": "string" + "DialingCapacity": { + "markdownDescription": "The allocation of dialing capacity between multiple active campaigns.", + "title": "DialingCapacity", + "type": "number" } }, "required": [ - "Port", - "ServerName", - "SslMode" + "BandwidthAllocation" ], "type": "object" }, - "AWS::DMS::Endpoint": { + "AWS::ConnectCampaignsV2::Campaign": { "additionalProperties": false, "properties": { "Condition": { @@ -99767,174 +99127,72 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the certificate.", - "title": "CertificateArn", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The name of the endpoint database. For a MySQL source or target endpoint, don't specify `DatabaseName` . To migrate to a specific database, use this setting and `targetDbType` .", - "title": "DatabaseName", - "type": "string" - }, - "DocDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings", - "markdownDescription": "Settings in JSON format for the source and target DocumentDB endpoint. For more information about other available settings, see [Using extra connections attributes with Amazon DocumentDB as a source](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DocumentDB.html#CHAP_Source.DocumentDB.ECAs) and [Using Amazon DocumentDB as a target for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DocumentDB.html) in the *AWS Database Migration Service User Guide* .", - "title": "DocDbSettings" - }, - "DynamoDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings", - "markdownDescription": "Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see [Using object mapping to migrate data to DynamoDB](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping) in the *AWS Database Migration Service User Guide* .", - "title": "DynamoDbSettings" - }, - "ElasticsearchSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.ElasticsearchSettings", - "markdownDescription": "Settings in JSON format for the target OpenSearch endpoint. For more information about the available settings, see [Extra connection attributes when using OpenSearch as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration) in the *AWS Database Migration Service User Guide* .", - "title": "ElasticsearchSettings" - }, - "EndpointIdentifier": { - "markdownDescription": "The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", - "title": "EndpointIdentifier", - "type": "string" - }, - "EndpointType": { - "markdownDescription": "The type of endpoint. Valid values are `source` and `target` .", - "title": "EndpointType", - "type": "string" - }, - "EngineName": { - "markdownDescription": "The type of engine for the endpoint, depending on the `EndpointType` value.\n\n*Valid values* : `mysql` | `oracle` | `postgres` | `mariadb` | `aurora` | `aurora-postgresql` | `opensearch` | `redshift` | `redshift-serverless` | `s3` | `db2` | `azuredb` | `sybase` | `dynamodb` | `mongodb` | `kinesis` | `kafka` | `elasticsearch` | `docdb` | `sqlserver` | `neptune`", - "title": "EngineName", - "type": "string" - }, - "ExtraConnectionAttributes": { - "markdownDescription": "Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For information on the attributes available for connecting your source or target endpoint, see [Working with AWS DMS Endpoints](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html) in the *AWS Database Migration Service User Guide* .", - "title": "ExtraConnectionAttributes", - "type": "string" - }, - "GcpMySQLSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings", - "markdownDescription": "Settings in JSON format for the source GCP MySQL endpoint. These settings are much the same as the settings for any MySQL-compatible endpoint. For more information, see [Extra connection attributes when using MySQL as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "GcpMySQLSettings" - }, - "IbmDb2Settings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings", - "markdownDescription": "Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available settings, see [Extra connection attributes when using Db2 LUW as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "IbmDb2Settings" - }, - "KafkaSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings", - "markdownDescription": "Settings in JSON format for the target Apache Kafka endpoint. For more information about other available settings, see [Using object mapping to migrate data to a Kafka topic](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping) in the *AWS Database Migration Service User Guide* .", - "title": "KafkaSettings" - }, - "KinesisSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings", - "markdownDescription": "Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about other available settings, see [Using object mapping to migrate data to a Kinesis data stream](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping) in the *AWS Database Migration Service User Guide* .", - "title": "KinesisSettings" - }, - "KmsKeyId": { - "markdownDescription": "An AWS key identifier that is used to encrypt the connection parameters for the endpoint.\n\nIf you don't specify a value for the `KmsKeyId` parameter, AWS DMS uses your default encryption key.\n\nAWS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Region .", - "title": "KmsKeyId", - "type": "string" - }, - "MicrosoftSqlServerSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings", - "markdownDescription": "Settings in JSON format for the source and target Microsoft SQL Server endpoint. For information about other available settings, see [Extra connection attributes when using SQL Server as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib) and [Extra connection attributes when using SQL Server as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "MicrosoftSqlServerSettings" - }, - "MongoDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings", - "markdownDescription": "Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see [Using MongoDB as a target for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration) in the *AWS Database Migration Service User Guide* .", - "title": "MongoDbSettings" - }, - "MySqlSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings", - "markdownDescription": "Settings in JSON format for the source and target MySQL endpoint. For information about other available settings, see [Extra connection attributes when using MySQL as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib) and [Extra connection attributes when using a MySQL-compatible database as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "MySqlSettings" + "ChannelSubtypeConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.ChannelSubtypeConfig", + "markdownDescription": "Contains channel subtype configuration for an outbound campaign.", + "title": "ChannelSubtypeConfig" }, - "NeptuneSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings", - "markdownDescription": "Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see [Specifying endpoint settings for Amazon Neptune as a target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings) in the *AWS Database Migration Service User Guide* .", - "title": "NeptuneSettings" + "CommunicationLimitsOverride": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationLimitsConfig", + "markdownDescription": "Communication limits configuration for an outbound campaign.", + "title": "CommunicationLimitsOverride" }, - "OracleSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings", - "markdownDescription": "Settings in JSON format for the source and target Oracle endpoint. For information about other available settings, see [Extra connection attributes when using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib) and [Extra connection attributes when using Oracle as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "OracleSettings" + "CommunicationTimeConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationTimeConfig", + "markdownDescription": "Contains communication time configuration for an outbound campaign.", + "title": "CommunicationTimeConfig" }, - "Password": { - "markdownDescription": "The password to be used to log in to the endpoint database.", - "title": "Password", + "ConnectCampaignFlowArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect campaign flow associated with the outbound campaign.", + "title": "ConnectCampaignFlowArn", "type": "string" }, - "Port": { - "markdownDescription": "The port used by the endpoint database.", - "title": "Port", - "type": "number" - }, - "PostgreSqlSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings", - "markdownDescription": "Settings in JSON format for the source and target PostgreSQL endpoint.\n\nFor information about other available settings, 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) and [Extra connection attributes when using PostgreSQL as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "PostgreSqlSettings" - }, - "RedisSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.RedisSettings", - "markdownDescription": "Settings in JSON format for the target Redis endpoint. For information about other available settings, see [Specifying endpoint settings for Redis as a target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redis.html#CHAP_Target.Redis.EndpointSettings) in the *AWS Database Migration Service User Guide* .", - "title": "RedisSettings" - }, - "RedshiftSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings", - "markdownDescription": "Settings in JSON format for the Amazon Redshift endpoint.\n\nFor more information about other available settings, see [Extra connection attributes when using Amazon Redshift as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html#CHAP_Target.Redshift.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "RedshiftSettings" - }, - "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", + "ConnectInstanceId": { + "markdownDescription": "The identifier of the Amazon Connect instance. You can find the `instanceId` in the ARN of the instance.", + "title": "ConnectInstanceId", "type": "string" }, - "S3Settings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings", - "markdownDescription": "Settings in JSON format for the source and target Amazon S3 endpoint. For more information about other available settings, see [Extra connection attributes when using Amazon S3 as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.S3.html#CHAP_Source.S3.Configuring) and [Extra connection attributes when using Amazon S3 as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring) in the *AWS Database Migration Service User Guide* .", - "title": "S3Settings" + "EntryLimitsConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EntryLimitsConfig" }, - "ServerName": { - "markdownDescription": "The name of the server where the endpoint database resides.", - "title": "ServerName", + "Name": { + "markdownDescription": "The name of the outbound campaign.", + "title": "Name", "type": "string" }, - "SslMode": { - "markdownDescription": "The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is `none` .\n\n> When `engine_name` is set to S3, the only allowed value is `none` .", - "title": "SslMode", - "type": "string" + "Schedule": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.Schedule", + "markdownDescription": "Contains the schedule configuration.", + "title": "Schedule" }, - "SybaseSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings", - "markdownDescription": "Settings in JSON format for the source and target SAP ASE endpoint. For information about other available settings, see [Extra connection attributes when using SAP ASE as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib) and [Extra connection attributes when using SAP ASE as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "SybaseSettings" + "Source": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.Source", + "markdownDescription": "Contains source configuration.", + "title": "Source" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more tags to be assigned to the endpoint.", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, `{ \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }` .", "title": "Tags", "type": "array" }, - "Username": { - "markdownDescription": "The user name to be used to log in to the endpoint database.", - "title": "Username", + "Type": { + "markdownDescription": "The type of campaign.", + "title": "Type", "type": "string" } }, "required": [ - "EndpointType", - "EngineName" + "ConnectInstanceId", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::Endpoint" + "AWS::ConnectCampaignsV2::Campaign" ], "type": "string" }, @@ -99953,1277 +99211,971 @@ ], "type": "object" }, - "AWS::DMS::Endpoint.DocDbSettings": { + "AWS::ConnectCampaignsV2::Campaign.AnswerMachineDetectionConfig": { "additionalProperties": false, "properties": { - "DocsToInvestigate": { - "markdownDescription": "Indicates the number of documents to preview to determine the document organization. Use this setting when `NestingLevel` is set to `\"one\"` .\n\nMust be a positive value greater than `0` . Default value is `1000` .", - "title": "DocsToInvestigate", - "type": "number" - }, - "ExtractDocId": { - "markdownDescription": "Specifies the document ID. Use this setting when `NestingLevel` is set to `\"none\"` .\n\nDefault value is `\"false\"` .", - "title": "ExtractDocId", + "AwaitAnswerMachinePrompt": { + "markdownDescription": "Whether or not waiting for an answer machine prompt is enabled.", + "title": "AwaitAnswerMachinePrompt", "type": "boolean" }, - "NestingLevel": { - "markdownDescription": "Specifies either document or table mode.\n\nDefault value is `\"none\"` . Specify `\"none\"` to use document mode. Specify `\"one\"` to use table mode.", - "title": "NestingLevel", - "type": "string" - }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the DocumentDB endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", - "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the DocumentDB endpoint connection details.", - "title": "SecretsManagerSecretId", - "type": "string" + "EnableAnswerMachineDetection": { + "markdownDescription": "Enables answering machine detection.", + "title": "EnableAnswerMachineDetection", + "type": "boolean" } }, + "required": [ + "EnableAnswerMachineDetection" + ], "type": "object" }, - "AWS::DMS::Endpoint.DynamoDbSettings": { + "AWS::ConnectCampaignsV2::Campaign.ChannelSubtypeConfig": { "additionalProperties": false, "properties": { - "ServiceAccessRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the `iam:PassRole` action.", - "title": "ServiceAccessRoleArn", - "type": "string" + "Email": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EmailChannelSubtypeConfig", + "markdownDescription": "The configuration of the email channel subtype.", + "title": "Email" + }, + "Sms": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.SmsChannelSubtypeConfig", + "markdownDescription": "The configuration of the SMS channel subtype.", + "title": "Sms" + }, + "Telephony": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TelephonyChannelSubtypeConfig", + "markdownDescription": "The configuration of the telephony channel subtype.", + "title": "Telephony" + }, + "WhatsApp": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.WhatsAppChannelSubtypeConfig", + "markdownDescription": "The configuration of the WhatsApp channel subtype.", + "title": "WhatsApp" } }, "type": "object" }, - "AWS::DMS::Endpoint.ElasticsearchSettings": { + "AWS::ConnectCampaignsV2::Campaign.CommunicationLimit": { "additionalProperties": false, "properties": { - "EndpointUri": { - "markdownDescription": "The endpoint for the OpenSearch cluster. AWS DMS uses HTTPS if a transport protocol (either HTTP or HTTPS) isn't specified.", - "title": "EndpointUri", - "type": "string" - }, - "ErrorRetryDuration": { - "markdownDescription": "The maximum number of seconds for which DMS retries failed API requests to the OpenSearch cluster.", - "title": "ErrorRetryDuration", + "Frequency": { + "markdownDescription": "The frequency of communication limit evaluation.", + "title": "Frequency", "type": "number" }, - "FullLoadErrorPercentage": { - "markdownDescription": "The maximum percentage of records that can fail to be written before a full load operation stops.\n\nTo avoid early failure, this counter is only effective after 1,000 records are transferred. OpenSearch also has the concept of error monitoring during the last 10 minutes of an Observation Window. If transfer of all records fail in the last 10 minutes, the full load operation stops.", - "title": "FullLoadErrorPercentage", + "MaxCountPerRecipient": { + "markdownDescription": "The maximum outreaching count for each recipient.", + "title": "MaxCountPerRecipient", "type": "number" }, - "ServiceAccessRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the `iam:PassRole` action.", - "title": "ServiceAccessRoleArn", + "Unit": { + "markdownDescription": "The unit of communication limit evaluation.", + "title": "Unit", "type": "string" } }, + "required": [ + "Frequency", + "MaxCountPerRecipient", + "Unit" + ], "type": "object" }, - "AWS::DMS::Endpoint.GcpMySQLSettings": { + "AWS::ConnectCampaignsV2::Campaign.CommunicationLimits": { "additionalProperties": false, "properties": { - "AfterConnectScript": { - "markdownDescription": "Specifies a script to run immediately after AWS DMS connects to the endpoint. The migration task continues running regardless if the SQL statement succeeds or fails.\n\nFor this parameter, provide the code of the script itself, not the name of a file containing the script.", - "title": "AfterConnectScript", - "type": "string" - }, - "CleanSourceMetadataOnMismatch": { - "markdownDescription": "Adjusts the behavior of AWS DMS when migrating from an SQL Server source database that is hosted as part of an Always On availability group cluster. If you need AWS DMS to poll all the nodes in the Always On cluster for transaction backups, set this attribute to `false` .", - "title": "CleanSourceMetadataOnMismatch", - "type": "boolean" + "CommunicationLimitList": { + "items": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationLimit" + }, + "markdownDescription": "The list of CommunicationLimits.", + "title": "CommunicationLimitList", + "type": "array" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.CommunicationLimitsConfig": { + "additionalProperties": false, + "properties": { + "AllChannelsSubtypes": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.CommunicationLimits", + "markdownDescription": "The CommunicationLimits that apply to all channel subtypes defined in an outbound campaign.", + "title": "AllChannelsSubtypes" }, - "DatabaseName": { - "markdownDescription": "Database name for the endpoint. For a MySQL source or target endpoint, don't explicitly specify the database using the `DatabaseName` request parameter on either the `CreateEndpoint` or `ModifyEndpoint` API call. Specifying `DatabaseName` when you create or modify a MySQL endpoint replicates all the task tables to this single database. For MySQL endpoints, you specify the database only when you specify the schema in the table-mapping rules of the AWS DMS task.", - "title": "DatabaseName", + "InstanceLimitsHandling": { + "markdownDescription": "Opt-in or Opt-out from instance-level limits.", + "title": "InstanceLimitsHandling", "type": "string" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.CommunicationTimeConfig": { + "additionalProperties": false, + "properties": { + "Email": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", + "markdownDescription": "The communication time configuration for the email channel subtype.", + "title": "Email" }, - "EventsPollInterval": { - "markdownDescription": "Specifies how often to check the binary log for new changes/events when the database is idle. The default is five seconds.\n\nExample: `eventsPollInterval=5;`\n\nIn the example, AWS DMS checks for changes in the binary logs every five seconds.", - "title": "EventsPollInterval", - "type": "number" + "LocalTimeZoneConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.LocalTimeZoneConfig", + "markdownDescription": "The local timezone configuration.", + "title": "LocalTimeZoneConfig" }, - "MaxFileSize": { - "markdownDescription": "Specifies the maximum size (in KB) of any .csv file used to transfer data to a MySQL-compatible database.\n\nExample: `maxFileSize=512`", - "title": "MaxFileSize", - "type": "number" + "Sms": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", + "markdownDescription": "The communication time configuration for the SMS channel subtype.", + "title": "Sms" }, - "ParallelLoadThreads": { - "markdownDescription": "Improves performance when loading data into the MySQL-compatible target database. Specifies how many threads to use to load the data into the MySQL-compatible target database. Setting a large number of threads can have an adverse effect on database performance, because a separate connection is required for each thread. The default is one.\n\nExample: `parallelLoadThreads=1`", - "title": "ParallelLoadThreads", - "type": "number" + "Telephony": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", + "markdownDescription": "The communication time configuration for the telephony channel subtype.", + "title": "Telephony" }, - "Password": { - "markdownDescription": "Endpoint connection password.", - "title": "Password", + "WhatsApp": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeWindow", + "markdownDescription": "The communication time configuration for the WhatsApp channel subtype.", + "title": "WhatsApp" + } + }, + "required": [ + "LocalTimeZoneConfig" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.DailyHour": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The key for DailyHour.", + "title": "Key", "type": "string" }, - "Port": { - "markdownDescription": "The port used by the endpoint database.", - "title": "Port", + "Value": { + "items": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeRange" + }, + "markdownDescription": "The value for DailyHour.", + "title": "Value", + "type": "array" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.EmailChannelSubtypeConfig": { + "additionalProperties": false, + "properties": { + "Capacity": { + "markdownDescription": "The allocation of email capacity between multiple running outbound campaigns.", + "title": "Capacity", "type": "number" }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret.` The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the MySQL endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", - "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MySQL endpoint connection details.", - "title": "SecretsManagerSecretId", - "type": "string" + "DefaultOutboundConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EmailOutboundConfig", + "markdownDescription": "The default email outbound configuration of an outbound campaign.", + "title": "DefaultOutboundConfig" }, - "ServerName": { - "markdownDescription": "The MySQL host name.", - "title": "ServerName", + "OutboundMode": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EmailOutboundMode", + "markdownDescription": "The outbound mode for email of an outbound campaign.", + "title": "OutboundMode" + } + }, + "required": [ + "DefaultOutboundConfig", + "OutboundMode" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.EmailOutboundConfig": { + "additionalProperties": false, + "properties": { + "ConnectSourceEmailAddress": { + "markdownDescription": "The Amazon Connect source email address.", + "title": "ConnectSourceEmailAddress", "type": "string" }, - "ServerTimezone": { - "markdownDescription": "Specifies the time zone for the source MySQL database. Don't enclose time zones in single quotation marks.\n\nExample: `serverTimezone=US/Pacific;`", - "title": "ServerTimezone", + "SourceEmailAddressDisplayName": { + "markdownDescription": "The display name for the Amazon Connect source email address.", + "title": "SourceEmailAddressDisplayName", "type": "string" }, - "Username": { - "markdownDescription": "Endpoint connection user name.", - "title": "Username", + "WisdomTemplateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Q in Connect template.", + "title": "WisdomTemplateArn", "type": "string" } }, + "required": [ + "ConnectSourceEmailAddress", + "WisdomTemplateArn" + ], "type": "object" }, - "AWS::DMS::Endpoint.IbmDb2Settings": { + "AWS::ConnectCampaignsV2::Campaign.EmailOutboundMode": { "additionalProperties": false, "properties": { - "CurrentLsn": { - "markdownDescription": "For ongoing replication (CDC), use CurrentLSN to specify a log sequence number (LSN) where you want the replication to start.", - "title": "CurrentLsn", - "type": "string" - }, - "KeepCsvFiles": { - "markdownDescription": "If true, AWS DMS saves any .csv files to the Db2 LUW target that were used to replicate data. DMS uses these files for analysis and troubleshooting.\n\nThe default value is false.", - "title": "KeepCsvFiles", - "type": "boolean" - }, - "LoadTimeout": { - "markdownDescription": "The amount of time (in milliseconds) before AWS DMS times out operations performed by DMS on the Db2 target. The default value is 1200 (20 minutes).", - "title": "LoadTimeout", - "type": "number" - }, - "MaxFileSize": { - "markdownDescription": "Specifies the maximum size (in KB) of .csv files used to transfer data to Db2 LUW.", - "title": "MaxFileSize", - "type": "number" - }, - "MaxKBytesPerRead": { - "markdownDescription": "Maximum number of bytes per read, as a NUMBER value. The default is 64 KB.", - "title": "MaxKBytesPerRead", + "AgentlessConfig": { + "markdownDescription": "The agentless outbound mode configuration for email.", + "title": "AgentlessConfig", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.EntryLimitsConfig": { + "additionalProperties": false, + "properties": { + "MaxEntryCount": { "type": "number" }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value ofthe AWS Secrets Manager secret that allows access to the Db2 LUW endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", + "MinEntryInterval": { "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the IBMDB2 endpoint connection details.", - "title": "SecretsManagerSecretId", + } + }, + "required": [ + "MaxEntryCount", + "MinEntryInterval" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.EventTrigger": { + "additionalProperties": false, + "properties": { + "CustomerProfilesDomainArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Customer Profiles domain.", + "title": "CustomerProfilesDomainArn", "type": "string" - }, - "SetDataCaptureChanges": { - "markdownDescription": "Enables ongoing replication (CDC) as a BOOLEAN value. The default is true.", - "title": "SetDataCaptureChanges", - "type": "boolean" - }, - "WriteBufferSize": { - "markdownDescription": "The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk on the DMS replication instance. The default value is 1024 (1 MB).", - "title": "WriteBufferSize", - "type": "number" } }, "type": "object" }, - "AWS::DMS::Endpoint.KafkaSettings": { + "AWS::ConnectCampaignsV2::Campaign.LocalTimeZoneConfig": { "additionalProperties": false, "properties": { - "Broker": { - "markdownDescription": "A comma-separated list of one or more broker locations in your Kafka cluster that host your Kafka instance. Specify each broker location in the form `*broker-hostname-or-ip* : *port*` . For example, `\"ec2-12-345-678-901.compute-1.amazonaws.com:2345\"` . For more information and examples of specifying a list of broker locations, see [Using Apache Kafka as a target for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html) in the *AWS Database Migration Service User Guide* .", - "title": "Broker", + "DefaultTimeZone": { + "markdownDescription": "The timezone to use for all recipients.", + "title": "DefaultTimeZone", "type": "string" }, - "IncludeControlDetails": { - "markdownDescription": "Shows detailed control information for table definition, column definition, and table and column changes in the Kafka message output. The default is `false` .", - "title": "IncludeControlDetails", - "type": "boolean" - }, - "IncludeNullAndEmpty": { - "markdownDescription": "Include NULL and empty columns for records migrated to the endpoint. The default is `false` .", - "title": "IncludeNullAndEmpty", - "type": "boolean" - }, - "IncludePartitionValue": { - "markdownDescription": "Shows the partition value within the Kafka message output unless the partition type is `schema-table-type` . The default is `false` .", - "title": "IncludePartitionValue", - "type": "boolean" - }, - "IncludeTableAlterOperations": { - "markdownDescription": "Includes any data definition language (DDL) operations that change the table in the control data, such as `rename-table` , `drop-table` , `add-column` , `drop-column` , and `rename-column` . The default is `false` .", - "title": "IncludeTableAlterOperations", - "type": "boolean" - }, - "IncludeTransactionDetails": { - "markdownDescription": "Provides detailed transaction information from the source database. This information includes a commit timestamp, a log position, and values for `transaction_id` , previous `transaction_id` , and `transaction_record_id` (the record offset within a transaction). The default is `false` .", - "title": "IncludeTransactionDetails", - "type": "boolean" + "LocalTimeZoneDetection": { + "items": { + "type": "string" + }, + "markdownDescription": "Detects methods for the recipient's timezone.", + "title": "LocalTimeZoneDetection", + "type": "array" }, - "MessageFormat": { - "markdownDescription": "The output format for the records created on the endpoint. The message format is `JSON` (default) or `JSON_UNFORMATTED` (a single line with no tab).", - "title": "MessageFormat", + "LocalTimeZoneDetectionScope": { "type": "string" - }, - "MessageMaxBytes": { - "markdownDescription": "The maximum size in bytes for records created on the endpoint The default is 1,000,000.", - "title": "MessageMaxBytes", + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.OpenHours": { + "additionalProperties": false, + "properties": { + "DailyHours": { + "items": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.DailyHour" + }, + "markdownDescription": "The daily hours configuration.", + "title": "DailyHours", + "type": "array" + } + }, + "required": [ + "DailyHours" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.PredictiveConfig": { + "additionalProperties": false, + "properties": { + "BandwidthAllocation": { + "markdownDescription": "Bandwidth allocation for the predictive outbound mode.", + "title": "BandwidthAllocation", "type": "number" - }, - "NoHexPrefix": { - "markdownDescription": "Set this optional parameter to `true` to avoid adding a '0x' prefix to raw data in hexadecimal format. For example, by default, AWS DMS adds a '0x' prefix to the LOB column type in hexadecimal format moving from an Oracle source to a Kafka target. Use the `NoHexPrefix` endpoint setting to enable migration of RAW data type columns without adding the '0x' prefix.", - "title": "NoHexPrefix", - "type": "boolean" - }, - "PartitionIncludeSchemaTable": { - "markdownDescription": "Prefixes schema and table names to partition values, when the partition type is `primary-key-type` . Doing this increases data distribution among Kafka partitions. For example, suppose that a SysBench schema has thousands of tables and each table has only limited range for a primary key. In this case, the same primary key is sent from thousands of tables to the same partition, which causes throttling. The default is `false` .", - "title": "PartitionIncludeSchemaTable", - "type": "boolean" - }, - "SaslPassword": { - "markdownDescription": "The secure password that you created when you first set up your Amazon MSK cluster to validate a client identity and make an encrypted connection between server and client using SASL-SSL authentication.", - "title": "SaslPassword", - "type": "string" - }, - "SaslUserName": { - "markdownDescription": "The secure user name you created when you first set up your Amazon MSK cluster to validate a client identity and make an encrypted connection between server and client using SASL-SSL authentication.", - "title": "SaslUserName", - "type": "string" - }, - "SecurityProtocol": { - "markdownDescription": "Set secure connection to a Kafka target endpoint using Transport Layer Security (TLS). Options include `ssl-encryption` , `ssl-authentication` , and `sasl-ssl` . `sasl-ssl` requires `SaslUsername` and `SaslPassword` .", - "title": "SecurityProtocol", - "type": "string" - }, - "SslCaCertificateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the private certificate authority (CA) cert that AWS DMS uses to securely connect to your Kafka target endpoint.", - "title": "SslCaCertificateArn", - "type": "string" - }, - "SslClientCertificateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the client certificate used to securely connect to a Kafka target endpoint.", - "title": "SslClientCertificateArn", - "type": "string" - }, - "SslClientKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the client private key used to securely connect to a Kafka target endpoint.", - "title": "SslClientKeyArn", - "type": "string" - }, - "SslClientKeyPassword": { - "markdownDescription": "The password for the client private key used to securely connect to a Kafka target endpoint.", - "title": "SslClientKeyPassword", - "type": "string" - }, - "Topic": { - "markdownDescription": "The topic to which you migrate the data. If you don't specify a topic, AWS DMS specifies `\"kafka-default-topic\"` as the migration topic.", - "title": "Topic", - "type": "string" } }, + "required": [ + "BandwidthAllocation" + ], "type": "object" }, - "AWS::DMS::Endpoint.KinesisSettings": { + "AWS::ConnectCampaignsV2::Campaign.PreviewConfig": { "additionalProperties": false, "properties": { - "IncludeControlDetails": { - "markdownDescription": "Shows detailed control information for table definition, column definition, and table and column changes in the Kinesis message output. The default is `false` .", - "title": "IncludeControlDetails", - "type": "boolean" - }, - "IncludeNullAndEmpty": { - "markdownDescription": "Include NULL and empty columns for records migrated to the endpoint. The default is `false` .", - "title": "IncludeNullAndEmpty", - "type": "boolean" - }, - "IncludePartitionValue": { - "markdownDescription": "Shows the partition value within the Kinesis message output, unless the partition type is `schema-table-type` . The default is `false` .", - "title": "IncludePartitionValue", - "type": "boolean" - }, - "IncludeTableAlterOperations": { - "markdownDescription": "Includes any data definition language (DDL) operations that change the table in the control data, such as `rename-table` , `drop-table` , `add-column` , `drop-column` , and `rename-column` . The default is `false` .", - "title": "IncludeTableAlterOperations", - "type": "boolean" + "AgentActions": { + "items": { + "type": "string" + }, + "markdownDescription": "Agent actions for the preview outbound mode.", + "title": "AgentActions", + "type": "array" }, - "IncludeTransactionDetails": { - "markdownDescription": "Provides detailed transaction information from the source database. This information includes a commit timestamp, a log position, and values for `transaction_id` , previous `transaction_id` , and `transaction_record_id` (the record offset within a transaction). The default is `false` .", - "title": "IncludeTransactionDetails", - "type": "boolean" + "BandwidthAllocation": { + "markdownDescription": "Bandwidth allocation for the preview outbound mode.", + "title": "BandwidthAllocation", + "type": "number" }, - "MessageFormat": { - "markdownDescription": "The output format for the records created on the endpoint. The message format is `JSON` (default) or `JSON_UNFORMATTED` (a single line with no tab).", - "title": "MessageFormat", + "TimeoutConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TimeoutConfig", + "markdownDescription": "Countdown timer configuration for preview outbound mode.", + "title": "TimeoutConfig" + } + }, + "required": [ + "BandwidthAllocation", + "TimeoutConfig" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.ProgressiveConfig": { + "additionalProperties": false, + "properties": { + "BandwidthAllocation": { + "markdownDescription": "Bandwidth allocation for the progressive outbound mode.", + "title": "BandwidthAllocation", + "type": "number" + } + }, + "required": [ + "BandwidthAllocation" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.RestrictedPeriod": { + "additionalProperties": false, + "properties": { + "EndDate": { + "markdownDescription": "The end date of the restricted period.", + "title": "EndDate", "type": "string" }, - "NoHexPrefix": { - "markdownDescription": "Set this optional parameter to `true` to avoid adding a '0x' prefix to raw data in hexadecimal format. For example, by default, AWS DMS adds a '0x' prefix to the LOB column type in hexadecimal format moving from an Oracle source to an Amazon Kinesis target. Use the `NoHexPrefix` endpoint setting to enable migration of RAW data type columns without adding the '0x' prefix.", - "title": "NoHexPrefix", - "type": "boolean" - }, - "PartitionIncludeSchemaTable": { - "markdownDescription": "Prefixes schema and table names to partition values, when the partition type is `primary-key-type` . Doing this increases data distribution among Kinesis shards. For example, suppose that a SysBench schema has thousands of tables and each table has only limited range for a primary key. In this case, the same primary key is sent from thousands of tables to the same shard, which causes throttling. The default is `false` .", - "title": "PartitionIncludeSchemaTable", - "type": "boolean" - }, - "ServiceAccessRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the IAM role that AWS DMS uses to write to the Kinesis data stream. The role must allow the `iam:PassRole` action.", - "title": "ServiceAccessRoleArn", + "Name": { + "markdownDescription": "The name of the restricted period.", + "title": "Name", "type": "string" }, - "StreamArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the Amazon Kinesis Data Streams endpoint.", - "title": "StreamArn", + "StartDate": { + "markdownDescription": "The start date of the restricted period.", + "title": "StartDate", "type": "string" } }, + "required": [ + "EndDate", + "StartDate" + ], "type": "object" }, - "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { + "AWS::ConnectCampaignsV2::Campaign.RestrictedPeriods": { "additionalProperties": false, "properties": { - "BcpPacketSize": { - "markdownDescription": "The maximum size of the packets (in bytes) used to transfer data using BCP.", - "title": "BcpPacketSize", - "type": "number" - }, - "ControlTablesFileGroup": { - "markdownDescription": "Specifies a file group for the AWS DMS internal tables. When the replication task starts, all the internal AWS DMS control tables (awsdms_ apply_exception, awsdms_apply, awsdms_changes) are created for the specified file group.", - "title": "ControlTablesFileGroup", + "RestrictedPeriodList": { + "items": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.RestrictedPeriod" + }, + "markdownDescription": "The restricted period list.", + "title": "RestrictedPeriodList", + "type": "array" + } + }, + "required": [ + "RestrictedPeriodList" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.Schedule": { + "additionalProperties": false, + "properties": { + "EndTime": { + "markdownDescription": "The end time of the schedule in UTC.", + "title": "EndTime", "type": "string" }, - "DatabaseName": { - "markdownDescription": "Database name for the endpoint.", - "title": "DatabaseName", + "RefreshFrequency": { + "markdownDescription": "The refresh frequency of the campaign.", + "title": "RefreshFrequency", "type": "string" }, - "ForceLobLookup": { - "markdownDescription": "Forces LOB lookup on inline LOB.", - "title": "ForceLobLookup", - "type": "boolean" - }, - "Password": { - "markdownDescription": "Endpoint connection password.", - "title": "Password", + "StartTime": { + "markdownDescription": "The start time of the schedule in UTC.", + "title": "StartTime", "type": "string" - }, - "Port": { - "markdownDescription": "Endpoint TCP port.", - "title": "Port", + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.SmsChannelSubtypeConfig": { + "additionalProperties": false, + "properties": { + "Capacity": { + "markdownDescription": "The allocation of SMS capacity between multiple running outbound campaigns.", + "title": "Capacity", "type": "number" }, - "QuerySingleAlwaysOnNode": { - "markdownDescription": "Cleans and recreates table metadata information on the replication instance when a mismatch occurs. An example is a situation where running an alter DDL statement on a table might result in different information about the table cached in the replication instance.", - "title": "QuerySingleAlwaysOnNode", - "type": "boolean" - }, - "ReadBackupOnly": { - "markdownDescription": "When this attribute is set to `Y` , AWS DMS only reads changes from transaction log backups and doesn't read from the active transaction log file during ongoing replication. Setting this parameter to `Y` enables you to control active transaction log file growth during full load and ongoing replication tasks. However, it can add some source latency to ongoing replication.", - "title": "ReadBackupOnly", - "type": "boolean" + "DefaultOutboundConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.SmsOutboundConfig", + "markdownDescription": "The default SMS outbound configuration of an outbound campaign.", + "title": "DefaultOutboundConfig" }, - "SafeguardPolicy": { - "markdownDescription": "Use this attribute to minimize the need to access the backup log and enable AWS DMS to prevent truncation using one of the following two methods.\n\n*Start transactions in the database:* This is the default method. When this method is used, AWS DMS prevents TLOG truncation by mimicking a transaction in the database. As long as such a transaction is open, changes that appear after the transaction started aren't truncated. If you need Microsoft Replication to be enabled in your database, then you must choose this method.\n\n*Exclusively use sp_repldone within a single task* : When this method is used, AWS DMS reads the changes and then uses sp_repldone to mark the TLOG transactions as ready for truncation. Although this method doesn't involve any transactional activities, it can only be used when Microsoft Replication isn't running. Also, when using this method, only one AWS DMS task can access the database at any given time. Therefore, if you need to run parallel AWS DMS tasks against the same database, use the default method.", - "title": "SafeguardPolicy", + "OutboundMode": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.SmsOutboundMode", + "markdownDescription": "The outbound mode of SMS for an outbound campaign.", + "title": "OutboundMode" + } + }, + "required": [ + "DefaultOutboundConfig", + "OutboundMode" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.SmsOutboundConfig": { + "additionalProperties": false, + "properties": { + "ConnectSourcePhoneNumberArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect source SMS phone number.", + "title": "ConnectSourcePhoneNumberArn", "type": "string" }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the SQL Server endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", + "WisdomTemplateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Q in Connect template.", + "title": "WisdomTemplateArn", "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MicrosoftSQLServer endpoint connection details.", - "title": "SecretsManagerSecretId", + } + }, + "required": [ + "ConnectSourcePhoneNumberArn", + "WisdomTemplateArn" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.SmsOutboundMode": { + "additionalProperties": false, + "properties": { + "AgentlessConfig": { + "markdownDescription": "Contains agentless outbound mode configuration.", + "title": "AgentlessConfig", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.Source": { + "additionalProperties": false, + "properties": { + "CustomerProfilesSegmentArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Customer Profiles segment.", + "title": "CustomerProfilesSegmentArn", "type": "string" }, - "ServerName": { - "markdownDescription": "Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.", - "title": "ServerName", - "type": "string" + "EventTrigger": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.EventTrigger", + "markdownDescription": "The event trigger of the campaign.", + "title": "EventTrigger" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.TelephonyChannelSubtypeConfig": { + "additionalProperties": false, + "properties": { + "Capacity": { + "markdownDescription": "The allocation of telephony capacity between multiple running outbound campaigns.", + "title": "Capacity", + "type": "number" }, - "TlogAccessMode": { - "markdownDescription": "Indicates the mode used to fetch CDC data.", - "title": "TlogAccessMode", + "ConnectQueueId": { + "markdownDescription": "The identifier of the Amazon Connect queue associated with telephony outbound requests of an outbound campaign.", + "title": "ConnectQueueId", "type": "string" }, - "TrimSpaceInChar": { - "markdownDescription": "Use the `TrimSpaceInChar` source endpoint setting to right-trim data on CHAR and NCHAR data types during migration. Setting `TrimSpaceInChar` does not left-trim data. The default value is `true` .", - "title": "TrimSpaceInChar", - "type": "boolean" - }, - "UseBcpFullLoad": { - "markdownDescription": "Use this to attribute to transfer data for full-load operations using BCP. When the target table contains an identity column that does not exist in the source table, you must disable the use BCP for loading table option.", - "title": "UseBcpFullLoad", - "type": "boolean" - }, - "UseThirdPartyBackupDevice": { - "markdownDescription": "When this attribute is set to `Y` , DMS processes third-party transaction log backups if they are created in native format.", - "title": "UseThirdPartyBackupDevice", - "type": "boolean" + "DefaultOutboundConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundConfig", + "markdownDescription": "The default telephony outbound configuration of an outbound campaign.", + "title": "DefaultOutboundConfig" }, - "Username": { - "markdownDescription": "Endpoint connection user name.", - "title": "Username", - "type": "string" + "OutboundMode": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundMode", + "markdownDescription": "The outbound mode of telephony for an outbound campaign.", + "title": "OutboundMode" } }, + "required": [ + "DefaultOutboundConfig", + "OutboundMode" + ], "type": "object" }, - "AWS::DMS::Endpoint.MongoDbSettings": { + "AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundConfig": { "additionalProperties": false, "properties": { - "AuthMechanism": { - "markdownDescription": "The authentication mechanism you use to access the MongoDB source endpoint.\n\nFor the default value, in MongoDB version 2.x, `\"default\"` is `\"mongodb_cr\"` . For MongoDB version 3.x or later, `\"default\"` is `\"scram_sha_1\"` . This setting isn't used when `AuthType` is set to `\"no\"` .", - "title": "AuthMechanism", - "type": "string" + "AnswerMachineDetectionConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.AnswerMachineDetectionConfig", + "markdownDescription": "The answering machine detection configuration.", + "title": "AnswerMachineDetectionConfig" }, - "AuthSource": { - "markdownDescription": "The MongoDB database name. This setting isn't used when `AuthType` is set to `\"no\"` .\n\nThe default is `\"admin\"` .", - "title": "AuthSource", + "ConnectContactFlowId": { + "markdownDescription": "The identifier of the published Amazon Connect contact flow.", + "title": "ConnectContactFlowId", "type": "string" }, - "AuthType": { - "markdownDescription": "The authentication type you use to access the MongoDB source endpoint.\n\nWhen set to `\"no\"` , user name and password parameters are not used and can be empty.", - "title": "AuthType", + "ConnectSourcePhoneNumber": { + "markdownDescription": "The Amazon Connect source phone number.", + "title": "ConnectSourcePhoneNumber", "type": "string" }, - "DatabaseName": { - "markdownDescription": "The database name on the MongoDB source endpoint.", - "title": "DatabaseName", - "type": "string" + "RingTimeout": { + "markdownDescription": "The ring timeout configuration for outbound calls. Specifies how long to wait for the call to be answered before timing out.", + "title": "RingTimeout", + "type": "number" + } + }, + "required": [ + "ConnectContactFlowId" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.TelephonyOutboundMode": { + "additionalProperties": false, + "properties": { + "AgentlessConfig": { + "markdownDescription": "The agentless outbound mode configuration for telephony.", + "title": "AgentlessConfig", + "type": "object" }, - "DocsToInvestigate": { - "markdownDescription": "Indicates the number of documents to preview to determine the document organization. Use this setting when `NestingLevel` is set to `\"one\"` .\n\nMust be a positive value greater than `0` . Default value is `1000` .", - "title": "DocsToInvestigate", - "type": "string" + "PredictiveConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.PredictiveConfig", + "markdownDescription": "Contains predictive outbound mode configuration.", + "title": "PredictiveConfig" }, - "ExtractDocId": { - "markdownDescription": "Specifies the document ID. Use this setting when `NestingLevel` is set to `\"none\"` .\n\nDefault value is `\"false\"` .", - "title": "ExtractDocId", - "type": "string" + "PreviewConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.PreviewConfig", + "markdownDescription": "Contains preview outbound mode configuration.", + "title": "PreviewConfig" }, - "NestingLevel": { - "markdownDescription": "Specifies either document or table mode.\n\nDefault value is `\"none\"` . Specify `\"none\"` to use document mode. Specify `\"one\"` to use table mode.", - "title": "NestingLevel", + "ProgressiveConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.ProgressiveConfig", + "markdownDescription": "Contains progressive telephony outbound mode configuration.", + "title": "ProgressiveConfig" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.TimeRange": { + "additionalProperties": false, + "properties": { + "EndTime": { + "markdownDescription": "The end time of the time range.", + "title": "EndTime", "type": "string" }, - "Password": { - "markdownDescription": "The password for the user account you use to access the MongoDB source endpoint.", - "title": "Password", + "StartTime": { + "markdownDescription": "The start time of the time range.", + "title": "StartTime", "type": "string" + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.TimeWindow": { + "additionalProperties": false, + "properties": { + "OpenHours": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.OpenHours", + "markdownDescription": "The open hours configuration.", + "title": "OpenHours" }, - "Port": { - "markdownDescription": "The port value for the MongoDB source endpoint.", - "title": "Port", + "RestrictedPeriods": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.RestrictedPeriods", + "markdownDescription": "The restricted periods configuration.", + "title": "RestrictedPeriods" + } + }, + "required": [ + "OpenHours" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.TimeoutConfig": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "markdownDescription": "Duration in seconds for the countdown timer.", + "title": "DurationInSeconds", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.WhatsAppChannelSubtypeConfig": { + "additionalProperties": false, + "properties": { + "Capacity": { + "markdownDescription": "The allocation of WhatsApp capacity between multiple running outbound campaigns.", + "title": "Capacity", "type": "number" }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the MongoDB endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", - "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MongoDB endpoint connection details.", - "title": "SecretsManagerSecretId", - "type": "string" + "DefaultOutboundConfig": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundConfig", + "markdownDescription": "The default WhatsApp outbound configuration of an outbound campaign.", + "title": "DefaultOutboundConfig" }, - "ServerName": { - "markdownDescription": "The name of the server on the MongoDB source endpoint.", - "title": "ServerName", + "OutboundMode": { + "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundMode", + "markdownDescription": "The outbound mode for WhatsApp of an outbound campaign.", + "title": "OutboundMode" + } + }, + "required": [ + "DefaultOutboundConfig", + "OutboundMode" + ], + "type": "object" + }, + "AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundConfig": { + "additionalProperties": false, + "properties": { + "ConnectSourcePhoneNumberArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Connect source WhatsApp phone number.", + "title": "ConnectSourcePhoneNumberArn", "type": "string" }, - "Username": { - "markdownDescription": "The user name you use to access the MongoDB source endpoint.", - "title": "Username", + "WisdomTemplateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Q in Connect template.", + "title": "WisdomTemplateArn", "type": "string" } }, + "required": [ + "ConnectSourcePhoneNumberArn", + "WisdomTemplateArn" + ], "type": "object" }, - "AWS::DMS::Endpoint.MySqlSettings": { + "AWS::ConnectCampaignsV2::Campaign.WhatsAppOutboundMode": { "additionalProperties": false, "properties": { - "AfterConnectScript": { - "markdownDescription": "Specifies a script to run immediately after AWS DMS connects to the endpoint. The migration task continues running regardless if the SQL statement succeeds or fails.\n\nFor this parameter, provide the code of the script itself, not the name of a file containing the script.", - "title": "AfterConnectScript", + "AgentlessConfig": { + "markdownDescription": "", + "title": "AgentlessConfig", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ControlCatalog::CommonControl": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "CleanSourceMetadataOnMismatch": { - "markdownDescription": "Cleans and recreates table metadata information on the replication instance when a mismatch occurs. For example, in a situation where running an alter DDL on the table could result in different information about the table cached in the replication instance.", - "title": "CleanSourceMetadataOnMismatch", - "type": "boolean" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "EventsPollInterval": { - "markdownDescription": "Specifies how often to check the binary log for new changes/events when the database is idle. The default is five seconds.\n\nExample: `eventsPollInterval=5;`\n\nIn the example, AWS DMS checks for changes in the binary logs every five seconds.", - "title": "EventsPollInterval", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MaxFileSize": { - "markdownDescription": "Specifies the maximum size (in KB) of any .csv file used to transfer data to a MySQL-compatible database.\n\nExample: `maxFileSize=512`", - "title": "MaxFileSize", - "type": "number" + "Metadata": { + "type": "object" }, - "ParallelLoadThreads": { - "markdownDescription": "Improves performance when loading data into the MySQL-compatible target database. Specifies how many threads to use to load the data into the MySQL-compatible target database. Setting a large number of threads can have an adverse effect on database performance, because a separate connection is required for each thread. The default is one.\n\nExample: `parallelLoadThreads=1`", - "title": "ParallelLoadThreads", - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the MySQL endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", + "Type": { + "enum": [ + "AWS::ControlCatalog::CommonControl" + ], "type": "string" }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MySQL endpoint connection details.", - "title": "SecretsManagerSecretId", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "ServerTimezone": { - "markdownDescription": "Specifies the time zone for the source MySQL database.\n\nExample: `serverTimezone=US/Pacific;`\n\nNote: Do not enclose time zones in single quotes.", - "title": "ServerTimezone", + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ControlCatalog::CommonControl.Domain": { + "additionalProperties": false, + "properties": { + "Arn": { "type": "string" }, - "TargetDbType": { - "markdownDescription": "Specifies where to migrate source tables on the target, either to a single database or multiple databases. If you specify `SPECIFIC_DATABASE` , specify the database name using the `DatabaseName` parameter of the `Endpoint` object.\n\nExample: `targetDbType=MULTIPLE_DATABASES`", - "title": "TargetDbType", + "Name": { "type": "string" } }, "type": "object" }, - "AWS::DMS::Endpoint.NeptuneSettings": { + "AWS::ControlCatalog::CommonControl.Objective": { "additionalProperties": false, "properties": { - "ErrorRetryDuration": { - "markdownDescription": "The number of milliseconds for AWS DMS to wait to retry a bulk-load of migrated graph data to the Neptune target database before raising an error. The default is 250.", - "title": "ErrorRetryDuration", - "type": "number" - }, - "IamAuthEnabled": { - "markdownDescription": "If you want IAM authorization enabled for this endpoint, set this parameter to `true` . Then attach the appropriate IAM policy document to your service role specified by `ServiceAccessRoleArn` . The default is `false` .", - "title": "IamAuthEnabled", - "type": "boolean" - }, - "MaxFileSize": { - "markdownDescription": "The maximum size in kilobytes of migrated graph data stored in a .csv file before AWS DMS bulk-loads the data to the Neptune target database. The default is 1,048,576 KB. If the bulk load is successful, AWS DMS clears the bucket, ready to store the next batch of migrated graph data.", - "title": "MaxFileSize", - "type": "number" - }, - "MaxRetryCount": { - "markdownDescription": "The number of times for AWS DMS to retry a bulk load of migrated graph data to the Neptune target database before raising an error. The default is 5.", - "title": "MaxRetryCount", - "type": "number" - }, - "S3BucketFolder": { - "markdownDescription": "A folder path where you want AWS DMS to store migrated graph data in the S3 bucket specified by `S3BucketName`", - "title": "S3BucketFolder", - "type": "string" - }, - "S3BucketName": { - "markdownDescription": "The name of the Amazon S3 bucket where AWS DMS can temporarily store migrated graph data in .csv files before bulk-loading it to the Neptune target database. AWS DMS maps the SQL source data to graph data before storing it in these .csv files.", - "title": "S3BucketName", + "Arn": { "type": "string" }, - "ServiceAccessRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the service role that you created for the Neptune target endpoint. The role must allow the `iam:PassRole` action.\n\nFor more information, see [Creating an IAM Service Role for Accessing Amazon Neptune as a Target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.ServiceRole) in the *AWS Database Migration Service User Guide* .", - "title": "ServiceAccessRoleArn", + "Name": { "type": "string" } }, "type": "object" }, - "AWS::DMS::Endpoint.OracleSettings": { + "AWS::ControlCatalog::Control": { "additionalProperties": false, "properties": { - "AccessAlternateDirectly": { - "markdownDescription": "Set this attribute to `false` in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This tells the DMS instance to not access redo logs through any specified path prefix replacement using direct file access.", - "title": "AccessAlternateDirectly", - "type": "boolean" - }, - "AddSupplementalLogging": { - "markdownDescription": "Set this attribute to set up table-level supplemental logging for the Oracle database. This attribute enables PRIMARY KEY supplemental logging on all tables selected for a migration task.\n\nIf you use this option, you still need to enable database-level supplemental logging.", - "title": "AddSupplementalLogging", - "type": "boolean" + "Condition": { + "type": "string" }, - "AdditionalArchivedLogDestId": { - "markdownDescription": "Set this attribute with `ArchivedLogDestId` in a primary/ standby setup. This attribute is useful in the case of a switchover. In this case, AWS DMS needs to know which destination to get archive redo logs from to read changes. This need arises because the previous primary instance is now a standby instance after switchover.\n\nAlthough AWS DMS supports the use of the Oracle `RESETLOGS` option to open the database, never use `RESETLOGS` unless necessary. For additional information about `RESETLOGS` , see [RMAN Data Repair Concepts](https://docs.aws.amazon.com/https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B) in the *Oracle Database Backup and Recovery User's Guide* .", - "title": "AdditionalArchivedLogDestId", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "AllowSelectNestedTables": { - "markdownDescription": "Set this attribute to `true` to enable replication of Oracle tables containing columns that are nested tables or defined types.", - "title": "AllowSelectNestedTables", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ArchivedLogDestId": { - "markdownDescription": "Specifies the ID of the destination for the archived redo logs. This value should be the same as a number in the dest_id column of the v$archived_log view. If you work with an additional redo log destination, use the `AdditionalArchivedLogDestId` option to specify the additional destination ID. Doing this improves performance by ensuring that the correct logs are accessed from the outset.", - "title": "ArchivedLogDestId", - "type": "number" + "Metadata": { + "type": "object" }, - "ArchivedLogsOnly": { - "markdownDescription": "When this field is set to `True` , AWS DMS only accesses the archived redo logs. If the archived redo logs are stored on Automatic Storage Management (ASM) only, the AWS DMS user account needs to be granted ASM privileges.", - "title": "ArchivedLogsOnly", - "type": "boolean" + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" }, - "AsmPassword": { - "markdownDescription": "For an Oracle source endpoint, your Oracle Automatic Storage Management (ASM) password. You can set this value from the `*asm_user_password*` value. You set this value as part of the comma-separated value that you set to the `Password` request parameter when you create the endpoint to access transaction logs using Binary Reader. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", - "title": "AsmPassword", + "Type": { + "enum": [ + "AWS::ControlCatalog::Control" + ], "type": "string" }, - "AsmServer": { - "markdownDescription": "For an Oracle source endpoint, your ASM server address. You can set this value from the `asm_server` value. You set `asm_server` as part of the extra connection attribute string to access an Oracle server with Binary Reader that uses ASM. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", - "title": "AsmServer", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "AsmUser": { - "markdownDescription": "For an Oracle source endpoint, your ASM user name. You can set this value from the `asm_user` value. You set `asm_user` as part of the extra connection attribute string to access an Oracle server with Binary Reader that uses ASM. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", - "title": "AsmUser", + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ControlCatalog::Control.ImplementationDetails": { + "additionalProperties": false, + "properties": { + "Identifier": { "type": "string" }, - "CharLengthSemantics": { - "markdownDescription": "Specifies whether the length of a character column is in bytes or in characters. To indicate that the character column length is in characters, set this attribute to `CHAR` . Otherwise, the character column length is in bytes.\n\nExample: `charLengthSemantics=CHAR;`", - "title": "CharLengthSemantics", + "Type": { "type": "string" - }, - "DirectPathNoLog": { - "markdownDescription": "When set to `true` , this attribute helps to increase the commit rate on the Oracle target database by writing directly to tables and not writing a trail to database logs.", - "title": "DirectPathNoLog", - "type": "boolean" - }, - "DirectPathParallelLoad": { - "markdownDescription": "When set to `true` , this attribute specifies a parallel load when `useDirectPathFullLoad` is set to `Y` . This attribute also only applies when you use the AWS DMS parallel load feature. Note that the target table cannot have any constraints or indexes.", - "title": "DirectPathParallelLoad", - "type": "boolean" - }, - "EnableHomogenousTablespace": { - "markdownDescription": "Set this attribute to enable homogenous tablespace replication and create existing tables or indexes under the same tablespace on the target.", - "title": "EnableHomogenousTablespace", - "type": "boolean" - }, - "ExtraArchivedLogDestIds": { + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ControlCatalog::Control.RegionConfiguration": { + "additionalProperties": false, + "properties": { + "DeployableRegions": { "items": { - "type": "number" + "type": "string" }, - "markdownDescription": "Specifies the IDs of one more destinations for one or more archived redo logs. These IDs are the values of the `dest_id` column in the `v$archived_log` view. Use this setting with the `archivedLogDestId` extra connection attribute in a primary-to-single setup or a primary-to-multiple-standby setup.\n\nThis setting is useful in a switchover when you use an Oracle Data Guard database as a source. In this case, AWS DMS needs information about what destination to get archive redo logs from to read changes. AWS DMS needs this because after the switchover the previous primary is a standby instance. For example, in a primary-to-single standby setup you might apply the following settings.\n\n`archivedLogDestId=1; ExtraArchivedLogDestIds=[2]`\n\nIn a primary-to-multiple-standby setup, you might apply the following settings.\n\n`archivedLogDestId=1; ExtraArchivedLogDestIds=[2,3,4]`\n\nAlthough AWS DMS supports the use of the Oracle `RESETLOGS` option to open the database, never use `RESETLOGS` unless it's necessary. For more information about `RESETLOGS` , see [RMAN Data Repair Concepts](https://docs.aws.amazon.com/https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B) in the *Oracle Database Backup and Recovery User's Guide* .", - "title": "ExtraArchivedLogDestIds", "type": "array" }, - "FailTasksOnLobTruncation": { - "markdownDescription": "When set to `true` , this attribute causes a task to fail if the actual size of an LOB column is greater than the specified `LobMaxSize` .\n\nIf a task is set to limited LOB mode and this option is set to `true` , the task fails instead of truncating the LOB data.", - "title": "FailTasksOnLobTruncation", - "type": "boolean" - }, - "NumberDatatypeScale": { - "markdownDescription": "Specifies the number scale. You can select a scale up to 38, or you can select FLOAT. By default, the NUMBER data type is converted to precision 38, scale 10.\n\nExample: `numberDataTypeScale=12`", - "title": "NumberDatatypeScale", - "type": "number" - }, - "OraclePathPrefix": { - "markdownDescription": "Set this string attribute to the required value in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This value specifies the default Oracle root used to access the redo logs.", - "title": "OraclePathPrefix", + "Scope": { + "type": "string" + } + }, + "required": [ + "Scope" + ], + "type": "object" + }, + "AWS::ControlCatalog::Objective": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "ParallelAsmReadThreads": { - "markdownDescription": "Set this attribute to change the number of threads that DMS configures to perform a change data capture (CDC) load using Oracle Automatic Storage Management (ASM). You can specify an integer value between 2 (the default) and 8 (the maximum). Use this attribute together with the `readAheadBlocks` attribute.", - "title": "ParallelAsmReadThreads", - "type": "number" - }, - "ReadAheadBlocks": { - "markdownDescription": "Set this attribute to change the number of read-ahead blocks that DMS configures to perform a change data capture (CDC) load using Oracle Automatic Storage Management (ASM). You can specify an integer value between 1000 (the default) and 200,000 (the maximum).", - "title": "ReadAheadBlocks", - "type": "number" - }, - "ReadTableSpaceName": { - "markdownDescription": "When set to `true` , this attribute supports tablespace replication.", - "title": "ReadTableSpaceName", - "type": "boolean" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ReplacePathPrefix": { - "markdownDescription": "Set this attribute to true in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This setting tells DMS instance to replace the default Oracle root with the specified `usePathPrefix` setting to access the redo logs.", - "title": "ReplacePathPrefix", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RetryInterval": { - "markdownDescription": "Specifies the number of seconds that the system waits before resending a query.\n\nExample: `retryInterval=6;`", - "title": "RetryInterval", - "type": "number" + "Metadata": { + "type": "object" }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the Oracle endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" }, - "SecretsManagerOracleAsmAccessRoleArn": { - "markdownDescription": "Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). The full ARN of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the `SecretsManagerOracleAsmSecret` . This `SecretsManagerOracleAsmSecret` has the secret value that allows access to the Oracle ASM of the endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerOracleAsmSecretId` . Or you can specify clear-text values for `AsmUser` , `AsmPassword` , and `AsmServerName` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerOracleAsmSecret` , the corresponding `SecretsManagerOracleAsmAccessRoleArn` , and the `SecretsManagerOracleAsmSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerOracleAsmAccessRoleArn", + "Type": { + "enum": [ + "AWS::ControlCatalog::Objective" + ], "type": "string" }, - "SecretsManagerOracleAsmSecretId": { - "markdownDescription": "Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). The full ARN, partial ARN, or display name of the `SecretsManagerOracleAsmSecret` that contains the Oracle ASM connection details for the Oracle endpoint.", - "title": "SecretsManagerOracleAsmSecretId", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the Oracle endpoint connection details.", - "title": "SecretsManagerSecretId", + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ControlCatalog::Objective.Domain": { + "additionalProperties": false, + "properties": { + "Arn": { "type": "string" }, - "SecurityDbEncryption": { - "markdownDescription": "For an Oracle source endpoint, the transparent data encryption (TDE) password required by AWM DMS to access Oracle redo logs encrypted by TDE using Binary Reader. It is also the `*TDE_Password*` part of the comma-separated value you set to the `Password` request parameter when you create the endpoint. The `SecurityDbEncryptian` setting is related to this `SecurityDbEncryptionName` setting. For more information, see [Supported encryption methods for using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption) in the *AWS Database Migration Service User Guide* .", - "title": "SecurityDbEncryption", + "Name": { "type": "string" - }, - "SecurityDbEncryptionName": { - "markdownDescription": "For an Oracle source endpoint, the name of a key used for the transparent data encryption (TDE) of the columns and tablespaces in an Oracle source database that is encrypted using TDE. The key value is the value of the `SecurityDbEncryption` setting. For more information on setting the key name value of `SecurityDbEncryptionName` , see the information and example for setting the `securityDbEncryptionName` extra connection attribute in [Supported encryption methods for using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption) in the *AWS Database Migration Service User Guide* .", - "title": "SecurityDbEncryptionName", + } + }, + "type": "object" + }, + "AWS::ControlTower::Baseline": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "SpatialDataOptionToGeoJsonFunctionName": { - "markdownDescription": "Use this attribute to convert `SDO_GEOMETRY` to `GEOJSON` format. By default, DMS calls the `SDO2GEOJSON` custom function if present and accessible. Or you can create your own custom function that mimics the operation of `SDOGEOJSON` and set `SpatialDataOptionToGeoJsonFunctionName` to call it instead.", - "title": "SpatialDataOptionToGeoJsonFunctionName", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "StandbyDelayTime": { - "markdownDescription": "Use this attribute to specify a time in minutes for the delay in standby sync. If the source is an Oracle Active Data Guard standby database, use this attribute to specify the time lag between primary and standby databases.\n\nIn AWS DMS , you can create an Oracle CDC task that uses an Active Data Guard standby instance as a source for replicating ongoing changes. Doing this eliminates the need to connect to an active database that might be in production.", - "title": "StandbyDelayTime", - "type": "number" - }, - "UseAlternateFolderForOnline": { - "markdownDescription": "Set this attribute to `true` in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This tells the DMS instance to use any specified prefix replacement to access all online redo logs.", - "title": "UseAlternateFolderForOnline", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "UseBFile": { - "markdownDescription": "Set this attribute to True to capture change data using the Binary Reader utility. Set `UseLogminerReader` to False to set this attribute to True. To use Binary Reader with Amazon RDS for Oracle as the source, you set additional attributes. For more information about using this setting with Oracle Automatic Storage Management (ASM), see [Using Oracle LogMiner or AWS DMS Binary Reader for CDC](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC) .", - "title": "UseBFile", - "type": "boolean" + "Metadata": { + "type": "object" }, - "UseDirectPathFullLoad": { - "markdownDescription": "Set this attribute to True to have AWS DMS use a direct path full load. Specify this value to use the direct path protocol in the Oracle Call Interface (OCI). By using this OCI protocol, you can bulk-load Oracle target tables during a full load.", - "title": "UseDirectPathFullLoad", - "type": "boolean" + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" }, - "UseLogminerReader": { - "markdownDescription": "Set this attribute to True to capture change data using the Oracle LogMiner utility (the default). Set this attribute to False if you want to access the redo logs as a binary file. When you set `UseLogminerReader` to False, also set `UseBfile` to True. For more information on this setting and using Oracle ASM, see [Using Oracle LogMiner or AWS DMS Binary Reader for CDC](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC) in the *AWS DMS User Guide* .", - "title": "UseLogminerReader", - "type": "boolean" + "Type": { + "enum": [ + "AWS::ControlTower::Baseline" + ], + "type": "string" }, - "UsePathPrefix": { - "markdownDescription": "Set this string attribute to the required value in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This value specifies the path prefix used to replace the default Oracle root to access the redo logs.", - "title": "UsePathPrefix", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::DMS::Endpoint.PostgreSqlSettings": { - "additionalProperties": false, - "properties": { - "AfterConnectScript": { - "markdownDescription": "For use with change data capture (CDC) only, this attribute has AWS DMS bypass foreign keys and user triggers to reduce the time it takes to bulk load data.\n\nExample: `afterConnectScript=SET session_replication_role='replica'`", - "title": "AfterConnectScript", - "type": "string" - }, - "BabelfishDatabaseName": { - "markdownDescription": "The Babelfish for Aurora PostgreSQL database name for the endpoint.", - "title": "BabelfishDatabaseName", - "type": "string" - }, - "CaptureDdls": { - "markdownDescription": "To capture DDL events, AWS DMS creates various artifacts in the PostgreSQL database when the task starts. You can later remove these artifacts.\n\nIf this value is set to `True` , you don't have to create tables or triggers on the source database.", - "title": "CaptureDdls", - "type": "boolean" - }, - "DatabaseMode": { - "markdownDescription": "Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require some additional configuration, such as Babelfish endpoints.", - "title": "DatabaseMode", - "type": "string" - }, - "DdlArtifactsSchema": { - "markdownDescription": "The schema in which the operational DDL database artifacts are created.\n\nThe default value is `public` .\n\nExample: `ddlArtifactsSchema=xyzddlschema;`", - "title": "DdlArtifactsSchema", - "type": "string" - }, - "ExecuteTimeout": { - "markdownDescription": "Sets the client statement timeout for the PostgreSQL instance, in seconds. The default value is 60 seconds.\n\nExample: `executeTimeout=100;`", - "title": "ExecuteTimeout", - "type": "number" - }, - "FailTasksOnLobTruncation": { - "markdownDescription": "When set to `true` , this value causes a task to fail if the actual size of a LOB column is greater than the specified `LobMaxSize` .\n\nThe default value is `false` .\n\nIf task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating the LOB data.", - "title": "FailTasksOnLobTruncation", - "type": "boolean" - }, - "HeartbeatEnable": { - "markdownDescription": "The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle logical replication slots from holding onto old WAL logs, which can result in storage full situations on the source. This heartbeat keeps `restart_lsn` moving and prevents storage full scenarios.\n\nThe default value is `false` .", - "title": "HeartbeatEnable", - "type": "boolean" - }, - "HeartbeatFrequency": { - "markdownDescription": "Sets the WAL heartbeat frequency (in minutes).\n\nThe default value is 5 minutes.", - "title": "HeartbeatFrequency", - "type": "number" - }, - "HeartbeatSchema": { - "markdownDescription": "Sets the schema in which the heartbeat artifacts are created.\n\nThe default value is `public` .", - "title": "HeartbeatSchema", - "type": "string" - }, - "MapBooleanAsBoolean": { - "markdownDescription": "When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as `varchar(5)` . You must set this setting on both the source and target endpoints for it to take effect.\n\nThe default value is `false` .", - "title": "MapBooleanAsBoolean", - "type": "boolean" - }, - "MaxFileSize": { - "markdownDescription": "Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL.\n\nThe default value is 32,768 KB (32 MB).\n\nExample: `maxFileSize=512`", - "title": "MaxFileSize", - "type": "number" - }, - "PluginName": { - "markdownDescription": "Specifies the plugin to use to create a replication slot.\n\nThe default value is `pglogical` .", - "title": "PluginName", - "type": "string" - }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the PostgreSQL endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", - "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the PostgreSQL endpoint connection details.", - "title": "SecretsManagerSecretId", - "type": "string" - }, - "SlotName": { - "markdownDescription": "Sets the name of a previously created logical replication slot for a change data capture (CDC) load of the PostgreSQL source instance.\n\nWhen used with the `CdcStartPosition` request parameter for the AWS DMS API , this attribute also makes it possible to use native CDC start points. DMS verifies that the specified logical replication slot exists before starting the CDC load task. It also verifies that the task was created with a valid setting of `CdcStartPosition` . If the specified slot doesn't exist or the task doesn't have a valid `CdcStartPosition` setting, DMS raises an error.\n\nFor more information about setting the `CdcStartPosition` request parameter, see [Determining a CDC native start point](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native) in the *AWS Database Migration Service User Guide* . For more information about using `CdcStartPosition` , see [CreateReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html) , [StartReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html) , and [ModifyReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyReplicationTask.html) .", - "title": "SlotName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.RedisSettings": { - "additionalProperties": false, - "properties": { - "AuthPassword": { - "markdownDescription": "The password provided with the `auth-role` and `auth-token` options of the `AuthType` setting for a Redis target endpoint.", - "title": "AuthPassword", - "type": "string" - }, - "AuthType": { - "markdownDescription": "The type of authentication to perform when connecting to a Redis target. Options include `none` , `auth-token` , and `auth-role` . The `auth-token` option requires an `AuthPassword` value to be provided. The `auth-role` option requires `AuthUserName` and `AuthPassword` values to be provided.", - "title": "AuthType", - "type": "string" - }, - "AuthUserName": { - "markdownDescription": "The user name provided with the `auth-role` option of the `AuthType` setting for a Redis target endpoint.", - "title": "AuthUserName", - "type": "string" - }, - "Port": { - "markdownDescription": "Transmission Control Protocol (TCP) port for the endpoint.", - "title": "Port", - "type": "number" - }, - "ServerName": { - "markdownDescription": "Fully qualified domain name of the endpoint.", - "title": "ServerName", - "type": "string" - }, - "SslCaCertificateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the certificate authority (CA) that DMS uses to connect to your Redis target endpoint.", - "title": "SslCaCertificateArn", - "type": "string" - }, - "SslSecurityProtocol": { - "markdownDescription": "The connection to a Redis target endpoint using Transport Layer Security (TLS). Valid values include `plaintext` and `ssl-encryption` . The default is `ssl-encryption` . The `ssl-encryption` option makes an encrypted connection. Optionally, you can identify an Amazon Resource Name (ARN) for an SSL certificate authority (CA) using the `SslCaCertificateArn` setting. If an ARN isn't given for a CA, DMS uses the Amazon root CA.\n\nThe `plaintext` option doesn't provide Transport Layer Security (TLS) encryption for traffic between endpoint and database.", - "title": "SslSecurityProtocol", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.RedshiftSettings": { - "additionalProperties": false, - "properties": { - "AcceptAnyDate": { - "markdownDescription": "A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to be loaded without generating an error. You can choose `true` or `false` (the default).\n\nThis parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift inserts a NULL value into that field.", - "title": "AcceptAnyDate", - "type": "boolean" - }, - "AfterConnectScript": { - "markdownDescription": "Code to run after connecting. This parameter should contain the code itself, not the name of a file containing the code.", - "title": "AfterConnectScript", - "type": "string" - }, - "BucketFolder": { - "markdownDescription": "An S3 folder where the comma-separated-value (.csv) files are stored before being uploaded to the target Redshift cluster.\n\nFor full load mode, AWS DMS converts source records into .csv files and loads them to the *BucketFolder/TableID* path. AWS DMS uses the Redshift `COPY` command to upload the .csv files to the target table. The files are deleted once the `COPY` operation has finished. For more information, see [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) in the *Amazon Redshift Database Developer Guide* .\n\nFor change-data-capture (CDC) mode, AWS DMS creates a *NetChanges* table, and loads the .csv files to this *BucketFolder/NetChangesTableID* path.", - "title": "BucketFolder", - "type": "string" - }, - "BucketName": { - "markdownDescription": "The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift.", - "title": "BucketName", - "type": "string" - }, - "CaseSensitiveNames": { - "markdownDescription": "If Amazon Redshift is configured to support case sensitive schema names, set `CaseSensitiveNames` to `true` . The default is `false` .", - "title": "CaseSensitiveNames", - "type": "boolean" - }, - "CompUpdate": { - "markdownDescription": "If you set `CompUpdate` to `true` Amazon Redshift applies automatic compression if the table is empty. This applies even if the table columns already have encodings other than `RAW` . If you set `CompUpdate` to `false` , automatic compression is disabled and existing column encodings aren't changed. The default is `true` .", - "title": "CompUpdate", - "type": "boolean" - }, - "ConnectionTimeout": { - "markdownDescription": "A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you initially establish a connection.", - "title": "ConnectionTimeout", - "type": "number" - }, - "DateFormat": { - "markdownDescription": "The date format that you are using. Valid values are `auto` (case-sensitive), your date format string enclosed in quotes, or NULL. If this parameter is left unset (NULL), it defaults to a format of 'YYYY-MM-DD'. Using `auto` recognizes most strings, even some that aren't supported when you use a date format string.\n\nIf your date and time values use formats different from each other, set this to `auto` .", - "title": "DateFormat", - "type": "string" - }, - "EmptyAsNull": { - "markdownDescription": "A value that specifies whether AWS DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of `true` sets empty CHAR and VARCHAR fields to null. The default is `false` .", - "title": "EmptyAsNull", - "type": "boolean" - }, - "EncryptionMode": { - "markdownDescription": "The type of server-side encryption that you want to use for your data. This encryption type is part of the endpoint settings or the extra connections attributes for Amazon S3. You can choose either `SSE_S3` (the default) or `SSE_KMS` .\n\n> For the `ModifyEndpoint` operation, you can change the existing value of the `EncryptionMode` parameter from `SSE_KMS` to `SSE_S3` . But you can\u2019t change the existing value from `SSE_S3` to `SSE_KMS` . \n\nTo use `SSE_S3` , create an AWS Identity and Access Management (IAM) role with a policy that allows `\"arn:aws:s3:::*\"` to use the following actions: `\"s3:PutObject\", \"s3:ListBucket\"`", - "title": "EncryptionMode", - "type": "string" - }, - "ExplicitIds": { - "markdownDescription": "This setting is only valid for a full-load migration task. Set `ExplicitIds` to `true` to have tables with `IDENTITY` columns override their auto-generated values with explicit values loaded from the source data files used to populate the tables. The default is `false` .", - "title": "ExplicitIds", - "type": "boolean" - }, - "FileTransferUploadStreams": { - "markdownDescription": "The number of threads used to upload a single file. This parameter accepts a value from 1 through 64. It defaults to 10.\n\nThe number of parallel streams used to upload a single .csv file to an S3 bucket using S3 Multipart Upload. For more information, see [Multipart upload overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html) .\n\n`FileTransferUploadStreams` accepts a value from 1 through 64. It defaults to 10.", - "title": "FileTransferUploadStreams", - "type": "number" - }, - "LoadTimeout": { - "markdownDescription": "The amount of time to wait (in milliseconds) before timing out of operations performed by AWS DMS on a Redshift cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE.", - "title": "LoadTimeout", - "type": "number" - }, - "MapBooleanAsBoolean": { - "markdownDescription": "When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as `varchar(1)` . You must set this setting on both the source and target endpoints for it to take effect.", - "title": "MapBooleanAsBoolean", - "type": "boolean" - }, - "MaxFileSize": { - "markdownDescription": "The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer data to Amazon Redshift. It defaults to 1048576KB (1 GB).", - "title": "MaxFileSize", - "type": "number" - }, - "RemoveQuotes": { - "markdownDescription": "A value that specifies to remove surrounding quotation marks from strings in the incoming data. All characters within the quotation marks, including delimiters, are retained. Choose `true` to remove quotation marks. The default is `false` .", - "title": "RemoveQuotes", - "type": "boolean" - }, - "ReplaceChars": { - "markdownDescription": "A value that specifies to replaces the invalid characters specified in `ReplaceInvalidChars` , substituting the specified characters instead. The default is `\"?\"` .", - "title": "ReplaceChars", - "type": "string" - }, - "ReplaceInvalidChars": { - "markdownDescription": "A list of characters that you want to replace. Use with `ReplaceChars` .", - "title": "ReplaceInvalidChars", - "type": "string" - }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the Amazon Redshift endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", - "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the Amazon Redshift endpoint connection details.", - "title": "SecretsManagerSecretId", - "type": "string" - }, - "ServerSideEncryptionKmsKeyId": { - "markdownDescription": "The AWS key ID. If you are using `SSE_KMS` for the `EncryptionMode` , provide this key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of the key.", - "title": "ServerSideEncryptionKmsKeyId", - "type": "string" - }, - "ServiceAccessRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service. The role must allow the `iam:PassRole` action.", - "title": "ServiceAccessRoleArn", - "type": "string" - }, - "TimeFormat": { - "markdownDescription": "The time format that you want to use. Valid values are `auto` (case-sensitive), `'timeformat_string'` , `'epochsecs'` , or `'epochmillisecs'` . It defaults to 10. Using `auto` recognizes most strings, even some that aren't supported when you use a time format string.\n\nIf your date and time values use formats different from each other, set this parameter to `auto` .", - "title": "TimeFormat", - "type": "string" - }, - "TrimBlanks": { - "markdownDescription": "A value that specifies to remove the trailing white space characters from a VARCHAR string. This parameter applies only to columns with a VARCHAR data type. Choose `true` to remove unneeded white space. The default is `false` .", - "title": "TrimBlanks", - "type": "boolean" - }, - "TruncateColumns": { - "markdownDescription": "A value that specifies to truncate data in columns to the appropriate number of characters, so that the data fits in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and rows with a size of 4 MB or less. Choose `true` to truncate data. The default is `false` .", - "title": "TruncateColumns", - "type": "boolean" - }, - "WriteBufferSize": { - "markdownDescription": "The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk at the DMS replication instance. The default value is 1000 (buffer size is 1000KB).", - "title": "WriteBufferSize", - "type": "number" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.S3Settings": { - "additionalProperties": false, - "properties": { - "AddColumnName": { - "markdownDescription": "An optional parameter that, when set to `true` or `y` , you can use to add column name information to the .csv output file.\n\nThe default value is `false` . Valid values are `true` , `false` , `y` , and `n` .", - "title": "AddColumnName", - "type": "boolean" - }, - "AddTrailingPaddingCharacter": { - "markdownDescription": "Use the S3 target endpoint setting `AddTrailingPaddingCharacter` to add padding on string data. The default value is `false` .", - "title": "AddTrailingPaddingCharacter", - "type": "boolean" - }, - "BucketFolder": { - "markdownDescription": "An optional parameter to set a folder name in the S3 bucket. If provided, tables are created in the path `*bucketFolder* / *schema_name* / *table_name* /` . If this parameter isn't specified, the path used is `*schema_name* / *table_name* /` .", - "title": "BucketFolder", - "type": "string" - }, - "BucketName": { - "markdownDescription": "The name of the S3 bucket.", - "title": "BucketName", - "type": "string" - }, - "CannedAclForObjects": { - "markdownDescription": "A value that enables AWS DMS to specify a predefined (canned) access control list (ACL) for objects created in an Amazon S3 bucket as .csv or .parquet files. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 Developer Guide* .\n\nThe default value is NONE. Valid values include NONE, PRIVATE, PUBLIC_READ, PUBLIC_READ_WRITE, AUTHENTICATED_READ, AWS_EXEC_READ, BUCKET_OWNER_READ, and BUCKET_OWNER_FULL_CONTROL.", - "title": "CannedAclForObjects", - "type": "string" - }, - "CdcInsertsAndUpdates": { - "markdownDescription": "A value that enables a change data capture (CDC) load to write INSERT and UPDATE operations to .csv or .parquet (columnar storage) output files. The default setting is `false` , but when `CdcInsertsAndUpdates` is set to `true` or `y` , only INSERTs and UPDATEs from the source database are migrated to the .csv or .parquet file.\n\nFor .csv file format only, how these INSERTs and UPDATEs are recorded depends on the value of the `IncludeOpForFullLoad` parameter. If `IncludeOpForFullLoad` is set to `true` , the first field of every CDC record is set to either `I` or `U` to indicate INSERT and UPDATE operations at the source. But if `IncludeOpForFullLoad` is set to `false` , CDC records are written without an indication of INSERT or UPDATE operations at the source. For more information about how these settings work together, see [Indicating Source DB Operations in Migrated S3 Data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps) in the *AWS Database Migration Service User Guide* .\n\n> AWS DMS supports the use of the `CdcInsertsAndUpdates` parameter in versions 3.3.1 and later.\n> \n> `CdcInsertsOnly` and `CdcInsertsAndUpdates` can't both be set to `true` for the same endpoint. Set either `CdcInsertsOnly` or `CdcInsertsAndUpdates` to `true` for the same endpoint, but not both.", - "title": "CdcInsertsAndUpdates", - "type": "boolean" - }, - "CdcInsertsOnly": { - "markdownDescription": "A value that enables a change data capture (CDC) load to write only INSERT operations to .csv or columnar storage (.parquet) output files. By default (the `false` setting), the first field in a .csv or .parquet record contains the letter I (INSERT), U (UPDATE), or D (DELETE). These values indicate whether the row was inserted, updated, or deleted at the source database for a CDC load to the target.\n\nIf `CdcInsertsOnly` is set to `true` or `y` , only INSERTs from the source database are migrated to the .csv or .parquet file. For .csv format only, how these INSERTs are recorded depends on the value of `IncludeOpForFullLoad` . If `IncludeOpForFullLoad` is set to `true` , the first field of every CDC record is set to I to indicate the INSERT operation at the source. If `IncludeOpForFullLoad` is set to `false` , every CDC record is written without a first field to indicate the INSERT operation at the source. For more information about how these settings work together, see [Indicating Source DB Operations in Migrated S3 Data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps) in the *AWS Database Migration Service User Guide* .\n\n> AWS DMS supports the interaction described preceding between the `CdcInsertsOnly` and `IncludeOpForFullLoad` parameters in versions 3.1.4 and later.\n> \n> `CdcInsertsOnly` and `CdcInsertsAndUpdates` can't both be set to `true` for the same endpoint. Set either `CdcInsertsOnly` or `CdcInsertsAndUpdates` to `true` for the same endpoint, but not both.", - "title": "CdcInsertsOnly", - "type": "boolean" - }, - "CdcMaxBatchInterval": { - "markdownDescription": "Maximum length of the interval, defined in seconds, after which to output a file to Amazon S3.\n\nWhen `CdcMaxBatchInterval` and `CdcMinFileSize` are both specified, the file write is triggered by whichever parameter condition is met first within an AWS DMS CloudFormation template.\n\nThe default value is 60 seconds.", - "title": "CdcMaxBatchInterval", - "type": "number" - }, - "CdcMinFileSize": { - "markdownDescription": "Minimum file size, defined in kilobytes, to reach for a file output to Amazon S3.\n\nWhen `CdcMinFileSize` and `CdcMaxBatchInterval` are both specified, the file write is triggered by whichever parameter condition is met first within an AWS DMS CloudFormation template.\n\nThe default value is 32 MB.", - "title": "CdcMinFileSize", - "type": "number" - }, - "CdcPath": { - "markdownDescription": "Specifies the folder path of CDC files. For an S3 source, this setting is required if a task captures change data; otherwise, it's optional. If `CdcPath` is set, AWS DMS reads CDC files from this path and replicates the data changes to the target endpoint. For an S3 target if you set [`PreserveTransactions`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-PreserveTransactions) to `true` , AWS DMS verifies that you have set this parameter to a folder path on your S3 target where AWS DMS can save the transaction order for the CDC load. AWS DMS creates this CDC folder path in either your S3 target working directory or the S3 target location specified by [`BucketFolder`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-BucketFolder) and [`BucketName`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-BucketName) .\n\nFor example, if you specify `CdcPath` as `MyChangedData` , and you specify `BucketName` as `MyTargetBucket` but do not specify `BucketFolder` , AWS DMS creates the CDC folder path following: `MyTargetBucket/MyChangedData` .\n\nIf you specify the same `CdcPath` , and you specify `BucketName` as `MyTargetBucket` and `BucketFolder` as `MyTargetData` , AWS DMS creates the CDC folder path following: `MyTargetBucket/MyTargetData/MyChangedData` .\n\nFor more information on CDC including transaction order on an S3 target, see [Capturing data changes (CDC) including transaction order on the S3 target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.EndpointSettings.CdcPath) .\n\n> This setting is supported in AWS DMS versions 3.4.2 and later.", - "title": "CdcPath", - "type": "string" - }, - "CompressionType": { - "markdownDescription": "An optional parameter. When set to GZIP it enables the service to compress the target files. To allow the service to write the target files uncompressed, either set this parameter to NONE (the default) or don't specify the parameter at all. This parameter applies to both .csv and .parquet file formats.", - "title": "CompressionType", - "type": "string" - }, - "CsvDelimiter": { - "markdownDescription": "The delimiter used to separate columns in the .csv file for both source and target. The default is a comma.", - "title": "CsvDelimiter", - "type": "string" - }, - "CsvNoSupValue": { - "markdownDescription": "This setting only applies if your Amazon S3 output files during a change data capture (CDC) load are written in .csv format. If [`UseCsvNoSupValue`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-UseCsvNoSupValue) is set to true, specify a string value that you want AWS DMS to use for all columns not included in the supplemental log. If you do not specify a string value, AWS DMS uses the null value for these columns regardless of the `UseCsvNoSupValue` setting.\n\n> This setting is supported in AWS DMS versions 3.4.1 and later.", - "title": "CsvNoSupValue", - "type": "string" - }, - "CsvNullValue": { - "markdownDescription": "An optional parameter that specifies how AWS DMS treats null values. While handling the null value, you can use this parameter to pass a user-defined string as null when writing to the target. For example, when target columns are not nullable, you can use this option to differentiate between the empty string value and the null value. So, if you set this parameter value to the empty string (\"\" or ''), AWS DMS treats the empty string as the null value instead of `NULL` .\n\nThe default value is `NULL` . Valid values include any valid string.", - "title": "CsvNullValue", - "type": "string" - }, - "CsvRowDelimiter": { - "markdownDescription": "The delimiter used to separate rows in the .csv file for both source and target.\n\nThe default is a carriage return ( `\\n` ).", - "title": "CsvRowDelimiter", - "type": "string" - }, - "DataFormat": { - "markdownDescription": "The format of the data that you want to use for output. You can choose one of the following:\n\n- `csv` : This is a row-based file format with comma-separated values (.csv).\n- `parquet` : Apache Parquet (.parquet) is a columnar storage file format that features efficient compression and provides faster query response.", - "title": "DataFormat", - "type": "string" - }, - "DataPageSize": { - "markdownDescription": "The size of one data page in bytes. This parameter defaults to 1024 * 1024 bytes (1 MiB). This number is used for .parquet file format only.", - "title": "DataPageSize", - "type": "number" - }, - "DatePartitionDelimiter": { - "markdownDescription": "Specifies a date separating delimiter to use during folder partitioning. The default value is `SLASH` . Use this parameter when `DatePartitionedEnabled` is set to `true` .", - "title": "DatePartitionDelimiter", - "type": "string" - }, - "DatePartitionEnabled": { - "markdownDescription": "When set to `true` , this parameter partitions S3 bucket folders based on transaction commit dates. The default value is `false` . For more information about date-based folder partitioning, see [Using date-based folder partitioning](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.DatePartitioning) .", - "title": "DatePartitionEnabled", - "type": "boolean" - }, - "DatePartitionSequence": { - "markdownDescription": "Identifies the sequence of the date format to use during folder partitioning. The default value is `YYYYMMDD` . Use this parameter when `DatePartitionedEnabled` is set to `true` .", - "title": "DatePartitionSequence", - "type": "string" - }, - "DatePartitionTimezone": { - "markdownDescription": "When creating an S3 target endpoint, set `DatePartitionTimezone` to convert the current UTC time into a specified time zone. The conversion occurs when a date partition folder is created and a change data capture (CDC) file name is generated. The time zone format is Area/Location. Use this parameter when `DatePartitionedEnabled` is set to `true` , as shown in the following example.\n\n`s3-settings='{\"DatePartitionEnabled\": true, \"DatePartitionSequence\": \"YYYYMMDDHH\", \"DatePartitionDelimiter\": \"SLASH\", \"DatePartitionTimezone\":\" *Asia/Seoul* \", \"BucketName\": \"dms-nattarat-test\"}'`", - "title": "DatePartitionTimezone", - "type": "string" - }, - "DictPageSizeLimit": { - "markdownDescription": "The maximum size of an encoded dictionary page of a column. If the dictionary page exceeds this, this column is stored using an encoding type of `PLAIN` . This parameter defaults to 1024 * 1024 bytes (1 MiB), the maximum size of a dictionary page before it reverts to `PLAIN` encoding. This size is used for .parquet file format only.", - "title": "DictPageSizeLimit", - "type": "number" - }, - "EnableStatistics": { - "markdownDescription": "A value that enables statistics for Parquet pages and row groups. Choose `true` to enable statistics, `false` to disable. Statistics include `NULL` , `DISTINCT` , `MAX` , and `MIN` values. This parameter defaults to `true` . This value is used for .parquet file format only.", - "title": "EnableStatistics", - "type": "boolean" - }, - "EncodingType": { - "markdownDescription": "The type of encoding that you're using:\n\n- `RLE_DICTIONARY` uses a combination of bit-packing and run-length encoding to store repeated values more efficiently. This is the default.\n- `PLAIN` doesn't use encoding at all. Values are stored as they are.\n- `PLAIN_DICTIONARY` builds a dictionary of the values encountered in a given column. The dictionary is stored in a dictionary page for each column chunk.", - "title": "EncodingType", - "type": "string" - }, - "EncryptionMode": { - "markdownDescription": "The type of server-side encryption that you want to use for your data. This encryption type is part of the endpoint settings or the extra connections attributes for Amazon S3. You can choose either `SSE_S3` (the default) or `SSE_KMS` .\n\n> For the `ModifyEndpoint` operation, you can change the existing value of the `EncryptionMode` parameter from `SSE_KMS` to `SSE_S3` . But you can\u2019t change the existing value from `SSE_S3` to `SSE_KMS` . \n\nTo use `SSE_S3` , you need an IAM role with permission to allow `\"arn:aws:s3:::dms-*\"` to use the following actions:\n\n- `s3:CreateBucket`\n- `s3:ListBucket`\n- `s3:DeleteBucket`\n- `s3:GetBucketLocation`\n- `s3:GetObject`\n- `s3:PutObject`\n- `s3:DeleteObject`\n- `s3:GetObjectVersion`\n- `s3:GetBucketPolicy`\n- `s3:PutBucketPolicy`\n- `s3:DeleteBucketPolicy`", - "title": "EncryptionMode", - "type": "string" - }, - "ExpectedBucketOwner": { - "markdownDescription": "To specify a bucket owner and prevent sniping, you can use the `ExpectedBucketOwner` endpoint setting.\n\nExample: `--s3-settings='{\"ExpectedBucketOwner\": \" *AWS_Account_ID* \"}'`\n\nWhen you make a request to test a connection or perform a migration, S3 checks the account ID of the bucket owner against the specified parameter.", - "title": "ExpectedBucketOwner", - "type": "string" - }, - "ExternalTableDefinition": { - "markdownDescription": "The external table definition.\n\nConditional: If `S3` is used as a source then `ExternalTableDefinition` is required.", - "title": "ExternalTableDefinition", - "type": "string" - }, - "GlueCatalogGeneration": { - "markdownDescription": "When true, allows AWS Glue to catalog your S3 bucket. Creating an AWS Glue catalog lets you use Athena to query your data.", - "title": "GlueCatalogGeneration", - "type": "boolean" - }, - "IgnoreHeaderRows": { - "markdownDescription": "When this value is set to 1, AWS DMS ignores the first row header in a .csv file. A value of 1 turns on the feature; a value of 0 turns off the feature.\n\nThe default is 0.", - "title": "IgnoreHeaderRows", - "type": "number" - }, - "IncludeOpForFullLoad": { - "markdownDescription": "A value that enables a full load to write INSERT operations to the comma-separated value (.csv) output files only to indicate how the rows were added to the source database.\n\n> AWS DMS supports the `IncludeOpForFullLoad` parameter in versions 3.1.4 and later. \n\nFor full load, records can only be inserted. By default (the `false` setting), no information is recorded in these output files for a full load to indicate that the rows were inserted at the source database. If `IncludeOpForFullLoad` is set to `true` or `y` , the INSERT is recorded as an I annotation in the first field of the .csv file. This allows the format of your target records from a full load to be consistent with the target records from a CDC load.\n\n> This setting works together with the `CdcInsertsOnly` and the `CdcInsertsAndUpdates` parameters for output to .csv files only. For more information about how these settings work together, see [Indicating Source DB Operations in Migrated S3 Data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps) in the *AWS Database Migration Service User Guide* .", - "title": "IncludeOpForFullLoad", - "type": "boolean" - }, - "MaxFileSize": { - "markdownDescription": "A value that specifies the maximum size (in KB) of any .csv file to be created while migrating to an S3 target during full load.\n\nThe default value is 1,048,576 KB (1 GB). Valid values include 1 to 1,048,576.", - "title": "MaxFileSize", - "type": "number" - }, - "ParquetTimestampInMillisecond": { - "markdownDescription": "A value that specifies the precision of any `TIMESTAMP` column values that are written to an Amazon S3 object file in .parquet format.\n\n> AWS DMS supports the `ParquetTimestampInMillisecond` parameter in versions 3.1.4 and later. \n\nWhen `ParquetTimestampInMillisecond` is set to `true` or `y` , AWS DMS writes all `TIMESTAMP` columns in a .parquet formatted file with millisecond precision. Otherwise, DMS writes them with microsecond precision.\n\nCurrently, Amazon Athena and AWS Glue can handle only millisecond precision for `TIMESTAMP` values. Set this parameter to `true` for S3 endpoint object files that are .parquet formatted only if you plan to query or process the data with Athena or AWS Glue .\n\n> AWS DMS writes any `TIMESTAMP` column values written to an S3 file in .csv format with microsecond precision.\n> \n> Setting `ParquetTimestampInMillisecond` has no effect on the string format of the timestamp column value that is inserted by setting the `TimestampColumnName` parameter.", - "title": "ParquetTimestampInMillisecond", - "type": "boolean" - }, - "ParquetVersion": { - "markdownDescription": "The version of the Apache Parquet format that you want to use: `parquet_1_0` (the default) or `parquet_2_0` .", - "title": "ParquetVersion", - "type": "string" - }, - "PreserveTransactions": { - "markdownDescription": "If this setting is set to `true` , AWS DMS saves the transaction order for a change data capture (CDC) load on the Amazon S3 target specified by [`CdcPath`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-CdcPath) . For more information, see [Capturing data changes (CDC) including transaction order on the S3 target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.EndpointSettings.CdcPath) .\n\n> This setting is supported in AWS DMS versions 3.4.2 and later.", - "title": "PreserveTransactions", - "type": "boolean" - }, - "Rfc4180": { - "markdownDescription": "For an S3 source, when this value is set to `true` or `y` , each leading double quotation mark has to be followed by an ending double quotation mark. This formatting complies with RFC 4180. When this value is set to `false` or `n` , string literals are copied to the target as is. In this case, a delimiter (row or column) signals the end of the field. Thus, you can't use a delimiter as part of the string, because it signals the end of the value.\n\nFor an S3 target, an optional parameter used to set behavior to comply with RFC 4180 for data migrated to Amazon S3 using .csv file format only. When this value is set to `true` or `y` using Amazon S3 as a target, if the data has quotation marks or newline characters in it, AWS DMS encloses the entire column with an additional pair of double quotation marks (\"). Every quotation mark within the data is repeated twice.\n\nThe default value is `true` . Valid values include `true` , `false` , `y` , and `n` .", - "title": "Rfc4180", - "type": "boolean" - }, - "RowGroupLength": { - "markdownDescription": "The number of rows in a row group. A smaller row group size provides faster reads. But as the number of row groups grows, the slower writes become. This parameter defaults to 10,000 rows. This number is used for .parquet file format only.\n\nIf you choose a value larger than the maximum, `RowGroupLength` is set to the max row group length in bytes (64 * 1024 * 1024).", - "title": "RowGroupLength", - "type": "number" - }, - "ServerSideEncryptionKmsKeyId": { - "markdownDescription": "If you are using `SSE_KMS` for the `EncryptionMode` , provide the AWS key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of the key.\n\nHere is a CLI example: `aws dms create-endpoint --endpoint-identifier *value* --endpoint-type target --engine-name s3 --s3-settings ServiceAccessRoleArn= *value* ,BucketFolder= *value* ,BucketName= *value* ,EncryptionMode=SSE_KMS,ServerSideEncryptionKmsKeyId= *value*`", - "title": "ServerSideEncryptionKmsKeyId", - "type": "string" - }, - "ServiceAccessRoleArn": { - "markdownDescription": "A required parameter that specifies the Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the `iam:PassRole` action. It enables AWS DMS to read and write objects from an S3 bucket.", - "title": "ServiceAccessRoleArn", - "type": "string" - }, - "TimestampColumnName": { - "markdownDescription": "A value that when nonblank causes AWS DMS to add a column with timestamp information to the endpoint data for an Amazon S3 target.\n\n> AWS DMS supports the `TimestampColumnName` parameter in versions 3.1.4 and later. \n\nAWS DMS includes an additional `STRING` column in the .csv or .parquet object files of your migrated data when you set `TimestampColumnName` to a nonblank value.\n\nFor a full load, each row of this timestamp column contains a timestamp for when the data was transferred from the source to the target by DMS.\n\nFor a change data capture (CDC) load, each row of the timestamp column contains the timestamp for the commit of that row in the source database.\n\nThe string format for this timestamp column value is `yyyy-MM-dd HH:mm:ss.SSSSSS` . By default, the precision of this value is in microseconds. For a CDC load, the rounding of the precision depends on the commit timestamp supported by DMS for the source database.\n\nWhen the `AddColumnName` parameter is set to `true` , DMS also includes a name for the timestamp column that you set with `TimestampColumnName` .", - "title": "TimestampColumnName", - "type": "string" - }, - "UseCsvNoSupValue": { - "markdownDescription": "This setting applies if the S3 output files during a change data capture (CDC) load are written in .csv format. If this setting is set to `true` for columns not included in the supplemental log, AWS DMS uses the value specified by [`CsvNoSupValue`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-CsvNoSupValue) . If this setting isn't set or is set to `false` , AWS DMS uses the null value for these columns.\n\n> This setting is supported in AWS DMS versions 3.4.1 and later.", - "title": "UseCsvNoSupValue", - "type": "boolean" - }, - "UseTaskStartTimeForFullLoadTimestamp": { - "markdownDescription": "When set to true, this parameter uses the task start time as the timestamp column value instead of the time data is written to target. For full load, when `useTaskStartTimeForFullLoadTimestamp` is set to `true` , each row of the timestamp column contains the task start time. For CDC loads, each row of the timestamp column contains the transaction commit time.\n\nWhen `useTaskStartTimeForFullLoadTimestamp` is set to `false` , the full load timestamp in the timestamp column increments with the time data arrives at the target.", - "title": "UseTaskStartTimeForFullLoadTimestamp", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.SybaseSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the SAP ASE endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", - "title": "SecretsManagerAccessRoleArn", - "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the SAP SAE endpoint connection details.", - "title": "SecretsManagerSecretId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::EventSubscription": { + "AWS::ControlTower::EnabledBaseline": { "additionalProperties": false, "properties": { "Condition": { @@ -101258,59 +100210,48 @@ "Properties": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "Indicates whether to activate the subscription. If you don't specify this property, CloudFormation activates the subscription.", - "title": "Enabled", - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of event categories for a source type that you want to subscribe to. If you don't specify this property, you are notified about all event categories. For more information, see [Working with Events and Notifications](https://docs.aws.amazon.com//dms/latest/userguide/CHAP_Events.html) in the *AWS DMS User Guide* .", - "title": "EventCategories", - "type": "array" + "BaselineIdentifier": { + "markdownDescription": "The specific `Baseline` enabled as part of the `EnabledBaseline` resource.", + "title": "BaselineIdentifier", + "type": "string" }, - "SnsTopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.", - "title": "SnsTopicArn", + "BaselineVersion": { + "markdownDescription": "The enabled version of the `Baseline` .", + "title": "BaselineVersion", "type": "string" }, - "SourceIds": { + "Parameters": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ControlTower::EnabledBaseline.Parameter" }, - "markdownDescription": "A list of identifiers for which AWS DMS provides notification events.\n\nIf you don't specify a value, notifications are provided for all sources.\n\nIf you specify multiple values, they must be of the same type. For example, if you specify a database instance ID, then all of the other values must be database instance IDs.", - "title": "SourceIds", + "markdownDescription": "Shows the parameters that are applied when enabling this `Baseline` .", + "title": "Parameters", "type": "array" }, - "SourceType": { - "markdownDescription": "The type of AWS DMS resource that generates the events. For example, if you want to be notified of events generated by a replication instance, you set this parameter to `replication-instance` . If this value isn't specified, all events are returned.\n\n*Valid values* : `replication-instance` | `replication-task`", - "title": "SourceType", - "type": "string" - }, - "SubscriptionName": { - "markdownDescription": "The name of the AWS DMS event notification subscription. This name must be less than 255 characters.", - "title": "SubscriptionName", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more tags to be assigned to the event subscription.", + "markdownDescription": "", "title": "Tags", "type": "array" + }, + "TargetIdentifier": { + "markdownDescription": "The target on which to enable the `Baseline` .", + "title": "TargetIdentifier", + "type": "string" } }, "required": [ - "SnsTopicArn" + "BaselineIdentifier", + "BaselineVersion", + "TargetIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::EventSubscription" + "AWS::ControlTower::EnabledBaseline" ], "type": "string" }, @@ -101329,7 +100270,23 @@ ], "type": "object" }, - "AWS::DMS::InstanceProfile": { + "AWS::ControlTower::EnabledBaseline.Parameter": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "", + "title": "Value", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ControlTower::EnabledControl": { "additionalProperties": false, "properties": { "Condition": { @@ -101364,45 +100321,18 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone where the instance profile runs.", - "title": "AvailabilityZone", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the instance profile. Descriptions can have up to 31 characters. A description can contain only ASCII letters, digits, and hyphens ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter.", - "title": "Description", - "type": "string" - }, - "InstanceProfileIdentifier": { - "markdownDescription": "The identifier of the instance profile. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", - "title": "InstanceProfileIdentifier", - "type": "string" - }, - "InstanceProfileName": { - "markdownDescription": "The user-friendly name for the instance profile.", - "title": "InstanceProfileName", - "type": "string" - }, - "KmsKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS key that is used to encrypt the connection parameters for the instance profile.\n\nIf you don't specify a value for the `KmsKeyArn` parameter, then AWS DMS uses an AWS owned encryption key to encrypt your resources.", - "title": "KmsKeyArn", - "type": "string" - }, - "NetworkType": { - "markdownDescription": "Specifies the network type for the instance profile. A value of `IPV4` represents an instance profile with IPv4 network type and only supports IPv4 addressing. A value of `IPV6` represents an instance profile with IPv6 network type and only supports IPv6 addressing. A value of `DUAL` represents an instance profile with dual network type that supports IPv4 and IPv6 addressing.", - "title": "NetworkType", + "ControlIdentifier": { + "markdownDescription": "The ARN of the control. Only *Strongly recommended* and *Elective* controls are permitted, with the exception of the *Region deny* control. For information on how to find the `controlIdentifier` , see [the overview page](https://docs.aws.amazon.com//controltower/latest/APIReference/Welcome.html) .", + "title": "ControlIdentifier", "type": "string" }, - "PubliclyAccessible": { - "markdownDescription": "Specifies the accessibility options for the instance profile. A value of `true` represents an instance profile with a public IP address. A value of `false` represents an instance profile with a private IP address. The default value is `true` .", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "SubnetGroupIdentifier": { - "markdownDescription": "The identifier of the subnet group that is associated with the instance profile.", - "title": "SubnetGroupIdentifier", - "type": "string" + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ControlTower::EnabledControl.EnabledControlParameter" + }, + "markdownDescription": "Array of `EnabledControlParameter` objects.", + "title": "Parameters", + "type": "array" }, "Tags": { "items": { @@ -101412,20 +100342,21 @@ "title": "Tags", "type": "array" }, - "VpcSecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "The VPC security groups that are used with the instance profile. The VPC security group must work with the VPC containing the instance profile.", - "title": "VpcSecurityGroups", - "type": "array" + "TargetIdentifier": { + "markdownDescription": "The ARN of the organizational unit. For information on how to find the `targetIdentifier` , see [the overview page](https://docs.aws.amazon.com//controltower/latest/APIReference/Welcome.html) .", + "title": "TargetIdentifier", + "type": "string" } }, + "required": [ + "ControlIdentifier", + "TargetIdentifier" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::InstanceProfile" + "AWS::ControlTower::EnabledControl" ], "type": "string" }, @@ -101439,11 +100370,32 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DMS::MigrationProject": { + "AWS::ControlTower::EnabledControl.EnabledControlParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The key of a key/value pair. It is of type `string` .", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of a key/value pair. It can be of type `array` , `string` , `number` , `object` , or `boolean` . [Note: The *Type* field that follows may show a single type such as Number, which is only one possible type.]", + "title": "Value", + "type": "object" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ControlTower::LandingZone": { "additionalProperties": false, "properties": { "Condition": { @@ -101478,76 +100430,42 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A user-friendly description of the migration project.", - "title": "Description", - "type": "string" - }, - "InstanceProfileArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile for your migration project.", - "title": "InstanceProfileArn", - "type": "string" - }, - "InstanceProfileIdentifier": { - "markdownDescription": "The identifier of the instance profile for your migration project.", - "title": "InstanceProfileIdentifier", - "type": "string" - }, - "InstanceProfileName": { - "markdownDescription": "The name of the associated instance profile.", - "title": "InstanceProfileName", - "type": "string" - }, - "MigrationProjectIdentifier": { - "markdownDescription": "The identifier of the migration project. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", - "title": "MigrationProjectIdentifier", - "type": "string" - }, - "MigrationProjectName": { - "markdownDescription": "The name of the migration project.", - "title": "MigrationProjectName", - "type": "string" - }, - "SchemaConversionApplicationAttributes": { - "$ref": "#/definitions/AWS::DMS::MigrationProject.SchemaConversionApplicationAttributes", - "markdownDescription": "The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN.", - "title": "SchemaConversionApplicationAttributes" + "Manifest": { + "markdownDescription": "The landing zone manifest JSON text file that specifies the landing zone configurations.", + "title": "Manifest", + "type": "object" }, - "SourceDataProviderDescriptors": { + "RemediationTypes": { "items": { - "$ref": "#/definitions/AWS::DMS::MigrationProject.DataProviderDescriptor" + "type": "string" }, - "markdownDescription": "Information about the source data provider, including the name or ARN, and AWS Secrets Manager parameters.", - "title": "SourceDataProviderDescriptors", + "markdownDescription": "The types of remediation actions configured for the landing zone, such as automatic drift correction or compliance enforcement.", + "title": "RemediationTypes", "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "Tags to be applied to the landing zone.", "title": "Tags", "type": "array" }, - "TargetDataProviderDescriptors": { - "items": { - "$ref": "#/definitions/AWS::DMS::MigrationProject.DataProviderDescriptor" - }, - "markdownDescription": "Information about the target data provider, including the name or ARN, and AWS Secrets Manager parameters.", - "title": "TargetDataProviderDescriptors", - "type": "array" - }, - "TransformationRules": { - "markdownDescription": "The settings in JSON format for migration rules. Migration rules make it possible for you to change the object names according to the rules that you specify. For example, you can change an object name to lowercase or uppercase, add or remove a prefix or suffix, or rename objects.", - "title": "TransformationRules", + "Version": { + "markdownDescription": "The landing zone's current deployed version.", + "title": "Version", "type": "string" } }, + "required": [ + "Manifest", + "Version" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::MigrationProject" + "AWS::ControlTower::LandingZone" ], "type": "string" }, @@ -101561,58 +100479,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DMS::MigrationProject.DataProviderDescriptor": { - "additionalProperties": false, - "properties": { - "DataProviderArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the data provider.", - "title": "DataProviderArn", - "type": "string" - }, - "DataProviderIdentifier": { - "markdownDescription": "", - "title": "DataProviderIdentifier", - "type": "string" - }, - "DataProviderName": { - "markdownDescription": "The user-friendly name of the data provider.", - "title": "DataProviderName", - "type": "string" - }, - "SecretsManagerAccessRoleArn": { - "markdownDescription": "The ARN of the role used to access AWS Secrets Manager.", - "title": "SecretsManagerAccessRoleArn", - "type": "string" - }, - "SecretsManagerSecretId": { - "markdownDescription": "The identifier of the AWS Secrets Manager Secret used to store access credentials for the data provider.", - "title": "SecretsManagerSecretId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::MigrationProject.SchemaConversionApplicationAttributes": { - "additionalProperties": false, - "properties": { - "S3BucketPath": { - "markdownDescription": "", - "title": "S3BucketPath", - "type": "string" - }, - "S3BucketRoleArn": { - "markdownDescription": "", - "title": "S3BucketRoleArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::ReplicationConfig": { + "AWS::CustomerProfiles::CalculatedAttributeDefinition": { "additionalProperties": false, "properties": { "Condition": { @@ -101647,73 +100519,66 @@ "Properties": { "additionalProperties": false, "properties": { - "ComputeConfig": { - "$ref": "#/definitions/AWS::DMS::ReplicationConfig.ComputeConfig", - "markdownDescription": "Configuration parameters for provisioning an AWS DMS Serverless replication.", - "title": "ComputeConfig" + "AttributeDetails": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails", + "markdownDescription": "Mathematical expression and a list of attribute items specified in that expression.", + "title": "AttributeDetails" }, - "ReplicationConfigIdentifier": { - "markdownDescription": "A unique identifier that you want to use to create a `ReplicationConfigArn` that is returned as part of the output from this action. You can then pass this output `ReplicationConfigArn` as the value of the `ReplicationConfigArn` option for other actions to identify both AWS DMS Serverless replications and replication configurations that you want those actions to operate on. For some actions, you can also use either this unique identifier or a corresponding ARN in action filters to identify the specific replication and replication configuration to operate on.", - "title": "ReplicationConfigIdentifier", + "CalculatedAttributeName": { + "markdownDescription": "The name of an attribute defined in a profile object type.", + "title": "CalculatedAttributeName", "type": "string" }, - "ReplicationSettings": { - "markdownDescription": "Optional JSON settings for AWS DMS Serverless replications that are provisioned using this replication configuration. For example, see [Change processing tuning settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html) .", - "title": "ReplicationSettings", - "type": "object" + "Conditions": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions", + "markdownDescription": "The conditions including range, object count, and threshold for the calculated attribute.", + "title": "Conditions" }, - "ReplicationType": { - "markdownDescription": "The type of AWS DMS Serverless replication to provision using this replication configuration.\n\nPossible values:\n\n- `\"full-load\"`\n- `\"cdc\"`\n- `\"full-load-and-cdc\"`", - "title": "ReplicationType", + "Description": { + "markdownDescription": "The description of the calculated attribute.", + "title": "Description", "type": "string" }, - "ResourceIdentifier": { - "markdownDescription": "Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see [Fine-grained access control using resource names and tags](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.FineGrainedAccess) .", - "title": "ResourceIdentifier", + "DisplayName": { + "markdownDescription": "The display name of the calculated attribute.", + "title": "DisplayName", "type": "string" }, - "SourceEndpointArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration.", - "title": "SourceEndpointArn", + "DomainName": { + "markdownDescription": "The unique name of the domain.", + "title": "DomainName", "type": "string" }, - "SupplementalSettings": { - "markdownDescription": "Optional JSON settings for specifying supplemental data. For more information, see [Specifying supplemental data for task settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html) .", - "title": "SupplementalSettings", - "type": "object" - }, - "TableMappings": { - "markdownDescription": "JSON table mappings for AWS DMS Serverless replications that are provisioned using this replication configuration. For more information, see [Specifying table selection and transformations rules using JSON](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.html) .", - "title": "TableMappings", - "type": "object" + "Statistic": { + "markdownDescription": "The aggregation operation to perform for the calculated attribute.", + "title": "Statistic", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more optional tags associated with resources used by the AWS DMS Serverless replication. For more information, see [Tagging resources in AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tagging.html) .", + "markdownDescription": "An array of key-value pairs to apply to this resource.", "title": "Tags", "type": "array" }, - "TargetEndpointArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the target endpoint for this AWS DMS serverless replication configuration.", - "title": "TargetEndpointArn", - "type": "string" + "UseHistoricalData": { + "markdownDescription": "Whether historical data ingested before the Calculated Attribute was created should be included in calculations.", + "title": "UseHistoricalData", + "type": "boolean" } }, "required": [ - "ComputeConfig", - "ReplicationConfigIdentifier", - "ReplicationType", - "SourceEndpointArn", - "TableMappings", - "TargetEndpointArn" + "AttributeDetails", + "CalculatedAttributeName", + "DomainName", + "Statistic" ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::ReplicationConfig" + "AWS::CustomerProfiles::CalculatedAttributeDefinition" ], "type": "string" }, @@ -101732,64 +100597,155 @@ ], "type": "object" }, - "AWS::DMS::ReplicationConfig.ComputeConfig": { + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone where the AWS DMS Serverless replication using this configuration will run. The default value is a random, system-chosen Availability Zone in the configuration's AWS Region , for example, `\"us-west-2\"` . You can't set this parameter if the `MultiAZ` parameter is set to `true` .", - "title": "AvailabilityZone", + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem" + }, + "markdownDescription": "Mathematical expression and a list of attribute items specified in that expression.", + "title": "Attributes", + "type": "array" + }, + "Expression": { + "markdownDescription": "Mathematical expression that is performed on attribute items provided in the attribute list. Each element in the expression should follow the structure of \\\"{ObjectTypeName.AttributeName}\\\".", + "title": "Expression", + "type": "string" + } + }, + "required": [ + "Attributes", + "Expression" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The unique name of the calculated attribute.", + "title": "Name", "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions": { + "additionalProperties": false, + "properties": { + "ObjectCount": { + "markdownDescription": "The number of profile objects used for the calculated attribute.", + "title": "ObjectCount", + "type": "number" }, - "DnsNameServers": { - "markdownDescription": "A list of custom DNS name servers supported for the AWS DMS Serverless replication to access your source or target database. This list overrides the default name servers supported by the AWS DMS Serverless replication. You can specify a comma-separated list of internet addresses for up to four DNS name servers. For example: `\"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4\"`", - "title": "DnsNameServers", + "Range": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Range", + "markdownDescription": "The relative time period over which data is included in the aggregation.", + "title": "Range" + }, + "Threshold": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold", + "markdownDescription": "The threshold for the calculated attribute.", + "title": "Threshold" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Range": { + "additionalProperties": false, + "properties": { + "TimestampFormat": { + "markdownDescription": "The format the timestamp field in your JSON object is specified. This value should be one of EPOCHMILLI (for Unix epoch timestamps with second/millisecond level precision) or ISO_8601 (following ISO_8601 format with second/millisecond level precision, with an optional offset of Z or in the format HH:MM or HHMM.). E.g. if your object type is MyType and source JSON is {\"generatedAt\": {\"timestamp\": \"2001-07-04T12:08:56.235-0700\"}}, then TimestampFormat should be \"ISO_8601\"", + "title": "TimestampFormat", "type": "string" }, - "KmsKeyId": { - "markdownDescription": "An AWS Key Management Service ( AWS ) key Amazon Resource Name (ARN) that is used to encrypt the data during AWS DMS Serverless replication.\n\nIf you don't specify a value for the `KmsKeyId` parameter, AWS DMS uses your default encryption key.\n\nAWS creates the default encryption key for your Amazon Web Services account. Your AWS account has a different default encryption key for each AWS Region .", - "title": "KmsKeyId", + "TimestampSource": { + "markdownDescription": "An expression specifying the field in your JSON object from which the date should be parsed. The expression should follow the structure of \\\"{ObjectTypeName.}\\\". E.g. if your object type is MyType and source JSON is {\"generatedAt\": {\"timestamp\": \"1737587945945\"}}, then TimestampSource should be \"{MyType.generatedAt.timestamp}\"", + "title": "TimestampSource", "type": "string" }, - "MaxCapacityUnits": { - "markdownDescription": "Specifies the maximum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the maximum value that you can specify for AWS DMS Serverless is 384. The `MaxCapacityUnits` parameter is the only DCU parameter you are required to specify.", - "title": "MaxCapacityUnits", - "type": "number" + "Unit": { + "markdownDescription": "The unit of time.", + "title": "Unit", + "type": "string" }, - "MinCapacityUnits": { - "markdownDescription": "Specifies the minimum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the minimum DCU value that you can specify for AWS DMS Serverless is 1. If you don't set this value, AWS DMS sets this parameter to the minimum DCU value allowed, 1. If there is no current source activity, AWS DMS scales down your replication until it reaches the value specified in `MinCapacityUnits` .", - "title": "MinCapacityUnits", + "Value": { + "markdownDescription": "The amount of time of the specified unit.", + "title": "Value", "type": "number" }, - "MultiAZ": { - "markdownDescription": "Specifies whether the AWS DMS Serverless replication is a Multi-AZ deployment. You can't set the `AvailabilityZone` parameter if the `MultiAZ` parameter is set to `true` .", - "title": "MultiAZ", - "type": "boolean" + "ValueRange": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.ValueRange", + "markdownDescription": "A structure letting customers specify a relative time window over which over which data is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint is in the past, and negative numbers to indicate it is in the future. ValueRange overrides Value.", + "title": "ValueRange" + } + }, + "required": [ + "Unit" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Readiness": { + "additionalProperties": false, + "properties": { + "Message": { + "markdownDescription": "Any customer messaging.", + "title": "Message", + "type": "string" }, - "PreferredMaintenanceWindow": { - "markdownDescription": "The weekly time range during which system maintenance can occur for the AWS DMS Serverless replication, in Universal Coordinated Time (UTC). The format is `ddd:hh24:mi-ddd:hh24:mi` .\n\nThe default is a 30-minute window selected at random from an 8-hour block of time per AWS Region . This maintenance occurs on a random day of the week. Valid values for days of the week include `Mon` , `Tue` , `Wed` , `Thu` , `Fri` , `Sat` , and `Sun` .\n\nConstraints include a minimum 30-minute window.", - "title": "PreferredMaintenanceWindow", + "ProgressPercentage": { + "markdownDescription": "Approximately how far the Calculated Attribute creation is from completion.", + "title": "ProgressPercentage", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold": { + "additionalProperties": false, + "properties": { + "Operator": { + "markdownDescription": "The operator of the threshold.", + "title": "Operator", "type": "string" }, - "ReplicationSubnetGroupId": { - "markdownDescription": "Specifies a subnet group identifier to associate with the AWS DMS Serverless replication.", - "title": "ReplicationSubnetGroupId", + "Value": { + "markdownDescription": "The value of the threshold.", + "title": "Value", "type": "string" + } + }, + "required": [ + "Operator", + "Value" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.ValueRange": { + "additionalProperties": false, + "properties": { + "End": { + "markdownDescription": "The ending point for this overridden range. Positive numbers indicate how many days in the past data should be included, and negative numbers indicate how many days in the future.", + "title": "End", + "type": "number" }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the virtual private cloud (VPC) security group to use with the AWS DMS Serverless replication. The VPC security group must work with the VPC containing the replication.", - "title": "VpcSecurityGroupIds", - "type": "array" + "Start": { + "markdownDescription": "The starting point for this overridden range. Positive numbers indicate how many days in the past data should be included, and negative numbers indicate how many days in the future.", + "title": "Start", + "type": "number" } }, "required": [ - "MaxCapacityUnits" + "End", + "Start" ], "type": "object" }, - "AWS::DMS::ReplicationInstance": { + "AWS::CustomerProfiles::Domain": { "additionalProperties": false, "properties": { "Condition": { @@ -101824,106 +100780,59 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocatedStorage": { - "markdownDescription": "The amount of storage (in gigabytes) to be initially allocated for the replication instance.", - "title": "AllocatedStorage", - "type": "number" + "DataStore": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.DataStore", + "markdownDescription": "", + "title": "DataStore" }, - "AllowMajorVersionUpgrade": { - "markdownDescription": "Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage, and the change is asynchronously applied as soon as possible.\n\nThis parameter must be set to `true` when specifying a value for the `EngineVersion` parameter that is a different major version than the replication instance's current version.", - "title": "AllowMajorVersionUpgrade", - "type": "boolean" + "DeadLetterQueueUrl": { + "markdownDescription": "The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications. You must set up a policy on the `DeadLetterQueue` for the `SendMessage` operation to enable Amazon Connect Customer Profiles to send messages to the `DeadLetterQueue` .", + "title": "DeadLetterQueueUrl", + "type": "string" }, - "AutoMinorVersionUpgrade": { - "markdownDescription": "A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window. This parameter defaults to `true` .\n\nDefault: `true`", - "title": "AutoMinorVersionUpgrade", - "type": "boolean" - }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone that the replication instance will be created in.\n\nThe default value is a random, system-chosen Availability Zone in the endpoint's AWS Region , for example `us-east-1d` .", - "title": "AvailabilityZone", - "type": "string" - }, - "DnsNameServers": { - "markdownDescription": "A list of custom DNS name servers supported for the replication instance to access your on-premise source or target database. This list overrides the default name servers supported by the replication instance. You can specify a comma-separated list of internet addresses for up to four on-premise DNS name servers. For example: `\"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4\"`", - "title": "DnsNameServers", - "type": "string" - }, - "EngineVersion": { - "markdownDescription": "The engine version number of the replication instance.\n\nIf an engine version number is not specified when a replication instance is created, the default is the latest engine version available.", - "title": "EngineVersion", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "An AWS key identifier that is used to encrypt the data on the replication instance.\n\nIf you don't specify a value for the `KmsKeyId` parameter, AWS DMS uses your default encryption key.\n\nAWS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Region .", - "title": "KmsKeyId", - "type": "string" - }, - "MultiAZ": { - "markdownDescription": "Specifies whether the replication instance is a Multi-AZ deployment. You can't set the `AvailabilityZone` parameter if the Multi-AZ parameter is set to `true` .", - "title": "MultiAZ", - "type": "boolean" - }, - "NetworkType": { - "markdownDescription": "The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.", - "title": "NetworkType", - "type": "string" - }, - "PreferredMaintenanceWindow": { - "markdownDescription": "The weekly time range during which system maintenance can occur, in UTC.\n\n*Format* : `ddd:hh24:mi-ddd:hh24:mi`\n\n*Default* : A 30-minute window selected at random from an 8-hour block of time per AWS Region , occurring on a random day of the week.\n\n*Valid days* ( `ddd` ): `Mon` | `Tue` | `Wed` | `Thu` | `Fri` | `Sat` | `Sun`\n\n*Constraints* : Minimum 30-minute window.", - "title": "PreferredMaintenanceWindow", + "DefaultEncryptionKey": { + "markdownDescription": "The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.", + "title": "DefaultEncryptionKey", "type": "string" }, - "PubliclyAccessible": { - "markdownDescription": "Specifies the accessibility options for the replication instance. A value of `true` represents an instance with a public IP address. A value of `false` represents an instance with a private IP address. The default value is `true` .", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "ReplicationInstanceClass": { - "markdownDescription": "The compute and memory capacity of the replication instance as defined for the specified replication instance class. For example, to specify the instance class dms.c4.large, set this parameter to `\"dms.c4.large\"` . For more information on the settings and capacities for the available replication instance classes, see [Selecting the right AWS DMS replication instance for your migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth) in the *AWS Database Migration Service User Guide* .", - "title": "ReplicationInstanceClass", - "type": "string" + "DefaultExpirationDays": { + "markdownDescription": "The default number of days until the data within the domain expires.", + "title": "DefaultExpirationDays", + "type": "number" }, - "ReplicationInstanceIdentifier": { - "markdownDescription": "The replication instance identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n- Must contain 1-63 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Can't end with a hyphen or contain two consecutive hyphens.\n\nExample: `myrepinstance`", - "title": "ReplicationInstanceIdentifier", + "DomainName": { + "markdownDescription": "The unique name of the domain.", + "title": "DomainName", "type": "string" }, - "ReplicationSubnetGroupIdentifier": { - "markdownDescription": "A subnet group to associate with the replication instance.", - "title": "ReplicationSubnetGroupIdentifier", - "type": "string" + "Matching": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.Matching", + "markdownDescription": "The process of matching duplicate profiles.", + "title": "Matching" }, - "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` . For 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" + "RuleBasedMatching": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.RuleBasedMatching", + "markdownDescription": "The process of matching duplicate profiles using Rule-Based matching.", + "title": "RuleBasedMatching" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more tags to be assigned to the replication instance.", + "markdownDescription": "The tags used to organize, track, or control access for this resource.", "title": "Tags", "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the virtual private cloud (VPC) security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance.", - "title": "VpcSecurityGroupIds", - "type": "array" } }, "required": [ - "ReplicationInstanceClass" + "DefaultExpirationDays", + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::ReplicationInstance" + "AWS::CustomerProfiles::Domain" ], "type": "string" }, @@ -101942,96 +100851,313 @@ ], "type": "object" }, - "AWS::DMS::ReplicationSubnetGroup": { + "AWS::CustomerProfiles::Domain.AttributeTypesSelector": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Address": { + "items": { + "type": "string" + }, + "markdownDescription": "The `Address` type. You can choose from `Address` , `BusinessAddress` , `MaillingAddress` , and `ShippingAddress` . You only can use the `Address` type in the `MatchingRule` . For example, if you want to match a profile based on `BusinessAddress.City` or `MaillingAddress.City` , you can choose the `BusinessAddress` and the `MaillingAddress` to represent the `Address` type and specify the `Address.City` on the matching rule.", + "title": "Address", + "type": "array" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AttributeMatchingModel": { + "markdownDescription": "Configures the `AttributeMatchingModel` , you can either choose `ONE_TO_ONE` or `MANY_TO_MANY` .", + "title": "AttributeMatchingModel", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EmailAddress": { + "items": { + "type": "string" + }, + "markdownDescription": "The Email type. You can choose from `EmailAddress` , `BusinessEmailAddress` and `PersonalEmailAddress` . You only can use the `EmailAddress` type in the `MatchingRule` . For example, if you want to match profile based on `PersonalEmailAddress` or `BusinessEmailAddress` , you can choose the `PersonalEmailAddress` and the `BusinessEmailAddress` to represent the `EmailAddress` type and only specify the `EmailAddress` on the matching rule.", + "title": "EmailAddress", + "type": "array" }, - "Metadata": { + "PhoneNumber": { + "items": { + "type": "string" + }, + "markdownDescription": "The `PhoneNumber` type. You can choose from `PhoneNumber` , `HomePhoneNumber` , and `MobilePhoneNumber` . You only can use the `PhoneNumber` type in the `MatchingRule` . For example, if you want to match a profile based on `Phone` or `HomePhone` , you can choose the `Phone` and the `HomePhone` to represent the `PhoneNumber` type and only specify the `PhoneNumber` on the matching rule.", + "title": "PhoneNumber", + "type": "array" + } + }, + "required": [ + "AttributeMatchingModel" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.AutoMerging": { + "additionalProperties": false, + "properties": { + "ConflictResolution": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ConflictResolution", + "markdownDescription": "Determines how the auto-merging process should resolve conflicts between different profiles. For example, if Profile A and Profile B have the same `FirstName` and `LastName` , `ConflictResolution` specifies which `EmailAddress` should be used.", + "title": "ConflictResolution" + }, + "Consolidation": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.Consolidation", + "markdownDescription": "A list of matching attributes that represent matching criteria. If two profiles meet at least one of the requirements in the matching attributes list, they will be merged.", + "title": "Consolidation" + }, + "Enabled": { + "markdownDescription": "The flag that enables the auto-merging of duplicate profiles.", + "title": "Enabled", + "type": "boolean" + }, + "MinAllowedConfidenceScoreForMerging": { + "markdownDescription": "A number between 0 and 1 that represents the minimum confidence score required for profiles within a matching group to be merged during the auto-merge process. A higher score means that a higher similarity is required to merge profiles.", + "title": "MinAllowedConfidenceScoreForMerging", + "type": "number" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.ConflictResolution": { + "additionalProperties": false, + "properties": { + "ConflictResolvingModel": { + "markdownDescription": "How the auto-merging process should resolve conflicts between different profiles.", + "title": "ConflictResolvingModel", + "type": "string" + }, + "SourceName": { + "markdownDescription": "The `ObjectType` name that is used to resolve profile merging conflicts when choosing `SOURCE` as the `ConflictResolvingModel` .", + "title": "SourceName", + "type": "string" + } + }, + "required": [ + "ConflictResolvingModel" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.Consolidation": { + "additionalProperties": false, + "properties": { + "MatchingAttributesList": { + "markdownDescription": "A list of matching criteria.", + "title": "MatchingAttributesList", "type": "object" + } + }, + "required": [ + "MatchingAttributesList" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.DataStore": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "", + "title": "Enabled", + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ReplicationSubnetGroupDescription": { - "markdownDescription": "The description for the subnet group.", - "title": "ReplicationSubnetGroupDescription", - "type": "string" - }, - "ReplicationSubnetGroupIdentifier": { - "markdownDescription": "The identifier for the replication subnet group. If you don't specify a name, CloudFormation generates a unique ID and uses that ID for the identifier.", - "title": "ReplicationSubnetGroupIdentifier", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more subnet IDs to be assigned to the subnet group.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "One or more tags to be assigned to the subnet group.", - "title": "Tags", - "type": "array" - } + "Readiness": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.Readiness", + "markdownDescription": "", + "title": "Readiness" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Domain.DomainStats": { + "additionalProperties": false, + "properties": { + "MeteringProfileCount": { + "markdownDescription": "The number of profiles that you are currently paying for in the domain. If you have more than 100 objects associated with a single profile, that profile counts as two profiles. If you have more than 200 objects, that profile counts as three, and so on.", + "title": "MeteringProfileCount", + "type": "number" + }, + "ObjectCount": { + "markdownDescription": "The total number of objects in domain.", + "title": "ObjectCount", + "type": "number" + }, + "ProfileCount": { + "markdownDescription": "The total number of profiles currently in the domain.", + "title": "ProfileCount", + "type": "number" + }, + "TotalSize": { + "markdownDescription": "The total size, in bytes, of all objects in the domain.", + "title": "TotalSize", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Domain.ExportingConfig": { + "additionalProperties": false, + "properties": { + "S3Exporting": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.S3ExportingConfig", + "markdownDescription": "", + "title": "S3Exporting" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Domain.JobSchedule": { + "additionalProperties": false, + "properties": { + "DayOfTheWeek": { + "markdownDescription": "The day when the Identity Resolution Job should run every week.", + "title": "DayOfTheWeek", + "type": "string" + }, + "Time": { + "markdownDescription": "The time when the Identity Resolution Job should run every week.", + "title": "Time", + "type": "string" + } + }, + "required": [ + "DayOfTheWeek", + "Time" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.Matching": { + "additionalProperties": false, + "properties": { + "AutoMerging": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.AutoMerging", + "markdownDescription": "Configuration information about the auto-merging process.", + "title": "AutoMerging" + }, + "Enabled": { + "markdownDescription": "The flag that enables the matching process of duplicate profiles.", + "title": "Enabled", + "type": "boolean" + }, + "ExportingConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ExportingConfig", + "markdownDescription": "The S3 location where Identity Resolution Jobs write result files.", + "title": "ExportingConfig" + }, + "JobSchedule": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.JobSchedule", + "markdownDescription": "The day and time when do you want to start the Identity Resolution Job every week.", + "title": "JobSchedule" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.MatchingRule": { + "additionalProperties": false, + "properties": { + "Rule": { + "items": { + "type": "string" }, - "required": [ - "ReplicationSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" + "markdownDescription": "A single rule level of the `MatchRules` . Configures how the rule-based matching process should match profiles.", + "title": "Rule", + "type": "array" + } + }, + "required": [ + "Rule" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.Readiness": { + "additionalProperties": false, + "properties": { + "Message": { + "markdownDescription": "", + "title": "Message", + "type": "string" }, - "Type": { - "enum": [ - "AWS::DMS::ReplicationSubnetGroup" - ], + "ProgressPercentage": { + "markdownDescription": "", + "title": "ProgressPercentage", + "type": "number" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Domain.RuleBasedMatching": { + "additionalProperties": false, + "properties": { + "AttributeTypesSelector": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.AttributeTypesSelector", + "markdownDescription": "Configures information about the `AttributeTypesSelector` where the rule-based identity resolution uses to match profiles.", + "title": "AttributeTypesSelector" + }, + "ConflictResolution": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ConflictResolution", + "markdownDescription": "Determines how the auto-merging process should resolve conflicts between different profiles. For example, if Profile A and Profile B have the same `FirstName` and `LastName` , `ConflictResolution` specifies which `EmailAddress` should be used.", + "title": "ConflictResolution" + }, + "Enabled": { + "markdownDescription": "The flag that enables the matching process of duplicate profiles.", + "title": "Enabled", + "type": "boolean" + }, + "ExportingConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.ExportingConfig", + "markdownDescription": "The S3 location where Identity Resolution Jobs write result files.", + "title": "ExportingConfig" + }, + "MatchingRules": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain.MatchingRule" + }, + "markdownDescription": "Configures how the rule-based matching process should match profiles. You can have up to 15 `MatchingRule` in the `MatchingRules` .", + "title": "MatchingRules", + "type": "array" + }, + "MaxAllowedRuleLevelForMatching": { + "markdownDescription": "Indicates the maximum allowed rule level for matching.", + "title": "MaxAllowedRuleLevelForMatching", + "type": "number" + }, + "MaxAllowedRuleLevelForMerging": { + "markdownDescription": "Indicates the maximum allowed rule level for merging.", + "title": "MaxAllowedRuleLevelForMerging", + "type": "number" + }, + "Status": { + "markdownDescription": "The status of rule-based matching rule.", + "title": "Status", + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Domain.S3ExportingConfig": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "markdownDescription": "The name of the S3 bucket where Identity Resolution Jobs write result files.", + "title": "S3BucketName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3KeyName": { + "markdownDescription": "The S3 key name of the location where Identity Resolution Jobs write result files.", + "title": "S3KeyName", "type": "string" } }, "required": [ - "Type", - "Properties" + "S3BucketName" ], "type": "object" }, - "AWS::DMS::ReplicationTask": { + "AWS::CustomerProfiles::DomainObjectType": { "additionalProperties": false, "properties": { "Condition": { @@ -102066,87 +101192,44 @@ "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" - }, - "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", + "Description": { "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", + "DomainName": { "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", + "EncryptionKey": { "type": "string" }, - "SourceEndpointArn": { - "markdownDescription": "An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.", - "title": "SourceEndpointArn", - "type": "string" + "Fields": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::CustomerProfiles::DomainObjectType.DomainObjectTypeField" + } + }, + "type": "object" }, - "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", + "ObjectTypeName": { "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" + "DomainName", + "Fields", + "ObjectTypeName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::ReplicationTask" + "AWS::CustomerProfiles::DomainObjectType" ], "type": "string" }, @@ -102165,64 +101248,29 @@ ], "type": "object" }, - "AWS::DRS::RecoveryInstance": { + "AWS::CustomerProfiles::DomainObjectType.DomainObjectTypeField": { "additionalProperties": false, "properties": { - "Condition": { + "ContentType": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FeatureType": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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::DRS::RecoveryInstance" - ], + "Source": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Target": { "type": "string" } }, "required": [ - "Type" + "Source", + "Target" ], "type": "object" }, - "AWS::DRS::SourceNetwork": { + "AWS::CustomerProfiles::EventStream": { "additionalProperties": false, "properties": { "Condition": { @@ -102257,32 +101305,40 @@ "Properties": { "additionalProperties": false, "properties": { - "OriginAccountID": { + "DomainName": { + "markdownDescription": "The unique name of the domain.", + "title": "DomainName", "type": "string" }, - "OriginRegion": { + "EventStreamName": { + "markdownDescription": "The name of the event stream.", + "title": "EventStreamName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags used to organize, track, or control access for this resource.", + "title": "Tags", "type": "array" }, - "VpcID": { + "Uri": { + "markdownDescription": "The StreamARN of the destination to deliver profile events to. For example, arn:aws:kinesis:region:account-id:stream/stream-name.", + "title": "Uri", "type": "string" } }, "required": [ - "OriginAccountID", - "OriginRegion", - "VpcID" + "DomainName", + "EventStreamName", + "Uri" ], "type": "object" }, "Type": { "enum": [ - "AWS::DRS::SourceNetwork" + "AWS::CustomerProfiles::EventStream" ], "type": "string" }, @@ -102301,7 +101357,27 @@ ], "type": "object" }, - "AWS::DSQL::Cluster": { + "AWS::CustomerProfiles::EventStream.DestinationDetails": { + "additionalProperties": false, + "properties": { + "Status": { + "markdownDescription": "The status of enabling the Kinesis stream as a destination for export.", + "title": "Status", + "type": "string" + }, + "Uri": { + "markdownDescription": "The StreamARN of the destination to deliver profile events to. For example, arn:aws:kinesis:region:account-id:stream/stream-name.", + "title": "Uri", + "type": "string" + } + }, + "required": [ + "Status", + "Uri" + ], + "type": "object" + }, + "AWS::CustomerProfiles::EventTrigger": { "additionalProperties": false, "properties": { "Condition": { @@ -102336,40 +101412,64 @@ "Properties": { "additionalProperties": false, "properties": { - "DeletionProtectionEnabled": { - "markdownDescription": "Whether deletion protection is enabled on this cluster.", - "title": "DeletionProtectionEnabled", - "type": "boolean" + "Description": { + "markdownDescription": "The description of the event trigger.", + "title": "Description", + "type": "string" }, - "KmsEncryptionKey": { - "markdownDescription": "", - "title": "KmsEncryptionKey", + "DomainName": { + "markdownDescription": "The unique name of the domain.", + "title": "DomainName", "type": "string" }, - "MultiRegionProperties": { - "$ref": "#/definitions/AWS::DSQL::Cluster.MultiRegionProperties", - "markdownDescription": "Defines the structure for multi-Region cluster configurations, containing the witness Region and peered cluster settings.", - "title": "MultiRegionProperties" + "EventTriggerConditions": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.EventTriggerCondition" + }, + "markdownDescription": "A list of conditions that determine when an event should trigger the destination.", + "title": "EventTriggerConditions", + "type": "array" }, - "PolicyDocument": { - "markdownDescription": "A resource-based policy document in JSON format. Length constraints: Minimum length of 1. Maximum length of 20480 characters (approximately 20KB).", - "title": "PolicyDocument", + "EventTriggerLimits": { + "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.EventTriggerLimits", + "markdownDescription": "Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.", + "title": "EventTriggerLimits" + }, + "EventTriggerName": { + "markdownDescription": "The unique name of the event trigger.", + "title": "EventTriggerName", + "type": "string" + }, + "ObjectTypeName": { + "markdownDescription": "The unique name of the object type.", + "title": "ObjectTypeName", + "type": "string" + }, + "SegmentFilter": { + "markdownDescription": "The destination is triggered only for profiles that meet the criteria of a segment definition.", + "title": "SegmentFilter", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A map of key and value pairs this cluster is tagged with.", + "markdownDescription": "An array of key-value pairs to apply to this resource.", "title": "Tags", "type": "array" } }, + "required": [ + "DomainName", + "EventTriggerConditions", + "EventTriggerName", + "ObjectTypeName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DSQL::Cluster" + "AWS::CustomerProfiles::EventTrigger" ], "type": "string" }, @@ -102383,51 +101483,134 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DSQL::Cluster.EncryptionDetails": { + "AWS::CustomerProfiles::EventTrigger.EventTriggerCondition": { "additionalProperties": false, "properties": { - "EncryptionStatus": { - "markdownDescription": "The status of encryption for the cluster.", - "title": "EncryptionStatus", - "type": "string" + "EventTriggerDimensions": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.EventTriggerDimension" + }, + "markdownDescription": "A list of dimensions to be evaluated for the event.", + "title": "EventTriggerDimensions", + "type": "array" }, - "EncryptionType": { - "markdownDescription": "The type of encryption that protects the data on your cluster.", - "title": "EncryptionType", + "LogicalOperator": { + "markdownDescription": "The operator used to combine multiple dimensions.", + "title": "LogicalOperator", "type": "string" + } + }, + "required": [ + "EventTriggerDimensions", + "LogicalOperator" + ], + "type": "object" + }, + "AWS::CustomerProfiles::EventTrigger.EventTriggerDimension": { + "additionalProperties": false, + "properties": { + "ObjectAttributes": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.ObjectAttribute" + }, + "markdownDescription": "A list of object attributes to be evaluated.", + "title": "ObjectAttributes", + "type": "array" + } + }, + "required": [ + "ObjectAttributes" + ], + "type": "object" + }, + "AWS::CustomerProfiles::EventTrigger.EventTriggerLimits": { + "additionalProperties": false, + "properties": { + "EventExpiration": { + "markdownDescription": "Specifies that an event will only trigger the destination if it is processed within a certain latency period.", + "title": "EventExpiration", + "type": "number" }, - "KmsKeyArn": { - "markdownDescription": "The ARN of the AWS key that encrypts data in the cluster.", - "title": "KmsKeyArn", - "type": "string" + "Periods": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::EventTrigger.Period" + }, + "markdownDescription": "A list of time periods during which the limits apply.", + "title": "Periods", + "type": "array" } }, "type": "object" }, - "AWS::DSQL::Cluster.MultiRegionProperties": { + "AWS::CustomerProfiles::EventTrigger.ObjectAttribute": { "additionalProperties": false, "properties": { - "Clusters": { + "ComparisonOperator": { + "markdownDescription": "The operator used to compare an attribute against a list of values.", + "title": "ComparisonOperator", + "type": "string" + }, + "FieldName": { + "markdownDescription": "A field defined within an object type.", + "title": "FieldName", + "type": "string" + }, + "Source": { + "markdownDescription": "An attribute contained within a source object.", + "title": "Source", + "type": "string" + }, + "Values": { "items": { "type": "string" }, - "markdownDescription": "The set of peered clusters that form the multi-Region cluster configuration. Each peered cluster represents a database instance in a different Region.", - "title": "Clusters", + "markdownDescription": "The amount of time of the specified unit.", + "title": "Values", "type": "array" + } + }, + "required": [ + "ComparisonOperator", + "Values" + ], + "type": "object" + }, + "AWS::CustomerProfiles::EventTrigger.Period": { + "additionalProperties": false, + "properties": { + "MaxInvocationsPerProfile": { + "markdownDescription": "The maximum allowed number of destination invocations per profile.", + "title": "MaxInvocationsPerProfile", + "type": "number" }, - "WitnessRegion": { - "markdownDescription": "The Region that serves as the witness Region for a multi-Region cluster. The witness Region helps maintain cluster consistency and quorum.", - "title": "WitnessRegion", + "Unit": { + "markdownDescription": "The unit of time.", + "title": "Unit", "type": "string" + }, + "Unlimited": { + "markdownDescription": "If set to true, there is no limit on the number of destination invocations per profile. The default is false.", + "title": "Unlimited", + "type": "boolean" + }, + "Value": { + "markdownDescription": "The amount of time of the specified unit.", + "title": "Value", + "type": "number" } }, + "required": [ + "Unit", + "Value" + ], "type": "object" }, - "AWS::DataBrew::Dataset": { + "AWS::CustomerProfiles::Integration": { "additionalProperties": false, "properties": { "Condition": { @@ -102462,54 +101645,62 @@ "Properties": { "additionalProperties": false, "properties": { - "Format": { - "markdownDescription": "The file format of a dataset that is created from an Amazon S3 file or folder.", - "title": "Format", + "DomainName": { + "markdownDescription": "The unique name of the domain.", + "title": "DomainName", "type": "string" }, - "FormatOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FormatOptions", - "markdownDescription": "A set of options that define how DataBrew interprets the data in the dataset.", - "title": "FormatOptions" + "EventTriggerNames": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of unique names for active event triggers associated with the integration.", + "title": "EventTriggerNames", + "type": "array" }, - "Input": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.Input", - "markdownDescription": "Information on how DataBrew can find the dataset, in either the AWS Glue Data Catalog or Amazon S3 .", - "title": "Input" + "FlowDefinition": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.FlowDefinition", + "markdownDescription": "The configuration that controls how Customer Profiles retrieves data from the source.", + "title": "FlowDefinition" }, - "Name": { - "markdownDescription": "The unique name of the dataset.", - "title": "Name", + "ObjectTypeName": { + "markdownDescription": "The name of the profile object type mapping to use.", + "title": "ObjectTypeName", "type": "string" }, - "PathOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.PathOptions", - "markdownDescription": "A set of options that defines how DataBrew interprets an Amazon S3 path of the dataset.", - "title": "PathOptions" + "ObjectTypeNames": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ObjectTypeMapping" + }, + "markdownDescription": "The object type mapping.", + "title": "ObjectTypeNames", + "type": "array" }, - "Source": { - "markdownDescription": "The location of the data for the dataset, either Amazon S3 or the AWS Glue Data Catalog .", - "title": "Source", + "Scope": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Metadata tags that have been applied to the dataset.", + "markdownDescription": "The tags used to organize, track, or control access for this resource.", "title": "Tags", "type": "array" + }, + "Uri": { + "markdownDescription": "The URI of the S3 bucket or any other type of data source.", + "title": "Uri", + "type": "string" } }, "required": [ - "Input", - "Name" + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataBrew::Dataset" + "AWS::CustomerProfiles::Integration" ], "type": "string" }, @@ -102528,368 +101719,396 @@ ], "type": "object" }, - "AWS::DataBrew::Dataset.CsvOptions": { + "AWS::CustomerProfiles::Integration.ConnectorOperator": { "additionalProperties": false, "properties": { - "Delimiter": { - "markdownDescription": "A single character that specifies the delimiter being used in the CSV file.", - "title": "Delimiter", + "Marketo": { + "markdownDescription": "The operation to be performed on the provided Marketo source fields.", + "title": "Marketo", "type": "string" }, - "HeaderRow": { - "markdownDescription": "A variable that specifies whether the first row in the file is parsed as the header. If this value is false, column names are auto-generated.", - "title": "HeaderRow", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.DataCatalogInputDefinition": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "markdownDescription": "The unique identifier of the AWS account that holds the Data Catalog that stores the data.", - "title": "CatalogId", + "S3": { + "markdownDescription": "The operation to be performed on the provided Amazon S3 source fields.", + "title": "S3", "type": "string" }, - "DatabaseName": { - "markdownDescription": "The name of a database in the Data Catalog.", - "title": "DatabaseName", + "Salesforce": { + "markdownDescription": "The operation to be performed on the provided Salesforce source fields.", + "title": "Salesforce", "type": "string" }, - "TableName": { - "markdownDescription": "The name of a database table in the Data Catalog. This table corresponds to a DataBrew dataset.", - "title": "TableName", + "ServiceNow": { + "markdownDescription": "The operation to be performed on the provided ServiceNow source fields.", + "title": "ServiceNow", "type": "string" }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location", - "markdownDescription": "An Amazon location that AWS Glue Data Catalog can use as a temporary directory.", - "title": "TempDirectory" + "Zendesk": { + "markdownDescription": "The operation to be performed on the provided Zendesk source fields.", + "title": "Zendesk", + "type": "string" } }, "type": "object" }, - "AWS::DataBrew::Dataset.DatabaseInputDefinition": { + "AWS::CustomerProfiles::Integration.FlowDefinition": { "additionalProperties": false, "properties": { - "DatabaseTableName": { - "markdownDescription": "The table within the target database.", - "title": "DatabaseTableName", + "Description": { + "markdownDescription": "A description of the flow you want to create.", + "title": "Description", "type": "string" }, - "GlueConnectionName": { - "markdownDescription": "The AWS Glue Connection that stores the connection information for the target database.", - "title": "GlueConnectionName", + "FlowName": { + "markdownDescription": "The specified name of the flow. Use underscores (_) or hyphens (-) only. Spaces are not allowed.", + "title": "FlowName", "type": "string" }, - "QueryString": { - "markdownDescription": "Custom SQL to run against the provided AWS Glue connection. This SQL will be used as the input for DataBrew projects and jobs.", - "title": "QueryString", + "KmsArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key you provide for encryption.", + "title": "KmsArn", "type": "string" }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location", - "markdownDescription": "An Amazon location that AWS Glue Data Catalog can use as a temporary directory.", - "title": "TempDirectory" + "SourceFlowConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceFlowConfig", + "markdownDescription": "The configuration that controls how Customer Profiles retrieves data from the source.", + "title": "SourceFlowConfig" + }, + "Tasks": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.Task" + }, + "markdownDescription": "A list of tasks that Customer Profiles performs while transferring the data in the flow run.", + "title": "Tasks", + "type": "array" + }, + "TriggerConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerConfig", + "markdownDescription": "The trigger settings that determine how and when the flow runs.", + "title": "TriggerConfig" } }, "required": [ - "GlueConnectionName" + "FlowName", + "KmsArn", + "SourceFlowConfig", + "Tasks", + "TriggerConfig" ], "type": "object" }, - "AWS::DataBrew::Dataset.DatasetParameter": { + "AWS::CustomerProfiles::Integration.IncrementalPullConfig": { "additionalProperties": false, "properties": { - "CreateColumn": { - "markdownDescription": "Optional boolean value that defines whether the captured value of this parameter should be loaded as an additional column in the dataset.", - "title": "CreateColumn", - "type": "boolean" - }, - "DatetimeOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatetimeOptions", - "markdownDescription": "Additional parameter options such as a format and a timezone. Required for datetime parameters.", - "title": "DatetimeOptions" - }, - "Filter": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression", - "markdownDescription": "The optional filter expression structure to apply additional matching criteria to the parameter.", - "title": "Filter" - }, - "Name": { - "markdownDescription": "The name of the parameter that is used in the dataset's Amazon S3 path.", - "title": "Name", + "DatetimeTypeFieldName": { + "markdownDescription": "A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source.", + "title": "DatetimeTypeFieldName", "type": "string" - }, - "Type": { - "markdownDescription": "The type of the dataset parameter, can be one of a 'String', 'Number' or 'Datetime'.", - "title": "Type", + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.MarketoSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "markdownDescription": "The object specified in the Marketo flow source.", + "title": "Object", "type": "string" } }, "required": [ - "Name", - "Type" + "Object" ], "type": "object" }, - "AWS::DataBrew::Dataset.DatetimeOptions": { + "AWS::CustomerProfiles::Integration.ObjectTypeMapping": { "additionalProperties": false, "properties": { - "Format": { - "markdownDescription": "Required option, that defines the datetime format used for a date parameter in the Amazon S3 path. Should use only supported datetime specifiers and separation characters, all litera a-z or A-Z character should be escaped with single quotes. E.g. \"MM.dd.yyyy-'at'-HH:mm\".", - "title": "Format", - "type": "string" - }, - "LocaleCode": { - "markdownDescription": "Optional value for a non-US locale code, needed for correct interpretation of some date formats.", - "title": "LocaleCode", + "Key": { + "markdownDescription": "The key.", + "title": "Key", "type": "string" }, - "TimezoneOffset": { - "markdownDescription": "Optional value for a timezone offset of the datetime parameter value in the Amazon S3 path. Shouldn't be used if Format for this parameter includes timezone fields. If no offset specified, UTC is assumed.", - "title": "TimezoneOffset", + "Value": { + "markdownDescription": "The value.", + "title": "Value", "type": "string" } }, "required": [ - "Format" + "Key", + "Value" ], "type": "object" }, - "AWS::DataBrew::Dataset.ExcelOptions": { + "AWS::CustomerProfiles::Integration.S3SourceProperties": { "additionalProperties": false, "properties": { - "HeaderRow": { - "markdownDescription": "A variable that specifies whether the first row in the file is parsed as the header. If this value is false, column names are auto-generated.", - "title": "HeaderRow", - "type": "boolean" + "BucketName": { + "markdownDescription": "The Amazon S3 bucket name where the source files are stored.", + "title": "BucketName", + "type": "string" }, - "SheetIndexes": { - "items": { - "type": "number" - }, - "markdownDescription": "One or more sheet numbers in the Excel file that will be included in the dataset.", - "title": "SheetIndexes", - "type": "array" - }, - "SheetNames": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more named sheets in the Excel file that will be included in the dataset.", - "title": "SheetNames", - "type": "array" + "BucketPrefix": { + "markdownDescription": "The object key for the Amazon S3 bucket in which the source files are stored.", + "title": "BucketPrefix", + "type": "string" } }, + "required": [ + "BucketName" + ], "type": "object" }, - "AWS::DataBrew::Dataset.FilesLimit": { + "AWS::CustomerProfiles::Integration.SalesforceSourceProperties": { "additionalProperties": false, "properties": { - "MaxFiles": { - "markdownDescription": "The number of Amazon S3 files to select.", - "title": "MaxFiles", - "type": "number" + "EnableDynamicFieldUpdate": { + "markdownDescription": "The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.", + "title": "EnableDynamicFieldUpdate", + "type": "boolean" }, - "Order": { - "markdownDescription": "A criteria to use for Amazon S3 files sorting before their selection. By default uses DESCENDING order, i.e. most recent files are selected first. Anotherpossible value is ASCENDING.", - "title": "Order", - "type": "string" + "IncludeDeletedRecords": { + "markdownDescription": "Indicates whether Amazon AppFlow includes deleted files in the flow run.", + "title": "IncludeDeletedRecords", + "type": "boolean" }, - "OrderedBy": { - "markdownDescription": "A criteria to use for Amazon S3 files sorting before their selection. By default uses LAST_MODIFIED_DATE as a sorting criteria. Currently it's the only allowed value.", - "title": "OrderedBy", + "Object": { + "markdownDescription": "The object specified in the Salesforce flow source.", + "title": "Object", "type": "string" } }, "required": [ - "MaxFiles" + "Object" ], "type": "object" }, - "AWS::DataBrew::Dataset.FilterExpression": { + "AWS::CustomerProfiles::Integration.ScheduledTriggerProperties": { "additionalProperties": false, "properties": { - "Expression": { - "markdownDescription": "The expression which includes condition names followed by substitution variables, possibly grouped and combined with other conditions. For example, \"(starts_with :prefix1 or starts_with :prefix2) and (ends_with :suffix1 or ends_with :suffix2)\". Substitution variables should start with ':' symbol.", - "title": "Expression", + "DataPullMode": { + "markdownDescription": "Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run.", + "title": "DataPullMode", "type": "string" }, - "ValuesMap": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterValue" - }, - "markdownDescription": "The map of substitution variable names to their values used in this filter expression.", - "title": "ValuesMap", - "type": "array" + "FirstExecutionFrom": { + "markdownDescription": "Specifies the date range for the records to import from the connector in the first flow run.", + "title": "FirstExecutionFrom", + "type": "number" + }, + "ScheduleEndTime": { + "markdownDescription": "Specifies the scheduled end time for a scheduled-trigger flow.", + "title": "ScheduleEndTime", + "type": "number" + }, + "ScheduleExpression": { + "markdownDescription": "The scheduling expression that determines the rate at which the schedule will run, for example rate (5 minutes).", + "title": "ScheduleExpression", + "type": "string" + }, + "ScheduleOffset": { + "markdownDescription": "Specifies the optional offset that is added to the time interval for a schedule-triggered flow.", + "title": "ScheduleOffset", + "type": "number" + }, + "ScheduleStartTime": { + "markdownDescription": "Specifies the scheduled start time for a scheduled-trigger flow. The value must be a date/time value in EPOCH format.", + "title": "ScheduleStartTime", + "type": "number" + }, + "Timezone": { + "markdownDescription": "Specifies the time zone used when referring to the date and time of a scheduled-triggered flow, such as America/New_York.", + "title": "Timezone", + "type": "string" } }, "required": [ - "Expression", - "ValuesMap" + "ScheduleExpression" ], "type": "object" }, - "AWS::DataBrew::Dataset.FilterValue": { + "AWS::CustomerProfiles::Integration.ServiceNowSourceProperties": { "additionalProperties": false, "properties": { - "Value": { - "markdownDescription": "The value to be associated with the substitution variable.", - "title": "Value", - "type": "string" - }, - "ValueReference": { - "markdownDescription": "The substitution variable reference.", - "title": "ValueReference", + "Object": { + "markdownDescription": "The object specified in the ServiceNow flow source.", + "title": "Object", "type": "string" } }, "required": [ - "Value", - "ValueReference" + "Object" ], "type": "object" }, - "AWS::DataBrew::Dataset.FormatOptions": { + "AWS::CustomerProfiles::Integration.SourceConnectorProperties": { "additionalProperties": false, "properties": { - "Csv": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.CsvOptions", - "markdownDescription": "Options that define how CSV input is to be interpreted by DataBrew.", - "title": "Csv" + "Marketo": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.MarketoSourceProperties", + "markdownDescription": "The properties that are applied when Marketo is being used as a source.", + "title": "Marketo" }, - "Excel": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.ExcelOptions", - "markdownDescription": "Options that define how Excel input is to be interpreted by DataBrew.", - "title": "Excel" + "S3": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.S3SourceProperties", + "markdownDescription": "The properties that are applied when Amazon S3 is being used as the flow source.", + "title": "S3" }, - "Json": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.JsonOptions", - "markdownDescription": "Options that define how JSON input is to be interpreted by DataBrew.", - "title": "Json" + "Salesforce": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SalesforceSourceProperties", + "markdownDescription": "The properties that are applied when Salesforce is being used as a source.", + "title": "Salesforce" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ServiceNowSourceProperties", + "markdownDescription": "The properties that are applied when ServiceNow is being used as a source.", + "title": "ServiceNow" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ZendeskSourceProperties", + "markdownDescription": "The properties that are applied when using Zendesk as a flow source.", + "title": "Zendesk" } }, "type": "object" }, - "AWS::DataBrew::Dataset.Input": { + "AWS::CustomerProfiles::Integration.SourceFlowConfig": { "additionalProperties": false, "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DataCatalogInputDefinition", - "markdownDescription": "The AWS Glue Data Catalog parameters for the data.", - "title": "DataCatalogInputDefinition" + "ConnectorProfileName": { + "markdownDescription": "The name of the Amazon AppFlow connector profile. This name must be unique for each connector profile in the AWS account .", + "title": "ConnectorProfileName", + "type": "string" }, - "DatabaseInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatabaseInputDefinition", - "markdownDescription": "Connection information for dataset input files stored in a database.", - "title": "DatabaseInputDefinition" + "ConnectorType": { + "markdownDescription": "The type of connector, such as Salesforce, Marketo, and so on.", + "title": "ConnectorType", + "type": "string" }, - "Metadata": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.Metadata", - "markdownDescription": "Contains additional resource information needed for specific datasets.", - "title": "Metadata" + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.IncrementalPullConfig", + "markdownDescription": "Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.", + "title": "IncrementalPullConfig" }, - "S3InputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location", - "markdownDescription": "The Amazon S3 location where the data is stored.", - "title": "S3InputDefinition" + "SourceConnectorProperties": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceConnectorProperties", + "markdownDescription": "Specifies the information that is required to query a particular source connector.", + "title": "SourceConnectorProperties" } }, + "required": [ + "ConnectorType", + "SourceConnectorProperties" + ], "type": "object" }, - "AWS::DataBrew::Dataset.JsonOptions": { + "AWS::CustomerProfiles::Integration.Task": { "additionalProperties": false, "properties": { - "MultiLine": { - "markdownDescription": "A value that specifies whether JSON input contains embedded new line characters.", - "title": "MultiLine", - "type": "boolean" + "ConnectorOperator": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ConnectorOperator", + "markdownDescription": "The operation to be performed on the provided source fields.", + "title": "ConnectorOperator" + }, + "DestinationField": { + "markdownDescription": "A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.", + "title": "DestinationField", + "type": "string" + }, + "SourceFields": { + "items": { + "type": "string" + }, + "markdownDescription": "The source fields to which a particular task is applied.", + "title": "SourceFields", + "type": "array" + }, + "TaskProperties": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TaskPropertiesMap" + }, + "markdownDescription": "A map used to store task-related information. The service looks for particular information based on the TaskType.", + "title": "TaskProperties", + "type": "array" + }, + "TaskType": { + "markdownDescription": "Specifies the particular task implementation that Amazon AppFlow performs.", + "title": "TaskType", + "type": "string" } }, + "required": [ + "SourceFields", + "TaskType" + ], "type": "object" }, - "AWS::DataBrew::Dataset.Metadata": { + "AWS::CustomerProfiles::Integration.TaskPropertiesMap": { "additionalProperties": false, "properties": { - "SourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) associated with the dataset. Currently, DataBrew only supports ARNs from Amazon AppFlow.", - "title": "SourceArn", + "OperatorPropertyKey": { + "markdownDescription": "The task property key.", + "title": "OperatorPropertyKey", + "type": "string" + }, + "Property": { + "markdownDescription": "The task property value.", + "title": "Property", "type": "string" } }, + "required": [ + "OperatorPropertyKey", + "Property" + ], "type": "object" }, - "AWS::DataBrew::Dataset.PathOptions": { + "AWS::CustomerProfiles::Integration.TriggerConfig": { "additionalProperties": false, "properties": { - "FilesLimit": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilesLimit", - "markdownDescription": "If provided, this structure imposes a limit on a number of files that should be selected.", - "title": "FilesLimit" - }, - "LastModifiedDateCondition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression", - "markdownDescription": "If provided, this structure defines a date range for matching Amazon S3 objects based on their LastModifiedDate attribute in Amazon S3 .", - "title": "LastModifiedDateCondition" + "TriggerProperties": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerProperties", + "markdownDescription": "Specifies the configuration details of a schedule-triggered flow that you define. Currently, these settings only apply to the Scheduled trigger type.", + "title": "TriggerProperties" }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.PathParameter" - }, - "markdownDescription": "A structure that maps names of parameters used in the Amazon S3 path of a dataset to their definitions.", - "title": "Parameters", - "type": "array" + "TriggerType": { + "markdownDescription": "Specifies the type of flow trigger. It can be OnDemand, Scheduled, or Event.", + "title": "TriggerType", + "type": "string" } }, + "required": [ + "TriggerType" + ], "type": "object" }, - "AWS::DataBrew::Dataset.PathParameter": { + "AWS::CustomerProfiles::Integration.TriggerProperties": { "additionalProperties": false, "properties": { - "DatasetParameter": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatasetParameter", - "markdownDescription": "The path parameter definition.", - "title": "DatasetParameter" - }, - "PathParameterName": { - "markdownDescription": "The name of the path parameter.", - "title": "PathParameterName", - "type": "string" + "Scheduled": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ScheduledTriggerProperties", + "markdownDescription": "Specifies the configuration details of a schedule-triggered flow that you define.", + "title": "Scheduled" } }, - "required": [ - "DatasetParameter", - "PathParameterName" - ], "type": "object" }, - "AWS::DataBrew::Dataset.S3Location": { + "AWS::CustomerProfiles::Integration.ZendeskSourceProperties": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The Amazon S3 bucket name.", - "title": "Bucket", - "type": "string" - }, - "BucketOwner": { - "markdownDescription": "The AWS account ID of the bucket owner.", - "title": "BucketOwner", - "type": "string" - }, - "Key": { - "markdownDescription": "The unique name of the object in the bucket.", - "title": "Key", + "Object": { + "markdownDescription": "The object specified in the Zendesk flow source.", + "title": "Object", "type": "string" } }, "required": [ - "Bucket" + "Object" ], "type": "object" }, - "AWS::DataBrew::Job": { + "AWS::CustomerProfiles::ObjectType": { "additionalProperties": false, "properties": { "Condition": { @@ -102924,132 +102143,89 @@ "Properties": { "additionalProperties": false, "properties": { - "DataCatalogOutputs": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.DataCatalogOutput" - }, - "markdownDescription": "One or more artifacts that represent the AWS Glue Data Catalog output from running the job.", - "title": "DataCatalogOutputs", - "type": "array" - }, - "DatabaseOutputs": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseOutput" - }, - "markdownDescription": "Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.", - "title": "DatabaseOutputs", - "type": "array" - }, - "DatasetName": { - "markdownDescription": "A dataset that the job is to process.", - "title": "DatasetName", - "type": "string" + "AllowProfileCreation": { + "markdownDescription": "Indicates whether a profile should be created when data is received if one doesn\u2019t exist for an object of this type. The default is `FALSE` . If the AllowProfileCreation flag is set to `FALSE` , then the service tries to fetch a standard profile and associate this object with the profile. If it is set to `TRUE` , and if no match is found, then the service creates a new standard profile.", + "title": "AllowProfileCreation", + "type": "boolean" }, - "EncryptionKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an encryption key that is used to protect the job output. For more information, see [Encrypting data written by DataBrew jobs](https://docs.aws.amazon.com/databrew/latest/dg/encryption-security-configuration.html)", - "title": "EncryptionKeyArn", + "Description": { + "markdownDescription": "The description of the profile object type mapping.", + "title": "Description", "type": "string" }, - "EncryptionMode": { - "markdownDescription": "The encryption mode for the job, which can be one of the following:\n\n- `SSE-KMS` - Server-side encryption with keys managed by AWS .\n- `SSE-S3` - Server-side encryption with keys managed by Amazon S3.", - "title": "EncryptionMode", + "DomainName": { + "markdownDescription": "The unique name of the domain.", + "title": "DomainName", "type": "string" }, - "JobSample": { - "$ref": "#/definitions/AWS::DataBrew::Job.JobSample", - "markdownDescription": "A sample configuration for profile jobs only, which determines the number of rows on which the profile job is run. If a `JobSample` value isn't provided, the default value is used. The default value is CUSTOM_ROWS for the mode parameter and 20,000 for the size parameter.", - "title": "JobSample" - }, - "LogSubscription": { - "markdownDescription": "The current status of Amazon CloudWatch logging for the job.", - "title": "LogSubscription", + "EncryptionKey": { + "markdownDescription": "The customer-provided key to encrypt the profile object that will be created in this profile object type mapping. If not specified the system will use the encryption key of the domain.", + "title": "EncryptionKey", "type": "string" }, - "MaxCapacity": { - "markdownDescription": "The maximum number of nodes that can be consumed when the job processes data.", - "title": "MaxCapacity", - "type": "number" - }, - "MaxRetries": { - "markdownDescription": "The maximum number of times to retry the job after a job run fails.", - "title": "MaxRetries", + "ExpirationDays": { + "markdownDescription": "The number of days until the data of this type expires.", + "title": "ExpirationDays", "type": "number" }, - "Name": { - "markdownDescription": "The unique name of the job.", - "title": "Name", - "type": "string" - }, - "OutputLocation": { - "$ref": "#/definitions/AWS::DataBrew::Job.OutputLocation", - "markdownDescription": "The location in Amazon S3 where the job writes its output.", - "title": "OutputLocation" + "Fields": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.FieldMap" + }, + "markdownDescription": "A list of field definitions for the object type mapping.", + "title": "Fields", + "type": "array" }, - "Outputs": { + "Keys": { "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.Output" + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.KeyMap" }, - "markdownDescription": "One or more artifacts that represent output from running the job.", - "title": "Outputs", + "markdownDescription": "A list of keys that can be used to map data to the profile or search for the profile.", + "title": "Keys", "type": "array" }, - "ProfileConfiguration": { - "$ref": "#/definitions/AWS::DataBrew::Job.ProfileConfiguration", - "markdownDescription": "Configuration for profile jobs. Configuration can be used to select columns, do evaluations, and override default parameters of evaluations. When configuration is undefined, the profile job will apply default settings to all supported columns.", - "title": "ProfileConfiguration" + "MaxProfileObjectCount": { + "markdownDescription": "The amount of profile object max count assigned to the object type.", + "title": "MaxProfileObjectCount", + "type": "number" }, - "ProjectName": { - "markdownDescription": "The name of the project that the job is associated with.", - "title": "ProjectName", + "ObjectTypeName": { + "markdownDescription": "The name of the profile object type.", + "title": "ObjectTypeName", "type": "string" }, - "Recipe": { - "$ref": "#/definitions/AWS::DataBrew::Job.Recipe", - "markdownDescription": "A series of data transformation steps that the job runs.", - "title": "Recipe" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role to be assumed for this job.", - "title": "RoleArn", + "SourceLastUpdatedTimestampFormat": { + "markdownDescription": "The format of your sourceLastUpdatedTimestamp that was previously set up.", + "title": "SourceLastUpdatedTimestampFormat", "type": "string" }, + "SourcePriority": { + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Metadata tags that have been applied to the job.", + "markdownDescription": "The tags used to organize, track, or control access for this resource.", "title": "Tags", "type": "array" }, - "Timeout": { - "markdownDescription": "The job's timeout in minutes. A job that attempts to run longer than this timeout period ends with a status of `TIMEOUT` .", - "title": "Timeout", - "type": "number" - }, - "Type": { - "markdownDescription": "The job type of the job, which must be one of the following:\n\n- `PROFILE` - A job to analyze a dataset, to determine its size, data types, data distribution, and more.\n- `RECIPE` - A job to apply one or more transformations to a dataset.", - "title": "Type", + "TemplateId": { + "markdownDescription": "A unique identifier for the template mapping. This can be used instead of specifying the Keys and Fields properties directly.", + "title": "TemplateId", "type": "string" - }, - "ValidationConfigurations": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.ValidationConfiguration" - }, - "markdownDescription": "List of validation configurations that are applied to the profile job.", - "title": "ValidationConfigurations", - "type": "array" } }, "required": [ - "Name", - "RoleArn", - "Type" + "Description", + "DomainName", + "ObjectTypeName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataBrew::Job" + "AWS::CustomerProfiles::ObjectType" ], "type": "string" }, @@ -103068,433 +102244,266 @@ ], "type": "object" }, - "AWS::DataBrew::Job.AllowedStatistics": { - "additionalProperties": false, - "properties": { - "Statistics": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more column statistics to allow for columns that contain detected entities.", - "title": "Statistics", - "type": "array" - } - }, - "required": [ - "Statistics" - ], - "type": "object" - }, - "AWS::DataBrew::Job.ColumnSelector": { + "AWS::CustomerProfiles::ObjectType.FieldMap": { "additionalProperties": false, "properties": { "Name": { - "markdownDescription": "The name of a column from a dataset.", + "markdownDescription": "Name of the field.", "title": "Name", "type": "string" }, - "Regex": { - "markdownDescription": "A regular expression for selecting a column from a dataset.", - "title": "Regex", - "type": "string" + "ObjectTypeField": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeField", + "markdownDescription": "Represents a field in a ProfileObjectType.", + "title": "ObjectTypeField" } }, "type": "object" }, - "AWS::DataBrew::Job.ColumnStatisticsConfiguration": { + "AWS::CustomerProfiles::ObjectType.KeyMap": { "additionalProperties": false, "properties": { - "Selectors": { + "Name": { + "markdownDescription": "Name of the key.", + "title": "Name", + "type": "string" + }, + "ObjectTypeKeyList": { "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeKey" }, - "markdownDescription": "List of column selectors. Selectors can be used to select columns from the dataset. When selectors are undefined, configuration will be applied to all supported columns.", - "title": "Selectors", + "markdownDescription": "A list of ObjectTypeKey.", + "title": "ObjectTypeKeyList", "type": "array" - }, - "Statistics": { - "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration", - "markdownDescription": "Configuration for evaluations. Statistics can be used to select evaluations and override parameters of evaluations.", - "title": "Statistics" - } - }, - "required": [ - "Statistics" - ], - "type": "object" - }, - "AWS::DataBrew::Job.CsvOutputOptions": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "markdownDescription": "A single character that specifies the delimiter used to create CSV job output.", - "title": "Delimiter", - "type": "string" } }, "type": "object" }, - "AWS::DataBrew::Job.DataCatalogOutput": { + "AWS::CustomerProfiles::ObjectType.ObjectTypeField": { "additionalProperties": false, "properties": { - "CatalogId": { - "markdownDescription": "The unique identifier of the AWS account that holds the Data Catalog that stores the data.", - "title": "CatalogId", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The name of a database in the Data Catalog.", - "title": "DatabaseName", - "type": "string" - }, - "DatabaseOptions": { - "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseTableOutputOptions", - "markdownDescription": "Represents options that specify how and where DataBrew writes the database output generated by recipe jobs.", - "title": "DatabaseOptions" - }, - "Overwrite": { - "markdownDescription": "A value that, if true, means that any data in the location specified for output is overwritten with new output. Not supported with DatabaseOptions.", - "title": "Overwrite", - "type": "boolean" - }, - "S3Options": { - "$ref": "#/definitions/AWS::DataBrew::Job.S3TableOutputOptions", - "markdownDescription": "Represents options that specify how and where DataBrew writes the Amazon S3 output generated by recipe jobs.", - "title": "S3Options" - }, - "TableName": { - "markdownDescription": "The name of a table in the Data Catalog.", - "title": "TableName", + "ContentType": { + "markdownDescription": "The content type of the field. Used for determining equality when searching.", + "title": "ContentType", "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::DataBrew::Job.DatabaseOutput": { - "additionalProperties": false, - "properties": { - "DatabaseOptions": { - "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseTableOutputOptions", - "markdownDescription": "Represents options that specify how and where DataBrew writes the database output generated by recipe jobs.", - "title": "DatabaseOptions" }, - "DatabaseOutputMode": { - "markdownDescription": "The output mode to write into the database. Currently supported option: NEW_TABLE.", - "title": "DatabaseOutputMode", + "Source": { + "markdownDescription": "A field of a ProfileObject. For example: _source.FirstName, where \u201c_source\u201d is a ProfileObjectType of a Zendesk user and \u201cFirstName\u201d is a field in that ObjectType.", + "title": "Source", "type": "string" }, - "GlueConnectionName": { - "markdownDescription": "The AWS Glue connection that stores the connection information for the target database.", - "title": "GlueConnectionName", - "type": "string" - } - }, - "required": [ - "DatabaseOptions", - "GlueConnectionName" - ], - "type": "object" - }, - "AWS::DataBrew::Job.DatabaseTableOutputOptions": { - "additionalProperties": false, - "properties": { - "TableName": { - "markdownDescription": "A prefix for the name of a table DataBrew will create in the database.", - "title": "TableName", + "Target": { + "markdownDescription": "The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.", + "title": "Target", "type": "string" - }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Job.S3Location", - "markdownDescription": "Represents an Amazon S3 location (bucket name and object key) where DataBrew can store intermediate results.", - "title": "TempDirectory" } }, - "required": [ - "TableName" - ], "type": "object" }, - "AWS::DataBrew::Job.EntityDetectorConfiguration": { + "AWS::CustomerProfiles::ObjectType.ObjectTypeKey": { "additionalProperties": false, "properties": { - "AllowedStatistics": { - "$ref": "#/definitions/AWS::DataBrew::Job.AllowedStatistics", - "markdownDescription": "Configuration of statistics that are allowed to be run on columns that contain detected entities. When undefined, no statistics will be computed on columns that contain detected entities.", - "title": "AllowedStatistics" - }, - "EntityTypes": { + "FieldNames": { "items": { "type": "string" }, - "markdownDescription": "Entity types to detect. Can be any of the following:\n\n- USA_SSN\n- EMAIL\n- USA_ITIN\n- USA_PASSPORT_NUMBER\n- PHONE_NUMBER\n- USA_DRIVING_LICENSE\n- BANK_ACCOUNT\n- CREDIT_CARD\n- IP_ADDRESS\n- MAC_ADDRESS\n- USA_DEA_NUMBER\n- USA_HCPCS_CODE\n- USA_NATIONAL_PROVIDER_IDENTIFIER\n- USA_NATIONAL_DRUG_CODE\n- USA_HEALTH_INSURANCE_CLAIM_NUMBER\n- USA_MEDICARE_BENEFICIARY_IDENTIFIER\n- USA_CPT_CODE\n- PERSON_NAME\n- DATE\n\nThe Entity type group USA_ALL is also supported, and includes all of the above entity types except PERSON_NAME and DATE.", - "title": "EntityTypes", + "markdownDescription": "The reference for the key name of the fields map.", + "title": "FieldNames", "type": "array" - } - }, - "required": [ - "EntityTypes" - ], - "type": "object" - }, - "AWS::DataBrew::Job.JobSample": { - "additionalProperties": false, - "properties": { - "Mode": { - "markdownDescription": "A value that determines whether the profile job is run on the entire dataset or a specified number of rows. This value must be one of the following:\n\n- FULL_DATASET - The profile job is run on the entire dataset.\n- CUSTOM_ROWS - The profile job is run on the number of rows specified in the `Size` parameter.", - "title": "Mode", - "type": "string" }, - "Size": { - "markdownDescription": "The `Size` parameter is only required when the mode is CUSTOM_ROWS. The profile job is run on the specified number of rows. The maximum value for size is Long.MAX_VALUE.\n\nLong.MAX_VALUE = 9223372036854775807", - "title": "Size", - "type": "number" + "StandardIdentifiers": { + "items": { + "type": "string" + }, + "markdownDescription": "The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE means that this key can be used to tie an object to a PROFILE. UNIQUE means that it can be used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the profile does not already exist before the object is ingested, otherwise it is only used for matching objects to profiles.", + "title": "StandardIdentifiers", + "type": "array" } }, "type": "object" }, - "AWS::DataBrew::Job.Output": { + "AWS::CustomerProfiles::Recommender": { "additionalProperties": false, "properties": { - "CompressionFormat": { - "markdownDescription": "The compression algorithm used to compress the output text of the job.", - "title": "CompressionFormat", + "Condition": { "type": "string" }, - "Format": { - "markdownDescription": "The data format of the output of the job.", - "title": "Format", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "FormatOptions": { - "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions", - "markdownDescription": "Represents options that define how DataBrew formats job output files.", - "title": "FormatOptions" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Location": { - "$ref": "#/definitions/AWS::DataBrew::Job.S3Location", - "markdownDescription": "The location in Amazon S3 where the job writes its output.", - "title": "Location" + "Metadata": { + "type": "object" }, - "MaxOutputFiles": { - "markdownDescription": "The maximum number of files to be generated by the job and written to the output folder.", - "title": "MaxOutputFiles", - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "RecommenderConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.RecommenderConfig" + }, + "RecommenderName": { + "type": "string" + }, + "RecommenderRecipeName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "RecommenderName", + "RecommenderRecipeName" + ], + "type": "object" }, - "Overwrite": { - "markdownDescription": "A value that, if true, means that any data in the location specified for output is overwritten with new output.", - "title": "Overwrite", - "type": "boolean" + "Type": { + "enum": [ + "AWS::CustomerProfiles::Recommender" + ], + "type": "string" }, - "PartitionColumns": { - "items": { - "type": "string" - }, - "markdownDescription": "The names of one or more partition columns for the output of the job.", - "title": "PartitionColumns", - "type": "array" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Location" + "Type", + "Properties" ], "type": "object" }, - "AWS::DataBrew::Job.OutputFormatOptions": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions", - "markdownDescription": "Represents a set of options that define the structure of comma-separated value (CSV) job output.", - "title": "Csv" - } - }, - "type": "object" - }, - "AWS::DataBrew::Job.OutputLocation": { + "AWS::CustomerProfiles::Recommender.EventParameters": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The Amazon S3 bucket name.", - "title": "Bucket", - "type": "string" - }, - "BucketOwner": { - "markdownDescription": "", - "title": "BucketOwner", + "EventType": { "type": "string" }, - "Key": { - "markdownDescription": "The unique name of the object in the bucket.", - "title": "Key", - "type": "string" + "EventValueThreshold": { + "type": "number" } }, "required": [ - "Bucket" + "EventType" ], "type": "object" }, - "AWS::DataBrew::Job.ProfileConfiguration": { + "AWS::CustomerProfiles::Recommender.EventsConfig": { "additionalProperties": false, "properties": { - "ColumnStatisticsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.ColumnStatisticsConfiguration" - }, - "markdownDescription": "List of configurations for column evaluations. ColumnStatisticsConfigurations are used to select evaluations and override parameters of evaluations for particular columns. When ColumnStatisticsConfigurations is undefined, the profile job will profile all supported columns and run all supported evaluations.", - "title": "ColumnStatisticsConfigurations", - "type": "array" - }, - "DatasetStatisticsConfiguration": { - "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration", - "markdownDescription": "Configuration for inter-column evaluations. Configuration can be used to select evaluations and override parameters of evaluations. When configuration is undefined, the profile job will run all supported inter-column evaluations.", - "title": "DatasetStatisticsConfiguration" - }, - "EntityDetectorConfiguration": { - "$ref": "#/definitions/AWS::DataBrew::Job.EntityDetectorConfiguration", - "markdownDescription": "Configuration of entity detection for a profile job. When undefined, entity detection is disabled.", - "title": "EntityDetectorConfiguration" - }, - "ProfileColumns": { + "EventParametersList": { "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.EventParameters" }, - "markdownDescription": "List of column selectors. ProfileColumns can be used to select columns from the dataset. When ProfileColumns is undefined, the profile job will profile all supported columns.", - "title": "ProfileColumns", "type": "array" } }, - "type": "object" - }, - "AWS::DataBrew::Job.Recipe": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The unique name for the recipe.", - "title": "Name", - "type": "string" - }, - "Version": { - "markdownDescription": "The identifier for the version for the recipe.", - "title": "Version", - "type": "string" - } - }, "required": [ - "Name" + "EventParametersList" ], "type": "object" }, - "AWS::DataBrew::Job.S3Location": { + "AWS::CustomerProfiles::Recommender.Metrics": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The Amazon S3 bucket name.", - "title": "Bucket", - "type": "string" + "coverage": { + "type": "number" }, - "BucketOwner": { - "markdownDescription": "The AWS account ID of the bucket owner.", - "title": "BucketOwner", - "type": "string" + "freshness": { + "type": "number" }, - "Key": { - "markdownDescription": "The unique name of the object in the bucket.", - "title": "Key", - "type": "string" + "hit": { + "type": "number" + }, + "popularity": { + "type": "number" + }, + "recall": { + "type": "number" + }, + "similarity": { + "type": "number" } }, - "required": [ - "Bucket" - ], "type": "object" }, - "AWS::DataBrew::Job.S3TableOutputOptions": { + "AWS::CustomerProfiles::Recommender.RecommenderConfig": { "additionalProperties": false, "properties": { - "Location": { - "$ref": "#/definitions/AWS::DataBrew::Job.S3Location", - "markdownDescription": "Represents an Amazon S3 location (bucket name and object key) where DataBrew can write output from a job.", - "title": "Location" + "EventsConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.EventsConfig" } }, - "required": [ - "Location" - ], "type": "object" }, - "AWS::DataBrew::Job.StatisticOverride": { + "AWS::CustomerProfiles::Recommender.RecommenderUpdate": { "additionalProperties": false, "properties": { - "Parameters": { - "additionalProperties": true, - "markdownDescription": "A map that includes overrides of an evaluation\u2019s parameters.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Parameters", - "type": "object" + "CreationDateTime": { + "type": "string" }, - "Statistic": { - "markdownDescription": "The name of an evaluation", - "title": "Statistic", + "FailureReason": { "type": "string" - } - }, - "required": [ - "Parameters", - "Statistic" - ], - "type": "object" - }, - "AWS::DataBrew::Job.StatisticsConfiguration": { - "additionalProperties": false, - "properties": { - "IncludedStatistics": { - "items": { - "type": "string" - }, - "markdownDescription": "List of included evaluations. When the list is undefined, all supported evaluations will be included.", - "title": "IncludedStatistics", - "type": "array" }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Job.StatisticOverride" - }, - "markdownDescription": "List of overrides for evaluations.", - "title": "Overrides", - "type": "array" + "LastUpdatedDateTime": { + "type": "string" + }, + "RecommenderConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.RecommenderConfig" + }, + "Status": { + "type": "string" } }, "type": "object" }, - "AWS::DataBrew::Job.ValidationConfiguration": { + "AWS::CustomerProfiles::Recommender.TrainingMetrics": { "additionalProperties": false, "properties": { - "RulesetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the ruleset to be validated in the profile job. The TargetArn of the selected ruleset should be the same as the Amazon Resource Name (ARN) of the dataset that is associated with the profile job.", - "title": "RulesetArn", - "type": "string" + "Metrics": { + "$ref": "#/definitions/AWS::CustomerProfiles::Recommender.Metrics" }, - "ValidationMode": { - "markdownDescription": "Mode of data quality validation. Default mode is \u201cCHECK_ALL\u201d which verifies all rules defined in the selected ruleset.", - "title": "ValidationMode", + "Time": { "type": "string" } }, - "required": [ - "RulesetArn" - ], "type": "object" }, - "AWS::DataBrew::Project": { + "AWS::CustomerProfiles::RecommenderSchema": { "additionalProperties": false, "properties": { "Condition": { @@ -103529,51 +102538,32 @@ "Properties": { "additionalProperties": false, "properties": { - "DatasetName": { - "markdownDescription": "The dataset that the project is to act upon.", - "title": "DatasetName", - "type": "string" - }, - "Name": { - "markdownDescription": "The unique name of a project.", - "title": "Name", + "DomainName": { "type": "string" }, - "RecipeName": { - "markdownDescription": "The name of a recipe that will be developed during a project session.", - "title": "RecipeName", - "type": "string" + "Fields": { + "type": "object" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role that will be assumed for this project.", - "title": "RoleArn", + "RecommenderSchemaName": { "type": "string" }, - "Sample": { - "$ref": "#/definitions/AWS::DataBrew::Project.Sample", - "markdownDescription": "The sample size and sampling type to apply to the data. If this parameter isn't specified, then the sample consists of the first 500 rows from the dataset.", - "title": "Sample" - }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::CustomerProfiles::RecommenderSchema.TagsItems" }, - "markdownDescription": "Metadata tags that have been applied to the project.", - "title": "Tags", "type": "array" } }, "required": [ - "DatasetName", - "Name", - "RecipeName", - "RoleArn" + "DomainName", + "Fields", + "RecommenderSchemaName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataBrew::Project" + "AWS::CustomerProfiles::RecommenderSchema" ], "type": "string" }, @@ -103592,26 +102582,23 @@ ], "type": "object" }, - "AWS::DataBrew::Project.Sample": { + "AWS::CustomerProfiles::RecommenderSchema.TagsItems": { "additionalProperties": false, "properties": { - "Size": { - "markdownDescription": "The number of rows in the sample.", - "title": "Size", - "type": "number" + "Key": { + "type": "string" }, - "Type": { - "markdownDescription": "The way in which DataBrew obtains rows from a dataset.", - "title": "Type", + "Value": { "type": "string" } }, "required": [ - "Type" + "Key", + "Value" ], "type": "object" }, - "AWS::DataBrew::Recipe": { + "AWS::CustomerProfiles::SegmentDefinition": { "additionalProperties": false, "properties": { "Condition": { @@ -103647,41 +102634,57 @@ "additionalProperties": false, "properties": { "Description": { - "markdownDescription": "The description of the recipe.", + "markdownDescription": "The description of the segment definition.", "title": "Description", "type": "string" }, - "Name": { - "markdownDescription": "The unique name for the recipe.", - "title": "Name", + "DisplayName": { + "markdownDescription": "Display name of the segment definition.", + "title": "DisplayName", "type": "string" }, - "Steps": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" - }, - "markdownDescription": "A list of steps that are defined by the recipe.", - "title": "Steps", - "type": "array" + "DomainName": { + "markdownDescription": "The name of the domain.", + "title": "DomainName", + "type": "string" + }, + "SegmentDefinitionName": { + "markdownDescription": "Name of the segment definition.", + "title": "SegmentDefinitionName", + "type": "string" + }, + "SegmentGroups": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SegmentGroup", + "markdownDescription": "Contains all groups of the segment definition.", + "title": "SegmentGroups" + }, + "SegmentSort": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SegmentSort" + }, + "SegmentSqlQuery": { + "markdownDescription": "", + "title": "SegmentSqlQuery", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Metadata tags that have been applied to the recipe.", + "markdownDescription": "The tags belonging to the segment definition.", "title": "Tags", "type": "array" } }, "required": [ - "Name", - "Steps" + "DisplayName", + "DomainName", + "SegmentDefinitionName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataBrew::Recipe" + "AWS::CustomerProfiles::SegmentDefinition" ], "type": "string" }, @@ -103700,670 +102703,465 @@ ], "type": "object" }, - "AWS::DataBrew::Recipe.Action": { + "AWS::CustomerProfiles::SegmentDefinition.AddressDimension": { "additionalProperties": false, "properties": { - "Operation": { - "markdownDescription": "The name of a valid DataBrew transformation to be performed on the data.", - "title": "Operation", - "type": "string" + "City": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "The city belonging to the address.", + "title": "City" }, - "Parameters": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeParameters", - "markdownDescription": "Contextual parameters for the transformation.", - "title": "Parameters" + "Country": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "The country belonging to the address.", + "title": "Country" + }, + "County": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "The county belonging to the address.", + "title": "County" + }, + "PostalCode": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "The postal code belonging to the address.", + "title": "PostalCode" + }, + "Province": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "The province belonging to the address.", + "title": "Province" + }, + "State": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "The state belonging to the address.", + "title": "State" } }, - "required": [ - "Operation" - ], "type": "object" }, - "AWS::DataBrew::Recipe.ConditionExpression": { + "AWS::CustomerProfiles::SegmentDefinition.AttributeDimension": { "additionalProperties": false, "properties": { - "Condition": { - "markdownDescription": "A specific condition to apply to a recipe action. For more information, see [Recipe structure](https://docs.aws.amazon.com/databrew/latest/dg/recipe-structure.html) in the *AWS Glue DataBrew Developer Guide* .", - "title": "Condition", - "type": "string" - }, - "TargetColumn": { - "markdownDescription": "A column to apply this condition to.", - "title": "TargetColumn", + "DimensionType": { + "markdownDescription": "The action to segment with.", + "title": "DimensionType", "type": "string" }, - "Value": { - "markdownDescription": "A value that the condition must evaluate to for the condition to succeed.", - "title": "Value", - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The values to apply the DimensionType on.", + "title": "Values", + "type": "array" } }, "required": [ - "Condition", - "TargetColumn" + "DimensionType", + "Values" ], "type": "object" }, - "AWS::DataBrew::Recipe.DataCatalogInputDefinition": { + "AWS::CustomerProfiles::SegmentDefinition.CalculatedAttributeDimension": { "additionalProperties": false, "properties": { - "CatalogId": { - "markdownDescription": "The unique identifier of the AWS account that holds the Data Catalog that stores the data.", - "title": "CatalogId", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The name of a database in the Data Catalog.", - "title": "DatabaseName", - "type": "string" + "ConditionOverrides": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ConditionOverrides", + "markdownDescription": "Applies the given condition over the initial Calculated Attribute's definition.", + "title": "ConditionOverrides" }, - "TableName": { - "markdownDescription": "The name of a database table in the Data Catalog. This table corresponds to a DataBrew dataset.", - "title": "TableName", + "DimensionType": { + "markdownDescription": "The action to segment with.", + "title": "DimensionType", "type": "string" }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location", - "markdownDescription": "Represents an Amazon location where DataBrew can store intermediate results.", - "title": "TempDirectory" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The values to apply the DimensionType with.", + "title": "Values", + "type": "array" } }, + "required": [ + "DimensionType", + "Values" + ], "type": "object" }, - "AWS::DataBrew::Recipe.Input": { + "AWS::CustomerProfiles::SegmentDefinition.ConditionOverrides": { "additionalProperties": false, "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition", - "markdownDescription": "The AWS Glue Data Catalog parameters for the data.", - "title": "DataCatalogInputDefinition" - }, - "S3InputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location", - "markdownDescription": "The Amazon S3 location where the data is stored.", - "title": "S3InputDefinition" + "Range": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.RangeOverride", + "markdownDescription": "The relative time period over which data is included in the aggregation for this override.", + "title": "Range" } }, "type": "object" }, - "AWS::DataBrew::Recipe.RecipeParameters": { + "AWS::CustomerProfiles::SegmentDefinition.DateDimension": { "additionalProperties": false, "properties": { - "AggregateFunction": { - "markdownDescription": "The name of an aggregation function to apply.", - "title": "AggregateFunction", - "type": "string" - }, - "Base": { - "markdownDescription": "The number of digits used in a counting system.", - "title": "Base", - "type": "string" - }, - "CaseStatement": { - "markdownDescription": "A case statement associated with a recipe.", - "title": "CaseStatement", - "type": "string" - }, - "CategoryMap": { - "markdownDescription": "A category map used for one-hot encoding.", - "title": "CategoryMap", - "type": "string" - }, - "CharsToRemove": { - "markdownDescription": "Characters to remove from a step that applies one-hot encoding or tokenization.", - "title": "CharsToRemove", - "type": "string" - }, - "CollapseConsecutiveWhitespace": { - "markdownDescription": "Remove any non-word non-punctuation character.", - "title": "CollapseConsecutiveWhitespace", - "type": "string" - }, - "ColumnDataType": { - "markdownDescription": "The data type of the column.", - "title": "ColumnDataType", - "type": "string" - }, - "ColumnRange": { - "markdownDescription": "A range of columns to which a step is applied.", - "title": "ColumnRange", - "type": "string" - }, - "Count": { - "markdownDescription": "The number of times a string needs to be repeated.", - "title": "Count", - "type": "string" - }, - "CustomCharacters": { - "markdownDescription": "One or more characters that can be substituted or removed, depending on the context.", - "title": "CustomCharacters", - "type": "string" - }, - "CustomStopWords": { - "markdownDescription": "A list of words to ignore in a step that applies word tokenization.", - "title": "CustomStopWords", - "type": "string" - }, - "CustomValue": { - "markdownDescription": "A list of custom values to use in a step that requires that you provide a value to finish the operation.", - "title": "CustomValue", - "type": "string" - }, - "DatasetsColumns": { - "markdownDescription": "A list of the dataset columns included in a project.", - "title": "DatasetsColumns", - "type": "string" - }, - "DateAddValue": { - "markdownDescription": "A value that specifies how many units of time to add or subtract for a date math operation.", - "title": "DateAddValue", - "type": "string" - }, - "DateTimeFormat": { - "markdownDescription": "A date format to apply to a date.", - "title": "DateTimeFormat", - "type": "string" - }, - "DateTimeParameters": { - "markdownDescription": "A set of parameters associated with a datetime.", - "title": "DateTimeParameters", - "type": "string" - }, - "DeleteOtherRows": { - "markdownDescription": "Determines whether unmapped rows in a categorical mapping should be deleted", - "title": "DeleteOtherRows", - "type": "string" - }, - "Delimiter": { - "markdownDescription": "The delimiter to use when parsing separated values in a text file.", - "title": "Delimiter", - "type": "string" - }, - "EndPattern": { - "markdownDescription": "The end pattern to locate.", - "title": "EndPattern", - "type": "string" - }, - "EndPosition": { - "markdownDescription": "The end position to locate.", - "title": "EndPosition", - "type": "string" - }, - "EndValue": { - "markdownDescription": "The end value to locate.", - "title": "EndValue", - "type": "string" - }, - "ExpandContractions": { - "markdownDescription": "A list of word contractions and what they expand to. For eample: *can't* ; *cannot* ; *can not* .", - "title": "ExpandContractions", - "type": "string" - }, - "Exponent": { - "markdownDescription": "The exponent to apply in an exponential operation.", - "title": "Exponent", - "type": "string" - }, - "FalseString": { - "markdownDescription": "A value that represents `FALSE` .", - "title": "FalseString", - "type": "string" - }, - "GroupByAggFunctionOptions": { - "markdownDescription": "Specifies options to apply to the `GROUP BY` used in an aggregation.", - "title": "GroupByAggFunctionOptions", - "type": "string" - }, - "GroupByColumns": { - "markdownDescription": "The columns to use in the `GROUP BY` clause.", - "title": "GroupByColumns", - "type": "string" - }, - "HiddenColumns": { - "markdownDescription": "A list of columns to hide.", - "title": "HiddenColumns", - "type": "string" - }, - "IgnoreCase": { - "markdownDescription": "Indicates that lower and upper case letters are treated equally.", - "title": "IgnoreCase", - "type": "string" - }, - "IncludeInSplit": { - "markdownDescription": "Indicates if this column is participating in a split transform.", - "title": "IncludeInSplit", - "type": "string" - }, - "Input": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.Input", - "markdownDescription": "The input location to load the dataset from - Amazon S3 or AWS Glue Data Catalog .", - "title": "Input" - }, - "Interval": { - "markdownDescription": "The number of characters to split by.", - "title": "Interval", - "type": "string" - }, - "IsText": { - "markdownDescription": "Indicates if the content is text.", - "title": "IsText", - "type": "string" - }, - "JoinKeys": { - "markdownDescription": "The keys or columns involved in a join.", - "title": "JoinKeys", - "type": "string" - }, - "JoinType": { - "markdownDescription": "The type of join to use, for example, `INNER JOIN` , `OUTER JOIN` , and so on.", - "title": "JoinType", - "type": "string" - }, - "LeftColumns": { - "markdownDescription": "The columns on the left side of the join.", - "title": "LeftColumns", - "type": "string" - }, - "Limit": { - "markdownDescription": "The number of times to perform `split` or `replaceBy` in a string", - "title": "Limit", - "type": "string" - }, - "LowerBound": { - "markdownDescription": "The lower boundary for a value.", - "title": "LowerBound", - "type": "string" - }, - "MapType": { - "markdownDescription": "The type of mappings to apply to construct a new dynamic frame.", - "title": "MapType", - "type": "string" - }, - "ModeType": { - "markdownDescription": "Determines the manner in which mode value is calculated, in case there is more than one mode value. Valid values: `NONE` | `AVERAGE` | `MINIMUM` | `MAXIMUM`", - "title": "ModeType", - "type": "string" - }, - "MultiLine": { - "markdownDescription": "Specifies whether JSON input contains embedded new line characters.", - "title": "MultiLine", - "type": "boolean" - }, - "NumRows": { - "markdownDescription": "The number of rows to consider in a window.", - "title": "NumRows", - "type": "string" - }, - "NumRowsAfter": { - "markdownDescription": "The number of rows to consider after the current row in a window", - "title": "NumRowsAfter", - "type": "string" - }, - "NumRowsBefore": { - "markdownDescription": "The number of rows to consider before the current row in a window", - "title": "NumRowsBefore", - "type": "string" - }, - "OrderByColumn": { - "markdownDescription": "A column to sort the results by.", - "title": "OrderByColumn", - "type": "string" - }, - "OrderByColumns": { - "markdownDescription": "The columns to sort the results by.", - "title": "OrderByColumns", - "type": "string" - }, - "Other": { - "markdownDescription": "The value to assign to unmapped cells, in categorical mapping", - "title": "Other", - "type": "string" - }, - "Pattern": { - "markdownDescription": "The pattern to locate.", - "title": "Pattern", - "type": "string" - }, - "PatternOption1": { - "markdownDescription": "The starting pattern to split between.", - "title": "PatternOption1", - "type": "string" - }, - "PatternOption2": { - "markdownDescription": "The ending pattern to split between.", - "title": "PatternOption2", - "type": "string" - }, - "PatternOptions": { - "markdownDescription": "For splitting by multiple delimiters: A JSON-encoded string that lists the patterns in the format. For example: `[{\\\"pattern\\\":\\\"1\\\",\\\"includeInSplit\\\":true}]`", - "title": "PatternOptions", - "type": "string" - }, - "Period": { - "markdownDescription": "The size of the rolling window.", - "title": "Period", - "type": "string" - }, - "Position": { - "markdownDescription": "The character index within a string", - "title": "Position", - "type": "string" - }, - "RemoveAllPunctuation": { - "markdownDescription": "If `true` , removes all of the following characters: `.` `.!` `.,` `.?`", - "title": "RemoveAllPunctuation", - "type": "string" - }, - "RemoveAllQuotes": { - "markdownDescription": "If `true` , removes all single quotes and double quotes.", - "title": "RemoveAllQuotes", - "type": "string" - }, - "RemoveAllWhitespace": { - "markdownDescription": "If `true` , removes all whitespaces from the value.", - "title": "RemoveAllWhitespace", - "type": "string" - }, - "RemoveCustomCharacters": { - "markdownDescription": "If `true` , removes all chraracters specified by `CustomCharacters` .", - "title": "RemoveCustomCharacters", - "type": "string" - }, - "RemoveCustomValue": { - "markdownDescription": "If `true` , removes all chraracters specified by `CustomValue` .", - "title": "RemoveCustomValue", - "type": "string" - }, - "RemoveLeadingAndTrailingPunctuation": { - "markdownDescription": "If `true` , removes the following characters if they occur at the start or end of the value: `.` `!` `,` `?`", - "title": "RemoveLeadingAndTrailingPunctuation", - "type": "string" - }, - "RemoveLeadingAndTrailingQuotes": { - "markdownDescription": "If `true` , removes single quotes and double quotes from the beginning and end of the value.", - "title": "RemoveLeadingAndTrailingQuotes", - "type": "string" - }, - "RemoveLeadingAndTrailingWhitespace": { - "markdownDescription": "If `true` , removes all whitespaces from the beginning and end of the value.", - "title": "RemoveLeadingAndTrailingWhitespace", - "type": "string" - }, - "RemoveLetters": { - "markdownDescription": "If `true` , removes all uppercase and lowercase alphabetic characters (A through Z; a through z).", - "title": "RemoveLetters", - "type": "string" - }, - "RemoveNumbers": { - "markdownDescription": "If `true` , removes all numeric characters (0 through 9).", - "title": "RemoveNumbers", - "type": "string" - }, - "RemoveSourceColumn": { - "markdownDescription": "If `true` , the source column will be removed after un-nesting that column. (Used with nested column types, such as Map, Struct, or Array.)", - "title": "RemoveSourceColumn", - "type": "string" - }, - "RemoveSpecialCharacters": { - "markdownDescription": "If `true` , removes all of the following characters: `! \" # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \\ ] ^ _ ` { | } ~`", - "title": "RemoveSpecialCharacters", - "type": "string" - }, - "RightColumns": { - "markdownDescription": "The columns on the right side of a join.", - "title": "RightColumns", - "type": "string" - }, - "SampleSize": { - "markdownDescription": "The number of rows in the sample.", - "title": "SampleSize", + "DimensionType": { + "markdownDescription": "The action to segment on.", + "title": "DimensionType", "type": "string" }, - "SampleType": { - "markdownDescription": "The sampling type to apply to the dataset. Valid values: `FIRST_N` | `LAST_N` | `RANDOM`", - "title": "SampleType", - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The values to apply the DimensionType on.", + "title": "Values", + "type": "array" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.Dimension": { + "additionalProperties": false, + "properties": { + "CalculatedAttributes": { + "additionalProperties": false, + "markdownDescription": "Object that holds the calculated attributes to segment on.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.CalculatedAttributeDimension" + } + }, + "title": "CalculatedAttributes", + "type": "object" }, - "SecondInput": { - "markdownDescription": "A object value to indicate the second dataset used in a join.", - "title": "SecondInput", + "ProfileAttributes": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileAttributes", + "markdownDescription": "Object that holds the profile attributes to segment on.", + "title": "ProfileAttributes" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.ExtraLengthValueProfileDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "markdownDescription": "The action to segment with.", + "title": "DimensionType", "type": "string" }, - "SecondaryInputs": { + "Values": { "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" + "type": "string" }, - "markdownDescription": "A list of secondary inputs in a UNION transform", - "title": "SecondaryInputs", + "markdownDescription": "The values to apply the DimensionType on.", + "title": "Values", "type": "array" - }, - "SheetIndexes": { + } + }, + "required": [ + "DimensionType", + "Values" + ], + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.Group": { + "additionalProperties": false, + "properties": { + "Dimensions": { "items": { - "type": "number" + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.Dimension" }, - "markdownDescription": "One or more sheet numbers in the Excel file, which will be included in a dataset.", - "title": "SheetIndexes", + "markdownDescription": "Defines the attributes to segment on.", + "title": "Dimensions", "type": "array" }, - "SheetNames": { + "SourceSegments": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SourceSegment" }, - "markdownDescription": "Oone or more named sheets in the Excel file, which will be included in a dataset.", - "title": "SheetNames", + "markdownDescription": "Defines the starting source of data.", + "title": "SourceSegments", "type": "array" }, - "SourceColumn": { - "markdownDescription": "A source column needed for an operation, step, or transform.", - "title": "SourceColumn", - "type": "string" - }, - "SourceColumn1": { - "markdownDescription": "A source column needed for an operation, step, or transform.", - "title": "SourceColumn1", - "type": "string" - }, - "SourceColumn2": { - "markdownDescription": "A source column needed for an operation, step, or transform.", - "title": "SourceColumn2", + "SourceType": { + "markdownDescription": "Defines how to interact with the source data.", + "title": "SourceType", "type": "string" }, - "SourceColumns": { - "markdownDescription": "A list of source columns needed for an operation, step, or transform.", - "title": "SourceColumns", + "Type": { + "markdownDescription": "Defines how to interact with the profiles found in the current filtering.", + "title": "Type", "type": "string" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.ProfileAttributes": { + "additionalProperties": false, + "properties": { + "AccountNumber": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within account number.", + "title": "AccountNumber" }, - "StartColumnIndex": { - "markdownDescription": "The index number of the first column used by an operation, step, or transform.", - "title": "StartColumnIndex", - "type": "string" + "AdditionalInformation": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ExtraLengthValueProfileDimension", + "markdownDescription": "A field to describe values to segment on within additional information.", + "title": "AdditionalInformation" }, - "StartPattern": { - "markdownDescription": "The starting pattern to locate.", - "title": "StartPattern", - "type": "string" + "Address": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", + "markdownDescription": "A field to describe values to segment on within address.", + "title": "Address" }, - "StartPosition": { - "markdownDescription": "The starting position to locate.", - "title": "StartPosition", - "type": "string" + "Attributes": { + "additionalProperties": false, + "markdownDescription": "A field to describe values to segment on within attributes.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AttributeDimension" + } + }, + "title": "Attributes", + "type": "object" }, - "StartValue": { - "markdownDescription": "The starting value to locate.", - "title": "StartValue", - "type": "string" + "BillingAddress": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", + "markdownDescription": "A field to describe values to segment on within billing address.", + "title": "BillingAddress" }, - "StemmingMode": { - "markdownDescription": "Indicates this operation uses stems and lemmas (base words) for word tokenization.", - "title": "StemmingMode", - "type": "string" + "BirthDate": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.DateDimension", + "markdownDescription": "A field to describe values to segment on within birthDate.", + "title": "BirthDate" }, - "StepCount": { - "markdownDescription": "The total number of transforms in this recipe.", - "title": "StepCount", - "type": "string" + "BusinessEmailAddress": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within business email address.", + "title": "BusinessEmailAddress" }, - "StepIndex": { - "markdownDescription": "The index ID of a step.", - "title": "StepIndex", - "type": "string" + "BusinessName": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within business name.", + "title": "BusinessName" }, - "StopWordsMode": { - "markdownDescription": "Indicates this operation uses stop words as part of word tokenization.", - "title": "StopWordsMode", - "type": "string" + "BusinessPhoneNumber": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within business phone number.", + "title": "BusinessPhoneNumber" }, - "Strategy": { - "markdownDescription": "The resolution strategy to apply in resolving ambiguities.", - "title": "Strategy", - "type": "string" + "EmailAddress": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within email address.", + "title": "EmailAddress" }, - "TargetColumn": { - "markdownDescription": "The column targeted by this operation.", - "title": "TargetColumn", - "type": "string" + "FirstName": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within first name.", + "title": "FirstName" }, - "TargetColumnNames": { - "markdownDescription": "The names to give columns altered by this operation.", - "title": "TargetColumnNames", - "type": "string" + "GenderString": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within genderString.", + "title": "GenderString" }, - "TargetDateFormat": { - "markdownDescription": "The date format to convert to.", - "title": "TargetDateFormat", - "type": "string" + "HomePhoneNumber": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within home phone number.", + "title": "HomePhoneNumber" }, - "TargetIndex": { - "markdownDescription": "The index number of an object that is targeted by this operation.", - "title": "TargetIndex", - "type": "string" + "LastName": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within last name.", + "title": "LastName" }, - "TimeZone": { - "markdownDescription": "The current timezone that you want to use for dates.", - "title": "TimeZone", - "type": "string" + "MailingAddress": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", + "markdownDescription": "A field to describe values to segment on within mailing address.", + "title": "MailingAddress" }, - "TokenizerPattern": { - "markdownDescription": "A regex expression to use when splitting text into terms, also called words or tokens.", - "title": "TokenizerPattern", - "type": "string" + "MiddleName": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within middle name.", + "title": "MiddleName" }, - "TrueString": { - "markdownDescription": "A value to use to represent `TRUE` .", - "title": "TrueString", - "type": "string" + "MobilePhoneNumber": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within mobile phone number.", + "title": "MobilePhoneNumber" }, - "UdfLang": { - "markdownDescription": "The language that's used in the user-defined function.", - "title": "UdfLang", - "type": "string" + "PartyTypeString": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within partyTypeString.", + "title": "PartyTypeString" }, - "Units": { - "markdownDescription": "Specifies a unit of time. For example: `MINUTES` ; `SECONDS` ; `HOURS` ; etc.", - "title": "Units", - "type": "string" + "PersonalEmailAddress": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within personal email address.", + "title": "PersonalEmailAddress" }, - "UnpivotColumn": { - "markdownDescription": "Cast columns as rows, so that each value is a different row in a single column.", - "title": "UnpivotColumn", - "type": "string" + "PhoneNumber": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileDimension", + "markdownDescription": "A field to describe values to segment on within phone number.", + "title": "PhoneNumber" }, - "UpperBound": { - "markdownDescription": "The upper boundary for a value.", - "title": "UpperBound", - "type": "string" + "ProfileType": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.ProfileTypeDimension", + "markdownDescription": "The type of profile.", + "title": "ProfileType" }, - "UseNewDataFrame": { - "markdownDescription": "Create a new container to hold a dataset.", - "title": "UseNewDataFrame", + "ShippingAddress": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.AddressDimension", + "markdownDescription": "A field to describe values to segment on within shipping address.", + "title": "ShippingAddress" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.ProfileDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "markdownDescription": "The action to segment on.", + "title": "DimensionType", "type": "string" }, - "Value": { - "markdownDescription": "A static value that can be used in a comparison, a substitution, or in another context-specific way. A `Value` can be a number, string, or other datatype, depending on the recipe action in which it's used.", - "title": "Value", + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Values", + "type": "array" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.ProfileTypeDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "markdownDescription": "The action to segment on.", + "title": "DimensionType", "type": "string" }, - "Value1": { - "markdownDescription": "A value that's used by this operation.", - "title": "Value1", - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The values to apply the DimensionType on.", + "title": "Values", + "type": "array" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.RangeOverride": { + "additionalProperties": false, + "properties": { + "End": { + "markdownDescription": "The end time of when to include objects.", + "title": "End", + "type": "number" }, - "Value2": { - "markdownDescription": "A value that's used by this operation.", - "title": "Value2", - "type": "string" + "Start": { + "markdownDescription": "The start time of when to include objects.", + "title": "Start", + "type": "number" }, - "ValueColumn": { - "markdownDescription": "The column that is provided as a value that's used by this operation.", - "title": "ValueColumn", + "Unit": { + "markdownDescription": "The unit for start and end.", + "title": "Unit", "type": "string" + } + }, + "required": [ + "Start", + "Unit" + ], + "type": "object" + }, + "AWS::CustomerProfiles::SegmentDefinition.SegmentGroup": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.Group" + }, + "markdownDescription": "Holds the list of groups within the segment definition.", + "title": "Groups", + "type": "array" }, - "ViewFrame": { - "markdownDescription": "The subset of rows currently available for viewing.", - "title": "ViewFrame", + "Include": { + "markdownDescription": "Defines whether to include or exclude the profiles that fit the segment criteria.", + "title": "Include", "type": "string" } }, "type": "object" }, - "AWS::DataBrew::Recipe.RecipeStep": { + "AWS::CustomerProfiles::SegmentDefinition.SegmentSort": { "additionalProperties": false, "properties": { - "Action": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.Action", - "markdownDescription": "The particular action to be performed in the recipe step.", - "title": "Action" - }, - "ConditionExpressions": { + "Attributes": { "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" + "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition.SortAttribute" }, - "markdownDescription": "One or more conditions that must be met for the recipe step to succeed.\n\n> All of the conditions in the array must be met. In other words, all of the conditions must be combined using a logical AND operation.", - "title": "ConditionExpressions", "type": "array" } }, "required": [ - "Action" + "Attributes" ], "type": "object" }, - "AWS::DataBrew::Recipe.S3Location": { + "AWS::CustomerProfiles::SegmentDefinition.SortAttribute": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The Amazon S3 bucket name.", - "title": "Bucket", + "DataType": { "type": "string" }, - "Key": { - "markdownDescription": "The unique name of the object in the bucket.", - "title": "Key", + "Name": { + "type": "string" + }, + "Order": { + "type": "string" + }, + "Type": { "type": "string" } }, "required": [ - "Bucket" + "Name", + "Order" ], "type": "object" }, - "AWS::DataBrew::Recipe.SecondaryInput": { + "AWS::CustomerProfiles::SegmentDefinition.SourceSegment": { "additionalProperties": false, "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition", - "markdownDescription": "The AWS Glue Data Catalog parameters for the data.", - "title": "DataCatalogInputDefinition" - }, - "S3InputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location", - "markdownDescription": "The Amazon S3 location where the data is stored.", - "title": "S3InputDefinition" + "SegmentDefinitionName": { + "markdownDescription": "The name of the source segment.", + "title": "SegmentDefinitionName", + "type": "string" } }, "type": "object" }, - "AWS::DataBrew::Ruleset": { + "AWS::DAX::Cluster": { "additionalProperties": false, "properties": { "Condition": { @@ -104398,48 +103196,98 @@ "Properties": { "additionalProperties": false, "properties": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "markdownDescription": "The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or updated. If provided, the length of this list must equal the `ReplicationFactor` parameter. If you omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability.", + "title": "AvailabilityZones", + "type": "array" + }, + "ClusterEndpointEncryptionType": { + "markdownDescription": "The encryption type of the cluster's endpoint. Available values are:\n\n- `NONE` - The cluster's endpoint will be unencrypted.\n- `TLS` - The cluster's endpoint will be encrypted with Transport Layer Security, and will provide an x509 certificate for authentication.\n\nThe default value is `NONE` .", + "title": "ClusterEndpointEncryptionType", + "type": "string" + }, + "ClusterName": { + "markdownDescription": "The name of the DAX cluster.", + "title": "ClusterName", + "type": "string" + }, "Description": { - "markdownDescription": "The description of the ruleset.", + "markdownDescription": "The description of the cluster.", "title": "Description", "type": "string" }, - "Name": { - "markdownDescription": "The name of the ruleset.", - "title": "Name", + "IAMRoleARN": { + "markdownDescription": "A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role's permissions to access DynamoDB on your behalf.", + "title": "IAMRoleARN", "type": "string" }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Ruleset.Rule" - }, - "markdownDescription": "Contains metadata about the ruleset.", - "title": "Rules", - "type": "array" + "NetworkType": { + "markdownDescription": "The IP address type of the cluster. Values are:\n\n- `ipv4` - IPv4 addresses only\n- `ipv6` - IPv6 addresses only\n- `dual_stack` - Both IPv4 and IPv6 addresses", + "title": "NetworkType", + "type": "string" }, - "Tags": { + "NodeType": { + "markdownDescription": "The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.)", + "title": "NodeType", + "type": "string" + }, + "NotificationTopicARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent.\n\n> The Amazon SNS topic owner must be same as the DAX cluster owner.", + "title": "NotificationTopicARN", + "type": "string" + }, + "ParameterGroupName": { + "markdownDescription": "The parameter group to be associated with the DAX cluster.", + "title": "ParameterGroupName", + "type": "string" + }, + "PreferredMaintenanceWindow": { + "markdownDescription": "A range of time when maintenance of DAX cluster software will be performed. For example: `sun:01:00-sun:09:00` . Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "ReplicationFactor": { + "markdownDescription": "The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, without any read replicas. For additional fault tolerance, you can create a multiple node cluster with one or more read replicas. To do this, set `ReplicationFactor` to a number between 3 (one primary and two read replicas) and 10 (one primary and nine read replicas). `If the AvailabilityZones` parameter is provided, its length must equal the `ReplicationFactor` .\n\n> AWS recommends that you have at least two read replicas per cluster.", + "title": "ReplicationFactor", + "type": "number" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DAX::Cluster.SSESpecification", + "markdownDescription": "Represents the settings used to enable server-side encryption on the cluster.", + "title": "SSESpecification" + }, + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "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", + "markdownDescription": "A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is system-generated.)\n\nIf this parameter is not specified, DAX assigns the default VPC security group to each node.", + "title": "SecurityGroupIds", "type": "array" }, - "TargetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of a resource (dataset) that the ruleset is associated with.", - "title": "TargetArn", + "SubnetGroupName": { + "markdownDescription": "The name of the subnet group to be used for the replication group.\n\n> DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet group must exist in the same VPC.", + "title": "SubnetGroupName", "type": "string" + }, + "Tags": { + "markdownDescription": "A set of tags to associate with the DAX cluster.", + "title": "Tags", + "type": "object" } }, "required": [ - "Name", - "Rules", - "TargetArn" + "IAMRoleARN", + "NodeType", + "ReplicationFactor" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataBrew::Ruleset" + "AWS::DAX::Cluster" ], "type": "string" }, @@ -104458,124 +103306,29 @@ ], "type": "object" }, - "AWS::DataBrew::Ruleset.ColumnSelector": { + "AWS::DAX::Cluster.SSESpecification": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of a column from a dataset.", - "title": "Name", - "type": "string" - }, - "Regex": { - "markdownDescription": "A regular expression for selecting a column from a dataset.", - "title": "Regex", - "type": "string" + "SSEEnabled": { + "markdownDescription": "Indicates whether server-side encryption is enabled (true) or disabled (false) on the cluster.", + "title": "SSEEnabled", + "type": "boolean" } }, "type": "object" }, - "AWS::DataBrew::Ruleset.Rule": { + "AWS::DAX::ParameterGroup": { "additionalProperties": false, "properties": { - "CheckExpression": { - "markdownDescription": "The expression which includes column references, condition names followed by variable references, possibly grouped and combined with other conditions. For example, `(:col1 starts_with :prefix1 or :col1 starts_with :prefix2) and (:col1 ends_with :suffix1 or :col1 ends_with :suffix2)` . Column and value references are substitution variables that should start with the ':' symbol. Depending on the context, substitution variables' values can be either an actual value or a column name. These values are defined in the SubstitutionMap. If a CheckExpression starts with a column reference, then ColumnSelectors in the rule should be null. If ColumnSelectors has been defined, then there should be no columnn reference in the left side of a condition, for example, `is_between :val1 and :val2` .", - "title": "CheckExpression", + "Condition": { "type": "string" }, - "ColumnSelectors": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Ruleset.ColumnSelector" - }, - "markdownDescription": "List of column selectors. Selectors can be used to select columns using a name or regular expression from the dataset. Rule will be applied to selected columns.", - "title": "ColumnSelectors", - "type": "array" - }, - "Disabled": { - "markdownDescription": "A value that specifies whether the rule is disabled. Once a rule is disabled, a profile job will not validate it during a job run. Default value is false.", - "title": "Disabled", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the rule.", - "title": "Name", - "type": "string" - }, - "SubstitutionMap": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Ruleset.SubstitutionValue" - }, - "markdownDescription": "The map of substitution variable names to their values used in a check expression. Variable names should start with a ':' (colon). Variable values can either be actual values or column names. To differentiate between the two, column names should be enclosed in backticks, for example, `\":col1\": \"`Column A`\".`", - "title": "SubstitutionMap", - "type": "array" - }, - "Threshold": { - "$ref": "#/definitions/AWS::DataBrew::Ruleset.Threshold", - "markdownDescription": "The threshold used with a non-aggregate check expression. Non-aggregate check expressions will be applied to each row in a specific column, and the threshold will be used to determine whether the validation succeeds.", - "title": "Threshold" - } - }, - "required": [ - "CheckExpression", - "Name" - ], - "type": "object" - }, - "AWS::DataBrew::Ruleset.SubstitutionValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "Value or column name.", - "title": "Value", - "type": "string" - }, - "ValueReference": { - "markdownDescription": "Variable name.", - "title": "ValueReference", - "type": "string" - } - }, - "required": [ - "Value", - "ValueReference" - ], - "type": "object" - }, - "AWS::DataBrew::Ruleset.Threshold": { - "additionalProperties": false, - "properties": { - "Type": { - "markdownDescription": "The type of a threshold. Used for comparison of an actual count of rows that satisfy the rule to the threshold value.", - "title": "Type", - "type": "string" - }, - "Unit": { - "markdownDescription": "Unit of threshold value. Can be either a COUNT or PERCENTAGE of the full sample size used for validation.", - "title": "Unit", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of a threshold.", - "title": "Value", - "type": "number" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::DataBrew::Schedule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -104599,42 +103352,27 @@ "Properties": { "additionalProperties": false, "properties": { - "CronExpression": { - "markdownDescription": "The dates and times when the job is to run. For more information, see [Working with cron expressions for recipe jobs](https://docs.aws.amazon.com/databrew/latest/dg/jobs.recipe.html#jobs.cron) in the *AWS Glue DataBrew Developer Guide* .", - "title": "CronExpression", + "Description": { + "markdownDescription": "A description of the parameter group.", + "title": "Description", "type": "string" }, - "JobNames": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of jobs to be run, according to the schedule.", - "title": "JobNames", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the schedule.", - "title": "Name", + "ParameterGroupName": { + "markdownDescription": "The name of the parameter group.", + "title": "ParameterGroupName", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Metadata tags that have been applied to the schedule.", - "title": "Tags", - "type": "array" + "ParameterNameValues": { + "markdownDescription": "An array of name-value pairs for the parameters in the group. Each element in the array represents a single parameter.\n\n> `record-ttl-millis` and `query-ttl-millis` are the only supported parameter names. For more details, see [Configuring TTL Settings](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.cluster-management.html#DAX.cluster-management.custom-settings.ttl) .", + "title": "ParameterNameValues", + "type": "object" } }, - "required": [ - "CronExpression", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DataBrew::Schedule" + "AWS::DAX::ParameterGroup" ], "type": "string" }, @@ -104648,12 +103386,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::DataExchange::Assets": { + "AWS::DAX::SubnetGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -104688,21 +103425,33 @@ "Properties": { "additionalProperties": false, "properties": { - "DataSetId": { + "Description": { + "markdownDescription": "The description of the subnet group.", + "title": "Description", "type": "string" }, - "Name": { + "SubnetGroupName": { + "markdownDescription": "The name of the subnet group.", + "title": "SubnetGroupName", "type": "string" }, - "RevisionId": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of VPC subnet IDs for the subnet group.", + "title": "SubnetIds", + "type": "array" } }, + "required": [ + "SubnetIds" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DataExchange::Assets" + "AWS::DAX::SubnetGroup" ], "type": "string" }, @@ -104716,27 +103465,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DataExchange::Assets.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::DataExchange::DataSet": { + "AWS::DLM::LifecyclePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -104771,32 +103505,78 @@ "Properties": { "additionalProperties": false, "properties": { - "AssetType": { + "CopyTags": { + "markdownDescription": "*[Default policies only]* Indicates whether the policy should copy tags from the source resource to the snapshot or AMI. If you do not specify a value, the default is `false` .\n\nDefault: false", + "title": "CopyTags", + "type": "boolean" + }, + "CreateInterval": { + "markdownDescription": "*[Default policies only]* Specifies how often the policy should run and create snapshots or AMIs. The creation frequency can range from 1 to 7 days. If you do not specify a value, the default is 1.\n\nDefault: 1", + "title": "CreateInterval", + "type": "number" + }, + "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", + "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` .", + "title": "DefaultPolicy", "type": "string" }, "Description": { + "markdownDescription": "A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.", + "title": "Description", "type": "string" }, - "Name": { + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions", + "markdownDescription": "*[Default policies only]* Specifies exclusion parameters for volumes or instances for which you do not want to create snapshots or AMIs. The policy will not create snapshots or AMIs for target resources that match any of the specified exclusion parameters.", + "title": "Exclusions" + }, + "ExecutionRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.", + "title": "ExecutionRoleArn", + "type": "string" + }, + "ExtendDeletion": { + "markdownDescription": "*[Default policies only]* Defines the snapshot or AMI retention behavior for the policy if the source volume or instance is deleted, or if the policy enters the error, disabled, or deleted state.\n\nBy default ( *ExtendDeletion=false* ):\n\n- If a source resource is deleted, Amazon Data Lifecycle Manager will continue to delete previously created snapshots or AMIs, up to but not including the last one, based on the specified retention period. If you want Amazon Data Lifecycle Manager to delete all snapshots or AMIs, including the last one, specify `true` .\n- If a policy enters the error, disabled, or deleted state, Amazon Data Lifecycle Manager stops deleting snapshots and AMIs. If you want Amazon Data Lifecycle Manager to continue deleting snapshots or AMIs, including the last one, if the policy enters one of these states, specify `true` .\n\nIf you enable extended deletion ( *ExtendDeletion=true* ), you override both default behaviors simultaneously.\n\nIf you do not specify a value, the default is `false` .\n\nDefault: false", + "title": "ExtendDeletion", + "type": "boolean" + }, + "PolicyDetails": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails", + "markdownDescription": "The configuration details of the lifecycle policy.\n\n> If you create a default policy, you can specify the request parameters either in the request body, or in the PolicyDetails request structure, but not both.", + "title": "PolicyDetails" + }, + "RetainInterval": { + "markdownDescription": "*[Default policies only]* Specifies how long the policy should retain snapshots or AMIs before deleting them. The retention period can range from 2 to 14 days, but it must be greater than the creation frequency to ensure that the policy retains at least 1 snapshot or AMI at any given time. If you do not specify a value, the default is 7.\n\nDefault: 7", + "title": "RetainInterval", + "type": "number" + }, + "State": { + "markdownDescription": "The activation state of the lifecycle policy.", + "title": "State", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags to apply to the lifecycle policy during creation.", + "title": "Tags", "type": "array" } }, - "required": [ - "AssetType", - "Description", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DataExchange::DataSet" + "AWS::DLM::LifecyclePolicy" ], "type": "string" }, @@ -104810,208 +103590,300 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::DataExchange::EntitledDataSets": { + "AWS::DLM::LifecyclePolicy.Action": { "additionalProperties": false, "properties": { - "Condition": { + "CrossRegionCopy": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" + }, + "markdownDescription": "The rule for copying shared snapshots across Regions.", + "title": "CrossRegionCopy", + "type": "array" + }, + "Name": { + "markdownDescription": "A descriptive name for the action.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "CrossRegionCopy", + "Name" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.ArchiveRetainRule": { + "additionalProperties": false, + "properties": { + "RetentionArchiveTier": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.RetentionArchiveTier", + "markdownDescription": "Information about retention period in the Amazon EBS Snapshots Archive. For more information, see [Archive Amazon EBS snapshots](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/snapshot-archive.html) .", + "title": "RetentionArchiveTier" + } + }, + "required": [ + "RetentionArchiveTier" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.ArchiveRule": { + "additionalProperties": false, + "properties": { + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ArchiveRetainRule", + "markdownDescription": "Information about the retention period for the snapshot archiving rule.", + "title": "RetainRule" + } + }, + "required": [ + "RetainRule" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CreateRule": { + "additionalProperties": false, + "properties": { + "CronExpression": { + "markdownDescription": "The schedule, as a Cron expression. The schedule interval must be between 1 hour and 1 year. For more information, see the [Cron and rate expressions](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html) in the *Amazon EventBridge User Guide* .", + "title": "CronExpression", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Interval": { + "markdownDescription": "The interval between snapshots. The supported values are 1, 2, 3, 4, 6, 8, 12, and 24.", + "title": "Interval", + "type": "number" + }, + "IntervalUnit": { + "markdownDescription": "The interval unit.", + "title": "IntervalUnit", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Location": { + "markdownDescription": "*[Custom snapshot policies only]* Specifies the destination for snapshots created by the policy. The allowed destinations depend on the location of the targeted resources.\n\n- If the policy targets resources in a Region, then you must create snapshots in the same Region as the source resource.\n- If the policy targets resources in a Local Zone, you can create snapshots in the same Local Zone or in its parent Region.\n- If the policy targets resources on an Outpost, then you can create snapshots on the same Outpost or in its parent Region.\n\nSpecify one of the following values:\n\n- To create snapshots in the same Region as the source resource, specify `CLOUD` .\n- To create snapshots in the same Local Zone as the source resource, specify `LOCAL_ZONE` .\n- To create snapshots on the same Outpost as the source resource, specify `OUTPOST_LOCAL` .\n\nDefault: `CLOUD`", + "title": "Location", + "type": "string" }, - "Metadata": { - "type": "object" + "Scripts": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Script" + }, + "markdownDescription": "*[Custom snapshot policies that target instances only]* Specifies pre and/or post scripts for a snapshot lifecycle policy that targets instances. This is useful for creating application-consistent snapshots, or for performing specific administrative tasks before or after Amazon Data Lifecycle Manager initiates snapshot creation.\n\nFor more information, see [Automating application-consistent snapshots with pre and post scripts](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/automate-app-consistent-backups.html) .", + "title": "Scripts", + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - } + "Times": { + "items": { + "type": "string" }, - "type": "object" + "markdownDescription": "The time, in UTC, to start the operation. The supported format is hh:mm.\n\nThe operation occurs within a one-hour window following the specified time. If you do not specify a time, Amazon Data Lifecycle Manager selects a time within the next 24 hours.", + "title": "Times", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration", + "markdownDescription": "The encryption settings for the copied snapshot.", + "title": "EncryptionConfiguration" }, - "Type": { - "enum": [ - "AWS::DataExchange::EntitledDataSets" - ], - "type": "string" + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule", + "markdownDescription": "Specifies a retention rule for cross-Region snapshot copies created by snapshot or event-based policies, or cross-Region AMI copies created by AMI policies. After the retention period expires, the cross-Region copy is deleted.", + "title": "RetainRule" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Target": { + "markdownDescription": "The target Region.", + "title": "Target", "type": "string" } }, "required": [ - "Type" + "EncryptionConfiguration", + "Target" ], "type": "object" }, - "AWS::DataExchange::EventAction": { + "AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule": { "additionalProperties": false, "properties": { - "Condition": { + "Interval": { + "markdownDescription": "The period after which to deprecate the cross-Region AMI copies. The period must be less than or equal to the cross-Region AMI copy retention period, and it can't be greater than 10 years. This is equivalent to 120 months, 520 weeks, or 3650 days.", + "title": "Interval", + "type": "number" + }, + "IntervalUnit": { + "markdownDescription": "The unit of time in which to measure the *Interval* . For example, to deprecate a cross-Region AMI copy after 3 months, specify `Interval=3` and `IntervalUnit=MONTHS` .", + "title": "IntervalUnit", "type": "string" + } + }, + "required": [ + "Interval", + "IntervalUnit" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { + "additionalProperties": false, + "properties": { + "Interval": { + "markdownDescription": "The amount of time to retain a cross-Region snapshot or AMI copy. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.", + "title": "Interval", + "type": "number" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "IntervalUnit": { + "markdownDescription": "The unit of time for time-based retention. For example, to retain a cross-Region copy for 3 months, specify `Interval=3` and `IntervalUnit=MONTHS` .", + "title": "IntervalUnit", + "type": "string" + } + }, + "required": [ + "Interval", + "IntervalUnit" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyRule": { + "additionalProperties": false, + "properties": { + "CmkArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key to use for EBS encryption. If this parameter is not specified, the default KMS key for the account is used.", + "title": "CmkArn", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CopyTags": { + "markdownDescription": "Indicates whether to copy all user-defined tags from the source snapshot or AMI to the cross-Region copy.", + "title": "CopyTags", + "type": "boolean" }, - "Metadata": { - "type": "object" + "DeprecateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule", + "markdownDescription": "*[Custom AMI policies only]* The AMI deprecation rule for cross-Region AMI copies created by the rule.", + "title": "DeprecateRule" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.Action" - }, - "Event": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.Event" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Action", - "Event" - ], - "type": "object" + "Encrypted": { + "markdownDescription": "To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, enable encryption using this parameter. Copies of encrypted snapshots are encrypted, even if this parameter is false or if encryption by default is not enabled.", + "title": "Encrypted", + "type": "boolean" }, - "Type": { - "enum": [ - "AWS::DataExchange::EventAction" - ], + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule", + "markdownDescription": "The retention rule that indicates how long the cross-Region snapshot or AMI copies are to be retained in the destination Region.", + "title": "RetainRule" + }, + "Target": { + "markdownDescription": "> Use this parameter for snapshot policies only. For AMI policies, use *TargetRegion* instead. \n\n*[Custom snapshot policies only]* The target Region or the Amazon Resource Name (ARN) of the target Outpost for the snapshot copies.", + "title": "Target", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TargetRegion": { + "markdownDescription": "> Use this parameter for AMI policies only. For snapshot policies, use *Target* instead. For snapshot policies created before the *Target* parameter was introduced, this parameter indicates the target Region for snapshot copies. \n\n*[Custom AMI policies only]* The target Region or the Amazon Resource Name (ARN) of the target Outpost for the snapshot copies.", + "title": "TargetRegion", "type": "string" } }, "required": [ - "Type", - "Properties" + "Encrypted" ], "type": "object" }, - "AWS::DataExchange::EventAction.Action": { + "AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget": { "additionalProperties": false, "properties": { - "ExportRevisionToS3": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.AutoExportRevisionToS3RequestDetails" + "TargetRegion": { + "type": "string" } }, "type": "object" }, - "AWS::DataExchange::EventAction.AutoExportRevisionDestinationEntry": { + "AWS::DLM::LifecyclePolicy.DeprecateRule": { "additionalProperties": false, "properties": { - "Bucket": { - "type": "string" + "Count": { + "markdownDescription": "If the schedule has a count-based retention rule, this parameter specifies the number of oldest AMIs to deprecate. The count must be less than or equal to the schedule's retention count, and it can't be greater than 1000.", + "title": "Count", + "type": "number" }, - "KeyPattern": { + "Interval": { + "markdownDescription": "If the schedule has an age-based retention rule, this parameter specifies the period after which to deprecate AMIs created by the schedule. The period must be less than or equal to the schedule's retention period, and it can't be greater than 10 years. This is equivalent to 120 months, 520 weeks, or 3650 days.", + "title": "Interval", + "type": "number" + }, + "IntervalUnit": { + "markdownDescription": "The unit of time in which to measure the *Interval* .", + "title": "IntervalUnit", "type": "string" } }, - "required": [ - "Bucket" - ], "type": "object" }, - "AWS::DataExchange::EventAction.AutoExportRevisionToS3RequestDetails": { + "AWS::DLM::LifecyclePolicy.EncryptionConfiguration": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.ExportServerSideEncryption" + "CmkArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key to use for EBS encryption. If this parameter is not specified, the default KMS key for the account is used.", + "title": "CmkArn", + "type": "string" }, - "RevisionDestination": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.AutoExportRevisionDestinationEntry" + "Encrypted": { + "markdownDescription": "To encrypt a copy of an unencrypted snapshot when encryption by default is not enabled, enable encryption using this parameter. Copies of encrypted snapshots are encrypted, even if this parameter is false or when encryption by default is not enabled.", + "title": "Encrypted", + "type": "boolean" } }, "required": [ - "RevisionDestination" + "Encrypted" ], "type": "object" }, - "AWS::DataExchange::EventAction.Event": { + "AWS::DLM::LifecyclePolicy.EventParameters": { "additionalProperties": false, "properties": { - "RevisionPublished": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.RevisionPublished" + "DescriptionRegex": { + "markdownDescription": "The snapshot description that can trigger the policy. The description pattern is specified using a regular expression. The policy runs only if a snapshot with a description that matches the specified pattern is shared with your account.\n\nFor example, specifying `^.*Created for policy: policy-1234567890abcdef0.*$` configures the policy to run only if snapshots created by policy `policy-1234567890abcdef0` are shared with your account.", + "title": "DescriptionRegex", + "type": "string" + }, + "EventType": { + "markdownDescription": "The type of event. Currently, only snapshot sharing events are supported.", + "title": "EventType", + "type": "string" + }, + "SnapshotOwner": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the AWS accounts that can trigger policy by sharing snapshots with your account. The policy only runs if one of the specified AWS accounts shares a snapshot with your account.", + "title": "SnapshotOwner", + "type": "array" } }, + "required": [ + "EventType", + "SnapshotOwner" + ], "type": "object" }, - "AWS::DataExchange::EventAction.ExportServerSideEncryption": { + "AWS::DLM::LifecyclePolicy.EventSource": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "type": "string" + "Parameters": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventParameters", + "markdownDescription": "Information about the event.", + "title": "Parameters" }, "Type": { + "markdownDescription": "The source of the event. Currently only managed Amazon EventBridge (formerly known as Amazon CloudWatch) events are supported.", + "title": "Type", "type": "string" } }, @@ -105020,19 +103892,375 @@ ], "type": "object" }, - "AWS::DataExchange::EventAction.RevisionPublished": { + "AWS::DLM::LifecyclePolicy.Exclusions": { "additionalProperties": false, "properties": { - "DataSetId": { + "ExcludeBootVolumes": { + "markdownDescription": "*[Default policies for EBS snapshots only]* Indicates whether to exclude volumes that are attached to instances as the boot volume. If you exclude boot volumes, only volumes attached as data (non-boot) volumes will be backed up by the policy. To exclude boot volumes, specify `true` .", + "title": "ExcludeBootVolumes", + "type": "boolean" + }, + "ExcludeTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "*[Default policies for EBS-backed AMIs only]* Specifies whether to exclude volumes that have specific tags.", + "title": "ExcludeTags", + "type": "array" + }, + "ExcludeVolumeTypes": { + "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", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.FastRestoreRule": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "markdownDescription": "The Availability Zones in which to enable fast snapshot restore.", + "title": "AvailabilityZones", + "type": "array" + }, + "Count": { + "markdownDescription": "The number of snapshots to be enabled with fast snapshot restore.", + "title": "Count", + "type": "number" + }, + "Interval": { + "markdownDescription": "The amount of time to enable fast snapshot restore. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.", + "title": "Interval", + "type": "number" + }, + "IntervalUnit": { + "markdownDescription": "The unit of time for enabling fast snapshot restore.", + "title": "IntervalUnit", "type": "string" } }, - "required": [ - "DataSetId" - ], "type": "object" }, - "AWS::DataExchange::Job": { + "AWS::DLM::LifecyclePolicy.Parameters": { + "additionalProperties": false, + "properties": { + "ExcludeBootVolume": { + "markdownDescription": "*[Custom snapshot policies that target instances only]* Indicates whether to exclude the root volume from multi-volume snapshot sets. The default is `false` . If you specify `true` , then the root volumes attached to targeted instances will be excluded from the multi-volume snapshot sets created by the policy.", + "title": "ExcludeBootVolume", + "type": "boolean" + }, + "ExcludeDataVolumeTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "*[Custom snapshot policies that target instances only]* The tags used to identify data (non-root) volumes to exclude from multi-volume snapshot sets.\n\nIf you create a snapshot lifecycle policy that targets instances and you specify tags for this parameter, then data volumes with the specified tags that are attached to targeted instances will be excluded from the multi-volume snapshot sets created by the policy.", + "title": "ExcludeDataVolumeTags", + "type": "array" + }, + "NoReboot": { + "markdownDescription": "*[Custom AMI policies only]* Indicates whether targeted instances are rebooted when the lifecycle policy runs. `true` indicates that targeted instances are not rebooted when the policy runs. `false` indicates that target instances are rebooted when the policy runs. The default is `true` (instances are not rebooted).", + "title": "NoReboot", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.PolicyDetails": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" + }, + "markdownDescription": "*[Event-based policies only]* The actions to be performed when the event-based policy is activated. You can specify only one action per policy.", + "title": "Actions", + "type": "array" + }, + "CopyTags": { + "markdownDescription": "*[Default policies only]* Indicates whether the policy should copy tags from the source resource to the snapshot or AMI. If you do not specify a value, the default is `false` .\n\nDefault: false", + "title": "CopyTags", + "type": "boolean" + }, + "CreateInterval": { + "markdownDescription": "*[Default policies only]* Specifies how often the policy should run and create snapshots or AMIs. The creation frequency can range from 1 to 7 days. If you do not specify a value, the default is 1.\n\nDefault: 1", + "title": "CreateInterval", + "type": "number" + }, + "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", + "type": "array" + }, + "EventSource": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource", + "markdownDescription": "*[Event-based policies only]* The event that activates the event-based policy.", + "title": "EventSource" + }, + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions", + "markdownDescription": "*[Default policies only]* Specifies exclusion parameters for volumes or instances for which you do not want to create snapshots or AMIs. The policy will not create snapshots or AMIs for target resources that match any of the specified exclusion parameters.", + "title": "Exclusions" + }, + "ExtendDeletion": { + "markdownDescription": "*[Default policies only]* Defines the snapshot or AMI retention behavior for the policy if the source volume or instance is deleted, or if the policy enters the error, disabled, or deleted state.\n\nBy default ( *ExtendDeletion=false* ):\n\n- If a source resource is deleted, Amazon Data Lifecycle Manager will continue to delete previously created snapshots or AMIs, up to but not including the last one, based on the specified retention period. If you want Amazon Data Lifecycle Manager to delete all snapshots or AMIs, including the last one, specify `true` .\n- If a policy enters the error, disabled, or deleted state, Amazon Data Lifecycle Manager stops deleting snapshots and AMIs. If you want Amazon Data Lifecycle Manager to continue deleting snapshots or AMIs, including the last one, if the policy enters one of these states, specify `true` .\n\nIf you enable extended deletion ( *ExtendDeletion=true* ), you override both default behaviors simultaneously.\n\nIf you do not specify a value, the default is `false` .\n\nDefault: false", + "title": "ExtendDeletion", + "type": "boolean" + }, + "Parameters": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters", + "markdownDescription": "*[Custom snapshot and AMI policies only]* A set of optional parameters for snapshot and AMI lifecycle policies.\n\n> If you are modifying a policy that was created or previously modified using the Amazon Data Lifecycle Manager console, then you must include this parameter and specify either the default values or the new values that you require. You can't omit this parameter or set its values to null.", + "title": "Parameters" + }, + "PolicyLanguage": { + "markdownDescription": "The type of policy to create. Specify one of the following:\n\n- `SIMPLIFIED` To create a default policy.\n- `STANDARD` To create a custom policy.", + "title": "PolicyLanguage", + "type": "string" + }, + "PolicyType": { + "markdownDescription": "The type of policy. Specify `EBS_SNAPSHOT_MANAGEMENT` to create a lifecycle policy that manages the lifecycle of Amazon EBS snapshots. Specify `IMAGE_MANAGEMENT` to create a lifecycle policy that manages the lifecycle of EBS-backed AMIs. Specify `EVENT_BASED_POLICY` to create an event-based policy that performs specific actions when a defined event occurs in your AWS account .\n\nThe default is `EBS_SNAPSHOT_MANAGEMENT` .", + "title": "PolicyType", + "type": "string" + }, + "ResourceLocations": { + "items": { + "type": "string" + }, + "markdownDescription": "*[Custom snapshot and AMI policies only]* The location of the resources to backup.\n\n- If the source resources are located in a Region, specify `CLOUD` . In this case, the policy targets all resources of the specified type with matching target tags across all Availability Zones in the Region.\n- *[Custom snapshot policies only]* If the source resources are located in a Local Zone, specify `LOCAL_ZONE` . In this case, the policy targets all resources of the specified type with matching target tags across all Local Zones in the Region.\n- If the source resources are located on an Outpost in your account, specify `OUTPOST` . In this case, the policy targets all resources of the specified type with matching target tags across all of the Outposts in your account.", + "title": "ResourceLocations", + "type": "array" + }, + "ResourceType": { + "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` .", + "title": "ResourceType", + "type": "string" + }, + "ResourceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "*[Custom snapshot policies only]* The target resource type for snapshot and AMI lifecycle policies. Use `VOLUME` to create snapshots of individual volumes or use `INSTANCE` to create multi-volume snapshots from the volumes for an instance.", + "title": "ResourceTypes", + "type": "array" + }, + "RetainInterval": { + "markdownDescription": "*[Default policies only]* Specifies how long the policy should retain snapshots or AMIs before deleting them. The retention period can range from 2 to 14 days, but it must be greater than the creation frequency to ensure that the policy retains at least 1 snapshot or AMI at any given time. If you do not specify a value, the default is 7.\n\nDefault: 7", + "title": "RetainInterval", + "type": "number" + }, + "Schedules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" + }, + "markdownDescription": "*[Custom snapshot and AMI policies only]* The schedules of policy-defined actions for snapshot and AMI lifecycle policies. A policy can have up to four schedules\u2014one mandatory schedule and up to three optional schedules.", + "title": "Schedules", + "type": "array" + }, + "TargetTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "*[Custom snapshot and AMI policies only]* The single tag that identifies targeted resources for this policy.", + "title": "TargetTags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.RetainRule": { + "additionalProperties": false, + "properties": { + "Count": { + "markdownDescription": "The number of snapshots to retain for each volume, up to a maximum of 1000. For example if you want to retain a maximum of three snapshots, specify `3` . When the fourth snapshot is created, the oldest retained snapshot is deleted, or it is moved to the archive tier if you have specified an [ArchiveRule](https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html) .", + "title": "Count", + "type": "number" + }, + "Interval": { + "markdownDescription": "The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.", + "title": "Interval", + "type": "number" + }, + "IntervalUnit": { + "markdownDescription": "The unit of time for time-based retention. For example, to retain snapshots for 3 months, specify `Interval=3` and `IntervalUnit=MONTHS` . Once the snapshot has been retained for 3 months, it is deleted, or it is moved to the archive tier if you have specified an [ArchiveRule](https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html) .", + "title": "IntervalUnit", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.RetentionArchiveTier": { + "additionalProperties": false, + "properties": { + "Count": { + "markdownDescription": "The maximum number of snapshots to retain in the archive storage tier for each volume. The count must ensure that each snapshot remains in the archive tier for at least 90 days. For example, if the schedule creates snapshots every 30 days, you must specify a count of 3 or more to ensure that each snapshot is archived for at least 90 days.", + "title": "Count", + "type": "number" + }, + "Interval": { + "markdownDescription": "Specifies the period of time to retain snapshots in the archive tier. After this period expires, the snapshot is permanently deleted.", + "title": "Interval", + "type": "number" + }, + "IntervalUnit": { + "markdownDescription": "The unit of time in which to measure the *Interval* . For example, to retain a snapshots in the archive tier for 6 months, specify `Interval=6` and `IntervalUnit=MONTHS` .", + "title": "IntervalUnit", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Schedule": { + "additionalProperties": false, + "properties": { + "ArchiveRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ArchiveRule", + "markdownDescription": "*[Custom snapshot policies that target volumes only]* The snapshot archiving rule for the schedule. When you specify an archiving rule, snapshots are automatically moved from the standard tier to the archive tier once the schedule's retention threshold is met. Snapshots are then retained in the archive tier for the archive retention period that you specify.\n\nFor more information about using snapshot archiving, see [Considerations for snapshot lifecycle policies](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-ami-policy.html#dlm-archive) .", + "title": "ArchiveRule" + }, + "CopyTags": { + "markdownDescription": "Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.", + "title": "CopyTags", + "type": "boolean" + }, + "CreateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CreateRule", + "markdownDescription": "The creation rule.", + "title": "CreateRule" + }, + "CrossRegionCopyRules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRule" + }, + "markdownDescription": "Specifies a rule for copying snapshots or AMIs across Regions.\n\n> You can't specify cross-Region copy rules for policies that create snapshots on an Outpost or in a Local Zone. If the policy creates snapshots in a Region, then snapshots can be copied to up to three Regions or Outposts.", + "title": "CrossRegionCopyRules", + "type": "array" + }, + "DeprecateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.DeprecateRule", + "markdownDescription": "*[Custom AMI policies only]* The AMI deprecation rule for the schedule.", + "title": "DeprecateRule" + }, + "FastRestoreRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.FastRestoreRule", + "markdownDescription": "*[Custom snapshot policies only]* The rule for enabling fast snapshot restore.", + "title": "FastRestoreRule" + }, + "Name": { + "markdownDescription": "The name of the schedule.", + "title": "Name", + "type": "string" + }, + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.RetainRule", + "markdownDescription": "The retention rule for snapshots or AMIs created by the policy.", + "title": "RetainRule" + }, + "ShareRules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ShareRule" + }, + "markdownDescription": "*[Custom snapshot policies only]* The rule for sharing snapshots with other AWS accounts .", + "title": "ShareRules", + "type": "array" + }, + "TagsToAdd": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to policy-created resources. These user-defined tags are in addition to the AWS -added lifecycle tags.", + "title": "TagsToAdd", + "type": "array" + }, + "VariableTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "*[AMI policies and snapshot policies that target instances only]* A collection of key/value pairs with values determined dynamically when the policy is executed. Keys may be any valid Amazon EC2 tag key. Values must be in one of the two following formats: `$(instance-id)` or `$(timestamp)` . Variable tags are only valid for EBS Snapshot Management \u2013 Instance policies.", + "title": "VariableTags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Script": { + "additionalProperties": false, + "properties": { + "ExecuteOperationOnScriptFailure": { + "markdownDescription": "Indicates whether Amazon Data Lifecycle Manager should default to crash-consistent snapshots if the pre script fails.\n\n- To default to crash consistent snapshot if the pre script fails, specify `true` .\n- To skip the instance for snapshot creation if the pre script fails, specify `false` .\n\nThis parameter is supported only if you run a pre script. If you run a post script only, omit this parameter.\n\nDefault: true", + "title": "ExecuteOperationOnScriptFailure", + "type": "boolean" + }, + "ExecutionHandler": { + "markdownDescription": "The SSM document that includes the pre and/or post scripts to run.\n\n- If you are automating VSS backups, specify `AWS_VSS_BACKUP` . In this case, Amazon Data Lifecycle Manager automatically uses the `AWSEC2-CreateVssSnapshot` SSM document.\n- If you are automating application-consistent snapshots for SAP HANA workloads, specify `AWSSystemsManagerSAP-CreateDLMSnapshotForSAPHANA` .\n- If you are using a custom SSM document that you own, specify either the name or ARN of the SSM document. If you are using a custom SSM document that is shared with you, specify the ARN of the SSM document.", + "title": "ExecutionHandler", + "type": "string" + }, + "ExecutionHandlerService": { + "markdownDescription": "Indicates the service used to execute the pre and/or post scripts.\n\n- If you are using custom SSM documents or automating application-consistent snapshots of SAP HANA workloads, specify `AWS_SYSTEMS_MANAGER` .\n- If you are automating VSS Backups, omit this parameter.\n\nDefault: AWS_SYSTEMS_MANAGER", + "title": "ExecutionHandlerService", + "type": "string" + }, + "ExecutionTimeout": { + "markdownDescription": "Specifies a timeout period, in seconds, after which Amazon Data Lifecycle Manager fails the script run attempt if it has not completed. If a script does not complete within its timeout period, Amazon Data Lifecycle Manager fails the attempt. The timeout period applies to the pre and post scripts individually.\n\nIf you are automating VSS Backups, omit this parameter.\n\nDefault: 10", + "title": "ExecutionTimeout", + "type": "number" + }, + "MaximumRetryCount": { + "markdownDescription": "Specifies the number of times Amazon Data Lifecycle Manager should retry scripts that fail.\n\n- If the pre script fails, Amazon Data Lifecycle Manager retries the entire snapshot creation process, including running the pre and post scripts.\n- If the post script fails, Amazon Data Lifecycle Manager retries the post script only; in this case, the pre script will have completed and the snapshot might have been created.\n\nIf you do not want Amazon Data Lifecycle Manager to retry failed scripts, specify `0` .\n\nDefault: 0", + "title": "MaximumRetryCount", + "type": "number" + }, + "Stages": { + "items": { + "type": "string" + }, + "markdownDescription": "Indicate which scripts Amazon Data Lifecycle Manager should run on target instances. Pre scripts run before Amazon Data Lifecycle Manager initiates snapshot creation. Post scripts run after Amazon Data Lifecycle Manager initiates snapshot creation.\n\n- To run a pre script only, specify `PRE` . In this case, Amazon Data Lifecycle Manager calls the SSM document with the `pre-script` parameter before initiating snapshot creation.\n- To run a post script only, specify `POST` . In this case, Amazon Data Lifecycle Manager calls the SSM document with the `post-script` parameter after initiating snapshot creation.\n- To run both pre and post scripts, specify both `PRE` and `POST` . In this case, Amazon Data Lifecycle Manager calls the SSM document with the `pre-script` parameter before initiating snapshot creation, and then it calls the SSM document again with the `post-script` parameter after initiating snapshot creation.\n\nIf you are automating VSS Backups, omit this parameter.\n\nDefault: PRE and POST", + "title": "Stages", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.ShareRule": { + "additionalProperties": false, + "properties": { + "TargetAccounts": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the AWS accounts with which to share the snapshots.", + "title": "TargetAccounts", + "type": "array" + }, + "UnshareInterval": { + "markdownDescription": "The period after which snapshots that are shared with other AWS accounts are automatically unshared.", + "title": "UnshareInterval", + "type": "number" + }, + "UnshareIntervalUnit": { + "markdownDescription": "The unit of time for the automatic unsharing interval.", + "title": "UnshareIntervalUnit", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Certificate": { "additionalProperties": false, "properties": { "Condition": { @@ -105066,12 +104294,28 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "CertificateIdentifier": { + "markdownDescription": "A customer-assigned name for the certificate. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.", + "title": "CertificateIdentifier", + "type": "string" + }, + "CertificatePem": { + "markdownDescription": "The contents of a `.pem` file, which contains an X.509 certificate.", + "title": "CertificatePem", + "type": "string" + }, + "CertificateWallet": { + "markdownDescription": "The location of an imported Oracle Wallet certificate for use with SSL. An example is: `filebase64(\"${path.root}/rds-ca-2019-root.sso\")`", + "title": "CertificateWallet", + "type": "string" + } + }, "type": "object" }, "Type": { "enum": [ - "AWS::DataExchange::Job" + "AWS::DMS::Certificate" ], "type": "string" }, @@ -105089,7 +104333,7 @@ ], "type": "object" }, - "AWS::DataPipeline::Pipeline": { + "AWS::DMS::DataMigration": { "additionalProperties": false, "properties": { "Condition": { @@ -105124,62 +104368,63 @@ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "markdownDescription": "Indicates whether to validate and start the pipeline or stop an active pipeline. By default, the value is set to `true` .", - "title": "Activate", - "type": "boolean" + "DataMigrationIdentifier": { + "markdownDescription": "", + "title": "DataMigrationIdentifier", + "type": "string" }, - "Description": { - "markdownDescription": "A description of the pipeline.", - "title": "Description", + "DataMigrationName": { + "markdownDescription": "The user-friendly name for the data migration.", + "title": "DataMigrationName", "type": "string" }, - "Name": { - "markdownDescription": "The name of the pipeline.", - "title": "Name", + "DataMigrationSettings": { + "$ref": "#/definitions/AWS::DMS::DataMigration.DataMigrationSettings", + "markdownDescription": "Specifies CloudWatch settings and selection rules for the data migration.", + "title": "DataMigrationSettings" + }, + "DataMigrationType": { + "markdownDescription": "Specifies whether the data migration is full-load only, change data capture (CDC) only, or full-load and CDC.", + "title": "DataMigrationType", "type": "string" }, - "ParameterObjects": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" - }, - "markdownDescription": "The parameter objects used with the pipeline.", - "title": "ParameterObjects", - "type": "array" + "MigrationProjectIdentifier": { + "markdownDescription": "", + "title": "MigrationProjectIdentifier", + "type": "string" }, - "ParameterValues": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" - }, - "markdownDescription": "The parameter values used with the pipeline.", - "title": "ParameterValues", - "type": "array" + "ServiceAccessRoleArn": { + "markdownDescription": "The IAM role that the data migration uses to access AWS resources.", + "title": "ServiceAccessRoleArn", + "type": "string" }, - "PipelineObjects": { + "SourceDataSettings": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" + "$ref": "#/definitions/AWS::DMS::DataMigration.SourceDataSettings" }, - "markdownDescription": "The objects that define the pipeline. These objects overwrite the existing pipeline definition. Not all objects, fields, and values can be updated. For information about restrictions, see [Editing Your Pipeline](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-manage-pipeline-modify-console.html) in the *AWS Data Pipeline Developer Guide* .", - "title": "PipelineObjects", + "markdownDescription": "Specifies information about the data migration's source data provider.", + "title": "SourceDataSettings", "type": "array" }, - "PipelineTags": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions. For more information, see [Controlling Access to Pipelines and Resources](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html) in the *AWS Data Pipeline Developer Guide* .", - "title": "PipelineTags", + "markdownDescription": "", + "title": "Tags", "type": "array" } }, "required": [ - "Name" + "DataMigrationType", + "MigrationProjectIdentifier", + "ServiceAccessRoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataPipeline::Pipeline" + "AWS::DMS::DataMigration" ], "type": "string" }, @@ -105198,143 +104443,54 @@ ], "type": "object" }, - "AWS::DataPipeline::Pipeline.Field": { + "AWS::DMS::DataMigration.DataMigrationSettings": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "Specifies the name of a field for a particular object. To view valid values for a particular field, see [Pipeline Object Reference](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-pipeline-objects.html) in the *AWS Data Pipeline Developer Guide* .", - "title": "Key", - "type": "string" - }, - "RefValue": { - "markdownDescription": "A field value that you specify as an identifier of another object in the same pipeline definition.\n\n> You can specify the field value as either a string value ( `StringValue` ) or a reference to another object ( `RefValue` ), but not both. \n\nRequired if the key that you are using requires it.", - "title": "RefValue", - "type": "string" - }, - "StringValue": { - "markdownDescription": "A field value that you specify as a string. To view valid values for a particular field, see [Pipeline Object Reference](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-pipeline-objects.html) in the *AWS Data Pipeline Developer Guide* .\n\n> You can specify the field value as either a string value ( `StringValue` ) or a reference to another object ( `RefValue` ), but not both. \n\nRequired if the key that you are using requires it.", - "title": "StringValue", - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The field identifier.", - "title": "Key", - "type": "string" + "CloudwatchLogsEnabled": { + "markdownDescription": "Whether to enable CloudWatch logging for the data migration.", + "title": "CloudwatchLogsEnabled", + "type": "boolean" }, - "StringValue": { - "markdownDescription": "The field value, expressed as a String.", - "title": "StringValue", - "type": "string" - } - }, - "required": [ - "Key", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterObject": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" - }, - "markdownDescription": "The attributes of the parameter object.", - "title": "Attributes", - "type": "array" + "NumberOfJobs": { + "markdownDescription": "The number of parallel jobs that trigger parallel threads to unload the tables from the source, and then load them to the target.", + "title": "NumberOfJobs", + "type": "number" }, - "Id": { - "markdownDescription": "The ID of the parameter object.", - "title": "Id", + "SelectionRules": { + "markdownDescription": "A JSON-formatted string that defines what objects to include and exclude from the migration.", + "title": "SelectionRules", "type": "string" } }, - "required": [ - "Attributes", - "Id" - ], "type": "object" }, - "AWS::DataPipeline::Pipeline.ParameterValue": { + "AWS::DMS::DataMigration.SourceDataSettings": { "additionalProperties": false, "properties": { - "Id": { - "markdownDescription": "The ID of the parameter value.", - "title": "Id", - "type": "string" - }, - "StringValue": { - "markdownDescription": "The field value, expressed as a String.", - "title": "StringValue", + "CDCStartPosition": { + "markdownDescription": "", + "title": "CDCStartPosition", "type": "string" - } - }, - "required": [ - "Id", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineObject": { - "additionalProperties": false, - "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" - }, - "markdownDescription": "Key-value pairs that define the properties of the object.", - "title": "Fields", - "type": "array" }, - "Id": { - "markdownDescription": "The ID of the object.", - "title": "Id", + "CDCStartTime": { + "markdownDescription": "", + "title": "CDCStartTime", "type": "string" }, - "Name": { - "markdownDescription": "The name of the object.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Fields", - "Id", - "Name" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineTag": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The key name of a tag.", - "title": "Key", + "CDCStopTime": { + "markdownDescription": "", + "title": "CDCStopTime", "type": "string" }, - "Value": { - "markdownDescription": "The value to associate with the key name.", - "title": "Value", + "SlotName": { + "markdownDescription": "", + "title": "SlotName", "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::DataSync::Agent": { + "AWS::DMS::DataProvider": { "additionalProperties": false, "properties": { "Condition": { @@ -105369,51 +104525,53 @@ "Properties": { "additionalProperties": false, "properties": { - "ActivationKey": { - "markdownDescription": "Specifies your DataSync agent's activation key. If you don't have an activation key, see [Activating your agent](https://docs.aws.amazon.com/datasync/latest/userguide/activate-agent.html) .", - "title": "ActivationKey", + "DataProviderIdentifier": { + "markdownDescription": "The identifier of the data provider. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", + "title": "DataProviderIdentifier", "type": "string" }, - "AgentName": { - "markdownDescription": "Specifies a name for your agent. We recommend specifying a name that you can remember.", - "title": "AgentName", + "DataProviderName": { + "markdownDescription": "The name of the data provider.", + "title": "DataProviderName", "type": "string" }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the security groups used to protect your data transfer task subnets. See [SecurityGroupArns](https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns) .\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`", - "title": "SecurityGroupArns", - "type": "array" + "Description": { + "markdownDescription": "A description of the data provider. Descriptions can have up to 31 characters. A description can contain only ASCII letters, digits, and hyphens ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter.", + "title": "Description", + "type": "string" }, - "SubnetArns": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the ARN of the subnet where your VPC service endpoint is located. You can only specify one ARN.", - "title": "SubnetArns", - "type": "array" + "Engine": { + "markdownDescription": "The type of database engine for the data provider. Valid values include `\"aurora\"` , `\"aurora-postgresql\"` , `\"mysql\"` , `\"oracle\"` , `\"postgres\"` , `\"sqlserver\"` , `redshift` , `mariadb` , `mongodb` , `db2` , `db2-zos` , `docdb` , and `sybase` . A value of `\"aurora\"` represents Amazon Aurora MySQL-Compatible Edition.", + "title": "Engine", + "type": "string" + }, + "ExactSettings": { + "markdownDescription": "", + "title": "ExactSettings", + "type": "boolean" + }, + "Settings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.Settings", + "markdownDescription": "The settings in JSON format for a data provider.", + "title": "Settings" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least one tag for your agent.", + "markdownDescription": "", "title": "Tags", "type": "array" - }, - "VpcEndpointId": { - "markdownDescription": "The ID of the virtual private cloud (VPC) endpoint that the agent has access to. This is the client-side VPC endpoint, powered by AWS PrivateLink . If you don't have an AWS PrivateLink VPC endpoint, see [AWS PrivateLink and VPC endpoints](https://docs.aws.amazon.com//vpc/latest/userguide/endpoint-services-overview.html) in the *Amazon VPC User Guide* .\n\nFor more information about activating your agent in a private network based on a VPC, see [Using AWS DataSync in a Virtual Private Cloud](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-in-vpc.html) in the *AWS DataSync User Guide.*\n\nA VPC endpoint ID looks like this: `vpce-01234d5aff67890e1` .", - "title": "VpcEndpointId", - "type": "string" } }, + "required": [ + "Engine" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DataSync::Agent" + "AWS::DMS::DataProvider" ], "type": "string" }, @@ -105427,629 +104585,498 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DataSync::LocationAzureBlob": { + "AWS::DMS::DataProvider.DocDbSettings": { "additionalProperties": false, "properties": { - "Condition": { + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DatabaseName": { + "markdownDescription": "The database name on the DocumentDB source endpoint.", + "title": "DatabaseName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "markdownDescription": "(Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.\n\nYou can specify more than one agent. For more information, see [Using multiple agents for your transfer](https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html) .\n\n> Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.", - "title": "AgentArns", - "type": "array" - }, - "AzureAccessTier": { - "markdownDescription": "Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see [Access tiers](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers) .", - "title": "AzureAccessTier", - "type": "string" - }, - "AzureBlobAuthenticationType": { - "markdownDescription": "Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS).", - "title": "AzureBlobAuthenticationType", - "type": "string" - }, - "AzureBlobContainerUrl": { - "markdownDescription": "Specifies the URL of the Azure Blob Storage container involved in your transfer.", - "title": "AzureBlobContainerUrl", - "type": "string" - }, - "AzureBlobSasConfiguration": { - "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.AzureBlobSasConfiguration", - "markdownDescription": "Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.\n\n> If you provide an authentication token using `SasConfiguration` , 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": "AzureBlobSasConfiguration" - }, - "AzureBlobType": { - "markdownDescription": "Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the [Azure Blob Storage documentation](https://docs.aws.amazon.com/https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs) .", - "title": "AzureBlobType", - "type": "string" - }, - "CmkSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.CmkSecretConfig", - "markdownDescription": "Specifies configuration information for a DataSync-managed secret, such as an authentication token, secret key, password, or Kerberos keytab that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .\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": "CmkSecretConfig" - }, - "CustomSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.CustomSecretConfig", - "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" - }, - "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", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your transfer location.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "AzureBlobAuthenticationType" - ], - "type": "object" + "Port": { + "markdownDescription": "The port value for the DocumentDB source endpoint.", + "title": "Port", + "type": "number" }, - "Type": { - "enum": [ - "AWS::DataSync::LocationAzureBlob" - ], + "ServerName": { + "markdownDescription": "The name of the server on the DocumentDB source endpoint.", + "title": "ServerName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "Type", - "Properties" + "DatabaseName", + "Port", + "ServerName" ], "type": "object" }, - "AWS::DataSync::LocationAzureBlob.AzureBlobSasConfiguration": { + "AWS::DMS::DataProvider.IbmDb2LuwSettings": { "additionalProperties": false, "properties": { - "AzureBlobSasToken": { - "markdownDescription": "Specifies a SAS token that provides permissions to access your Azure Blob Storage.\n\nThe token is part of the SAS URI string that comes after the storage resource URI and a question mark. A token looks something like this:\n\n`sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D`", - "title": "AzureBlobSasToken", + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", + "type": "string" + }, + "DatabaseName": { + "markdownDescription": "", + "title": "DatabaseName", + "type": "string" + }, + "Port": { + "markdownDescription": "", + "title": "Port", + "type": "number" + }, + "ServerName": { + "markdownDescription": "", + "title": "ServerName", + "type": "string" + }, + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "AzureBlobSasToken" + "DatabaseName", + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationAzureBlob.CmkSecretConfig": { + "AWS::DMS::DataProvider.IbmDb2zOsSettings": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "markdownDescription": "Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for `SecretArn` . DataSync provides this key to AWS Secrets Manager .", - "title": "KmsKeyArn", + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", "type": "string" }, - "SecretArn": { - "markdownDescription": "Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for `KmsKeyArn` .", - "title": "SecretArn", + "DatabaseName": { + "markdownDescription": "", + "title": "DatabaseName", "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationAzureBlob.CustomSecretConfig": { - "additionalProperties": false, - "properties": { - "SecretAccessRoleArn": { - "markdownDescription": "Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` .", - "title": "SecretAccessRoleArn", + }, + "Port": { + "markdownDescription": "", + "title": "Port", + "type": "number" + }, + "ServerName": { + "markdownDescription": "", + "title": "ServerName", "type": "string" }, - "SecretArn": { - "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", - "title": "SecretArn", + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "SecretAccessRoleArn", - "SecretArn" + "DatabaseName", + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationAzureBlob.ManagedSecretConfig": { + "AWS::DMS::DataProvider.MariaDbSettings": { "additionalProperties": false, "properties": { - "SecretArn": { - "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", - "title": "SecretArn", + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", + "type": "string" + }, + "Port": { + "markdownDescription": "", + "title": "Port", + "type": "number" + }, + "ServerName": { + "markdownDescription": "", + "title": "ServerName", + "type": "string" + }, + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "SecretArn" + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationEFS": { + "AWS::DMS::DataProvider.MicrosoftSqlServerSettings": { "additionalProperties": false, "properties": { - "Condition": { + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DatabaseName": { + "markdownDescription": "Database name for the endpoint.", + "title": "DatabaseName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPointArn": { - "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system.\n\nFor more information, see [Accessing restricted file systems](https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam) .", - "title": "AccessPointArn", - "type": "string" - }, - "Ec2Config": { - "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config", - "markdownDescription": "Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's [mount targets](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) .", - "title": "Ec2Config" - }, - "EfsFilesystemArn": { - "markdownDescription": "Specifies the ARN for your Amazon EFS file system.", - "title": "EfsFilesystemArn", - "type": "string" - }, - "FileSystemAccessRoleArn": { - "markdownDescription": "Specifies an AWS Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system.\n\nFor information on creating this role, see [Creating a DataSync IAM role for file system access](https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam-role) .", - "title": "FileSystemAccessRoleArn", - "type": "string" - }, - "InTransitEncryption": { - "markdownDescription": "Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system.\n\nIf you specify an access point using `AccessPointArn` or an IAM role using `FileSystemAccessRoleArn` , you must set this parameter to `TLS1_2` .", - "title": "InTransitEncryption", - "type": "string" - }, - "Subdirectory": { - "markdownDescription": "Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data on your file system (depending on if this is a source or destination location).\n\nBy default, DataSync uses the root directory (or [access point](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) if you provide one by using `AccessPointArn` ). You can also include subdirectories using forward slashes (for example, `/path/to/folder` ).", - "title": "Subdirectory", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies the key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Ec2Config" - ], - "type": "object" + "Port": { + "markdownDescription": "Endpoint TCP port.", + "title": "Port", + "type": "number" }, - "Type": { - "enum": [ - "AWS::DataSync::LocationEFS" - ], + "ServerName": { + "markdownDescription": "Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.", + "title": "ServerName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "Type", - "Properties" + "DatabaseName", + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationEFS.Ec2Config": { + "AWS::DMS::DataProvider.MongoDbSettings": { "additionalProperties": false, "properties": { - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the Amazon Resource Names (ARNs) of the security groups associated with an Amazon EFS file system's mount target.", - "title": "SecurityGroupArns", - "type": "array" + "AuthMechanism": { + "markdownDescription": "The authentication mechanism you use to access the MongoDB source endpoint.\n\nFor the default value, in MongoDB version 2.x, `\"default\"` is `\"mongodb_cr\"` . For MongoDB version 3.x or later, `\"default\"` is `\"scram_sha_1\"` . This setting isn't used when `AuthType` is set to `\"no\"` .", + "title": "AuthMechanism", + "type": "string" }, - "SubnetArn": { - "markdownDescription": "Specifies the ARN of a subnet where DataSync creates the [network interfaces](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces.html) for managing traffic during your transfer.\n\nThe subnet must be located:\n\n- In the same virtual private cloud (VPC) as the Amazon EFS file system.\n- In the same Availability Zone as at least one mount target for the Amazon EFS file system.\n\n> You don't need to specify a subnet that includes a file system mount target.", - "title": "SubnetArn", + "AuthSource": { + "markdownDescription": "The MongoDB database name. This setting isn't used when `AuthType` is set to `\"no\"` .\n\nThe default is `\"admin\"` .", + "title": "AuthSource", + "type": "string" + }, + "AuthType": { + "markdownDescription": "The authentication type you use to access the MongoDB source endpoint.\n\nWhen when set to `\"no\"` , user name and password parameters are not used and can be empty.", + "title": "AuthType", + "type": "string" + }, + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", + "type": "string" + }, + "DatabaseName": { + "markdownDescription": "The database name on the MongoDB source endpoint.", + "title": "DatabaseName", + "type": "string" + }, + "Port": { + "markdownDescription": "The port value for the MongoDB source endpoint.", + "title": "Port", + "type": "number" + }, + "ServerName": { + "markdownDescription": "The name of the server on the MongoDB source endpoint. For MongoDB Atlas, provide the server name for any of the servers in the replication set.", + "title": "ServerName", + "type": "string" + }, + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "SecurityGroupArns", - "SubnetArn" + "Port", + "ServerName" ], "type": "object" }, - "AWS::DataSync::LocationFSxLustre": { + "AWS::DMS::DataProvider.MySqlSettings": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FsxFilesystemArn": { - "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the FSx for Lustre file system.", - "title": "FsxFilesystemArn", - "type": "string" - }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The ARNs of the security groups that are used to configure the FSx for Lustre file system.\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`\n\n*Length constraints* : Maximum length of 128.", - "title": "SecurityGroupArns", - "type": "array" - }, - "Subdirectory": { - "markdownDescription": "Specifies a mount path for your FSx for Lustre file system. The path can include subdirectories.\n\nWhen the location is used as a source, DataSync reads data from the mount path. When the location is used as a destination, DataSync writes data to the mount path. If you don't include this parameter, DataSync uses the file system's root directory ( `/` ).", - "title": "Subdirectory", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "SecurityGroupArns" - ], - "type": "object" + "Port": { + "markdownDescription": "Endpoint TCP port.", + "title": "Port", + "type": "number" }, - "Type": { - "enum": [ - "AWS::DataSync::LocationFSxLustre" - ], + "ServerName": { + "markdownDescription": "The host name of the endpoint database.\n\nFor an Amazon RDS MySQL instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.\n\nFor an Aurora MySQL instance, this is the output of [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) , in the `Endpoint` field.", + "title": "ServerName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "Type", - "Properties" + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationFSxONTAP": { + "AWS::DMS::DataProvider.OracleSettings": { "additionalProperties": false, "properties": { - "Condition": { + "AsmServer": { + "markdownDescription": "For an Oracle source endpoint, your ASM server address. You can set this value from the `asm_server` value. You set `asm_server` as part of the extra connection attribute string to access an Oracle server with Binary Reader that uses ASM. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", + "title": "AsmServer", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DatabaseName": { + "markdownDescription": "Database name for the endpoint.", + "title": "DatabaseName", + "type": "string" }, - "Metadata": { - "type": "object" + "Port": { + "markdownDescription": "Endpoint TCP port.", + "title": "Port", + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Protocol": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.Protocol", - "markdownDescription": "Specifies the data transfer protocol that DataSync uses to access your Amazon FSx file system.", - "title": "Protocol" - }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the Amazon Resource Names (ARNs) of the security groups that DataSync can use to access your FSx for ONTAP file system. You must configure the security groups to allow outbound traffic on the following ports (depending on the protocol that you're using):\n\n- *Network File System (NFS)* : TCP ports 111, 635, and 2049\n- *Server Message Block (SMB)* : TCP port 445\n\nYour file system's security groups must also allow inbound traffic on the same port.", - "title": "SecurityGroupArns", - "type": "array" - }, - "StorageVirtualMachineArn": { - "markdownDescription": "Specifies the ARN of the storage virtual machine (SVM) in your file system where you want to copy data to or from.", - "title": "StorageVirtualMachineArn", - "type": "string" - }, - "Subdirectory": { - "markdownDescription": "Specifies a path to the file share in the SVM where you want to transfer data to or from.\n\nYou can specify a junction path (also known as a mount point), qtree path (for NFS file shares), or share name (for SMB file shares). For example, your mount path might be `/vol1` , `/vol1/tree1` , or `/share1` .\n\n> Don't specify a junction path in the SVM's root volume. For more information, see [Managing FSx for ONTAP storage virtual machines](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html) in the *Amazon FSx for NetApp ONTAP User Guide* .", - "title": "Subdirectory", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "SecurityGroupArns", - "StorageVirtualMachineArn" - ], - "type": "object" + "SecretsManagerOracleAsmAccessRoleArn": { + "markdownDescription": "Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the `SecretsManagerOracleAsmSecret` . This `SecretsManagerOracleAsmSecret` has the secret value that allows access to the Oracle ASM of the endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerOracleAsmSecretId` . Or you can specify clear-text values for `AsmUser` , `AsmPassword` , and `AsmServerName` . You can't specify both. For more information on creating this `SecretsManagerOracleAsmSecret` and the `SecretsManagerOracleAsmAccessRoleArn` and `SecretsManagerOracleAsmSecretId` required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerOracleAsmAccessRoleArn", + "type": "string" }, - "Type": { - "enum": [ - "AWS::DataSync::LocationFSxONTAP" - ], + "SecretsManagerOracleAsmSecretId": { + "markdownDescription": "Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN, partial ARN, or friendly name of the `SecretsManagerOracleAsmSecret` that contains the Oracle ASM connection details for the Oracle endpoint.", + "title": "SecretsManagerOracleAsmSecretId", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SecretsManagerSecurityDbEncryptionAccessRoleArn": { + "markdownDescription": "", + "title": "SecretsManagerSecurityDbEncryptionAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecurityDbEncryptionSecretId": { + "markdownDescription": "", + "title": "SecretsManagerSecurityDbEncryptionSecretId", + "type": "string" + }, + "ServerName": { + "markdownDescription": "Fully qualified domain name of the endpoint.\n\nFor an Amazon RDS Oracle instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.", + "title": "ServerName", + "type": "string" + }, + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "Type", - "Properties" + "DatabaseName", + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationFSxONTAP.CmkSecretConfig": { + "AWS::DMS::DataProvider.PostgreSqlSettings": { "additionalProperties": false, "properties": { - "KmsKeyArn": { + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", "type": "string" }, - "SecretArn": { + "DatabaseName": { + "markdownDescription": "Database name for the endpoint.", + "title": "DatabaseName", "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationFSxONTAP.CustomSecretConfig": { - "additionalProperties": false, - "properties": { - "SecretAccessRoleArn": { + }, + "Port": { + "markdownDescription": "Endpoint TCP port. The default is 5432.", + "title": "Port", + "type": "number" + }, + "ServerName": { + "markdownDescription": "The host name of the endpoint database.\n\nFor an Amazon RDS PostgreSQL instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.\n\nFor an Aurora PostgreSQL instance, this is the output of [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) , in the `Endpoint` field.", + "title": "ServerName", "type": "string" }, - "SecretArn": { + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "SecretAccessRoleArn", - "SecretArn" + "DatabaseName", + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationFSxONTAP.ManagedSecretConfig": { + "AWS::DMS::DataProvider.RedshiftSettings": { "additionalProperties": false, "properties": { - "SecretArn": { + "DatabaseName": { + "markdownDescription": "The name of the Amazon Redshift data warehouse (service) that you are working with.", + "title": "DatabaseName", + "type": "string" + }, + "Port": { + "markdownDescription": "The port number for Amazon Redshift. The default value is 5439.", + "title": "Port", + "type": "number" + }, + "ServerName": { + "markdownDescription": "The name of the Amazon Redshift cluster you are using.", + "title": "ServerName", "type": "string" } }, "required": [ - "SecretArn" - ], - "type": "object" - }, - "AWS::DataSync::LocationFSxONTAP.NFS": { - "additionalProperties": false, - "properties": { - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.NfsMountOptions", - "markdownDescription": "Specifies how DataSync can access a location using the NFS protocol.", - "title": "MountOptions" - } - }, - "required": [ - "MountOptions" + "DatabaseName", + "Port", + "ServerName" ], "type": "object" }, - "AWS::DataSync::LocationFSxONTAP.NfsMountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "markdownDescription": "Specifies the NFS version that you want DataSync to use when mounting your NFS share. If the server refuses to use the version specified, the task fails.\n\nYou can specify the following options:\n\n- `AUTOMATIC` (default): DataSync chooses NFS version 4.1.\n- `NFS3` : Stateless protocol version that allows for asynchronous writes on the server.\n- `NFSv4_0` : Stateful, firewall-friendly protocol version that supports delegations and pseudo file systems.\n- `NFSv4_1` : Stateful protocol version that supports sessions, directory delegations, and parallel data processing. NFS version 4.1 also includes all features available in version 4.0.\n\n> DataSync currently only supports NFS version 3 with Amazon FSx for NetApp ONTAP locations.", - "title": "Version", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationFSxONTAP.Protocol": { + "AWS::DMS::DataProvider.Settings": { "additionalProperties": false, "properties": { - "NFS": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.NFS", - "markdownDescription": "Specifies the Network File System (NFS) protocol configuration that DataSync uses to access your FSx for ONTAP file system's storage virtual machine (SVM).", - "title": "NFS" + "DocDbSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.DocDbSettings", + "markdownDescription": "", + "title": "DocDbSettings" }, - "SMB": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.SMB", - "markdownDescription": "Specifies the Server Message Block (SMB) protocol configuration that DataSync uses to access your FSx for ONTAP file system's SVM.", - "title": "SMB" + "IbmDb2LuwSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.IbmDb2LuwSettings", + "markdownDescription": "", + "title": "IbmDb2LuwSettings" + }, + "IbmDb2zOsSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.IbmDb2zOsSettings", + "markdownDescription": "", + "title": "IbmDb2zOsSettings" + }, + "MariaDbSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.MariaDbSettings", + "markdownDescription": "", + "title": "MariaDbSettings" + }, + "MicrosoftSqlServerSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.MicrosoftSqlServerSettings", + "markdownDescription": "", + "title": "MicrosoftSqlServerSettings" + }, + "MongoDbSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.MongoDbSettings", + "markdownDescription": "", + "title": "MongoDbSettings" + }, + "MySqlSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.MySqlSettings", + "markdownDescription": "", + "title": "MySqlSettings" + }, + "OracleSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.OracleSettings", + "markdownDescription": "", + "title": "OracleSettings" + }, + "PostgreSqlSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.PostgreSqlSettings", + "markdownDescription": "", + "title": "PostgreSqlSettings" + }, + "RedshiftSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.RedshiftSettings", + "markdownDescription": "", + "title": "RedshiftSettings" + }, + "SybaseAseSettings": { + "$ref": "#/definitions/AWS::DMS::DataProvider.SybaseAseSettings", + "markdownDescription": "", + "title": "SybaseAseSettings" } }, "type": "object" }, - "AWS::DataSync::LocationFSxONTAP.SMB": { + "AWS::DMS::DataProvider.SybaseAseSettings": { "additionalProperties": false, "properties": { - "CmkSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.CmkSecretConfig" - }, - "CustomSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.CustomSecretConfig" + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", + "type": "string" }, - "Domain": { - "markdownDescription": "Specifies the name of the Windows domain that your storage virtual machine (SVM) belongs to.\n\nIf you have multiple domains in your environment, configuring this setting makes sure that DataSync connects to the right SVM.\n\nIf you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right SVM.", - "title": "Domain", + "DatabaseName": { + "markdownDescription": "", + "title": "DatabaseName", "type": "string" }, - "ManagedSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.ManagedSecretConfig" + "EncryptPassword": { + "markdownDescription": "", + "title": "EncryptPassword", + "type": "boolean" }, - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.SmbMountOptions", - "markdownDescription": "Specifies how DataSync can access a location using the SMB protocol.", - "title": "MountOptions" + "Port": { + "markdownDescription": "", + "title": "Port", + "type": "number" }, - "Password": { - "markdownDescription": "Specifies the password of a user who has permission to access your SVM.", - "title": "Password", + "ServerName": { + "markdownDescription": "", + "title": "ServerName", "type": "string" }, - "User": { - "markdownDescription": "Specifies a user name that can mount the location and access the files, folders, and metadata that you need in the SVM.\n\nIf you provide a user in your Active Directory, note the following:\n\n- If you're using AWS Directory Service for Microsoft Active Directory , the user must be a member of the AWS Delegated FSx Administrators group.\n- If you're using a self-managed Active Directory, the user must be a member of either the Domain Admins group or a custom group that you specified for file system administration when you created your file system.\n\nMake sure that the user has the permissions it needs to copy the data you want:\n\n- `SE_TCB_NAME` : Required to set object ownership and file metadata. With this privilege, you also can copy NTFS discretionary access lists (DACLs).\n- `SE_SECURITY_NAME` : May be needed to copy NTFS system access control lists (SACLs). This operation specifically requires the Windows privilege, which is granted to members of the Domain Admins group. If you configure your task to copy SACLs, make sure that the user has the required privileges. For information about copying SACLs, see [Ownership and permissions-related options](https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html#configure-ownership-and-permissions) .", - "title": "User", + "SslMode": { + "markdownDescription": "", + "title": "SslMode", "type": "string" } }, "required": [ - "MountOptions", - "User" + "Port", + "ServerName", + "SslMode" ], "type": "object" }, - "AWS::DataSync::LocationFSxONTAP.SmbMountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "markdownDescription": "By default, DataSync automatically chooses an SMB protocol version based on negotiation with your SMB file server. You also can configure DataSync to use a specific SMB version, but we recommend doing this only if DataSync has trouble negotiating with the SMB file server automatically.\n\nThese are the following options for configuring the SMB version:\n\n- `AUTOMATIC` (default): DataSync and the SMB file server negotiate the highest version of SMB that they mutually support between 2.1 and 3.1.1.\n\nThis is the recommended option. If you instead choose a specific version that your file server doesn't support, you may get an `Operation Not Supported` error.\n- `SMB3` : Restricts the protocol negotiation to only SMB version 3.0.2.\n- `SMB2` : Restricts the protocol negotiation to only SMB version 2.1.\n- `SMB2_0` : Restricts the protocol negotiation to only SMB version 2.0.\n- `SMB1` : Restricts the protocol negotiation to only SMB version 1.0.\n\n> The `SMB1` option isn't available when [creating an Amazon FSx for NetApp ONTAP location](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateLocationFsxOntap.html) .", - "title": "Version", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationFSxOpenZFS": { + "AWS::DMS::Endpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -106084,193 +105111,174 @@ "Properties": { "additionalProperties": false, "properties": { - "FsxFilesystemArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the FSx for OpenZFS file system.", - "title": "FsxFilesystemArn", + "CertificateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the certificate.", + "title": "CertificateArn", "type": "string" }, - "Protocol": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.Protocol", - "markdownDescription": "The type of protocol that AWS DataSync uses to access your file system.", - "title": "Protocol" - }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The ARNs of the security groups that are used to configure the FSx for OpenZFS file system.\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`\n\n*Length constraints* : Maximum length of 128.", - "title": "SecurityGroupArns", - "type": "array" + "DatabaseName": { + "markdownDescription": "The name of the endpoint database. For a MySQL source or target endpoint, don't specify `DatabaseName` . To migrate to a specific database, use this setting and `targetDbType` .", + "title": "DatabaseName", + "type": "string" }, - "Subdirectory": { - "markdownDescription": "A subdirectory in the location's path that must begin with `/fsx` . DataSync uses this subdirectory to read or write data (depending on whether the file system is a source or destination location).", - "title": "Subdirectory", - "type": "string" + "DocDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings", + "markdownDescription": "Settings in JSON format for the source and target DocumentDB endpoint. For more information about other available settings, see [Using extra connections attributes with Amazon DocumentDB as a source](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DocumentDB.html#CHAP_Source.DocumentDB.ECAs) and [Using Amazon DocumentDB as a target for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DocumentDB.html) in the *AWS Database Migration Service User Guide* .", + "title": "DocDbSettings" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Protocol", - "SecurityGroupArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationFSxOpenZFS" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationFSxOpenZFS.MountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "markdownDescription": "The specific NFS version that you want DataSync to use to mount your NFS share. If the server refuses to use the version specified, the sync will fail. If you don't specify a version, DataSync defaults to `AUTOMATIC` . That is, DataSync automatically selects a version based on negotiation with the NFS server.\n\nYou can specify the following NFS versions:\n\n- *[NFSv3](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc1813)* : Stateless protocol version that allows for asynchronous writes on the server.\n- *[NFSv4.0](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc3530)* : Stateful, firewall-friendly protocol version that supports delegations and pseudo file systems.\n- *[NFSv4.1](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5661)* : Stateful protocol version that supports sessions, directory delegations, and parallel data processing. Version 4.1 also includes all features available in version 4.0.", - "title": "Version", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationFSxOpenZFS.NFS": { - "additionalProperties": false, - "properties": { - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.MountOptions", - "markdownDescription": "Represents the mount options that are available for DataSync to access an NFS location.", - "title": "MountOptions" - } - }, - "required": [ - "MountOptions" - ], - "type": "object" - }, - "AWS::DataSync::LocationFSxOpenZFS.Protocol": { - "additionalProperties": false, - "properties": { - "NFS": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.NFS", - "markdownDescription": "Represents the Network File System (NFS) protocol that DataSync uses to access your FSx for OpenZFS file system.", - "title": "NFS" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationFSxWindows": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DynamoDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings", + "markdownDescription": "Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see [Using object mapping to migrate data to DynamoDB](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping) in the *AWS Database Migration Service User Guide* .", + "title": "DynamoDbSettings" + }, + "ElasticsearchSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.ElasticsearchSettings", + "markdownDescription": "Settings in JSON format for the target OpenSearch endpoint. For more information about the available settings, see [Extra connection attributes when using OpenSearch as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration) in the *AWS Database Migration Service User Guide* .", + "title": "ElasticsearchSettings" + }, + "EndpointIdentifier": { + "markdownDescription": "The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", + "title": "EndpointIdentifier", "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CmkSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows.CmkSecretConfig" + "EndpointType": { + "markdownDescription": "The type of endpoint. Valid values are `source` and `target` .", + "title": "EndpointType", + "type": "string" }, - "CustomSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows.CustomSecretConfig" + "EngineName": { + "markdownDescription": "The type of engine for the endpoint, depending on the `EndpointType` value.\n\n*Valid values* : `mysql` | `oracle` | `postgres` | `mariadb` | `aurora` | `aurora-postgresql` | `opensearch` | `redshift` | `redshift-serverless` | `s3` | `db2` | `azuredb` | `sybase` | `dynamodb` | `mongodb` | `kinesis` | `kafka` | `elasticsearch` | `docdb` | `sqlserver` | `neptune`", + "title": "EngineName", + "type": "string" }, - "Domain": { - "markdownDescription": "Specifies the name of the Windows domain that the FSx for Windows File Server file system belongs to.\n\nIf you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right file system.", - "title": "Domain", + "ExtraConnectionAttributes": { + "markdownDescription": "Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For information on the attributes available for connecting your source or target endpoint, see [Working with AWS DMS Endpoints](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html) in the *AWS Database Migration Service User Guide* .", + "title": "ExtraConnectionAttributes", "type": "string" }, - "FsxFilesystemArn": { - "markdownDescription": "Specifies the Amazon Resource Name (ARN) for the FSx for Windows File Server file system.", - "title": "FsxFilesystemArn", + "GcpMySQLSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings", + "markdownDescription": "Settings in JSON format for the source GCP MySQL endpoint. These settings are much the same as the settings for any MySQL-compatible endpoint. For more information, see [Extra connection attributes when using MySQL as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "GcpMySQLSettings" + }, + "IbmDb2Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings", + "markdownDescription": "Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available settings, see [Extra connection attributes when using Db2 LUW as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "IbmDb2Settings" + }, + "KafkaSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings", + "markdownDescription": "Settings in JSON format for the target Apache Kafka endpoint. For more information about other available settings, see [Using object mapping to migrate data to a Kafka topic](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping) in the *AWS Database Migration Service User Guide* .", + "title": "KafkaSettings" + }, + "KinesisSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings", + "markdownDescription": "Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about other available settings, see [Using object mapping to migrate data to a Kinesis data stream](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping) in the *AWS Database Migration Service User Guide* .", + "title": "KinesisSettings" + }, + "KmsKeyId": { + "markdownDescription": "An AWS key identifier that is used to encrypt the connection parameters for the endpoint.\n\nIf you don't specify a value for the `KmsKeyId` parameter, AWS DMS uses your default encryption key.\n\nAWS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Region .", + "title": "KmsKeyId", "type": "string" }, + "MicrosoftSqlServerSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings", + "markdownDescription": "Settings in JSON format for the source and target Microsoft SQL Server endpoint. For information about other available settings, see [Extra connection attributes when using SQL Server as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib) and [Extra connection attributes when using SQL Server as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "MicrosoftSqlServerSettings" + }, + "MongoDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings", + "markdownDescription": "Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see [Using MongoDB as a target for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration) in the *AWS Database Migration Service User Guide* .", + "title": "MongoDbSettings" + }, + "MySqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings", + "markdownDescription": "Settings in JSON format for the source and target MySQL endpoint. For information about other available settings, see [Extra connection attributes when using MySQL as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib) and [Extra connection attributes when using a MySQL-compatible database as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "MySqlSettings" + }, + "NeptuneSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings", + "markdownDescription": "Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see [Specifying endpoint settings for Amazon Neptune as a target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings) in the *AWS Database Migration Service User Guide* .", + "title": "NeptuneSettings" + }, + "OracleSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings", + "markdownDescription": "Settings in JSON format for the source and target Oracle endpoint. For information about other available settings, see [Extra connection attributes when using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib) and [Extra connection attributes when using Oracle as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "OracleSettings" + }, "Password": { - "markdownDescription": "Specifies the password of the user with the permissions to mount and access the files, folders, and file metadata in your FSx for Windows File Server file system.", + "markdownDescription": "The password to be used to log in to the endpoint database.", "title": "Password", "type": "string" }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the security groups that are used to configure the FSx for Windows File Server file system.\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`\n\n*Length constraints* : Maximum length of 128.", - "title": "SecurityGroupArns", - "type": "array" + "Port": { + "markdownDescription": "The port used by the endpoint database.", + "title": "Port", + "type": "number" }, - "Subdirectory": { - "markdownDescription": "Specifies a mount path for your file system using forward slashes. This is where DataSync reads or writes data (depending on if this is a source or destination location).", - "title": "Subdirectory", + "PostgreSqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings", + "markdownDescription": "Settings in JSON format for the source and target PostgreSQL endpoint.\n\nFor information about other available settings, 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) and [Extra connection attributes when using PostgreSQL as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "PostgreSqlSettings" + }, + "RedisSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.RedisSettings", + "markdownDescription": "Settings in JSON format for the target Redis endpoint. For information about other available settings, see [Specifying endpoint settings for Redis as a target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redis.html#CHAP_Target.Redis.EndpointSettings) in the *AWS Database Migration Service User Guide* .", + "title": "RedisSettings" + }, + "RedshiftSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings", + "markdownDescription": "Settings in JSON format for the Amazon Redshift endpoint.\n\nFor more information about other available settings, see [Extra connection attributes when using Amazon Redshift as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html#CHAP_Target.Redshift.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "RedshiftSettings" + }, + "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" + }, + "S3Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings", + "markdownDescription": "Settings in JSON format for the source and target Amazon S3 endpoint. For more information about other available settings, see [Extra connection attributes when using Amazon S3 as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.S3.html#CHAP_Source.S3.Configuring) and [Extra connection attributes when using Amazon S3 as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring) in the *AWS Database Migration Service User Guide* .", + "title": "S3Settings" + }, + "ServerName": { + "markdownDescription": "The name of the server where the endpoint database resides.", + "title": "ServerName", + "type": "string" + }, + "SslMode": { + "markdownDescription": "The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is `none` .\n\n> When `engine_name` is set to S3, the only allowed value is `none` .", + "title": "SslMode", "type": "string" }, + "SybaseSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings", + "markdownDescription": "Settings in JSON format for the source and target SAP ASE endpoint. For information about other available settings, see [Extra connection attributes when using SAP ASE as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib) and [Extra connection attributes when using SAP ASE as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "SybaseSettings" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", + "markdownDescription": "One or more tags to be assigned to the endpoint.", "title": "Tags", "type": "array" }, - "User": { - "markdownDescription": "The user who has the permissions to access files and folders in the FSx for Windows File Server file system.\n\nFor information about choosing a user name that ensures sufficient permissions to files, folders, and metadata, see [user](https://docs.aws.amazon.com/datasync/latest/userguide/create-fsx-location.html#FSxWuser) .", - "title": "User", + "Username": { + "markdownDescription": "The user name to be used to log in to the endpoint database.", + "title": "Username", "type": "string" } }, "required": [ - "SecurityGroupArns", - "User" + "EndpointType", + "EngineName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataSync::LocationFSxWindows" + "AWS::DMS::Endpoint" ], "type": "string" }, @@ -106289,559 +105297,1277 @@ ], "type": "object" }, - "AWS::DataSync::LocationFSxWindows.CmkSecretConfig": { + "AWS::DMS::Endpoint.DocDbSettings": { "additionalProperties": false, "properties": { - "KmsKeyArn": { + "DocsToInvestigate": { + "markdownDescription": "Indicates the number of documents to preview to determine the document organization. Use this setting when `NestingLevel` is set to `\"one\"` .\n\nMust be a positive value greater than `0` . Default value is `1000` .", + "title": "DocsToInvestigate", + "type": "number" + }, + "ExtractDocId": { + "markdownDescription": "Specifies the document ID. Use this setting when `NestingLevel` is set to `\"none\"` .\n\nDefault value is `\"false\"` .", + "title": "ExtractDocId", + "type": "boolean" + }, + "NestingLevel": { + "markdownDescription": "Specifies either document or table mode.\n\nDefault value is `\"none\"` . Specify `\"none\"` to use document mode. Specify `\"one\"` to use table mode.", + "title": "NestingLevel", "type": "string" }, - "SecretArn": { + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the DocumentDB endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the DocumentDB endpoint connection details.", + "title": "SecretsManagerSecretId", "type": "string" } }, "type": "object" }, - "AWS::DataSync::LocationFSxWindows.CustomSecretConfig": { + "AWS::DMS::Endpoint.DynamoDbSettings": { "additionalProperties": false, "properties": { - "SecretAccessRoleArn": { - "type": "string" - }, - "SecretArn": { + "ServiceAccessRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the `iam:PassRole` action.", + "title": "ServiceAccessRoleArn", "type": "string" } }, - "required": [ - "SecretAccessRoleArn", - "SecretArn" - ], "type": "object" }, - "AWS::DataSync::LocationFSxWindows.ManagedSecretConfig": { + "AWS::DMS::Endpoint.ElasticsearchSettings": { "additionalProperties": false, "properties": { - "SecretArn": { + "EndpointUri": { + "markdownDescription": "The endpoint for the OpenSearch cluster. AWS DMS uses HTTPS if a transport protocol (either HTTP or HTTPS) isn't specified.", + "title": "EndpointUri", + "type": "string" + }, + "ErrorRetryDuration": { + "markdownDescription": "The maximum number of seconds for which DMS retries failed API requests to the OpenSearch cluster.", + "title": "ErrorRetryDuration", + "type": "number" + }, + "FullLoadErrorPercentage": { + "markdownDescription": "The maximum percentage of records that can fail to be written before a full load operation stops.\n\nTo avoid early failure, this counter is only effective after 1,000 records are transferred. OpenSearch also has the concept of error monitoring during the last 10 minutes of an Observation Window. If transfer of all records fail in the last 10 minutes, the full load operation stops.", + "title": "FullLoadErrorPercentage", + "type": "number" + }, + "ServiceAccessRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the `iam:PassRole` action.", + "title": "ServiceAccessRoleArn", "type": "string" } }, - "required": [ - "SecretArn" - ], "type": "object" }, - "AWS::DataSync::LocationHDFS": { + "AWS::DMS::Endpoint.GcpMySQLSettings": { "additionalProperties": false, "properties": { - "Condition": { + "AfterConnectScript": { + "markdownDescription": "Specifies a script to run immediately after AWS DMS connects to the endpoint. The migration task continues running regardless if the SQL statement succeeds or fails.\n\nFor this parameter, provide the code of the script itself, not the name of a file containing the script.", + "title": "AfterConnectScript", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CleanSourceMetadataOnMismatch": { + "markdownDescription": "Adjusts the behavior of AWS DMS when migrating from an SQL Server source database that is hosted as part of an Always On availability group cluster. If you need AWS DMS to poll all the nodes in the Always On cluster for transaction backups, set this attribute to `false` .", + "title": "CleanSourceMetadataOnMismatch", + "type": "boolean" + }, + "DatabaseName": { + "markdownDescription": "Database name for the endpoint. For a MySQL source or target endpoint, don't explicitly specify the database using the `DatabaseName` request parameter on either the `CreateEndpoint` or `ModifyEndpoint` API call. Specifying `DatabaseName` when you create or modify a MySQL endpoint replicates all the task tables to this single database. For MySQL endpoints, you specify the database only when you specify the schema in the table-mapping rules of the AWS DMS task.", + "title": "DatabaseName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EventsPollInterval": { + "markdownDescription": "Specifies how often to check the binary log for new changes/events when the database is idle. The default is five seconds.\n\nExample: `eventsPollInterval=5;`\n\nIn the example, AWS DMS checks for changes in the binary logs every five seconds.", + "title": "EventsPollInterval", + "type": "number" }, - "Metadata": { - "type": "object" + "MaxFileSize": { + "markdownDescription": "Specifies the maximum size (in KB) of any .csv file used to transfer data to a MySQL-compatible database.\n\nExample: `maxFileSize=512`", + "title": "MaxFileSize", + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.", - "title": "AgentArns", - "type": "array" - }, - "AuthenticationType": { - "markdownDescription": "", - "title": "AuthenticationType", - "type": "string" - }, - "BlockSize": { - "markdownDescription": "The size of data blocks to write into the HDFS cluster. The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB).", - "title": "BlockSize", - "type": "number" - }, - "CmkSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationHDFS.CmkSecretConfig" - }, - "CustomSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationHDFS.CustomSecretConfig" - }, - "KerberosKeytab": { - "markdownDescription": "The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. Provide the base64-encoded file text. If `KERBEROS` is specified for `AuthType` , this value is required.", - "title": "KerberosKeytab", - "type": "string" - }, - "KerberosKrb5Conf": { - "markdownDescription": "The `krb5.conf` file that contains the Kerberos configuration information. You can load the `krb5.conf` by providing a string of the file's contents or an Amazon S3 presigned URL of the file. If `KERBEROS` is specified for `AuthType` , this value is required.", - "title": "KerberosKrb5Conf", - "type": "string" - }, - "KerberosPrincipal": { - "markdownDescription": "The Kerberos principal with access to the files and folders on the HDFS cluster.\n\n> If `KERBEROS` is specified for `AuthenticationType` , this parameter is required.", - "title": "KerberosPrincipal", - "type": "string" - }, - "KmsKeyProviderUri": { - "markdownDescription": "The URI of the HDFS cluster's Key Management Server (KMS).", - "title": "KmsKeyProviderUri", - "type": "string" - }, - "NameNodes": { - "items": { - "$ref": "#/definitions/AWS::DataSync::LocationHDFS.NameNode" - }, - "markdownDescription": "The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode.", - "title": "NameNodes", - "type": "array" - }, - "QopConfiguration": { - "$ref": "#/definitions/AWS::DataSync::LocationHDFS.QopConfiguration", - "markdownDescription": "The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the Hadoop Distributed File System (HDFS) cluster. If `QopConfiguration` isn't specified, `RpcProtection` and `DataTransferProtection` default to `PRIVACY` . If you set `RpcProtection` or `DataTransferProtection` , the other parameter assumes the same value.", - "title": "QopConfiguration" - }, - "ReplicationFactor": { - "markdownDescription": "The number of DataNodes to replicate the data to when writing to the HDFS cluster. By default, data is replicated to three DataNodes.", - "title": "ReplicationFactor", - "type": "number" - }, - "SimpleUser": { - "markdownDescription": "The user name used to identify the client on the host operating system.\n\n> If `SIMPLE` is specified for `AuthenticationType` , this parameter is required.", - "title": "SimpleUser", - "type": "string" - }, - "Subdirectory": { - "markdownDescription": "A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to `/` .", - "title": "Subdirectory", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The key-value pair that represents the tag that you want to add to the location. The value can be an empty string. We recommend using tags to name your resources.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "AgentArns", - "AuthenticationType", - "NameNodes" - ], - "type": "object" + "ParallelLoadThreads": { + "markdownDescription": "Improves performance when loading data into the MySQL-compatible target database. Specifies how many threads to use to load the data into the MySQL-compatible target database. Setting a large number of threads can have an adverse effect on database performance, because a separate connection is required for each thread. The default is one.\n\nExample: `parallelLoadThreads=1`", + "title": "ParallelLoadThreads", + "type": "number" }, - "Type": { - "enum": [ - "AWS::DataSync::LocationHDFS" - ], + "Password": { + "markdownDescription": "Endpoint connection password.", + "title": "Password", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Port": { + "markdownDescription": "The port used by the endpoint database.", + "title": "Port", + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret.` The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the MySQL endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MySQL endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "ServerName": { + "markdownDescription": "The MySQL host name.", + "title": "ServerName", + "type": "string" + }, + "ServerTimezone": { + "markdownDescription": "Specifies the time zone for the source MySQL database. Don't enclose time zones in single quotation marks.\n\nExample: `serverTimezone=US/Pacific;`", + "title": "ServerTimezone", + "type": "string" + }, + "Username": { + "markdownDescription": "Endpoint connection user name.", + "title": "Username", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::DataSync::LocationHDFS.CmkSecretConfig": { + "AWS::DMS::Endpoint.IbmDb2Settings": { "additionalProperties": false, "properties": { - "KmsKeyArn": { + "CurrentLsn": { + "markdownDescription": "For ongoing replication (CDC), use CurrentLSN to specify a log sequence number (LSN) where you want the replication to start.", + "title": "CurrentLsn", "type": "string" }, - "SecretArn": { + "KeepCsvFiles": { + "markdownDescription": "If true, AWS DMS saves any .csv files to the Db2 LUW target that were used to replicate data. DMS uses these files for analysis and troubleshooting.\n\nThe default value is false.", + "title": "KeepCsvFiles", + "type": "boolean" + }, + "LoadTimeout": { + "markdownDescription": "The amount of time (in milliseconds) before AWS DMS times out operations performed by DMS on the Db2 target. The default value is 1200 (20 minutes).", + "title": "LoadTimeout", + "type": "number" + }, + "MaxFileSize": { + "markdownDescription": "Specifies the maximum size (in KB) of .csv files used to transfer data to Db2 LUW.", + "title": "MaxFileSize", + "type": "number" + }, + "MaxKBytesPerRead": { + "markdownDescription": "Maximum number of bytes per read, as a NUMBER value. The default is 64 KB.", + "title": "MaxKBytesPerRead", + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value ofthe AWS Secrets Manager secret that allows access to the Db2 LUW endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the IBMDB2 endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "SetDataCaptureChanges": { + "markdownDescription": "Enables ongoing replication (CDC) as a BOOLEAN value. The default is true.", + "title": "SetDataCaptureChanges", + "type": "boolean" + }, + "WriteBufferSize": { + "markdownDescription": "The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk on the DMS replication instance. The default value is 1024 (1 MB).", + "title": "WriteBufferSize", + "type": "number" } }, "type": "object" }, - "AWS::DataSync::LocationHDFS.CustomSecretConfig": { + "AWS::DMS::Endpoint.KafkaSettings": { "additionalProperties": false, "properties": { - "SecretAccessRoleArn": { + "Broker": { + "markdownDescription": "A comma-separated list of one or more broker locations in your Kafka cluster that host your Kafka instance. Specify each broker location in the form `*broker-hostname-or-ip* : *port*` . For example, `\"ec2-12-345-678-901.compute-1.amazonaws.com:2345\"` . For more information and examples of specifying a list of broker locations, see [Using Apache Kafka as a target for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html) in the *AWS Database Migration Service User Guide* .", + "title": "Broker", "type": "string" }, - "SecretArn": { + "IncludeControlDetails": { + "markdownDescription": "Shows detailed control information for table definition, column definition, and table and column changes in the Kafka message output. The default is `false` .", + "title": "IncludeControlDetails", + "type": "boolean" + }, + "IncludeNullAndEmpty": { + "markdownDescription": "Include NULL and empty columns for records migrated to the endpoint. The default is `false` .", + "title": "IncludeNullAndEmpty", + "type": "boolean" + }, + "IncludePartitionValue": { + "markdownDescription": "Shows the partition value within the Kafka message output unless the partition type is `schema-table-type` . The default is `false` .", + "title": "IncludePartitionValue", + "type": "boolean" + }, + "IncludeTableAlterOperations": { + "markdownDescription": "Includes any data definition language (DDL) operations that change the table in the control data, such as `rename-table` , `drop-table` , `add-column` , `drop-column` , and `rename-column` . The default is `false` .", + "title": "IncludeTableAlterOperations", + "type": "boolean" + }, + "IncludeTransactionDetails": { + "markdownDescription": "Provides detailed transaction information from the source database. This information includes a commit timestamp, a log position, and values for `transaction_id` , previous `transaction_id` , and `transaction_record_id` (the record offset within a transaction). The default is `false` .", + "title": "IncludeTransactionDetails", + "type": "boolean" + }, + "MessageFormat": { + "markdownDescription": "The output format for the records created on the endpoint. The message format is `JSON` (default) or `JSON_UNFORMATTED` (a single line with no tab).", + "title": "MessageFormat", + "type": "string" + }, + "MessageMaxBytes": { + "markdownDescription": "The maximum size in bytes for records created on the endpoint The default is 1,000,000.", + "title": "MessageMaxBytes", + "type": "number" + }, + "NoHexPrefix": { + "markdownDescription": "Set this optional parameter to `true` to avoid adding a '0x' prefix to raw data in hexadecimal format. For example, by default, AWS DMS adds a '0x' prefix to the LOB column type in hexadecimal format moving from an Oracle source to a Kafka target. Use the `NoHexPrefix` endpoint setting to enable migration of RAW data type columns without adding the '0x' prefix.", + "title": "NoHexPrefix", + "type": "boolean" + }, + "PartitionIncludeSchemaTable": { + "markdownDescription": "Prefixes schema and table names to partition values, when the partition type is `primary-key-type` . Doing this increases data distribution among Kafka partitions. For example, suppose that a SysBench schema has thousands of tables and each table has only limited range for a primary key. In this case, the same primary key is sent from thousands of tables to the same partition, which causes throttling. The default is `false` .", + "title": "PartitionIncludeSchemaTable", + "type": "boolean" + }, + "SaslPassword": { + "markdownDescription": "The secure password that you created when you first set up your Amazon MSK cluster to validate a client identity and make an encrypted connection between server and client using SASL-SSL authentication.", + "title": "SaslPassword", + "type": "string" + }, + "SaslUserName": { + "markdownDescription": "The secure user name you created when you first set up your Amazon MSK cluster to validate a client identity and make an encrypted connection between server and client using SASL-SSL authentication.", + "title": "SaslUserName", + "type": "string" + }, + "SecurityProtocol": { + "markdownDescription": "Set secure connection to a Kafka target endpoint using Transport Layer Security (TLS). Options include `ssl-encryption` , `ssl-authentication` , and `sasl-ssl` . `sasl-ssl` requires `SaslUsername` and `SaslPassword` .", + "title": "SecurityProtocol", + "type": "string" + }, + "SslCaCertificateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the private certificate authority (CA) cert that AWS DMS uses to securely connect to your Kafka target endpoint.", + "title": "SslCaCertificateArn", + "type": "string" + }, + "SslClientCertificateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the client certificate used to securely connect to a Kafka target endpoint.", + "title": "SslClientCertificateArn", + "type": "string" + }, + "SslClientKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the client private key used to securely connect to a Kafka target endpoint.", + "title": "SslClientKeyArn", + "type": "string" + }, + "SslClientKeyPassword": { + "markdownDescription": "The password for the client private key used to securely connect to a Kafka target endpoint.", + "title": "SslClientKeyPassword", + "type": "string" + }, + "Topic": { + "markdownDescription": "The topic to which you migrate the data. If you don't specify a topic, AWS DMS specifies `\"kafka-default-topic\"` as the migration topic.", + "title": "Topic", "type": "string" } }, - "required": [ - "SecretAccessRoleArn", - "SecretArn" - ], "type": "object" }, - "AWS::DataSync::LocationHDFS.ManagedSecretConfig": { + "AWS::DMS::Endpoint.KinesisSettings": { "additionalProperties": false, "properties": { - "SecretArn": { + "IncludeControlDetails": { + "markdownDescription": "Shows detailed control information for table definition, column definition, and table and column changes in the Kinesis message output. The default is `false` .", + "title": "IncludeControlDetails", + "type": "boolean" + }, + "IncludeNullAndEmpty": { + "markdownDescription": "Include NULL and empty columns for records migrated to the endpoint. The default is `false` .", + "title": "IncludeNullAndEmpty", + "type": "boolean" + }, + "IncludePartitionValue": { + "markdownDescription": "Shows the partition value within the Kinesis message output, unless the partition type is `schema-table-type` . The default is `false` .", + "title": "IncludePartitionValue", + "type": "boolean" + }, + "IncludeTableAlterOperations": { + "markdownDescription": "Includes any data definition language (DDL) operations that change the table in the control data, such as `rename-table` , `drop-table` , `add-column` , `drop-column` , and `rename-column` . The default is `false` .", + "title": "IncludeTableAlterOperations", + "type": "boolean" + }, + "IncludeTransactionDetails": { + "markdownDescription": "Provides detailed transaction information from the source database. This information includes a commit timestamp, a log position, and values for `transaction_id` , previous `transaction_id` , and `transaction_record_id` (the record offset within a transaction). The default is `false` .", + "title": "IncludeTransactionDetails", + "type": "boolean" + }, + "MessageFormat": { + "markdownDescription": "The output format for the records created on the endpoint. The message format is `JSON` (default) or `JSON_UNFORMATTED` (a single line with no tab).", + "title": "MessageFormat", + "type": "string" + }, + "NoHexPrefix": { + "markdownDescription": "Set this optional parameter to `true` to avoid adding a '0x' prefix to raw data in hexadecimal format. For example, by default, AWS DMS adds a '0x' prefix to the LOB column type in hexadecimal format moving from an Oracle source to an Amazon Kinesis target. Use the `NoHexPrefix` endpoint setting to enable migration of RAW data type columns without adding the '0x' prefix.", + "title": "NoHexPrefix", + "type": "boolean" + }, + "PartitionIncludeSchemaTable": { + "markdownDescription": "Prefixes schema and table names to partition values, when the partition type is `primary-key-type` . Doing this increases data distribution among Kinesis shards. For example, suppose that a SysBench schema has thousands of tables and each table has only limited range for a primary key. In this case, the same primary key is sent from thousands of tables to the same shard, which causes throttling. The default is `false` .", + "title": "PartitionIncludeSchemaTable", + "type": "boolean" + }, + "ServiceAccessRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the IAM role that AWS DMS uses to write to the Kinesis data stream. The role must allow the `iam:PassRole` action.", + "title": "ServiceAccessRoleArn", + "type": "string" + }, + "StreamArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the Amazon Kinesis Data Streams endpoint.", + "title": "StreamArn", "type": "string" } }, - "required": [ - "SecretArn" - ], "type": "object" }, - "AWS::DataSync::LocationHDFS.NameNode": { + "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { "additionalProperties": false, "properties": { - "Hostname": { - "markdownDescription": "The hostname of the NameNode in the HDFS cluster. This value is the IP address or Domain Name Service (DNS) name of the NameNode. An agent that's installed on-premises uses this hostname to communicate with the NameNode in the network.", - "title": "Hostname", + "BcpPacketSize": { + "markdownDescription": "The maximum size of the packets (in bytes) used to transfer data using BCP.", + "title": "BcpPacketSize", + "type": "number" + }, + "ControlTablesFileGroup": { + "markdownDescription": "Specifies a file group for the AWS DMS internal tables. When the replication task starts, all the internal AWS DMS control tables (awsdms_ apply_exception, awsdms_apply, awsdms_changes) are created for the specified file group.", + "title": "ControlTablesFileGroup", + "type": "string" + }, + "DatabaseName": { + "markdownDescription": "Database name for the endpoint.", + "title": "DatabaseName", + "type": "string" + }, + "ForceLobLookup": { + "markdownDescription": "Forces LOB lookup on inline LOB.", + "title": "ForceLobLookup", + "type": "boolean" + }, + "Password": { + "markdownDescription": "Endpoint connection password.", + "title": "Password", "type": "string" }, "Port": { - "markdownDescription": "The port that the NameNode uses to listen to client requests.", + "markdownDescription": "Endpoint TCP port.", "title": "Port", "type": "number" - } - }, - "required": [ - "Hostname", - "Port" - ], - "type": "object" - }, - "AWS::DataSync::LocationHDFS.QopConfiguration": { - "additionalProperties": false, - "properties": { - "DataTransferProtection": { - "markdownDescription": "The data transfer protection setting configured on the HDFS cluster. This setting corresponds to your `dfs.data.transfer.protection` setting in the `hdfs-site.xml` file on your Hadoop cluster.", - "title": "DataTransferProtection", + }, + "QuerySingleAlwaysOnNode": { + "markdownDescription": "Cleans and recreates table metadata information on the replication instance when a mismatch occurs. An example is a situation where running an alter DDL statement on a table might result in different information about the table cached in the replication instance.", + "title": "QuerySingleAlwaysOnNode", + "type": "boolean" + }, + "ReadBackupOnly": { + "markdownDescription": "When this attribute is set to `Y` , AWS DMS only reads changes from transaction log backups and doesn't read from the active transaction log file during ongoing replication. Setting this parameter to `Y` enables you to control active transaction log file growth during full load and ongoing replication tasks. However, it can add some source latency to ongoing replication.", + "title": "ReadBackupOnly", + "type": "boolean" + }, + "SafeguardPolicy": { + "markdownDescription": "Use this attribute to minimize the need to access the backup log and enable AWS DMS to prevent truncation using one of the following two methods.\n\n*Start transactions in the database:* This is the default method. When this method is used, AWS DMS prevents TLOG truncation by mimicking a transaction in the database. As long as such a transaction is open, changes that appear after the transaction started aren't truncated. If you need Microsoft Replication to be enabled in your database, then you must choose this method.\n\n*Exclusively use sp_repldone within a single task* : When this method is used, AWS DMS reads the changes and then uses sp_repldone to mark the TLOG transactions as ready for truncation. Although this method doesn't involve any transactional activities, it can only be used when Microsoft Replication isn't running. Also, when using this method, only one AWS DMS task can access the database at any given time. Therefore, if you need to run parallel AWS DMS tasks against the same database, use the default method.", + "title": "SafeguardPolicy", "type": "string" }, - "RpcProtection": { - "markdownDescription": "The Remote Procedure Call (RPC) protection setting configured on the HDFS cluster. This setting corresponds to your `hadoop.rpc.protection` setting in your `core-site.xml` file on your Hadoop cluster.", - "title": "RpcProtection", + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the SQL Server endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MicrosoftSQLServer endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "ServerName": { + "markdownDescription": "Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server instance, this is the output of [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) , in the `[Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address` field.", + "title": "ServerName", + "type": "string" + }, + "TlogAccessMode": { + "markdownDescription": "Indicates the mode used to fetch CDC data.", + "title": "TlogAccessMode", + "type": "string" + }, + "TrimSpaceInChar": { + "markdownDescription": "Use the `TrimSpaceInChar` source endpoint setting to right-trim data on CHAR and NCHAR data types during migration. Setting `TrimSpaceInChar` does not left-trim data. The default value is `true` .", + "title": "TrimSpaceInChar", + "type": "boolean" + }, + "UseBcpFullLoad": { + "markdownDescription": "Use this to attribute to transfer data for full-load operations using BCP. When the target table contains an identity column that does not exist in the source table, you must disable the use BCP for loading table option.", + "title": "UseBcpFullLoad", + "type": "boolean" + }, + "UseThirdPartyBackupDevice": { + "markdownDescription": "When this attribute is set to `Y` , DMS processes third-party transaction log backups if they are created in native format.", + "title": "UseThirdPartyBackupDevice", + "type": "boolean" + }, + "Username": { + "markdownDescription": "Endpoint connection user name.", + "title": "Username", "type": "string" } }, "type": "object" }, - "AWS::DataSync::LocationNFS": { + "AWS::DMS::Endpoint.MongoDbSettings": { "additionalProperties": false, "properties": { - "Condition": { + "AuthMechanism": { + "markdownDescription": "The authentication mechanism you use to access the MongoDB source endpoint.\n\nFor the default value, in MongoDB version 2.x, `\"default\"` is `\"mongodb_cr\"` . For MongoDB version 3.x or later, `\"default\"` is `\"scram_sha_1\"` . This setting isn't used when `AuthType` is set to `\"no\"` .", + "title": "AuthMechanism", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AuthSource": { + "markdownDescription": "The MongoDB database name. This setting isn't used when `AuthType` is set to `\"no\"` .\n\nThe default is `\"admin\"` .", + "title": "AuthSource", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "AuthType": { + "markdownDescription": "The authentication type you use to access the MongoDB source endpoint.\n\nWhen set to `\"no\"` , user name and password parameters are not used and can be empty.", + "title": "AuthType", + "type": "string" }, - "Metadata": { - "type": "object" + "DatabaseName": { + "markdownDescription": "The database name on the MongoDB source endpoint.", + "title": "DatabaseName", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions", - "markdownDescription": "Specifies the options that DataSync can use to mount your NFS file server.", - "title": "MountOptions" - }, - "OnPremConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig", - "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect to your NFS file server.\n\nYou can specify more than one agent. For more information, see [Using multiple DataSync agents](https://docs.aws.amazon.com/datasync/latest/userguide/do-i-need-datasync-agent.html#multiple-agents) .", - "title": "OnPremConfig" - }, - "ServerHostname": { - "markdownDescription": "Specifies the DNS name or IP address (IPv4 or IPv6) of the NFS file server that your DataSync agent connects to.", - "title": "ServerHostname", - "type": "string" - }, - "Subdirectory": { - "markdownDescription": "Specifies the export path in your NFS file server that you want DataSync to mount.\n\nThis path (or a subdirectory of the path) is where DataSync transfers data to or from. For information on configuring an export for DataSync, see [Accessing NFS file servers](https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#accessing-nfs) .", - "title": "Subdirectory", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "OnPremConfig" - ], - "type": "object" + "DocsToInvestigate": { + "markdownDescription": "Indicates the number of documents to preview to determine the document organization. Use this setting when `NestingLevel` is set to `\"one\"` .\n\nMust be a positive value greater than `0` . Default value is `1000` .", + "title": "DocsToInvestigate", + "type": "string" }, - "Type": { - "enum": [ - "AWS::DataSync::LocationNFS" - ], + "ExtractDocId": { + "markdownDescription": "Specifies the document ID. Use this setting when `NestingLevel` is set to `\"none\"` .\n\nDefault value is `\"false\"` .", + "title": "ExtractDocId", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "NestingLevel": { + "markdownDescription": "Specifies either document or table mode.\n\nDefault value is `\"none\"` . Specify `\"none\"` to use document mode. Specify `\"one\"` to use table mode.", + "title": "NestingLevel", + "type": "string" + }, + "Password": { + "markdownDescription": "The password for the user account you use to access the MongoDB source endpoint.", + "title": "Password", + "type": "string" + }, + "Port": { + "markdownDescription": "The port value for the MongoDB source endpoint.", + "title": "Port", + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the MongoDB endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MongoDB endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "ServerName": { + "markdownDescription": "The name of the server on the MongoDB source endpoint.", + "title": "ServerName", + "type": "string" + }, + "Username": { + "markdownDescription": "The user name you use to access the MongoDB source endpoint.", + "title": "Username", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::DataSync::LocationNFS.MountOptions": { + "AWS::DMS::Endpoint.MySqlSettings": { "additionalProperties": false, "properties": { - "Version": { - "markdownDescription": "Specifies the NFS version that you want DataSync to use when mounting your NFS share. If the server refuses to use the version specified, the task fails.\n\nYou can specify the following options:\n\n- `AUTOMATIC` (default): DataSync chooses NFS version 4.1.\n- `NFS3` : Stateless protocol version that allows for asynchronous writes on the server.\n- `NFSv4_0` : Stateful, firewall-friendly protocol version that supports delegations and pseudo file systems.\n- `NFSv4_1` : Stateful protocol version that supports sessions, directory delegations, and parallel data processing. NFS version 4.1 also includes all features available in version 4.0.\n\n> DataSync currently only supports NFS version 3 with Amazon FSx for NetApp ONTAP locations.", - "title": "Version", + "AfterConnectScript": { + "markdownDescription": "Specifies a script to run immediately after AWS DMS connects to the endpoint. The migration task continues running regardless if the SQL statement succeeds or fails.\n\nFor this parameter, provide the code of the script itself, not the name of a file containing the script.", + "title": "AfterConnectScript", + "type": "string" + }, + "CleanSourceMetadataOnMismatch": { + "markdownDescription": "Cleans and recreates table metadata information on the replication instance when a mismatch occurs. For example, in a situation where running an alter DDL on the table could result in different information about the table cached in the replication instance.", + "title": "CleanSourceMetadataOnMismatch", + "type": "boolean" + }, + "EventsPollInterval": { + "markdownDescription": "Specifies how often to check the binary log for new changes/events when the database is idle. The default is five seconds.\n\nExample: `eventsPollInterval=5;`\n\nIn the example, AWS DMS checks for changes in the binary logs every five seconds.", + "title": "EventsPollInterval", + "type": "number" + }, + "MaxFileSize": { + "markdownDescription": "Specifies the maximum size (in KB) of any .csv file used to transfer data to a MySQL-compatible database.\n\nExample: `maxFileSize=512`", + "title": "MaxFileSize", + "type": "number" + }, + "ParallelLoadThreads": { + "markdownDescription": "Improves performance when loading data into the MySQL-compatible target database. Specifies how many threads to use to load the data into the MySQL-compatible target database. Setting a large number of threads can have an adverse effect on database performance, because a separate connection is required for each thread. The default is one.\n\nExample: `parallelLoadThreads=1`", + "title": "ParallelLoadThreads", + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the MySQL endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the MySQL endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "ServerTimezone": { + "markdownDescription": "Specifies the time zone for the source MySQL database.\n\nExample: `serverTimezone=US/Pacific;`\n\nNote: Do not enclose time zones in single quotes.", + "title": "ServerTimezone", + "type": "string" + }, + "TargetDbType": { + "markdownDescription": "Specifies where to migrate source tables on the target, either to a single database or multiple databases. If you specify `SPECIFIC_DATABASE` , specify the database name using the `DatabaseName` parameter of the `Endpoint` object.\n\nExample: `targetDbType=MULTIPLE_DATABASES`", + "title": "TargetDbType", "type": "string" } }, "type": "object" }, - "AWS::DataSync::LocationNFS.OnPremConfig": { + "AWS::DMS::Endpoint.NeptuneSettings": { "additionalProperties": false, "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your NFS file server.\n\nYou can specify more than one agent. For more information, see [Using multiple DataSync agents](https://docs.aws.amazon.com/datasync/latest/userguide/do-i-need-datasync-agent.html#multiple-agents) .", - "title": "AgentArns", - "type": "array" + "ErrorRetryDuration": { + "markdownDescription": "The number of milliseconds for AWS DMS to wait to retry a bulk-load of migrated graph data to the Neptune target database before raising an error. The default is 250.", + "title": "ErrorRetryDuration", + "type": "number" + }, + "IamAuthEnabled": { + "markdownDescription": "If you want IAM authorization enabled for this endpoint, set this parameter to `true` . Then attach the appropriate IAM policy document to your service role specified by `ServiceAccessRoleArn` . The default is `false` .", + "title": "IamAuthEnabled", + "type": "boolean" + }, + "MaxFileSize": { + "markdownDescription": "The maximum size in kilobytes of migrated graph data stored in a .csv file before AWS DMS bulk-loads the data to the Neptune target database. The default is 1,048,576 KB. If the bulk load is successful, AWS DMS clears the bucket, ready to store the next batch of migrated graph data.", + "title": "MaxFileSize", + "type": "number" + }, + "MaxRetryCount": { + "markdownDescription": "The number of times for AWS DMS to retry a bulk load of migrated graph data to the Neptune target database before raising an error. The default is 5.", + "title": "MaxRetryCount", + "type": "number" + }, + "S3BucketFolder": { + "markdownDescription": "A folder path where you want AWS DMS to store migrated graph data in the S3 bucket specified by `S3BucketName`", + "title": "S3BucketFolder", + "type": "string" + }, + "S3BucketName": { + "markdownDescription": "The name of the Amazon S3 bucket where AWS DMS can temporarily store migrated graph data in .csv files before bulk-loading it to the Neptune target database. AWS DMS maps the SQL source data to graph data before storing it in these .csv files.", + "title": "S3BucketName", + "type": "string" + }, + "ServiceAccessRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the service role that you created for the Neptune target endpoint. The role must allow the `iam:PassRole` action.\n\nFor more information, see [Creating an IAM Service Role for Accessing Amazon Neptune as a Target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.ServiceRole) in the *AWS Database Migration Service User Guide* .", + "title": "ServiceAccessRoleArn", + "type": "string" } }, - "required": [ - "AgentArns" - ], "type": "object" }, - "AWS::DataSync::LocationObjectStorage": { + "AWS::DMS::Endpoint.OracleSettings": { "additionalProperties": false, "properties": { - "Condition": { + "AccessAlternateDirectly": { + "markdownDescription": "Set this attribute to `false` in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This tells the DMS instance to not access redo logs through any specified path prefix replacement using direct file access.", + "title": "AccessAlternateDirectly", + "type": "boolean" + }, + "AddSupplementalLogging": { + "markdownDescription": "Set this attribute to set up table-level supplemental logging for the Oracle database. This attribute enables PRIMARY KEY supplemental logging on all tables selected for a migration task.\n\nIf you use this option, you still need to enable database-level supplemental logging.", + "title": "AddSupplementalLogging", + "type": "boolean" + }, + "AdditionalArchivedLogDestId": { + "markdownDescription": "Set this attribute with `ArchivedLogDestId` in a primary/ standby setup. This attribute is useful in the case of a switchover. In this case, AWS DMS needs to know which destination to get archive redo logs from to read changes. This need arises because the previous primary instance is now a standby instance after switchover.\n\nAlthough AWS DMS supports the use of the Oracle `RESETLOGS` option to open the database, never use `RESETLOGS` unless necessary. For additional information about `RESETLOGS` , see [RMAN Data Repair Concepts](https://docs.aws.amazon.com/https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B) in the *Oracle Database Backup and Recovery User's Guide* .", + "title": "AdditionalArchivedLogDestId", + "type": "number" + }, + "AllowSelectNestedTables": { + "markdownDescription": "Set this attribute to `true` to enable replication of Oracle tables containing columns that are nested tables or defined types.", + "title": "AllowSelectNestedTables", + "type": "boolean" + }, + "ArchivedLogDestId": { + "markdownDescription": "Specifies the ID of the destination for the archived redo logs. This value should be the same as a number in the dest_id column of the v$archived_log view. If you work with an additional redo log destination, use the `AdditionalArchivedLogDestId` option to specify the additional destination ID. Doing this improves performance by ensuring that the correct logs are accessed from the outset.", + "title": "ArchivedLogDestId", + "type": "number" + }, + "ArchivedLogsOnly": { + "markdownDescription": "When this field is set to `True` , AWS DMS only accesses the archived redo logs. If the archived redo logs are stored on Automatic Storage Management (ASM) only, the AWS DMS user account needs to be granted ASM privileges.", + "title": "ArchivedLogsOnly", + "type": "boolean" + }, + "AsmPassword": { + "markdownDescription": "For an Oracle source endpoint, your Oracle Automatic Storage Management (ASM) password. You can set this value from the `*asm_user_password*` value. You set this value as part of the comma-separated value that you set to the `Password` request parameter when you create the endpoint to access transaction logs using Binary Reader. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", + "title": "AsmPassword", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AsmServer": { + "markdownDescription": "For an Oracle source endpoint, your ASM server address. You can set this value from the `asm_server` value. You set `asm_server` as part of the extra connection attribute string to access an Oracle server with Binary Reader that uses ASM. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", + "title": "AsmServer", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "AsmUser": { + "markdownDescription": "For an Oracle source endpoint, your ASM user name. You can set this value from the `asm_user` value. You set `asm_user` as part of the extra connection attribute string to access an Oracle server with Binary Reader that uses ASM. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .", + "title": "AsmUser", + "type": "string" }, - "Metadata": { - "type": "object" + "CharLengthSemantics": { + "markdownDescription": "Specifies whether the length of a character column is in bytes or in characters. To indicate that the character column length is in characters, set this attribute to `CHAR` . Otherwise, the character column length is in bytes.\n\nExample: `charLengthSemantics=CHAR;`", + "title": "CharLengthSemantics", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessKey": { - "markdownDescription": "Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.", - "title": "AccessKey", - "type": "string" - }, - "AgentArns": { - "items": { - "type": "string" - }, - "markdownDescription": "(Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.\n\n> Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.", - "title": "AgentArns", - "type": "array" - }, - "BucketName": { - "markdownDescription": "Specifies the name of the object storage bucket involved in the transfer.", - "title": "BucketName", - "type": "string" - }, - "CmkSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.CmkSecretConfig", - "markdownDescription": "Specifies configuration information for a DataSync-managed secret, which includes the `SecretKey` that DataSync uses to access a specific object storage location, with a customer-managed AWS KMS key .\n\nWhen you include this parameter as part of a `CreateLocationObjectStorage` request, you provide only the KMS key ARN. DataSync uses this KMS key together with the value you specify for the `SecretKey` parameter to create a DataSync-managed secret to store the location access credentials.\n\nMake sure that DataSync has permission to access the KMS key that you specify.\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": "CmkSecretConfig" - }, - "CustomSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.CustomSecretConfig", - "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" - }, - "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", - "type": "string" - }, - "ServerCertificate": { - "markdownDescription": "Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA). You must specify a single `.pem` file with a full certificate chain (for example, `file:///home/user/.ssh/object_storage_certificates.pem` ).\n\nThe certificate chain might include:\n\n- The object storage system's certificate\n- All intermediate certificates (if there are any)\n- The root certificate of the signing CA\n\nYou can concatenate your certificates into a `.pem` file (which can be up to 32768 bytes before base64 encoding). The following example `cat` command creates an `object_storage_certificates.pem` file that includes three certificates:\n\n`cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem`\n\nTo use this parameter, configure `ServerProtocol` to `HTTPS` .", - "title": "ServerCertificate", - "type": "string" - }, - "ServerHostname": { - "markdownDescription": "Specifies the domain name or IP address (IPv4 or IPv6) of the object storage server that your DataSync agent connects to.", - "title": "ServerHostname", - "type": "string" - }, - "ServerPort": { - "markdownDescription": "Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).", - "title": "ServerPort", - "type": "number" - }, - "ServerProtocol": { - "markdownDescription": "Specifies the protocol that your object storage server uses to communicate. If not specified, the default value is `HTTPS` .", - "title": "ServerProtocol", - "type": "string" - }, - "Subdirectory": { - "markdownDescription": "Specifies the object prefix for your object storage server. If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix.", - "title": "Subdirectory", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies the key-value pair that represents a tag that you want to add to the resource. Tags can help you manage, filter, and search for your resources. We recommend creating a name tag for your location.", - "title": "Tags", - "type": "array" - } + "DirectPathNoLog": { + "markdownDescription": "When set to `true` , this attribute helps to increase the commit rate on the Oracle target database by writing directly to tables and not writing a trail to database logs.", + "title": "DirectPathNoLog", + "type": "boolean" + }, + "DirectPathParallelLoad": { + "markdownDescription": "When set to `true` , this attribute specifies a parallel load when `useDirectPathFullLoad` is set to `Y` . This attribute also only applies when you use the AWS DMS parallel load feature. Note that the target table cannot have any constraints or indexes.", + "title": "DirectPathParallelLoad", + "type": "boolean" + }, + "EnableHomogenousTablespace": { + "markdownDescription": "Set this attribute to enable homogenous tablespace replication and create existing tables or indexes under the same tablespace on the target.", + "title": "EnableHomogenousTablespace", + "type": "boolean" + }, + "ExtraArchivedLogDestIds": { + "items": { + "type": "number" }, - "type": "object" + "markdownDescription": "Specifies the IDs of one more destinations for one or more archived redo logs. These IDs are the values of the `dest_id` column in the `v$archived_log` view. Use this setting with the `archivedLogDestId` extra connection attribute in a primary-to-single setup or a primary-to-multiple-standby setup.\n\nThis setting is useful in a switchover when you use an Oracle Data Guard database as a source. In this case, AWS DMS needs information about what destination to get archive redo logs from to read changes. AWS DMS needs this because after the switchover the previous primary is a standby instance. For example, in a primary-to-single standby setup you might apply the following settings.\n\n`archivedLogDestId=1; ExtraArchivedLogDestIds=[2]`\n\nIn a primary-to-multiple-standby setup, you might apply the following settings.\n\n`archivedLogDestId=1; ExtraArchivedLogDestIds=[2,3,4]`\n\nAlthough AWS DMS supports the use of the Oracle `RESETLOGS` option to open the database, never use `RESETLOGS` unless it's necessary. For more information about `RESETLOGS` , see [RMAN Data Repair Concepts](https://docs.aws.amazon.com/https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B) in the *Oracle Database Backup and Recovery User's Guide* .", + "title": "ExtraArchivedLogDestIds", + "type": "array" }, - "Type": { - "enum": [ - "AWS::DataSync::LocationObjectStorage" - ], + "FailTasksOnLobTruncation": { + "markdownDescription": "When set to `true` , this attribute causes a task to fail if the actual size of an LOB column is greater than the specified `LobMaxSize` .\n\nIf a task is set to limited LOB mode and this option is set to `true` , the task fails instead of truncating the LOB data.", + "title": "FailTasksOnLobTruncation", + "type": "boolean" + }, + "NumberDatatypeScale": { + "markdownDescription": "Specifies the number scale. You can select a scale up to 38, or you can select FLOAT. By default, the NUMBER data type is converted to precision 38, scale 10.\n\nExample: `numberDataTypeScale=12`", + "title": "NumberDatatypeScale", + "type": "number" + }, + "OraclePathPrefix": { + "markdownDescription": "Set this string attribute to the required value in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This value specifies the default Oracle root used to access the redo logs.", + "title": "OraclePathPrefix", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ParallelAsmReadThreads": { + "markdownDescription": "Set this attribute to change the number of threads that DMS configures to perform a change data capture (CDC) load using Oracle Automatic Storage Management (ASM). You can specify an integer value between 2 (the default) and 8 (the maximum). Use this attribute together with the `readAheadBlocks` attribute.", + "title": "ParallelAsmReadThreads", + "type": "number" + }, + "ReadAheadBlocks": { + "markdownDescription": "Set this attribute to change the number of read-ahead blocks that DMS configures to perform a change data capture (CDC) load using Oracle Automatic Storage Management (ASM). You can specify an integer value between 1000 (the default) and 200,000 (the maximum).", + "title": "ReadAheadBlocks", + "type": "number" + }, + "ReadTableSpaceName": { + "markdownDescription": "When set to `true` , this attribute supports tablespace replication.", + "title": "ReadTableSpaceName", + "type": "boolean" + }, + "ReplacePathPrefix": { + "markdownDescription": "Set this attribute to true in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This setting tells DMS instance to replace the default Oracle root with the specified `usePathPrefix` setting to access the redo logs.", + "title": "ReplacePathPrefix", + "type": "boolean" + }, + "RetryInterval": { + "markdownDescription": "Specifies the number of seconds that the system waits before resending a query.\n\nExample: `retryInterval=6;`", + "title": "RetryInterval", + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the Oracle endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerOracleAsmAccessRoleArn": { + "markdownDescription": "Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). The full ARN of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the `SecretsManagerOracleAsmSecret` . This `SecretsManagerOracleAsmSecret` has the secret value that allows access to the Oracle ASM of the endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerOracleAsmSecretId` . Or you can specify clear-text values for `AsmUser` , `AsmPassword` , and `AsmServerName` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerOracleAsmSecret` , the corresponding `SecretsManagerOracleAsmAccessRoleArn` , and the `SecretsManagerOracleAsmSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerOracleAsmAccessRoleArn", + "type": "string" + }, + "SecretsManagerOracleAsmSecretId": { + "markdownDescription": "Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). The full ARN, partial ARN, or display name of the `SecretsManagerOracleAsmSecret` that contains the Oracle ASM connection details for the Oracle endpoint.", + "title": "SecretsManagerOracleAsmSecretId", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the Oracle endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "SecurityDbEncryption": { + "markdownDescription": "For an Oracle source endpoint, the transparent data encryption (TDE) password required by AWM DMS to access Oracle redo logs encrypted by TDE using Binary Reader. It is also the `*TDE_Password*` part of the comma-separated value you set to the `Password` request parameter when you create the endpoint. The `SecurityDbEncryptian` setting is related to this `SecurityDbEncryptionName` setting. For more information, see [Supported encryption methods for using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption) in the *AWS Database Migration Service User Guide* .", + "title": "SecurityDbEncryption", + "type": "string" + }, + "SecurityDbEncryptionName": { + "markdownDescription": "For an Oracle source endpoint, the name of a key used for the transparent data encryption (TDE) of the columns and tablespaces in an Oracle source database that is encrypted using TDE. The key value is the value of the `SecurityDbEncryption` setting. For more information on setting the key name value of `SecurityDbEncryptionName` , see the information and example for setting the `securityDbEncryptionName` extra connection attribute in [Supported encryption methods for using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption) in the *AWS Database Migration Service User Guide* .", + "title": "SecurityDbEncryptionName", + "type": "string" + }, + "SpatialDataOptionToGeoJsonFunctionName": { + "markdownDescription": "Use this attribute to convert `SDO_GEOMETRY` to `GEOJSON` format. By default, DMS calls the `SDO2GEOJSON` custom function if present and accessible. Or you can create your own custom function that mimics the operation of `SDOGEOJSON` and set `SpatialDataOptionToGeoJsonFunctionName` to call it instead.", + "title": "SpatialDataOptionToGeoJsonFunctionName", + "type": "string" + }, + "StandbyDelayTime": { + "markdownDescription": "Use this attribute to specify a time in minutes for the delay in standby sync. If the source is an Oracle Active Data Guard standby database, use this attribute to specify the time lag between primary and standby databases.\n\nIn AWS DMS , you can create an Oracle CDC task that uses an Active Data Guard standby instance as a source for replicating ongoing changes. Doing this eliminates the need to connect to an active database that might be in production.", + "title": "StandbyDelayTime", + "type": "number" + }, + "UseAlternateFolderForOnline": { + "markdownDescription": "Set this attribute to `true` in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This tells the DMS instance to use any specified prefix replacement to access all online redo logs.", + "title": "UseAlternateFolderForOnline", + "type": "boolean" + }, + "UseBFile": { + "markdownDescription": "Set this attribute to True to capture change data using the Binary Reader utility. Set `UseLogminerReader` to False to set this attribute to True. To use Binary Reader with Amazon RDS for Oracle as the source, you set additional attributes. For more information about using this setting with Oracle Automatic Storage Management (ASM), see [Using Oracle LogMiner or AWS DMS Binary Reader for CDC](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC) .", + "title": "UseBFile", + "type": "boolean" + }, + "UseDirectPathFullLoad": { + "markdownDescription": "Set this attribute to True to have AWS DMS use a direct path full load. Specify this value to use the direct path protocol in the Oracle Call Interface (OCI). By using this OCI protocol, you can bulk-load Oracle target tables during a full load.", + "title": "UseDirectPathFullLoad", + "type": "boolean" + }, + "UseLogminerReader": { + "markdownDescription": "Set this attribute to True to capture change data using the Oracle LogMiner utility (the default). Set this attribute to False if you want to access the redo logs as a binary file. When you set `UseLogminerReader` to False, also set `UseBfile` to True. For more information on this setting and using Oracle ASM, see [Using Oracle LogMiner or AWS DMS Binary Reader for CDC](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC) in the *AWS DMS User Guide* .", + "title": "UseLogminerReader", + "type": "boolean" + }, + "UsePathPrefix": { + "markdownDescription": "Set this string attribute to the required value in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This value specifies the path prefix used to replace the default Oracle root to access the redo logs.", + "title": "UsePathPrefix", "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::DataSync::LocationObjectStorage.CmkSecretConfig": { + "AWS::DMS::Endpoint.PostgreSqlSettings": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "markdownDescription": "Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for `SecretArn` . DataSync provides this key to AWS Secrets Manager .", - "title": "KmsKeyArn", + "AfterConnectScript": { + "markdownDescription": "For use with change data capture (CDC) only, this attribute has AWS DMS bypass foreign keys and user triggers to reduce the time it takes to bulk load data.\n\nExample: `afterConnectScript=SET session_replication_role='replica'`", + "title": "AfterConnectScript", "type": "string" }, - "SecretArn": { - "markdownDescription": "Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for `KmsKeyArn` .", - "title": "SecretArn", + "BabelfishDatabaseName": { + "markdownDescription": "The Babelfish for Aurora PostgreSQL database name for the endpoint.", + "title": "BabelfishDatabaseName", + "type": "string" + }, + "CaptureDdls": { + "markdownDescription": "To capture DDL events, AWS DMS creates various artifacts in the PostgreSQL database when the task starts. You can later remove these artifacts.\n\nIf this value is set to `True` , you don't have to create tables or triggers on the source database.", + "title": "CaptureDdls", + "type": "boolean" + }, + "DatabaseMode": { + "markdownDescription": "Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require some additional configuration, such as Babelfish endpoints.", + "title": "DatabaseMode", + "type": "string" + }, + "DdlArtifactsSchema": { + "markdownDescription": "The schema in which the operational DDL database artifacts are created.\n\nThe default value is `public` .\n\nExample: `ddlArtifactsSchema=xyzddlschema;`", + "title": "DdlArtifactsSchema", + "type": "string" + }, + "ExecuteTimeout": { + "markdownDescription": "Sets the client statement timeout for the PostgreSQL instance, in seconds. The default value is 60 seconds.\n\nExample: `executeTimeout=100;`", + "title": "ExecuteTimeout", + "type": "number" + }, + "FailTasksOnLobTruncation": { + "markdownDescription": "When set to `true` , this value causes a task to fail if the actual size of a LOB column is greater than the specified `LobMaxSize` .\n\nThe default value is `false` .\n\nIf task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating the LOB data.", + "title": "FailTasksOnLobTruncation", + "type": "boolean" + }, + "HeartbeatEnable": { + "markdownDescription": "The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle logical replication slots from holding onto old WAL logs, which can result in storage full situations on the source. This heartbeat keeps `restart_lsn` moving and prevents storage full scenarios.\n\nThe default value is `false` .", + "title": "HeartbeatEnable", + "type": "boolean" + }, + "HeartbeatFrequency": { + "markdownDescription": "Sets the WAL heartbeat frequency (in minutes).\n\nThe default value is 5 minutes.", + "title": "HeartbeatFrequency", + "type": "number" + }, + "HeartbeatSchema": { + "markdownDescription": "Sets the schema in which the heartbeat artifacts are created.\n\nThe default value is `public` .", + "title": "HeartbeatSchema", + "type": "string" + }, + "MapBooleanAsBoolean": { + "markdownDescription": "When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as `varchar(5)` . You must set this setting on both the source and target endpoints for it to take effect.\n\nThe default value is `false` .", + "title": "MapBooleanAsBoolean", + "type": "boolean" + }, + "MaxFileSize": { + "markdownDescription": "Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL.\n\nThe default value is 32,768 KB (32 MB).\n\nExample: `maxFileSize=512`", + "title": "MaxFileSize", + "type": "number" + }, + "PluginName": { + "markdownDescription": "Specifies the plugin to use to create a replication slot.\n\nThe default value is `pglogical` .", + "title": "PluginName", + "type": "string" + }, + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the PostgreSQL endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the PostgreSQL endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "SlotName": { + "markdownDescription": "Sets the name of a previously created logical replication slot for a change data capture (CDC) load of the PostgreSQL source instance.\n\nWhen used with the `CdcStartPosition` request parameter for the AWS DMS API , this attribute also makes it possible to use native CDC start points. DMS verifies that the specified logical replication slot exists before starting the CDC load task. It also verifies that the task was created with a valid setting of `CdcStartPosition` . If the specified slot doesn't exist or the task doesn't have a valid `CdcStartPosition` setting, DMS raises an error.\n\nFor more information about setting the `CdcStartPosition` request parameter, see [Determining a CDC native start point](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native) in the *AWS Database Migration Service User Guide* . For more information about using `CdcStartPosition` , see [CreateReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html) , [StartReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html) , and [ModifyReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyReplicationTask.html) .", + "title": "SlotName", "type": "string" } }, "type": "object" }, - "AWS::DataSync::LocationObjectStorage.CustomSecretConfig": { + "AWS::DMS::Endpoint.RedisSettings": { "additionalProperties": false, "properties": { - "SecretAccessRoleArn": { - "markdownDescription": "Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` .", - "title": "SecretAccessRoleArn", + "AuthPassword": { + "markdownDescription": "The password provided with the `auth-role` and `auth-token` options of the `AuthType` setting for a Redis target endpoint.", + "title": "AuthPassword", "type": "string" }, - "SecretArn": { - "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", - "title": "SecretArn", + "AuthType": { + "markdownDescription": "The type of authentication to perform when connecting to a Redis target. Options include `none` , `auth-token` , and `auth-role` . The `auth-token` option requires an `AuthPassword` value to be provided. The `auth-role` option requires `AuthUserName` and `AuthPassword` values to be provided.", + "title": "AuthType", + "type": "string" + }, + "AuthUserName": { + "markdownDescription": "The user name provided with the `auth-role` option of the `AuthType` setting for a Redis target endpoint.", + "title": "AuthUserName", + "type": "string" + }, + "Port": { + "markdownDescription": "Transmission Control Protocol (TCP) port for the endpoint.", + "title": "Port", + "type": "number" + }, + "ServerName": { + "markdownDescription": "Fully qualified domain name of the endpoint.", + "title": "ServerName", + "type": "string" + }, + "SslCaCertificateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the certificate authority (CA) that DMS uses to connect to your Redis target endpoint.", + "title": "SslCaCertificateArn", + "type": "string" + }, + "SslSecurityProtocol": { + "markdownDescription": "The connection to a Redis target endpoint using Transport Layer Security (TLS). Valid values include `plaintext` and `ssl-encryption` . The default is `ssl-encryption` . The `ssl-encryption` option makes an encrypted connection. Optionally, you can identify an Amazon Resource Name (ARN) for an SSL certificate authority (CA) using the `SslCaCertificateArn` setting. If an ARN isn't given for a CA, DMS uses the Amazon root CA.\n\nThe `plaintext` option doesn't provide Transport Layer Security (TLS) encryption for traffic between endpoint and database.", + "title": "SslSecurityProtocol", "type": "string" } }, - "required": [ - "SecretAccessRoleArn", - "SecretArn" - ], "type": "object" }, - "AWS::DataSync::LocationObjectStorage.ManagedSecretConfig": { + "AWS::DMS::Endpoint.RedshiftSettings": { "additionalProperties": false, "properties": { - "SecretArn": { - "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", - "title": "SecretArn", + "AcceptAnyDate": { + "markdownDescription": "A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to be loaded without generating an error. You can choose `true` or `false` (the default).\n\nThis parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift inserts a NULL value into that field.", + "title": "AcceptAnyDate", + "type": "boolean" + }, + "AfterConnectScript": { + "markdownDescription": "Code to run after connecting. This parameter should contain the code itself, not the name of a file containing the code.", + "title": "AfterConnectScript", + "type": "string" + }, + "BucketFolder": { + "markdownDescription": "An S3 folder where the comma-separated-value (.csv) files are stored before being uploaded to the target Redshift cluster.\n\nFor full load mode, AWS DMS converts source records into .csv files and loads them to the *BucketFolder/TableID* path. AWS DMS uses the Redshift `COPY` command to upload the .csv files to the target table. The files are deleted once the `COPY` operation has finished. For more information, see [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) in the *Amazon Redshift Database Developer Guide* .\n\nFor change-data-capture (CDC) mode, AWS DMS creates a *NetChanges* table, and loads the .csv files to this *BucketFolder/NetChangesTableID* path.", + "title": "BucketFolder", + "type": "string" + }, + "BucketName": { + "markdownDescription": "The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift.", + "title": "BucketName", + "type": "string" + }, + "CaseSensitiveNames": { + "markdownDescription": "If Amazon Redshift is configured to support case sensitive schema names, set `CaseSensitiveNames` to `true` . The default is `false` .", + "title": "CaseSensitiveNames", + "type": "boolean" + }, + "CompUpdate": { + "markdownDescription": "If you set `CompUpdate` to `true` Amazon Redshift applies automatic compression if the table is empty. This applies even if the table columns already have encodings other than `RAW` . If you set `CompUpdate` to `false` , automatic compression is disabled and existing column encodings aren't changed. The default is `true` .", + "title": "CompUpdate", + "type": "boolean" + }, + "ConnectionTimeout": { + "markdownDescription": "A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you initially establish a connection.", + "title": "ConnectionTimeout", + "type": "number" + }, + "DateFormat": { + "markdownDescription": "The date format that you are using. Valid values are `auto` (case-sensitive), your date format string enclosed in quotes, or NULL. If this parameter is left unset (NULL), it defaults to a format of 'YYYY-MM-DD'. Using `auto` recognizes most strings, even some that aren't supported when you use a date format string.\n\nIf your date and time values use formats different from each other, set this to `auto` .", + "title": "DateFormat", + "type": "string" + }, + "EmptyAsNull": { + "markdownDescription": "A value that specifies whether AWS DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of `true` sets empty CHAR and VARCHAR fields to null. The default is `false` .", + "title": "EmptyAsNull", + "type": "boolean" + }, + "EncryptionMode": { + "markdownDescription": "The type of server-side encryption that you want to use for your data. This encryption type is part of the endpoint settings or the extra connections attributes for Amazon S3. You can choose either `SSE_S3` (the default) or `SSE_KMS` .\n\n> For the `ModifyEndpoint` operation, you can change the existing value of the `EncryptionMode` parameter from `SSE_KMS` to `SSE_S3` . But you can\u2019t change the existing value from `SSE_S3` to `SSE_KMS` . \n\nTo use `SSE_S3` , create an AWS Identity and Access Management (IAM) role with a policy that allows `\"arn:aws:s3:::*\"` to use the following actions: `\"s3:PutObject\", \"s3:ListBucket\"`", + "title": "EncryptionMode", + "type": "string" + }, + "ExplicitIds": { + "markdownDescription": "This setting is only valid for a full-load migration task. Set `ExplicitIds` to `true` to have tables with `IDENTITY` columns override their auto-generated values with explicit values loaded from the source data files used to populate the tables. The default is `false` .", + "title": "ExplicitIds", + "type": "boolean" + }, + "FileTransferUploadStreams": { + "markdownDescription": "The number of threads used to upload a single file. This parameter accepts a value from 1 through 64. It defaults to 10.\n\nThe number of parallel streams used to upload a single .csv file to an S3 bucket using S3 Multipart Upload. For more information, see [Multipart upload overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html) .\n\n`FileTransferUploadStreams` accepts a value from 1 through 64. It defaults to 10.", + "title": "FileTransferUploadStreams", + "type": "number" + }, + "LoadTimeout": { + "markdownDescription": "The amount of time to wait (in milliseconds) before timing out of operations performed by AWS DMS on a Redshift cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE.", + "title": "LoadTimeout", + "type": "number" + }, + "MapBooleanAsBoolean": { + "markdownDescription": "When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as `varchar(1)` . You must set this setting on both the source and target endpoints for it to take effect.", + "title": "MapBooleanAsBoolean", + "type": "boolean" + }, + "MaxFileSize": { + "markdownDescription": "The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer data to Amazon Redshift. It defaults to 1048576KB (1 GB).", + "title": "MaxFileSize", + "type": "number" + }, + "RemoveQuotes": { + "markdownDescription": "A value that specifies to remove surrounding quotation marks from strings in the incoming data. All characters within the quotation marks, including delimiters, are retained. Choose `true` to remove quotation marks. The default is `false` .", + "title": "RemoveQuotes", + "type": "boolean" + }, + "ReplaceChars": { + "markdownDescription": "A value that specifies to replaces the invalid characters specified in `ReplaceInvalidChars` , substituting the specified characters instead. The default is `\"?\"` .", + "title": "ReplaceChars", + "type": "string" + }, + "ReplaceInvalidChars": { + "markdownDescription": "A list of characters that you want to replace. Use with `ReplaceChars` .", + "title": "ReplaceInvalidChars", + "type": "string" + }, + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the Amazon Redshift endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the Amazon Redshift endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + }, + "ServerSideEncryptionKmsKeyId": { + "markdownDescription": "The AWS key ID. If you are using `SSE_KMS` for the `EncryptionMode` , provide this key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of the key.", + "title": "ServerSideEncryptionKmsKeyId", + "type": "string" + }, + "ServiceAccessRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service. The role must allow the `iam:PassRole` action.", + "title": "ServiceAccessRoleArn", + "type": "string" + }, + "TimeFormat": { + "markdownDescription": "The time format that you want to use. Valid values are `auto` (case-sensitive), `'timeformat_string'` , `'epochsecs'` , or `'epochmillisecs'` . It defaults to 10. Using `auto` recognizes most strings, even some that aren't supported when you use a time format string.\n\nIf your date and time values use formats different from each other, set this parameter to `auto` .", + "title": "TimeFormat", "type": "string" + }, + "TrimBlanks": { + "markdownDescription": "A value that specifies to remove the trailing white space characters from a VARCHAR string. This parameter applies only to columns with a VARCHAR data type. Choose `true` to remove unneeded white space. The default is `false` .", + "title": "TrimBlanks", + "type": "boolean" + }, + "TruncateColumns": { + "markdownDescription": "A value that specifies to truncate data in columns to the appropriate number of characters, so that the data fits in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and rows with a size of 4 MB or less. Choose `true` to truncate data. The default is `false` .", + "title": "TruncateColumns", + "type": "boolean" + }, + "WriteBufferSize": { + "markdownDescription": "The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk at the DMS replication instance. The default value is 1000 (buffer size is 1000KB).", + "title": "WriteBufferSize", + "type": "number" } }, - "required": [ - "SecretArn" - ], "type": "object" }, - "AWS::DataSync::LocationS3": { + "AWS::DMS::Endpoint.S3Settings": { + "additionalProperties": false, + "properties": { + "AddColumnName": { + "markdownDescription": "An optional parameter that, when set to `true` or `y` , you can use to add column name information to the .csv output file.\n\nThe default value is `false` . Valid values are `true` , `false` , `y` , and `n` .", + "title": "AddColumnName", + "type": "boolean" + }, + "AddTrailingPaddingCharacter": { + "markdownDescription": "Use the S3 target endpoint setting `AddTrailingPaddingCharacter` to add padding on string data. The default value is `false` .", + "title": "AddTrailingPaddingCharacter", + "type": "boolean" + }, + "BucketFolder": { + "markdownDescription": "An optional parameter to set a folder name in the S3 bucket. If provided, tables are created in the path `*bucketFolder* / *schema_name* / *table_name* /` . If this parameter isn't specified, the path used is `*schema_name* / *table_name* /` .", + "title": "BucketFolder", + "type": "string" + }, + "BucketName": { + "markdownDescription": "The name of the S3 bucket.", + "title": "BucketName", + "type": "string" + }, + "CannedAclForObjects": { + "markdownDescription": "A value that enables AWS DMS to specify a predefined (canned) access control list (ACL) for objects created in an Amazon S3 bucket as .csv or .parquet files. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 Developer Guide* .\n\nThe default value is NONE. Valid values include NONE, PRIVATE, PUBLIC_READ, PUBLIC_READ_WRITE, AUTHENTICATED_READ, AWS_EXEC_READ, BUCKET_OWNER_READ, and BUCKET_OWNER_FULL_CONTROL.", + "title": "CannedAclForObjects", + "type": "string" + }, + "CdcInsertsAndUpdates": { + "markdownDescription": "A value that enables a change data capture (CDC) load to write INSERT and UPDATE operations to .csv or .parquet (columnar storage) output files. The default setting is `false` , but when `CdcInsertsAndUpdates` is set to `true` or `y` , only INSERTs and UPDATEs from the source database are migrated to the .csv or .parquet file.\n\nFor .csv file format only, how these INSERTs and UPDATEs are recorded depends on the value of the `IncludeOpForFullLoad` parameter. If `IncludeOpForFullLoad` is set to `true` , the first field of every CDC record is set to either `I` or `U` to indicate INSERT and UPDATE operations at the source. But if `IncludeOpForFullLoad` is set to `false` , CDC records are written without an indication of INSERT or UPDATE operations at the source. For more information about how these settings work together, see [Indicating Source DB Operations in Migrated S3 Data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps) in the *AWS Database Migration Service User Guide* .\n\n> AWS DMS supports the use of the `CdcInsertsAndUpdates` parameter in versions 3.3.1 and later.\n> \n> `CdcInsertsOnly` and `CdcInsertsAndUpdates` can't both be set to `true` for the same endpoint. Set either `CdcInsertsOnly` or `CdcInsertsAndUpdates` to `true` for the same endpoint, but not both.", + "title": "CdcInsertsAndUpdates", + "type": "boolean" + }, + "CdcInsertsOnly": { + "markdownDescription": "A value that enables a change data capture (CDC) load to write only INSERT operations to .csv or columnar storage (.parquet) output files. By default (the `false` setting), the first field in a .csv or .parquet record contains the letter I (INSERT), U (UPDATE), or D (DELETE). These values indicate whether the row was inserted, updated, or deleted at the source database for a CDC load to the target.\n\nIf `CdcInsertsOnly` is set to `true` or `y` , only INSERTs from the source database are migrated to the .csv or .parquet file. For .csv format only, how these INSERTs are recorded depends on the value of `IncludeOpForFullLoad` . If `IncludeOpForFullLoad` is set to `true` , the first field of every CDC record is set to I to indicate the INSERT operation at the source. If `IncludeOpForFullLoad` is set to `false` , every CDC record is written without a first field to indicate the INSERT operation at the source. For more information about how these settings work together, see [Indicating Source DB Operations in Migrated S3 Data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps) in the *AWS Database Migration Service User Guide* .\n\n> AWS DMS supports the interaction described preceding between the `CdcInsertsOnly` and `IncludeOpForFullLoad` parameters in versions 3.1.4 and later.\n> \n> `CdcInsertsOnly` and `CdcInsertsAndUpdates` can't both be set to `true` for the same endpoint. Set either `CdcInsertsOnly` or `CdcInsertsAndUpdates` to `true` for the same endpoint, but not both.", + "title": "CdcInsertsOnly", + "type": "boolean" + }, + "CdcMaxBatchInterval": { + "markdownDescription": "Maximum length of the interval, defined in seconds, after which to output a file to Amazon S3.\n\nWhen `CdcMaxBatchInterval` and `CdcMinFileSize` are both specified, the file write is triggered by whichever parameter condition is met first within an AWS DMS CloudFormation template.\n\nThe default value is 60 seconds.", + "title": "CdcMaxBatchInterval", + "type": "number" + }, + "CdcMinFileSize": { + "markdownDescription": "Minimum file size, defined in kilobytes, to reach for a file output to Amazon S3.\n\nWhen `CdcMinFileSize` and `CdcMaxBatchInterval` are both specified, the file write is triggered by whichever parameter condition is met first within an AWS DMS CloudFormation template.\n\nThe default value is 32 MB.", + "title": "CdcMinFileSize", + "type": "number" + }, + "CdcPath": { + "markdownDescription": "Specifies the folder path of CDC files. For an S3 source, this setting is required if a task captures change data; otherwise, it's optional. If `CdcPath` is set, AWS DMS reads CDC files from this path and replicates the data changes to the target endpoint. For an S3 target if you set [`PreserveTransactions`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-PreserveTransactions) to `true` , AWS DMS verifies that you have set this parameter to a folder path on your S3 target where AWS DMS can save the transaction order for the CDC load. AWS DMS creates this CDC folder path in either your S3 target working directory or the S3 target location specified by [`BucketFolder`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-BucketFolder) and [`BucketName`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-BucketName) .\n\nFor example, if you specify `CdcPath` as `MyChangedData` , and you specify `BucketName` as `MyTargetBucket` but do not specify `BucketFolder` , AWS DMS creates the CDC folder path following: `MyTargetBucket/MyChangedData` .\n\nIf you specify the same `CdcPath` , and you specify `BucketName` as `MyTargetBucket` and `BucketFolder` as `MyTargetData` , AWS DMS creates the CDC folder path following: `MyTargetBucket/MyTargetData/MyChangedData` .\n\nFor more information on CDC including transaction order on an S3 target, see [Capturing data changes (CDC) including transaction order on the S3 target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.EndpointSettings.CdcPath) .\n\n> This setting is supported in AWS DMS versions 3.4.2 and later.", + "title": "CdcPath", + "type": "string" + }, + "CompressionType": { + "markdownDescription": "An optional parameter. When set to GZIP it enables the service to compress the target files. To allow the service to write the target files uncompressed, either set this parameter to NONE (the default) or don't specify the parameter at all. This parameter applies to both .csv and .parquet file formats.", + "title": "CompressionType", + "type": "string" + }, + "CsvDelimiter": { + "markdownDescription": "The delimiter used to separate columns in the .csv file for both source and target. The default is a comma.", + "title": "CsvDelimiter", + "type": "string" + }, + "CsvNoSupValue": { + "markdownDescription": "This setting only applies if your Amazon S3 output files during a change data capture (CDC) load are written in .csv format. If [`UseCsvNoSupValue`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-UseCsvNoSupValue) is set to true, specify a string value that you want AWS DMS to use for all columns not included in the supplemental log. If you do not specify a string value, AWS DMS uses the null value for these columns regardless of the `UseCsvNoSupValue` setting.\n\n> This setting is supported in AWS DMS versions 3.4.1 and later.", + "title": "CsvNoSupValue", + "type": "string" + }, + "CsvNullValue": { + "markdownDescription": "An optional parameter that specifies how AWS DMS treats null values. While handling the null value, you can use this parameter to pass a user-defined string as null when writing to the target. For example, when target columns are not nullable, you can use this option to differentiate between the empty string value and the null value. So, if you set this parameter value to the empty string (\"\" or ''), AWS DMS treats the empty string as the null value instead of `NULL` .\n\nThe default value is `NULL` . Valid values include any valid string.", + "title": "CsvNullValue", + "type": "string" + }, + "CsvRowDelimiter": { + "markdownDescription": "The delimiter used to separate rows in the .csv file for both source and target.\n\nThe default is a carriage return ( `\\n` ).", + "title": "CsvRowDelimiter", + "type": "string" + }, + "DataFormat": { + "markdownDescription": "The format of the data that you want to use for output. You can choose one of the following:\n\n- `csv` : This is a row-based file format with comma-separated values (.csv).\n- `parquet` : Apache Parquet (.parquet) is a columnar storage file format that features efficient compression and provides faster query response.", + "title": "DataFormat", + "type": "string" + }, + "DataPageSize": { + "markdownDescription": "The size of one data page in bytes. This parameter defaults to 1024 * 1024 bytes (1 MiB). This number is used for .parquet file format only.", + "title": "DataPageSize", + "type": "number" + }, + "DatePartitionDelimiter": { + "markdownDescription": "Specifies a date separating delimiter to use during folder partitioning. The default value is `SLASH` . Use this parameter when `DatePartitionedEnabled` is set to `true` .", + "title": "DatePartitionDelimiter", + "type": "string" + }, + "DatePartitionEnabled": { + "markdownDescription": "When set to `true` , this parameter partitions S3 bucket folders based on transaction commit dates. The default value is `false` . For more information about date-based folder partitioning, see [Using date-based folder partitioning](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.DatePartitioning) .", + "title": "DatePartitionEnabled", + "type": "boolean" + }, + "DatePartitionSequence": { + "markdownDescription": "Identifies the sequence of the date format to use during folder partitioning. The default value is `YYYYMMDD` . Use this parameter when `DatePartitionedEnabled` is set to `true` .", + "title": "DatePartitionSequence", + "type": "string" + }, + "DatePartitionTimezone": { + "markdownDescription": "When creating an S3 target endpoint, set `DatePartitionTimezone` to convert the current UTC time into a specified time zone. The conversion occurs when a date partition folder is created and a change data capture (CDC) file name is generated. The time zone format is Area/Location. Use this parameter when `DatePartitionedEnabled` is set to `true` , as shown in the following example.\n\n`s3-settings='{\"DatePartitionEnabled\": true, \"DatePartitionSequence\": \"YYYYMMDDHH\", \"DatePartitionDelimiter\": \"SLASH\", \"DatePartitionTimezone\":\" *Asia/Seoul* \", \"BucketName\": \"dms-nattarat-test\"}'`", + "title": "DatePartitionTimezone", + "type": "string" + }, + "DictPageSizeLimit": { + "markdownDescription": "The maximum size of an encoded dictionary page of a column. If the dictionary page exceeds this, this column is stored using an encoding type of `PLAIN` . This parameter defaults to 1024 * 1024 bytes (1 MiB), the maximum size of a dictionary page before it reverts to `PLAIN` encoding. This size is used for .parquet file format only.", + "title": "DictPageSizeLimit", + "type": "number" + }, + "EnableStatistics": { + "markdownDescription": "A value that enables statistics for Parquet pages and row groups. Choose `true` to enable statistics, `false` to disable. Statistics include `NULL` , `DISTINCT` , `MAX` , and `MIN` values. This parameter defaults to `true` . This value is used for .parquet file format only.", + "title": "EnableStatistics", + "type": "boolean" + }, + "EncodingType": { + "markdownDescription": "The type of encoding that you're using:\n\n- `RLE_DICTIONARY` uses a combination of bit-packing and run-length encoding to store repeated values more efficiently. This is the default.\n- `PLAIN` doesn't use encoding at all. Values are stored as they are.\n- `PLAIN_DICTIONARY` builds a dictionary of the values encountered in a given column. The dictionary is stored in a dictionary page for each column chunk.", + "title": "EncodingType", + "type": "string" + }, + "EncryptionMode": { + "markdownDescription": "The type of server-side encryption that you want to use for your data. This encryption type is part of the endpoint settings or the extra connections attributes for Amazon S3. You can choose either `SSE_S3` (the default) or `SSE_KMS` .\n\n> For the `ModifyEndpoint` operation, you can change the existing value of the `EncryptionMode` parameter from `SSE_KMS` to `SSE_S3` . But you can\u2019t change the existing value from `SSE_S3` to `SSE_KMS` . \n\nTo use `SSE_S3` , you need an IAM role with permission to allow `\"arn:aws:s3:::dms-*\"` to use the following actions:\n\n- `s3:CreateBucket`\n- `s3:ListBucket`\n- `s3:DeleteBucket`\n- `s3:GetBucketLocation`\n- `s3:GetObject`\n- `s3:PutObject`\n- `s3:DeleteObject`\n- `s3:GetObjectVersion`\n- `s3:GetBucketPolicy`\n- `s3:PutBucketPolicy`\n- `s3:DeleteBucketPolicy`", + "title": "EncryptionMode", + "type": "string" + }, + "ExpectedBucketOwner": { + "markdownDescription": "To specify a bucket owner and prevent sniping, you can use the `ExpectedBucketOwner` endpoint setting.\n\nExample: `--s3-settings='{\"ExpectedBucketOwner\": \" *AWS_Account_ID* \"}'`\n\nWhen you make a request to test a connection or perform a migration, S3 checks the account ID of the bucket owner against the specified parameter.", + "title": "ExpectedBucketOwner", + "type": "string" + }, + "ExternalTableDefinition": { + "markdownDescription": "The external table definition.\n\nConditional: If `S3` is used as a source then `ExternalTableDefinition` is required.", + "title": "ExternalTableDefinition", + "type": "string" + }, + "GlueCatalogGeneration": { + "markdownDescription": "When true, allows AWS Glue to catalog your S3 bucket. Creating an AWS Glue catalog lets you use Athena to query your data.", + "title": "GlueCatalogGeneration", + "type": "boolean" + }, + "IgnoreHeaderRows": { + "markdownDescription": "When this value is set to 1, AWS DMS ignores the first row header in a .csv file. A value of 1 turns on the feature; a value of 0 turns off the feature.\n\nThe default is 0.", + "title": "IgnoreHeaderRows", + "type": "number" + }, + "IncludeOpForFullLoad": { + "markdownDescription": "A value that enables a full load to write INSERT operations to the comma-separated value (.csv) output files only to indicate how the rows were added to the source database.\n\n> AWS DMS supports the `IncludeOpForFullLoad` parameter in versions 3.1.4 and later. \n\nFor full load, records can only be inserted. By default (the `false` setting), no information is recorded in these output files for a full load to indicate that the rows were inserted at the source database. If `IncludeOpForFullLoad` is set to `true` or `y` , the INSERT is recorded as an I annotation in the first field of the .csv file. This allows the format of your target records from a full load to be consistent with the target records from a CDC load.\n\n> This setting works together with the `CdcInsertsOnly` and the `CdcInsertsAndUpdates` parameters for output to .csv files only. For more information about how these settings work together, see [Indicating Source DB Operations in Migrated S3 Data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps) in the *AWS Database Migration Service User Guide* .", + "title": "IncludeOpForFullLoad", + "type": "boolean" + }, + "MaxFileSize": { + "markdownDescription": "A value that specifies the maximum size (in KB) of any .csv file to be created while migrating to an S3 target during full load.\n\nThe default value is 1,048,576 KB (1 GB). Valid values include 1 to 1,048,576.", + "title": "MaxFileSize", + "type": "number" + }, + "ParquetTimestampInMillisecond": { + "markdownDescription": "A value that specifies the precision of any `TIMESTAMP` column values that are written to an Amazon S3 object file in .parquet format.\n\n> AWS DMS supports the `ParquetTimestampInMillisecond` parameter in versions 3.1.4 and later. \n\nWhen `ParquetTimestampInMillisecond` is set to `true` or `y` , AWS DMS writes all `TIMESTAMP` columns in a .parquet formatted file with millisecond precision. Otherwise, DMS writes them with microsecond precision.\n\nCurrently, Amazon Athena and AWS Glue can handle only millisecond precision for `TIMESTAMP` values. Set this parameter to `true` for S3 endpoint object files that are .parquet formatted only if you plan to query or process the data with Athena or AWS Glue .\n\n> AWS DMS writes any `TIMESTAMP` column values written to an S3 file in .csv format with microsecond precision.\n> \n> Setting `ParquetTimestampInMillisecond` has no effect on the string format of the timestamp column value that is inserted by setting the `TimestampColumnName` parameter.", + "title": "ParquetTimestampInMillisecond", + "type": "boolean" + }, + "ParquetVersion": { + "markdownDescription": "The version of the Apache Parquet format that you want to use: `parquet_1_0` (the default) or `parquet_2_0` .", + "title": "ParquetVersion", + "type": "string" + }, + "PreserveTransactions": { + "markdownDescription": "If this setting is set to `true` , AWS DMS saves the transaction order for a change data capture (CDC) load on the Amazon S3 target specified by [`CdcPath`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-CdcPath) . For more information, see [Capturing data changes (CDC) including transaction order on the S3 target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.EndpointSettings.CdcPath) .\n\n> This setting is supported in AWS DMS versions 3.4.2 and later.", + "title": "PreserveTransactions", + "type": "boolean" + }, + "Rfc4180": { + "markdownDescription": "For an S3 source, when this value is set to `true` or `y` , each leading double quotation mark has to be followed by an ending double quotation mark. This formatting complies with RFC 4180. When this value is set to `false` or `n` , string literals are copied to the target as is. In this case, a delimiter (row or column) signals the end of the field. Thus, you can't use a delimiter as part of the string, because it signals the end of the value.\n\nFor an S3 target, an optional parameter used to set behavior to comply with RFC 4180 for data migrated to Amazon S3 using .csv file format only. When this value is set to `true` or `y` using Amazon S3 as a target, if the data has quotation marks or newline characters in it, AWS DMS encloses the entire column with an additional pair of double quotation marks (\"). Every quotation mark within the data is repeated twice.\n\nThe default value is `true` . Valid values include `true` , `false` , `y` , and `n` .", + "title": "Rfc4180", + "type": "boolean" + }, + "RowGroupLength": { + "markdownDescription": "The number of rows in a row group. A smaller row group size provides faster reads. But as the number of row groups grows, the slower writes become. This parameter defaults to 10,000 rows. This number is used for .parquet file format only.\n\nIf you choose a value larger than the maximum, `RowGroupLength` is set to the max row group length in bytes (64 * 1024 * 1024).", + "title": "RowGroupLength", + "type": "number" + }, + "ServerSideEncryptionKmsKeyId": { + "markdownDescription": "If you are using `SSE_KMS` for the `EncryptionMode` , provide the AWS key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of the key.\n\nHere is a CLI example: `aws dms create-endpoint --endpoint-identifier *value* --endpoint-type target --engine-name s3 --s3-settings ServiceAccessRoleArn= *value* ,BucketFolder= *value* ,BucketName= *value* ,EncryptionMode=SSE_KMS,ServerSideEncryptionKmsKeyId= *value*`", + "title": "ServerSideEncryptionKmsKeyId", + "type": "string" + }, + "ServiceAccessRoleArn": { + "markdownDescription": "A required parameter that specifies the Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the `iam:PassRole` action. It enables AWS DMS to read and write objects from an S3 bucket.", + "title": "ServiceAccessRoleArn", + "type": "string" + }, + "TimestampColumnName": { + "markdownDescription": "A value that when nonblank causes AWS DMS to add a column with timestamp information to the endpoint data for an Amazon S3 target.\n\n> AWS DMS supports the `TimestampColumnName` parameter in versions 3.1.4 and later. \n\nAWS DMS includes an additional `STRING` column in the .csv or .parquet object files of your migrated data when you set `TimestampColumnName` to a nonblank value.\n\nFor a full load, each row of this timestamp column contains a timestamp for when the data was transferred from the source to the target by DMS.\n\nFor a change data capture (CDC) load, each row of the timestamp column contains the timestamp for the commit of that row in the source database.\n\nThe string format for this timestamp column value is `yyyy-MM-dd HH:mm:ss.SSSSSS` . By default, the precision of this value is in microseconds. For a CDC load, the rounding of the precision depends on the commit timestamp supported by DMS for the source database.\n\nWhen the `AddColumnName` parameter is set to `true` , DMS also includes a name for the timestamp column that you set with `TimestampColumnName` .", + "title": "TimestampColumnName", + "type": "string" + }, + "UseCsvNoSupValue": { + "markdownDescription": "This setting applies if the S3 output files during a change data capture (CDC) load are written in .csv format. If this setting is set to `true` for columns not included in the supplemental log, AWS DMS uses the value specified by [`CsvNoSupValue`](https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-CsvNoSupValue) . If this setting isn't set or is set to `false` , AWS DMS uses the null value for these columns.\n\n> This setting is supported in AWS DMS versions 3.4.1 and later.", + "title": "UseCsvNoSupValue", + "type": "boolean" + }, + "UseTaskStartTimeForFullLoadTimestamp": { + "markdownDescription": "When set to true, this parameter uses the task start time as the timestamp column value instead of the time data is written to target. For full load, when `useTaskStartTimeForFullLoadTimestamp` is set to `true` , each row of the timestamp column contains the task start time. For CDC loads, each row of the timestamp column contains the transaction commit time.\n\nWhen `useTaskStartTimeForFullLoadTimestamp` is set to `false` , the full load timestamp in the timestamp column increments with the time data arrives at the target.", + "title": "UseTaskStartTimeForFullLoadTimestamp", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.SybaseSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` . The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the SAP ASE endpoint.\n\n> You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.\n> \n> For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .", + "title": "SecretsManagerAccessRoleArn", + "type": "string" + }, + "SecretsManagerSecretId": { + "markdownDescription": "The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the SAP SAE endpoint connection details.", + "title": "SecretsManagerSecretId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::EventSubscription": { "additionalProperties": false, "properties": { "Condition": { @@ -106876,43 +106602,59 @@ "Properties": { "additionalProperties": false, "properties": { - "S3BucketArn": { - "markdownDescription": "The ARN of the Amazon S3 bucket.", - "title": "S3BucketArn", + "Enabled": { + "markdownDescription": "Indicates whether to activate the subscription. If you don't specify this property, CloudFormation activates the subscription.", + "title": "Enabled", + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of event categories for a source type that you want to subscribe to. If you don't specify this property, you are notified about all event categories. For more information, see [Working with Events and Notifications](https://docs.aws.amazon.com//dms/latest/userguide/CHAP_Events.html) in the *AWS DMS User Guide* .", + "title": "EventCategories", + "type": "array" + }, + "SnsTopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.", + "title": "SnsTopicArn", "type": "string" }, - "S3Config": { - "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config", - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that is used to access an Amazon S3 bucket.\n\nFor detailed information about using such a role, see [Creating a Location for Amazon S3](https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html#create-s3-location) in the *AWS DataSync User Guide* .", - "title": "S3Config" + "SourceIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of identifiers for which AWS DMS provides notification events.\n\nIf you don't specify a value, notifications are provided for all sources.\n\nIf you specify multiple values, they must be of the same type. For example, if you specify a database instance ID, then all of the other values must be database instance IDs.", + "title": "SourceIds", + "type": "array" }, - "S3StorageClass": { - "markdownDescription": "The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. For buckets in AWS Regions , the storage class defaults to S3 Standard.\n\nFor more information about S3 storage classes, see [Amazon S3 Storage Classes](https://docs.aws.amazon.com/s3/storage-classes/) . Some storage classes have behaviors that can affect your S3 storage costs. For detailed information, see [Considerations When Working with Amazon S3 Storage Classes in DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) .", - "title": "S3StorageClass", + "SourceType": { + "markdownDescription": "The type of AWS DMS resource that generates the events. For example, if you want to be notified of events generated by a replication instance, you set this parameter to `replication-instance` . If this value isn't specified, all events are returned.\n\n*Valid values* : `replication-instance` | `replication-task`", + "title": "SourceType", "type": "string" }, - "Subdirectory": { - "markdownDescription": "Specifies a prefix in the S3 bucket that DataSync reads from or writes to (depending on whether the bucket is a source or destination location).\n\n> DataSync can't transfer objects with a prefix that begins with a slash ( `/` ) or includes `//` , `/./` , or `/../` patterns. For example:\n> \n> - `/photos`\n> - `photos//2006/January`\n> - `photos/./2006/February`\n> - `photos/../2006/March`", - "title": "Subdirectory", + "SubscriptionName": { + "markdownDescription": "The name of the AWS DMS event notification subscription. This name must be less than 255 characters.", + "title": "SubscriptionName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your transfer location.", + "markdownDescription": "One or more tags to be assigned to the event subscription.", "title": "Tags", "type": "array" } }, "required": [ - "S3Config" + "SnsTopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataSync::LocationS3" + "AWS::DMS::EventSubscription" ], "type": "string" }, @@ -106931,21 +106673,7 @@ ], "type": "object" }, - "AWS::DataSync::LocationS3.S3Config": { - "additionalProperties": false, - "properties": { - "BucketAccessRoleArn": { - "markdownDescription": "Specifies the ARN of the IAM role that DataSync uses to access your S3 bucket.", - "title": "BucketAccessRoleArn", - "type": "string" - } - }, - "required": [ - "BucketAccessRoleArn" - ], - "type": "object" - }, - "AWS::DataSync::LocationSMB": { + "AWS::DMS::InstanceProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -106980,99 +106708,68 @@ "Properties": { "additionalProperties": false, "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the DataSync agent (or agents) that can connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).", - "title": "AgentArns", - "type": "array" - }, - "AuthenticationType": { - "markdownDescription": "", - "title": "AuthenticationType", + "AvailabilityZone": { + "markdownDescription": "The Availability Zone where the instance profile runs.", + "title": "AvailabilityZone", "type": "string" }, - "CmkSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationSMB.CmkSecretConfig", - "markdownDescription": "Specifies configuration information for a DataSync-managed secret, such as an authentication token, secret key, password, or Kerberos keytab that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .\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": "CmkSecretConfig" - }, - "CustomSecretConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationSMB.CustomSecretConfig", - "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" - }, - "DnsIpAddresses": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "DnsIpAddresses", - "type": "array" - }, - "Domain": { - "markdownDescription": "Specifies the Windows domain name that your SMB file server belongs to. This parameter applies only if `AuthenticationType` is set to `NTLM` .\n\nIf you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.", - "title": "Domain", + "Description": { + "markdownDescription": "A description of the instance profile. Descriptions can have up to 31 characters. A description can contain only ASCII letters, digits, and hyphens ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter.", + "title": "Description", "type": "string" }, - "KerberosKeytab": { - "markdownDescription": "", - "title": "KerberosKeytab", + "InstanceProfileIdentifier": { + "markdownDescription": "The identifier of the instance profile. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", + "title": "InstanceProfileIdentifier", "type": "string" }, - "KerberosKrb5Conf": { - "markdownDescription": "", - "title": "KerberosKrb5Conf", + "InstanceProfileName": { + "markdownDescription": "The user-friendly name for the instance profile.", + "title": "InstanceProfileName", "type": "string" }, - "KerberosPrincipal": { - "markdownDescription": "", - "title": "KerberosPrincipal", + "KmsKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS key that is used to encrypt the connection parameters for the instance profile.\n\nIf you don't specify a value for the `KmsKeyArn` parameter, then AWS DMS uses an AWS owned encryption key to encrypt your resources.", + "title": "KmsKeyArn", "type": "string" }, - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions", - "markdownDescription": "Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.", - "title": "MountOptions" - }, - "Password": { - "markdownDescription": "Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer. This parameter applies only if `AuthenticationType` is set to `NTLM` .", - "title": "Password", + "NetworkType": { + "markdownDescription": "Specifies the network type for the instance profile. A value of `IPV4` represents an instance profile with IPv4 network type and only supports IPv4 addressing. A value of `IPV6` represents an instance profile with IPv6 network type and only supports IPv6 addressing. A value of `DUAL` represents an instance profile with dual network type that supports IPv4 and IPv6 addressing.", + "title": "NetworkType", "type": "string" }, - "ServerHostname": { - "markdownDescription": "Specifies the domain name or IP address (IPv4 or IPv6) of the SMB file server that your DataSync agent connects to.\n\n> If you're using Kerberos authentication, you must specify a domain name.", - "title": "ServerHostname", - "type": "string" + "PubliclyAccessible": { + "markdownDescription": "Specifies the accessibility options for the instance profile. A value of `true` represents an instance profile with a public IP address. A value of `false` represents an instance profile with a private IP address. The default value is `true` .", + "title": "PubliclyAccessible", + "type": "boolean" }, - "Subdirectory": { - "markdownDescription": "Specifies the name of the share exported by your SMB file server where DataSync will read or write data. You can include a subdirectory in the share path (for example, `/path/to/subdirectory` ). Make sure that other SMB clients in your network can also mount this path.\n\nTo copy all data in the subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see [Providing DataSync access to SMB file servers](https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) .", - "title": "Subdirectory", + "SubnetGroupIdentifier": { + "markdownDescription": "The identifier of the subnet group that is associated with the instance profile.", + "title": "SubnetGroupIdentifier", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", + "markdownDescription": "", "title": "Tags", "type": "array" }, - "User": { - "markdownDescription": "Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server. This parameter applies only if `AuthenticationType` is set to `NTLM` .\n\nFor information about choosing a user with the right level of access for your transfer, see [Providing DataSync access to SMB file servers](https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) .", - "title": "User", - "type": "string" + "VpcSecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "The VPC security groups that are used with the instance profile. The VPC security group must work with the VPC containing the instance profile.", + "title": "VpcSecurityGroups", + "type": "array" } }, - "required": [ - "AgentArns" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DataSync::LocationSMB" + "AWS::DMS::InstanceProfile" ], "type": "string" }, @@ -107086,73 +106783,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationSMB.CmkSecretConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "markdownDescription": "Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for `SecretArn` . DataSync provides this key to AWS Secrets Manager .", - "title": "KmsKeyArn", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for `KmsKeyArn` .", - "title": "SecretArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationSMB.CustomSecretConfig": { - "additionalProperties": false, - "properties": { - "SecretAccessRoleArn": { - "markdownDescription": "Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` .", - "title": "SecretAccessRoleArn", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", - "title": "SecretArn", - "type": "string" - } - }, - "required": [ - "SecretAccessRoleArn", - "SecretArn" - ], - "type": "object" - }, - "AWS::DataSync::LocationSMB.ManagedSecretConfig": { - "additionalProperties": false, - "properties": { - "SecretArn": { - "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", - "title": "SecretArn", - "type": "string" - } - }, - "required": [ - "SecretArn" + "Type" ], "type": "object" }, - "AWS::DataSync::LocationSMB.MountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "markdownDescription": "By default, DataSync automatically chooses an SMB protocol version based on negotiation with your SMB file server. You also can configure DataSync to use a specific SMB version, but we recommend doing this only if DataSync has trouble negotiating with the SMB file server automatically.\n\nThese are the following options for configuring the SMB version:\n\n- `AUTOMATIC` (default): DataSync and the SMB file server negotiate the highest version of SMB that they mutually support between 2.1 and 3.1.1.\n\nThis is the recommended option. If you instead choose a specific version that your file server doesn't support, you may get an `Operation Not Supported` error.\n- `SMB3` : Restricts the protocol negotiation to only SMB version 3.0.2.\n- `SMB2` : Restricts the protocol negotiation to only SMB version 2.1.\n- `SMB2_0` : Restricts the protocol negotiation to only SMB version 2.0.\n- `SMB1` : Restricts the protocol negotiation to only SMB version 1.0.\n\n> The `SMB1` option isn't available when [creating an Amazon FSx for NetApp ONTAP location](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateLocationFsxOntap.html) .", - "title": "Version", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task": { + "AWS::DMS::MigrationProject": { "additionalProperties": false, "properties": { "Condition": { @@ -107187,85 +106822,76 @@ "Properties": { "additionalProperties": false, "properties": { - "CloudWatchLogGroupArn": { - "markdownDescription": "Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.\n\nFor Enhanced mode tasks, you don't need to specify anything. DataSync automatically sends logs to a CloudWatch log group named `/aws/datasync` .\n\nFor more information, see [Monitoring data transfers with CloudWatch Logs](https://docs.aws.amazon.com/datasync/latest/userguide/configure-logging.html) .", - "title": "CloudWatchLogGroupArn", + "Description": { + "markdownDescription": "A user-friendly description of the migration project.", + "title": "Description", "type": "string" }, - "DestinationLocationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS storage resource's location.", - "title": "DestinationLocationArn", + "InstanceProfileArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile for your migration project.", + "title": "InstanceProfileArn", "type": "string" }, - "Excludes": { - "items": { - "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" - }, - "markdownDescription": "Specifies exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see [Specifying what DataSync transfers by using filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .", - "title": "Excludes", - "type": "array" - }, - "Includes": { - "items": { - "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" - }, - "markdownDescription": "Specifies include filters that define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see [Specifying what DataSync transfers by using filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .", - "title": "Includes", - "type": "array" + "InstanceProfileIdentifier": { + "markdownDescription": "The identifier of the instance profile for your migration project.", + "title": "InstanceProfileIdentifier", + "type": "string" }, - "ManifestConfig": { - "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfig", - "markdownDescription": "The configuration of the manifest that lists the files or objects that you want DataSync to transfer. For more information, see [Specifying what DataSync transfers by using a manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html) .", - "title": "ManifestConfig" + "InstanceProfileName": { + "markdownDescription": "The name of the associated instance profile.", + "title": "InstanceProfileName", + "type": "string" }, - "Name": { - "markdownDescription": "Specifies the name of your task.", - "title": "Name", + "MigrationProjectIdentifier": { + "markdownDescription": "The identifier of the migration project. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.", + "title": "MigrationProjectIdentifier", "type": "string" }, - "Options": { - "$ref": "#/definitions/AWS::DataSync::Task.Options", - "markdownDescription": "Specifies your task's settings, such as preserving file metadata, verifying data integrity, among other options.", - "title": "Options" + "MigrationProjectName": { + "markdownDescription": "The name of the migration project.", + "title": "MigrationProjectName", + "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule", - "markdownDescription": "Specifies a schedule for when you want your task to run. For more information, see [Scheduling your task](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) .", - "title": "Schedule" + "SchemaConversionApplicationAttributes": { + "$ref": "#/definitions/AWS::DMS::MigrationProject.SchemaConversionApplicationAttributes", + "markdownDescription": "The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN.", + "title": "SchemaConversionApplicationAttributes" }, - "SourceLocationArn": { - "markdownDescription": "Specifies the ARN of your transfer's source location.", - "title": "SourceLocationArn", - "type": "string" + "SourceDataProviderDescriptors": { + "items": { + "$ref": "#/definitions/AWS::DMS::MigrationProject.DataProviderDescriptor" + }, + "markdownDescription": "Information about the source data provider, including the name or ARN, and AWS Secrets Manager parameters.", + "title": "SourceDataProviderDescriptors", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies the tags that you want to apply to your task.\n\n*Tags* are key-value pairs that help you manage, filter, and search for your DataSync resources.", + "markdownDescription": "", "title": "Tags", "type": "array" }, - "TaskMode": { - "markdownDescription": "The task mode that you're using. For more information, see [Choosing a task mode for your data transfer](https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html) .", - "title": "TaskMode", - "type": "string" + "TargetDataProviderDescriptors": { + "items": { + "$ref": "#/definitions/AWS::DMS::MigrationProject.DataProviderDescriptor" + }, + "markdownDescription": "Information about the target data provider, including the name or ARN, and AWS Secrets Manager parameters.", + "title": "TargetDataProviderDescriptors", + "type": "array" }, - "TaskReportConfig": { - "$ref": "#/definitions/AWS::DataSync::Task.TaskReportConfig", - "markdownDescription": "The configuration of your task report, which provides detailed information about your DataSync transfer. For more information, see [Monitoring your DataSync transfers with task reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .", - "title": "TaskReportConfig" + "TransformationRules": { + "markdownDescription": "The settings in JSON format for migration rules. Migration rules make it possible for you to change the object names according to the rules that you specify. For example, you can change an object name to lowercase or uppercase, add or remove a prefix or suffix, or rename objects.", + "title": "TransformationRules", + "type": "string" } }, - "required": [ - "DestinationLocationArn", - "SourceLocationArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DataSync::Task" + "AWS::DMS::MigrationProject" ], "type": "string" }, @@ -107279,323 +106905,235 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::DataSync::Task.Deleted": { + "AWS::DMS::MigrationProject.DataProviderDescriptor": { "additionalProperties": false, "properties": { - "ReportLevel": { - "markdownDescription": "", - "title": "ReportLevel", + "DataProviderArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the data provider.", + "title": "DataProviderArn", "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.Destination": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::DataSync::Task.TaskReportConfigDestinationS3", + }, + "DataProviderIdentifier": { "markdownDescription": "", - "title": "S3" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.FilterRule": { - "additionalProperties": false, - "properties": { - "FilterType": { - "markdownDescription": "The type of filter rule to apply. AWS DataSync only supports the SIMPLE_PATTERN rule type.", - "title": "FilterType", + "title": "DataProviderIdentifier", "type": "string" }, - "Value": { - "markdownDescription": "A single filter string that consists of the patterns to include or exclude. The patterns are delimited by \"|\" (that is, a pipe), for example: `/folder1|/folder2`", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.ManifestConfig": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "Specifies what DataSync uses the manifest for.", - "title": "Action", + "DataProviderName": { + "markdownDescription": "The user-friendly name of the data provider.", + "title": "DataProviderName", "type": "string" }, - "Format": { - "markdownDescription": "Specifies the file format of your manifest. For more information, see [Creating a manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html#transferring-with-manifest-create) .", - "title": "Format", + "SecretsManagerAccessRoleArn": { + "markdownDescription": "The ARN of the role used to access AWS Secrets Manager.", + "title": "SecretsManagerAccessRoleArn", "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::DataSync::Task.Source", - "markdownDescription": "Specifies the manifest that you want DataSync to use and where it's hosted.\n\n> You must specify this parameter if you're configuring a new manifest on or after February 7, 2024.\n> \n> If you don't, you'll get a 400 status code and `ValidationException` error stating that you're missing the IAM role for DataSync to access the S3 bucket where you're hosting your manifest. For more information, see [Providing DataSync access to your manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html#transferring-with-manifest-access) .", - "title": "Source" + "SecretsManagerSecretId": { + "markdownDescription": "The identifier of the AWS Secrets Manager Secret used to store access credentials for the data provider.", + "title": "SecretsManagerSecretId", + "type": "string" } }, - "required": [ - "Source" - ], "type": "object" }, - "AWS::DataSync::Task.ManifestConfigSourceS3": { + "AWS::DMS::MigrationProject.SchemaConversionApplicationAttributes": { "additionalProperties": false, "properties": { - "BucketAccessRoleArn": { - "markdownDescription": "", - "title": "BucketAccessRoleArn", - "type": "string" - }, - "ManifestObjectPath": { - "markdownDescription": "", - "title": "ManifestObjectPath", - "type": "string" - }, - "ManifestObjectVersionId": { + "S3BucketPath": { "markdownDescription": "", - "title": "ManifestObjectVersionId", + "title": "S3BucketPath", "type": "string" }, - "S3BucketArn": { + "S3BucketRoleArn": { "markdownDescription": "", - "title": "S3BucketArn", + "title": "S3BucketRoleArn", "type": "string" } }, "type": "object" }, - "AWS::DataSync::Task.Options": { + "AWS::DMS::ReplicationConfig": { "additionalProperties": false, "properties": { - "Atime": { - "markdownDescription": "A file metadata value that shows the last time that a file was accessed (that is, when the file was read or written to). If you set `Atime` to `BEST_EFFORT` , AWS DataSync attempts to preserve the original `Atime` attribute on all source files (that is, the version before the PREPARING phase). However, `Atime` 's behavior is not fully standard across platforms, so AWS DataSync can only do this on a best-effort basis.\n\nDefault value: `BEST_EFFORT`\n\n`BEST_EFFORT` : Attempt to preserve the per-file `Atime` value (recommended).\n\n`NONE` : Ignore `Atime` .\n\n> If `Atime` is set to `BEST_EFFORT` , `Mtime` must be set to `PRESERVE` .\n> \n> If `Atime` is set to `NONE` , `Mtime` must also be `NONE` .", - "title": "Atime", - "type": "string" - }, - "BytesPerSecond": { - "markdownDescription": "A value that limits the bandwidth used by AWS DataSync . For example, if you want AWS DataSync to use a maximum of 1 MB, set this value to `1048576` (=1024*1024).", - "title": "BytesPerSecond", - "type": "number" - }, - "Gid": { - "markdownDescription": "The group ID (GID) of the file's owners.\n\nDefault value: `INT_VALUE`\n\n`INT_VALUE` : Preserve the integer value of the user ID (UID) and group ID (GID) (recommended).\n\n`NAME` : Currently not supported.\n\n`NONE` : Ignore the UID and GID.", - "title": "Gid", - "type": "string" - }, - "LogLevel": { - "markdownDescription": "Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group. To specify the log group, see [CloudWatchLogGroupArn](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn) .\n\n- `BASIC` - Publishes logs with only basic information (such as transfer errors).\n- `TRANSFER` - Publishes logs for all files or objects that your DataSync task transfers and performs data-integrity checks on.\n- `OFF` - No logs are published.", - "title": "LogLevel", - "type": "string" - }, - "Mtime": { - "markdownDescription": "A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase. This option is required for cases when you need to run the same task more than one time.\n\nDefault value: `PRESERVE`\n\n`PRESERVE` : Preserve original `Mtime` (recommended)\n\n`NONE` : Ignore `Mtime` .\n\n> If `Mtime` is set to `PRESERVE` , `Atime` must be set to `BEST_EFFORT` .\n> \n> If `Mtime` is set to `NONE` , `Atime` must also be set to `NONE` .", - "title": "Mtime", - "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", - "type": "string" - }, - "OverwriteMode": { - "markdownDescription": "Specifies whether DataSync should modify or preserve data at the destination location.\n\n- `ALWAYS` (default) - DataSync modifies data in the destination location when source data (including metadata) has changed.\n\nIf DataSync overwrites objects, you might incur additional charges for certain Amazon S3 storage classes (for example, for retrieval or early deletion). For more information, see [Storage class considerations with Amazon S3 transfers](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) .\n- `NEVER` - DataSync doesn't overwrite data in the destination location even if the source data has changed. You can use this option to protect against overwriting changes made to files or objects in the destination.", - "title": "OverwriteMode", - "type": "string" - }, - "PosixPermissions": { - "markdownDescription": "A value that determines which users or groups can access a file for a specific purpose, such as reading, writing, or execution of the file. This option should be set only for Network File System (NFS), Amazon EFS, and Amazon S3 locations. For more information about what metadata is copied by DataSync, see [Metadata Copied by DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied) .\n\nDefault value: `PRESERVE`\n\n`PRESERVE` : Preserve POSIX-style permissions (recommended).\n\n`NONE` : Ignore permissions.\n\n> AWS DataSync can preserve extant permissions of a source location.", - "title": "PosixPermissions", - "type": "string" - }, - "PreserveDeletedFiles": { - "markdownDescription": "A value that specifies whether files in the destination that don't exist in the source file system are preserved. This option can affect your storage costs. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see [Considerations when working with Amazon S3 storage classes in DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) in the *AWS DataSync User Guide* .\n\nDefault value: `PRESERVE`\n\n`PRESERVE` : Ignore destination files that aren't present in the source (recommended).\n\n`REMOVE` : Delete destination files that aren't present in the source.", - "title": "PreserveDeletedFiles", + "Condition": { "type": "string" }, - "PreserveDevices": { - "markdownDescription": "A value that determines whether AWS DataSync should preserve the metadata of block and character devices in the source file system, and re-create the files with that device name and metadata on the destination. DataSync does not copy the contents of such devices, only the name and metadata.\n\n> AWS DataSync can't sync the actual contents of such devices, because they are nonterminal and don't return an end-of-file (EOF) marker. \n\nDefault value: `NONE`\n\n`NONE` : Ignore special devices (recommended).\n\n`PRESERVE` : Preserve character and block device metadata. This option isn't currently supported for Amazon EFS.", - "title": "PreserveDevices", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SecurityDescriptorCopyFlags": { - "markdownDescription": "A value that determines which components of the SMB security descriptor are copied from source to destination objects.\n\nThis value is only used for transfers between SMB and Amazon FSx for Windows File Server locations, or between two Amazon FSx for Windows File Server locations. For more information about how DataSync handles metadata, see [How DataSync Handles Metadata and Special Files](https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html) .\n\nDefault value: `OWNER_DACL`\n\n`OWNER_DACL` : For each copied object, DataSync copies the following metadata:\n\n- Object owner.\n- NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.\n\nWhen you use option, DataSync does NOT copy the NTFS system access control lists (SACLs), which are used by administrators to log attempts to access a secured object.\n\n`OWNER_DACL_SACL` : For each copied object, DataSync copies the following metadata:\n\n- Object owner.\n- NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.\n- NTFS system access control lists (SACLs), which are used by administrators to log attempts to access a secured object.\n\nCopying SACLs requires granting additional permissions to the Windows user that DataSync uses to access your SMB location. For information about choosing a user that ensures sufficient permissions to files, folders, and metadata, see [user](https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#SMBuser) .\n\n`NONE` : None of the SMB security descriptor components are copied. Destination objects are owned by the user that was provided for accessing the destination location. DACLs and SACLs are set based on the destination server\u2019s configuration.", - "title": "SecurityDescriptorCopyFlags", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TaskQueueing": { - "markdownDescription": "Specifies whether your transfer tasks should be put into a queue during certain scenarios when [running multiple tasks](https://docs.aws.amazon.com/datasync/latest/userguide/run-task.html#running-multiple-tasks) . This is `ENABLED` by default.", - "title": "TaskQueueing", - "type": "string" + "Metadata": { + "type": "object" }, - "TransferMode": { - "markdownDescription": "A value that determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing it to the destination location.\n\n`CHANGED` : DataSync copies only data or metadata that is new or different from the source location to the destination location.\n\n`ALL` : DataSync copies all source location content to the destination, without comparing it to existing content on the destination.", - "title": "TransferMode", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ComputeConfig": { + "$ref": "#/definitions/AWS::DMS::ReplicationConfig.ComputeConfig", + "markdownDescription": "Configuration parameters for provisioning an AWS DMS Serverless replication.", + "title": "ComputeConfig" + }, + "ReplicationConfigIdentifier": { + "markdownDescription": "A unique identifier that you want to use to create a `ReplicationConfigArn` that is returned as part of the output from this action. You can then pass this output `ReplicationConfigArn` as the value of the `ReplicationConfigArn` option for other actions to identify both AWS DMS Serverless replications and replication configurations that you want those actions to operate on. For some actions, you can also use either this unique identifier or a corresponding ARN in action filters to identify the specific replication and replication configuration to operate on.", + "title": "ReplicationConfigIdentifier", + "type": "string" + }, + "ReplicationSettings": { + "markdownDescription": "Optional JSON settings for AWS DMS Serverless replications that are provisioned using this replication configuration. For example, see [Change processing tuning settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html) .", + "title": "ReplicationSettings", + "type": "object" + }, + "ReplicationType": { + "markdownDescription": "The type of AWS DMS Serverless replication to provision using this replication configuration.\n\nPossible values:\n\n- `\"full-load\"`\n- `\"cdc\"`\n- `\"full-load-and-cdc\"`", + "title": "ReplicationType", + "type": "string" + }, + "ResourceIdentifier": { + "markdownDescription": "Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see [Fine-grained access control using resource names and tags](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.FineGrainedAccess) .", + "title": "ResourceIdentifier", + "type": "string" + }, + "SourceEndpointArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration.", + "title": "SourceEndpointArn", + "type": "string" + }, + "SupplementalSettings": { + "markdownDescription": "Optional JSON settings for specifying supplemental data. For more information, see [Specifying supplemental data for task settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html) .", + "title": "SupplementalSettings", + "type": "object" + }, + "TableMappings": { + "markdownDescription": "JSON table mappings for AWS DMS Serverless replications that are provisioned using this replication configuration. For more information, see [Specifying table selection and transformations rules using JSON](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.html) .", + "title": "TableMappings", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "One or more optional tags associated with resources used by the AWS DMS Serverless replication. For more information, see [Tagging resources in AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tagging.html) .", + "title": "Tags", + "type": "array" + }, + "TargetEndpointArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the target endpoint for this AWS DMS serverless replication configuration.", + "title": "TargetEndpointArn", + "type": "string" + } + }, + "required": [ + "ComputeConfig", + "ReplicationConfigIdentifier", + "ReplicationType", + "SourceEndpointArn", + "TableMappings", + "TargetEndpointArn" + ], + "type": "object" }, - "Uid": { - "markdownDescription": "The user ID (UID) of the file's owner.\n\nDefault value: `INT_VALUE`\n\n`INT_VALUE` : Preserve the integer value of the UID and group ID (GID) (recommended).\n\n`NAME` : Currently not supported\n\n`NONE` : Ignore the UID and GID.", - "title": "Uid", + "Type": { + "enum": [ + "AWS::DMS::ReplicationConfig" + ], "type": "string" }, - "VerifyMode": { - "markdownDescription": "A value that determines whether a data integrity verification is performed at the end of a task execution after all data and metadata have been transferred. For more information, see [Configure task settings](https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html) .\n\nDefault value: `POINT_IN_TIME_CONSISTENT`\n\n`ONLY_FILES_TRANSFERRED` (recommended): Perform verification only on files that were transferred.\n\n`POINT_IN_TIME_CONSISTENT` : Scan the entire source and entire destination at the end of the transfer to verify that the source and destination are fully synchronized. This option isn't supported when transferring to S3 Glacier or S3 Glacier Deep Archive storage classes.\n\n`NONE` : No additional verification is done at the end of the transfer, but all data transmissions are integrity-checked with checksum verification during the transfer.", - "title": "VerifyMode", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::DataSync::Task.Overrides": { - "additionalProperties": false, - "properties": { - "Deleted": { - "$ref": "#/definitions/AWS::DataSync::Task.Deleted", - "markdownDescription": "", - "title": "Deleted" - }, - "Skipped": { - "$ref": "#/definitions/AWS::DataSync::Task.Skipped", - "markdownDescription": "", - "title": "Skipped" - }, - "Transferred": { - "$ref": "#/definitions/AWS::DataSync::Task.Transferred", - "markdownDescription": "", - "title": "Transferred" - }, - "Verified": { - "$ref": "#/definitions/AWS::DataSync::Task.Verified", - "markdownDescription": "", - "title": "Verified" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.Skipped": { + "AWS::DMS::ReplicationConfig.ComputeConfig": { "additionalProperties": false, "properties": { - "ReportLevel": { - "markdownDescription": "", - "title": "ReportLevel", + "AvailabilityZone": { + "markdownDescription": "The Availability Zone where the AWS DMS Serverless replication using this configuration will run. The default value is a random, system-chosen Availability Zone in the configuration's AWS Region , for example, `\"us-west-2\"` . You can't set this parameter if the `MultiAZ` parameter is set to `true` .", + "title": "AvailabilityZone", "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.Source": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfigSourceS3", - "markdownDescription": "", - "title": "S3" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.TaskReportConfig": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::DataSync::Task.Destination", - "markdownDescription": "Specifies the Amazon S3 bucket where DataSync uploads your task report. For more information, see [Task reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html#task-report-access) .", - "title": "Destination" }, - "ObjectVersionIds": { - "markdownDescription": "Specifies whether your task report includes the new version of each object transferred into an S3 bucket. This only applies if you [enable versioning on your bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html) . Keep in mind that setting this to `INCLUDE` can increase the duration of your task execution.", - "title": "ObjectVersionIds", + "DnsNameServers": { + "markdownDescription": "A list of custom DNS name servers supported for the AWS DMS Serverless replication to access your source or target database. This list overrides the default name servers supported by the AWS DMS Serverless replication. You can specify a comma-separated list of internet addresses for up to four DNS name servers. For example: `\"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4\"`", + "title": "DnsNameServers", "type": "string" }, - "OutputType": { - "markdownDescription": "Specifies the type of task report that you want:\n\n- `SUMMARY_ONLY` : Provides necessary details about your task, including the number of files, objects, and directories transferred and transfer duration.\n- `STANDARD` : Provides complete details about your task, including a full list of files, objects, and directories that were transferred, skipped, verified, and more.", - "title": "OutputType", + "KmsKeyId": { + "markdownDescription": "An AWS Key Management Service ( AWS ) key Amazon Resource Name (ARN) that is used to encrypt the data during AWS DMS Serverless replication.\n\nIf you don't specify a value for the `KmsKeyId` parameter, AWS DMS uses your default encryption key.\n\nAWS creates the default encryption key for your Amazon Web Services account. Your AWS account has a different default encryption key for each AWS Region .", + "title": "KmsKeyId", "type": "string" }, - "Overrides": { - "$ref": "#/definitions/AWS::DataSync::Task.Overrides", - "markdownDescription": "Customizes the reporting level for aspects of your task report. For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that DataSync attempted to delete in your destination location.", - "title": "Overrides" + "MaxCapacityUnits": { + "markdownDescription": "Specifies the maximum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the maximum value that you can specify for AWS DMS Serverless is 384. The `MaxCapacityUnits` parameter is the only DCU parameter you are required to specify.", + "title": "MaxCapacityUnits", + "type": "number" }, - "ReportLevel": { - "markdownDescription": "Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.\n\n- `ERRORS_ONLY` : A report shows what DataSync was unable to transfer, skip, verify, and delete.\n- `SUCCESSES_AND_ERRORS` : A report shows what DataSync was able and unable to transfer, skip, verify, and delete.", - "title": "ReportLevel", - "type": "string" - } - }, - "required": [ - "Destination", - "OutputType" - ], - "type": "object" - }, - "AWS::DataSync::Task.TaskReportConfigDestinationS3": { - "additionalProperties": false, - "properties": { - "BucketAccessRoleArn": { - "markdownDescription": "", - "title": "BucketAccessRoleArn", - "type": "string" + "MinCapacityUnits": { + "markdownDescription": "Specifies the minimum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the minimum DCU value that you can specify for AWS DMS Serverless is 1. If you don't set this value, AWS DMS sets this parameter to the minimum DCU value allowed, 1. If there is no current source activity, AWS DMS scales down your replication until it reaches the value specified in `MinCapacityUnits` .", + "title": "MinCapacityUnits", + "type": "number" }, - "S3BucketArn": { - "markdownDescription": "", - "title": "S3BucketArn", - "type": "string" + "MultiAZ": { + "markdownDescription": "Specifies whether the AWS DMS Serverless replication is a Multi-AZ deployment. You can't set the `AvailabilityZone` parameter if the `MultiAZ` parameter is set to `true` .", + "title": "MultiAZ", + "type": "boolean" }, - "Subdirectory": { - "markdownDescription": "", - "title": "Subdirectory", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.TaskSchedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "markdownDescription": "Specifies your task schedule by using a cron or rate expression.\n\nUse cron expressions for task schedules that run on a specific time and day. For example, the following cron expression creates a task schedule that runs at 8 AM on the first Wednesday of every month:\n\n`cron(0 8 * * 3#1)`\n\nUse rate expressions for task schedules that run on a regular interval. For example, the following rate expression creates a task schedule that runs every 12 hours:\n\n`rate(12 hours)`\n\nFor information about cron and rate expression syntax, see the [*Amazon EventBridge User Guide*](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html) .", - "title": "ScheduleExpression", + "PreferredMaintenanceWindow": { + "markdownDescription": "The weekly time range during which system maintenance can occur for the AWS DMS Serverless replication, in Universal Coordinated Time (UTC). The format is `ddd:hh24:mi-ddd:hh24:mi` .\n\nThe default is a 30-minute window selected at random from an 8-hour block of time per AWS Region . This maintenance occurs on a random day of the week. Valid values for days of the week include `Mon` , `Tue` , `Wed` , `Thu` , `Fri` , `Sat` , and `Sun` .\n\nConstraints include a minimum 30-minute window.", + "title": "PreferredMaintenanceWindow", "type": "string" }, - "Status": { - "markdownDescription": "Specifies whether to enable or disable your task schedule. Your schedule is enabled by default, but there can be situations where you need to disable it. For example, you might need to pause a recurring transfer to fix an issue with your task or perform maintenance on your storage system.\n\nDataSync might disable your schedule automatically if your task fails repeatedly with the same error. For more information, see [TaskScheduleDetails](https://docs.aws.amazon.com/datasync/latest/userguide/API_TaskScheduleDetails.html) .", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.Transferred": { - "additionalProperties": false, - "properties": { - "ReportLevel": { - "markdownDescription": "", - "title": "ReportLevel", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.Verified": { - "additionalProperties": false, - "properties": { - "ReportLevel": { - "markdownDescription": "", - "title": "ReportLevel", + "ReplicationSubnetGroupId": { + "markdownDescription": "Specifies a subnet group identifier to associate with the AWS DMS Serverless replication.", + "title": "ReplicationSubnetGroupId", "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the virtual private cloud (VPC) security group to use with the AWS DMS Serverless replication. The VPC security group must work with the VPC containing the replication.", + "title": "VpcSecurityGroupIds", + "type": "array" } }, + "required": [ + "MaxCapacityUnits" + ], "type": "object" }, - "AWS::DataSync::TaskExecution": { + "AWS::DMS::ReplicationInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -107630,21 +107168,106 @@ "Properties": { "additionalProperties": false, "properties": { + "AllocatedStorage": { + "markdownDescription": "The amount of storage (in gigabytes) to be initially allocated for the replication instance.", + "title": "AllocatedStorage", + "type": "number" + }, + "AllowMajorVersionUpgrade": { + "markdownDescription": "Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage, and the change is asynchronously applied as soon as possible.\n\nThis parameter must be set to `true` when specifying a value for the `EngineVersion` parameter that is a different major version than the replication instance's current version.", + "title": "AllowMajorVersionUpgrade", + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "markdownDescription": "A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window. This parameter defaults to `true` .\n\nDefault: `true`", + "title": "AutoMinorVersionUpgrade", + "type": "boolean" + }, + "AvailabilityZone": { + "markdownDescription": "The Availability Zone that the replication instance will be created in.\n\nThe default value is a random, system-chosen Availability Zone in the endpoint's AWS Region , for example `us-east-1d` .", + "title": "AvailabilityZone", + "type": "string" + }, + "DnsNameServers": { + "markdownDescription": "A list of custom DNS name servers supported for the replication instance to access your on-premise source or target database. This list overrides the default name servers supported by the replication instance. You can specify a comma-separated list of internet addresses for up to four on-premise DNS name servers. For example: `\"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4\"`", + "title": "DnsNameServers", + "type": "string" + }, + "EngineVersion": { + "markdownDescription": "The engine version number of the replication instance.\n\nIf an engine version number is not specified when a replication instance is created, the default is the latest engine version available.", + "title": "EngineVersion", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "An AWS key identifier that is used to encrypt the data on the replication instance.\n\nIf you don't specify a value for the `KmsKeyId` parameter, AWS DMS uses your default encryption key.\n\nAWS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Region .", + "title": "KmsKeyId", + "type": "string" + }, + "MultiAZ": { + "markdownDescription": "Specifies whether the replication instance is a Multi-AZ deployment. You can't set the `AvailabilityZone` parameter if the Multi-AZ parameter is set to `true` .", + "title": "MultiAZ", + "type": "boolean" + }, + "NetworkType": { + "markdownDescription": "The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.", + "title": "NetworkType", + "type": "string" + }, + "PreferredMaintenanceWindow": { + "markdownDescription": "The weekly time range during which system maintenance can occur, in UTC.\n\n*Format* : `ddd:hh24:mi-ddd:hh24:mi`\n\n*Default* : A 30-minute window selected at random from an 8-hour block of time per AWS Region , occurring on a random day of the week.\n\n*Valid days* ( `ddd` ): `Mon` | `Tue` | `Wed` | `Thu` | `Fri` | `Sat` | `Sun`\n\n*Constraints* : Minimum 30-minute window.", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "PubliclyAccessible": { + "markdownDescription": "Specifies the accessibility options for the replication instance. A value of `true` represents an instance with a public IP address. A value of `false` represents an instance with a private IP address. The default value is `true` .", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "ReplicationInstanceClass": { + "markdownDescription": "The compute and memory capacity of the replication instance as defined for the specified replication instance class. For example, to specify the instance class dms.c4.large, set this parameter to `\"dms.c4.large\"` . For more information on the settings and capacities for the available replication instance classes, see [Selecting the right AWS DMS replication instance for your migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth) in the *AWS Database Migration Service User Guide* .", + "title": "ReplicationInstanceClass", + "type": "string" + }, + "ReplicationInstanceIdentifier": { + "markdownDescription": "The replication instance identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n- Must contain 1-63 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Can't end with a hyphen or contain two consecutive hyphens.\n\nExample: `myrepinstance`", + "title": "ReplicationInstanceIdentifier", + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "markdownDescription": "A subnet group to associate with the replication instance.", + "title": "ReplicationSubnetGroupIdentifier", + "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` . For 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" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "One or more tags to be assigned to the replication instance.", + "title": "Tags", "type": "array" }, - "TaskArn": { - "type": "string" + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the virtual private cloud (VPC) security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance.", + "title": "VpcSecurityGroupIds", + "type": "array" } }, + "required": [ + "ReplicationInstanceClass" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DataSync::TaskExecution" + "AWS::DMS::ReplicationInstance" ], "type": "string" }, @@ -107658,62 +107281,101 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DataSync::TaskExecution.Options": { + "AWS::DMS::ReplicationSubnetGroup": { "additionalProperties": false, "properties": { - "Atime": { - "type": "string" - }, - "BytesPerSecond": { - "type": "number" - }, - "Gid": { - "type": "string" - }, - "LogLevel": { - "type": "string" - }, - "Mtime": { - "type": "string" - }, - "ObjectTags": { - "type": "string" - }, - "OverwriteMode": { - "type": "string" - }, - "PosixPermissions": { - "type": "string" - }, - "PreserveDeletedFiles": { + "Condition": { "type": "string" }, - "PreserveDevices": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SecurityDescriptorCopyFlags": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TaskQueueing": { - "type": "string" + "Metadata": { + "type": "object" }, - "TransferMode": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ReplicationSubnetGroupDescription": { + "markdownDescription": "The description for the subnet group.", + "title": "ReplicationSubnetGroupDescription", + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "markdownDescription": "The identifier for the replication subnet group. If you don't specify a name, CloudFormation generates a unique ID and uses that ID for the identifier.", + "title": "ReplicationSubnetGroupIdentifier", + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more subnet IDs to be assigned to the subnet group.", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "One or more tags to be assigned to the subnet group.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "ReplicationSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" }, - "Uid": { + "Type": { + "enum": [ + "AWS::DMS::ReplicationSubnetGroup" + ], "type": "string" }, - "VerifyMode": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::DataZone::Connection": { + "AWS::DMS::ReplicationTask": { "additionalProperties": false, "properties": { "Condition": { @@ -107748,67 +107410,87 @@ "Properties": { "additionalProperties": false, "properties": { - "AwsLocation": { - "$ref": "#/definitions/AWS::DataZone::Connection.AwsLocation", - "markdownDescription": "The location where the connection is created.", - "title": "AwsLocation" + "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" }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::DataZone::Connection.ConnectionConfiguration" - }, - "type": "array" + "CdcStartTime": { + "markdownDescription": "Indicates the start time for a change data capture (CDC) operation.", + "title": "CdcStartTime", + "type": "number" }, - "Description": { - "markdownDescription": "Connection description.", - "title": "Description", + "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" }, - "DomainIdentifier": { - "markdownDescription": "The ID of the domain where the connection is created.", - "title": "DomainIdentifier", + "MigrationType": { + "markdownDescription": "The migration type. Valid values: `full-load` | `cdc` | `full-load-and-cdc`", + "title": "MigrationType", "type": "string" }, - "EnableTrustedIdentityPropagation": { - "markdownDescription": "", - "title": "EnableTrustedIdentityPropagation", - "type": "boolean" + "ReplicationInstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of a replication instance.", + "title": "ReplicationInstanceArn", + "type": "string" }, - "EnvironmentIdentifier": { - "markdownDescription": "The ID of the environment where the connection is created.", - "title": "EnvironmentIdentifier", + "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" }, - "Name": { - "markdownDescription": "The name of the connection.", - "title": "Name", + "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" }, - "ProjectIdentifier": { - "markdownDescription": "", - "title": "ProjectIdentifier", + "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" }, - "Props": { - "$ref": "#/definitions/AWS::DataZone::Connection.ConnectionPropertiesInput", - "markdownDescription": "Connection props.", - "title": "Props" + "SourceEndpointArn": { + "markdownDescription": "An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.", + "title": "SourceEndpointArn", + "type": "string" }, - "Scope": { - "markdownDescription": "The scope of the connection.", - "title": "Scope", + "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": [ - "DomainIdentifier", - "Name" + "MigrationType", + "ReplicationInstanceArn", + "SourceEndpointArn", + "TableMappings", + "TargetEndpointArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::Connection" + "AWS::DMS::ReplicationTask" ], "type": "string" }, @@ -107827,739 +107509,262 @@ ], "type": "object" }, - "AWS::DataZone::Connection.AmazonQPropertiesInput": { + "AWS::DMS::ReplicationTaskAssessmentRun": { "additionalProperties": false, "properties": { - "AuthMode": { - "markdownDescription": "", - "title": "AuthMode", + "Condition": { "type": "string" }, - "IsEnabled": { - "markdownDescription": "", - "title": "IsEnabled", - "type": "boolean" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ProfileArn": { - "markdownDescription": "", - "title": "ProfileArn", + "DependsOn": { + "anyOf": [ + { + "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::DataZone::Connection.AthenaPropertiesInput": { + "AWS::DMS::ReplicationTaskAssessmentRun.AssessmentProgress": { "additionalProperties": false, "properties": { - "WorkgroupName": { - "markdownDescription": "The Amazon Athena workgroup name of a connection.", - "title": "WorkgroupName", + "IndividualAssessmentCompletedCount": { + "type": "number" + }, + "IndividualAssessmentCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::DRS::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": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DRS::Job" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "WorkgroupName" + "Type" ], "type": "object" }, - "AWS::DataZone::Connection.AuthenticationConfigurationInput": { + "AWS::DRS::Job.LaunchAction": { "additionalProperties": false, "properties": { - "AuthenticationType": { - "markdownDescription": "The authentication type of a connection.", - "title": "AuthenticationType", + "ActionCode": { "type": "string" }, - "BasicAuthenticationCredentials": { - "$ref": "#/definitions/AWS::DataZone::Connection.BasicAuthenticationCredentials", - "markdownDescription": "The basic authentication credentials of a connection.", - "title": "BasicAuthenticationCredentials" + "ActionId": { + "type": "string" }, - "CustomAuthenticationCredentials": { - "additionalProperties": true, - "markdownDescription": "The custom authentication credentials of a connection.", + "ActionVersion": { + "type": "string" + }, + "Active": { + "type": "boolean" + }, + "Category": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Optional": { + "type": "boolean" + }, + "Order": { + "type": "number" + }, + "Parameters": { + "additionalProperties": false, "patternProperties": { "^[a-zA-Z0-9]+$": { - "type": "string" + "$ref": "#/definitions/AWS::DRS::Job.LaunchActionParameter" } }, - "title": "CustomAuthenticationCredentials", "type": "object" }, - "KmsKeyArn": { - "markdownDescription": "The KMS key ARN of a connection.", - "title": "KmsKeyArn", - "type": "string" - }, - "OAuth2Properties": { - "$ref": "#/definitions/AWS::DataZone::Connection.OAuth2Properties", - "markdownDescription": "The oAuth2 properties of a connection.", - "title": "OAuth2Properties" - }, - "SecretArn": { - "markdownDescription": "The secret ARN of a connection.", - "title": "SecretArn", + "Type": { "type": "string" } }, "type": "object" }, - "AWS::DataZone::Connection.AuthorizationCodeProperties": { + "AWS::DRS::Job.LaunchActionParameter": { "additionalProperties": false, "properties": { - "AuthorizationCode": { - "markdownDescription": "The authorization code of a connection.", - "title": "AuthorizationCode", + "Type": { "type": "string" }, - "RedirectUri": { - "markdownDescription": "The redirect URI of a connection.", - "title": "RedirectUri", + "Value": { "type": "string" } }, "type": "object" }, - "AWS::DataZone::Connection.AwsLocation": { + "AWS::DRS::Job.LaunchActionRun": { "additionalProperties": false, "properties": { - "AccessRole": { - "markdownDescription": "The access role of a connection.", - "title": "AccessRole", - "type": "string" + "Action": { + "$ref": "#/definitions/AWS::DRS::Job.LaunchAction" }, - "AwsAccountId": { - "markdownDescription": "The account ID of a connection.", - "title": "AwsAccountId", + "RunId": { "type": "string" }, - "AwsRegion": { - "markdownDescription": "The Region of a connection.", - "title": "AwsRegion", + "Status": { "type": "string" + } + }, + "type": "object" + }, + "AWS::DRS::Job.LaunchActionsStatus": { + "additionalProperties": false, + "properties": { + "Runs": { + "items": { + "$ref": "#/definitions/AWS::DRS::Job.LaunchActionRun" + }, + "type": "array" }, - "IamConnectionId": { - "markdownDescription": "The IAM connection ID of a connection.", - "title": "IamConnectionId", + "SsmAgentDiscoveryDatetime": { "type": "string" } }, "type": "object" }, - "AWS::DataZone::Connection.BasicAuthenticationCredentials": { + "AWS::DRS::Job.ParticipatingResource": { "additionalProperties": false, "properties": { - "Password": { - "markdownDescription": "The password for a connection.", - "title": "Password", + "LaunchStatus": { "type": "string" }, - "UserName": { - "markdownDescription": "The user name for the connecion.", - "title": "UserName", - "type": "string" + "ParticipatingResourceID": { + "$ref": "#/definitions/AWS::DRS::Job.ParticipatingResourceID" } }, "type": "object" }, - "AWS::DataZone::Connection.ConnectionConfiguration": { + "AWS::DRS::Job.ParticipatingResourceID": { "additionalProperties": false, "properties": { - "Classification": { + "SourceNetworkID": { "type": "string" - }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" } }, + "required": [ + "SourceNetworkID" + ], "type": "object" }, - "AWS::DataZone::Connection.ConnectionPropertiesInput": { + "AWS::DRS::Job.ParticipatingServer": { "additionalProperties": false, "properties": { - "AmazonQProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.AmazonQPropertiesInput", - "markdownDescription": "", - "title": "AmazonQProperties" + "LaunchActionsStatus": { + "$ref": "#/definitions/AWS::DRS::Job.LaunchActionsStatus" }, - "AthenaProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.AthenaPropertiesInput", - "markdownDescription": "The Amazon Athena properties of a connection.", - "title": "AthenaProperties" + "LaunchStatus": { + "type": "string" }, - "GlueProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.GluePropertiesInput", - "markdownDescription": "The AWS Glue properties of a connection.", - "title": "GlueProperties" - }, - "HyperPodProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.HyperPodPropertiesInput", - "markdownDescription": "The hyper pod properties of a connection.", - "title": "HyperPodProperties" - }, - "IamProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.IamPropertiesInput", - "markdownDescription": "The IAM properties of a connection.", - "title": "IamProperties" - }, - "LakehouseProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.LakehousePropertiesInput" - }, - "MlflowProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.MlflowPropertiesInput", - "markdownDescription": "", - "title": "MlflowProperties" - }, - "RedshiftProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftPropertiesInput", - "markdownDescription": "The Amazon Redshift properties of a connection.", - "title": "RedshiftProperties" - }, - "S3Properties": { - "$ref": "#/definitions/AWS::DataZone::Connection.S3PropertiesInput", - "markdownDescription": "", - "title": "S3Properties" - }, - "SparkEmrProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.SparkEmrPropertiesInput", - "markdownDescription": "The Spark EMR properties of a connection.", - "title": "SparkEmrProperties" - }, - "SparkGlueProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.SparkGluePropertiesInput", - "markdownDescription": "The Spark AWS Glue properties of a connection.", - "title": "SparkGlueProperties" - }, - "WorkflowsMwaaProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.WorkflowsMwaaPropertiesInput" - }, - "WorkflowsServerlessProperties": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.GlueConnectionInput": { - "additionalProperties": false, - "properties": { - "AthenaProperties": { - "additionalProperties": true, - "markdownDescription": "The Amazon Athena properties of the AWS Glue connection.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "AthenaProperties", - "type": "object" - }, - "AuthenticationConfiguration": { - "$ref": "#/definitions/AWS::DataZone::Connection.AuthenticationConfigurationInput", - "markdownDescription": "The authentication configuration of the AWS Glue connection.", - "title": "AuthenticationConfiguration" - }, - "ConnectionProperties": { - "additionalProperties": true, - "markdownDescription": "The connection properties of the AWS Glue connection.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ConnectionProperties", - "type": "object" - }, - "ConnectionType": { - "markdownDescription": "The connection type of the AWS Glue connection.", - "title": "ConnectionType", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the AWS Glue connection.", - "title": "Description", - "type": "string" - }, - "MatchCriteria": { - "markdownDescription": "The match criteria of the AWS Glue connection.", - "title": "MatchCriteria", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the AWS Glue connection.", - "title": "Name", - "type": "string" - }, - "PhysicalConnectionRequirements": { - "$ref": "#/definitions/AWS::DataZone::Connection.PhysicalConnectionRequirements", - "markdownDescription": "The physical connection requirements for the AWS Glue connection.", - "title": "PhysicalConnectionRequirements" - }, - "PythonProperties": { - "additionalProperties": true, - "markdownDescription": "The Python properties of the AWS Glue connection.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "PythonProperties", - "type": "object" - }, - "SparkProperties": { - "additionalProperties": true, - "markdownDescription": "The Spark properties of the AWS Glue connection.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "SparkProperties", - "type": "object" - }, - "ValidateCredentials": { - "markdownDescription": "Speciefies whether to validate credentials of the AWS Glue connection.", - "title": "ValidateCredentials", - "type": "boolean" - }, - "ValidateForComputeEnvironments": { - "items": { - "type": "string" - }, - "markdownDescription": "Speciefies whether to validate for compute environments of the AWS Glue connection.", - "title": "ValidateForComputeEnvironments", - "type": "array" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.GlueOAuth2Credentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "markdownDescription": "The access token of a connection.", - "title": "AccessToken", - "type": "string" - }, - "JwtToken": { - "markdownDescription": "The jwt token of the connection.", - "title": "JwtToken", - "type": "string" - }, - "RefreshToken": { - "markdownDescription": "The refresh token of the connection.", - "title": "RefreshToken", - "type": "string" - }, - "UserManagedClientApplicationClientSecret": { - "markdownDescription": "The user managed client application client secret of the connection.", - "title": "UserManagedClientApplicationClientSecret", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.GluePropertiesInput": { - "additionalProperties": false, - "properties": { - "GlueConnectionInput": { - "$ref": "#/definitions/AWS::DataZone::Connection.GlueConnectionInput", - "markdownDescription": "The AWS Glue connection.", - "title": "GlueConnectionInput" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.HyperPodPropertiesInput": { - "additionalProperties": false, - "properties": { - "ClusterName": { - "markdownDescription": "The cluster name the hyper pod properties.", - "title": "ClusterName", - "type": "string" - } - }, - "required": [ - "ClusterName" - ], - "type": "object" - }, - "AWS::DataZone::Connection.IamPropertiesInput": { - "additionalProperties": false, - "properties": { - "GlueLineageSyncEnabled": { - "markdownDescription": "Specifies whether AWS Glue lineage sync is enabled for a connection.", - "title": "GlueLineageSyncEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.LakehousePropertiesInput": { - "additionalProperties": false, - "properties": { - "GlueLineageSyncEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.LineageSyncSchedule": { - "additionalProperties": false, - "properties": { - "Schedule": { - "markdownDescription": "The lineage sync schedule.", - "title": "Schedule", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.MlflowPropertiesInput": { - "additionalProperties": false, - "properties": { - "TrackingServerArn": { - "markdownDescription": "", - "title": "TrackingServerArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.OAuth2ClientApplication": { - "additionalProperties": false, - "properties": { - "AWSManagedClientApplicationReference": { - "markdownDescription": "The AWS managed client application reference in the OAuth2Client application.", - "title": "AWSManagedClientApplicationReference", - "type": "string" - }, - "UserManagedClientApplicationClientId": { - "markdownDescription": "The user managed client application client ID in the OAuth2Client application.", - "title": "UserManagedClientApplicationClientId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.OAuth2Properties": { - "additionalProperties": false, - "properties": { - "AuthorizationCodeProperties": { - "$ref": "#/definitions/AWS::DataZone::Connection.AuthorizationCodeProperties", - "markdownDescription": "The authorization code properties of the OAuth2 properties.", - "title": "AuthorizationCodeProperties" - }, - "OAuth2ClientApplication": { - "$ref": "#/definitions/AWS::DataZone::Connection.OAuth2ClientApplication", - "markdownDescription": "The OAuth2 client application of the OAuth2 properties.", - "title": "OAuth2ClientApplication" - }, - "OAuth2Credentials": { - "$ref": "#/definitions/AWS::DataZone::Connection.GlueOAuth2Credentials", - "markdownDescription": "The OAuth2 credentials of the OAuth2 properties.", - "title": "OAuth2Credentials" - }, - "OAuth2GrantType": { - "markdownDescription": "The OAuth2 grant type of the OAuth2 properties.", - "title": "OAuth2GrantType", - "type": "string" - }, - "TokenUrl": { - "markdownDescription": "The OAuth2 token URL of the OAuth2 properties.", - "title": "TokenUrl", - "type": "string" - }, - "TokenUrlParametersMap": { - "additionalProperties": true, - "markdownDescription": "The OAuth2 token URL parameter map of the OAuth2 properties.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "TokenUrlParametersMap", - "type": "object" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.PhysicalConnectionRequirements": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "markdownDescription": "The availability zone of the physical connection requirements of a connection.", - "title": "AvailabilityZone", - "type": "string" - }, - "SecurityGroupIdList": { - "items": { - "type": "string" - }, - "markdownDescription": "The group ID list of the physical connection requirements of a connection.", - "title": "SecurityGroupIdList", - "type": "array" - }, - "SubnetId": { - "markdownDescription": "The subnet ID of the physical connection requirements of a connection.", - "title": "SubnetId", - "type": "string" - }, - "SubnetIdList": { - "items": { - "type": "string" - }, - "markdownDescription": "The subnet ID list of the physical connection requirements of a connection.", - "title": "SubnetIdList", - "type": "array" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.RedshiftCredentials": { - "additionalProperties": false, - "properties": { - "SecretArn": { - "markdownDescription": "The secret ARN of the Amazon Redshift credentials of a connection.", - "title": "SecretArn", - "type": "string" - }, - "UsernamePassword": { - "$ref": "#/definitions/AWS::DataZone::Connection.UsernamePassword", - "markdownDescription": "The username and password of the Amazon Redshift credentials of a connection.", - "title": "UsernamePassword" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.RedshiftLineageSyncConfigurationInput": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "Specifies whether the Amaon Redshift lineage sync configuration is enabled.", - "title": "Enabled", - "type": "boolean" - }, - "Schedule": { - "$ref": "#/definitions/AWS::DataZone::Connection.LineageSyncSchedule", - "markdownDescription": "The schedule of the Amaon Redshift lineage sync configuration.", - "title": "Schedule" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.RedshiftPropertiesInput": { - "additionalProperties": false, - "properties": { - "Credentials": { - "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftCredentials", - "markdownDescription": "The Amaon Redshift credentials.", - "title": "Credentials" - }, - "DatabaseName": { - "markdownDescription": "The Amazon Redshift database name.", - "title": "DatabaseName", - "type": "string" - }, - "Host": { - "markdownDescription": "The Amazon Redshift host.", - "title": "Host", - "type": "string" - }, - "LineageSync": { - "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftLineageSyncConfigurationInput", - "markdownDescription": "The lineage sync of the Amazon Redshift.", - "title": "LineageSync" - }, - "Port": { - "markdownDescription": "The Amaon Redshift port.", - "title": "Port", - "type": "number" - }, - "Storage": { - "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftStorageProperties", - "markdownDescription": "The Amazon Redshift storage.", - "title": "Storage" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.RedshiftStorageProperties": { - "additionalProperties": false, - "properties": { - "ClusterName": { - "markdownDescription": "The cluster name in the Amazon Redshift storage properties.", - "title": "ClusterName", - "type": "string" - }, - "WorkgroupName": { - "markdownDescription": "The workgroup name in the Amazon Redshift storage properties.", - "title": "WorkgroupName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.S3PropertiesInput": { - "additionalProperties": false, - "properties": { - "RegisterS3AccessGrantLocation": { - "type": "boolean" - }, - "S3AccessGrantLocationId": { - "markdownDescription": "", - "title": "S3AccessGrantLocationId", - "type": "string" - }, - "S3Uri": { - "markdownDescription": "", - "title": "S3Uri", - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::DataZone::Connection.SparkEmrPropertiesInput": { - "additionalProperties": false, - "properties": { - "ComputeArn": { - "markdownDescription": "The compute ARN of Spark EMR.", - "title": "ComputeArn", - "type": "string" - }, - "InstanceProfileArn": { - "markdownDescription": "The instance profile ARN of Spark EMR.", - "title": "InstanceProfileArn", - "type": "string" - }, - "JavaVirtualEnv": { - "markdownDescription": "The java virtual env of the Spark EMR.", - "title": "JavaVirtualEnv", - "type": "string" - }, - "LogUri": { - "markdownDescription": "The log URI of the Spark EMR.", - "title": "LogUri", - "type": "string" - }, - "ManagedEndpointArn": { - "markdownDescription": "", - "title": "ManagedEndpointArn", - "type": "string" - }, - "PythonVirtualEnv": { - "markdownDescription": "The Python virtual env of the Spark EMR.", - "title": "PythonVirtualEnv", - "type": "string" - }, - "RuntimeRole": { - "markdownDescription": "The runtime role of the Spark EMR.", - "title": "RuntimeRole", - "type": "string" - }, - "TrustedCertificatesS3Uri": { - "markdownDescription": "The certificates S3 URI of the Spark EMR.", - "title": "TrustedCertificatesS3Uri", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.SparkGlueArgs": { - "additionalProperties": false, - "properties": { - "Connection": { - "markdownDescription": "The connection in the Spark AWS Glue args.", - "title": "Connection", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.SparkGluePropertiesInput": { - "additionalProperties": false, - "properties": { - "AdditionalArgs": { - "$ref": "#/definitions/AWS::DataZone::Connection.SparkGlueArgs", - "markdownDescription": "The additional args in the Spark AWS Glue properties.", - "title": "AdditionalArgs" - }, - "GlueConnectionName": { - "markdownDescription": "The AWS Glue connection name in the Spark AWS Glue properties.", - "title": "GlueConnectionName", - "type": "string" - }, - "GlueVersion": { - "markdownDescription": "The AWS Glue version in the Spark AWS Glue properties.", - "title": "GlueVersion", - "type": "string" - }, - "IdleTimeout": { - "markdownDescription": "The idle timeout in the Spark AWS Glue properties.", - "title": "IdleTimeout", - "type": "number" - }, - "JavaVirtualEnv": { - "markdownDescription": "The Java virtual env in the Spark AWS Glue properties.", - "title": "JavaVirtualEnv", - "type": "string" - }, - "NumberOfWorkers": { - "markdownDescription": "The number of workers in the Spark AWS Glue properties.", - "title": "NumberOfWorkers", - "type": "number" - }, - "PythonVirtualEnv": { - "markdownDescription": "The Python virtual env in the Spark AWS Glue properties.", - "title": "PythonVirtualEnv", - "type": "string" - }, - "WorkerType": { - "markdownDescription": "The worker type in the Spark AWS Glue properties.", - "title": "WorkerType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Connection.UsernamePassword": { - "additionalProperties": false, - "properties": { - "Password": { - "markdownDescription": "The password of a connection.", - "title": "Password", + "RecoveryInstanceID": { "type": "string" }, - "Username": { - "markdownDescription": "The username of a connection.", - "title": "Username", - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::DataZone::Connection.WorkflowsMwaaPropertiesInput": { - "additionalProperties": false, - "properties": { - "MwaaEnvironmentName": { + "SourceServerID": { "type": "string" } }, "type": "object" }, - "AWS::DataZone::DataSource": { + "AWS::DRS::LaunchConfigurationTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -108594,86 +107799,42 @@ "Properties": { "additionalProperties": false, "properties": { - "AssetFormsInput": { - "items": { - "$ref": "#/definitions/AWS::DataZone::DataSource.FormInput" - }, - "markdownDescription": "The metadata forms attached to the assets that the data source works with.", - "title": "AssetFormsInput", - "type": "array" - }, - "Configuration": { - "$ref": "#/definitions/AWS::DataZone::DataSource.DataSourceConfigurationInput", - "markdownDescription": "The configuration of the data source.", - "title": "Configuration" - }, - "ConnectionIdentifier": { - "markdownDescription": "", - "title": "ConnectionIdentifier", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the data source.", - "title": "Description", - "type": "string" + "CopyPrivateIp": { + "type": "boolean" }, - "DomainIdentifier": { - "markdownDescription": "The ID of the Amazon DataZone domain where the data source is created.", - "title": "DomainIdentifier", - "type": "string" + "CopyTags": { + "type": "boolean" }, - "EnableSetting": { - "markdownDescription": "Specifies whether the data source is enabled.", - "title": "EnableSetting", + "ExportBucketArn": { "type": "string" }, - "EnvironmentIdentifier": { - "markdownDescription": "The unique identifier of the Amazon DataZone environment to which the data source publishes assets.", - "title": "EnvironmentIdentifier", + "LaunchDisposition": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the data source.", - "title": "Name", - "type": "string" + "LaunchIntoSourceInstance": { + "type": "boolean" }, - "ProjectIdentifier": { - "markdownDescription": "The identifier of the Amazon DataZone project in which you want to add this data source.", - "title": "ProjectIdentifier", - "type": "string" + "Licensing": { + "$ref": "#/definitions/AWS::DRS::LaunchConfigurationTemplate.Licensing" }, - "PublishOnImport": { - "markdownDescription": "Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.", - "title": "PublishOnImport", + "PostLaunchEnabled": { "type": "boolean" }, - "Recommendation": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RecommendationConfiguration", - "markdownDescription": "Specifies whether the business name generation is to be enabled for this data source.", - "title": "Recommendation" - }, - "Schedule": { - "$ref": "#/definitions/AWS::DataZone::DataSource.ScheduleConfiguration", - "markdownDescription": "The schedule of the data source runs.", - "title": "Schedule" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, - "Type": { - "markdownDescription": "The type of the data source. In Amazon DataZone, you can use data sources to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone. In the current release of Amazon DataZone, you can create and run data sources for AWS Glue and Amazon Redshift.", - "title": "Type", + "TargetInstanceTypeRightSizingMethod": { "type": "string" } }, - "required": [ - "DomainIdentifier", - "Name", - "ProjectIdentifier", - "Type" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::DataSource" + "AWS::DRS::LaunchConfigurationTemplate" ], "type": "string" }, @@ -108687,272 +107848,77 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.DataSourceConfigurationInput": { - "additionalProperties": false, - "properties": { - "GlueRunConfiguration": { - "$ref": "#/definitions/AWS::DataZone::DataSource.GlueRunConfigurationInput", - "markdownDescription": "The configuration of the AWS Glue data source.", - "title": "GlueRunConfiguration" - }, - "RedshiftRunConfiguration": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftRunConfigurationInput", - "markdownDescription": "The configuration of the Amazon Redshift data source.", - "title": "RedshiftRunConfiguration" - }, - "SageMakerRunConfiguration": { - "$ref": "#/definitions/AWS::DataZone::DataSource.SageMakerRunConfigurationInput", - "markdownDescription": "", - "title": "SageMakerRunConfiguration" - } - }, - "type": "object" - }, - "AWS::DataZone::DataSource.FilterExpression": { - "additionalProperties": false, - "properties": { - "Expression": { - "markdownDescription": "The search filter expression.", - "title": "Expression", - "type": "string" - }, - "Type": { - "markdownDescription": "The search filter explresison type.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Expression", "Type" ], "type": "object" }, - "AWS::DataZone::DataSource.FormInput": { - "additionalProperties": false, - "properties": { - "Content": { - "markdownDescription": "", - "title": "Content", - "type": "string" - }, - "FormName": { - "markdownDescription": "", - "title": "FormName", - "type": "string" - }, - "TypeIdentifier": { - "markdownDescription": "", - "title": "TypeIdentifier", - "type": "string" - }, - "TypeRevision": { - "markdownDescription": "", - "title": "TypeRevision", - "type": "string" - } - }, - "required": [ - "FormName" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.GlueRunConfigurationInput": { - "additionalProperties": false, - "properties": { - "AutoImportDataQualityResult": { - "markdownDescription": "Specifies whether to automatically import data quality metrics as part of the data source run.", - "title": "AutoImportDataQualityResult", - "type": "boolean" - }, - "CatalogName": { - "markdownDescription": "", - "title": "CatalogName", - "type": "string" - }, - "DataAccessRole": { - "markdownDescription": "The data access role included in the configuration details of the AWS Glue data source.", - "title": "DataAccessRole", - "type": "string" - }, - "RelationalFilterConfigurations": { - "items": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RelationalFilterConfiguration" - }, - "markdownDescription": "The relational filter configurations included in the configuration details of the AWS Glue data source.", - "title": "RelationalFilterConfigurations", - "type": "array" - } - }, - "required": [ - "RelationalFilterConfigurations" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.RecommendationConfiguration": { + "AWS::DRS::LaunchConfigurationTemplate.Licensing": { "additionalProperties": false, "properties": { - "EnableBusinessNameGeneration": { - "markdownDescription": "Specifies whether automatic business name generation is to be enabled or not as part of the recommendation configuration.", - "title": "EnableBusinessNameGeneration", + "OsByol": { "type": "boolean" } }, "type": "object" }, - "AWS::DataZone::DataSource.RedshiftClusterStorage": { - "additionalProperties": false, - "properties": { - "ClusterName": { - "markdownDescription": "The name of an Amazon Redshift cluster.", - "title": "ClusterName", - "type": "string" - } - }, - "required": [ - "ClusterName" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.RedshiftCredentialConfiguration": { + "AWS::DRS::RecoveryInstance": { "additionalProperties": false, "properties": { - "SecretManagerArn": { - "markdownDescription": "The ARN of a secret manager for an Amazon Redshift cluster.", - "title": "SecretManagerArn", + "Condition": { "type": "string" - } - }, - "required": [ - "SecretManagerArn" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.RedshiftRunConfigurationInput": { - "additionalProperties": false, - "properties": { - "DataAccessRole": { - "markdownDescription": "The data access role included in the configuration details of the Amazon Redshift data source.", - "title": "DataAccessRole", + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RedshiftCredentialConfiguration": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftCredentialConfiguration", - "markdownDescription": "The details of the credentials required to access an Amazon Redshift cluster.", - "title": "RedshiftCredentialConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RedshiftStorage": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftStorage", - "markdownDescription": "The details of the Amazon Redshift storage as part of the configuration of an Amazon Redshift data source run.", - "title": "RedshiftStorage" + "Metadata": { + "type": "object" }, - "RelationalFilterConfigurations": { - "items": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RelationalFilterConfiguration" - }, - "markdownDescription": "The relational filter configurations included in the configuration details of the AWS Glue data source.", - "title": "RelationalFilterConfigurations", - "type": "array" - } - }, - "required": [ - "RelationalFilterConfigurations" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.RedshiftServerlessStorage": { - "additionalProperties": false, - "properties": { - "WorkgroupName": { - "markdownDescription": "The name of the Amazon Redshift Serverless workgroup.", - "title": "WorkgroupName", - "type": "string" - } - }, - "required": [ - "WorkgroupName" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.RedshiftStorage": { - "additionalProperties": false, - "properties": { - "RedshiftClusterSource": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftClusterStorage", - "markdownDescription": "The details of the Amazon Redshift cluster source.", - "title": "RedshiftClusterSource" + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" }, - "RedshiftServerlessSource": { - "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftServerlessStorage", - "markdownDescription": "The details of the Amazon Redshift Serverless workgroup source.", - "title": "RedshiftServerlessSource" - } - }, - "type": "object" - }, - "AWS::DataZone::DataSource.RelationalFilterConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "markdownDescription": "The database name specified in the relational filter configuration for the data source.", - "title": "DatabaseName", + "Type": { + "enum": [ + "AWS::DRS::RecoveryInstance" + ], "type": "string" }, - "FilterExpressions": { - "items": { - "$ref": "#/definitions/AWS::DataZone::DataSource.FilterExpression" - }, - "markdownDescription": "The filter expressions specified in the relational filter configuration for the data source.", - "title": "FilterExpressions", - "type": "array" - }, - "SchemaName": { - "markdownDescription": "The schema name specified in the relational filter configuration for the data source.", - "title": "SchemaName", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DatabaseName" - ], - "type": "object" - }, - "AWS::DataZone::DataSource.SageMakerRunConfigurationInput": { - "additionalProperties": false, - "properties": { - "TrackingAssets": { - "markdownDescription": "", - "title": "TrackingAssets", - "type": "object" - } - }, - "required": [ - "TrackingAssets" + "Type" ], "type": "object" }, - "AWS::DataZone::DataSource.ScheduleConfiguration": { - "additionalProperties": false, - "properties": { - "Schedule": { - "markdownDescription": "The schedule of the data source runs.", - "title": "Schedule", - "type": "string" - }, - "Timezone": { - "markdownDescription": "The timezone of the data source run.", - "title": "Timezone", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Domain": { + "AWS::DRS::ReplicationConfigurationTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -108987,58 +107953,83 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the Amazon DataZone domain.", - "title": "Description", + "AssociateDefaultSecurityGroup": { + "type": "boolean" + }, + "AutoReplicateNewDisks": { + "type": "boolean" + }, + "BandwidthThrottling": { + "type": "number" + }, + "CreatePublicIP": { + "type": "boolean" + }, + "DataPlaneRouting": { "type": "string" }, - "DomainExecutionRole": { - "markdownDescription": "The domain execution role that is created when an Amazon DataZone domain is created. The domain execution role is created in the AWS account that houses the Amazon DataZone domain.", - "title": "DomainExecutionRole", + "DefaultLargeStagingDiskType": { "type": "string" }, - "DomainVersion": { - "markdownDescription": "The domain version.", - "title": "DomainVersion", + "EbsEncryption": { "type": "string" }, - "KmsKeyIdentifier": { - "markdownDescription": "The identifier of the AWS Key Management Service (KMS) key that is used to encrypt the Amazon DataZone domain, metadata, and reporting data.", - "title": "KmsKeyIdentifier", + "EbsEncryptionKeyArn": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the Amazon DataZone domain.", - "title": "Name", + "InternetProtocol": { "type": "string" }, - "ServiceRole": { - "markdownDescription": "The service role of the domain.", - "title": "ServiceRole", + "PitPolicy": { + "items": { + "$ref": "#/definitions/AWS::DRS::ReplicationConfigurationTemplate.PITPolicyRule" + }, + "type": "array" + }, + "ReplicationServerInstanceType": { "type": "string" }, - "SingleSignOn": { - "$ref": "#/definitions/AWS::DataZone::Domain.SingleSignOn", - "markdownDescription": "The single sign-on details in Amazon DataZone.", - "title": "SingleSignOn" + "ReplicationServersSecurityGroupsIDs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StagingAreaSubnetId": { + "type": "string" + }, + "StagingAreaTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags specified for the Amazon DataZone domain.", - "title": "Tags", "type": "array" + }, + "UseDedicatedReplicationServer": { + "type": "boolean" } }, "required": [ - "Name" + "BandwidthThrottling", + "EbsEncryption", + "PitPolicy", + "ReplicationServersSecurityGroupsIDs", + "StagingAreaSubnetId", + "StagingAreaTags" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::Domain" + "AWS::DRS::ReplicationConfigurationTemplate" ], "type": "string" }, @@ -109057,28 +108048,33 @@ ], "type": "object" }, - "AWS::DataZone::Domain.SingleSignOn": { + "AWS::DRS::ReplicationConfigurationTemplate.PITPolicyRule": { "additionalProperties": false, "properties": { - "IdcInstanceArn": { - "markdownDescription": "The ARN of the IDC instance.", - "title": "IdcInstanceArn", - "type": "string" + "Enabled": { + "type": "boolean" }, - "Type": { - "markdownDescription": "The type of single sign-on in Amazon DataZone.", - "title": "Type", - "type": "string" + "Interval": { + "type": "number" }, - "UserAssignment": { - "markdownDescription": "The single sign-on user assignment in Amazon DataZone.", - "title": "UserAssignment", + "RetentionDuration": { + "type": "number" + }, + "RuleID": { + "type": "number" + }, + "Units": { "type": "string" } }, + "required": [ + "Interval", + "RetentionDuration", + "Units" + ], "type": "object" }, - "AWS::DataZone::DomainUnit": { + "AWS::DRS::SourceNetwork": { "additionalProperties": false, "properties": { "Condition": { @@ -109113,37 +108109,32 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the domain unit.", - "title": "Description", + "OriginAccountID": { "type": "string" }, - "DomainIdentifier": { - "markdownDescription": "The ID of the domain where you want to crate a domain unit.", - "title": "DomainIdentifier", + "OriginRegion": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the domain unit.", - "title": "Name", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, - "ParentDomainUnitIdentifier": { - "markdownDescription": "The ID of the parent domain unit.", - "title": "ParentDomainUnitIdentifier", + "VpcID": { "type": "string" } }, "required": [ - "DomainIdentifier", - "Name", - "ParentDomainUnitIdentifier" + "OriginAccountID", + "OriginRegion", + "VpcID" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::DomainUnit" + "AWS::DRS::SourceNetwork" ], "type": "string" }, @@ -109162,7 +108153,7 @@ ], "type": "object" }, - "AWS::DataZone::Environment": { + "AWS::DRS::SourceServer": { "additionalProperties": false, "properties": { "Condition": { @@ -109196,83 +108187,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "DeploymentOrder": { - "type": "number" - }, - "Description": { - "markdownDescription": "The description of the environment.", - "title": "Description", - "type": "string" - }, - "DomainIdentifier": { - "markdownDescription": "The identifier of the Amazon DataZone domain in which the environment is created.", - "title": "DomainIdentifier", - "type": "string" - }, - "EnvironmentAccountIdentifier": { - "markdownDescription": "The identifier of the AWS account in which an environment exists.", - "title": "EnvironmentAccountIdentifier", - "type": "string" - }, - "EnvironmentAccountRegion": { - "markdownDescription": "The AWS Region in which an environment exists.", - "title": "EnvironmentAccountRegion", - "type": "string" - }, - "EnvironmentBlueprintIdentifier": { - "type": "string" - }, - "EnvironmentConfigurationId": { - "type": "string" - }, - "EnvironmentProfileIdentifier": { - "markdownDescription": "The identifier of the environment profile that is used to create this Amazon DataZone environment.", - "title": "EnvironmentProfileIdentifier", - "type": "string" - }, - "EnvironmentRoleArn": { - "markdownDescription": "The ARN of the environment role.", - "title": "EnvironmentRoleArn", - "type": "string" - }, - "GlossaryTerms": { - "items": { - "type": "string" - }, - "markdownDescription": "The glossary terms that can be used in this Amazon DataZone environment.", - "title": "GlossaryTerms", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the Amazon DataZone environment.", - "title": "Name", - "type": "string" - }, - "ProjectIdentifier": { - "markdownDescription": "The identifier of the Amazon DataZone project in which this environment is created.", - "title": "ProjectIdentifier", - "type": "string" - }, - "UserParameters": { - "items": { - "$ref": "#/definitions/AWS::DataZone::Environment.EnvironmentParameter" - }, - "markdownDescription": "The user parameters of this Amazon DataZone environment.", - "title": "UserParameters", - "type": "array" - } - }, - "required": [ - "DomainIdentifier", - "Name", - "ProjectIdentifier" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::Environment" + "AWS::DRS::SourceServer" ], "type": "string" }, @@ -109286,308 +108206,131 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::DataZone::Environment.EnvironmentParameter": { + "AWS::DRS::SourceServer.CPU": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the environment parameter.", - "title": "Name", - "type": "string" + "Cores": { + "type": "number" }, - "Value": { - "markdownDescription": "The value of the environment parameter.", - "title": "Value", + "ModelName": { "type": "string" } }, "type": "object" }, - "AWS::DataZone::EnvironmentActions": { + "AWS::DRS::SourceServer.DataReplicationInfo": { "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": { - "markdownDescription": "The environment action description.", - "title": "Description", - "type": "string" - }, - "DomainIdentifier": { - "markdownDescription": "The Amazon DataZone domain ID of the environment action.", - "title": "DomainIdentifier", - "type": "string" - }, - "EnvironmentIdentifier": { - "markdownDescription": "The environment ID of the environment action.", - "title": "EnvironmentIdentifier", - "type": "string" - }, - "Identifier": { - "markdownDescription": "The ID of the environment action.", - "title": "Identifier", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the environment action.", - "title": "Name", - "type": "string" - }, - "Parameters": { - "$ref": "#/definitions/AWS::DataZone::EnvironmentActions.AwsConsoleLinkParameters", - "markdownDescription": "The parameters of the environment action.", - "title": "Parameters" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataZone::EnvironmentActions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DataReplicationState": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::DataZone::EnvironmentActions.AwsConsoleLinkParameters": { + "AWS::DRS::SourceServer.Disk": { "additionalProperties": false, "properties": { - "Uri": { - "markdownDescription": "The URI of the console link specified as part of the environment action.", - "title": "Uri", + "Bytes": { + "type": "number" + }, + "DeviceName": { "type": "string" } }, "type": "object" }, - "AWS::DataZone::EnvironmentBlueprintConfiguration": { + "AWS::DRS::SourceServer.IdentificationHints": { "additionalProperties": false, "properties": { - "Condition": { + "AwsInstanceID": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Fqdn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainIdentifier": { - "markdownDescription": "The identifier of the Amazon DataZone domain in which an environment blueprint exists.", - "title": "DomainIdentifier", - "type": "string" - }, - "EnabledRegions": { - "items": { - "type": "string" - }, - "markdownDescription": "The enabled AWS Regions specified in a blueprint configuration.", - "title": "EnabledRegions", - "type": "array" - }, - "EnvironmentBlueprintIdentifier": { - "markdownDescription": "The identifier of the environment blueprint.\n\nIn the current release, only the following values are supported: `DefaultDataLake` and `DefaultDataWarehouse` .", - "title": "EnvironmentBlueprintIdentifier", - "type": "string" - }, - "EnvironmentRolePermissionBoundary": { - "markdownDescription": "The environment role permission boundary.", - "title": "EnvironmentRolePermissionBoundary", - "type": "string" - }, - "GlobalParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ManageAccessRoleArn": { - "markdownDescription": "The ARN of the manage access role.", - "title": "ManageAccessRoleArn", - "type": "string" - }, - "ProvisioningConfigurations": { - "items": { - "$ref": "#/definitions/AWS::DataZone::EnvironmentBlueprintConfiguration.ProvisioningConfiguration" - }, - "markdownDescription": "The provisioning configuration of a blueprint.", - "title": "ProvisioningConfigurations", - "type": "array" - }, - "ProvisioningRoleArn": { - "markdownDescription": "The ARN of the provisioning role.", - "title": "ProvisioningRoleArn", - "type": "string" - }, - "RegionalParameters": { - "items": { - "$ref": "#/definitions/AWS::DataZone::EnvironmentBlueprintConfiguration.RegionalParameter" - }, - "markdownDescription": "The regional parameters of the environment blueprint.", - "title": "RegionalParameters", - "type": "array" - } - }, - "required": [ - "DomainIdentifier", - "EnabledRegions", - "EnvironmentBlueprintIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataZone::EnvironmentBlueprintConfiguration" - ], + "Hostname": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "VmWareUuid": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::DataZone::EnvironmentBlueprintConfiguration.LakeFormationConfiguration": { + "AWS::DRS::SourceServer.NetworkInterface": { "additionalProperties": false, "properties": { - "LocationRegistrationExcludeS3Locations": { + "Ips": { "items": { "type": "string" }, - "markdownDescription": "Specifies certain Amazon S3 locations if you do not want Amazon DataZone to automatically register them in hybrid mode.", - "title": "LocationRegistrationExcludeS3Locations", "type": "array" }, - "LocationRegistrationRole": { - "markdownDescription": "The role that is used to manage read/write access to the chosen Amazon S3 bucket(s) for Data Lake using AWS Lake Formation hybrid access mode.", - "title": "LocationRegistrationRole", + "IsPrimary": { + "type": "boolean" + }, + "MacAddress": { "type": "string" } }, "type": "object" }, - "AWS::DataZone::EnvironmentBlueprintConfiguration.ProvisioningConfiguration": { + "AWS::DRS::SourceServer.OS": { "additionalProperties": false, "properties": { - "LakeFormationConfiguration": { - "$ref": "#/definitions/AWS::DataZone::EnvironmentBlueprintConfiguration.LakeFormationConfiguration", - "markdownDescription": "The Lake Formation configuration of the Data Lake blueprint.", - "title": "LakeFormationConfiguration" + "FullString": { + "type": "string" } }, - "required": [ - "LakeFormationConfiguration" - ], "type": "object" }, - "AWS::DataZone::EnvironmentBlueprintConfiguration.RegionalParameter": { + "AWS::DRS::SourceServer.SourceProperties": { "additionalProperties": false, "properties": { - "Parameters": { - "additionalProperties": true, - "markdownDescription": "A string to string map containing parameters for the region.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "Cpus": { + "items": { + "$ref": "#/definitions/AWS::DRS::SourceServer.CPU" }, - "title": "Parameters", - "type": "object" + "type": "array" }, - "Region": { - "markdownDescription": "The region specified in the environment parameter.", - "title": "Region", + "Disks": { + "items": { + "$ref": "#/definitions/AWS::DRS::SourceServer.Disk" + }, + "type": "array" + }, + "IdentificationHints": { + "$ref": "#/definitions/AWS::DRS::SourceServer.IdentificationHints" + }, + "LastUpdatedDateTime": { + "type": "string" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::DRS::SourceServer.NetworkInterface" + }, + "type": "array" + }, + "Os": { + "$ref": "#/definitions/AWS::DRS::SourceServer.OS" + }, + "RamBytes": { + "type": "number" + }, + "RecommendedInstanceType": { "type": "string" + }, + "SupportsNitroInstances": { + "type": "boolean" } }, "type": "object" }, - "AWS::DataZone::EnvironmentProfile": { + "AWS::DSQL::Cluster": { "additionalProperties": false, "properties": { "Condition": { @@ -109622,63 +108365,40 @@ "Properties": { "additionalProperties": false, "properties": { - "AwsAccountId": { - "markdownDescription": "The identifier of an AWS account in which an environment profile exists.", - "title": "AwsAccountId", - "type": "string" - }, - "AwsAccountRegion": { - "markdownDescription": "The AWS Region in which an environment profile exists.", - "title": "AwsAccountRegion", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the environment profile.", - "title": "Description", - "type": "string" - }, - "DomainIdentifier": { - "markdownDescription": "The identifier of the Amazon DataZone domain in which the environment profile exists.", - "title": "DomainIdentifier", - "type": "string" + "DeletionProtectionEnabled": { + "markdownDescription": "Whether deletion protection is enabled on this cluster.", + "title": "DeletionProtectionEnabled", + "type": "boolean" }, - "EnvironmentBlueprintIdentifier": { - "markdownDescription": "The identifier of a blueprint with which an environment profile is created.", - "title": "EnvironmentBlueprintIdentifier", + "KmsEncryptionKey": { + "markdownDescription": "", + "title": "KmsEncryptionKey", "type": "string" }, - "Name": { - "markdownDescription": "The name of the environment profile.", - "title": "Name", - "type": "string" + "MultiRegionProperties": { + "$ref": "#/definitions/AWS::DSQL::Cluster.MultiRegionProperties", + "markdownDescription": "Defines the structure for multi-Region cluster configurations, containing the witness Region and peered cluster settings.", + "title": "MultiRegionProperties" }, - "ProjectIdentifier": { - "markdownDescription": "The identifier of a project in which an environment profile exists.", - "title": "ProjectIdentifier", + "PolicyDocument": { + "markdownDescription": "A resource-based policy document in JSON format. Length constraints: Minimum length of 1. Maximum length of 20480 characters (approximately 20KB).", + "title": "PolicyDocument", "type": "string" }, - "UserParameters": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataZone::EnvironmentProfile.EnvironmentParameter" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The user parameters of this Amazon DataZone environment profile.", - "title": "UserParameters", + "markdownDescription": "A map of key and value pairs this cluster is tagged with.", + "title": "Tags", "type": "array" } }, - "required": [ - "AwsAccountId", - "AwsAccountRegion", - "DomainIdentifier", - "EnvironmentBlueprintIdentifier", - "Name", - "ProjectIdentifier" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::EnvironmentProfile" + "AWS::DSQL::Cluster" ], "type": "string" }, @@ -109692,28 +108412,51 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::DataZone::EnvironmentProfile.EnvironmentParameter": { + "AWS::DSQL::Cluster.EncryptionDetails": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name specified in the environment parameter.", - "title": "Name", + "EncryptionStatus": { + "markdownDescription": "The status of encryption for the cluster.", + "title": "EncryptionStatus", "type": "string" }, - "Value": { - "markdownDescription": "The value of the environment profile.", - "title": "Value", + "EncryptionType": { + "markdownDescription": "The type of encryption that protects the data on your cluster.", + "title": "EncryptionType", + "type": "string" + }, + "KmsKeyArn": { + "markdownDescription": "The ARN of the AWS key that encrypts data in the cluster.", + "title": "KmsKeyArn", "type": "string" } }, "type": "object" }, - "AWS::DataZone::FormType": { + "AWS::DSQL::Cluster.MultiRegionProperties": { + "additionalProperties": false, + "properties": { + "Clusters": { + "items": { + "type": "string" + }, + "markdownDescription": "The set of peered clusters that form the multi-Region cluster configuration. Each peered cluster represents a database instance in a different Region.", + "title": "Clusters", + "type": "array" + }, + "WitnessRegion": { + "markdownDescription": "The Region that serves as the witness Region for a multi-Region cluster. The witness Region helps maintain cluster consistency and quorum.", + "title": "WitnessRegion", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset": { "additionalProperties": false, "properties": { "Condition": { @@ -109748,48 +108491,54 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the metadata form type.", - "title": "Description", + "Format": { + "markdownDescription": "The file format of a dataset that is created from an Amazon S3 file or folder.", + "title": "Format", "type": "string" }, - "DomainIdentifier": { - "markdownDescription": "The identifier of the Amazon DataZone domain in which the form type exists.", - "title": "DomainIdentifier", - "type": "string" + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FormatOptions", + "markdownDescription": "A set of options that define how DataBrew interprets the data in the dataset.", + "title": "FormatOptions" }, - "Model": { - "$ref": "#/definitions/AWS::DataZone::FormType.Model", - "markdownDescription": "The model of the form type.", - "title": "Model" + "Input": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.Input", + "markdownDescription": "Information on how DataBrew can find the dataset, in either the AWS Glue Data Catalog or Amazon S3 .", + "title": "Input" }, "Name": { - "markdownDescription": "The name of the form type.", + "markdownDescription": "The unique name of the dataset.", "title": "Name", "type": "string" }, - "OwningProjectIdentifier": { - "markdownDescription": "The identifier of the project that owns the form type.", - "title": "OwningProjectIdentifier", - "type": "string" + "PathOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.PathOptions", + "markdownDescription": "A set of options that defines how DataBrew interprets an Amazon S3 path of the dataset.", + "title": "PathOptions" }, - "Status": { - "markdownDescription": "The status of the form type.", - "title": "Status", + "Source": { + "markdownDescription": "The location of the data for the dataset, either Amazon S3 or the AWS Glue Data Catalog .", + "title": "Source", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Metadata tags that have been applied to the dataset.", + "title": "Tags", + "type": "array" } }, "required": [ - "DomainIdentifier", - "Model", - "Name", - "OwningProjectIdentifier" + "Input", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::FormType" + "AWS::DataBrew::Dataset" ], "type": "string" }, @@ -109808,653 +108557,368 @@ ], "type": "object" }, - "AWS::DataZone::FormType.Model": { + "AWS::DataBrew::Dataset.CsvOptions": { "additionalProperties": false, "properties": { - "Smithy": { - "markdownDescription": "", - "title": "Smithy", + "Delimiter": { + "markdownDescription": "A single character that specifies the delimiter being used in the CSV file.", + "title": "Delimiter", "type": "string" + }, + "HeaderRow": { + "markdownDescription": "A variable that specifies whether the first row in the file is parsed as the header. If this value is false, column names are auto-generated.", + "title": "HeaderRow", + "type": "boolean" } }, "type": "object" }, - "AWS::DataZone::GroupProfile": { + "AWS::DataBrew::Dataset.DataCatalogInputDefinition": { "additionalProperties": false, "properties": { - "Condition": { + "CatalogId": { + "markdownDescription": "The unique identifier of the AWS account that holds the Data Catalog that stores the data.", + "title": "CatalogId", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DatabaseName": { + "markdownDescription": "The name of a database in the Data Catalog.", + "title": "DatabaseName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainIdentifier": { - "markdownDescription": "The identifier of the Amazon DataZone domain in which a group profile exists.", - "title": "DomainIdentifier", - "type": "string" - }, - "GroupIdentifier": { - "markdownDescription": "The ID of the group of a project member.", - "title": "GroupIdentifier", - "type": "string" - }, - "GroupType": { - "type": "string" - }, - "RolePrincipalArn": { - "type": "string" - }, - "Status": { - "markdownDescription": "The status of a group profile.", - "title": "Status", - "type": "string" - } - }, - "required": [ - "DomainIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataZone::GroupProfile" - ], + "TableName": { + "markdownDescription": "The name of a database table in the Data Catalog. This table corresponds to a DataBrew dataset.", + "title": "TableName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location", + "markdownDescription": "An Amazon location that AWS Glue Data Catalog can use as a temporary directory.", + "title": "TempDirectory" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::DataZone::Owner": { + "AWS::DataBrew::Dataset.DatabaseInputDefinition": { "additionalProperties": false, "properties": { - "Condition": { + "DatabaseTableName": { + "markdownDescription": "The table within the target database.", + "title": "DatabaseTableName", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "GlueConnectionName": { + "markdownDescription": "The AWS Glue Connection that stores the connection information for the target database.", + "title": "GlueConnectionName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainIdentifier": { - "markdownDescription": "The ID of the domain in which you want to add the entity owner.", - "title": "DomainIdentifier", - "type": "string" - }, - "EntityIdentifier": { - "markdownDescription": "The ID of the entity to which you want to add an owner.", - "title": "EntityIdentifier", - "type": "string" - }, - "EntityType": { - "markdownDescription": "The type of an entity.", - "title": "EntityType", - "type": "string" - }, - "Owner": { - "$ref": "#/definitions/AWS::DataZone::Owner.OwnerProperties", - "markdownDescription": "The owner that you want to add to the entity.", - "title": "Owner" - } - }, - "required": [ - "DomainIdentifier", - "EntityIdentifier", - "EntityType", - "Owner" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataZone::Owner" - ], + "QueryString": { + "markdownDescription": "Custom SQL to run against the provided AWS Glue connection. This SQL will be used as the input for DataBrew projects and jobs.", + "title": "QueryString", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location", + "markdownDescription": "An Amazon location that AWS Glue Data Catalog can use as a temporary directory.", + "title": "TempDirectory" } }, "required": [ - "Type", - "Properties" + "GlueConnectionName" ], "type": "object" }, - "AWS::DataZone::Owner.OwnerGroupProperties": { + "AWS::DataBrew::Dataset.DatasetParameter": { "additionalProperties": false, "properties": { - "GroupIdentifier": { - "markdownDescription": "The ID of the domain unit owners group.", - "title": "GroupIdentifier", + "CreateColumn": { + "markdownDescription": "Optional boolean value that defines whether the captured value of this parameter should be loaded as an additional column in the dataset.", + "title": "CreateColumn", + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatetimeOptions", + "markdownDescription": "Additional parameter options such as a format and a timezone. Required for datetime parameters.", + "title": "DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression", + "markdownDescription": "The optional filter expression structure to apply additional matching criteria to the parameter.", + "title": "Filter" + }, + "Name": { + "markdownDescription": "The name of the parameter that is used in the dataset's Amazon S3 path.", + "title": "Name", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of the dataset parameter, can be one of a 'String', 'Number' or 'Datetime'.", + "title": "Type", "type": "string" } }, + "required": [ + "Name", + "Type" + ], "type": "object" }, - "AWS::DataZone::Owner.OwnerProperties": { + "AWS::DataBrew::Dataset.DatetimeOptions": { "additionalProperties": false, "properties": { - "Group": { - "$ref": "#/definitions/AWS::DataZone::Owner.OwnerGroupProperties", - "markdownDescription": "Specifies that the domain unit owner is a group.", - "title": "Group" + "Format": { + "markdownDescription": "Required option, that defines the datetime format used for a date parameter in the Amazon S3 path. Should use only supported datetime specifiers and separation characters, all litera a-z or A-Z character should be escaped with single quotes. E.g. \"MM.dd.yyyy-'at'-HH:mm\".", + "title": "Format", + "type": "string" }, - "User": { - "$ref": "#/definitions/AWS::DataZone::Owner.OwnerUserProperties", - "markdownDescription": "Specifies that the domain unit owner is a user.", - "title": "User" + "LocaleCode": { + "markdownDescription": "Optional value for a non-US locale code, needed for correct interpretation of some date formats.", + "title": "LocaleCode", + "type": "string" + }, + "TimezoneOffset": { + "markdownDescription": "Optional value for a timezone offset of the datetime parameter value in the Amazon S3 path. Shouldn't be used if Format for this parameter includes timezone fields. If no offset specified, UTC is assumed.", + "title": "TimezoneOffset", + "type": "string" } }, + "required": [ + "Format" + ], "type": "object" }, - "AWS::DataZone::Owner.OwnerUserProperties": { + "AWS::DataBrew::Dataset.ExcelOptions": { "additionalProperties": false, "properties": { - "UserIdentifier": { - "markdownDescription": "The ID of the owner user.", - "title": "UserIdentifier", - "type": "string" + "HeaderRow": { + "markdownDescription": "A variable that specifies whether the first row in the file is parsed as the header. If this value is false, column names are auto-generated.", + "title": "HeaderRow", + "type": "boolean" + }, + "SheetIndexes": { + "items": { + "type": "number" + }, + "markdownDescription": "One or more sheet numbers in the Excel file that will be included in the dataset.", + "title": "SheetIndexes", + "type": "array" + }, + "SheetNames": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more named sheets in the Excel file that will be included in the dataset.", + "title": "SheetNames", + "type": "array" } }, "type": "object" }, - "AWS::DataZone::PolicyGrant": { + "AWS::DataBrew::Dataset.FilesLimit": { "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": { - "Detail": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.PolicyGrantDetail", - "markdownDescription": "The details of the policy grant member.", - "title": "Detail" - }, - "DomainIdentifier": { - "markdownDescription": "The ID of the domain where you want to add a policy grant.", - "title": "DomainIdentifier", - "type": "string" - }, - "EntityIdentifier": { - "markdownDescription": "The ID of the entity (resource) to which you want to add a policy grant.", - "title": "EntityIdentifier", - "type": "string" - }, - "EntityType": { - "markdownDescription": "The type of entity (resource) to which the grant is added.", - "title": "EntityType", - "type": "string" - }, - "PolicyType": { - "markdownDescription": "The type of policy that you want to grant.", - "title": "PolicyType", - "type": "string" - }, - "Principal": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.PolicyGrantPrincipal", - "markdownDescription": "The principal of the policy grant member.", - "title": "Principal" - } - }, - "required": [ - "DomainIdentifier", - "EntityIdentifier", - "EntityType", - "PolicyType" - ], - "type": "object" + "MaxFiles": { + "markdownDescription": "The number of Amazon S3 files to select.", + "title": "MaxFiles", + "type": "number" }, - "Type": { - "enum": [ - "AWS::DataZone::PolicyGrant" - ], + "Order": { + "markdownDescription": "A criteria to use for Amazon S3 files sorting before their selection. By default uses DESCENDING order, i.e. most recent files are selected first. Anotherpossible value is ASCENDING.", + "title": "Order", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "OrderedBy": { + "markdownDescription": "A criteria to use for Amazon S3 files sorting before their selection. By default uses LAST_MODIFIED_DATE as a sorting criteria. Currently it's the only allowed value.", + "title": "OrderedBy", "type": "string" } }, "required": [ - "Type", - "Properties" + "MaxFiles" ], "type": "object" }, - "AWS::DataZone::PolicyGrant.AddToProjectMemberPoolPolicyGrantDetail": { + "AWS::DataBrew::Dataset.FilterExpression": { "additionalProperties": false, "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" + "Expression": { + "markdownDescription": "The expression which includes condition names followed by substitution variables, possibly grouped and combined with other conditions. For example, \"(starts_with :prefix1 or starts_with :prefix2) and (ends_with :suffix1 or ends_with :suffix2)\". Substitution variables should start with ':' symbol.", + "title": "Expression", + "type": "string" + }, + "ValuesMap": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterValue" + }, + "markdownDescription": "The map of substitution variable names to their values used in this filter expression.", + "title": "ValuesMap", + "type": "array" } }, + "required": [ + "Expression", + "ValuesMap" + ], "type": "object" }, - "AWS::DataZone::PolicyGrant.CreateAssetTypePolicyGrantDetail": { + "AWS::DataBrew::Dataset.FilterValue": { "additionalProperties": false, "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" + "Value": { + "markdownDescription": "The value to be associated with the substitution variable.", + "title": "Value", + "type": "string" + }, + "ValueReference": { + "markdownDescription": "The substitution variable reference.", + "title": "ValueReference", + "type": "string" } }, + "required": [ + "Value", + "ValueReference" + ], "type": "object" }, - "AWS::DataZone::PolicyGrant.CreateDomainUnitPolicyGrantDetail": { + "AWS::DataBrew::Dataset.FormatOptions": { "additionalProperties": false, "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.CsvOptions", + "markdownDescription": "Options that define how CSV input is to be interpreted by DataBrew.", + "title": "Csv" + }, + "Excel": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.ExcelOptions", + "markdownDescription": "Options that define how Excel input is to be interpreted by DataBrew.", + "title": "Excel" + }, + "Json": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.JsonOptions", + "markdownDescription": "Options that define how JSON input is to be interpreted by DataBrew.", + "title": "Json" } }, "type": "object" }, - "AWS::DataZone::PolicyGrant.CreateEnvironmentProfilePolicyGrantDetail": { + "AWS::DataBrew::Dataset.Input": { "additionalProperties": false, "properties": { - "DomainUnitId": { - "markdownDescription": "The ID of the domain unit.", - "title": "DomainUnitId", - "type": "string" + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DataCatalogInputDefinition", + "markdownDescription": "The AWS Glue Data Catalog parameters for the data.", + "title": "DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatabaseInputDefinition", + "markdownDescription": "Connection information for dataset input files stored in a database.", + "title": "DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.Metadata", + "markdownDescription": "Contains additional resource information needed for specific datasets.", + "title": "Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location", + "markdownDescription": "The Amazon S3 location where the data is stored.", + "title": "S3InputDefinition" } }, "type": "object" }, - "AWS::DataZone::PolicyGrant.CreateFormTypePolicyGrantDetail": { + "AWS::DataBrew::Dataset.JsonOptions": { "additionalProperties": false, "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", - "title": "IncludeChildDomainUnits", + "MultiLine": { + "markdownDescription": "A value that specifies whether JSON input contains embedded new line characters.", + "title": "MultiLine", "type": "boolean" } }, "type": "object" }, - "AWS::DataZone::PolicyGrant.CreateGlossaryPolicyGrantDetail": { + "AWS::DataBrew::Dataset.Metadata": { "additionalProperties": false, "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" + "SourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) associated with the dataset. Currently, DataBrew only supports ARNs from Amazon AppFlow.", + "title": "SourceArn", + "type": "string" } }, "type": "object" }, - "AWS::DataZone::PolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetail": { + "AWS::DataBrew::Dataset.PathOptions": { "additionalProperties": false, "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether to include child domain units when creating a project from project profile policy grant details", - "title": "IncludeChildDomainUnits", - "type": "boolean" + "FilesLimit": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilesLimit", + "markdownDescription": "If provided, this structure imposes a limit on a number of files that should be selected.", + "title": "FilesLimit" }, - "ProjectProfiles": { + "LastModifiedDateCondition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression", + "markdownDescription": "If provided, this structure defines a date range for matching Amazon S3 objects based on their LastModifiedDate attribute in Amazon S3 .", + "title": "LastModifiedDateCondition" + }, + "Parameters": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataBrew::Dataset.PathParameter" }, - "markdownDescription": "Specifies project profiles when creating a project from project profile policy grant details", - "title": "ProjectProfiles", + "markdownDescription": "A structure that maps names of parameters used in the Amazon S3 path of a dataset to their definitions.", + "title": "Parameters", "type": "array" } }, "type": "object" }, - "AWS::DataZone::PolicyGrant.CreateProjectPolicyGrantDetail": { - "additionalProperties": false, - "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataZone::PolicyGrant.DomainUnitFilterForProject": { + "AWS::DataBrew::Dataset.PathParameter": { "additionalProperties": false, "properties": { - "DomainUnit": { - "markdownDescription": "The domain unit ID to use in the filter.", - "title": "DomainUnit", - "type": "string" + "DatasetParameter": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatasetParameter", + "markdownDescription": "The path parameter definition.", + "title": "DatasetParameter" }, - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether to include child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" + "PathParameterName": { + "markdownDescription": "The name of the path parameter.", + "title": "PathParameterName", + "type": "string" } }, "required": [ - "DomainUnit" + "DatasetParameter", + "PathParameterName" ], "type": "object" }, - "AWS::DataZone::PolicyGrant.DomainUnitGrantFilter": { + "AWS::DataBrew::Dataset.S3Location": { "additionalProperties": false, "properties": { - "AllDomainUnitsGrantFilter": { - "markdownDescription": "Specifies a grant filter containing all domain units.", - "title": "AllDomainUnitsGrantFilter", - "type": "object" - } - }, - "required": [ - "AllDomainUnitsGrantFilter" - ], - "type": "object" - }, - "AWS::DataZone::PolicyGrant.DomainUnitPolicyGrantPrincipal": { - "additionalProperties": false, - "properties": { - "DomainUnitDesignation": { - "markdownDescription": "Specifes the designation of the domain unit users.", - "title": "DomainUnitDesignation", + "Bucket": { + "markdownDescription": "The Amazon S3 bucket name.", + "title": "Bucket", "type": "string" }, - "DomainUnitGrantFilter": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.DomainUnitGrantFilter", - "markdownDescription": "The grant filter for the domain unit.", - "title": "DomainUnitGrantFilter" - }, - "DomainUnitIdentifier": { - "markdownDescription": "The ID of the domain unit.", - "title": "DomainUnitIdentifier", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::PolicyGrant.GroupPolicyGrantPrincipal": { - "additionalProperties": false, - "properties": { - "GroupIdentifier": { - "markdownDescription": "The ID Of the group of the group principal.", - "title": "GroupIdentifier", + "BucketOwner": { + "markdownDescription": "The AWS account ID of the bucket owner.", + "title": "BucketOwner", "type": "string" - } - }, - "required": [ - "GroupIdentifier" - ], - "type": "object" - }, - "AWS::DataZone::PolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetail": { - "additionalProperties": false, - "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy is inherited by child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataZone::PolicyGrant.OverrideProjectOwnersPolicyGrantDetail": { - "additionalProperties": false, - "properties": { - "IncludeChildDomainUnits": { - "markdownDescription": "Specifies whether the policy is inherited by child domain units.", - "title": "IncludeChildDomainUnits", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataZone::PolicyGrant.PolicyGrantDetail": { - "additionalProperties": false, - "properties": { - "AddToProjectMemberPool": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.AddToProjectMemberPoolPolicyGrantDetail", - "markdownDescription": "Specifies that the policy grant is to be added to the members of the project.", - "title": "AddToProjectMemberPool" - }, - "CreateAssetType": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateAssetTypePolicyGrantDetail", - "markdownDescription": "Specifies that this is a create asset type policy.", - "title": "CreateAssetType" - }, - "CreateDomainUnit": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateDomainUnitPolicyGrantDetail", - "markdownDescription": "Specifies that this is a create domain unit policy.", - "title": "CreateDomainUnit" - }, - "CreateEnvironment": { - "markdownDescription": "Specifies that this is a create environment policy.", - "title": "CreateEnvironment", - "type": "object" - }, - "CreateEnvironmentFromBlueprint": { - "markdownDescription": "The details of the policy of creating an environment.", - "title": "CreateEnvironmentFromBlueprint", - "type": "object" - }, - "CreateEnvironmentProfile": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateEnvironmentProfilePolicyGrantDetail", - "markdownDescription": "Specifies that this is a create environment profile policy.", - "title": "CreateEnvironmentProfile" - }, - "CreateFormType": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateFormTypePolicyGrantDetail", - "markdownDescription": "Specifies that this is a create form type policy.", - "title": "CreateFormType" - }, - "CreateGlossary": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateGlossaryPolicyGrantDetail", - "markdownDescription": "Specifies that this is a create glossary policy.", - "title": "CreateGlossary" - }, - "CreateProject": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateProjectPolicyGrantDetail", - "markdownDescription": "Specifies that this is a create project policy.", - "title": "CreateProject" - }, - "CreateProjectFromProjectProfile": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetail", - "markdownDescription": "Specifies whether to create a project from project profile.", - "title": "CreateProjectFromProjectProfile" - }, - "DelegateCreateEnvironmentProfile": { - "markdownDescription": "Specifies that this is the delegation of the create environment profile policy.", - "title": "DelegateCreateEnvironmentProfile", - "type": "object" - }, - "OverrideDomainUnitOwners": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetail", - "markdownDescription": "Specifies whether to override domain unit owners.", - "title": "OverrideDomainUnitOwners" - }, - "OverrideProjectOwners": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.OverrideProjectOwnersPolicyGrantDetail", - "markdownDescription": "Specifies whether to override project owners.", - "title": "OverrideProjectOwners" - } - }, - "type": "object" - }, - "AWS::DataZone::PolicyGrant.PolicyGrantPrincipal": { - "additionalProperties": false, - "properties": { - "DomainUnit": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.DomainUnitPolicyGrantPrincipal", - "markdownDescription": "The domain unit of the policy grant principal.", - "title": "DomainUnit" - }, - "Group": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.GroupPolicyGrantPrincipal", - "markdownDescription": "The group of the policy grant principal.", - "title": "Group" - }, - "Project": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.ProjectPolicyGrantPrincipal", - "markdownDescription": "The project of the policy grant principal.", - "title": "Project" }, - "User": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.UserPolicyGrantPrincipal", - "markdownDescription": "The user of the policy grant principal.", - "title": "User" - } - }, - "type": "object" - }, - "AWS::DataZone::PolicyGrant.ProjectGrantFilter": { - "additionalProperties": false, - "properties": { - "DomainUnitFilter": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.DomainUnitFilterForProject", - "markdownDescription": "The domain unit filter of the project grant filter.", - "title": "DomainUnitFilter" + "Key": { + "markdownDescription": "The unique name of the object in the bucket.", + "title": "Key", + "type": "string" } }, "required": [ - "DomainUnitFilter" + "Bucket" ], "type": "object" }, - "AWS::DataZone::PolicyGrant.ProjectPolicyGrantPrincipal": { - "additionalProperties": false, - "properties": { - "ProjectDesignation": { - "markdownDescription": "The project designation of the project policy grant principal.", - "title": "ProjectDesignation", - "type": "string" - }, - "ProjectGrantFilter": { - "$ref": "#/definitions/AWS::DataZone::PolicyGrant.ProjectGrantFilter", - "markdownDescription": "The project grant filter of the project policy grant principal.", - "title": "ProjectGrantFilter" - }, - "ProjectIdentifier": { - "markdownDescription": "The project ID of the project policy grant principal.", - "title": "ProjectIdentifier", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::PolicyGrant.UserPolicyGrantPrincipal": { - "additionalProperties": false, - "properties": { - "AllUsersGrantFilter": { - "markdownDescription": "The all users grant filter of the user policy grant principal.", - "title": "AllUsersGrantFilter", - "type": "object" - }, - "UserIdentifier": { - "markdownDescription": "The user ID of the user policy grant principal.", - "title": "UserIdentifier", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataZone::Project": { + "AWS::DataBrew::Job": { "additionalProperties": false, "properties": { "Condition": { @@ -110489,80 +108953,132 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of a project.", - "title": "Description", - "type": "string" - }, - "DomainIdentifier": { - "markdownDescription": "The identifier of a Amazon DataZone domain where the project exists.", - "title": "DomainIdentifier", - "type": "string" - }, - "DomainUnitId": { - "markdownDescription": "The ID of the domain unit. This parameter is not required and if it is not specified, then the project is created at the root domain unit level.", - "title": "DomainUnitId", - "type": "string" - }, - "GlossaryTerms": { + "DataCatalogOutputs": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataBrew::Job.DataCatalogOutput" }, - "markdownDescription": "The glossary terms that can be used in this Amazon DataZone project.", - "title": "GlossaryTerms", + "markdownDescription": "One or more artifacts that represent the AWS Glue Data Catalog output from running the job.", + "title": "DataCatalogOutputs", "type": "array" }, - "MembershipAssignments": { + "DatabaseOutputs": { "items": { - "$ref": "#/definitions/AWS::DataZone::Project.ProjectMembershipAssignment" + "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseOutput" }, + "markdownDescription": "Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.", + "title": "DatabaseOutputs", "type": "array" }, - "Name": { - "markdownDescription": "The name of a project.", - "title": "Name", + "DatasetName": { + "markdownDescription": "A dataset that the job is to process.", + "title": "DatasetName", "type": "string" }, - "ProjectCategory": { + "EncryptionKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an encryption key that is used to protect the job output. For more information, see [Encrypting data written by DataBrew jobs](https://docs.aws.amazon.com/databrew/latest/dg/encryption-security-configuration.html)", + "title": "EncryptionKeyArn", "type": "string" }, - "ProjectExecutionRole": { + "EncryptionMode": { + "markdownDescription": "The encryption mode for the job, which can be one of the following:\n\n- `SSE-KMS` - Server-side encryption with keys managed by AWS .\n- `SSE-S3` - Server-side encryption with keys managed by Amazon S3.", + "title": "EncryptionMode", "type": "string" }, - "ProjectProfileId": { - "markdownDescription": "The ID of the project profile.", - "title": "ProjectProfileId", + "JobSample": { + "$ref": "#/definitions/AWS::DataBrew::Job.JobSample", + "markdownDescription": "A sample configuration for profile jobs only, which determines the number of rows on which the profile job is run. If a `JobSample` value isn't provided, the default value is used. The default value is CUSTOM_ROWS for the mode parameter and 20,000 for the size parameter.", + "title": "JobSample" + }, + "LogSubscription": { + "markdownDescription": "The current status of Amazon CloudWatch logging for the job.", + "title": "LogSubscription", "type": "string" }, - "ProjectProfileVersion": { - "markdownDescription": "The project profile version to which the project should be updated. You can only specify the following string for this parameter: `latest` .", - "title": "ProjectProfileVersion", + "MaxCapacity": { + "markdownDescription": "The maximum number of nodes that can be consumed when the job processes data.", + "title": "MaxCapacity", + "type": "number" + }, + "MaxRetries": { + "markdownDescription": "The maximum number of times to retry the job after a job run fails.", + "title": "MaxRetries", + "type": "number" + }, + "Name": { + "markdownDescription": "The unique name of the job.", + "title": "Name", "type": "string" }, - "ResourceTags": { + "OutputLocation": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputLocation", + "markdownDescription": "The location in Amazon S3 where the job writes its output.", + "title": "OutputLocation" + }, + "Outputs": { "items": { - "$ref": "#/definitions/AWS::DataZone::Project.ResourceTag" + "$ref": "#/definitions/AWS::DataBrew::Job.Output" }, + "markdownDescription": "One or more artifacts that represent output from running the job.", + "title": "Outputs", "type": "array" }, - "UserParameters": { + "ProfileConfiguration": { + "$ref": "#/definitions/AWS::DataBrew::Job.ProfileConfiguration", + "markdownDescription": "Configuration for profile jobs. Configuration can be used to select columns, do evaluations, and override default parameters of evaluations. When configuration is undefined, the profile job will apply default settings to all supported columns.", + "title": "ProfileConfiguration" + }, + "ProjectName": { + "markdownDescription": "The name of the project that the job is associated with.", + "title": "ProjectName", + "type": "string" + }, + "Recipe": { + "$ref": "#/definitions/AWS::DataBrew::Job.Recipe", + "markdownDescription": "A series of data transformation steps that the job runs.", + "title": "Recipe" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role to be assumed for this job.", + "title": "RoleArn", + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataZone::Project.EnvironmentConfigurationUserParameter" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The user parameters of the project.", - "title": "UserParameters", + "markdownDescription": "Metadata tags that have been applied to the job.", + "title": "Tags", + "type": "array" + }, + "Timeout": { + "markdownDescription": "The job's timeout in minutes. A job that attempts to run longer than this timeout period ends with a status of `TIMEOUT` .", + "title": "Timeout", + "type": "number" + }, + "Type": { + "markdownDescription": "The job type of the job, which must be one of the following:\n\n- `PROFILE` - A job to analyze a dataset, to determine its size, data types, data distribution, and more.\n- `RECIPE` - A job to apply one or more transformations to a dataset.", + "title": "Type", + "type": "string" + }, + "ValidationConfigurations": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ValidationConfiguration" + }, + "markdownDescription": "List of validation configurations that are applied to the profile job.", + "title": "ValidationConfigurations", "type": "array" } }, "required": [ - "DomainIdentifier", - "Name" + "Name", + "RoleArn", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::Project" + "AWS::DataBrew::Job" ], "type": "string" }, @@ -110581,454 +109097,433 @@ ], "type": "object" }, - "AWS::DataZone::Project.EnvironmentConfigurationUserParameter": { + "AWS::DataBrew::Job.AllowedStatistics": { "additionalProperties": false, "properties": { - "EnvironmentConfigurationName": { - "markdownDescription": "The environment configuration name.", - "title": "EnvironmentConfigurationName", - "type": "string" - }, - "EnvironmentId": { - "markdownDescription": "The ID of the environment.", - "title": "EnvironmentId", - "type": "string" - }, - "EnvironmentParameters": { + "Statistics": { "items": { - "$ref": "#/definitions/AWS::DataZone::Project.EnvironmentParameter" + "type": "string" }, - "markdownDescription": "The environment parameters.", - "title": "EnvironmentParameters", + "markdownDescription": "One or more column statistics to allow for columns that contain detected entities.", + "title": "Statistics", "type": "array" } }, + "required": [ + "Statistics" + ], "type": "object" }, - "AWS::DataZone::Project.EnvironmentParameter": { + "AWS::DataBrew::Job.ColumnSelector": { "additionalProperties": false, "properties": { "Name": { - "markdownDescription": "The name of an environment profile parameter.", + "markdownDescription": "The name of a column from a dataset.", "title": "Name", "type": "string" }, - "Value": { - "markdownDescription": "The value of an environment profile parameter.", - "title": "Value", + "Regex": { + "markdownDescription": "A regular expression for selecting a column from a dataset.", + "title": "Regex", "type": "string" } }, "type": "object" }, - "AWS::DataZone::Project.Member": { + "AWS::DataBrew::Job.ColumnStatisticsConfiguration": { "additionalProperties": false, "properties": { - "GroupIdentifier": { - "type": "string" + "Selectors": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + }, + "markdownDescription": "List of column selectors. Selectors can be used to select columns from the dataset. When selectors are undefined, configuration will be applied to all supported columns.", + "title": "Selectors", + "type": "array" }, - "UserIdentifier": { + "Statistics": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration", + "markdownDescription": "Configuration for evaluations. Statistics can be used to select evaluations and override parameters of evaluations.", + "title": "Statistics" + } + }, + "required": [ + "Statistics" + ], + "type": "object" + }, + "AWS::DataBrew::Job.CsvOutputOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "markdownDescription": "A single character that specifies the delimiter used to create CSV job output.", + "title": "Delimiter", "type": "string" } }, "type": "object" }, - "AWS::DataZone::Project.ProjectMembershipAssignment": { + "AWS::DataBrew::Job.DataCatalogOutput": { "additionalProperties": false, "properties": { - "Designation": { + "CatalogId": { + "markdownDescription": "The unique identifier of the AWS account that holds the Data Catalog that stores the data.", + "title": "CatalogId", "type": "string" }, - "Member": { - "$ref": "#/definitions/AWS::DataZone::Project.Member" + "DatabaseName": { + "markdownDescription": "The name of a database in the Data Catalog.", + "title": "DatabaseName", + "type": "string" + }, + "DatabaseOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseTableOutputOptions", + "markdownDescription": "Represents options that specify how and where DataBrew writes the database output generated by recipe jobs.", + "title": "DatabaseOptions" + }, + "Overwrite": { + "markdownDescription": "A value that, if true, means that any data in the location specified for output is overwritten with new output. Not supported with DatabaseOptions.", + "title": "Overwrite", + "type": "boolean" + }, + "S3Options": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3TableOutputOptions", + "markdownDescription": "Represents options that specify how and where DataBrew writes the Amazon S3 output generated by recipe jobs.", + "title": "S3Options" + }, + "TableName": { + "markdownDescription": "The name of a table in the Data Catalog.", + "title": "TableName", + "type": "string" } }, "required": [ - "Designation", - "Member" + "DatabaseName", + "TableName" ], "type": "object" }, - "AWS::DataZone::Project.ResourceTag": { + "AWS::DataBrew::Job.DatabaseOutput": { "additionalProperties": false, "properties": { - "Key": { + "DatabaseOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseTableOutputOptions", + "markdownDescription": "Represents options that specify how and where DataBrew writes the database output generated by recipe jobs.", + "title": "DatabaseOptions" + }, + "DatabaseOutputMode": { + "markdownDescription": "The output mode to write into the database. Currently supported option: NEW_TABLE.", + "title": "DatabaseOutputMode", "type": "string" }, - "Value": { + "GlueConnectionName": { + "markdownDescription": "The AWS Glue connection that stores the connection information for the target database.", + "title": "GlueConnectionName", "type": "string" } }, "required": [ - "Key", - "Value" + "DatabaseOptions", + "GlueConnectionName" ], "type": "object" }, - "AWS::DataZone::ProjectMembership": { + "AWS::DataBrew::Job.DatabaseTableOutputOptions": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TableName": { + "markdownDescription": "A prefix for the name of a table DataBrew will create in the database.", + "title": "TableName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3Location", + "markdownDescription": "Represents an Amazon S3 location (bucket name and object key) where DataBrew can store intermediate results.", + "title": "TempDirectory" + } + }, + "required": [ + "TableName" + ], + "type": "object" + }, + "AWS::DataBrew::Job.EntityDetectorConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedStatistics": { + "$ref": "#/definitions/AWS::DataBrew::Job.AllowedStatistics", + "markdownDescription": "Configuration of statistics that are allowed to be run on columns that contain detected entities. When undefined, no statistics will be computed on columns that contain detected entities.", + "title": "AllowedStatistics" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Designation": { - "markdownDescription": "The designated role of a project member.", - "title": "Designation", - "type": "string" - }, - "DomainIdentifier": { - "markdownDescription": "The ID of the Amazon DataZone domain in which project membership is created.", - "title": "DomainIdentifier", - "type": "string" - }, - "Member": { - "$ref": "#/definitions/AWS::DataZone::ProjectMembership.Member", - "markdownDescription": "The details about a project member.", - "title": "Member" - }, - "ProjectIdentifier": { - "markdownDescription": "The ID of the project for which this project membership was created.", - "title": "ProjectIdentifier", - "type": "string" - } + "EntityTypes": { + "items": { + "type": "string" }, - "required": [ - "Designation", - "DomainIdentifier", - "Member", - "ProjectIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataZone::ProjectMembership" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "markdownDescription": "Entity types to detect. Can be any of the following:\n\n- USA_SSN\n- EMAIL\n- USA_ITIN\n- USA_PASSPORT_NUMBER\n- PHONE_NUMBER\n- USA_DRIVING_LICENSE\n- BANK_ACCOUNT\n- CREDIT_CARD\n- IP_ADDRESS\n- MAC_ADDRESS\n- USA_DEA_NUMBER\n- USA_HCPCS_CODE\n- USA_NATIONAL_PROVIDER_IDENTIFIER\n- USA_NATIONAL_DRUG_CODE\n- USA_HEALTH_INSURANCE_CLAIM_NUMBER\n- USA_MEDICARE_BENEFICIARY_IDENTIFIER\n- USA_CPT_CODE\n- PERSON_NAME\n- DATE\n\nThe Entity type group USA_ALL is also supported, and includes all of the above entity types except PERSON_NAME and DATE.", + "title": "EntityTypes", + "type": "array" } }, "required": [ - "Type", - "Properties" + "EntityTypes" ], "type": "object" }, - "AWS::DataZone::ProjectMembership.Member": { + "AWS::DataBrew::Job.JobSample": { "additionalProperties": false, "properties": { - "GroupIdentifier": { - "markdownDescription": "The ID of the group of a project member.", - "title": "GroupIdentifier", + "Mode": { + "markdownDescription": "A value that determines whether the profile job is run on the entire dataset or a specified number of rows. This value must be one of the following:\n\n- FULL_DATASET - The profile job is run on the entire dataset.\n- CUSTOM_ROWS - The profile job is run on the number of rows specified in the `Size` parameter.", + "title": "Mode", "type": "string" }, - "UserIdentifier": { - "markdownDescription": "The user ID of a project member.", - "title": "UserIdentifier", - "type": "string" + "Size": { + "markdownDescription": "The `Size` parameter is only required when the mode is CUSTOM_ROWS. The profile job is run on the specified number of rows. The maximum value for size is Long.MAX_VALUE.\n\nLong.MAX_VALUE = 9223372036854775807", + "title": "Size", + "type": "number" } }, "type": "object" }, - "AWS::DataZone::ProjectProfile": { + "AWS::DataBrew::Job.Output": { "additionalProperties": false, "properties": { - "Condition": { + "CompressionFormat": { + "markdownDescription": "The compression algorithm used to compress the output text of the job.", + "title": "CompressionFormat", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Format": { + "markdownDescription": "The data format of the output of the job.", + "title": "Format", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions", + "markdownDescription": "Represents options that define how DataBrew formats job output files.", + "title": "FormatOptions" }, - "Metadata": { - "type": "object" + "Location": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3Location", + "markdownDescription": "The location in Amazon S3 where the job writes its output.", + "title": "Location" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowCustomProjectResourceTags": { - "type": "boolean" - }, - "Description": { - "markdownDescription": "The description of the project profile.", - "title": "Description", - "type": "string" - }, - "DomainIdentifier": { - "markdownDescription": "A domain ID of the project profile.", - "title": "DomainIdentifier", - "type": "string" - }, - "DomainUnitIdentifier": { - "markdownDescription": "A domain unit ID of the project profile.", - "title": "DomainUnitIdentifier", - "type": "string" - }, - "EnvironmentConfigurations": { - "items": { - "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfiguration" - }, - "markdownDescription": "Environment configurations of a project profile.", - "title": "EnvironmentConfigurations", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of a project profile.", - "title": "Name", - "type": "string" - }, - "ProjectResourceTags": { - "items": { - "$ref": "#/definitions/AWS::DataZone::ProjectProfile.ResourceTagParameter" - }, - "type": "array" - }, - "ProjectResourceTagsDescription": { - "type": "string" - }, - "Status": { - "markdownDescription": "The status of a project profile.", - "title": "Status", - "type": "string" - }, - "UseDefaultConfigurations": { - "type": "boolean" - } - }, - "required": [ - "Name" - ], - "type": "object" + "MaxOutputFiles": { + "markdownDescription": "The maximum number of files to be generated by the job and written to the output folder.", + "title": "MaxOutputFiles", + "type": "number" }, - "Type": { - "enum": [ - "AWS::DataZone::ProjectProfile" - ], - "type": "string" + "Overwrite": { + "markdownDescription": "A value that, if true, means that any data in the location specified for output is overwritten with new output.", + "title": "Overwrite", + "type": "boolean" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "PartitionColumns": { + "items": { + "type": "string" + }, + "markdownDescription": "The names of one or more partition columns for the output of the job.", + "title": "PartitionColumns", + "type": "array" } }, "required": [ - "Type", - "Properties" + "Location" ], "type": "object" }, - "AWS::DataZone::ProjectProfile.AwsAccount": { + "AWS::DataBrew::Job.OutputFormatOptions": { "additionalProperties": false, "properties": { - "AwsAccountId": { - "markdownDescription": "The account ID of a project.", - "title": "AwsAccountId", - "type": "string" + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions", + "markdownDescription": "Represents a set of options that define the structure of comma-separated value (CSV) job output.", + "title": "Csv" } }, - "required": [ - "AwsAccountId" - ], "type": "object" }, - "AWS::DataZone::ProjectProfile.EnvironmentConfiguration": { + "AWS::DataBrew::Job.OutputLocation": { "additionalProperties": false, "properties": { - "AwsAccount": { - "$ref": "#/definitions/AWS::DataZone::ProjectProfile.AwsAccount", - "markdownDescription": "The AWS account of the environment.", - "title": "AwsAccount" - }, - "AwsRegion": { - "$ref": "#/definitions/AWS::DataZone::ProjectProfile.Region", - "markdownDescription": "The AWS Region of the environment.", - "title": "AwsRegion" - }, - "ConfigurationParameters": { - "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfigurationParametersDetails", - "markdownDescription": "The configuration parameters of the environment.", - "title": "ConfigurationParameters" - }, - "DeploymentMode": { - "markdownDescription": "The deployment mode of the environment.", - "title": "DeploymentMode", - "type": "string" - }, - "DeploymentOrder": { - "markdownDescription": "The deployment order of the environment.", - "title": "DeploymentOrder", - "type": "number" - }, - "Description": { - "markdownDescription": "The environment description.", - "title": "Description", - "type": "string" - }, - "EnvironmentBlueprintId": { - "markdownDescription": "The environment blueprint ID.", - "title": "EnvironmentBlueprintId", + "Bucket": { + "markdownDescription": "The Amazon S3 bucket name.", + "title": "Bucket", "type": "string" }, - "EnvironmentConfigurationId": { + "BucketOwner": { "markdownDescription": "", - "title": "EnvironmentConfigurationId", + "title": "BucketOwner", "type": "string" }, - "Name": { - "markdownDescription": "The environment name.", - "title": "Name", + "Key": { + "markdownDescription": "The unique name of the object in the bucket.", + "title": "Key", "type": "string" } }, "required": [ - "AwsRegion", - "EnvironmentBlueprintId", - "Name" + "Bucket" ], "type": "object" }, - "AWS::DataZone::ProjectProfile.EnvironmentConfigurationParameter": { + "AWS::DataBrew::Job.ProfileConfiguration": { "additionalProperties": false, "properties": { - "IsEditable": { - "markdownDescription": "Specifies whether the environment parameter is editable.", - "title": "IsEditable", - "type": "boolean" + "ColumnStatisticsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnStatisticsConfiguration" + }, + "markdownDescription": "List of configurations for column evaluations. ColumnStatisticsConfigurations are used to select evaluations and override parameters of evaluations for particular columns. When ColumnStatisticsConfigurations is undefined, the profile job will profile all supported columns and run all supported evaluations.", + "title": "ColumnStatisticsConfigurations", + "type": "array" + }, + "DatasetStatisticsConfiguration": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration", + "markdownDescription": "Configuration for inter-column evaluations. Configuration can be used to select evaluations and override parameters of evaluations. When configuration is undefined, the profile job will run all supported inter-column evaluations.", + "title": "DatasetStatisticsConfiguration" + }, + "EntityDetectorConfiguration": { + "$ref": "#/definitions/AWS::DataBrew::Job.EntityDetectorConfiguration", + "markdownDescription": "Configuration of entity detection for a profile job. When undefined, entity detection is disabled.", + "title": "EntityDetectorConfiguration" }, + "ProfileColumns": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + }, + "markdownDescription": "List of column selectors. ProfileColumns can be used to select columns from the dataset. When ProfileColumns is undefined, the profile job will profile all supported columns.", + "title": "ProfileColumns", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.Recipe": { + "additionalProperties": false, + "properties": { "Name": { - "markdownDescription": "The name of the environment configuration parameter.", + "markdownDescription": "The unique name for the recipe.", "title": "Name", "type": "string" }, - "Value": { - "markdownDescription": "The value of the environment configuration parameter.", - "title": "Value", + "Version": { + "markdownDescription": "The identifier for the version for the recipe.", + "title": "Version", "type": "string" } }, + "required": [ + "Name" + ], "type": "object" }, - "AWS::DataZone::ProjectProfile.EnvironmentConfigurationParametersDetails": { + "AWS::DataBrew::Job.S3Location": { "additionalProperties": false, "properties": { - "ParameterOverrides": { - "items": { - "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfigurationParameter" - }, - "markdownDescription": "The parameter overrides.", - "title": "ParameterOverrides", - "type": "array" + "Bucket": { + "markdownDescription": "The Amazon S3 bucket name.", + "title": "Bucket", + "type": "string" }, - "ResolvedParameters": { - "items": { - "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfigurationParameter" - }, - "markdownDescription": "The resolved environment configuration parameters.", - "title": "ResolvedParameters", - "type": "array" + "BucketOwner": { + "markdownDescription": "The AWS account ID of the bucket owner.", + "title": "BucketOwner", + "type": "string" }, - "SsmPath": { - "markdownDescription": "Ssm path environment configuration parameters.", - "title": "SsmPath", + "Key": { + "markdownDescription": "The unique name of the object in the bucket.", + "title": "Key", "type": "string" } }, + "required": [ + "Bucket" + ], "type": "object" }, - "AWS::DataZone::ProjectProfile.Region": { + "AWS::DataBrew::Job.S3TableOutputOptions": { "additionalProperties": false, "properties": { - "RegionName": { - "markdownDescription": "The AWS Region name.", - "title": "RegionName", + "Location": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3Location", + "markdownDescription": "Represents an Amazon S3 location (bucket name and object key) where DataBrew can write output from a job.", + "title": "Location" + } + }, + "required": [ + "Location" + ], + "type": "object" + }, + "AWS::DataBrew::Job.StatisticOverride": { + "additionalProperties": false, + "properties": { + "Parameters": { + "additionalProperties": true, + "markdownDescription": "A map that includes overrides of an evaluation\u2019s parameters.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Parameters", + "type": "object" + }, + "Statistic": { + "markdownDescription": "The name of an evaluation", + "title": "Statistic", "type": "string" } }, "required": [ - "RegionName" + "Parameters", + "Statistic" ], "type": "object" }, - "AWS::DataZone::ProjectProfile.ResourceTagParameter": { + "AWS::DataBrew::Job.StatisticsConfiguration": { "additionalProperties": false, "properties": { - "IsValueEditable": { - "type": "boolean" + "IncludedStatistics": { + "items": { + "type": "string" + }, + "markdownDescription": "List of included evaluations. When the list is undefined, all supported evaluations will be included.", + "title": "IncludedStatistics", + "type": "array" }, - "Key": { + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticOverride" + }, + "markdownDescription": "List of overrides for evaluations.", + "title": "Overrides", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.ValidationConfiguration": { + "additionalProperties": false, + "properties": { + "RulesetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the ruleset to be validated in the profile job. The TargetArn of the selected ruleset should be the same as the Amazon Resource Name (ARN) of the dataset that is associated with the profile job.", + "title": "RulesetArn", "type": "string" }, - "Value": { + "ValidationMode": { + "markdownDescription": "Mode of data quality validation. Default mode is \u201cCHECK_ALL\u201d which verifies all rules defined in the selected ruleset.", + "title": "ValidationMode", "type": "string" } }, "required": [ - "IsValueEditable", - "Key", - "Value" + "RulesetArn" ], "type": "object" }, - "AWS::DataZone::SubscriptionTarget": { + "AWS::DataBrew::Project": { "additionalProperties": false, "properties": { "Condition": { @@ -111063,75 +109558,51 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicableAssetTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The asset types included in the subscription target.", - "title": "ApplicableAssetTypes", - "type": "array" - }, - "AuthorizedPrincipals": { - "items": { - "type": "string" - }, - "markdownDescription": "The authorized principals included in the subscription target.", - "title": "AuthorizedPrincipals", - "type": "array" - }, - "DomainIdentifier": { - "markdownDescription": "The ID of the Amazon DataZone domain in which subscription target is created.", - "title": "DomainIdentifier", + "DatasetName": { + "markdownDescription": "The dataset that the project is to act upon.", + "title": "DatasetName", "type": "string" }, - "EnvironmentIdentifier": { - "markdownDescription": "The ID of the environment in which subscription target is created.", - "title": "EnvironmentIdentifier", + "Name": { + "markdownDescription": "The unique name of a project.", + "title": "Name", "type": "string" }, - "ManageAccessRole": { - "markdownDescription": "The manage access role that is used to create the subscription target.", - "title": "ManageAccessRole", + "RecipeName": { + "markdownDescription": "The name of a recipe that will be developed during a project session.", + "title": "RecipeName", "type": "string" }, - "Name": { - "markdownDescription": "The name of the subscription target.", - "title": "Name", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role that will be assumed for this project.", + "title": "RoleArn", "type": "string" }, - "Provider": { - "markdownDescription": "The provider of the subscription target.", - "title": "Provider", - "type": "string" + "Sample": { + "$ref": "#/definitions/AWS::DataBrew::Project.Sample", + "markdownDescription": "The sample size and sampling type to apply to the data. If this parameter isn't specified, then the sample consists of the first 500 rows from the dataset.", + "title": "Sample" }, - "SubscriptionTargetConfig": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataZone::SubscriptionTarget.SubscriptionTargetForm" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The configuration of the subscription target.", - "title": "SubscriptionTargetConfig", + "markdownDescription": "Metadata tags that have been applied to the project.", + "title": "Tags", "type": "array" - }, - "Type": { - "markdownDescription": "The type of the subscription target.", - "title": "Type", - "type": "string" } }, "required": [ - "ApplicableAssetTypes", - "AuthorizedPrincipals", - "DomainIdentifier", - "EnvironmentIdentifier", + "DatasetName", "Name", - "SubscriptionTargetConfig", - "Type" + "RecipeName", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::SubscriptionTarget" + "AWS::DataBrew::Project" ], "type": "string" }, @@ -111150,27 +109621,26 @@ ], "type": "object" }, - "AWS::DataZone::SubscriptionTarget.SubscriptionTargetForm": { + "AWS::DataBrew::Project.Sample": { "additionalProperties": false, "properties": { - "Content": { - "markdownDescription": "The content of the subscription target configuration.", - "title": "Content", - "type": "string" + "Size": { + "markdownDescription": "The number of rows in the sample.", + "title": "Size", + "type": "number" }, - "FormName": { - "markdownDescription": "The form name included in the subscription target configuration.", - "title": "FormName", + "Type": { + "markdownDescription": "The way in which DataBrew obtains rows from a dataset.", + "title": "Type", "type": "string" } }, "required": [ - "Content", - "FormName" + "Type" ], "type": "object" }, - "AWS::DataZone::UserProfile": { + "AWS::DataBrew::Recipe": { "additionalProperties": false, "properties": { "Condition": { @@ -111205,39 +109675,42 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainIdentifier": { - "markdownDescription": "The identifier of a Amazon DataZone domain in which a user profile exists.", - "title": "DomainIdentifier", - "type": "string" - }, - "SessionName": { + "Description": { + "markdownDescription": "The description of the recipe.", + "title": "Description", "type": "string" }, - "Status": { - "markdownDescription": "The status of the user profile.", - "title": "Status", + "Name": { + "markdownDescription": "The unique name for the recipe.", + "title": "Name", "type": "string" }, - "UserIdentifier": { - "markdownDescription": "The identifier of the user for which the user profile is created.", - "title": "UserIdentifier", - "type": "string" + "Steps": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" + }, + "markdownDescription": "A list of steps that are defined by the recipe.", + "title": "Steps", + "type": "array" }, - "UserType": { - "markdownDescription": "The user type of the user for which the user profile is created.", - "title": "UserType", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Metadata tags that have been applied to the recipe.", + "title": "Tags", + "type": "array" } }, "required": [ - "DomainIdentifier", - "UserIdentifier" + "Name", + "Steps" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataZone::UserProfile" + "AWS::DataBrew::Recipe" ], "type": "string" }, @@ -111256,61 +109729,670 @@ ], "type": "object" }, - "AWS::DataZone::UserProfile.IamUserProfileDetails": { + "AWS::DataBrew::Recipe.Action": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "", - "title": "Arn", + "Operation": { + "markdownDescription": "The name of a valid DataBrew transformation to be performed on the data.", + "title": "Operation", "type": "string" }, - "GroupProfileId": { + "Parameters": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeParameters", + "markdownDescription": "Contextual parameters for the transformation.", + "title": "Parameters" + } + }, + "required": [ + "Operation" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.ConditionExpression": { + "additionalProperties": false, + "properties": { + "Condition": { + "markdownDescription": "A specific condition to apply to a recipe action. For more information, see [Recipe structure](https://docs.aws.amazon.com/databrew/latest/dg/recipe-structure.html) in the *AWS Glue DataBrew Developer Guide* .", + "title": "Condition", "type": "string" }, - "SessionName": { + "TargetColumn": { + "markdownDescription": "A column to apply this condition to.", + "title": "TargetColumn", + "type": "string" + }, + "Value": { + "markdownDescription": "A value that the condition must evaluate to for the condition to succeed.", + "title": "Value", "type": "string" } }, + "required": [ + "Condition", + "TargetColumn" + ], "type": "object" }, - "AWS::DataZone::UserProfile.SsoUserProfileDetails": { + "AWS::DataBrew::Recipe.DataCatalogInputDefinition": { "additionalProperties": false, "properties": { - "FirstName": { - "markdownDescription": "", - "title": "FirstName", + "CatalogId": { + "markdownDescription": "The unique identifier of the AWS account that holds the Data Catalog that stores the data.", + "title": "CatalogId", "type": "string" }, - "LastName": { - "markdownDescription": "", - "title": "LastName", + "DatabaseName": { + "markdownDescription": "The name of a database in the Data Catalog.", + "title": "DatabaseName", "type": "string" }, - "Username": { - "markdownDescription": "", - "title": "Username", + "TableName": { + "markdownDescription": "The name of a database table in the Data Catalog. This table corresponds to a DataBrew dataset.", + "title": "TableName", "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location", + "markdownDescription": "Represents an Amazon location where DataBrew can store intermediate results.", + "title": "TempDirectory" } }, "type": "object" }, - "AWS::DataZone::UserProfile.UserProfileDetails": { + "AWS::DataBrew::Recipe.Input": { "additionalProperties": false, "properties": { - "Iam": { - "$ref": "#/definitions/AWS::DataZone::UserProfile.IamUserProfileDetails", - "markdownDescription": "", - "title": "Iam" + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition", + "markdownDescription": "The AWS Glue Data Catalog parameters for the data.", + "title": "DataCatalogInputDefinition" }, - "Sso": { - "$ref": "#/definitions/AWS::DataZone::UserProfile.SsoUserProfileDetails", - "markdownDescription": "", - "title": "Sso" + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location", + "markdownDescription": "The Amazon S3 location where the data is stored.", + "title": "S3InputDefinition" } }, "type": "object" }, - "AWS::Deadline::Budget": { + "AWS::DataBrew::Recipe.RecipeParameters": { + "additionalProperties": false, + "properties": { + "AggregateFunction": { + "markdownDescription": "The name of an aggregation function to apply.", + "title": "AggregateFunction", + "type": "string" + }, + "Base": { + "markdownDescription": "The number of digits used in a counting system.", + "title": "Base", + "type": "string" + }, + "CaseStatement": { + "markdownDescription": "A case statement associated with a recipe.", + "title": "CaseStatement", + "type": "string" + }, + "CategoryMap": { + "markdownDescription": "A category map used for one-hot encoding.", + "title": "CategoryMap", + "type": "string" + }, + "CharsToRemove": { + "markdownDescription": "Characters to remove from a step that applies one-hot encoding or tokenization.", + "title": "CharsToRemove", + "type": "string" + }, + "CollapseConsecutiveWhitespace": { + "markdownDescription": "Remove any non-word non-punctuation character.", + "title": "CollapseConsecutiveWhitespace", + "type": "string" + }, + "ColumnDataType": { + "markdownDescription": "The data type of the column.", + "title": "ColumnDataType", + "type": "string" + }, + "ColumnRange": { + "markdownDescription": "A range of columns to which a step is applied.", + "title": "ColumnRange", + "type": "string" + }, + "Count": { + "markdownDescription": "The number of times a string needs to be repeated.", + "title": "Count", + "type": "string" + }, + "CustomCharacters": { + "markdownDescription": "One or more characters that can be substituted or removed, depending on the context.", + "title": "CustomCharacters", + "type": "string" + }, + "CustomStopWords": { + "markdownDescription": "A list of words to ignore in a step that applies word tokenization.", + "title": "CustomStopWords", + "type": "string" + }, + "CustomValue": { + "markdownDescription": "A list of custom values to use in a step that requires that you provide a value to finish the operation.", + "title": "CustomValue", + "type": "string" + }, + "DatasetsColumns": { + "markdownDescription": "A list of the dataset columns included in a project.", + "title": "DatasetsColumns", + "type": "string" + }, + "DateAddValue": { + "markdownDescription": "A value that specifies how many units of time to add or subtract for a date math operation.", + "title": "DateAddValue", + "type": "string" + }, + "DateTimeFormat": { + "markdownDescription": "A date format to apply to a date.", + "title": "DateTimeFormat", + "type": "string" + }, + "DateTimeParameters": { + "markdownDescription": "A set of parameters associated with a datetime.", + "title": "DateTimeParameters", + "type": "string" + }, + "DeleteOtherRows": { + "markdownDescription": "Determines whether unmapped rows in a categorical mapping should be deleted", + "title": "DeleteOtherRows", + "type": "string" + }, + "Delimiter": { + "markdownDescription": "The delimiter to use when parsing separated values in a text file.", + "title": "Delimiter", + "type": "string" + }, + "EndPattern": { + "markdownDescription": "The end pattern to locate.", + "title": "EndPattern", + "type": "string" + }, + "EndPosition": { + "markdownDescription": "The end position to locate.", + "title": "EndPosition", + "type": "string" + }, + "EndValue": { + "markdownDescription": "The end value to locate.", + "title": "EndValue", + "type": "string" + }, + "ExpandContractions": { + "markdownDescription": "A list of word contractions and what they expand to. For eample: *can't* ; *cannot* ; *can not* .", + "title": "ExpandContractions", + "type": "string" + }, + "Exponent": { + "markdownDescription": "The exponent to apply in an exponential operation.", + "title": "Exponent", + "type": "string" + }, + "FalseString": { + "markdownDescription": "A value that represents `FALSE` .", + "title": "FalseString", + "type": "string" + }, + "GroupByAggFunctionOptions": { + "markdownDescription": "Specifies options to apply to the `GROUP BY` used in an aggregation.", + "title": "GroupByAggFunctionOptions", + "type": "string" + }, + "GroupByColumns": { + "markdownDescription": "The columns to use in the `GROUP BY` clause.", + "title": "GroupByColumns", + "type": "string" + }, + "HiddenColumns": { + "markdownDescription": "A list of columns to hide.", + "title": "HiddenColumns", + "type": "string" + }, + "IgnoreCase": { + "markdownDescription": "Indicates that lower and upper case letters are treated equally.", + "title": "IgnoreCase", + "type": "string" + }, + "IncludeInSplit": { + "markdownDescription": "Indicates if this column is participating in a split transform.", + "title": "IncludeInSplit", + "type": "string" + }, + "Input": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.Input", + "markdownDescription": "The input location to load the dataset from - Amazon S3 or AWS Glue Data Catalog .", + "title": "Input" + }, + "Interval": { + "markdownDescription": "The number of characters to split by.", + "title": "Interval", + "type": "string" + }, + "IsText": { + "markdownDescription": "Indicates if the content is text.", + "title": "IsText", + "type": "string" + }, + "JoinKeys": { + "markdownDescription": "The keys or columns involved in a join.", + "title": "JoinKeys", + "type": "string" + }, + "JoinType": { + "markdownDescription": "The type of join to use, for example, `INNER JOIN` , `OUTER JOIN` , and so on.", + "title": "JoinType", + "type": "string" + }, + "LeftColumns": { + "markdownDescription": "The columns on the left side of the join.", + "title": "LeftColumns", + "type": "string" + }, + "Limit": { + "markdownDescription": "The number of times to perform `split` or `replaceBy` in a string", + "title": "Limit", + "type": "string" + }, + "LowerBound": { + "markdownDescription": "The lower boundary for a value.", + "title": "LowerBound", + "type": "string" + }, + "MapType": { + "markdownDescription": "The type of mappings to apply to construct a new dynamic frame.", + "title": "MapType", + "type": "string" + }, + "ModeType": { + "markdownDescription": "Determines the manner in which mode value is calculated, in case there is more than one mode value. Valid values: `NONE` | `AVERAGE` | `MINIMUM` | `MAXIMUM`", + "title": "ModeType", + "type": "string" + }, + "MultiLine": { + "markdownDescription": "Specifies whether JSON input contains embedded new line characters.", + "title": "MultiLine", + "type": "boolean" + }, + "NumRows": { + "markdownDescription": "The number of rows to consider in a window.", + "title": "NumRows", + "type": "string" + }, + "NumRowsAfter": { + "markdownDescription": "The number of rows to consider after the current row in a window", + "title": "NumRowsAfter", + "type": "string" + }, + "NumRowsBefore": { + "markdownDescription": "The number of rows to consider before the current row in a window", + "title": "NumRowsBefore", + "type": "string" + }, + "OrderByColumn": { + "markdownDescription": "A column to sort the results by.", + "title": "OrderByColumn", + "type": "string" + }, + "OrderByColumns": { + "markdownDescription": "The columns to sort the results by.", + "title": "OrderByColumns", + "type": "string" + }, + "Other": { + "markdownDescription": "The value to assign to unmapped cells, in categorical mapping", + "title": "Other", + "type": "string" + }, + "Pattern": { + "markdownDescription": "The pattern to locate.", + "title": "Pattern", + "type": "string" + }, + "PatternOption1": { + "markdownDescription": "The starting pattern to split between.", + "title": "PatternOption1", + "type": "string" + }, + "PatternOption2": { + "markdownDescription": "The ending pattern to split between.", + "title": "PatternOption2", + "type": "string" + }, + "PatternOptions": { + "markdownDescription": "For splitting by multiple delimiters: A JSON-encoded string that lists the patterns in the format. For example: `[{\\\"pattern\\\":\\\"1\\\",\\\"includeInSplit\\\":true}]`", + "title": "PatternOptions", + "type": "string" + }, + "Period": { + "markdownDescription": "The size of the rolling window.", + "title": "Period", + "type": "string" + }, + "Position": { + "markdownDescription": "The character index within a string", + "title": "Position", + "type": "string" + }, + "RemoveAllPunctuation": { + "markdownDescription": "If `true` , removes all of the following characters: `.` `.!` `.,` `.?`", + "title": "RemoveAllPunctuation", + "type": "string" + }, + "RemoveAllQuotes": { + "markdownDescription": "If `true` , removes all single quotes and double quotes.", + "title": "RemoveAllQuotes", + "type": "string" + }, + "RemoveAllWhitespace": { + "markdownDescription": "If `true` , removes all whitespaces from the value.", + "title": "RemoveAllWhitespace", + "type": "string" + }, + "RemoveCustomCharacters": { + "markdownDescription": "If `true` , removes all chraracters specified by `CustomCharacters` .", + "title": "RemoveCustomCharacters", + "type": "string" + }, + "RemoveCustomValue": { + "markdownDescription": "If `true` , removes all chraracters specified by `CustomValue` .", + "title": "RemoveCustomValue", + "type": "string" + }, + "RemoveLeadingAndTrailingPunctuation": { + "markdownDescription": "If `true` , removes the following characters if they occur at the start or end of the value: `.` `!` `,` `?`", + "title": "RemoveLeadingAndTrailingPunctuation", + "type": "string" + }, + "RemoveLeadingAndTrailingQuotes": { + "markdownDescription": "If `true` , removes single quotes and double quotes from the beginning and end of the value.", + "title": "RemoveLeadingAndTrailingQuotes", + "type": "string" + }, + "RemoveLeadingAndTrailingWhitespace": { + "markdownDescription": "If `true` , removes all whitespaces from the beginning and end of the value.", + "title": "RemoveLeadingAndTrailingWhitespace", + "type": "string" + }, + "RemoveLetters": { + "markdownDescription": "If `true` , removes all uppercase and lowercase alphabetic characters (A through Z; a through z).", + "title": "RemoveLetters", + "type": "string" + }, + "RemoveNumbers": { + "markdownDescription": "If `true` , removes all numeric characters (0 through 9).", + "title": "RemoveNumbers", + "type": "string" + }, + "RemoveSourceColumn": { + "markdownDescription": "If `true` , the source column will be removed after un-nesting that column. (Used with nested column types, such as Map, Struct, or Array.)", + "title": "RemoveSourceColumn", + "type": "string" + }, + "RemoveSpecialCharacters": { + "markdownDescription": "If `true` , removes all of the following characters: `! \" # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \\ ] ^ _ ` { | } ~`", + "title": "RemoveSpecialCharacters", + "type": "string" + }, + "RightColumns": { + "markdownDescription": "The columns on the right side of a join.", + "title": "RightColumns", + "type": "string" + }, + "SampleSize": { + "markdownDescription": "The number of rows in the sample.", + "title": "SampleSize", + "type": "string" + }, + "SampleType": { + "markdownDescription": "The sampling type to apply to the dataset. Valid values: `FIRST_N` | `LAST_N` | `RANDOM`", + "title": "SampleType", + "type": "string" + }, + "SecondInput": { + "markdownDescription": "A object value to indicate the second dataset used in a join.", + "title": "SecondInput", + "type": "string" + }, + "SecondaryInputs": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" + }, + "markdownDescription": "A list of secondary inputs in a UNION transform", + "title": "SecondaryInputs", + "type": "array" + }, + "SheetIndexes": { + "items": { + "type": "number" + }, + "markdownDescription": "One or more sheet numbers in the Excel file, which will be included in a dataset.", + "title": "SheetIndexes", + "type": "array" + }, + "SheetNames": { + "items": { + "type": "string" + }, + "markdownDescription": "Oone or more named sheets in the Excel file, which will be included in a dataset.", + "title": "SheetNames", + "type": "array" + }, + "SourceColumn": { + "markdownDescription": "A source column needed for an operation, step, or transform.", + "title": "SourceColumn", + "type": "string" + }, + "SourceColumn1": { + "markdownDescription": "A source column needed for an operation, step, or transform.", + "title": "SourceColumn1", + "type": "string" + }, + "SourceColumn2": { + "markdownDescription": "A source column needed for an operation, step, or transform.", + "title": "SourceColumn2", + "type": "string" + }, + "SourceColumns": { + "markdownDescription": "A list of source columns needed for an operation, step, or transform.", + "title": "SourceColumns", + "type": "string" + }, + "StartColumnIndex": { + "markdownDescription": "The index number of the first column used by an operation, step, or transform.", + "title": "StartColumnIndex", + "type": "string" + }, + "StartPattern": { + "markdownDescription": "The starting pattern to locate.", + "title": "StartPattern", + "type": "string" + }, + "StartPosition": { + "markdownDescription": "The starting position to locate.", + "title": "StartPosition", + "type": "string" + }, + "StartValue": { + "markdownDescription": "The starting value to locate.", + "title": "StartValue", + "type": "string" + }, + "StemmingMode": { + "markdownDescription": "Indicates this operation uses stems and lemmas (base words) for word tokenization.", + "title": "StemmingMode", + "type": "string" + }, + "StepCount": { + "markdownDescription": "The total number of transforms in this recipe.", + "title": "StepCount", + "type": "string" + }, + "StepIndex": { + "markdownDescription": "The index ID of a step.", + "title": "StepIndex", + "type": "string" + }, + "StopWordsMode": { + "markdownDescription": "Indicates this operation uses stop words as part of word tokenization.", + "title": "StopWordsMode", + "type": "string" + }, + "Strategy": { + "markdownDescription": "The resolution strategy to apply in resolving ambiguities.", + "title": "Strategy", + "type": "string" + }, + "TargetColumn": { + "markdownDescription": "The column targeted by this operation.", + "title": "TargetColumn", + "type": "string" + }, + "TargetColumnNames": { + "markdownDescription": "The names to give columns altered by this operation.", + "title": "TargetColumnNames", + "type": "string" + }, + "TargetDateFormat": { + "markdownDescription": "The date format to convert to.", + "title": "TargetDateFormat", + "type": "string" + }, + "TargetIndex": { + "markdownDescription": "The index number of an object that is targeted by this operation.", + "title": "TargetIndex", + "type": "string" + }, + "TimeZone": { + "markdownDescription": "The current timezone that you want to use for dates.", + "title": "TimeZone", + "type": "string" + }, + "TokenizerPattern": { + "markdownDescription": "A regex expression to use when splitting text into terms, also called words or tokens.", + "title": "TokenizerPattern", + "type": "string" + }, + "TrueString": { + "markdownDescription": "A value to use to represent `TRUE` .", + "title": "TrueString", + "type": "string" + }, + "UdfLang": { + "markdownDescription": "The language that's used in the user-defined function.", + "title": "UdfLang", + "type": "string" + }, + "Units": { + "markdownDescription": "Specifies a unit of time. For example: `MINUTES` ; `SECONDS` ; `HOURS` ; etc.", + "title": "Units", + "type": "string" + }, + "UnpivotColumn": { + "markdownDescription": "Cast columns as rows, so that each value is a different row in a single column.", + "title": "UnpivotColumn", + "type": "string" + }, + "UpperBound": { + "markdownDescription": "The upper boundary for a value.", + "title": "UpperBound", + "type": "string" + }, + "UseNewDataFrame": { + "markdownDescription": "Create a new container to hold a dataset.", + "title": "UseNewDataFrame", + "type": "string" + }, + "Value": { + "markdownDescription": "A static value that can be used in a comparison, a substitution, or in another context-specific way. A `Value` can be a number, string, or other datatype, depending on the recipe action in which it's used.", + "title": "Value", + "type": "string" + }, + "Value1": { + "markdownDescription": "A value that's used by this operation.", + "title": "Value1", + "type": "string" + }, + "Value2": { + "markdownDescription": "A value that's used by this operation.", + "title": "Value2", + "type": "string" + }, + "ValueColumn": { + "markdownDescription": "The column that is provided as a value that's used by this operation.", + "title": "ValueColumn", + "type": "string" + }, + "ViewFrame": { + "markdownDescription": "The subset of rows currently available for viewing.", + "title": "ViewFrame", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeStep": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.Action", + "markdownDescription": "The particular action to be performed in the recipe step.", + "title": "Action" + }, + "ConditionExpressions": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" + }, + "markdownDescription": "One or more conditions that must be met for the recipe step to succeed.\n\n> All of the conditions in the array must be met. In other words, all of the conditions must be combined using a logical AND operation.", + "title": "ConditionExpressions", + "type": "array" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The Amazon S3 bucket name.", + "title": "Bucket", + "type": "string" + }, + "Key": { + "markdownDescription": "The unique name of the object in the bucket.", + "title": "Key", + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.SecondaryInput": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition", + "markdownDescription": "The AWS Glue Data Catalog parameters for the data.", + "title": "DataCatalogInputDefinition" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location", + "markdownDescription": "The Amazon S3 location where the data is stored.", + "title": "S3InputDefinition" + } + }, + "type": "object" + }, + "AWS::DataBrew::Ruleset": { "additionalProperties": false, "properties": { "Condition": { @@ -111345,50 +110427,48 @@ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Budget.BudgetActionToAdd" - }, - "type": "array" - }, - "ApproximateDollarLimit": { - "type": "number" - }, "Description": { + "markdownDescription": "The description of the ruleset.", + "title": "Description", "type": "string" }, - "DisplayName": { - "type": "string" - }, - "FarmId": { + "Name": { + "markdownDescription": "The name of the ruleset.", + "title": "Name", "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::Deadline::Budget.BudgetSchedule" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Ruleset.Rule" + }, + "markdownDescription": "Contains metadata about the ruleset.", + "title": "Rules", + "type": "array" }, "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" }, - "UsageTrackingResource": { - "$ref": "#/definitions/AWS::Deadline::Budget.UsageTrackingResource" + "TargetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of a resource (dataset) that the ruleset is associated with.", + "title": "TargetArn", + "type": "string" } }, "required": [ - "Actions", - "ApproximateDollarLimit", - "DisplayName", - "FarmId", - "Schedule", - "UsageTrackingResource" + "Name", + "Rules", + "TargetArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Budget" + "AWS::DataBrew::Ruleset" ], "type": "string" }, @@ -111407,66 +110487,113 @@ ], "type": "object" }, - "AWS::Deadline::Budget.BudgetActionToAdd": { + "AWS::DataBrew::Ruleset.ColumnSelector": { "additionalProperties": false, "properties": { - "Description": { + "Name": { + "markdownDescription": "The name of a column from a dataset.", + "title": "Name", "type": "string" }, - "ThresholdPercentage": { - "type": "number" - }, - "Type": { + "Regex": { + "markdownDescription": "A regular expression for selecting a column from a dataset.", + "title": "Regex", "type": "string" } }, - "required": [ - "ThresholdPercentage", - "Type" - ], "type": "object" }, - "AWS::Deadline::Budget.BudgetSchedule": { + "AWS::DataBrew::Ruleset.Rule": { "additionalProperties": false, "properties": { - "Fixed": { - "$ref": "#/definitions/AWS::Deadline::Budget.FixedBudgetSchedule" + "CheckExpression": { + "markdownDescription": "The expression which includes column references, condition names followed by variable references, possibly grouped and combined with other conditions. For example, `(:col1 starts_with :prefix1 or :col1 starts_with :prefix2) and (:col1 ends_with :suffix1 or :col1 ends_with :suffix2)` . Column and value references are substitution variables that should start with the ':' symbol. Depending on the context, substitution variables' values can be either an actual value or a column name. These values are defined in the SubstitutionMap. If a CheckExpression starts with a column reference, then ColumnSelectors in the rule should be null. If ColumnSelectors has been defined, then there should be no columnn reference in the left side of a condition, for example, `is_between :val1 and :val2` .", + "title": "CheckExpression", + "type": "string" + }, + "ColumnSelectors": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Ruleset.ColumnSelector" + }, + "markdownDescription": "List of column selectors. Selectors can be used to select columns using a name or regular expression from the dataset. Rule will be applied to selected columns.", + "title": "ColumnSelectors", + "type": "array" + }, + "Disabled": { + "markdownDescription": "A value that specifies whether the rule is disabled. Once a rule is disabled, a profile job will not validate it during a job run. Default value is false.", + "title": "Disabled", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the rule.", + "title": "Name", + "type": "string" + }, + "SubstitutionMap": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Ruleset.SubstitutionValue" + }, + "markdownDescription": "The map of substitution variable names to their values used in a check expression. Variable names should start with a ':' (colon). Variable values can either be actual values or column names. To differentiate between the two, column names should be enclosed in backticks, for example, `\":col1\": \"`Column A`\".`", + "title": "SubstitutionMap", + "type": "array" + }, + "Threshold": { + "$ref": "#/definitions/AWS::DataBrew::Ruleset.Threshold", + "markdownDescription": "The threshold used with a non-aggregate check expression. Non-aggregate check expressions will be applied to each row in a specific column, and the threshold will be used to determine whether the validation succeeds.", + "title": "Threshold" } }, "required": [ - "Fixed" + "CheckExpression", + "Name" ], "type": "object" }, - "AWS::Deadline::Budget.FixedBudgetSchedule": { + "AWS::DataBrew::Ruleset.SubstitutionValue": { "additionalProperties": false, "properties": { - "EndTime": { + "Value": { + "markdownDescription": "Value or column name.", + "title": "Value", "type": "string" }, - "StartTime": { + "ValueReference": { + "markdownDescription": "Variable name.", + "title": "ValueReference", "type": "string" } }, "required": [ - "EndTime", - "StartTime" + "Value", + "ValueReference" ], "type": "object" }, - "AWS::Deadline::Budget.UsageTrackingResource": { + "AWS::DataBrew::Ruleset.Threshold": { "additionalProperties": false, "properties": { - "QueueId": { + "Type": { + "markdownDescription": "The type of a threshold. Used for comparison of an actual count of rows that satisfy the rule to the threshold value.", + "title": "Type", + "type": "string" + }, + "Unit": { + "markdownDescription": "Unit of threshold value. Can be either a COUNT or PERCENTAGE of the full sample size used for validation.", + "title": "Unit", "type": "string" + }, + "Value": { + "markdownDescription": "The value of a threshold.", + "title": "Value", + "type": "number" } }, "required": [ - "QueueId" + "Value" ], "type": "object" }, - "AWS::Deadline::Farm": { + "AWS::DataBrew::Schedule": { "additionalProperties": false, "properties": { "Condition": { @@ -111501,41 +110628,42 @@ "Properties": { "additionalProperties": false, "properties": { - "CostScaleFactor": { - "type": "number" - }, - "Description": { - "markdownDescription": "A description of the farm that helps identify what the farm is used for.\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": "Description", + "CronExpression": { + "markdownDescription": "The dates and times when the job is to run. For more information, see [Working with cron expressions for recipe jobs](https://docs.aws.amazon.com/databrew/latest/dg/jobs.recipe.html#jobs.cron) in the *AWS Glue DataBrew Developer Guide* .", + "title": "CronExpression", "type": "string" }, - "DisplayName": { - "markdownDescription": "The display name of the farm.\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" + "JobNames": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of jobs to be run, according to the schedule.", + "title": "JobNames", + "type": "array" }, - "KmsKeyArn": { - "markdownDescription": "The ARN for the KMS key.", - "title": "KmsKeyArn", + "Name": { + "markdownDescription": "The name of the schedule.", + "title": "Name", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to add to your farm. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", + "markdownDescription": "Metadata tags that have been applied to the schedule.", "title": "Tags", "type": "array" } }, "required": [ - "DisplayName" + "CronExpression", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Farm" + "AWS::DataBrew::Schedule" ], "type": "string" }, @@ -111554,7 +110682,7 @@ ], "type": "object" }, - "AWS::Deadline::Fleet": { + "AWS::DataExchange::Assets": { "additionalProperties": false, "properties": { "Condition": { @@ -111589,67 +110717,115 @@ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Deadline::Fleet.FleetConfiguration", - "markdownDescription": "The configuration details for the fleet.", - "title": "Configuration" - }, - "Description": { - "markdownDescription": "A description that helps identify what the fleet is used for.\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": "Description", + "DataSetId": { "type": "string" }, - "DisplayName": { - "markdownDescription": "The display name of the fleet 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", + "Name": { "type": "string" }, - "FarmId": { - "markdownDescription": "The farm ID.", - "title": "FarmId", + "RevisionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataExchange::Assets" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DataExchange::Assets.TagsItems": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::DataExchange::DataSet": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "HostConfiguration": { - "$ref": "#/definitions/AWS::Deadline::Fleet.HostConfiguration", - "markdownDescription": "Provides a script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet.\n\nTo remove a script from a fleet, use the [UpdateFleet](https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_UpdateFleet.html) operation with the `hostConfiguration` `scriptBody` parameter set to an empty string (\"\").", - "title": "HostConfiguration" - }, - "MaxWorkerCount": { - "markdownDescription": "The maximum number of workers specified in the fleet.", - "title": "MaxWorkerCount", - "type": "number" + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssetType": { + "type": "string" }, - "MinWorkerCount": { - "markdownDescription": "The minimum number of workers in the fleet.", - "title": "MinWorkerCount", - "type": "number" + "Description": { + "type": "string" }, - "RoleArn": { - "markdownDescription": "The IAM role that workers in the fleet use when processing jobs.", - "title": "RoleArn", + "Name": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to add to your fleet. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", - "title": "Tags", "type": "array" } }, "required": [ - "Configuration", - "DisplayName", - "FarmId", - "MaxWorkerCount", - "RoleArn" + "AssetType", + "Description", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Fleet" + "AWS::DataExchange::DataSet" ], "type": "string" }, @@ -111668,499 +110844,203 @@ ], "type": "object" }, - "AWS::Deadline::Fleet.AcceleratorCapabilities": { + "AWS::DataExchange::EntitledDataSets": { "additionalProperties": false, "properties": { - "Count": { - "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorCountRange", - "markdownDescription": "The number of GPU accelerators specified for worker hosts in this fleet.\n\n> You must specify either `acceleratorCapabilities.count.max` or `allowedInstanceTypes` when using accelerator capabilities. If you don't specify a maximum count, AWS Deadline Cloud uses the instance types you specify in `allowedInstanceTypes` to determine the maximum number of accelerators.", - "title": "Count" + "Condition": { + "type": "string" }, - "Selections": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorSelection" - }, - "markdownDescription": "A list of accelerator capabilities requested for this fleet. Only Amazon Elastic Compute Cloud instances that provide these capabilities will be used. For example, if you specify both L4 and T4 chips, AWS Deadline Cloud will use Amazon EC2 instances that have either the L4 or the T4 chip installed.\n\n> - You must specify at least one accelerator selection.\n> - You cannot specify the same accelerator name multiple times in the selections list.\n> - All accelerators in the selections must use the same runtime version.", - "title": "Selections", - "type": "array" - } - }, - "required": [ - "Selections" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.AcceleratorCountRange": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum number of GPU accelerators in the worker host.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum number of GPU accelerators in the worker host.", - "title": "Min", - "type": "number" - } - }, - "required": [ - "Min" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.AcceleratorSelection": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the chip used by the GPU accelerator.\n\nThe available GPU accelerators are:\n\n- `t4` - NVIDIA T4 Tensor Core GPU (16 GiB memory)\n- `a10g` - NVIDIA A10G Tensor Core GPU (24 GiB memory)\n- `l4` - NVIDIA L4 Tensor Core GPU (24 GiB memory)\n- `l40s` - NVIDIA L40S Tensor Core GPU (48 GiB memory)", - "title": "Name", - "type": "string" - }, - "Runtime": { - "markdownDescription": "Specifies the runtime driver to use for the GPU accelerator. You must use the same runtime for all GPUs in a fleet.\n\nYou can choose from the following runtimes:\n\n- `latest` - Use the latest runtime available for the chip. If you specify `latest` and a new version of the runtime is released, the new version of the runtime is used.\n- `grid:r570` - [NVIDIA vGPU software 18](https://docs.aws.amazon.com/https://docs.nvidia.com/vgpu/18.0/index.html)\n- `grid:r535` - [NVIDIA vGPU software 16](https://docs.aws.amazon.com/https://docs.nvidia.com/vgpu/16.0/index.html)\n\nIf you don't specify a runtime, AWS Deadline Cloud uses `latest` as the default. However, if you have multiple accelerators and specify `latest` for some and leave others blank, AWS Deadline Cloud raises an exception.\n\n> Not all runtimes are compatible with all accelerator types:\n> \n> - `t4` and `a10g` : Support all runtimes ( `grid:r570` , `grid:r535` )\n> - `l4` and `l40s` : Only support `grid:r570` and newer\n> \n> All accelerators in a fleet must use the same runtime version. You cannot mix different runtime versions within a single fleet. > When you specify `latest` , it resolves to `grid:r570` for all currently supported accelerators.", - "title": "Runtime", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.AcceleratorTotalMemoryMiBRange": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory to use for the accelerator, measured in MiB.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum amount of memory to use for the accelerator, measured in MiB.", - "title": "Min", - "type": "number" - } - }, - "required": [ - "Min" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.CustomerManagedAutoScalingConfiguration": { - "additionalProperties": false, - "properties": { - "ScaleOutWorkersPerMinute": { - "type": "number" }, - "StandbyWorkerCount": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "WorkerIdleDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Deadline::Fleet.CustomerManagedFleetConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingConfiguration": { - "$ref": "#/definitions/AWS::Deadline::Fleet.CustomerManagedAutoScalingConfiguration" + "Metadata": { + "type": "object" }, - "Mode": { - "markdownDescription": "The Auto Scaling mode for the customer managed fleet.", - "title": "Mode", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AssetType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" }, - "StorageProfileId": { - "markdownDescription": "The storage profile ID for the customer managed fleet.", - "title": "StorageProfileId", + "Type": { + "enum": [ + "AWS::DataExchange::EntitledDataSets" + ], "type": "string" }, - "TagPropagationMode": { - "markdownDescription": "The tag propagation mode for the customer managed fleet.", - "title": "TagPropagationMode", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "WorkerCapabilities": { - "$ref": "#/definitions/AWS::Deadline::Fleet.CustomerManagedWorkerCapabilities", - "markdownDescription": "The worker capabilities for the customer managed fleet.", - "title": "WorkerCapabilities" } }, "required": [ - "Mode", - "WorkerCapabilities" + "Type" ], "type": "object" }, - "AWS::Deadline::Fleet.CustomerManagedWorkerCapabilities": { + "AWS::DataExchange::EventAction": { "additionalProperties": false, "properties": { - "AcceleratorCount": { - "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorCountRange", - "markdownDescription": "The range of the accelerator.", - "title": "AcceleratorCount" - }, - "AcceleratorTotalMemoryMiB": { - "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorTotalMemoryMiBRange", - "markdownDescription": "The total memory (MiB) for the customer managed worker capabilities.", - "title": "AcceleratorTotalMemoryMiB" - }, - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The accelerator types for the customer managed worker capabilities.", - "title": "AcceleratorTypes", - "type": "array" - }, - "CpuArchitectureType": { - "markdownDescription": "The CPU architecture type for the customer managed worker capabilities.", - "title": "CpuArchitectureType", + "Condition": { "type": "string" }, - "CustomAmounts": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAmountCapability" - }, - "markdownDescription": "Custom requirement ranges for customer managed worker capabilities.", - "title": "CustomAmounts", - "type": "array" - }, - "CustomAttributes": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAttributeCapability" - }, - "markdownDescription": "Custom attributes for the customer manged worker capabilities.", - "title": "CustomAttributes", - "type": "array" - }, - "MemoryMiB": { - "$ref": "#/definitions/AWS::Deadline::Fleet.MemoryMiBRange", - "markdownDescription": "The memory (MiB).", - "title": "MemoryMiB" - }, - "OsFamily": { - "markdownDescription": "The operating system (OS) family.", - "title": "OsFamily", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "VCpuCount": { - "$ref": "#/definitions/AWS::Deadline::Fleet.VCpuCountRange", - "markdownDescription": "The vCPU count for the customer manged worker capabilities.", - "title": "VCpuCount" - } - }, - "required": [ - "CpuArchitectureType", - "MemoryMiB", - "OsFamily", - "VCpuCount" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.Ec2EbsVolume": { - "additionalProperties": false, - "properties": { - "Iops": { - "markdownDescription": "The IOPS per volume.", - "title": "Iops", - "type": "number" - }, - "SizeGiB": { - "markdownDescription": "The EBS volume size in GiB.", - "title": "SizeGiB", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ThroughputMiB": { - "markdownDescription": "The throughput per volume in MiB.", - "title": "ThroughputMiB", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Deadline::Fleet.FleetAmountCapability": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum amount of the fleet worker capability.", - "title": "Max", - "type": "number" + "Metadata": { + "type": "object" }, - "Min": { - "markdownDescription": "The minimum amount of fleet worker capability.", - "title": "Min", - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::DataExchange::EventAction.Action" + }, + "Event": { + "$ref": "#/definitions/AWS::DataExchange::EventAction.Event" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Action", + "Event" + ], + "type": "object" }, - "Name": { - "markdownDescription": "The name of the fleet capability.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Min", - "Name" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.FleetAttributeCapability": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the fleet attribute capability for the worker.", - "title": "Name", + "Type": { + "enum": [ + "AWS::DataExchange::EventAction" + ], "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The number of fleet attribute capabilities.", - "title": "Values", - "type": "array" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Name", - "Values" + "Type", + "Properties" ], "type": "object" }, - "AWS::Deadline::Fleet.FleetCapabilities": { - "additionalProperties": false, - "properties": { - "Amounts": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAmountCapability" - }, - "markdownDescription": "Amount capabilities of the fleet.", - "title": "Amounts", - "type": "array" - }, - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAttributeCapability" - }, - "markdownDescription": "Attribute capabilities of the fleet.", - "title": "Attributes", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Deadline::Fleet.FleetConfiguration": { + "AWS::DataExchange::EventAction.Action": { "additionalProperties": false, "properties": { - "CustomerManaged": { - "$ref": "#/definitions/AWS::Deadline::Fleet.CustomerManagedFleetConfiguration", - "markdownDescription": "The customer managed fleets within a fleet configuration.", - "title": "CustomerManaged" - }, - "ServiceManagedEc2": { - "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2FleetConfiguration", - "markdownDescription": "The service managed Amazon EC2 instances for a fleet configuration.", - "title": "ServiceManagedEc2" + "ExportRevisionToS3": { + "$ref": "#/definitions/AWS::DataExchange::EventAction.AutoExportRevisionToS3RequestDetails" } }, "type": "object" }, - "AWS::Deadline::Fleet.HostConfiguration": { + "AWS::DataExchange::EventAction.AutoExportRevisionDestinationEntry": { "additionalProperties": false, "properties": { - "ScriptBody": { - "markdownDescription": "The text of the script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet. The script runs after a worker enters the `STARTING` state and before the worker processes tasks.\n\nFor more information about using the script, see [Run scripts as an administrator to configure workers](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/smf-admin.html) in the *Deadline Cloud Developer Guide* .\n\n> The script runs as an administrative user ( `sudo root` on Linux, as an Administrator on Windows).", - "title": "ScriptBody", + "Bucket": { "type": "string" }, - "ScriptTimeoutSeconds": { - "markdownDescription": "The maximum time that the host configuration can run. If the timeout expires, the worker enters the `NOT RESPONDING` state and shuts down. You are charged for the time that the worker is running the host configuration script.\n\n> You should configure your fleet for a maximum of one worker while testing your host configuration script to avoid starting additional workers. \n\nThe default is 300 seconds (5 minutes).", - "title": "ScriptTimeoutSeconds", - "type": "number" - } - }, - "required": [ - "ScriptBody" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.MemoryMiBRange": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory (in MiB).", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum amount of memory (in MiB).", - "title": "Min", - "type": "number" + "KeyPattern": { + "type": "string" } }, "required": [ - "Min" + "Bucket" ], "type": "object" }, - "AWS::Deadline::Fleet.PersistentVolumeConfiguration": { + "AWS::DataExchange::EventAction.AutoExportRevisionToS3RequestDetails": { "additionalProperties": false, "properties": { - "Iops": { - "type": "number" - }, - "LastUsedTtlHours": { - "type": "number" - }, - "MountPath": { - "type": "string" - }, - "SizeGiB": { - "type": "number" + "Encryption": { + "$ref": "#/definitions/AWS::DataExchange::EventAction.ExportServerSideEncryption" }, - "ThroughputMiB": { - "type": "number" + "RevisionDestination": { + "$ref": "#/definitions/AWS::DataExchange::EventAction.AutoExportRevisionDestinationEntry" } }, "required": [ - "MountPath" + "RevisionDestination" ], "type": "object" }, - "AWS::Deadline::Fleet.ServiceManagedEc2AutoScalingConfiguration": { - "additionalProperties": false, - "properties": { - "ScaleOutWorkersPerMinute": { - "type": "number" - }, - "StandbyWorkerCount": { - "type": "number" - }, - "WorkerIdleDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Deadline::Fleet.ServiceManagedEc2FleetConfiguration": { + "AWS::DataExchange::EventAction.Event": { "additionalProperties": false, "properties": { - "AutoScalingConfiguration": { - "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2AutoScalingConfiguration" - }, - "InstanceCapabilities": { - "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2InstanceCapabilities", - "markdownDescription": "The instance capabilities for the service managed EC2 fleet.", - "title": "InstanceCapabilities" - }, - "InstanceMarketOptions": { - "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2InstanceMarketOptions", - "markdownDescription": "The instance market options for the service managed EC2 fleet.", - "title": "InstanceMarketOptions" - }, - "PersistentVolumeConfiguration": { - "$ref": "#/definitions/AWS::Deadline::Fleet.PersistentVolumeConfiguration" - }, - "StorageProfileId": { - "markdownDescription": "The storage profile ID for the service managed EC2 fleet.", - "title": "StorageProfileId", - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Deadline::Fleet.VpcConfiguration", - "markdownDescription": "The VPC configuration for the service managed EC2 fleet.", - "title": "VpcConfiguration" + "RevisionPublished": { + "$ref": "#/definitions/AWS::DataExchange::EventAction.RevisionPublished" } }, - "required": [ - "InstanceCapabilities", - "InstanceMarketOptions" - ], "type": "object" }, - "AWS::Deadline::Fleet.ServiceManagedEc2InstanceCapabilities": { + "AWS::DataExchange::EventAction.ExportServerSideEncryption": { "additionalProperties": false, "properties": { - "AcceleratorCapabilities": { - "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorCapabilities", - "markdownDescription": "Describes the GPU accelerator capabilities required for worker host instances in this fleet.", - "title": "AcceleratorCapabilities" - }, - "AllowedInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The allowable Amazon EC2 instance types.", - "title": "AllowedInstanceTypes", - "type": "array" - }, - "CpuArchitectureType": { - "markdownDescription": "The CPU architecture type.", - "title": "CpuArchitectureType", - "type": "string" - }, - "CustomAmounts": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAmountCapability" - }, - "markdownDescription": "The custom capability amounts to require for instances in this fleet.", - "title": "CustomAmounts", - "type": "array" - }, - "CustomAttributes": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAttributeCapability" - }, - "markdownDescription": "The custom capability attributes to require for instances in this fleet.", - "title": "CustomAttributes", - "type": "array" - }, - "ExcludedInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The instance types to exclude from the fleet.", - "title": "ExcludedInstanceTypes", - "type": "array" - }, - "MemoryMiB": { - "$ref": "#/definitions/AWS::Deadline::Fleet.MemoryMiBRange", - "markdownDescription": "The memory, as MiB, for the Amazon EC2 instance type.", - "title": "MemoryMiB" - }, - "OsFamily": { - "markdownDescription": "The operating system (OS) family.", - "title": "OsFamily", + "KmsKeyArn": { "type": "string" }, - "RootEbsVolume": { - "$ref": "#/definitions/AWS::Deadline::Fleet.Ec2EbsVolume", - "markdownDescription": "The root EBS volume.", - "title": "RootEbsVolume" - }, - "VCpuCount": { - "$ref": "#/definitions/AWS::Deadline::Fleet.VCpuCountRange", - "markdownDescription": "The amount of vCPU to require for instances in this fleet.", - "title": "VCpuCount" - } - }, - "required": [ - "CpuArchitectureType", - "MemoryMiB", - "OsFamily", - "VCpuCount" - ], - "type": "object" - }, - "AWS::Deadline::Fleet.ServiceManagedEc2InstanceMarketOptions": { - "additionalProperties": false, - "properties": { "Type": { - "markdownDescription": "The Amazon EC2 instance type.", - "title": "Type", "type": "string" } }, @@ -112169,40 +111049,19 @@ ], "type": "object" }, - "AWS::Deadline::Fleet.VCpuCountRange": { + "AWS::DataExchange::EventAction.RevisionPublished": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of vCPU.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum amount of vCPU.", - "title": "Min", - "type": "number" + "DataSetId": { + "type": "string" } }, "required": [ - "Min" + "DataSetId" ], "type": "object" }, - "AWS::Deadline::Fleet.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "ResourceConfigurationArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The ARNs of the VPC Lattice resource configurations attached to the fleet.", - "title": "ResourceConfigurationArns", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Deadline::Job": { + "AWS::DataExchange::Job": { "additionalProperties": false, "properties": { "Condition": { @@ -112236,37 +111095,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "FarmId": { - "type": "string" - }, - "MaxFailedTasksCount": { - "type": "number" - }, - "MaxRetriesPerTask": { - "type": "number" - }, - "MaxWorkerCount": { - "type": "number" - }, - "Priority": { - "type": "number" - }, - "QueueId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Job" + "AWS::DataExchange::Job" ], "type": "string" }, @@ -112284,7 +111118,7 @@ ], "type": "object" }, - "AWS::Deadline::LicenseEndpoint": { + "AWS::DataPipeline::Pipeline": { "additionalProperties": false, "properties": { "Condition": { @@ -112319,46 +111153,62 @@ "Properties": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { + "Activate": { + "markdownDescription": "Indicates whether to validate and start the pipeline or stop an active pipeline. By default, the value is set to `true` .", + "title": "Activate", + "type": "boolean" + }, + "Description": { + "markdownDescription": "A description of the pipeline.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the pipeline.", + "title": "Name", + "type": "string" + }, + "ParameterObjects": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" }, - "markdownDescription": "The identifier of the Amazon EC2 security group that controls access to the license endpoint.", - "title": "SecurityGroupIds", + "markdownDescription": "The parameter objects used with the pipeline.", + "title": "ParameterObjects", "type": "array" }, - "SubnetIds": { + "ParameterValues": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" }, - "markdownDescription": "Identifies the VPC subnets that can connect to a license endpoint.", - "title": "SubnetIds", + "markdownDescription": "The parameter values used with the pipeline.", + "title": "ParameterValues", "type": "array" }, - "Tags": { + "PipelineObjects": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" }, - "markdownDescription": "The tags to add to your license endpoint. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", - "title": "Tags", + "markdownDescription": "The objects that define the pipeline. These objects overwrite the existing pipeline definition. Not all objects, fields, and values can be updated. For information about restrictions, see [Editing Your Pipeline](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-manage-pipeline-modify-console.html) in the *AWS Data Pipeline Developer Guide* .", + "title": "PipelineObjects", "type": "array" }, - "VpcId": { - "markdownDescription": "The VPC (virtual private cloud) ID associated with the license endpoint.", - "title": "VpcId", - "type": "string" + "PipelineTags": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" + }, + "markdownDescription": "A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions. For more information, see [Controlling Access to Pipelines and Resources](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html) in the *AWS Data Pipeline Developer Guide* .", + "title": "PipelineTags", + "type": "array" } }, "required": [ - "SecurityGroupIds", - "SubnetIds", - "VpcId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::LicenseEndpoint" + "AWS::DataPipeline::Pipeline" ], "type": "string" }, @@ -112377,165 +111227,143 @@ ], "type": "object" }, - "AWS::Deadline::Limit": { + "AWS::DataPipeline::Pipeline.Field": { "additionalProperties": false, "properties": { - "Condition": { + "Key": { + "markdownDescription": "Specifies the name of a field for a particular object. To view valid values for a particular field, see [Pipeline Object Reference](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-pipeline-objects.html) in the *AWS Data Pipeline Developer Guide* .", + "title": "Key", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RefValue": { + "markdownDescription": "A field value that you specify as an identifier of another object in the same pipeline definition.\n\n> You can specify the field value as either a string value ( `StringValue` ) or a reference to another object ( `RefValue` ), but not both. \n\nRequired if the key that you are using requires it.", + "title": "RefValue", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmountRequirementName": { - "markdownDescription": "The value that you specify as the `name` in the `amounts` field of the `hostRequirements` in a step of a job template to declare the limit requirement.", - "title": "AmountRequirementName", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the limit. A clear description helps you identify the purpose of the limit.\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": "Description", - "type": "string" - }, - "DisplayName": { - "markdownDescription": "The name of the limit used in lists to identify the limit.\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 unique identifier of the farm that contains the limit.", - "title": "FarmId", - "type": "string" - }, - "MaxCount": { - "markdownDescription": "The maximum number of resources constrained by this limit. When all of the resources are in use, steps that require the limit won't be scheduled until the resource is available.\n\nThe `maxValue` must not be 0. If the value is -1, there is no restriction on the number of resources that can be acquired for this limit.", - "title": "MaxCount", - "type": "number" - } - }, - "required": [ - "AmountRequirementName", - "DisplayName", - "FarmId", - "MaxCount" - ], - "type": "object" + "StringValue": { + "markdownDescription": "A field value that you specify as a string. To view valid values for a particular field, see [Pipeline Object Reference](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-pipeline-objects.html) in the *AWS Data Pipeline Developer Guide* .\n\n> You can specify the field value as either a string value ( `StringValue` ) or a reference to another object ( `RefValue` ), but not both. \n\nRequired if the key that you are using requires it.", + "title": "StringValue", + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The field identifier.", + "title": "Key", + "type": "string" }, - "Type": { - "enum": [ - "AWS::Deadline::Limit" - ], + "StringValue": { + "markdownDescription": "The field value, expressed as a String.", + "title": "StringValue", "type": "string" + } + }, + "required": [ + "Key", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterObject": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" + }, + "markdownDescription": "The attributes of the parameter object.", + "title": "Attributes", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Id": { + "markdownDescription": "The ID of the parameter object.", + "title": "Id", "type": "string" } }, "required": [ - "Type", - "Properties" + "Attributes", + "Id" ], "type": "object" }, - "AWS::Deadline::MeteredProduct": { + "AWS::DataPipeline::Pipeline.ParameterValue": { "additionalProperties": false, "properties": { - "Condition": { + "Id": { + "markdownDescription": "The ID of the parameter value.", + "title": "Id", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StringValue": { + "markdownDescription": "The field value, expressed as a String.", + "title": "StringValue", "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LicenseEndpointId": { - "markdownDescription": "The Amazon EC2 identifier of the license endpoint.", - "title": "LicenseEndpointId", - "type": "string" - }, - "ProductId": { - "markdownDescription": "The product ID.", - "title": "ProductId", - "type": "string" - } + } + }, + "required": [ + "Id", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineObject": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" }, - "type": "object" + "markdownDescription": "Key-value pairs that define the properties of the object.", + "title": "Fields", + "type": "array" }, - "Type": { - "enum": [ - "AWS::Deadline::MeteredProduct" - ], + "Id": { + "markdownDescription": "The ID of the object.", + "title": "Id", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "markdownDescription": "The name of the object.", + "title": "Name", "type": "string" } }, "required": [ - "Type" + "Fields", + "Id", + "Name" ], "type": "object" }, - "AWS::Deadline::Monitor": { + "AWS::DataPipeline::Pipeline.PipelineTag": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The key name of a tag.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The value to associate with the key name.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::DataSync::Agent": { "additionalProperties": false, "properties": { "Condition": { @@ -112570,49 +111398,51 @@ "Properties": { "additionalProperties": false, "properties": { - "DisplayName": { - "markdownDescription": "The name of the monitor that displays on the Deadline Cloud console.\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" - }, - "IdentityCenterInstanceArn": { - "markdownDescription": "The Amazon Resource Name of the IAM Identity Center instance responsible for authenticating monitor users.", - "title": "IdentityCenterInstanceArn", + "ActivationKey": { + "markdownDescription": "Specifies your DataSync agent's activation key. If you don't have an activation key, see [Activating your agent](https://docs.aws.amazon.com/datasync/latest/userguide/activate-agent.html) .", + "title": "ActivationKey", "type": "string" }, - "IdentityCenterRegion": { + "AgentName": { + "markdownDescription": "Specifies a name for your agent. We recommend specifying a name that you can remember.", + "title": "AgentName", "type": "string" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name of the IAM role for the monitor. Users of the monitor use this role to access Deadline Cloud resources.", - "title": "RoleArn", - "type": "string" + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the security groups used to protect your data transfer task subnets. See [SecurityGroupArns](https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns) .\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`", + "title": "SecurityGroupArns", + "type": "array" }, - "Subdomain": { - "markdownDescription": "The subdomain used for the monitor URL. The full URL of the monitor is subdomain.Region.deadlinecloud.amazonaws.com.", - "title": "Subdomain", - "type": "string" + "SubnetArns": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the ARN of the subnet where your VPC service endpoint is located. You can only specify one ARN.", + "title": "SubnetArns", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least one tag for your agent.", "title": "Tags", "type": "array" + }, + "VpcEndpointId": { + "markdownDescription": "The ID of the virtual private cloud (VPC) endpoint that the agent has access to. This is the client-side VPC endpoint, powered by AWS PrivateLink . If you don't have an AWS PrivateLink VPC endpoint, see [AWS PrivateLink and VPC endpoints](https://docs.aws.amazon.com//vpc/latest/userguide/endpoint-services-overview.html) in the *Amazon VPC User Guide* .\n\nFor more information about activating your agent in a private network based on a VPC, see [Using AWS DataSync in a Virtual Private Cloud](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-in-vpc.html) in the *AWS DataSync User Guide.*\n\nA VPC endpoint ID looks like this: `vpce-01234d5aff67890e1` .", + "title": "VpcEndpointId", + "type": "string" } }, - "required": [ - "DisplayName", - "IdentityCenterInstanceArn", - "RoleArn", - "Subdomain" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Monitor" + "AWS::DataSync::Agent" ], "type": "string" }, @@ -112626,12 +111456,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Deadline::Queue": { + "AWS::DataSync::LocationAzureBlob": { "additionalProperties": false, "properties": { "Condition": { @@ -112666,78 +111495,74 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowedStorageProfileIds": { + "AgentArns": { "items": { "type": "string" }, - "markdownDescription": "The identifiers of the storage profiles that this queue can use to share assets between workers using different operating systems.", - "title": "AllowedStorageProfileIds", + "markdownDescription": "(Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.\n\nYou can specify more than one agent. For more information, see [Using multiple agents for your transfer](https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html) .\n\n> Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.", + "title": "AgentArns", "type": "array" }, - "DefaultBudgetAction": { - "markdownDescription": "The default action taken on a queue summary if a budget wasn't configured.", - "title": "DefaultBudgetAction", + "AzureAccessTier": { + "markdownDescription": "Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see [Access tiers](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers) .", + "title": "AzureAccessTier", "type": "string" }, - "Description": { - "markdownDescription": "A description of the queue that helps identify what the queue is used for.\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": "Description", + "AzureBlobAuthenticationType": { + "markdownDescription": "Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS).", + "title": "AzureBlobAuthenticationType", "type": "string" }, - "DisplayName": { - "markdownDescription": "The display name of the queue 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", + "AzureBlobContainerUrl": { + "markdownDescription": "Specifies the URL of the Azure Blob Storage container involved in your transfer.", + "title": "AzureBlobContainerUrl", "type": "string" }, - "FarmId": { - "markdownDescription": "The farm ID.", - "title": "FarmId", + "AzureBlobSasConfiguration": { + "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.AzureBlobSasConfiguration", + "markdownDescription": "Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.\n\n> If you provide an authentication token using `SasConfiguration` , 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": "AzureBlobSasConfiguration" + }, + "AzureBlobType": { + "markdownDescription": "Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the [Azure Blob Storage documentation](https://docs.aws.amazon.com/https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs) .", + "title": "AzureBlobType", "type": "string" }, - "JobAttachmentSettings": { - "$ref": "#/definitions/AWS::Deadline::Queue.JobAttachmentSettings", - "markdownDescription": "The job attachment settings. These are the Amazon S3 bucket name and the Amazon S3 prefix.", - "title": "JobAttachmentSettings" + "CmkSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.CmkSecretConfig", + "markdownDescription": "Specifies configuration information for a DataSync-managed secret, such as an authentication token, secret key, password, or Kerberos keytab that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .\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": "CmkSecretConfig" }, - "JobRunAsUser": { - "$ref": "#/definitions/AWS::Deadline::Queue.JobRunAsUser", - "markdownDescription": "Identifies the user for a job.", - "title": "JobRunAsUser" + "CustomSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.CustomSecretConfig", + "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" }, - "RequiredFileSystemLocationNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The file system location that the queue uses.", - "title": "RequiredFileSystemLocationNames", - "type": "array" + "FederatedIdentity": { + "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.AzureFederatedIdentityConfig" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that workers use when running jobs in this queue.", - "title": "RoleArn", + "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", "type": "string" }, - "SchedulingConfiguration": { - "$ref": "#/definitions/AWS::Deadline::Queue.SchedulingConfiguration" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to add to your queue. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your transfer location.", "title": "Tags", "type": "array" } }, "required": [ - "DisplayName", - "FarmId" + "AzureBlobAuthenticationType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Queue" + "AWS::DataSync::LocationAzureBlob" ], "type": "string" }, @@ -112756,166 +111581,99 @@ ], "type": "object" }, - "AWS::Deadline::Queue.JobAttachmentSettings": { + "AWS::DataSync::LocationAzureBlob.AzureBlobSasConfiguration": { "additionalProperties": false, "properties": { - "RootPrefix": { - "markdownDescription": "The root prefix.", - "title": "RootPrefix", - "type": "string" - }, - "S3BucketName": { - "markdownDescription": "The Amazon S3 bucket name.", - "title": "S3BucketName", + "AzureBlobSasToken": { + "markdownDescription": "Specifies a SAS token that provides permissions to access your Azure Blob Storage.\n\nThe token is part of the SAS URI string that comes after the storage resource URI and a question mark. A token looks something like this:\n\n`sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D`", + "title": "AzureBlobSasToken", "type": "string" } }, "required": [ - "RootPrefix", - "S3BucketName" + "AzureBlobSasToken" ], "type": "object" }, - "AWS::Deadline::Queue.JobRunAsUser": { + "AWS::DataSync::LocationAzureBlob.AzureFederatedIdentityConfig": { "additionalProperties": false, "properties": { - "Posix": { - "$ref": "#/definitions/AWS::Deadline::Queue.PosixUser", - "markdownDescription": "The user and group that the jobs in the queue run as.", - "title": "Posix" - }, - "RunAs": { - "markdownDescription": "Specifies whether the job should run using the queue's system user or if the job should run using the worker agent system user.", - "title": "RunAs", + "AwsIamRole": { "type": "string" }, - "Windows": { - "$ref": "#/definitions/AWS::Deadline::Queue.WindowsUser", - "markdownDescription": "Identifies a Microsoft Windows user.", - "title": "Windows" + "AzureOidc": { + "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.AzureOidcConfig" } }, - "required": [ - "RunAs" - ], "type": "object" }, - "AWS::Deadline::Queue.PosixUser": { + "AWS::DataSync::LocationAzureBlob.AzureOidcConfig": { "additionalProperties": false, "properties": { - "Group": { - "markdownDescription": "The name of the POSIX user's group.", - "title": "Group", + "ClientId": { "type": "string" }, - "User": { - "markdownDescription": "The name of the POSIX user.", - "title": "User", + "TenantId": { "type": "string" } }, "required": [ - "Group", - "User" + "ClientId", + "TenantId" ], "type": "object" }, - "AWS::Deadline::Queue.PriorityBalancedSchedulingConfiguration": { - "additionalProperties": false, - "properties": { - "RenderingTaskBuffer": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Deadline::Queue.SchedulingConfiguration": { + "AWS::DataSync::LocationAzureBlob.CmkSecretConfig": { "additionalProperties": false, "properties": { - "PriorityBalanced": { - "$ref": "#/definitions/AWS::Deadline::Queue.PriorityBalancedSchedulingConfiguration" - }, - "PriorityFifo": { - "type": "object" + "KmsKeyArn": { + "markdownDescription": "Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for `SecretArn` . DataSync provides this key to AWS Secrets Manager .", + "title": "KmsKeyArn", + "type": "string" }, - "WeightedBalanced": { - "$ref": "#/definitions/AWS::Deadline::Queue.WeightedBalancedSchedulingConfiguration" - } - }, - "type": "object" - }, - "AWS::Deadline::Queue.SchedulingMaxPriorityOverride": { - "additionalProperties": false, - "properties": { - "AlwaysScheduleFirst": { - "type": "object" + "SecretArn": { + "markdownDescription": "Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for `KmsKeyArn` .", + "title": "SecretArn", + "type": "string" } }, - "required": [ - "AlwaysScheduleFirst" - ], "type": "object" }, - "AWS::Deadline::Queue.SchedulingMinPriorityOverride": { + "AWS::DataSync::LocationAzureBlob.CustomSecretConfig": { "additionalProperties": false, "properties": { - "AlwaysScheduleLast": { - "type": "object" + "SecretAccessRoleArn": { + "markdownDescription": "Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` .", + "title": "SecretAccessRoleArn", + "type": "string" + }, + "SecretArn": { + "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", + "title": "SecretArn", + "type": "string" } }, "required": [ - "AlwaysScheduleLast" + "SecretAccessRoleArn", + "SecretArn" ], "type": "object" }, - "AWS::Deadline::Queue.WeightedBalancedSchedulingConfiguration": { - "additionalProperties": false, - "properties": { - "ErrorWeight": { - "type": "number" - }, - "MaxPriorityOverride": { - "$ref": "#/definitions/AWS::Deadline::Queue.SchedulingMaxPriorityOverride" - }, - "MinPriorityOverride": { - "$ref": "#/definitions/AWS::Deadline::Queue.SchedulingMinPriorityOverride" - }, - "PriorityWeight": { - "type": "number" - }, - "RenderingTaskBuffer": { - "type": "number" - }, - "RenderingTaskWeight": { - "type": "number" - }, - "SubmissionTimeWeight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Deadline::Queue.WindowsUser": { + "AWS::DataSync::LocationAzureBlob.ManagedSecretConfig": { "additionalProperties": false, "properties": { - "PasswordArn": { - "markdownDescription": "The password ARN for the Windows user.", - "title": "PasswordArn", - "type": "string" - }, - "User": { - "markdownDescription": "The user.", - "title": "User", + "SecretArn": { + "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", + "title": "SecretArn", "type": "string" } }, "required": [ - "PasswordArn", - "User" + "SecretArn" ], "type": "object" }, - "AWS::Deadline::QueueEnvironment": { + "AWS::DataSync::LocationEFS": { "additionalProperties": false, "properties": { "Condition": { @@ -112950,44 +111708,53 @@ "Properties": { "additionalProperties": false, "properties": { - "FarmId": { - "markdownDescription": "The identifier assigned to the farm that contains the queue.", - "title": "FarmId", + "AccessPointArn": { + "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system.\n\nFor more information, see [Accessing restricted file systems](https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam) .", + "title": "AccessPointArn", "type": "string" }, - "Priority": { - "markdownDescription": "The queue environment's priority.", - "title": "Priority", - "type": "number" + "Ec2Config": { + "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config", + "markdownDescription": "Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's [mount targets](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) .", + "title": "Ec2Config" }, - "QueueId": { - "markdownDescription": "The unique identifier of the queue that contains the environment.", - "title": "QueueId", + "EfsFilesystemArn": { + "markdownDescription": "Specifies the ARN for your Amazon EFS file system.", + "title": "EfsFilesystemArn", "type": "string" }, - "Template": { - "markdownDescription": "A JSON or YAML template that describes the processing environment for the queue.", - "title": "Template", + "FileSystemAccessRoleArn": { + "markdownDescription": "Specifies an AWS Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system.\n\nFor information on creating this role, see [Creating a DataSync IAM role for file system access](https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam-role) .", + "title": "FileSystemAccessRoleArn", "type": "string" }, - "TemplateType": { - "markdownDescription": "Specifies whether the template for the queue environment is JSON or YAML.", - "title": "TemplateType", + "InTransitEncryption": { + "markdownDescription": "Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system.\n\nIf you specify an access point using `AccessPointArn` or an IAM role using `FileSystemAccessRoleArn` , you must set this parameter to `TLS1_2` .", + "title": "InTransitEncryption", + "type": "string" + }, + "Subdirectory": { + "markdownDescription": "Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data on your file system (depending on if this is a source or destination location).\n\nBy default, DataSync uses the root directory (or [access point](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) if you provide one by using `AccessPointArn` ). You can also include subdirectories using forward slashes (for example, `/path/to/folder` ).", + "title": "Subdirectory", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies the key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.", + "title": "Tags", + "type": "array" } }, "required": [ - "FarmId", - "Priority", - "QueueId", - "Template", - "TemplateType" + "Ec2Config" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::QueueEnvironment" + "AWS::DataSync::LocationEFS" ], "type": "string" }, @@ -113006,7 +111773,30 @@ ], "type": "object" }, - "AWS::Deadline::QueueFleetAssociation": { + "AWS::DataSync::LocationEFS.Ec2Config": { + "additionalProperties": false, + "properties": { + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the Amazon Resource Names (ARNs) of the security groups associated with an Amazon EFS file system's mount target.", + "title": "SecurityGroupArns", + "type": "array" + }, + "SubnetArn": { + "markdownDescription": "Specifies the ARN of a subnet where DataSync creates the [network interfaces](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces.html) for managing traffic during your transfer.\n\nThe subnet must be located:\n\n- In the same virtual private cloud (VPC) as the Amazon EFS file system.\n- In the same Availability Zone as at least one mount target for the Amazon EFS file system.\n\n> You don't need to specify a subnet that includes a file system mount target.", + "title": "SubnetArn", + "type": "string" + } + }, + "required": [ + "SecurityGroupArns", + "SubnetArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxLustre": { "additionalProperties": false, "properties": { "Condition": { @@ -113041,32 +111831,41 @@ "Properties": { "additionalProperties": false, "properties": { - "FarmId": { - "markdownDescription": "The identifier of the farm that contains the queue and the fleet.", - "title": "FarmId", + "FsxFilesystemArn": { + "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the FSx for Lustre file system.", + "title": "FsxFilesystemArn", "type": "string" }, - "FleetId": { - "markdownDescription": "The fleet ID.", - "title": "FleetId", - "type": "string" + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The ARNs of the security groups that are used to configure the FSx for Lustre file system.\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`\n\n*Length constraints* : Maximum length of 128.", + "title": "SecurityGroupArns", + "type": "array" }, - "QueueId": { - "markdownDescription": "The queue ID.", - "title": "QueueId", + "Subdirectory": { + "markdownDescription": "Specifies a mount path for your FSx for Lustre file system. The path can include subdirectories.\n\nWhen the location is used as a source, DataSync reads data from the mount path. When the location is used as a destination, DataSync writes data to the mount path. If you don't include this parameter, DataSync uses the file system's root directory ( `/` ).", + "title": "Subdirectory", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", + "title": "Tags", + "type": "array" } }, "required": [ - "FarmId", - "FleetId", - "QueueId" + "SecurityGroupArns" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::QueueFleetAssociation" + "AWS::DataSync::LocationFSxLustre" ], "type": "string" }, @@ -113085,7 +111884,7 @@ ], "type": "object" }, - "AWS::Deadline::QueueLimitAssociation": { + "AWS::DataSync::LocationFSxONTAP": { "additionalProperties": false, "properties": { "Condition": { @@ -113120,32 +111919,47 @@ "Properties": { "additionalProperties": false, "properties": { - "FarmId": { - "markdownDescription": "The unique identifier of the farm that contains the queue-limit association.", - "title": "FarmId", - "type": "string" + "Protocol": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.Protocol", + "markdownDescription": "Specifies the data transfer protocol that DataSync uses to access your Amazon FSx file system.", + "title": "Protocol" }, - "LimitId": { - "markdownDescription": "The unique identifier of the limit in the association.", - "title": "LimitId", + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the Amazon Resource Names (ARNs) of the security groups that DataSync can use to access your FSx for ONTAP file system. You must configure the security groups to allow outbound traffic on the following ports (depending on the protocol that you're using):\n\n- *Network File System (NFS)* : TCP ports 111, 635, and 2049\n- *Server Message Block (SMB)* : TCP port 445\n\nYour file system's security groups must also allow inbound traffic on the same port.", + "title": "SecurityGroupArns", + "type": "array" + }, + "StorageVirtualMachineArn": { + "markdownDescription": "Specifies the ARN of the storage virtual machine (SVM) in your file system where you want to copy data to or from.", + "title": "StorageVirtualMachineArn", "type": "string" }, - "QueueId": { - "markdownDescription": "The unique identifier of the queue in the association.", - "title": "QueueId", + "Subdirectory": { + "markdownDescription": "Specifies a path to the file share in the SVM where you want to transfer data to or from.\n\nYou can specify a junction path (also known as a mount point), qtree path (for NFS file shares), or share name (for SMB file shares). For example, your mount path might be `/vol1` , `/vol1/tree1` , or `/share1` .\n\n> Don't specify a junction path in the SVM's root volume. For more information, see [Managing FSx for ONTAP storage virtual machines](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html) in the *Amazon FSx for NetApp ONTAP User Guide* .", + "title": "Subdirectory", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", + "title": "Tags", + "type": "array" } }, "required": [ - "FarmId", - "LimitId", - "QueueId" + "SecurityGroupArns", + "StorageVirtualMachineArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::QueueLimitAssociation" + "AWS::DataSync::LocationFSxONTAP" ], "type": "string" }, @@ -113164,7 +111978,138 @@ ], "type": "object" }, - "AWS::Deadline::StorageProfile": { + "AWS::DataSync::LocationFSxONTAP.CmkSecretConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxONTAP.CustomSecretConfig": { + "additionalProperties": false, + "properties": { + "SecretAccessRoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "SecretAccessRoleArn", + "SecretArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxONTAP.ManagedSecretConfig": { + "additionalProperties": false, + "properties": { + "SecretArn": { + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxONTAP.NFS": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.NfsMountOptions", + "markdownDescription": "Specifies how DataSync can access a location using the NFS protocol.", + "title": "MountOptions" + } + }, + "required": [ + "MountOptions" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxONTAP.NfsMountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "markdownDescription": "Specifies the NFS version that you want DataSync to use when mounting your NFS share. If the server refuses to use the version specified, the task fails.\n\nYou can specify the following options:\n\n- `AUTOMATIC` (default): DataSync chooses NFS version 4.1.\n- `NFS3` : Stateless protocol version that allows for asynchronous writes on the server.\n- `NFSv4_0` : Stateful, firewall-friendly protocol version that supports delegations and pseudo file systems.\n- `NFSv4_1` : Stateful protocol version that supports sessions, directory delegations, and parallel data processing. NFS version 4.1 also includes all features available in version 4.0.\n\n> DataSync currently only supports NFS version 3 with Amazon FSx for NetApp ONTAP locations.", + "title": "Version", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxONTAP.Protocol": { + "additionalProperties": false, + "properties": { + "NFS": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.NFS", + "markdownDescription": "Specifies the Network File System (NFS) protocol configuration that DataSync uses to access your FSx for ONTAP file system's storage virtual machine (SVM).", + "title": "NFS" + }, + "SMB": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.SMB", + "markdownDescription": "Specifies the Server Message Block (SMB) protocol configuration that DataSync uses to access your FSx for ONTAP file system's SVM.", + "title": "SMB" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxONTAP.SMB": { + "additionalProperties": false, + "properties": { + "CmkSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.CmkSecretConfig" + }, + "CustomSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.CustomSecretConfig" + }, + "Domain": { + "markdownDescription": "Specifies the name of the Windows domain that your storage virtual machine (SVM) belongs to.\n\nIf you have multiple domains in your environment, configuring this setting makes sure that DataSync connects to the right SVM.\n\nIf you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right SVM.", + "title": "Domain", + "type": "string" + }, + "ManagedSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.ManagedSecretConfig" + }, + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.SmbMountOptions", + "markdownDescription": "Specifies how DataSync can access a location using the SMB protocol.", + "title": "MountOptions" + }, + "Password": { + "markdownDescription": "Specifies the password of a user who has permission to access your SVM.", + "title": "Password", + "type": "string" + }, + "User": { + "markdownDescription": "Specifies a user name that can mount the location and access the files, folders, and metadata that you need in the SVM.\n\nIf you provide a user in your Active Directory, note the following:\n\n- If you're using AWS Directory Service for Microsoft Active Directory , the user must be a member of the AWS Delegated FSx Administrators group.\n- If you're using a self-managed Active Directory, the user must be a member of either the Domain Admins group or a custom group that you specified for file system administration when you created your file system.\n\nMake sure that the user has the permissions it needs to copy the data you want:\n\n- `SE_TCB_NAME` : Required to set object ownership and file metadata. With this privilege, you also can copy NTFS discretionary access lists (DACLs).\n- `SE_SECURITY_NAME` : May be needed to copy NTFS system access control lists (SACLs). This operation specifically requires the Windows privilege, which is granted to members of the Domain Admins group. If you configure your task to copy SACLs, make sure that the user has the required privileges. For information about copying SACLs, see [Ownership and permissions-related options](https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html#configure-ownership-and-permissions) .", + "title": "User", + "type": "string" + } + }, + "required": [ + "MountOptions", + "User" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxONTAP.SmbMountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "markdownDescription": "By default, DataSync automatically chooses an SMB protocol version based on negotiation with your SMB file server. You also can configure DataSync to use a specific SMB version, but we recommend doing this only if DataSync has trouble negotiating with the SMB file server automatically.\n\nThese are the following options for configuring the SMB version:\n\n- `AUTOMATIC` (default): DataSync and the SMB file server negotiate the highest version of SMB that they mutually support between 2.1 and 3.1.1.\n\nThis is the recommended option. If you instead choose a specific version that your file server doesn't support, you may get an `Operation Not Supported` error.\n- `SMB3` : Restricts the protocol negotiation to only SMB version 3.0.2.\n- `SMB2` : Restricts the protocol negotiation to only SMB version 2.1.\n- `SMB2_0` : Restricts the protocol negotiation to only SMB version 2.0.\n- `SMB1` : Restricts the protocol negotiation to only SMB version 1.0.\n\n> The `SMB1` option isn't available when [creating an Amazon FSx for NetApp ONTAP location](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateLocationFsxOntap.html) .", + "title": "Version", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS": { "additionalProperties": false, "properties": { "Condition": { @@ -113199,40 +112144,47 @@ "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", + "FsxFilesystemArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the FSx for OpenZFS file system.", + "title": "FsxFilesystemArn", "type": "string" }, - "FarmId": { - "markdownDescription": "The unique identifier of the farm that contains the storage profile.", - "title": "FarmId", - "type": "string" + "Protocol": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.Protocol", + "markdownDescription": "The type of protocol that AWS DataSync uses to access your file system.", + "title": "Protocol" }, - "FileSystemLocations": { + "SecurityGroupArns": { "items": { - "$ref": "#/definitions/AWS::Deadline::StorageProfile.FileSystemLocation" + "type": "string" }, - "markdownDescription": "Operating system specific file system path to the storage location.", - "title": "FileSystemLocations", + "markdownDescription": "The ARNs of the security groups that are used to configure the FSx for OpenZFS file system.\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`\n\n*Length constraints* : Maximum length of 128.", + "title": "SecurityGroupArns", "type": "array" }, - "OsFamily": { - "markdownDescription": "The operating system (OS) family.", - "title": "OsFamily", + "Subdirectory": { + "markdownDescription": "A subdirectory in the location's path that must begin with `/fsx` . DataSync uses this subdirectory to read or write data (depending on whether the file system is a source or destination location).", + "title": "Subdirectory", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.", + "title": "Tags", + "type": "array" } }, "required": [ - "DisplayName", - "FarmId", - "OsFamily" + "Protocol", + "SecurityGroupArns" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::StorageProfile" + "AWS::DataSync::LocationFSxOpenZFS" ], "type": "string" }, @@ -113251,33 +112203,43 @@ ], "type": "object" }, - "AWS::Deadline::StorageProfile.FileSystemLocation": { + "AWS::DataSync::LocationFSxOpenZFS.MountOptions": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The location name.", - "title": "Name", - "type": "string" - }, - "Path": { - "markdownDescription": "The file path.", - "title": "Path", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of file.", - "title": "Type", + "Version": { + "markdownDescription": "The specific NFS version that you want DataSync to use to mount your NFS share. If the server refuses to use the version specified, the sync will fail. If you don't specify a version, DataSync defaults to `AUTOMATIC` . That is, DataSync automatically selects a version based on negotiation with the NFS server.\n\nYou can specify the following NFS versions:\n\n- *[NFSv3](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc1813)* : Stateless protocol version that allows for asynchronous writes on the server.\n- *[NFSv4.0](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc3530)* : Stateful, firewall-friendly protocol version that supports delegations and pseudo file systems.\n- *[NFSv4.1](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5661)* : Stateful protocol version that supports sessions, directory delegations, and parallel data processing. Version 4.1 also includes all features available in version 4.0.", + "title": "Version", "type": "string" } }, + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.NFS": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.MountOptions", + "markdownDescription": "Represents the mount options that are available for DataSync to access an NFS location.", + "title": "MountOptions" + } + }, "required": [ - "Name", - "Path", - "Type" + "MountOptions" ], "type": "object" }, - "AWS::Deadline::Worker": { + "AWS::DataSync::LocationFSxOpenZFS.Protocol": { + "additionalProperties": false, + "properties": { + "NFS": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.NFS", + "markdownDescription": "Represents the Network File System (NFS) protocol that DataSync uses to access your FSx for OpenZFS file system.", + "title": "NFS" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxWindows": { "additionalProperties": false, "properties": { "Condition": { @@ -113312,31 +112274,63 @@ "Properties": { "additionalProperties": false, "properties": { - "FarmId": { + "CmkSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows.CmkSecretConfig" + }, + "CustomSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows.CustomSecretConfig" + }, + "Domain": { + "markdownDescription": "Specifies the name of the Windows domain that the FSx for Windows File Server file system belongs to.\n\nIf you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right file system.", + "title": "Domain", "type": "string" }, - "FleetId": { + "FsxFilesystemArn": { + "markdownDescription": "Specifies the Amazon Resource Name (ARN) for the FSx for Windows File Server file system.", + "title": "FsxFilesystemArn", "type": "string" }, - "HostProperties": { - "$ref": "#/definitions/AWS::Deadline::Worker.HostPropertiesRequest" + "Password": { + "markdownDescription": "Specifies the password of the user with the permissions to mount and access the files, folders, and file metadata in your FSx for Windows File Server file system.", + "title": "Password", + "type": "string" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the security groups that are used to configure the FSx for Windows File Server file system.\n\n*Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`\n\n*Length constraints* : Maximum length of 128.", + "title": "SecurityGroupArns", + "type": "array" + }, + "Subdirectory": { + "markdownDescription": "Specifies a mount path for your file system using forward slashes. This is where DataSync reads or writes data (depending on if this is a source or destination location).", + "title": "Subdirectory", + "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::Deadline::Worker.TagsItems" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", + "title": "Tags", "type": "array" + }, + "User": { + "markdownDescription": "The user who has the permissions to access files and folders in the FSx for Windows File Server file system.\n\nFor information about choosing a user name that ensures sufficient permissions to files, folders, and metadata, see [user](https://docs.aws.amazon.com/datasync/latest/userguide/create-fsx-location.html#FSxWuser) .", + "title": "User", + "type": "string" } }, "required": [ - "FarmId", - "FleetId" + "SecurityGroupArns", + "User" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Worker" + "AWS::DataSync::LocationFSxWindows" ], "type": "string" }, @@ -113355,53 +112349,47 @@ ], "type": "object" }, - "AWS::Deadline::Worker.HostPropertiesRequest": { + "AWS::DataSync::LocationFSxWindows.CmkSecretConfig": { "additionalProperties": false, "properties": { - "HostName": { + "KmsKeyArn": { "type": "string" }, - "IpAddresses": { - "$ref": "#/definitions/AWS::Deadline::Worker.IpAddresses" + "SecretArn": { + "type": "string" } }, "type": "object" }, - "AWS::Deadline::Worker.IpAddresses": { + "AWS::DataSync::LocationFSxWindows.CustomSecretConfig": { "additionalProperties": false, "properties": { - "IpV4Addresses": { - "items": { - "type": "string" - }, - "type": "array" + "SecretAccessRoleArn": { + "type": "string" }, - "IpV6Addresses": { - "items": { - "type": "string" - }, - "type": "array" + "SecretArn": { + "type": "string" } }, + "required": [ + "SecretAccessRoleArn", + "SecretArn" + ], "type": "object" }, - "AWS::Deadline::Worker.TagsItems": { + "AWS::DataSync::LocationFSxWindows.ManagedSecretConfig": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "Value": { + "SecretArn": { "type": "string" } }, "required": [ - "Key", - "Value" + "SecretArn" ], "type": "object" }, - "AWS::Detective::Graph": { + "AWS::DataSync::LocationHDFS": { "additionalProperties": false, "properties": { "Condition": { @@ -113436,25 +112424,97 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoEnableMembers": { - "markdownDescription": "Indicates whether to automatically enable new organization accounts as member accounts in the organization behavior graph.\n\nBy default, this property is set to `false` . If you want to change the value of this property, you must be the Detective administrator for the organization. For more information on setting a Detective administrator account, see [AWS::Detective::OrganizationAdmin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html) .", - "title": "AutoEnableMembers", - "type": "boolean" + "AgentArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.", + "title": "AgentArns", + "type": "array" + }, + "AuthenticationType": { + "markdownDescription": "", + "title": "AuthenticationType", + "type": "string" + }, + "BlockSize": { + "markdownDescription": "The size of data blocks to write into the HDFS cluster. The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB).", + "title": "BlockSize", + "type": "number" + }, + "CmkSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationHDFS.CmkSecretConfig" + }, + "CustomSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationHDFS.CustomSecretConfig" + }, + "KerberosKeytab": { + "markdownDescription": "The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. Provide the base64-encoded file text. If `KERBEROS` is specified for `AuthType` , this value is required.", + "title": "KerberosKeytab", + "type": "string" + }, + "KerberosKrb5Conf": { + "markdownDescription": "The `krb5.conf` file that contains the Kerberos configuration information. You can load the `krb5.conf` by providing a string of the file's contents or an Amazon S3 presigned URL of the file. If `KERBEROS` is specified for `AuthType` , this value is required.", + "title": "KerberosKrb5Conf", + "type": "string" + }, + "KerberosPrincipal": { + "markdownDescription": "The Kerberos principal with access to the files and folders on the HDFS cluster.\n\n> If `KERBEROS` is specified for `AuthenticationType` , this parameter is required.", + "title": "KerberosPrincipal", + "type": "string" + }, + "KmsKeyProviderUri": { + "markdownDescription": "The URI of the HDFS cluster's Key Management Server (KMS).", + "title": "KmsKeyProviderUri", + "type": "string" + }, + "NameNodes": { + "items": { + "$ref": "#/definitions/AWS::DataSync::LocationHDFS.NameNode" + }, + "markdownDescription": "The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode.", + "title": "NameNodes", + "type": "array" + }, + "QopConfiguration": { + "$ref": "#/definitions/AWS::DataSync::LocationHDFS.QopConfiguration", + "markdownDescription": "The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the Hadoop Distributed File System (HDFS) cluster. If `QopConfiguration` isn't specified, `RpcProtection` and `DataTransferProtection` default to `PRIVACY` . If you set `RpcProtection` or `DataTransferProtection` , the other parameter assumes the same value.", + "title": "QopConfiguration" + }, + "ReplicationFactor": { + "markdownDescription": "The number of DataNodes to replicate the data to when writing to the HDFS cluster. By default, data is replicated to three DataNodes.", + "title": "ReplicationFactor", + "type": "number" + }, + "SimpleUser": { + "markdownDescription": "The user name used to identify the client on the host operating system.\n\n> If `SIMPLE` is specified for `AuthenticationType` , this parameter is required.", + "title": "SimpleUser", + "type": "string" + }, + "Subdirectory": { + "markdownDescription": "A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to `/` .", + "title": "Subdirectory", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tag values to assign to the new behavior graph.", + "markdownDescription": "The key-value pair that represents the tag that you want to add to the location. The value can be an empty string. We recommend using tags to name your resources.", "title": "Tags", "type": "array" } }, + "required": [ + "AgentArns", + "AuthenticationType", + "NameNodes" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Detective::Graph" + "AWS::DataSync::LocationHDFS" ], "type": "string" }, @@ -113468,11 +112528,88 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Detective::MemberInvitation": { + "AWS::DataSync::LocationHDFS.CmkSecretConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationHDFS.CustomSecretConfig": { + "additionalProperties": false, + "properties": { + "SecretAccessRoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "SecretAccessRoleArn", + "SecretArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationHDFS.ManagedSecretConfig": { + "additionalProperties": false, + "properties": { + "SecretArn": { + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationHDFS.NameNode": { + "additionalProperties": false, + "properties": { + "Hostname": { + "markdownDescription": "The hostname of the NameNode in the HDFS cluster. This value is the IP address or Domain Name Service (DNS) name of the NameNode. An agent that's installed on-premises uses this hostname to communicate with the NameNode in the network.", + "title": "Hostname", + "type": "string" + }, + "Port": { + "markdownDescription": "The port that the NameNode uses to listen to client requests.", + "title": "Port", + "type": "number" + } + }, + "required": [ + "Hostname", + "Port" + ], + "type": "object" + }, + "AWS::DataSync::LocationHDFS.QopConfiguration": { + "additionalProperties": false, + "properties": { + "DataTransferProtection": { + "markdownDescription": "The data transfer protection setting configured on the HDFS cluster. This setting corresponds to your `dfs.data.transfer.protection` setting in the `hdfs-site.xml` file on your Hadoop cluster.", + "title": "DataTransferProtection", + "type": "string" + }, + "RpcProtection": { + "markdownDescription": "The Remote Procedure Call (RPC) protection setting configured on the HDFS cluster. This setting corresponds to your `hadoop.rpc.protection` setting in your `core-site.xml` file on your Hadoop cluster.", + "title": "RpcProtection", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationNFS": { "additionalProperties": false, "properties": { "Condition": { @@ -113507,42 +112644,43 @@ "Properties": { "additionalProperties": false, "properties": { - "DisableEmailNotification": { - "markdownDescription": "Whether to send an invitation email to the member account. If set to true, the member account does not receive an invitation email.", - "title": "DisableEmailNotification", - "type": "boolean" + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions", + "markdownDescription": "Specifies the options that DataSync can use to mount your NFS file server.", + "title": "MountOptions" }, - "GraphArn": { - "markdownDescription": "The ARN of the behavior graph to invite the account to contribute data to.", - "title": "GraphArn", - "type": "string" + "OnPremConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig", + "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect to your NFS file server.\n\nYou can specify more than one agent. For more information, see [Using multiple DataSync agents](https://docs.aws.amazon.com/datasync/latest/userguide/do-i-need-datasync-agent.html#multiple-agents) .", + "title": "OnPremConfig" }, - "MemberEmailAddress": { - "markdownDescription": "The root user email address of the invited account. If the email address provided is not the root user email address for the provided account, the invitation creation fails.", - "title": "MemberEmailAddress", + "ServerHostname": { + "markdownDescription": "Specifies the DNS name or IP address (IPv4 or IPv6) of the NFS file server that your DataSync agent connects to.", + "title": "ServerHostname", "type": "string" }, - "MemberId": { - "markdownDescription": "The AWS account identifier of the invited account", - "title": "MemberId", + "Subdirectory": { + "markdownDescription": "Specifies the export path in your NFS file server that you want DataSync to mount.\n\nThis path (or a subdirectory of the path) is where DataSync transfers data to or from. For information on configuring an export for DataSync, see [Accessing NFS file servers](https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#accessing-nfs) .", + "title": "Subdirectory", "type": "string" }, - "Message": { - "markdownDescription": "Customized text to include in the invitation email message.", - "title": "Message", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", + "title": "Tags", + "type": "array" } }, "required": [ - "GraphArn", - "MemberEmailAddress", - "MemberId" + "OnPremConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::Detective::MemberInvitation" + "AWS::DataSync::LocationNFS" ], "type": "string" }, @@ -113561,74 +112699,35 @@ ], "type": "object" }, - "AWS::Detective::OrganizationAdmin": { + "AWS::DataSync::LocationNFS.MountOptions": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Version": { + "markdownDescription": "Specifies the NFS version that you want DataSync to use when mounting your NFS share. If the server refuses to use the version specified, the task fails.\n\nYou can specify the following options:\n\n- `AUTOMATIC` (default): DataSync chooses NFS version 4.1.\n- `NFS3` : Stateless protocol version that allows for asynchronous writes on the server.\n- `NFSv4_0` : Stateful, firewall-friendly protocol version that supports delegations and pseudo file systems.\n- `NFSv4_1` : Stateful protocol version that supports sessions, directory delegations, and parallel data processing. NFS version 4.1 also includes all features available in version 4.0.\n\n> DataSync currently only supports NFS version 3 with Amazon FSx for NetApp ONTAP locations.", + "title": "Version", "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The AWS account identifier of the account to designate as the Detective administrator account for the organization.", - "title": "AccountId", - "type": "string" - } + } + }, + "type": "object" + }, + "AWS::DataSync::LocationNFS.OnPremConfig": { + "additionalProperties": false, + "properties": { + "AgentArns": { + "items": { + "type": "string" }, - "required": [ - "AccountId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::OrganizationAdmin" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "markdownDescription": "The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your NFS file server.\n\nYou can specify more than one agent. For more information, see [Using multiple DataSync agents](https://docs.aws.amazon.com/datasync/latest/userguide/do-i-need-datasync-agent.html#multiple-agents) .", + "title": "AgentArns", + "type": "array" } }, "required": [ - "Type", - "Properties" + "AgentArns" ], "type": "object" }, - "AWS::DevOpsAgent::AgentSpace": { + "AWS::DataSync::LocationObjectStorage": { "additionalProperties": false, "properties": { "Condition": { @@ -113663,40 +112762,81 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the Agent Space.", - "title": "Description", + "AccessKey": { + "markdownDescription": "Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.", + "title": "AccessKey", "type": "string" }, - "KmsKeyArn": { + "AgentArns": { + "items": { + "type": "string" + }, + "markdownDescription": "(Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.\n\n> Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.", + "title": "AgentArns", + "type": "array" + }, + "BucketName": { + "markdownDescription": "Specifies the name of the object storage bucket involved in the transfer.", + "title": "BucketName", "type": "string" }, - "Locale": { + "CmkSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.CmkSecretConfig", + "markdownDescription": "Specifies configuration information for a DataSync-managed secret, which includes the `SecretKey` that DataSync uses to access a specific object storage location, with a customer-managed AWS KMS key .\n\nWhen you include this parameter as part of a `CreateLocationObjectStorage` request, you provide only the KMS key ARN. DataSync uses this KMS key together with the value you specify for the `SecretKey` parameter to create a DataSync-managed secret to store the location access credentials.\n\nMake sure that DataSync has permission to access the KMS key that you specify.\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": "CmkSecretConfig" + }, + "CustomSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.CustomSecretConfig", + "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", "type": "string" }, - "Name": { - "markdownDescription": "The name of the Agent Space.", - "title": "Name", + "ServerCertificate": { + "markdownDescription": "Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA). You must specify a single `.pem` file with a full certificate chain (for example, `file:///home/user/.ssh/object_storage_certificates.pem` ).\n\nThe certificate chain might include:\n\n- The object storage system's certificate\n- All intermediate certificates (if there are any)\n- The root certificate of the signing CA\n\nYou can concatenate your certificates into a `.pem` file (which can be up to 32768 bytes before base64 encoding). The following example `cat` command creates an `object_storage_certificates.pem` file that includes three certificates:\n\n`cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem`\n\nTo use this parameter, configure `ServerProtocol` to `HTTPS` .", + "title": "ServerCertificate", "type": "string" }, - "OperatorApp": { - "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace.OperatorApp" + "ServerHostname": { + "markdownDescription": "Specifies the domain name or IP address (IPv4 or IPv6) of the object storage server that your DataSync agent connects to.", + "title": "ServerHostname", + "type": "string" + }, + "ServerPort": { + "markdownDescription": "Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).", + "title": "ServerPort", + "type": "number" + }, + "ServerProtocol": { + "markdownDescription": "Specifies the protocol that your object storage server uses to communicate. If not specified, the default value is `HTTPS` .", + "title": "ServerProtocol", + "type": "string" + }, + "Subdirectory": { + "markdownDescription": "Specifies the object prefix for your object storage server. If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix.", + "title": "Subdirectory", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "Specifies the key-value pair that represents a tag that you want to add to the resource. Tags can help you manage, filter, and search for your resources. We recommend creating a name tag for your location.", + "title": "Tags", "type": "array" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DevOpsAgent::AgentSpace" + "AWS::DataSync::LocationObjectStorage" ], "type": "string" }, @@ -113710,67 +112850,106 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::DevOpsAgent::AgentSpace.IamAuthConfiguration": { + "AWS::DataSync::LocationObjectStorage.CmkSecretConfig": { "additionalProperties": false, "properties": { - "CreatedAt": { + "KmsKeyArn": { + "markdownDescription": "Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for `SecretArn` . DataSync provides this key to AWS Secrets Manager .", + "title": "KmsKeyArn", "type": "string" }, - "OperatorAppRoleArn": { + "SecretArn": { + "markdownDescription": "Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for `KmsKeyArn` .", + "title": "SecretArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationObjectStorage.CustomSecretConfig": { + "additionalProperties": false, + "properties": { + "SecretAccessRoleArn": { + "markdownDescription": "Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` .", + "title": "SecretAccessRoleArn", "type": "string" }, - "UpdatedAt": { + "SecretArn": { + "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", + "title": "SecretArn", "type": "string" } }, "required": [ - "OperatorAppRoleArn" + "SecretAccessRoleArn", + "SecretArn" ], "type": "object" }, - "AWS::DevOpsAgent::AgentSpace.IdcAuthConfiguration": { + "AWS::DataSync::LocationObjectStorage.GoogleOidcConfig": { "additionalProperties": false, "properties": { - "CreatedAt": { + "IdentityPoolName": { "type": "string" }, - "IdcApplicationArn": { + "IdentityProviderName": { "type": "string" }, - "IdcInstanceArn": { + "ProjectName": { "type": "string" }, - "OperatorAppRoleArn": { + "ProjectNumber": { "type": "string" - }, - "UpdatedAt": { + } + }, + "required": [ + "IdentityPoolName", + "IdentityProviderName", + "ProjectName", + "ProjectNumber" + ], + "type": "object" + }, + "AWS::DataSync::LocationObjectStorage.ManagedSecretConfig": { + "additionalProperties": false, + "properties": { + "SecretArn": { + "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", + "title": "SecretArn", "type": "string" } }, "required": [ - "IdcInstanceArn", - "OperatorAppRoleArn" + "SecretArn" ], "type": "object" }, - "AWS::DevOpsAgent::AgentSpace.OperatorApp": { + "AWS::DataSync::LocationObjectStorage.ObjectStorageExternalIdentityConfig": { "additionalProperties": false, "properties": { - "Iam": { - "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace.IamAuthConfiguration" + "GoogleOidc": { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.GoogleOidcConfig" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationObjectStorage.ObjectStorageFederatedIdentityConfig": { + "additionalProperties": false, + "properties": { + "AwsIamRole": { + "type": "string" }, - "Idc": { - "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace.IdcAuthConfiguration" + "ExternalIdentity": { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.ObjectStorageExternalIdentityConfig" } }, "type": "object" }, - "AWS::DevOpsAgent::Asset": { + "AWS::DataSync::LocationS3": { "additionalProperties": false, "properties": { "Condition": { @@ -113805,34 +112984,43 @@ "Properties": { "additionalProperties": false, "properties": { - "AgentSpaceId": { + "S3BucketArn": { + "markdownDescription": "The ARN of the Amazon S3 bucket.", + "title": "S3BucketArn", "type": "string" }, - "AssetType": { + "S3Config": { + "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config", + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that is used to access an Amazon S3 bucket.\n\nFor detailed information about using such a role, see [Creating a Location for Amazon S3](https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html#create-s3-location) in the *AWS DataSync User Guide* .", + "title": "S3Config" + }, + "S3StorageClass": { + "markdownDescription": "The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. For buckets in AWS Regions , the storage class defaults to S3 Standard.\n\nFor more information about S3 storage classes, see [Amazon S3 Storage Classes](https://docs.aws.amazon.com/s3/storage-classes/) . Some storage classes have behaviors that can affect your S3 storage costs. For detailed information, see [Considerations When Working with Amazon S3 Storage Classes in DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) .", + "title": "S3StorageClass", "type": "string" }, - "Files": { + "Subdirectory": { + "markdownDescription": "Specifies a prefix in the S3 bucket that DataSync reads from or writes to (depending on whether the bucket is a source or destination location).\n\n> DataSync can't transfer objects with a prefix that begins with a slash ( `/` ) or includes `//` , `/./` , or `/../` patterns. For example:\n> \n> - `/photos`\n> - `photos//2006/January`\n> - `photos/./2006/February`\n> - `photos/../2006/March`", + "title": "Subdirectory", + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::DevOpsAgent::Asset.AssetFile" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your transfer location.", + "title": "Tags", "type": "array" - }, - "Metadata": { - "type": "object" - }, - "Zip": { - "type": "string" } }, "required": [ - "AgentSpaceId", - "AssetType" + "S3Config" ], "type": "object" }, "Type": { "enum": [ - "AWS::DevOpsAgent::Asset" + "AWS::DataSync::LocationS3" ], "type": "string" }, @@ -113851,28 +113039,21 @@ ], "type": "object" }, - "AWS::DevOpsAgent::Asset.AssetFile": { + "AWS::DataSync::LocationS3.S3Config": { "additionalProperties": false, "properties": { - "ContentBytes": { - "type": "string" - }, - "ContentText": { - "type": "string" - }, - "Metadata": { - "type": "object" - }, - "Path": { + "BucketAccessRoleArn": { + "markdownDescription": "Specifies the ARN of the IAM role that DataSync uses to access your S3 bucket.", + "title": "BucketAccessRoleArn", "type": "string" } }, "required": [ - "Path" + "BucketAccessRoleArn" ], "type": "object" }, - "AWS::DevOpsAgent::Association": { + "AWS::DataSync::LocationSMB": { "additionalProperties": false, "properties": { "Condition": { @@ -113907,40 +113088,99 @@ "Properties": { "additionalProperties": false, "properties": { - "AgentSpaceId": { - "markdownDescription": "The unique identifier of the Agent Space.", - "title": "AgentSpaceId", + "AgentArns": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the DataSync agent (or agents) that can connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).", + "title": "AgentArns", + "type": "array" + }, + "AuthenticationType": { + "markdownDescription": "", + "title": "AuthenticationType", "type": "string" }, - "Configuration": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.ServiceConfiguration", - "markdownDescription": "The configuration that directs how the Agent Space interacts with the given service. You can specify only one configuration type per association.\n\n*Allowed Values* : `SourceAws` | `Aws` | `GitHub` | `GitLab` | `Slack` | `Dynatrace` | `ServiceNow` | `MCPServer` | `MCPServerNewRelic` | `MCPServerDatadog` | `MCPServerSplunk` | `EventChannel`", - "title": "Configuration" + "CmkSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationSMB.CmkSecretConfig", + "markdownDescription": "Specifies configuration information for a DataSync-managed secret, such as an authentication token, secret key, password, or Kerberos keytab that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .\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": "CmkSecretConfig" }, - "LinkedAssociationIds": { + "CustomSecretConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationSMB.CustomSecretConfig", + "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" + }, + "DnsIpAddresses": { "items": { "type": "string" }, - "markdownDescription": "Set of linked association IDs for parent-child relationships.", - "title": "LinkedAssociationIds", + "markdownDescription": "", + "title": "DnsIpAddresses", "type": "array" }, - "ServiceId": { - "markdownDescription": "The identifier for the associated service. For `SourceAws` and `Aws` configurations, this must be `aws` . For all other service types, this is a UUID generated from the RegisterService command.", - "title": "ServiceId", + "Domain": { + "markdownDescription": "Specifies the Windows domain name that your SMB file server belongs to. This parameter applies only if `AuthenticationType` is set to `NTLM` .\n\nIf you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.", + "title": "Domain", + "type": "string" + }, + "KerberosKeytab": { + "markdownDescription": "", + "title": "KerberosKeytab", + "type": "string" + }, + "KerberosKrb5Conf": { + "markdownDescription": "", + "title": "KerberosKrb5Conf", + "type": "string" + }, + "KerberosPrincipal": { + "markdownDescription": "", + "title": "KerberosPrincipal", + "type": "string" + }, + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions", + "markdownDescription": "Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.", + "title": "MountOptions" + }, + "Password": { + "markdownDescription": "Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer. This parameter applies only if `AuthenticationType` is set to `NTLM` .", + "title": "Password", + "type": "string" + }, + "ServerHostname": { + "markdownDescription": "Specifies the domain name or IP address (IPv4 or IPv6) of the SMB file server that your DataSync agent connects to.\n\n> If you're using Kerberos authentication, you must specify a domain name.", + "title": "ServerHostname", + "type": "string" + }, + "Subdirectory": { + "markdownDescription": "Specifies the name of the share exported by your SMB file server where DataSync will read or write data. You can include a subdirectory in the share path (for example, `/path/to/subdirectory` ). Make sure that other SMB clients in your network can also mount this path.\n\nTo copy all data in the subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see [Providing DataSync access to SMB file servers](https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) .", + "title": "Subdirectory", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.", + "title": "Tags", + "type": "array" + }, + "User": { + "markdownDescription": "Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server. This parameter applies only if `AuthenticationType` is set to `NTLM` .\n\nFor information about choosing a user with the right level of access for your transfer, see [Providing DataSync access to SMB file servers](https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) .", + "title": "User", "type": "string" } }, "required": [ - "AgentSpaceId", - "Configuration", - "ServiceId" + "AgentArns" ], "type": "object" }, "Type": { "enum": [ - "AWS::DevOpsAgent::Association" + "AWS::DataSync::LocationSMB" ], "type": "string" }, @@ -113959,567 +113199,514 @@ ], "type": "object" }, - "AWS::DevOpsAgent::Association.AWSConfiguration": { + "AWS::DataSync::LocationSMB.CmkSecretConfig": { "additionalProperties": false, "properties": { - "AccountId": { - "markdownDescription": "Account ID corresponding to the provided resources.", - "title": "AccountId", - "type": "string" - }, - "AccountType": { - "markdownDescription": "Account Type 'monitor' for AWS DevOps Agent monitoring.", - "title": "AccountType", + "KmsKeyArn": { + "markdownDescription": "Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for `SecretArn` . DataSync provides this key to AWS Secrets Manager .", + "title": "KmsKeyArn", "type": "string" }, - "AssumableRoleArn": { - "markdownDescription": "Role ARN used by AWS DevOps Agent to access resources in the primary account.", - "title": "AssumableRoleArn", + "SecretArn": { + "markdownDescription": "Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for `KmsKeyArn` .", + "title": "SecretArn", "type": "string" - }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.AWSResource" - }, - "markdownDescription": "List of resources to monitor.", - "title": "Resources", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.KeyValuePair" - }, - "markdownDescription": "List of tags as key-value pairs, used to identify resources for topology crawl.", - "title": "Tags", - "type": "array" } }, - "required": [ - "AccountId", - "AccountType", - "AssumableRoleArn" - ], "type": "object" }, - "AWS::DevOpsAgent::Association.AWSResource": { + "AWS::DataSync::LocationSMB.CustomSecretConfig": { "additionalProperties": false, "properties": { - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource.", - "title": "ResourceArn", + "SecretAccessRoleArn": { + "markdownDescription": "Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` .", + "title": "SecretAccessRoleArn", "type": "string" }, - "ResourceMetadata": { - "markdownDescription": "Additional metadata specific to the resource. This is an optional JSON object that can include resource-specific information to provide additional context for monitoring and management.", - "title": "ResourceMetadata", - "type": "object" - }, - "ResourceType": { - "markdownDescription": "Resource type.", - "title": "ResourceType", + "SecretArn": { + "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", + "title": "SecretArn", "type": "string" } }, "required": [ - "ResourceArn" + "SecretAccessRoleArn", + "SecretArn" ], "type": "object" }, - "AWS::DevOpsAgent::Association.AzureConfiguration": { + "AWS::DataSync::LocationSMB.ManagedSecretConfig": { "additionalProperties": false, "properties": { - "SubscriptionId": { + "SecretArn": { + "markdownDescription": "Specifies the ARN for an AWS Secrets Manager secret.", + "title": "SecretArn", "type": "string" } }, "required": [ - "SubscriptionId" + "SecretArn" ], "type": "object" }, - "AWS::DevOpsAgent::Association.DynatraceConfiguration": { + "AWS::DataSync::LocationSMB.MountOptions": { "additionalProperties": false, "properties": { - "EnableWebhookUpdates": { - "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", - "title": "EnableWebhookUpdates", - "type": "boolean" - }, - "EnvId": { - "markdownDescription": "Dynatrace environment id.", - "title": "EnvId", + "Version": { + "markdownDescription": "By default, DataSync automatically chooses an SMB protocol version based on negotiation with your SMB file server. You also can configure DataSync to use a specific SMB version, but we recommend doing this only if DataSync has trouble negotiating with the SMB file server automatically.\n\nThese are the following options for configuring the SMB version:\n\n- `AUTOMATIC` (default): DataSync and the SMB file server negotiate the highest version of SMB that they mutually support between 2.1 and 3.1.1.\n\nThis is the recommended option. If you instead choose a specific version that your file server doesn't support, you may get an `Operation Not Supported` error.\n- `SMB3` : Restricts the protocol negotiation to only SMB version 3.0.2.\n- `SMB2` : Restricts the protocol negotiation to only SMB version 2.1.\n- `SMB2_0` : Restricts the protocol negotiation to only SMB version 2.0.\n- `SMB1` : Restricts the protocol negotiation to only SMB version 1.0.\n\n> The `SMB1` option isn't available when [creating an Amazon FSx for NetApp ONTAP location](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateLocationFsxOntap.html) .", + "title": "Version", "type": "string" - }, - "Resources": { - "items": { - "type": "string" - }, - "markdownDescription": "List of Dynatrace resources to monitor.", - "title": "Resources", - "type": "array" - } - }, - "required": [ - "EnvId" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Association.EventChannelConfiguration": { - "additionalProperties": false, - "properties": { - "EnableWebhookUpdates": { - "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", - "title": "EnableWebhookUpdates", - "type": "boolean" } }, "type": "object" }, - "AWS::DevOpsAgent::Association.GitHubConfiguration": { + "AWS::DataSync::Task": { "additionalProperties": false, "properties": { - "Owner": { - "markdownDescription": "Repository owner.", - "title": "Owner", + "Condition": { "type": "string" }, - "OwnerType": { - "markdownDescription": "Type of repository owner.", - "title": "OwnerType", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RepoId": { - "markdownDescription": "Associated Github repo ID.", - "title": "RepoId", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RepoName": { - "markdownDescription": "Associated Github repo name.", - "title": "RepoName", - "type": "string" - } - }, - "required": [ - "Owner", - "OwnerType", - "RepoId", - "RepoName" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Association.GitLabConfiguration": { - "additionalProperties": false, - "properties": { - "EnableWebhookUpdates": { - "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", - "title": "EnableWebhookUpdates", - "type": "boolean" + "Metadata": { + "type": "object" }, - "InstanceIdentifier": { - "markdownDescription": "GitLab instance identifier (e.g., gitlab.com).", - "title": "InstanceIdentifier", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupArn": { + "markdownDescription": "Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.\n\nFor Enhanced mode tasks, you don't need to specify anything. DataSync automatically sends logs to a CloudWatch log group named `/aws/datasync` .\n\nFor more information, see [Monitoring data transfers with CloudWatch Logs](https://docs.aws.amazon.com/datasync/latest/userguide/configure-logging.html) .", + "title": "CloudWatchLogGroupArn", + "type": "string" + }, + "DestinationLocationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS storage resource's location.", + "title": "DestinationLocationArn", + "type": "string" + }, + "Excludes": { + "items": { + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" + }, + "markdownDescription": "Specifies exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see [Specifying what DataSync transfers by using filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .", + "title": "Excludes", + "type": "array" + }, + "Includes": { + "items": { + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" + }, + "markdownDescription": "Specifies include filters that define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see [Specifying what DataSync transfers by using filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .", + "title": "Includes", + "type": "array" + }, + "ManifestConfig": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfig", + "markdownDescription": "The configuration of the manifest that lists the files or objects that you want DataSync to transfer. For more information, see [Specifying what DataSync transfers by using a manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html) .", + "title": "ManifestConfig" + }, + "Name": { + "markdownDescription": "Specifies the name of your task.", + "title": "Name", + "type": "string" + }, + "Options": { + "$ref": "#/definitions/AWS::DataSync::Task.Options", + "markdownDescription": "Specifies your task's settings, such as preserving file metadata, verifying data integrity, among other options.", + "title": "Options" + }, + "Schedule": { + "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule", + "markdownDescription": "Specifies a schedule for when you want your task to run. For more information, see [Scheduling your task](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) .", + "title": "Schedule" + }, + "SourceLocationArn": { + "markdownDescription": "Specifies the ARN of your transfer's source location.", + "title": "SourceLocationArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies the tags that you want to apply to your task.\n\n*Tags* are key-value pairs that help you manage, filter, and search for your DataSync resources.", + "title": "Tags", + "type": "array" + }, + "TaskMode": { + "markdownDescription": "The task mode that you're using. For more information, see [Choosing a task mode for your data transfer](https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html) .", + "title": "TaskMode", + "type": "string" + }, + "TaskReportConfig": { + "$ref": "#/definitions/AWS::DataSync::Task.TaskReportConfig", + "markdownDescription": "The configuration of your task report, which provides detailed information about your DataSync transfer. For more information, see [Monitoring your DataSync transfers with task reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .", + "title": "TaskReportConfig" + } + }, + "required": [ + "DestinationLocationArn", + "SourceLocationArn" + ], + "type": "object" }, - "ProjectId": { - "markdownDescription": "GitLab numeric project ID.", - "title": "ProjectId", + "Type": { + "enum": [ + "AWS::DataSync::Task" + ], "type": "string" }, - "ProjectPath": { - "markdownDescription": "Full GitLab project path (e.g., namespace/project-name).", - "title": "ProjectPath", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ProjectId", - "ProjectPath" + "Type", + "Properties" ], "type": "object" }, - "AWS::DevOpsAgent::Association.KeyValuePair": { + "AWS::DataSync::Task.Deleted": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key name of the tag.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The value for the tag.", - "title": "Value", + "ReportLevel": { + "markdownDescription": "", + "title": "ReportLevel", "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::DevOpsAgent::Association.MCPServerConfiguration": { + "AWS::DataSync::Task.Destination": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the MCP server.", - "title": "Description", - "type": "string" - }, - "EnableWebhookUpdates": { - "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", - "title": "EnableWebhookUpdates", - "type": "boolean" - }, - "Endpoint": { - "markdownDescription": "MCP server endpoint URL.", - "title": "Endpoint", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the MCP server.", - "title": "Name", - "type": "string" - }, - "Tools": { - "items": { - "type": "string" - }, - "markdownDescription": "List of MCP tools that can be used with the association.", - "title": "Tools", - "type": "array" + "S3": { + "$ref": "#/definitions/AWS::DataSync::Task.TaskReportConfigDestinationS3", + "markdownDescription": "", + "title": "S3" } }, - "required": [ - "Tools" - ], "type": "object" }, - "AWS::DevOpsAgent::Association.MCPServerDatadogConfiguration": { + "AWS::DataSync::Task.FilterRule": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the MCP server.", - "title": "Description", - "type": "string" - }, - "EnableWebhookUpdates": { - "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", - "title": "EnableWebhookUpdates", - "type": "boolean" - }, - "Endpoint": { - "markdownDescription": "MCP server endpoint URL.", - "title": "Endpoint", + "FilterType": { + "markdownDescription": "The type of filter rule to apply. AWS DataSync only supports the SIMPLE_PATTERN rule type.", + "title": "FilterType", "type": "string" }, - "Name": { - "markdownDescription": "The name of the MCP server.", - "title": "Name", + "Value": { + "markdownDescription": "A single filter string that consists of the patterns to include or exclude. The patterns are delimited by \"|\" (that is, a pipe), for example: `/folder1|/folder2`", + "title": "Value", "type": "string" } }, "type": "object" }, - "AWS::DevOpsAgent::Association.MCPServerGrafanaConfiguration": { + "AWS::DataSync::Task.ManifestConfig": { "additionalProperties": false, "properties": { - "EnableWebhookUpdates": { - "type": "boolean" - }, - "Endpoint": { + "Action": { + "markdownDescription": "Specifies what DataSync uses the manifest for.", + "title": "Action", "type": "string" }, - "Tools": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Endpoint" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Association.MCPServerNewRelicConfiguration": { - "additionalProperties": false, - "properties": { - "AccountId": { - "markdownDescription": "New Relic Account ID.", - "title": "AccountId", + "Format": { + "markdownDescription": "Specifies the file format of your manifest. For more information, see [Creating a manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html#transferring-with-manifest-create) .", + "title": "Format", "type": "string" }, - "Endpoint": { - "markdownDescription": "MCP server endpoint URL (e.g., https://mcp.newrelic.com/mcp/).", - "title": "Endpoint", - "type": "string" - } - }, - "required": [ - "AccountId", - "Endpoint" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Association.MCPServerSigV4Configuration": { - "additionalProperties": false, - "properties": { - "Tools": { - "items": { - "type": "string" - }, - "type": "array" + "Source": { + "$ref": "#/definitions/AWS::DataSync::Task.Source", + "markdownDescription": "Specifies the manifest that you want DataSync to use and where it's hosted.\n\n> You must specify this parameter if you're configuring a new manifest on or after February 7, 2024.\n> \n> If you don't, you'll get a 400 status code and `ValidationException` error stating that you're missing the IAM role for DataSync to access the S3 bucket where you're hosting your manifest. For more information, see [Providing DataSync access to your manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html#transferring-with-manifest-access) .", + "title": "Source" } }, "required": [ - "Tools" + "Source" ], "type": "object" }, - "AWS::DevOpsAgent::Association.MCPServerSplunkConfiguration": { + "AWS::DataSync::Task.ManifestConfigSourceS3": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the MCP server.", - "title": "Description", + "BucketAccessRoleArn": { + "markdownDescription": "", + "title": "BucketAccessRoleArn", "type": "string" }, - "EnableWebhookUpdates": { - "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", - "title": "EnableWebhookUpdates", - "type": "boolean" + "ManifestObjectPath": { + "markdownDescription": "", + "title": "ManifestObjectPath", + "type": "string" }, - "Endpoint": { - "markdownDescription": "MCP server endpoint URL.", - "title": "Endpoint", + "ManifestObjectVersionId": { + "markdownDescription": "", + "title": "ManifestObjectVersionId", "type": "string" }, - "Name": { - "markdownDescription": "The name of the MCP server.", - "title": "Name", + "S3BucketArn": { + "markdownDescription": "", + "title": "S3BucketArn", "type": "string" } }, "type": "object" }, - "AWS::DevOpsAgent::Association.PagerDutyConfiguration": { + "AWS::DataSync::Task.Options": { "additionalProperties": false, "properties": { - "CustomerEmail": { + "Atime": { + "markdownDescription": "A file metadata value that shows the last time that a file was accessed (that is, when the file was read or written to). If you set `Atime` to `BEST_EFFORT` , AWS DataSync attempts to preserve the original `Atime` attribute on all source files (that is, the version before the PREPARING phase). However, `Atime` 's behavior is not fully standard across platforms, so AWS DataSync can only do this on a best-effort basis.\n\nDefault value: `BEST_EFFORT`\n\n`BEST_EFFORT` : Attempt to preserve the per-file `Atime` value (recommended).\n\n`NONE` : Ignore `Atime` .\n\n> If `Atime` is set to `BEST_EFFORT` , `Mtime` must be set to `PRESERVE` .\n> \n> If `Atime` is set to `NONE` , `Mtime` must also be `NONE` .", + "title": "Atime", "type": "string" }, - "EnableWebhookUpdates": { - "type": "boolean" + "BytesPerSecond": { + "markdownDescription": "A value that limits the bandwidth used by AWS DataSync . For example, if you want AWS DataSync to use a maximum of 1 MB, set this value to `1048576` (=1024*1024).", + "title": "BytesPerSecond", + "type": "number" }, - "Services": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CustomerEmail", - "Services" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Association.ServiceConfiguration": { - "additionalProperties": false, - "properties": { - "Aws": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.AWSConfiguration", - "markdownDescription": "Configuration for AWS monitor account integration. Specifies the account ID, assumable role ARN, and resources to be monitored in the primary monitoring account.", - "title": "Aws" + "Gid": { + "markdownDescription": "The group ID (GID) of the file's owners.\n\nDefault value: `INT_VALUE`\n\n`INT_VALUE` : Preserve the integer value of the user ID (UID) and group ID (GID) (recommended).\n\n`NAME` : Currently not supported.\n\n`NONE` : Ignore the UID and GID.", + "title": "Gid", + "type": "string" }, - "Azure": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.AzureConfiguration" + "LogLevel": { + "markdownDescription": "Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group. To specify the log group, see [CloudWatchLogGroupArn](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn) .\n\n- `BASIC` - Publishes logs with only basic information (such as transfer errors).\n- `TRANSFER` - Publishes logs for all files or objects that your DataSync task transfers and performs data-integrity checks on.\n- `OFF` - No logs are published.", + "title": "LogLevel", + "type": "string" }, - "Dynatrace": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.DynatraceConfiguration", - "markdownDescription": "Configuration for Dynatrace monitoring integration. Specifies the environment ID, resources to monitor, and webhook settings to enable the Agent Space to access Dynatrace metrics, traces, and logs.", - "title": "Dynatrace" + "Mtime": { + "markdownDescription": "A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase. This option is required for cases when you need to run the same task more than one time.\n\nDefault value: `PRESERVE`\n\n`PRESERVE` : Preserve original `Mtime` (recommended)\n\n`NONE` : Ignore `Mtime` .\n\n> If `Mtime` is set to `PRESERVE` , `Atime` must be set to `BEST_EFFORT` .\n> \n> If `Mtime` is set to `NONE` , `Atime` must also be set to `NONE` .", + "title": "Mtime", + "type": "string" }, - "EventChannel": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.EventChannelConfiguration", - "markdownDescription": "Configuration for Event Channel integration. Specifies webhook settings to enable the Agent Space to receive and process real-time events from external systems.", - "title": "EventChannel" + "ObjectMetadata": { + "type": "string" }, - "GitHub": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.GitHubConfiguration", - "markdownDescription": "Configuration for GitHub repository integration. Specifies the repository name, repository ID, owner, and owner type to enable the Agent Space to access code, pull requests, and issues.", - "title": "GitHub" + "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", + "type": "string" }, - "GitLab": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.GitLabConfiguration", - "markdownDescription": "Configuration for GitLab project integration. Specifies the project ID, project path, instance identifier, and webhook settings to enable the Agent Space to access code, merge requests, and issues.", - "title": "GitLab" + "OverwriteMode": { + "markdownDescription": "Specifies whether DataSync should modify or preserve data at the destination location.\n\n- `ALWAYS` (default) - DataSync modifies data in the destination location when source data (including metadata) has changed.\n\nIf DataSync overwrites objects, you might incur additional charges for certain Amazon S3 storage classes (for example, for retrieval or early deletion). For more information, see [Storage class considerations with Amazon S3 transfers](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) .\n- `NEVER` - DataSync doesn't overwrite data in the destination location even if the source data has changed. You can use this option to protect against overwriting changes made to files or objects in the destination.", + "title": "OverwriteMode", + "type": "string" }, - "MCPServer": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerConfiguration", - "markdownDescription": "Configuration for custom MCP (Model Context Protocol) server integration. Specifies the server name, endpoint URL, available tools, description, and webhook settings to enable the Agent Space to interact with custom MCP servers.", - "title": "MCPServer" + "PosixPermissions": { + "markdownDescription": "A value that determines which users or groups can access a file for a specific purpose, such as reading, writing, or execution of the file. This option should be set only for Network File System (NFS), Amazon EFS, and Amazon S3 locations. For more information about what metadata is copied by DataSync, see [Metadata Copied by DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied) .\n\nDefault value: `PRESERVE`\n\n`PRESERVE` : Preserve POSIX-style permissions (recommended).\n\n`NONE` : Ignore permissions.\n\n> AWS DataSync can preserve extant permissions of a source location.", + "title": "PosixPermissions", + "type": "string" }, - "MCPServerDatadog": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerDatadogConfiguration", - "markdownDescription": "Configuration for Datadog MCP server integration. Specifies the server name, endpoint URL, optional description, and webhook settings to enable the Agent Space to query metrics, traces, and logs from Datadog.", - "title": "MCPServerDatadog" + "PreserveDeletedFiles": { + "markdownDescription": "A value that specifies whether files in the destination that don't exist in the source file system are preserved. This option can affect your storage costs. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see [Considerations when working with Amazon S3 storage classes in DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) in the *AWS DataSync User Guide* .\n\nDefault value: `PRESERVE`\n\n`PRESERVE` : Ignore destination files that aren't present in the source (recommended).\n\n`REMOVE` : Delete destination files that aren't present in the source.", + "title": "PreserveDeletedFiles", + "type": "string" }, - "MCPServerGrafana": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerGrafanaConfiguration" + "PreserveDevices": { + "markdownDescription": "A value that determines whether AWS DataSync should preserve the metadata of block and character devices in the source file system, and re-create the files with that device name and metadata on the destination. DataSync does not copy the contents of such devices, only the name and metadata.\n\n> AWS DataSync can't sync the actual contents of such devices, because they are nonterminal and don't return an end-of-file (EOF) marker. \n\nDefault value: `NONE`\n\n`NONE` : Ignore special devices (recommended).\n\n`PRESERVE` : Preserve character and block device metadata. This option isn't currently supported for Amazon EFS.", + "title": "PreserveDevices", + "type": "string" }, - "MCPServerNewRelic": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerNewRelicConfiguration", - "markdownDescription": "Configuration for New Relic MCP server integration. Specifies the New Relic account ID and MCP endpoint URL to enable the Agent Space to query metrics, traces, and logs from New Relic.", - "title": "MCPServerNewRelic" + "SecurityDescriptorCopyFlags": { + "markdownDescription": "A value that determines which components of the SMB security descriptor are copied from source to destination objects.\n\nThis value is only used for transfers between SMB and Amazon FSx for Windows File Server locations, or between two Amazon FSx for Windows File Server locations. For more information about how DataSync handles metadata, see [How DataSync Handles Metadata and Special Files](https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html) .\n\nDefault value: `OWNER_DACL`\n\n`OWNER_DACL` : For each copied object, DataSync copies the following metadata:\n\n- Object owner.\n- NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.\n\nWhen you use option, DataSync does NOT copy the NTFS system access control lists (SACLs), which are used by administrators to log attempts to access a secured object.\n\n`OWNER_DACL_SACL` : For each copied object, DataSync copies the following metadata:\n\n- Object owner.\n- NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.\n- NTFS system access control lists (SACLs), which are used by administrators to log attempts to access a secured object.\n\nCopying SACLs requires granting additional permissions to the Windows user that DataSync uses to access your SMB location. For information about choosing a user that ensures sufficient permissions to files, folders, and metadata, see [user](https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#SMBuser) .\n\n`NONE` : None of the SMB security descriptor components are copied. Destination objects are owned by the user that was provided for accessing the destination location. DACLs and SACLs are set based on the destination server\u2019s configuration.", + "title": "SecurityDescriptorCopyFlags", + "type": "string" }, - "MCPServerSigV4": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerSigV4Configuration" + "TaskQueueing": { + "markdownDescription": "Specifies whether your transfer tasks should be put into a queue during certain scenarios when [running multiple tasks](https://docs.aws.amazon.com/datasync/latest/userguide/run-task.html#running-multiple-tasks) . This is `ENABLED` by default.", + "title": "TaskQueueing", + "type": "string" }, - "MCPServerSplunk": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerSplunkConfiguration", - "markdownDescription": "Configuration for Splunk MCP server integration. Specifies the server name, endpoint URL, optional description, and webhook settings to enable the Agent Space to query logs, metrics, and events from Splunk.", - "title": "MCPServerSplunk" + "TransferMode": { + "markdownDescription": "A value that determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing it to the destination location.\n\n`CHANGED` : DataSync copies only data or metadata that is new or different from the source location to the destination location.\n\n`ALL` : DataSync copies all source location content to the destination, without comparing it to existing content on the destination.", + "title": "TransferMode", + "type": "string" }, - "PagerDuty": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.PagerDutyConfiguration" + "Uid": { + "markdownDescription": "The user ID (UID) of the file's owner.\n\nDefault value: `INT_VALUE`\n\n`INT_VALUE` : Preserve the integer value of the UID and group ID (GID) (recommended).\n\n`NAME` : Currently not supported\n\n`NONE` : Ignore the UID and GID.", + "title": "Uid", + "type": "string" }, - "ServiceNow": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.ServiceNowConfiguration", - "markdownDescription": "Configuration for ServiceNow instance integration. Specifies the instance URL, instance ID, and webhook settings to enable the Agent Space to create, update, and manage ServiceNow incidents and change requests.", - "title": "ServiceNow" + "VerifyMode": { + "markdownDescription": "A value that determines whether a data integrity verification is performed at the end of a task execution after all data and metadata have been transferred. For more information, see [Configure task settings](https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html) .\n\nDefault value: `POINT_IN_TIME_CONSISTENT`\n\n`ONLY_FILES_TRANSFERRED` (recommended): Perform verification only on files that were transferred.\n\n`POINT_IN_TIME_CONSISTENT` : Scan the entire source and entire destination at the end of the transfer to verify that the source and destination are fully synchronized. This option isn't supported when transferring to S3 Glacier or S3 Glacier Deep Archive storage classes.\n\n`NONE` : No additional verification is done at the end of the transfer, but all data transmissions are integrity-checked with checksum verification during the transfer.", + "title": "VerifyMode", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::Task.Overrides": { + "additionalProperties": false, + "properties": { + "Deleted": { + "$ref": "#/definitions/AWS::DataSync::Task.Deleted", + "markdownDescription": "", + "title": "Deleted" }, - "Slack": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.SlackConfiguration", - "markdownDescription": "Configuration for Slack workspace integration. Specifies the workspace ID, workspace name, and transmission targets to enable the Agent Space to send notifications to designated Slack channels.", - "title": "Slack" + "Skipped": { + "$ref": "#/definitions/AWS::DataSync::Task.Skipped", + "markdownDescription": "", + "title": "Skipped" }, - "SourceAws": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.SourceAwsConfiguration", - "markdownDescription": "Configuration for AWS source account integration. Specifies the account ID, assumable role ARN, and resources to be monitored in the source account.", - "title": "SourceAws" + "Transferred": { + "$ref": "#/definitions/AWS::DataSync::Task.Transferred", + "markdownDescription": "", + "title": "Transferred" + }, + "Verified": { + "$ref": "#/definitions/AWS::DataSync::Task.Verified", + "markdownDescription": "", + "title": "Verified" } }, "type": "object" }, - "AWS::DevOpsAgent::Association.ServiceNowConfiguration": { + "AWS::DataSync::Task.Skipped": { "additionalProperties": false, "properties": { - "EnableWebhookUpdates": { - "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", - "title": "EnableWebhookUpdates", - "type": "boolean" - }, - "InstanceId": { - "markdownDescription": "ServiceNow instance ID.", - "title": "InstanceId", + "ReportLevel": { + "markdownDescription": "", + "title": "ReportLevel", "type": "string" } }, "type": "object" }, - "AWS::DevOpsAgent::Association.SlackChannel": { + "AWS::DataSync::Task.Source": { "additionalProperties": false, "properties": { - "ChannelId": { - "markdownDescription": "Slack channel ID.", - "title": "ChannelId", + "S3": { + "$ref": "#/definitions/AWS::DataSync::Task.ManifestConfigSourceS3", + "markdownDescription": "", + "title": "S3" + } + }, + "type": "object" + }, + "AWS::DataSync::Task.TaskReportConfig": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::DataSync::Task.Destination", + "markdownDescription": "Specifies the Amazon S3 bucket where DataSync uploads your task report. For more information, see [Task reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html#task-report-access) .", + "title": "Destination" + }, + "ObjectVersionIds": { + "markdownDescription": "Specifies whether your task report includes the new version of each object transferred into an S3 bucket. This only applies if you [enable versioning on your bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html) . Keep in mind that setting this to `INCLUDE` can increase the duration of your task execution.", + "title": "ObjectVersionIds", "type": "string" }, - "ChannelName": { - "markdownDescription": "Slack channel name.", - "title": "ChannelName", + "OutputType": { + "markdownDescription": "Specifies the type of task report that you want:\n\n- `SUMMARY_ONLY` : Provides necessary details about your task, including the number of files, objects, and directories transferred and transfer duration.\n- `STANDARD` : Provides complete details about your task, including a full list of files, objects, and directories that were transferred, skipped, verified, and more.", + "title": "OutputType", + "type": "string" + }, + "Overrides": { + "$ref": "#/definitions/AWS::DataSync::Task.Overrides", + "markdownDescription": "Customizes the reporting level for aspects of your task report. For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that DataSync attempted to delete in your destination location.", + "title": "Overrides" + }, + "ReportLevel": { + "markdownDescription": "Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.\n\n- `ERRORS_ONLY` : A report shows what DataSync was unable to transfer, skip, verify, and delete.\n- `SUCCESSES_AND_ERRORS` : A report shows what DataSync was able and unable to transfer, skip, verify, and delete.", + "title": "ReportLevel", "type": "string" } }, "required": [ - "ChannelId" + "Destination", + "OutputType" ], "type": "object" }, - "AWS::DevOpsAgent::Association.SlackConfiguration": { + "AWS::DataSync::Task.TaskReportConfigDestinationS3": { "additionalProperties": false, "properties": { - "TransmissionTarget": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.SlackTransmissionTarget", - "markdownDescription": "Transmission targets for agent notifications.", - "title": "TransmissionTarget" + "BucketAccessRoleArn": { + "markdownDescription": "", + "title": "BucketAccessRoleArn", + "type": "string" }, - "WorkspaceId": { - "markdownDescription": "Associated Slack workspace ID.", - "title": "WorkspaceId", + "S3BucketArn": { + "markdownDescription": "", + "title": "S3BucketArn", "type": "string" }, - "WorkspaceName": { - "markdownDescription": "Associated Slack workspace name.", - "title": "WorkspaceName", + "Subdirectory": { + "markdownDescription": "", + "title": "Subdirectory", "type": "string" } }, - "required": [ - "TransmissionTarget", - "WorkspaceId", - "WorkspaceName" - ], "type": "object" }, - "AWS::DevOpsAgent::Association.SlackTransmissionTarget": { + "AWS::DataSync::Task.TaskSchedule": { "additionalProperties": false, "properties": { - "IncidentResponseTarget": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.SlackChannel", - "markdownDescription": "Destination for AWS DevOps Agent Incident Response.", - "title": "IncidentResponseTarget" + "ScheduleExpression": { + "markdownDescription": "Specifies your task schedule by using a cron or rate expression.\n\nUse cron expressions for task schedules that run on a specific time and day. For example, the following cron expression creates a task schedule that runs at 8 AM on the first Wednesday of every month:\n\n`cron(0 8 * * 3#1)`\n\nUse rate expressions for task schedules that run on a regular interval. For example, the following rate expression creates a task schedule that runs every 12 hours:\n\n`rate(12 hours)`\n\nFor information about cron and rate expression syntax, see the [*Amazon EventBridge User Guide*](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html) .", + "title": "ScheduleExpression", + "type": "string" + }, + "Status": { + "markdownDescription": "Specifies whether to enable or disable your task schedule. Your schedule is enabled by default, but there can be situations where you need to disable it. For example, you might need to pause a recurring transfer to fix an issue with your task or perform maintenance on your storage system.\n\nDataSync might disable your schedule automatically if your task fails repeatedly with the same error. For more information, see [TaskScheduleDetails](https://docs.aws.amazon.com/datasync/latest/userguide/API_TaskScheduleDetails.html) .", + "title": "Status", + "type": "string" } }, - "required": [ - "IncidentResponseTarget" - ], "type": "object" }, - "AWS::DevOpsAgent::Association.SourceAwsConfiguration": { + "AWS::DataSync::Task.Transferred": { "additionalProperties": false, "properties": { - "AccountId": { - "markdownDescription": "Account ID corresponding to the provided resources.", - "title": "AccountId", - "type": "string" - }, - "AccountType": { - "markdownDescription": "Account Type 'source' for AWS DevOps Agent monitoring.", - "title": "AccountType", + "ReportLevel": { + "markdownDescription": "", + "title": "ReportLevel", "type": "string" - }, - "AssumableRoleArn": { - "markdownDescription": "Role ARN to be assumed by AWS DevOps Agent to operate on behalf of customer.", - "title": "AssumableRoleArn", + } + }, + "type": "object" + }, + "AWS::DataSync::Task.Verified": { + "additionalProperties": false, + "properties": { + "ReportLevel": { + "markdownDescription": "", + "title": "ReportLevel", "type": "string" - }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.AWSResource" - }, - "markdownDescription": "List of resources to monitor.", - "title": "Resources", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::DevOpsAgent::Association.KeyValuePair" - }, - "markdownDescription": "List of tags as key-value pairs, used to identify resources for topology crawl.", - "title": "Tags", - "type": "array" } }, - "required": [ - "AccountId", - "AccountType", - "AssumableRoleArn" - ], "type": "object" }, - "AWS::DevOpsAgent::PrivateConnection": { + "AWS::DataSync::TaskExecution": { "additionalProperties": false, "properties": { "Condition": { @@ -114554,31 +113741,21 @@ "Properties": { "additionalProperties": false, "properties": { - "Certificate": { - "type": "string" - }, - "ConnectionConfiguration": { - "$ref": "#/definitions/AWS::DevOpsAgent::PrivateConnection.ConnectionConfiguration" - }, - "Name": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TaskArn": { + "type": "string" } }, - "required": [ - "ConnectionConfiguration", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DevOpsAgent::PrivateConnection" + "AWS::DataSync::TaskExecution" ], "type": "string" }, @@ -114592,79 +113769,62 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::DevOpsAgent::PrivateConnection.ConnectionConfiguration": { + "AWS::DataSync::TaskExecution.Options": { "additionalProperties": false, "properties": { - "SelfManaged": { - "$ref": "#/definitions/AWS::DevOpsAgent::PrivateConnection.SelfManagedMode" + "Atime": { + "type": "string" }, - "ServiceManaged": { - "$ref": "#/definitions/AWS::DevOpsAgent::PrivateConnection.ServiceManagedMode" - } - }, - "type": "object" - }, - "AWS::DevOpsAgent::PrivateConnection.SelfManagedMode": { - "additionalProperties": false, - "properties": { - "ResourceConfigurationId": { + "BytesPerSecond": { + "type": "number" + }, + "Gid": { "type": "string" - } - }, - "required": [ - "ResourceConfigurationId" - ], - "type": "object" - }, - "AWS::DevOpsAgent::PrivateConnection.ServiceManagedMode": { - "additionalProperties": false, - "properties": { - "DnsResolution": { + }, + "LogLevel": { "type": "string" }, - "HostAddress": { + "Mtime": { "type": "string" }, - "IpAddressType": { + "ObjectTags": { "type": "string" }, - "Ipv4AddressesPerEni": { - "type": "number" + "OverwriteMode": { + "type": "string" }, - "PortRanges": { - "items": { - "type": "string" - }, - "type": "array" + "PosixPermissions": { + "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "PreserveDeletedFiles": { + "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "PreserveDevices": { + "type": "string" }, - "VpcId": { + "SecurityDescriptorCopyFlags": { + "type": "string" + }, + "TaskQueueing": { + "type": "string" + }, + "TransferMode": { + "type": "string" + }, + "Uid": { + "type": "string" + }, + "VerifyMode": { "type": "string" } }, - "required": [ - "HostAddress", - "VpcId" - ], "type": "object" }, - "AWS::DevOpsAgent::Service": { + "AWS::DataZone::Connection": { "additionalProperties": false, "properties": { "Condition": { @@ -114699,39 +113859,67 @@ "Properties": { "additionalProperties": false, "properties": { - "ExchangeUrlPrivateConnectionName": { - "type": "string" + "AwsLocation": { + "$ref": "#/definitions/AWS::DataZone::Connection.AwsLocation", + "markdownDescription": "The location where the connection is created.", + "title": "AwsLocation" }, - "KmsKeyArn": { + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::DataZone::Connection.ConnectionConfiguration" + }, + "type": "array" + }, + "Description": { + "markdownDescription": "Connection description.", + "title": "Description", "type": "string" }, - "PrivateConnectionName": { + "DomainIdentifier": { + "markdownDescription": "The ID of the domain where the connection is created.", + "title": "DomainIdentifier", "type": "string" }, - "ServiceDetails": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.ServiceDetails" + "EnableTrustedIdentityPropagation": { + "markdownDescription": "", + "title": "EnableTrustedIdentityPropagation", + "type": "boolean" }, - "ServiceType": { + "EnvironmentIdentifier": { + "markdownDescription": "The ID of the environment where the connection is created.", + "title": "EnvironmentIdentifier", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetUrlPrivateConnectionName": { + "Name": { + "markdownDescription": "The name of the connection.", + "title": "Name", "type": "string" - } - }, + }, + "ProjectIdentifier": { + "markdownDescription": "", + "title": "ProjectIdentifier", + "type": "string" + }, + "Props": { + "$ref": "#/definitions/AWS::DataZone::Connection.ConnectionPropertiesInput", + "markdownDescription": "Connection props.", + "title": "Props" + }, + "Scope": { + "markdownDescription": "The scope of the connection.", + "title": "Scope", + "type": "string" + } + }, "required": [ - "ServiceType" + "DomainIdentifier", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DevOpsAgent::Service" + "AWS::DataZone::Connection" ], "type": "string" }, @@ -114750,717 +113938,739 @@ ], "type": "object" }, - "AWS::DevOpsAgent::Service.AdditionalServiceDetails": { + "AWS::DataZone::Connection.AmazonQPropertiesInput": { "additionalProperties": false, "properties": { - "AzureIdentity": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredAzureIdentityDetails" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredDynatraceDetails" - }, - "GitLab": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredGitLabServiceDetails" - }, - "MCPServer": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerDetails" - }, - "MCPServerGrafana": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerGrafanaDetails" - }, - "MCPServerNewRelic": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredNewRelicDetails" - }, - "MCPServerSigV4": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerSigV4Details" - }, - "MCPServerSplunk": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerDetails" + "AuthMode": { + "markdownDescription": "", + "title": "AuthMode", + "type": "string" }, - "PagerDuty": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredPagerDutyDetails" + "IsEnabled": { + "markdownDescription": "", + "title": "IsEnabled", + "type": "boolean" }, - "ServiceNow": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredServiceNowDetails" + "ProfileArn": { + "markdownDescription": "", + "title": "ProfileArn", + "type": "string" } }, "type": "object" }, - "AWS::DevOpsAgent::Service.ApiKeyDetails": { + "AWS::DataZone::Connection.AthenaPropertiesInput": { "additionalProperties": false, "properties": { - "ApiKeyHeader": { - "type": "string" - }, - "ApiKeyName": { - "type": "string" - }, - "ApiKeyValue": { + "WorkgroupName": { + "markdownDescription": "The Amazon Athena workgroup name of a connection.", + "title": "WorkgroupName", "type": "string" } }, "required": [ - "ApiKeyHeader", - "ApiKeyName", - "ApiKeyValue" + "WorkgroupName" ], "type": "object" }, - "AWS::DevOpsAgent::Service.AzureIdentityServiceDetails": { + "AWS::DataZone::Connection.AuthenticationConfigurationInput": { "additionalProperties": false, "properties": { - "ClientId": { - "type": "string" - }, - "TenantId": { + "AuthenticationType": { + "markdownDescription": "The authentication type of a connection.", + "title": "AuthenticationType", "type": "string" }, - "WebIdentityRoleArn": { - "type": "string" + "BasicAuthenticationCredentials": { + "$ref": "#/definitions/AWS::DataZone::Connection.BasicAuthenticationCredentials", + "markdownDescription": "The basic authentication credentials of a connection.", + "title": "BasicAuthenticationCredentials" }, - "WebIdentityTokenAudiences": { - "items": { - "type": "string" + "CustomAuthenticationCredentials": { + "additionalProperties": true, + "markdownDescription": "The custom authentication credentials of a connection.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" - } - }, - "required": [ - "ClientId", - "TenantId", - "WebIdentityRoleArn", - "WebIdentityTokenAudiences" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Service.BearerTokenDetails": { - "additionalProperties": false, - "properties": { - "AuthorizationHeader": { - "type": "string" + "title": "CustomAuthenticationCredentials", + "type": "object" }, - "TokenName": { + "KmsKeyArn": { + "markdownDescription": "The KMS key ARN of a connection.", + "title": "KmsKeyArn", "type": "string" }, - "TokenValue": { + "OAuth2Properties": { + "$ref": "#/definitions/AWS::DataZone::Connection.OAuth2Properties", + "markdownDescription": "The oAuth2 properties of a connection.", + "title": "OAuth2Properties" + }, + "SecretArn": { + "markdownDescription": "The secret ARN of a connection.", + "title": "SecretArn", "type": "string" } }, - "required": [ - "TokenName", - "TokenValue" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Service.DynatraceAuthorizationConfig": { - "additionalProperties": false, - "properties": { - "OAuthClientCredentials": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.OAuthClientDetails" - } - }, "type": "object" }, - "AWS::DevOpsAgent::Service.DynatraceServiceDetails": { + "AWS::DataZone::Connection.AuthorizationCodeProperties": { "additionalProperties": false, "properties": { - "AccountUrn": { + "AuthorizationCode": { + "markdownDescription": "The authorization code of a connection.", + "title": "AuthorizationCode", "type": "string" }, - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.DynatraceAuthorizationConfig" + "RedirectUri": { + "markdownDescription": "The redirect URI of a connection.", + "title": "RedirectUri", + "type": "string" } }, - "required": [ - "AccountUrn" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.GitLabDetails": { + "AWS::DataZone::Connection.AwsLocation": { "additionalProperties": false, "properties": { - "GroupId": { + "AccessRole": { + "markdownDescription": "The access role of a connection.", + "title": "AccessRole", "type": "string" }, - "TargetUrl": { + "AwsAccountId": { + "markdownDescription": "The account ID of a connection.", + "title": "AwsAccountId", "type": "string" }, - "TokenType": { + "AwsRegion": { + "markdownDescription": "The Region of a connection.", + "title": "AwsRegion", "type": "string" }, - "TokenValue": { + "IamConnectionId": { + "markdownDescription": "The IAM connection ID of a connection.", + "title": "IamConnectionId", "type": "string" } }, - "required": [ - "TargetUrl", - "TokenType", - "TokenValue" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Service.MCPServerAuthorizationConfig": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.ApiKeyDetails" - }, - "BearerToken": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.BearerTokenDetails" - }, - "OAuthClientCredentials": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerOAuthClientCredentialsConfig" - } - }, "type": "object" }, - "AWS::DevOpsAgent::Service.MCPServerDetails": { + "AWS::DataZone::Connection.BasicAuthenticationCredentials": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerAuthorizationConfig" - }, - "Description": { - "type": "string" - }, - "Endpoint": { + "Password": { + "markdownDescription": "The password for a connection.", + "title": "Password", "type": "string" }, - "Name": { + "UserName": { + "markdownDescription": "The user name for the connecion.", + "title": "UserName", "type": "string" } }, - "required": [ - "AuthorizationConfig", - "Endpoint", - "Name" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.MCPServerGrafanaAuthorizationConfig": { + "AWS::DataZone::Connection.ConnectionConfiguration": { "additionalProperties": false, "properties": { - "BearerToken": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.BearerTokenDetails" + "Classification": { + "type": "string" + }, + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, - "required": [ - "BearerToken" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.MCPServerGrafanaDetails": { + "AWS::DataZone::Connection.ConnectionPropertiesInput": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerGrafanaAuthorizationConfig" + "AmazonQProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.AmazonQPropertiesInput", + "markdownDescription": "", + "title": "AmazonQProperties" }, - "Description": { - "type": "string" + "AthenaProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.AthenaPropertiesInput", + "markdownDescription": "The Amazon Athena properties of a connection.", + "title": "AthenaProperties" }, - "Endpoint": { - "type": "string" + "GlueProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.GluePropertiesInput", + "markdownDescription": "The AWS Glue properties of a connection.", + "title": "GlueProperties" }, - "Name": { - "type": "string" - } - }, - "required": [ - "AuthorizationConfig", - "Endpoint", - "Name" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Service.MCPServerOAuthClientCredentialsConfig": { - "additionalProperties": false, - "properties": { - "ClientId": { - "type": "string" + "HyperPodProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.HyperPodPropertiesInput", + "markdownDescription": "The hyper pod properties of a connection.", + "title": "HyperPodProperties" }, - "ClientName": { - "type": "string" + "IamProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.IamPropertiesInput", + "markdownDescription": "The IAM properties of a connection.", + "title": "IamProperties" }, - "ClientSecret": { - "type": "string" + "LakehouseProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.LakehousePropertiesInput" }, - "ExchangeParameters": { - "type": "object" + "MlflowProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.MlflowPropertiesInput", + "markdownDescription": "", + "title": "MlflowProperties" }, - "ExchangeUrl": { - "type": "string" + "RedshiftProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftPropertiesInput", + "markdownDescription": "The Amazon Redshift properties of a connection.", + "title": "RedshiftProperties" }, - "Scopes": { - "items": { - "type": "string" - }, - "type": "array" + "S3Properties": { + "$ref": "#/definitions/AWS::DataZone::Connection.S3PropertiesInput", + "markdownDescription": "", + "title": "S3Properties" + }, + "SparkEmrProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.SparkEmrPropertiesInput", + "markdownDescription": "The Spark EMR properties of a connection.", + "title": "SparkEmrProperties" + }, + "SparkGlueProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.SparkGluePropertiesInput", + "markdownDescription": "The Spark AWS Glue properties of a connection.", + "title": "SparkGlueProperties" + }, + "WorkflowsMwaaProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.WorkflowsMwaaPropertiesInput" + }, + "WorkflowsServerlessProperties": { + "type": "object" } }, - "required": [ - "ClientId", - "ClientSecret", - "ExchangeUrl" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.MCPServerSigV4AuthorizationConfig": { + "AWS::DataZone::Connection.GlueConnectionInput": { "additionalProperties": false, "properties": { - "CustomHeaders": { + "AthenaProperties": { "additionalProperties": true, + "markdownDescription": "The Amazon Athena properties of the AWS Glue connection.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, + "title": "AthenaProperties", "type": "object" }, - "McpRoleArn": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::DataZone::Connection.AuthenticationConfigurationInput", + "markdownDescription": "The authentication configuration of the AWS Glue connection.", + "title": "AuthenticationConfiguration" + }, + "ConnectionProperties": { + "additionalProperties": true, + "markdownDescription": "The connection properties of the AWS Glue connection.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ConnectionProperties", + "type": "object" + }, + "ConnectionType": { + "markdownDescription": "The connection type of the AWS Glue connection.", + "title": "ConnectionType", "type": "string" }, - "Region": { + "Description": { + "markdownDescription": "The description of the AWS Glue connection.", + "title": "Description", "type": "string" }, - "RoleArn": { + "MatchCriteria": { + "markdownDescription": "The match criteria of the AWS Glue connection.", + "title": "MatchCriteria", "type": "string" }, - "Service": { + "Name": { + "markdownDescription": "The name of the AWS Glue connection.", + "title": "Name", "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::DataZone::Connection.PhysicalConnectionRequirements", + "markdownDescription": "The physical connection requirements for the AWS Glue connection.", + "title": "PhysicalConnectionRequirements" + }, + "PythonProperties": { + "additionalProperties": true, + "markdownDescription": "The Python properties of the AWS Glue connection.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "PythonProperties", + "type": "object" + }, + "SparkProperties": { + "additionalProperties": true, + "markdownDescription": "The Spark properties of the AWS Glue connection.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "SparkProperties", + "type": "object" + }, + "ValidateCredentials": { + "markdownDescription": "Speciefies whether to validate credentials of the AWS Glue connection.", + "title": "ValidateCredentials", + "type": "boolean" + }, + "ValidateForComputeEnvironments": { + "items": { + "type": "string" + }, + "markdownDescription": "Speciefies whether to validate for compute environments of the AWS Glue connection.", + "title": "ValidateForComputeEnvironments", + "type": "array" } }, - "required": [ - "Region", - "Service" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.MCPServerSigV4Details": { + "AWS::DataZone::Connection.GlueOAuth2Credentials": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSigV4AuthorizationConfig" + "AccessToken": { + "markdownDescription": "The access token of a connection.", + "title": "AccessToken", + "type": "string" }, - "Description": { + "JwtToken": { + "markdownDescription": "The jwt token of the connection.", + "title": "JwtToken", "type": "string" }, - "Endpoint": { + "RefreshToken": { + "markdownDescription": "The refresh token of the connection.", + "title": "RefreshToken", "type": "string" }, - "Name": { + "UserManagedClientApplicationClientSecret": { + "markdownDescription": "The user managed client application client secret of the connection.", + "title": "UserManagedClientApplicationClientSecret", "type": "string" } }, - "required": [ - "AuthorizationConfig", - "Endpoint", - "Name" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.MCPServerSplunkAuthorizationConfig": { + "AWS::DataZone::Connection.GluePropertiesInput": { "additionalProperties": false, "properties": { - "BearerToken": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.BearerTokenDetails" + "GlueConnectionInput": { + "$ref": "#/definitions/AWS::DataZone::Connection.GlueConnectionInput", + "markdownDescription": "The AWS Glue connection.", + "title": "GlueConnectionInput" } }, - "required": [ - "BearerToken" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.MCPServerSplunkDetails": { + "AWS::DataZone::Connection.HyperPodPropertiesInput": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSplunkAuthorizationConfig" - }, - "Description": { - "type": "string" - }, - "Endpoint": { - "type": "string" - }, - "Name": { + "ClusterName": { + "markdownDescription": "The cluster name the hyper pod properties.", + "title": "ClusterName", "type": "string" } }, "required": [ - "AuthorizationConfig", - "Endpoint", - "Name" + "ClusterName" ], "type": "object" }, - "AWS::DevOpsAgent::Service.NewRelicApiKeyConfig": { + "AWS::DataZone::Connection.IamPropertiesInput": { "additionalProperties": false, "properties": { - "AccountId": { - "type": "string" - }, - "AlertPolicyIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ApiKey": { - "type": "string" - }, - "ApplicationIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntityGuids": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Region": { - "type": "string" + "GlueLineageSyncEnabled": { + "markdownDescription": "Specifies whether AWS Glue lineage sync is enabled for a connection.", + "title": "GlueLineageSyncEnabled", + "type": "boolean" } }, - "required": [ - "AccountId", - "ApiKey", - "Region" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.NewRelicAuthorizationConfig": { + "AWS::DataZone::Connection.LakehousePropertiesInput": { "additionalProperties": false, "properties": { - "ApiKey": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.NewRelicApiKeyConfig" + "GlueLineageSyncEnabled": { + "type": "boolean" } }, - "required": [ - "ApiKey" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.NewRelicServiceDetails": { + "AWS::DataZone::Connection.LineageSyncSchedule": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.NewRelicAuthorizationConfig" + "Schedule": { + "markdownDescription": "The lineage sync schedule.", + "title": "Schedule", + "type": "string" } }, - "required": [ - "AuthorizationConfig" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.OAuthClientDetails": { + "AWS::DataZone::Connection.MlflowPropertiesInput": { "additionalProperties": false, "properties": { - "ClientId": { - "type": "string" - }, - "ClientName": { - "type": "string" - }, - "ClientSecret": { + "TrackingServerArn": { + "markdownDescription": "", + "title": "TrackingServerArn", "type": "string" - }, - "ExchangeParameters": { - "type": "object" } }, - "required": [ - "ClientId", - "ClientSecret" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.PagerDutyAuthorizationConfig": { + "AWS::DataZone::Connection.OAuth2ClientApplication": { "additionalProperties": false, "properties": { - "OAuthClientCredentials": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.OAuthClientDetails" + "AWSManagedClientApplicationReference": { + "markdownDescription": "The AWS managed client application reference in the OAuth2Client application.", + "title": "AWSManagedClientApplicationReference", + "type": "string" + }, + "UserManagedClientApplicationClientId": { + "markdownDescription": "The user managed client application client ID in the OAuth2Client application.", + "title": "UserManagedClientApplicationClientId", + "type": "string" } }, "type": "object" }, - "AWS::DevOpsAgent::Service.PagerDutyDetails": { + "AWS::DataZone::Connection.OAuth2Properties": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.PagerDutyAuthorizationConfig" + "AuthorizationCodeProperties": { + "$ref": "#/definitions/AWS::DataZone::Connection.AuthorizationCodeProperties", + "markdownDescription": "The authorization code properties of the OAuth2 properties.", + "title": "AuthorizationCodeProperties" }, - "Scopes": { - "items": { - "type": "string" + "OAuth2ClientApplication": { + "$ref": "#/definitions/AWS::DataZone::Connection.OAuth2ClientApplication", + "markdownDescription": "The OAuth2 client application of the OAuth2 properties.", + "title": "OAuth2ClientApplication" + }, + "OAuth2Credentials": { + "$ref": "#/definitions/AWS::DataZone::Connection.GlueOAuth2Credentials", + "markdownDescription": "The OAuth2 credentials of the OAuth2 properties.", + "title": "OAuth2Credentials" + }, + "OAuth2GrantType": { + "markdownDescription": "The OAuth2 grant type of the OAuth2 properties.", + "title": "OAuth2GrantType", + "type": "string" + }, + "TokenUrl": { + "markdownDescription": "The OAuth2 token URL of the OAuth2 properties.", + "title": "TokenUrl", + "type": "string" + }, + "TokenUrlParametersMap": { + "additionalProperties": true, + "markdownDescription": "The OAuth2 token URL parameter map of the OAuth2 properties.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "title": "TokenUrlParametersMap", + "type": "object" } }, - "required": [ - "AuthorizationConfig", - "Scopes" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.RegisteredAzureIdentityDetails": { + "AWS::DataZone::Connection.PhysicalConnectionRequirements": { "additionalProperties": false, "properties": { - "ClientId": { + "AvailabilityZone": { + "markdownDescription": "The availability zone of the physical connection requirements of a connection.", + "title": "AvailabilityZone", "type": "string" }, - "TenantId": { - "type": "string" + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "markdownDescription": "The group ID list of the physical connection requirements of a connection.", + "title": "SecurityGroupIdList", + "type": "array" }, - "WebIdentityRoleArn": { + "SubnetId": { + "markdownDescription": "The subnet ID of the physical connection requirements of a connection.", + "title": "SubnetId", "type": "string" }, - "WebIdentityTokenAudiences": { + "SubnetIdList": { "items": { "type": "string" }, + "markdownDescription": "The subnet ID list of the physical connection requirements of a connection.", + "title": "SubnetIdList", "type": "array" } }, - "required": [ - "ClientId", - "TenantId", - "WebIdentityRoleArn", - "WebIdentityTokenAudiences" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.RegisteredDynatraceDetails": { + "AWS::DataZone::Connection.RedshiftCredentials": { "additionalProperties": false, "properties": { - "AccountUrn": { + "SecretArn": { + "markdownDescription": "The secret ARN of the Amazon Redshift credentials of a connection.", + "title": "SecretArn", "type": "string" + }, + "UsernamePassword": { + "$ref": "#/definitions/AWS::DataZone::Connection.UsernamePassword", + "markdownDescription": "The username and password of the Amazon Redshift credentials of a connection.", + "title": "UsernamePassword" } }, - "required": [ - "AccountUrn" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.RegisteredGitLabServiceDetails": { + "AWS::DataZone::Connection.RedshiftLineageSyncConfigurationInput": { "additionalProperties": false, "properties": { - "GroupId": { - "type": "string" - }, - "TargetUrl": { - "type": "string" + "Enabled": { + "markdownDescription": "Specifies whether the Amaon Redshift lineage sync configuration is enabled.", + "title": "Enabled", + "type": "boolean" }, - "TokenType": { - "type": "string" + "Schedule": { + "$ref": "#/definitions/AWS::DataZone::Connection.LineageSyncSchedule", + "markdownDescription": "The schedule of the Amaon Redshift lineage sync configuration.", + "title": "Schedule" } }, - "required": [ - "TargetUrl", - "TokenType" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.RegisteredMCPServerDetails": { + "AWS::DataZone::Connection.RedshiftPropertiesInput": { "additionalProperties": false, "properties": { - "ApiKeyHeader": { - "type": "string" + "Credentials": { + "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftCredentials", + "markdownDescription": "The Amaon Redshift credentials.", + "title": "Credentials" }, - "AuthorizationMethod": { + "DatabaseName": { + "markdownDescription": "The Amazon Redshift database name.", + "title": "DatabaseName", "type": "string" }, - "Description": { + "Host": { + "markdownDescription": "The Amazon Redshift host.", + "title": "Host", "type": "string" }, - "Endpoint": { - "type": "string" + "LineageSync": { + "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftLineageSyncConfigurationInput", + "markdownDescription": "The lineage sync of the Amazon Redshift.", + "title": "LineageSync" }, - "Name": { - "type": "string" + "Port": { + "markdownDescription": "The Amaon Redshift port.", + "title": "Port", + "type": "number" + }, + "Storage": { + "$ref": "#/definitions/AWS::DataZone::Connection.RedshiftStorageProperties", + "markdownDescription": "The Amazon Redshift storage.", + "title": "Storage" } }, - "required": [ - "AuthorizationMethod", - "Endpoint", - "Name" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.RegisteredMCPServerGrafanaDetails": { + "AWS::DataZone::Connection.RedshiftStorageProperties": { "additionalProperties": false, "properties": { - "AuthorizationMethod": { + "ClusterName": { + "markdownDescription": "The cluster name in the Amazon Redshift storage properties.", + "title": "ClusterName", "type": "string" }, - "Description": { + "WorkgroupName": { + "markdownDescription": "The workgroup name in the Amazon Redshift storage properties.", + "title": "WorkgroupName", "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::Connection.S3PropertiesInput": { + "additionalProperties": false, + "properties": { + "RegisterS3AccessGrantLocation": { + "type": "boolean" }, - "Endpoint": { + "S3AccessGrantLocationId": { + "markdownDescription": "", + "title": "S3AccessGrantLocationId", "type": "string" }, - "Name": { + "S3Uri": { + "markdownDescription": "", + "title": "S3Uri", "type": "string" } }, "required": [ - "AuthorizationMethod", - "Endpoint" + "S3Uri" ], "type": "object" }, - "AWS::DevOpsAgent::Service.RegisteredMCPServerSigV4Details": { + "AWS::DataZone::Connection.SparkEmrPropertiesInput": { "additionalProperties": false, "properties": { - "CustomHeaders": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Description": { - "type": "string" - }, - "Endpoint": { + "ComputeArn": { + "markdownDescription": "The compute ARN of Spark EMR.", + "title": "ComputeArn", "type": "string" }, - "McpRoleArn": { + "InstanceProfileArn": { + "markdownDescription": "The instance profile ARN of Spark EMR.", + "title": "InstanceProfileArn", "type": "string" }, - "Name": { + "JavaVirtualEnv": { + "markdownDescription": "The java virtual env of the Spark EMR.", + "title": "JavaVirtualEnv", "type": "string" }, - "Region": { + "LogUri": { + "markdownDescription": "The log URI of the Spark EMR.", + "title": "LogUri", "type": "string" }, - "RoleArn": { + "ManagedEndpointArn": { + "markdownDescription": "", + "title": "ManagedEndpointArn", "type": "string" }, - "Service": { - "type": "string" - } - }, - "required": [ - "Endpoint", - "Name", - "Region", - "RoleArn", - "Service" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Service.RegisteredNewRelicDetails": { - "additionalProperties": false, - "properties": { - "AccountId": { + "PythonVirtualEnv": { + "markdownDescription": "The Python virtual env of the Spark EMR.", + "title": "PythonVirtualEnv", "type": "string" }, - "Description": { + "RuntimeRole": { + "markdownDescription": "The runtime role of the Spark EMR.", + "title": "RuntimeRole", "type": "string" }, - "Region": { + "TrustedCertificatesS3Uri": { + "markdownDescription": "The certificates S3 URI of the Spark EMR.", + "title": "TrustedCertificatesS3Uri", "type": "string" } }, - "required": [ - "AccountId", - "Region" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Service.RegisteredPagerDutyDetails": { - "additionalProperties": false, - "properties": { - "Scopes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Scopes" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.RegisteredServiceNowDetails": { + "AWS::DataZone::Connection.SparkGlueArgs": { "additionalProperties": false, "properties": { - "InstanceUrl": { + "Connection": { + "markdownDescription": "The connection in the Spark AWS Glue args.", + "title": "Connection", "type": "string" } }, - "required": [ - "InstanceUrl" - ], "type": "object" }, - "AWS::DevOpsAgent::Service.ServiceDetails": { + "AWS::DataZone::Connection.SparkGluePropertiesInput": { "additionalProperties": false, "properties": { - "AzureIdentity": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.AzureIdentityServiceDetails" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.DynatraceServiceDetails" - }, - "GitLab": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.GitLabDetails" + "AdditionalArgs": { + "$ref": "#/definitions/AWS::DataZone::Connection.SparkGlueArgs", + "markdownDescription": "The additional args in the Spark AWS Glue properties.", + "title": "AdditionalArgs" }, - "MCPServer": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerDetails" + "GlueConnectionName": { + "markdownDescription": "The AWS Glue connection name in the Spark AWS Glue properties.", + "title": "GlueConnectionName", + "type": "string" }, - "MCPServerGrafana": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerGrafanaDetails" + "GlueVersion": { + "markdownDescription": "The AWS Glue version in the Spark AWS Glue properties.", + "title": "GlueVersion", + "type": "string" }, - "MCPServerNewRelic": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.NewRelicServiceDetails" + "IdleTimeout": { + "markdownDescription": "The idle timeout in the Spark AWS Glue properties.", + "title": "IdleTimeout", + "type": "number" }, - "MCPServerSigV4": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSigV4Details" + "JavaVirtualEnv": { + "markdownDescription": "The Java virtual env in the Spark AWS Glue properties.", + "title": "JavaVirtualEnv", + "type": "string" }, - "MCPServerSplunk": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSplunkDetails" + "NumberOfWorkers": { + "markdownDescription": "The number of workers in the Spark AWS Glue properties.", + "title": "NumberOfWorkers", + "type": "number" }, - "PagerDuty": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.PagerDutyDetails" + "PythonVirtualEnv": { + "markdownDescription": "The Python virtual env in the Spark AWS Glue properties.", + "title": "PythonVirtualEnv", + "type": "string" }, - "ServiceNow": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.ServiceNowServiceDetails" + "WorkerType": { + "markdownDescription": "The worker type in the Spark AWS Glue properties.", + "title": "WorkerType", + "type": "string" } }, "type": "object" }, - "AWS::DevOpsAgent::Service.ServiceNowAuthorizationConfig": { + "AWS::DataZone::Connection.UsernamePassword": { "additionalProperties": false, "properties": { - "OAuthClientCredentials": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.OAuthClientDetails" + "Password": { + "markdownDescription": "The password of a connection.", + "title": "Password", + "type": "string" + }, + "Username": { + "markdownDescription": "The username of a connection.", + "title": "Username", + "type": "string" } }, + "required": [ + "Password", + "Username" + ], "type": "object" }, - "AWS::DevOpsAgent::Service.ServiceNowServiceDetails": { + "AWS::DataZone::Connection.WorkflowsMwaaPropertiesInput": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.ServiceNowAuthorizationConfig" - }, - "InstanceUrl": { + "MwaaEnvironmentName": { "type": "string" } }, - "required": [ - "InstanceUrl" - ], "type": "object" }, - "AWS::DevOpsAgent::Trigger": { + "AWS::DataZone::DataSource": { "additionalProperties": false, "properties": { "Condition": { @@ -115495,33 +114705,86 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "object" + "AssetFormsInput": { + "items": { + "$ref": "#/definitions/AWS::DataZone::DataSource.FormInput" + }, + "markdownDescription": "The metadata forms attached to the assets that the data source works with.", + "title": "AssetFormsInput", + "type": "array" }, - "AgentSpaceId": { + "Configuration": { + "$ref": "#/definitions/AWS::DataZone::DataSource.DataSourceConfigurationInput", + "markdownDescription": "The configuration of the data source.", + "title": "Configuration" + }, + "ConnectionIdentifier": { + "markdownDescription": "", + "title": "ConnectionIdentifier", "type": "string" }, - "Condition": { - "$ref": "#/definitions/AWS::DevOpsAgent::Trigger.Condition" + "Description": { + "markdownDescription": "The description of the data source.", + "title": "Description", + "type": "string" }, - "Status": { + "DomainIdentifier": { + "markdownDescription": "The ID of the Amazon DataZone domain where the data source is created.", + "title": "DomainIdentifier", + "type": "string" + }, + "EnableSetting": { + "markdownDescription": "Specifies whether the data source is enabled.", + "title": "EnableSetting", + "type": "string" + }, + "EnvironmentIdentifier": { + "markdownDescription": "The unique identifier of the Amazon DataZone environment to which the data source publishes assets.", + "title": "EnvironmentIdentifier", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the data source.", + "title": "Name", + "type": "string" + }, + "ProjectIdentifier": { + "markdownDescription": "The identifier of the Amazon DataZone project in which you want to add this data source.", + "title": "ProjectIdentifier", "type": "string" }, + "PublishOnImport": { + "markdownDescription": "Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.", + "title": "PublishOnImport", + "type": "boolean" + }, + "Recommendation": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RecommendationConfiguration", + "markdownDescription": "Specifies whether the business name generation is to be enabled for this data source.", + "title": "Recommendation" + }, + "Schedule": { + "$ref": "#/definitions/AWS::DataZone::DataSource.ScheduleConfiguration", + "markdownDescription": "The schedule of the data source runs.", + "title": "Schedule" + }, "Type": { + "markdownDescription": "The type of the data source. In Amazon DataZone, you can use data sources to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone. In the current release of Amazon DataZone, you can create and run data sources for AWS Glue and Amazon Redshift.", + "title": "Type", "type": "string" } }, "required": [ - "Action", - "AgentSpaceId", - "Condition", + "DomainIdentifier", + "Name", + "ProjectIdentifier", "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::DevOpsAgent::Trigger" + "AWS::DataZone::DataSource" ], "type": "string" }, @@ -115540,323 +114803,267 @@ ], "type": "object" }, - "AWS::DevOpsAgent::Trigger.Condition": { + "AWS::DataZone::DataSource.DataSourceConfigurationInput": { "additionalProperties": false, "properties": { - "Schedule": { - "$ref": "#/definitions/AWS::DevOpsAgent::Trigger.Schedule" + "GlueRunConfiguration": { + "$ref": "#/definitions/AWS::DataZone::DataSource.GlueRunConfigurationInput", + "markdownDescription": "The configuration of the AWS Glue data source.", + "title": "GlueRunConfiguration" + }, + "RedshiftRunConfiguration": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftRunConfigurationInput", + "markdownDescription": "The configuration of the Amazon Redshift data source.", + "title": "RedshiftRunConfiguration" + }, + "SageMakerRunConfiguration": { + "$ref": "#/definitions/AWS::DataZone::DataSource.SageMakerRunConfigurationInput", + "markdownDescription": "", + "title": "SageMakerRunConfiguration" } }, - "required": [ - "Schedule" - ], "type": "object" }, - "AWS::DevOpsAgent::Trigger.Schedule": { + "AWS::DataZone::DataSource.FilterExpression": { "additionalProperties": false, "properties": { "Expression": { + "markdownDescription": "The search filter expression.", + "title": "Expression", + "type": "string" + }, + "Type": { + "markdownDescription": "The search filter explresison type.", + "title": "Type", "type": "string" } }, "required": [ - "Expression" + "Expression", + "Type" ], "type": "object" }, - "AWS::DevOpsGuru::LogAnomalyDetectionIntegration": { + "AWS::DataZone::DataSource.FormInput": { "additionalProperties": false, "properties": { - "Condition": { + "Content": { + "markdownDescription": "", + "title": "Content", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FormName": { + "markdownDescription": "", + "title": "FormName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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::DevOpsGuru::LogAnomalyDetectionIntegration" - ], + "TypeIdentifier": { + "markdownDescription": "", + "title": "TypeIdentifier", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TypeRevision": { + "markdownDescription": "", + "title": "TypeRevision", "type": "string" } }, "required": [ - "Type" + "FormName" ], "type": "object" }, - "AWS::DevOpsGuru::NotificationChannel": { + "AWS::DataZone::DataSource.GlueRunConfigurationInput": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "AutoImportDataQualityResult": { + "markdownDescription": "Specifies whether to automatically import data quality metrics as part of the data source run.", + "title": "AutoImportDataQualityResult", + "type": "boolean" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CatalogName": { + "markdownDescription": "", + "title": "CatalogName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Config": { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig", - "markdownDescription": "A `NotificationChannelConfig` object that contains information about configured notification channels.", - "title": "Config" - } - }, - "required": [ - "Config" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsGuru::NotificationChannel" - ], + "DataAccessRole": { + "markdownDescription": "The data access role included in the configuration details of the AWS Glue data source.", + "title": "DataAccessRole", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "RelationalFilterConfigurations": { + "items": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RelationalFilterConfiguration" + }, + "markdownDescription": "The relational filter configurations included in the configuration details of the AWS Glue data source.", + "title": "RelationalFilterConfigurations", + "type": "array" } }, "required": [ - "Type", - "Properties" + "RelationalFilterConfigurations" ], "type": "object" }, - "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { + "AWS::DataZone::DataSource.RecommendationConfiguration": { "additionalProperties": false, "properties": { - "Filters": { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationFilterConfig", - "markdownDescription": "The filter configurations for the Amazon SNS notification topic you use with DevOps Guru. If you do not provide filter configurations, the default configurations are to receive notifications for all message types of `High` or `Medium` severity.", - "title": "Filters" - }, - "Sns": { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig", - "markdownDescription": "Information about a notification channel configured in DevOps Guru to send notifications when insights are created.\n\nIf you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission to send it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. DevOps Guru only supports standard SNS topics. For more information, see [Permissions for Amazon SNS topics](https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html) .\n\nIf you use an Amazon SNS topic that is encrypted by an AWS Key Management Service customer-managed key (CMK), then you must add permissions to the CMK. For more information, see [Permissions for AWS KMS\u2013encrypted Amazon SNS topics](https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html) .", - "title": "Sns" + "EnableBusinessNameGeneration": { + "markdownDescription": "Specifies whether automatic business name generation is to be enabled or not as part of the recommendation configuration.", + "title": "EnableBusinessNameGeneration", + "type": "boolean" } }, "type": "object" }, - "AWS::DevOpsGuru::NotificationChannel.NotificationFilterConfig": { + "AWS::DataZone::DataSource.RedshiftClusterStorage": { "additionalProperties": false, "properties": { - "MessageTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The events that you want to receive notifications for. For example, you can choose to receive notifications only when the severity level is upgraded or a new insight is created.", - "title": "MessageTypes", - "type": "array" - }, - "Severities": { - "items": { - "type": "string" - }, - "markdownDescription": "The severity levels that you want to receive notifications for. For example, you can choose to receive notifications only for insights with `HIGH` and `MEDIUM` severity levels. For more information, see [Understanding insight severities](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-insights.html#understanding-insights-severities) .", - "title": "Severities", - "type": "array" + "ClusterName": { + "markdownDescription": "The name of an Amazon Redshift cluster.", + "title": "ClusterName", + "type": "string" } }, + "required": [ + "ClusterName" + ], "type": "object" }, - "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { + "AWS::DataZone::DataSource.RedshiftCredentialConfiguration": { "additionalProperties": false, "properties": { - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an Amazon Simple Notification Service topic.", - "title": "TopicArn", + "SecretManagerArn": { + "markdownDescription": "The ARN of a secret manager for an Amazon Redshift cluster.", + "title": "SecretManagerArn", "type": "string" } }, + "required": [ + "SecretManagerArn" + ], "type": "object" }, - "AWS::DevOpsGuru::ResourceCollection": { + "AWS::DataZone::DataSource.RedshiftRunConfigurationInput": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DataAccessRole": { + "markdownDescription": "The data access role included in the configuration details of the Amazon Redshift data source.", + "title": "DataAccessRole", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "RedshiftCredentialConfiguration": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftCredentialConfiguration", + "markdownDescription": "The details of the credentials required to access an Amazon Redshift cluster.", + "title": "RedshiftCredentialConfiguration" }, - "Metadata": { - "type": "object" + "RedshiftStorage": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftStorage", + "markdownDescription": "The details of the Amazon Redshift storage as part of the configuration of an Amazon Redshift data source run.", + "title": "RedshiftStorage" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceCollectionFilter": { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter", - "markdownDescription": "Information about a filter used to specify which AWS resources are analyzed for anomalous behavior by DevOps Guru.", - "title": "ResourceCollectionFilter" - } + "RelationalFilterConfigurations": { + "items": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RelationalFilterConfiguration" }, - "required": [ - "ResourceCollectionFilter" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsGuru::ResourceCollection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "markdownDescription": "The relational filter configurations included in the configuration details of the AWS Glue data source.", + "title": "RelationalFilterConfigurations", + "type": "array" + } + }, + "required": [ + "RelationalFilterConfigurations" + ], + "type": "object" + }, + "AWS::DataZone::DataSource.RedshiftServerlessStorage": { + "additionalProperties": false, + "properties": { + "WorkgroupName": { + "markdownDescription": "The name of the Amazon Redshift Serverless workgroup.", + "title": "WorkgroupName", "type": "string" } }, "required": [ - "Type", - "Properties" + "WorkgroupName" ], "type": "object" }, - "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { + "AWS::DataZone::DataSource.RedshiftStorage": { "additionalProperties": false, "properties": { - "StackNames": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of CloudFormation stack names.", - "title": "StackNames", - "type": "array" + "RedshiftClusterSource": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftClusterStorage", + "markdownDescription": "The details of the Amazon Redshift cluster source.", + "title": "RedshiftClusterSource" + }, + "RedshiftServerlessSource": { + "$ref": "#/definitions/AWS::DataZone::DataSource.RedshiftServerlessStorage", + "markdownDescription": "The details of the Amazon Redshift Serverless workgroup source.", + "title": "RedshiftServerlessSource" } }, "type": "object" }, - "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { + "AWS::DataZone::DataSource.RelationalFilterConfiguration": { "additionalProperties": false, "properties": { - "CloudFormation": { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter", - "markdownDescription": "Information about AWS CloudFormation stacks. You can use up to 1000 stacks to specify which AWS resources in your account to analyze. For more information, see [Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html) in the *AWS CloudFormation User Guide* .", - "title": "CloudFormation" + "DatabaseName": { + "markdownDescription": "The database name specified in the relational filter configuration for the data source.", + "title": "DatabaseName", + "type": "string" }, - "Tags": { + "FilterExpressions": { "items": { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.TagCollection" + "$ref": "#/definitions/AWS::DataZone::DataSource.FilterExpression" }, - "markdownDescription": "The AWS tags used to filter the resources in the resource collection.\n\nTags help you identify and organize your AWS resources. Many AWS services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an AWS Lambda function. For more information about using tags, see the [Tagging best practices](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) whitepaper.\n\nEach AWS tag has two parts.\n\n- A tag *key* (for example, `CostCenter` , `Environment` , `Project` , or `Secret` ). Tag *keys* are case-sensitive.\n- A field known as a tag *value* (for example, `111122223333` , `Production` , or a team name). Omitting the tag *value* is the same as using an empty string. Like tag *keys* , tag *values* are case-sensitive. The tag value is a required property when AppBoundaryKey is specified.\n\nTogether these are known as *key* - *value* pairs.\n\n> The string used for a *key* in a tag that you use to define your resource coverage must begin with the prefix `Devops-guru-` . The tag *key* might be `DevOps-Guru-deployment-application` or `devops-guru-rds-application` . When you create a *key* , the case of characters in the *key* can be whatever you choose. After you create a *key* , it is case-sensitive. For example, DevOps Guru works with a *key* named `devops-guru-rds` and a *key* named `DevOps-Guru-RDS` , and these act as two different *keys* . Possible *key* / *value* pairs in your application might be `Devops-Guru-production-application/RDS` or `Devops-Guru-production-application/containers` .", - "title": "Tags", + "markdownDescription": "The filter expressions specified in the relational filter configuration for the data source.", + "title": "FilterExpressions", "type": "array" + }, + "SchemaName": { + "markdownDescription": "The schema name specified in the relational filter configuration for the data source.", + "title": "SchemaName", + "type": "string" } }, + "required": [ + "DatabaseName" + ], "type": "object" }, - "AWS::DevOpsGuru::ResourceCollection.TagCollection": { + "AWS::DataZone::DataSource.SageMakerRunConfigurationInput": { "additionalProperties": false, "properties": { - "AppBoundaryKey": { - "markdownDescription": "An AWS tag *key* that is used to identify the AWS resources that DevOps Guru analyzes. All AWS resources in your account and Region tagged with this *key* make up your DevOps Guru application and analysis boundary.\n\n> When you create a *key* , the case of characters in the *key* can be whatever you choose. After you create a *key* , it is case-sensitive. For example, DevOps Guru works with a *key* named `devops-guru-rds` and a *key* named `DevOps-Guru-RDS` , and these act as two different *keys* . Possible *key* / *value* pairs in your application might be `Devops-Guru-production-application/RDS` or `Devops-Guru-production-application/containers` .", - "title": "AppBoundaryKey", + "TrackingAssets": { + "markdownDescription": "", + "title": "TrackingAssets", + "type": "object" + } + }, + "required": [ + "TrackingAssets" + ], + "type": "object" + }, + "AWS::DataZone::DataSource.ScheduleConfiguration": { + "additionalProperties": false, + "properties": { + "Schedule": { + "markdownDescription": "The schedule of the data source runs.", + "title": "Schedule", "type": "string" }, - "TagValues": { - "items": { - "type": "string" - }, - "markdownDescription": "The values in an AWS tag collection.\n\nThe tag's *value* is a field used to associate a string with the tag *key* (for example, `111122223333` , `Production` , or a team name). The *key* and *value* are the tag's *key* pair. Omitting the tag *value* is the same as using an empty string. Like tag *keys* , tag *values* are case-sensitive. You can specify a maximum of 256 characters for a tag value. The tag value is a required property when *AppBoundaryKey* is specified.", - "title": "TagValues", - "type": "array" + "Timezone": { + "markdownDescription": "The timezone of the data source run.", + "title": "Timezone", + "type": "string" } }, "type": "object" }, - "AWS::DirectConnect::Connection": { + "AWS::DataZone::Domain": { "additionalProperties": false, "properties": { "Condition": { @@ -115891,41 +115098,58 @@ "Properties": { "additionalProperties": false, "properties": { - "Bandwidth": { + "Description": { + "markdownDescription": "The description of the Amazon DataZone domain.", + "title": "Description", "type": "string" }, - "ConnectionName": { + "DomainExecutionRole": { + "markdownDescription": "The domain execution role that is created when an Amazon DataZone domain is created. The domain execution role is created in the AWS account that houses the Amazon DataZone domain.", + "title": "DomainExecutionRole", "type": "string" }, - "LagId": { + "DomainVersion": { + "markdownDescription": "The domain version.", + "title": "DomainVersion", "type": "string" }, - "Location": { + "KmsKeyIdentifier": { + "markdownDescription": "The identifier of the AWS Key Management Service (KMS) key that is used to encrypt the Amazon DataZone domain, metadata, and reporting data.", + "title": "KmsKeyIdentifier", "type": "string" }, - "ProviderName": { + "Name": { + "markdownDescription": "The name of the Amazon DataZone domain.", + "title": "Name", "type": "string" }, - "RequestMACSec": { - "type": "boolean" + "ServiceRole": { + "markdownDescription": "The service role of the domain.", + "title": "ServiceRole", + "type": "string" + }, + "SingleSignOn": { + "$ref": "#/definitions/AWS::DataZone::Domain.SingleSignOn", + "markdownDescription": "The single sign-on details in Amazon DataZone.", + "title": "SingleSignOn" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags specified for the Amazon DataZone domain.", + "title": "Tags", "type": "array" } }, "required": [ - "Bandwidth", - "ConnectionName", - "Location" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectConnect::Connection" + "AWS::DataZone::Domain" ], "type": "string" }, @@ -115944,7 +115168,28 @@ ], "type": "object" }, - "AWS::DirectConnect::DirectConnectGateway": { + "AWS::DataZone::Domain.SingleSignOn": { + "additionalProperties": false, + "properties": { + "IdcInstanceArn": { + "markdownDescription": "The ARN of the IDC instance.", + "title": "IdcInstanceArn", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of single sign-on in Amazon DataZone.", + "title": "Type", + "type": "string" + }, + "UserAssignment": { + "markdownDescription": "The single sign-on user assignment in Amazon DataZone.", + "title": "UserAssignment", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::DomainUnit": { "additionalProperties": false, "properties": { "Condition": { @@ -115979,27 +115224,37 @@ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { + "Description": { + "markdownDescription": "The description of the domain unit.", + "title": "Description", "type": "string" }, - "DirectConnectGatewayName": { + "DomainIdentifier": { + "markdownDescription": "The ID of the domain where you want to crate a domain unit.", + "title": "DomainIdentifier", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Name": { + "markdownDescription": "The name of the domain unit.", + "title": "Name", + "type": "string" + }, + "ParentDomainUnitIdentifier": { + "markdownDescription": "The ID of the parent domain unit.", + "title": "ParentDomainUnitIdentifier", + "type": "string" } }, "required": [ - "DirectConnectGatewayName" + "DomainIdentifier", + "Name", + "ParentDomainUnitIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectConnect::DirectConnectGateway" + "AWS::DataZone::DomainUnit" ], "type": "string" }, @@ -116018,7 +115273,7 @@ ], "type": "object" }, - "AWS::DirectConnect::DirectConnectGatewayAssociation": { + "AWS::DataZone::Environment": { "additionalProperties": false, "properties": { "Condition": { @@ -116053,31 +115308,82 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptDirectConnectGatewayAssociationProposalRoleArn": { + "DeploymentOrder": { + "type": "number" + }, + "Description": { + "markdownDescription": "The description of the environment.", + "title": "Description", "type": "string" }, - "AllowedPrefixesToDirectConnectGateway": { + "DomainIdentifier": { + "markdownDescription": "The identifier of the Amazon DataZone domain in which the environment is created.", + "title": "DomainIdentifier", + "type": "string" + }, + "EnvironmentAccountIdentifier": { + "markdownDescription": "The identifier of the AWS account in which an environment exists.", + "title": "EnvironmentAccountIdentifier", + "type": "string" + }, + "EnvironmentAccountRegion": { + "markdownDescription": "The AWS Region in which an environment exists.", + "title": "EnvironmentAccountRegion", + "type": "string" + }, + "EnvironmentBlueprintIdentifier": { + "type": "string" + }, + "EnvironmentConfigurationId": { + "type": "string" + }, + "EnvironmentProfileIdentifier": { + "markdownDescription": "The identifier of the environment profile that is used to create this Amazon DataZone environment.", + "title": "EnvironmentProfileIdentifier", + "type": "string" + }, + "EnvironmentRoleArn": { + "markdownDescription": "The ARN of the environment role.", + "title": "EnvironmentRoleArn", + "type": "string" + }, + "GlossaryTerms": { "items": { "type": "string" }, + "markdownDescription": "The glossary terms that can be used in this Amazon DataZone environment.", + "title": "GlossaryTerms", "type": "array" }, - "AssociatedGatewayId": { + "Name": { + "markdownDescription": "The name of the Amazon DataZone environment.", + "title": "Name", "type": "string" }, - "DirectConnectGatewayId": { + "ProjectIdentifier": { + "markdownDescription": "The identifier of the Amazon DataZone project in which this environment is created.", + "title": "ProjectIdentifier", "type": "string" + }, + "UserParameters": { + "items": { + "$ref": "#/definitions/AWS::DataZone::Environment.EnvironmentParameter" + }, + "markdownDescription": "The user parameters of this Amazon DataZone environment.", + "title": "UserParameters", + "type": "array" } }, "required": [ - "AssociatedGatewayId", - "DirectConnectGatewayId" + "DomainIdentifier", + "Name", + "ProjectIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectConnect::DirectConnectGatewayAssociation" + "AWS::DataZone::Environment" ], "type": "string" }, @@ -116096,7 +115402,23 @@ ], "type": "object" }, - "AWS::DirectConnect::Lag": { + "AWS::DataZone::Environment.EnvironmentParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the environment parameter.", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the environment parameter.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::EnvironmentActions": { "additionalProperties": false, "properties": { "Condition": { @@ -116131,41 +115453,45 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionsBandwidth": { + "Description": { + "markdownDescription": "The environment action description.", + "title": "Description", "type": "string" }, - "LagName": { + "DomainIdentifier": { + "markdownDescription": "The Amazon DataZone domain ID of the environment action.", + "title": "DomainIdentifier", "type": "string" }, - "Location": { + "EnvironmentIdentifier": { + "markdownDescription": "The environment ID of the environment action.", + "title": "EnvironmentIdentifier", "type": "string" }, - "MinimumLinks": { - "type": "number" - }, - "ProviderName": { + "Identifier": { + "markdownDescription": "The ID of the environment action.", + "title": "Identifier", "type": "string" }, - "RequestMACSec": { - "type": "boolean" + "Name": { + "markdownDescription": "The name of the environment action.", + "title": "Name", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Parameters": { + "$ref": "#/definitions/AWS::DataZone::EnvironmentActions.AwsConsoleLinkParameters", + "markdownDescription": "The parameters of the environment action.", + "title": "Parameters" } }, "required": [ - "ConnectionsBandwidth", - "LagName", - "Location" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectConnect::Lag" + "AWS::DataZone::EnvironmentActions" ], "type": "string" }, @@ -116184,7 +115510,18 @@ ], "type": "object" }, - "AWS::DirectConnect::PrivateVirtualInterface": { + "AWS::DataZone::EnvironmentActions.AwsConsoleLinkParameters": { + "additionalProperties": false, + "properties": { + "Uri": { + "markdownDescription": "The URI of the console link specified as part of the environment action.", + "title": "Uri", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::EnvironmentBlueprintConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -116219,57 +115556,75 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocatePrivateVirtualInterfaceRoleArn": { + "DomainIdentifier": { + "markdownDescription": "The identifier of the Amazon DataZone domain in which an environment blueprint exists.", + "title": "DomainIdentifier", "type": "string" }, - "BgpPeers": { + "EnabledRegions": { "items": { - "$ref": "#/definitions/AWS::DirectConnect::PrivateVirtualInterface.BgpPeer" + "type": "string" }, + "markdownDescription": "The enabled AWS Regions specified in a blueprint configuration.", + "title": "EnabledRegions", "type": "array" }, - "ConnectionId": { + "EnvironmentBlueprintIdentifier": { + "markdownDescription": "The identifier of the environment blueprint.\n\nIn the current release, only the following values are supported: `DefaultDataLake` and `DefaultDataWarehouse` .", + "title": "EnvironmentBlueprintIdentifier", "type": "string" }, - "DirectConnectGatewayId": { + "EnvironmentRolePermissionBoundary": { + "markdownDescription": "The environment role permission boundary.", + "title": "EnvironmentRolePermissionBoundary", "type": "string" }, - "EnableSiteLink": { - "type": "boolean" - }, - "Mtu": { - "type": "number" + "GlobalParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "RateLimit": { + "ManageAccessRoleArn": { + "markdownDescription": "The ARN of the manage access role.", + "title": "ManageAccessRoleArn", "type": "string" }, - "Tags": { + "ProvisioningConfigurations": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::DataZone::EnvironmentBlueprintConfiguration.ProvisioningConfiguration" }, + "markdownDescription": "The provisioning configuration of a blueprint.", + "title": "ProvisioningConfigurations", "type": "array" }, - "VirtualGatewayId": { - "type": "string" - }, - "VirtualInterfaceName": { + "ProvisioningRoleArn": { + "markdownDescription": "The ARN of the provisioning role.", + "title": "ProvisioningRoleArn", "type": "string" }, - "Vlan": { - "type": "number" + "RegionalParameters": { + "items": { + "$ref": "#/definitions/AWS::DataZone::EnvironmentBlueprintConfiguration.RegionalParameter" + }, + "markdownDescription": "The regional parameters of the environment blueprint.", + "title": "RegionalParameters", + "type": "array" } }, "required": [ - "BgpPeers", - "ConnectionId", - "VirtualInterfaceName", - "Vlan" + "DomainIdentifier", + "EnabledRegions", + "EnvironmentBlueprintIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectConnect::PrivateVirtualInterface" + "AWS::DataZone::EnvironmentBlueprintConfiguration" ], "type": "string" }, @@ -116288,35 +115643,62 @@ ], "type": "object" }, - "AWS::DirectConnect::PrivateVirtualInterface.BgpPeer": { + "AWS::DataZone::EnvironmentBlueprintConfiguration.LakeFormationConfiguration": { "additionalProperties": false, "properties": { - "AddressFamily": { - "type": "string" - }, - "AmazonAddress": { - "type": "string" - }, - "Asn": { - "type": "string" - }, - "AuthKey": { - "type": "string" - }, - "BgpPeerId": { - "type": "string" + "LocationRegistrationExcludeS3Locations": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies certain Amazon S3 locations if you do not want Amazon DataZone to automatically register them in hybrid mode.", + "title": "LocationRegistrationExcludeS3Locations", + "type": "array" }, - "CustomerAddress": { + "LocationRegistrationRole": { + "markdownDescription": "The role that is used to manage read/write access to the chosen Amazon S3 bucket(s) for Data Lake using AWS Lake Formation hybrid access mode.", + "title": "LocationRegistrationRole", "type": "string" } }, + "type": "object" + }, + "AWS::DataZone::EnvironmentBlueprintConfiguration.ProvisioningConfiguration": { + "additionalProperties": false, + "properties": { + "LakeFormationConfiguration": { + "$ref": "#/definitions/AWS::DataZone::EnvironmentBlueprintConfiguration.LakeFormationConfiguration", + "markdownDescription": "The Lake Formation configuration of the Data Lake blueprint.", + "title": "LakeFormationConfiguration" + } + }, "required": [ - "AddressFamily", - "Asn" + "LakeFormationConfiguration" ], "type": "object" }, - "AWS::DirectConnect::PublicVirtualInterface": { + "AWS::DataZone::EnvironmentBlueprintConfiguration.RegionalParameter": { + "additionalProperties": false, + "properties": { + "Parameters": { + "additionalProperties": true, + "markdownDescription": "A string to string map containing parameters for the region.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Parameters", + "type": "object" + }, + "Region": { + "markdownDescription": "The region specified in the environment parameter.", + "title": "Region", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::EnvironmentProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -116351,51 +115733,63 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocatePublicVirtualInterfaceRoleArn": { + "AwsAccountId": { + "markdownDescription": "The identifier of an AWS account in which an environment profile exists.", + "title": "AwsAccountId", "type": "string" }, - "BgpPeers": { - "items": { - "$ref": "#/definitions/AWS::DirectConnect::PublicVirtualInterface.BgpPeer" - }, - "type": "array" + "AwsAccountRegion": { + "markdownDescription": "The AWS Region in which an environment profile exists.", + "title": "AwsAccountRegion", + "type": "string" }, - "ConnectionId": { + "Description": { + "markdownDescription": "The description of the environment profile.", + "title": "Description", "type": "string" }, - "RateLimit": { + "DomainIdentifier": { + "markdownDescription": "The identifier of the Amazon DataZone domain in which the environment profile exists.", + "title": "DomainIdentifier", "type": "string" }, - "RouteFilterPrefixes": { - "items": { - "type": "string" - }, - "type": "array" + "EnvironmentBlueprintIdentifier": { + "markdownDescription": "The identifier of a blueprint with which an environment profile is created.", + "title": "EnvironmentBlueprintIdentifier", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Name": { + "markdownDescription": "The name of the environment profile.", + "title": "Name", + "type": "string" }, - "VirtualInterfaceName": { + "ProjectIdentifier": { + "markdownDescription": "The identifier of a project in which an environment profile exists.", + "title": "ProjectIdentifier", "type": "string" }, - "Vlan": { - "type": "number" + "UserParameters": { + "items": { + "$ref": "#/definitions/AWS::DataZone::EnvironmentProfile.EnvironmentParameter" + }, + "markdownDescription": "The user parameters of this Amazon DataZone environment profile.", + "title": "UserParameters", + "type": "array" } }, "required": [ - "BgpPeers", - "ConnectionId", - "VirtualInterfaceName", - "Vlan" + "AwsAccountId", + "AwsAccountRegion", + "DomainIdentifier", + "EnvironmentBlueprintIdentifier", + "Name", + "ProjectIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectConnect::PublicVirtualInterface" + "AWS::DataZone::EnvironmentProfile" ], "type": "string" }, @@ -116414,35 +115808,23 @@ ], "type": "object" }, - "AWS::DirectConnect::PublicVirtualInterface.BgpPeer": { + "AWS::DataZone::EnvironmentProfile.EnvironmentParameter": { "additionalProperties": false, "properties": { - "AddressFamily": { - "type": "string" - }, - "AmazonAddress": { - "type": "string" - }, - "Asn": { - "type": "string" - }, - "AuthKey": { - "type": "string" - }, - "BgpPeerId": { + "Name": { + "markdownDescription": "The name specified in the environment parameter.", + "title": "Name", "type": "string" }, - "CustomerAddress": { + "Value": { + "markdownDescription": "The value of the environment profile.", + "title": "Value", "type": "string" } }, - "required": [ - "AddressFamily", - "Asn" - ], "type": "object" }, - "AWS::DirectConnect::TransitVirtualInterface": { + "AWS::DataZone::FormType": { "additionalProperties": false, "properties": { "Condition": { @@ -116477,55 +115859,48 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocateTransitVirtualInterfaceRoleArn": { - "type": "string" - }, - "BgpPeers": { - "items": { - "$ref": "#/definitions/AWS::DirectConnect::TransitVirtualInterface.BgpPeer" - }, - "type": "array" - }, - "ConnectionId": { + "Description": { + "markdownDescription": "The description of the metadata form type.", + "title": "Description", "type": "string" }, - "DirectConnectGatewayId": { + "DomainIdentifier": { + "markdownDescription": "The identifier of the Amazon DataZone domain in which the form type exists.", + "title": "DomainIdentifier", "type": "string" }, - "EnableSiteLink": { - "type": "boolean" - }, - "Mtu": { - "type": "number" + "Model": { + "$ref": "#/definitions/AWS::DataZone::FormType.Model", + "markdownDescription": "The model of the form type.", + "title": "Model" }, - "RateLimit": { + "Name": { + "markdownDescription": "The name of the form type.", + "title": "Name", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualInterfaceName": { + "OwningProjectIdentifier": { + "markdownDescription": "The identifier of the project that owns the form type.", + "title": "OwningProjectIdentifier", "type": "string" }, - "Vlan": { - "type": "number" + "Status": { + "markdownDescription": "The status of the form type.", + "title": "Status", + "type": "string" } }, "required": [ - "BgpPeers", - "ConnectionId", - "DirectConnectGatewayId", - "VirtualInterfaceName", - "Vlan" + "DomainIdentifier", + "Model", + "Name", + "OwningProjectIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectConnect::TransitVirtualInterface" + "AWS::DataZone::FormType" ], "type": "string" }, @@ -116544,35 +115919,18 @@ ], "type": "object" }, - "AWS::DirectConnect::TransitVirtualInterface.BgpPeer": { + "AWS::DataZone::FormType.Model": { "additionalProperties": false, "properties": { - "AddressFamily": { - "type": "string" - }, - "AmazonAddress": { - "type": "string" - }, - "Asn": { - "type": "string" - }, - "AuthKey": { - "type": "string" - }, - "BgpPeerId": { - "type": "string" - }, - "CustomerAddress": { + "Smithy": { + "markdownDescription": "", + "title": "Smithy", "type": "string" } }, - "required": [ - "AddressFamily", - "Asn" - ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD": { + "AWS::DataZone::GroupProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -116607,52 +115965,36 @@ "Properties": { "additionalProperties": false, "properties": { - "CreateAlias": { - "markdownDescription": "Specifies an alias for a directory and assigns the alias to the directory. The alias is used to construct the access URL for the directory, such as `http://.awsapps.com` . By default, CloudFormation does not create an alias.\n\n> After an alias has been created, it cannot be deleted or reused, so this operation should only be used when absolutely necessary.", - "title": "CreateAlias", - "type": "boolean" - }, - "Edition": { - "markdownDescription": "AWS Managed Microsoft AD is available in two editions: `Standard` and `Enterprise` . `Enterprise` is the default.", - "title": "Edition", + "DomainIdentifier": { + "markdownDescription": "The identifier of the Amazon DataZone domain in which a group profile exists.", + "title": "DomainIdentifier", "type": "string" }, - "EnableSso": { - "markdownDescription": "Whether to enable single sign-on for a Microsoft Active Directory in AWS . Single sign-on allows users in your directory to access certain AWS services from a computer joined to the directory without having to enter their credentials separately. If you don't specify a value, CloudFormation disables single sign-on by default.", - "title": "EnableSso", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The fully qualified domain name for the AWS Managed Microsoft AD directory, such as `corp.example.com` . This name will resolve inside your VPC only. It does not need to be publicly resolvable.", - "title": "Name", + "GroupIdentifier": { + "markdownDescription": "The ID of the group of a project member.", + "title": "GroupIdentifier", "type": "string" }, - "Password": { - "markdownDescription": "The password for the default administrative user named `Admin` .\n\nIf you need to change the password for the administrator account, see the [ResetUserPassword](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_ResetUserPassword.html) API call in the *Directory Service API Reference* .", - "title": "Password", + "GroupType": { "type": "string" }, - "ShortName": { - "markdownDescription": "The NetBIOS name for your domain, such as `CORP` . If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, `CORP` for the directory DNS `corp.example.com` .", - "title": "ShortName", + "RolePrincipalArn": { "type": "string" }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings", - "markdownDescription": "Specifies the VPC settings of the Microsoft AD directory server in AWS .", - "title": "VpcSettings" + "Status": { + "markdownDescription": "The status of a group profile.", + "title": "Status", + "type": "string" } }, "required": [ - "Name", - "Password", - "VpcSettings" + "DomainIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectoryService::MicrosoftAD" + "AWS::DataZone::GroupProfile" ], "type": "string" }, @@ -116671,30 +116013,7 @@ ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The identifiers of the subnets for the directory servers. The two subnets must be in different Availability Zones. Directory Service specifies a directory server and a DNS server in each of these subnets.", - "title": "SubnetIds", - "type": "array" - }, - "VpcId": { - "markdownDescription": "The identifier of the VPC in which to create the directory.", - "title": "VpcId", - "type": "string" - } - }, - "required": [ - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "AWS::DirectoryService::SimpleAD": { + "AWS::DataZone::Owner": { "additionalProperties": false, "properties": { "Condition": { @@ -116729,63 +116048,38 @@ "Properties": { "additionalProperties": false, "properties": { - "CreateAlias": { - "markdownDescription": "If set to `true` , specifies an alias for a directory and assigns the alias to the directory. The alias is used to construct the access URL for the directory, such as `http://.awsapps.com` . By default, this property is set to `false` .\n\n> After an alias has been created, it cannot be deleted or reused, so this operation should only be used when absolutely necessary.", - "title": "CreateAlias", - "type": "boolean" - }, - "Description": { - "markdownDescription": "A description for the directory.", - "title": "Description", - "type": "string" - }, - "EnableSso": { - "markdownDescription": "Whether to enable single sign-on for a directory. If you don't specify a value, CloudFormation disables single sign-on by default.", - "title": "EnableSso", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The fully qualified name for the directory, such as `corp.example.com` .", - "title": "Name", - "type": "string" - }, - "Password": { - "markdownDescription": "The password for the directory administrator. The directory creation process creates a directory administrator account with the user name `Administrator` and this password.\n\nIf you need to change the password for the administrator account, see the [ResetUserPassword](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_ResetUserPassword.html) API call in the *Directory Service API Reference* .", - "title": "Password", + "DomainIdentifier": { + "markdownDescription": "The ID of the domain in which you want to add the entity owner.", + "title": "DomainIdentifier", "type": "string" }, - "ShortName": { - "markdownDescription": "The NetBIOS name of the directory, such as `CORP` .", - "title": "ShortName", + "EntityIdentifier": { + "markdownDescription": "The ID of the entity to which you want to add an owner.", + "title": "EntityIdentifier", "type": "string" }, - "Size": { - "markdownDescription": "The size of the directory. For valid values, see [CreateDirectory](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_CreateDirectory.html) in the *Directory Service API Reference* .", - "title": "Size", + "EntityType": { + "markdownDescription": "The type of an entity.", + "title": "EntityType", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings", - "markdownDescription": "A [DirectoryVpcSettings](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_DirectoryVpcSettings.html) object that contains additional information for the operation.", - "title": "VpcSettings" + "Owner": { + "$ref": "#/definitions/AWS::DataZone::Owner.OwnerProperties", + "markdownDescription": "The owner that you want to add to the entity.", + "title": "Owner" } }, "required": [ - "Name", - "Size", - "VpcSettings" + "DomainIdentifier", + "EntityIdentifier", + "EntityType", + "Owner" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectoryService::SimpleAD" + "AWS::DataZone::Owner" ], "type": "string" }, @@ -116804,34 +116098,49 @@ ], "type": "object" }, - "AWS::DirectoryService::SimpleAD.VpcSettings": { + "AWS::DataZone::Owner.OwnerGroupProperties": { "additionalProperties": false, "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The identifiers of the subnets for the directory servers. The two subnets must be in different Availability Zones. Directory Service specifies a directory server and a DNS server in each of these subnets.", - "title": "SubnetIds", - "type": "array" - }, - "VpcId": { - "markdownDescription": "The identifier of the VPC in which to create the directory.", - "title": "VpcId", + "GroupIdentifier": { + "markdownDescription": "The ID of the domain unit owners group.", + "title": "GroupIdentifier", "type": "string" } }, - "required": [ - "SubnetIds", - "VpcId" - ], "type": "object" }, - "AWS::DocDB::DBCluster": { + "AWS::DataZone::Owner.OwnerProperties": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Group": { + "$ref": "#/definitions/AWS::DataZone::Owner.OwnerGroupProperties", + "markdownDescription": "Specifies that the domain unit owner is a group.", + "title": "Group" + }, + "User": { + "$ref": "#/definitions/AWS::DataZone::Owner.OwnerUserProperties", + "markdownDescription": "Specifies that the domain unit owner is a user.", + "title": "User" + } + }, + "type": "object" + }, + "AWS::DataZone::Owner.OwnerUserProperties": { + "additionalProperties": false, + "properties": { + "UserIdentifier": { + "markdownDescription": "The ID of the owner user.", + "title": "UserIdentifier", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" }, "DeletionPolicy": { "enum": [ @@ -116862,174 +116171,48 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of Amazon EC2 Availability Zones that instances in the cluster can be created in.", - "title": "AvailabilityZones", - "type": "array" - }, - "BackupRetentionPeriod": { - "markdownDescription": "The number of days for which automated backups are retained. You must specify a minimum value of 1.\n\nDefault: 1\n\nConstraints:\n\n- Must be a value from 1 to 35.", - "title": "BackupRetentionPeriod", - "type": "number" - }, - "CopyTagsToSnapshot": { - "markdownDescription": "Set to `true` to copy all tags from the source cluster snapshot to the target cluster snapshot, and otherwise `false` . The default is `false` .", - "title": "CopyTagsToSnapshot", - "type": "boolean" - }, - "DBClusterIdentifier": { - "markdownDescription": "The cluster identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n- Must contain from 1 to 63 letters, numbers, or hyphens.\n- The first character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n\nExample: `my-cluster`", - "title": "DBClusterIdentifier", - "type": "string" - }, - "DBClusterParameterGroupName": { - "markdownDescription": "The name of the cluster parameter group to associate with this cluster.", - "title": "DBClusterParameterGroupName", - "type": "string" - }, - "DBSubnetGroupName": { - "markdownDescription": "A subnet group to associate with this cluster.\n\nConstraints: Must match the name of an existing `DBSubnetGroup` . Must not be default.\n\nExample: `mySubnetgroup`", - "title": "DBSubnetGroupName", - "type": "string" - }, - "DeletionProtection": { - "markdownDescription": "Protects clusters from being accidentally deleted. If enabled, the cluster cannot be deleted unless it is modified and `DeletionProtection` is disabled.", - "title": "DeletionProtection", - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of log types that need to be enabled for exporting to Amazon CloudWatch Logs. You can enable audit logs or profiler logs. For more information, see [Auditing Amazon DocumentDB Events](https://docs.aws.amazon.com/documentdb/latest/developerguide/event-auditing.html) and [Profiling Amazon DocumentDB Operations](https://docs.aws.amazon.com/documentdb/latest/developerguide/profiling.html) .", - "title": "EnableCloudwatchLogsExports", - "type": "array" - }, - "EngineVersion": { - "markdownDescription": "The version number of the database engine to use. The `--engine-version` will default to the latest major engine version. For production workloads, we recommend explicitly declaring this parameter with the intended major engine version.\n\nIf you intend to trigger an in-place upgrade, please refer to [Amazon DocumentDB in-place major version upgrade](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-mvu.html) . Note that for an in-place engine version upgrade, you need to remove other cluster properties changes (e.g. SecurityGroupId) from the CFN template.", - "title": "EngineVersion", - "type": "string" - }, - "GlobalClusterIdentifier": { - "markdownDescription": "The cluster identifier of the new global cluster.", - "title": "GlobalClusterIdentifier", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "The AWS key identifier for an encrypted cluster.\n\nThe AWS key identifier is the Amazon Resource Name (ARN) for the AWS encryption key. If you are creating a cluster using the same AWS account that owns the AWS encryption key that is used to encrypt the new cluster, you can use the AWS key alias instead of the ARN for the AWS encryption key.\n\nIf an encryption key is not specified in `KmsKeyId` :\n\n- If the `StorageEncrypted` parameter is `true` , Amazon DocumentDB uses your default encryption key.\n\nAWS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Regions .", - "title": "KmsKeyId", - "type": "string" - }, - "ManageMasterUserPassword": { - "markdownDescription": "Specifies whether to manage the master user password with Amazon Web Services Secrets Manager.\n\nConstraint: You can't manage the master user password with Amazon Web Services Secrets Manager if `MasterUserPassword` is specified.", - "title": "ManageMasterUserPassword", - "type": "boolean" - }, - "MasterUserPassword": { - "markdownDescription": "The password for the master database user. This password can contain any printable ASCII character except forward slash (/), double quote (\"), or the \"at\" symbol (@).\n\nConstraints: Must contain from 8 to 100 characters.", - "title": "MasterUserPassword", - "type": "string" - }, - "MasterUserSecretKmsKeyId": { - "markdownDescription": "The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager. This setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the DB cluster.\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.\n\nIf you don't specify `MasterUserSecretKmsKeyId` , then the `aws/secretsmanager` KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the `aws/secretsmanager` KMS key to encrypt the secret, and you must use a customer managed KMS key.\n\nThere is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.", - "title": "MasterUserSecretKmsKeyId", - "type": "string" - }, - "MasterUsername": { - "markdownDescription": "The name of the master user for the cluster.\n\nConstraints:\n\n- Must be from 1 to 63 letters or numbers.\n- The first character must be a letter.\n- Cannot be a reserved word for the chosen database engine.", - "title": "MasterUsername", - "type": "string" - }, - "NetworkType": { - "markdownDescription": "The network type of the cluster.\n\nThe network type is determined by the `DBSubnetGroup` specified for the cluster. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and the IPv6 protocols ( `DUAL` ).\n\nFor more information, see [DocumentDB clusters in a VPC](https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html) in the Amazon DocumentDB Developer Guide.\n\nValid Values: `IPV4` | `DUAL`", - "title": "NetworkType", - "type": "string" - }, - "Port": { - "markdownDescription": "Specifies the port that the database engine is listening on.", - "title": "Port", - "type": "number" - }, - "PreferredBackupWindow": { - "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled using the `BackupRetentionPeriod` parameter.\n\nThe default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region .\n\nConstraints:\n\n- Must be in the format `hh24:mi-hh24:mi` .\n- Must be in Universal Coordinated Time (UTC).\n- Must not conflict with the preferred maintenance window.\n- Must be at least 30 minutes.", - "title": "PreferredBackupWindow", - "type": "string" - }, - "PreferredMaintenanceWindow": { - "markdownDescription": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n\nFormat: `ddd:hh24:mi-ddd:hh24:mi`\n\nThe default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week.\n\nValid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\nConstraints: Minimum 30-minute window.", - "title": "PreferredMaintenanceWindow", - "type": "string" - }, - "RestoreToTime": { - "markdownDescription": "The date and time to restore the cluster to.\n\nValid values: A time in Universal Coordinated Time (UTC) format.\n\nConstraints:\n\n- Must be before the latest restorable time for the instance.\n- Must be specified if the `UseLatestRestorableTime` parameter is not provided.\n- Cannot be specified if the `UseLatestRestorableTime` parameter is `true` .\n- Cannot be specified if the `RestoreType` parameter is `copy-on-write` .\n\nExample: `2015-03-07T23:45:00Z`", - "title": "RestoreToTime", - "type": "string" + "Detail": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.PolicyGrantDetail", + "markdownDescription": "The details of the policy grant member.", + "title": "Detail" }, - "RestoreType": { - "markdownDescription": "The type of restore to be performed. You can specify one of the following values:\n\n- `full-copy` - The new DB cluster is restored as a full copy of the source DB cluster.\n- `copy-on-write` - The new DB cluster is restored as a clone of the source DB cluster.\n\nConstraints: You can't specify `copy-on-write` if the engine version of the source DB cluster is earlier than 1.11.\n\nIf you don't specify a `RestoreType` value, then the new DB cluster is restored as a full copy of the source DB cluster.", - "title": "RestoreType", + "DomainIdentifier": { + "markdownDescription": "The ID of the domain where you want to add a policy grant.", + "title": "DomainIdentifier", "type": "string" }, - "RotateMasterUserPassword": { - "markdownDescription": "Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password.\n\nThis setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the cluster. The secret value contains the updated password.\n\nConstraint: You must apply the change immediately when rotating the master user password.", - "title": "RotateMasterUserPassword", - "type": "boolean" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/AWS::DocDB::DBCluster.ServerlessV2ScalingConfiguration", - "markdownDescription": "Contains the scaling configuration of an Amazon DocumentDB Serverless cluster.", - "title": "ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "markdownDescription": "The identifier for the snapshot or cluster snapshot to restore from.\n\nYou can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use only the ARN to specify a snapshot.\n\nConstraints:\n\n- Must match the identifier of an existing snapshot.", - "title": "SnapshotIdentifier", + "EntityIdentifier": { + "markdownDescription": "The ID of the entity (resource) to which you want to add a policy grant.", + "title": "EntityIdentifier", "type": "string" }, - "SourceDBClusterIdentifier": { - "markdownDescription": "The identifier of the source cluster from which to restore.\n\nConstraints:\n\n- Must match the identifier of an existing `DBCluster` .", - "title": "SourceDBClusterIdentifier", + "EntityType": { + "markdownDescription": "The type of entity (resource) to which the grant is added.", + "title": "EntityType", "type": "string" }, - "StorageEncrypted": { - "markdownDescription": "Specifies whether the cluster is encrypted.\n\nIf you specify `SourceDBClusterIdentifier` or `SnapshotIdentifier` and don\u2019t specify `StorageEncrypted` , the encryption property is inherited from the source cluster or snapshot (unless `KMSKeyId` is specified, in which case the restored cluster will be encrypted with that KMS key). If the source is encrypted and `StorageEncrypted` is specified to be true, the restored cluster will be encrypted (if you want to use a different KMS key, specify the `KMSKeyId` property as well). If the source is unencrypted and `StorageEncrypted` is specified to be true, then the `KMSKeyId` property must be specified. If the source is encrypted, don\u2019t specify `StorageEncrypted` to be false as opting out of encryption is not allowed.", - "title": "StorageEncrypted", - "type": "boolean" - }, - "StorageType": { - "markdownDescription": "The storage type to associate with the DB cluster.\n\nFor information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the *Amazon DocumentDB Developer Guide* .\n\nValid values for storage type - `standard | iopt1`\n\nDefault value is `standard`\n\n> When you create an Amazon DocumentDB cluster with the storage type set to `iopt1` , the storage type is returned in the response. The storage type isn't returned when you set it to `standard` .", - "title": "StorageType", + "PolicyType": { + "markdownDescription": "The type of policy that you want to grant.", + "title": "PolicyType", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to be assigned to the cluster.", - "title": "Tags", - "type": "array" - }, - "UseLatestRestorableTime": { - "markdownDescription": "A value that is set to `true` to restore the cluster to the latest restorable backup time, and `false` otherwise.\n\nDefault: `false`\n\nConstraints: Cannot be specified if the `RestoreToTime` parameter is provided.", - "title": "UseLatestRestorableTime", - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of EC2 VPC security groups to associate with this cluster.", - "title": "VpcSecurityGroupIds", - "type": "array" + "Principal": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.PolicyGrantPrincipal", + "markdownDescription": "The principal of the policy grant member.", + "title": "Principal" } }, + "required": [ + "DomainIdentifier", + "EntityIdentifier", + "EntityType", + "PolicyType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBCluster" + "AWS::DataZone::PolicyGrant" ], "type": "string" }, @@ -117043,123 +116226,346 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::DocDB::DBCluster.ServerlessV2ScalingConfiguration": { + "AWS::DataZone::PolicyGrant.AddToProjectMemberPoolPolicyGrantDetail": { "additionalProperties": false, "properties": { - "MaxCapacity": { - "markdownDescription": "The maximum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. You can specify DCU values in half-step increments, such as 32, 32.5, 33, and so on.", - "title": "MaxCapacity", - "type": "number" + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.CreateAssetTypePolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.CreateDomainUnitPolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.CreateEnvironmentProfilePolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "DomainUnitId": { + "markdownDescription": "The ID of the domain unit.", + "title": "DomainUnitId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.CreateFormTypePolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.CreateGlossaryPolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether to include child domain units when creating a project from project profile policy grant details", + "title": "IncludeChildDomainUnits", + "type": "boolean" }, - "MinCapacity": { - "markdownDescription": "The minimum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. You can specify DCU values in half-step increments, such as 8, 8.5, 9, and so on.", - "title": "MinCapacity", - "type": "number" + "ProjectProfiles": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies project profiles when creating a project from project profile policy grant details", + "title": "ProjectProfiles", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.CreateProjectPolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy grant is applied to child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.DomainUnitFilterForProject": { + "additionalProperties": false, + "properties": { + "DomainUnit": { + "markdownDescription": "The domain unit ID to use in the filter.", + "title": "DomainUnit", + "type": "string" + }, + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether to include child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" } }, "required": [ - "MaxCapacity", - "MinCapacity" + "DomainUnit" ], "type": "object" }, - "AWS::DocDB::DBClusterParameterGroup": { + "AWS::DataZone::PolicyGrant.DomainUnitGrantFilter": { "additionalProperties": false, "properties": { - "Condition": { + "AllDomainUnitsGrantFilter": { + "markdownDescription": "Specifies a grant filter containing all domain units.", + "title": "AllDomainUnitsGrantFilter", + "type": "object" + } + }, + "required": [ + "AllDomainUnitsGrantFilter" + ], + "type": "object" + }, + "AWS::DataZone::PolicyGrant.DomainUnitPolicyGrantPrincipal": { + "additionalProperties": false, + "properties": { + "DomainUnitDesignation": { + "markdownDescription": "Specifes the designation of the domain unit users.", + "title": "DomainUnitDesignation", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DomainUnitGrantFilter": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.DomainUnitGrantFilter", + "markdownDescription": "The grant filter for the domain unit.", + "title": "DomainUnitGrantFilter" + }, + "DomainUnitIdentifier": { + "markdownDescription": "The ID of the domain unit.", + "title": "DomainUnitIdentifier", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.GroupPolicyGrantPrincipal": { + "additionalProperties": false, + "properties": { + "GroupIdentifier": { + "markdownDescription": "The ID Of the group of the group principal.", + "title": "GroupIdentifier", "type": "string" + } + }, + "required": [ + "GroupIdentifier" + ], + "type": "object" + }, + "AWS::DataZone::PolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy is inherited by child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.OverrideProjectOwnersPolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "IncludeChildDomainUnits": { + "markdownDescription": "Specifies whether the policy is inherited by child domain units.", + "title": "IncludeChildDomainUnits", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.PolicyGrantDetail": { + "additionalProperties": false, + "properties": { + "AddToProjectMemberPool": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.AddToProjectMemberPoolPolicyGrantDetail", + "markdownDescription": "Specifies that the policy grant is to be added to the members of the project.", + "title": "AddToProjectMemberPool" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CreateAssetType": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateAssetTypePolicyGrantDetail", + "markdownDescription": "Specifies that this is a create asset type policy.", + "title": "CreateAssetType" }, - "Metadata": { + "CreateDomainUnit": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateDomainUnitPolicyGrantDetail", + "markdownDescription": "Specifies that this is a create domain unit policy.", + "title": "CreateDomainUnit" + }, + "CreateEnvironment": { + "markdownDescription": "Specifies that this is a create environment policy.", + "title": "CreateEnvironment", "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "The description for the cluster parameter group.", - "title": "Description", - "type": "string" - }, - "Family": { - "markdownDescription": "The cluster parameter group family name.", - "title": "Family", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the DB cluster parameter group.\n\nConstraints:\n\n- Must not match the name of an existing `DBClusterParameterGroup` .\n\n> This value is stored as a lowercase string.", - "title": "Name", - "type": "string" - }, - "Parameters": { - "markdownDescription": "Provides a list of parameters for the cluster parameter group.", - "title": "Parameters", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to be assigned to the cluster parameter group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], + "CreateEnvironmentFromBlueprint": { + "markdownDescription": "The details of the policy of creating an environment.", + "title": "CreateEnvironmentFromBlueprint", "type": "object" }, - "Type": { - "enum": [ - "AWS::DocDB::DBClusterParameterGroup" - ], - "type": "string" + "CreateEnvironmentProfile": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateEnvironmentProfilePolicyGrantDetail", + "markdownDescription": "Specifies that this is a create environment profile policy.", + "title": "CreateEnvironmentProfile" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "CreateFormType": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateFormTypePolicyGrantDetail", + "markdownDescription": "Specifies that this is a create form type policy.", + "title": "CreateFormType" + }, + "CreateGlossary": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateGlossaryPolicyGrantDetail", + "markdownDescription": "Specifies that this is a create glossary policy.", + "title": "CreateGlossary" + }, + "CreateProject": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateProjectPolicyGrantDetail", + "markdownDescription": "Specifies that this is a create project policy.", + "title": "CreateProject" + }, + "CreateProjectFromProjectProfile": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetail", + "markdownDescription": "Specifies whether to create a project from project profile.", + "title": "CreateProjectFromProjectProfile" + }, + "DelegateCreateEnvironmentProfile": { + "markdownDescription": "Specifies that this is the delegation of the create environment profile policy.", + "title": "DelegateCreateEnvironmentProfile", + "type": "object" + }, + "OverrideDomainUnitOwners": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetail", + "markdownDescription": "Specifies whether to override domain unit owners.", + "title": "OverrideDomainUnitOwners" + }, + "OverrideProjectOwners": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.OverrideProjectOwnersPolicyGrantDetail", + "markdownDescription": "Specifies whether to override project owners.", + "title": "OverrideProjectOwners" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.PolicyGrantPrincipal": { + "additionalProperties": false, + "properties": { + "DomainUnit": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.DomainUnitPolicyGrantPrincipal", + "markdownDescription": "The domain unit of the policy grant principal.", + "title": "DomainUnit" + }, + "Group": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.GroupPolicyGrantPrincipal", + "markdownDescription": "The group of the policy grant principal.", + "title": "Group" + }, + "Project": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.ProjectPolicyGrantPrincipal", + "markdownDescription": "The project of the policy grant principal.", + "title": "Project" + }, + "User": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.UserPolicyGrantPrincipal", + "markdownDescription": "The user of the policy grant principal.", + "title": "User" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.ProjectGrantFilter": { + "additionalProperties": false, + "properties": { + "DomainUnitFilter": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.DomainUnitFilterForProject", + "markdownDescription": "The domain unit filter of the project grant filter.", + "title": "DomainUnitFilter" } }, "required": [ - "Type", - "Properties" + "DomainUnitFilter" ], "type": "object" }, - "AWS::DocDB::DBInstance": { + "AWS::DataZone::PolicyGrant.ProjectPolicyGrantPrincipal": { + "additionalProperties": false, + "properties": { + "ProjectDesignation": { + "markdownDescription": "The project designation of the project policy grant principal.", + "title": "ProjectDesignation", + "type": "string" + }, + "ProjectGrantFilter": { + "$ref": "#/definitions/AWS::DataZone::PolicyGrant.ProjectGrantFilter", + "markdownDescription": "The project grant filter of the project policy grant principal.", + "title": "ProjectGrantFilter" + }, + "ProjectIdentifier": { + "markdownDescription": "The project ID of the project policy grant principal.", + "title": "ProjectIdentifier", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::PolicyGrant.UserPolicyGrantPrincipal": { + "additionalProperties": false, + "properties": { + "AllUsersGrantFilter": { + "markdownDescription": "The all users grant filter of the user policy grant principal.", + "title": "AllUsersGrantFilter", + "type": "object" + }, + "UserIdentifier": { + "markdownDescription": "The user ID of the user policy grant principal.", + "title": "UserIdentifier", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::Project": { "additionalProperties": false, "properties": { "Condition": { @@ -117194,69 +116600,80 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoMinorVersionUpgrade": { - "markdownDescription": "This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor version upgrades regardless of the value set.\n\nDefault: `false`", - "title": "AutoMinorVersionUpgrade", - "type": "boolean" + "Description": { + "markdownDescription": "The description of a project.", + "title": "Description", + "type": "string" }, - "AvailabilityZone": { - "markdownDescription": "The Amazon EC2 Availability Zone that the instance is created in.\n\nDefault: A random, system-chosen Availability Zone in the endpoint's AWS Region .\n\nExample: `us-east-1d`", - "title": "AvailabilityZone", + "DomainIdentifier": { + "markdownDescription": "The identifier of a Amazon DataZone domain where the project exists.", + "title": "DomainIdentifier", "type": "string" }, - "CACertificateIdentifier": { - "markdownDescription": "The identifier of the CA certificate for this DB instance.", - "title": "CACertificateIdentifier", + "DomainUnitId": { + "markdownDescription": "The ID of the domain unit. This parameter is not required and if it is not specified, then the project is created at the root domain unit level.", + "title": "DomainUnitId", "type": "string" }, - "CertificateRotationRestart": { - "markdownDescription": "Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate.\n\nBy default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted.\n\n> Set this parameter only if you are *not* using SSL/TLS to connect to the DB instance. \n\nIf you are using SSL/TLS to connect to the DB instance, see [Updating Your Amazon DocumentDB TLS Certificates](https://docs.aws.amazon.com/documentdb/latest/developerguide/ca_cert_rotation.html) and [Encrypting Data in Transit](https://docs.aws.amazon.com/documentdb/latest/developerguide/security.encryption.ssl.html) in the *Amazon DocumentDB Developer Guide* .", - "title": "CertificateRotationRestart", - "type": "boolean" + "GlossaryTerms": { + "items": { + "type": "string" + }, + "markdownDescription": "The glossary terms that can be used in this Amazon DataZone project.", + "title": "GlossaryTerms", + "type": "array" }, - "DBClusterIdentifier": { - "markdownDescription": "The identifier of the cluster that the instance will belong to.", - "title": "DBClusterIdentifier", + "MembershipAssignments": { + "items": { + "$ref": "#/definitions/AWS::DataZone::Project.ProjectMembershipAssignment" + }, + "type": "array" + }, + "Name": { + "markdownDescription": "The name of a project.", + "title": "Name", "type": "string" }, - "DBInstanceClass": { - "markdownDescription": "The compute and memory capacity of the instance; for example, `db.m4.large` . If you change the class of an instance there can be some interruption in the cluster's service.", - "title": "DBInstanceClass", + "ProjectCategory": { "type": "string" }, - "DBInstanceIdentifier": { - "markdownDescription": "The instance identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n- Must contain from 1 to 63 letters, numbers, or hyphens.\n- The first character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n\nExample: `mydbinstance`", - "title": "DBInstanceIdentifier", + "ProjectExecutionRole": { "type": "string" }, - "EnablePerformanceInsights": { - "markdownDescription": "A value that indicates whether to enable Performance Insights for the DB Instance. For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html) .", - "title": "EnablePerformanceInsights", - "type": "boolean" + "ProjectProfileId": { + "markdownDescription": "The ID of the project profile.", + "title": "ProjectProfileId", + "type": "string" }, - "PreferredMaintenanceWindow": { - "markdownDescription": "The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC).\n\nFormat: `ddd:hh24:mi-ddd:hh24:mi`\n\nThe default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week.\n\nValid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\nConstraints: Minimum 30-minute window.", - "title": "PreferredMaintenanceWindow", + "ProjectProfileVersion": { + "markdownDescription": "The project profile version to which the project should be updated. You can only specify the following string for this parameter: `latest` .", + "title": "ProjectProfileVersion", "type": "string" }, - "Tags": { + "ResourceTags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::DataZone::Project.ResourceTag" }, - "markdownDescription": "The tags to be assigned to the instance. You can assign up to 10 tags to an instance.", - "title": "Tags", + "type": "array" + }, + "UserParameters": { + "items": { + "$ref": "#/definitions/AWS::DataZone::Project.EnvironmentConfigurationUserParameter" + }, + "markdownDescription": "The user parameters of the project.", + "title": "UserParameters", "type": "array" } }, "required": [ - "DBClusterIdentifier", - "DBInstanceClass" + "DomainIdentifier", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBInstance" + "AWS::DataZone::Project" ], "type": "string" }, @@ -117275,96 +116692,91 @@ ], "type": "object" }, - "AWS::DocDB::DBSubnetGroup": { + "AWS::DataZone::Project.EnvironmentConfigurationUserParameter": { "additionalProperties": false, "properties": { - "Condition": { + "EnvironmentConfigurationName": { + "markdownDescription": "The environment configuration name.", + "title": "EnvironmentConfigurationName", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "EnvironmentId": { + "markdownDescription": "The ID of the environment.", + "title": "EnvironmentId", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EnvironmentParameters": { + "items": { + "$ref": "#/definitions/AWS::DataZone::Project.EnvironmentParameter" + }, + "markdownDescription": "The environment parameters.", + "title": "EnvironmentParameters", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataZone::Project.EnvironmentParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of an environment profile parameter.", + "title": "Name", + "type": "string" }, - "Metadata": { - "type": "object" + "Value": { + "markdownDescription": "The value of an environment profile parameter.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::Project.Member": { + "additionalProperties": false, + "properties": { + "GroupIdentifier": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "markdownDescription": "The description for the subnet group.", - "title": "DBSubnetGroupDescription", - "type": "string" - }, - "DBSubnetGroupName": { - "markdownDescription": "The name for the subnet group. This value is stored as a lowercase string.\n\nConstraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.\n\nExample: `mySubnetgroup`", - "title": "DBSubnetGroupName", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon EC2 subnet IDs for the subnet group.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to be assigned to the subnet group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" + "UserIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::Project.ProjectMembershipAssignment": { + "additionalProperties": false, + "properties": { + "Designation": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::DocDB::DBSubnetGroup" - ], + "Member": { + "$ref": "#/definitions/AWS::DataZone::Project.Member" + } + }, + "required": [ + "Designation", + "Member" + ], + "type": "object" + }, + "AWS::DataZone::Project.ResourceTag": { + "additionalProperties": false, + "properties": { + "Key": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Key", + "Value" ], "type": "object" }, - "AWS::DocDB::EventSubscription": { + "AWS::DataZone::ProjectMembership": { "additionalProperties": false, "properties": { "Condition": { @@ -117399,51 +116811,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "A Boolean value; set to `true` to activate the subscription, set to `false` to create the subscription but not active it.", - "title": "Enabled", - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of event categories for a `SourceType` that you want to subscribe to.", - "title": "EventCategories", - "type": "array" - }, - "SnsTopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. Amazon SNS creates the ARN when you create a topic and subscribe to it.", - "title": "SnsTopicArn", + "Designation": { + "markdownDescription": "The designated role of a project member.", + "title": "Designation", "type": "string" }, - "SourceIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.\n\nConstraints:\n\n- If `SourceIds` are provided, `SourceType` must also be provided.\n- If the source type is an instance, a `DBInstanceIdentifier` must be provided.\n- If the source type is a security group, a `DBSecurityGroupName` must be provided.\n- If the source type is a parameter group, a `DBParameterGroupName` must be provided.\n- If the source type is a snapshot, a `DBSnapshotIdentifier` must be provided.", - "title": "SourceIds", - "type": "array" - }, - "SourceType": { - "markdownDescription": "The type of source that is generating the events. For example, if you want to be notified of events generated by an instance, you would set this parameter to `db-instance` . If this value is not specified, all events are returned.\n\nValid values: `db-instance` , `db-cluster` , `db-parameter-group` , `db-security-group` , `db-cluster-snapshot`", - "title": "SourceType", + "DomainIdentifier": { + "markdownDescription": "The ID of the Amazon DataZone domain in which project membership is created.", + "title": "DomainIdentifier", "type": "string" }, - "SubscriptionName": { - "markdownDescription": "The name of the subscription.\n\nConstraints: The name must be fewer than 255 characters.", - "title": "SubscriptionName", + "Member": { + "$ref": "#/definitions/AWS::DataZone::ProjectMembership.Member", + "markdownDescription": "The details about a project member.", + "title": "Member" + }, + "ProjectIdentifier": { + "markdownDescription": "The ID of the project for which this project membership was created.", + "title": "ProjectIdentifier", "type": "string" } }, "required": [ - "SnsTopicArn" + "Designation", + "DomainIdentifier", + "Member", + "ProjectIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::EventSubscription" + "AWS::DataZone::ProjectMembership" ], "type": "string" }, @@ -117462,7 +116861,23 @@ ], "type": "object" }, - "AWS::DocDB::GlobalCluster": { + "AWS::DataZone::ProjectMembership.Member": { + "additionalProperties": false, + "properties": { + "GroupIdentifier": { + "markdownDescription": "The ID of the group of a project member.", + "title": "GroupIdentifier", + "type": "string" + }, + "UserIdentifier": { + "markdownDescription": "The user ID of a project member.", + "title": "UserIdentifier", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::ProjectProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -117497,39 +116912,63 @@ "Properties": { "additionalProperties": false, "properties": { - "DeletionProtection": { + "AllowCustomProjectResourceTags": { "type": "boolean" }, - "Engine": { + "Description": { + "markdownDescription": "The description of the project profile.", + "title": "Description", "type": "string" }, - "EngineVersion": { + "DomainIdentifier": { + "markdownDescription": "A domain ID of the project profile.", + "title": "DomainIdentifier", "type": "string" }, - "GlobalClusterIdentifier": { + "DomainUnitIdentifier": { + "markdownDescription": "A domain unit ID of the project profile.", + "title": "DomainUnitIdentifier", "type": "string" }, - "SourceDBClusterIdentifier": { - "type": "string" + "EnvironmentConfigurations": { + "items": { + "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfiguration" + }, + "markdownDescription": "Environment configurations of a project profile.", + "title": "EnvironmentConfigurations", + "type": "array" }, - "StorageEncrypted": { - "type": "boolean" + "Name": { + "markdownDescription": "The name of a project profile.", + "title": "Name", + "type": "string" }, - "Tags": { + "ProjectResourceTags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::DataZone::ProjectProfile.ResourceTagParameter" }, "type": "array" + }, + "ProjectResourceTagsDescription": { + "type": "string" + }, + "Status": { + "markdownDescription": "The status of a project profile.", + "title": "Status", + "type": "string" + }, + "UseDefaultConfigurations": { + "type": "boolean" } }, "required": [ - "GlobalClusterIdentifier" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::GlobalCluster" + "AWS::DataZone::ProjectProfile" ], "type": "string" }, @@ -117548,133 +116987,262 @@ ], "type": "object" }, - "AWS::DocDBElastic::Cluster": { + "AWS::DataZone::ProjectProfile.AwsAccount": { "additionalProperties": false, "properties": { - "Condition": { + "AwsAccountId": { + "markdownDescription": "The account ID of a project.", + "title": "AwsAccountId", "type": "string" + } + }, + "required": [ + "AwsAccountId" + ], + "type": "object" + }, + "AWS::DataZone::ProjectProfile.EnvironmentConfiguration": { + "additionalProperties": false, + "properties": { + "AwsAccount": { + "$ref": "#/definitions/AWS::DataZone::ProjectProfile.AwsAccount", + "markdownDescription": "The AWS account of the environment.", + "title": "AwsAccount" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AwsRegion": { + "$ref": "#/definitions/AWS::DataZone::ProjectProfile.Region", + "markdownDescription": "The AWS Region of the environment.", + "title": "AwsRegion" + }, + "ConfigurationParameters": { + "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfigurationParametersDetails", + "markdownDescription": "The configuration parameters of the environment.", + "title": "ConfigurationParameters" + }, + "DeploymentMode": { + "markdownDescription": "The deployment mode of the environment.", + "title": "DeploymentMode", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DeploymentOrder": { + "markdownDescription": "The deployment order of the environment.", + "title": "DeploymentOrder", + "type": "number" }, - "Metadata": { - "type": "object" + "Description": { + "markdownDescription": "The environment description.", + "title": "Description", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdminUserName": { - "markdownDescription": "The name of the Amazon DocumentDB elastic clusters administrator.\n\n*Constraints* :\n\n- Must be from 1 to 63 letters or numbers.\n- The first character must be a letter.\n- Cannot be a reserved word.", - "title": "AdminUserName", - "type": "string" - }, - "AdminUserPassword": { - "markdownDescription": "The password for the Elastic DocumentDB cluster administrator and can contain any printable ASCII characters.\n\n*Constraints* :\n\n- Must contain from 8 to 100 characters.\n- Cannot contain a forward slash (/), double quote (\"), or the \"at\" symbol (@).\n- A valid `AdminUserName` entry is also required.", - "title": "AdminUserPassword", - "type": "string" - }, - "AuthType": { - "markdownDescription": "The authentication type used to determine where to fetch the password used for accessing the elastic cluster. Valid types are `PLAIN_TEXT` or `SECRET_ARN` .", - "title": "AuthType", + "EnvironmentBlueprintId": { + "markdownDescription": "The environment blueprint ID.", + "title": "EnvironmentBlueprintId", + "type": "string" + }, + "EnvironmentConfigurationId": { + "markdownDescription": "", + "title": "EnvironmentConfigurationId", + "type": "string" + }, + "Name": { + "markdownDescription": "The environment name.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "AwsRegion", + "EnvironmentBlueprintId", + "Name" + ], + "type": "object" + }, + "AWS::DataZone::ProjectProfile.EnvironmentConfigurationParameter": { + "additionalProperties": false, + "properties": { + "IsEditable": { + "markdownDescription": "Specifies whether the environment parameter is editable.", + "title": "IsEditable", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the environment configuration parameter.", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the environment configuration parameter.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::ProjectProfile.EnvironmentConfigurationParametersDetails": { + "additionalProperties": false, + "properties": { + "ParameterOverrides": { + "items": { + "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfigurationParameter" + }, + "markdownDescription": "The parameter overrides.", + "title": "ParameterOverrides", + "type": "array" + }, + "ResolvedParameters": { + "items": { + "$ref": "#/definitions/AWS::DataZone::ProjectProfile.EnvironmentConfigurationParameter" + }, + "markdownDescription": "The resolved environment configuration parameters.", + "title": "ResolvedParameters", + "type": "array" + }, + "SsmPath": { + "markdownDescription": "Ssm path environment configuration parameters.", + "title": "SsmPath", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::ProjectProfile.Region": { + "additionalProperties": false, + "properties": { + "RegionName": { + "markdownDescription": "The AWS Region name.", + "title": "RegionName", + "type": "string" + } + }, + "required": [ + "RegionName" + ], + "type": "object" + }, + "AWS::DataZone::ProjectProfile.ResourceTagParameter": { + "additionalProperties": false, + "properties": { + "IsValueEditable": { + "type": "boolean" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "IsValueEditable", + "Key", + "Value" + ], + "type": "object" + }, + "AWS::DataZone::SubscriptionTarget": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "BackupRetentionPeriod": { - "markdownDescription": "The number of days for which automatic snapshots are retained.", - "title": "BackupRetentionPeriod", - "type": "number" + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicableAssetTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The asset types included in the subscription target.", + "title": "ApplicableAssetTypes", + "type": "array" }, - "ClusterName": { - "markdownDescription": "The name of the new elastic cluster. This parameter is stored as a lowercase string.\n\n*Constraints* :\n\n- Must contain from 1 to 63 letters, numbers, or hyphens.\n- The first character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n\n*Example* : `my-cluster`", - "title": "ClusterName", - "type": "string" + "AuthorizedPrincipals": { + "items": { + "type": "string" + }, + "markdownDescription": "The authorized principals included in the subscription target.", + "title": "AuthorizedPrincipals", + "type": "array" }, - "KmsKeyId": { - "markdownDescription": "The KMS key identifier to use to encrypt the new elastic cluster.\n\nThe KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias instead of the ARN as the KMS encryption key.\n\nIf an encryption key is not specified, Amazon DocumentDB uses the default encryption key that KMS creates for your account. Your account has a different default encryption key for each Amazon Region.", - "title": "KmsKeyId", + "DomainIdentifier": { + "markdownDescription": "The ID of the Amazon DataZone domain in which subscription target is created.", + "title": "DomainIdentifier", "type": "string" }, - "PreferredBackupWindow": { - "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled, as determined by `backupRetentionPeriod` .", - "title": "PreferredBackupWindow", + "EnvironmentIdentifier": { + "markdownDescription": "The ID of the environment in which subscription target is created.", + "title": "EnvironmentIdentifier", "type": "string" }, - "PreferredMaintenanceWindow": { - "markdownDescription": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n\n*Format* : `ddd:hh24:mi-ddd:hh24:mi`\n\n*Default* : a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week.\n\n*Valid days* : Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\n*Constraints* : Minimum 30-minute window.", - "title": "PreferredMaintenanceWindow", + "ManageAccessRole": { + "markdownDescription": "The manage access role that is used to create the subscription target.", + "title": "ManageAccessRole", "type": "string" }, - "ShardCapacity": { - "markdownDescription": "The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64.", - "title": "ShardCapacity", - "type": "number" - }, - "ShardCount": { - "markdownDescription": "The number of shards assigned to the elastic cluster. Maximum is 32.", - "title": "ShardCount", - "type": "number" - }, - "ShardInstanceCount": { - "markdownDescription": "The number of replica instances applying to all shards in the cluster. A `shardInstanceCount` value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.", - "title": "ShardInstanceCount", - "type": "number" + "Name": { + "markdownDescription": "The name of the subscription target.", + "title": "Name", + "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon EC2 subnet IDs for the new elastic cluster.", - "title": "SubnetIds", - "type": "array" + "Provider": { + "markdownDescription": "The provider of the subscription target.", + "title": "Provider", + "type": "string" }, - "Tags": { + "SubscriptionTargetConfig": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::DataZone::SubscriptionTarget.SubscriptionTargetForm" }, - "markdownDescription": "The tags to be assigned to the new elastic cluster.", - "title": "Tags", + "markdownDescription": "The configuration of the subscription target.", + "title": "SubscriptionTargetConfig", "type": "array" }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of EC2 VPC security groups to associate with the new elastic cluster.", - "title": "VpcSecurityGroupIds", - "type": "array" + "Type": { + "markdownDescription": "The type of the subscription target.", + "title": "Type", + "type": "string" } }, "required": [ - "AdminUserName", - "AuthType", - "ClusterName", - "ShardCapacity", - "ShardCount" + "ApplicableAssetTypes", + "AuthorizedPrincipals", + "DomainIdentifier", + "EnvironmentIdentifier", + "Name", + "SubscriptionTargetConfig", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDBElastic::Cluster" + "AWS::DataZone::SubscriptionTarget" ], "type": "string" }, @@ -117693,7 +117261,27 @@ ], "type": "object" }, - "AWS::DynamoDB::Backup": { + "AWS::DataZone::SubscriptionTarget.SubscriptionTargetForm": { + "additionalProperties": false, + "properties": { + "Content": { + "markdownDescription": "The content of the subscription target configuration.", + "title": "Content", + "type": "string" + }, + "FormName": { + "markdownDescription": "The form name included in the subscription target configuration.", + "title": "FormName", + "type": "string" + } + }, + "required": [ + "Content", + "FormName" + ], + "type": "object" + }, + "AWS::DataZone::UserProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -117728,22 +117316,39 @@ "Properties": { "additionalProperties": false, "properties": { - "BackupName": { + "DomainIdentifier": { + "markdownDescription": "The identifier of a Amazon DataZone domain in which a user profile exists.", + "title": "DomainIdentifier", "type": "string" }, - "TableName": { + "SessionName": { + "type": "string" + }, + "Status": { + "markdownDescription": "The status of the user profile.", + "title": "Status", + "type": "string" + }, + "UserIdentifier": { + "markdownDescription": "The identifier of the user for which the user profile is created.", + "title": "UserIdentifier", + "type": "string" + }, + "UserType": { + "markdownDescription": "The user type of the user for which the user profile is created.", + "title": "UserType", "type": "string" } }, "required": [ - "BackupName", - "TableName" + "DomainIdentifier", + "UserIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::Backup" + "AWS::DataZone::UserProfile" ], "type": "string" }, @@ -117762,7 +117367,61 @@ ], "type": "object" }, - "AWS::DynamoDB::Export": { + "AWS::DataZone::UserProfile.IamUserProfileDetails": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "", + "title": "Arn", + "type": "string" + }, + "GroupProfileId": { + "type": "string" + }, + "SessionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::UserProfile.SsoUserProfileDetails": { + "additionalProperties": false, + "properties": { + "FirstName": { + "markdownDescription": "", + "title": "FirstName", + "type": "string" + }, + "LastName": { + "markdownDescription": "", + "title": "LastName", + "type": "string" + }, + "Username": { + "markdownDescription": "", + "title": "Username", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataZone::UserProfile.UserProfileDetails": { + "additionalProperties": false, + "properties": { + "Iam": { + "$ref": "#/definitions/AWS::DataZone::UserProfile.IamUserProfileDetails", + "markdownDescription": "", + "title": "Iam" + }, + "Sso": { + "$ref": "#/definitions/AWS::DataZone::UserProfile.SsoUserProfileDetails", + "markdownDescription": "", + "title": "Sso" + } + }, + "type": "object" + }, + "AWS::Deadline::Budget": { "additionalProperties": false, "properties": { "Condition": { @@ -117797,37 +117456,50 @@ "Properties": { "additionalProperties": false, "properties": { - "ExportFormat": { - "type": "string" + "Actions": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Budget.BudgetActionToAdd" + }, + "type": "array" }, - "ExportType": { - "type": "string" + "ApproximateDollarLimit": { + "type": "number" }, - "S3Bucket": { + "Description": { "type": "string" }, - "S3BucketOwner": { + "DisplayName": { "type": "string" }, - "S3Prefix": { + "FarmId": { "type": "string" }, - "S3SseAlgorithm": { - "type": "string" + "Schedule": { + "$ref": "#/definitions/AWS::Deadline::Budget.BudgetSchedule" }, - "TableArn": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UsageTrackingResource": { + "$ref": "#/definitions/AWS::Deadline::Budget.UsageTrackingResource" } }, "required": [ - "S3Bucket", - "TableArn" + "Actions", + "ApproximateDollarLimit", + "DisplayName", + "FarmId", + "Schedule", + "UsageTrackingResource" ], "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::Export" + "AWS::Deadline::Budget" ], "type": "string" }, @@ -117846,7 +117518,66 @@ ], "type": "object" }, - "AWS::DynamoDB::GlobalTable": { + "AWS::Deadline::Budget.BudgetActionToAdd": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ThresholdPercentage": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ThresholdPercentage", + "Type" + ], + "type": "object" + }, + "AWS::Deadline::Budget.BudgetSchedule": { + "additionalProperties": false, + "properties": { + "Fixed": { + "$ref": "#/definitions/AWS::Deadline::Budget.FixedBudgetSchedule" + } + }, + "required": [ + "Fixed" + ], + "type": "object" + }, + "AWS::Deadline::Budget.FixedBudgetSchedule": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "StartTime": { + "type": "string" + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::Deadline::Budget.UsageTrackingResource": { + "additionalProperties": false, + "properties": { + "QueueId": { + "type": "string" + } + }, + "required": [ + "QueueId" + ], + "type": "object" + }, + "AWS::Deadline::Farm": { "additionalProperties": false, "properties": { "Condition": { @@ -117881,117 +117612,155 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.AttributeDefinition" - }, - "markdownDescription": "A list of attributes that describe the key schema for the global table and indexes.", - "title": "AttributeDefinitions", - "type": "array" + "CostScaleFactor": { + "type": "number" }, - "BillingMode": { - "markdownDescription": "Specifies how you are charged for read and write throughput and how you manage capacity. Valid values are:\n\n- `PAY_PER_REQUEST`\n- `PROVISIONED`\n\nAll replicas in your global table will have the same billing mode. If you use `PROVISIONED` billing mode, you must provide an auto scaling configuration via the `WriteProvisionedThroughputSettings` property. The default value of this property is `PROVISIONED` .", - "title": "BillingMode", + "Description": { + "markdownDescription": "A description of the farm that helps identify what the farm is used for.\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": "Description", "type": "string" }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex" - }, - "markdownDescription": "Global secondary indexes to be created on the global table. You can create up to 20 global secondary indexes. Each replica in your global table will have the same global secondary index settings. You can only create or delete one global secondary index in a single stack operation.\n\nSince the backfilling of an index could take a long time, CloudFormation does not wait for the index to become active. If a stack operation rolls back, CloudFormation might not delete an index that has been added. In that case, you will need to delete the index manually.", - "title": "GlobalSecondaryIndexes", - "type": "array" - }, - "GlobalTableSourceArn": { + "DisplayName": { + "markdownDescription": "The display name of the farm.\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" }, - "GlobalTableWitnesses": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalTableWitness" - }, - "markdownDescription": "The list of witnesses of the MRSC global table. Only one witness Region can be configured per MRSC global table.", - "title": "GlobalTableWitnesses", - "type": "array" + "KmsKeyArn": { + "markdownDescription": "The ARN for the KMS key.", + "title": "KmsKeyArn", + "type": "string" }, - "KeySchema": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies the attributes that make up the primary key for the table. The attributes in the `KeySchema` property must also be defined in the `AttributeDefinitions` property.", - "title": "KeySchema", + "markdownDescription": "The tags to add to your farm. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", + "title": "Tags", "type": "array" + } + }, + "required": [ + "DisplayName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Deadline::Farm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Deadline::Fleet": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "LocalSecondaryIndexes": { + { "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.LocalSecondaryIndex" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "markdownDescription": "Local secondary indexes to be created on the table. You can create up to five local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes. Each replica in your global table will have the same local secondary index settings.", - "title": "LocalSecondaryIndexes", "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "$ref": "#/definitions/AWS::Deadline::Fleet.FleetConfiguration", + "markdownDescription": "The configuration details for the fleet.", + "title": "Configuration" }, - "MultiRegionConsistency": { - "markdownDescription": "Specifies the consistency mode for a new global table.\n\nYou can specify one of the following consistency modes:\n\n- `EVENTUAL` : Configures a new global table for multi-Region eventual consistency (MREC).\n- `STRONG` : Configures a new global table for multi-Region strong consistency (MRSC).\n\nIf you don't specify this field, the global table consistency mode defaults to `EVENTUAL` . For more information about global tables consistency modes, see [Consistency modes](https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes) in DynamoDB developer guide.", - "title": "MultiRegionConsistency", + "Description": { + "markdownDescription": "A description that helps identify what the fleet is used for.\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": "Description", "type": "string" }, - "ReadOnDemandThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings" + "DisplayName": { + "markdownDescription": "The display name of the fleet 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" }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalReadProvisionedThroughputSettings" + "FarmId": { + "markdownDescription": "The farm ID.", + "title": "FarmId", + "type": "string" }, - "Replicas": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSpecification" - }, - "markdownDescription": "Specifies the list of replicas for your global table. The list must contain at least one element, the region where the stack defining the global table is deployed. For example, if you define your table in a stack deployed to us-east-1, you must have an entry in `Replicas` with the region us-east-1. You cannot remove the replica in the stack region.\n\n> Adding a replica might take a few minutes for an empty table, or up to several hours for large tables. If you want to add or remove a replica, we recommend submitting an `UpdateStack` operation containing only that change.\n> \n> If you add or delete a replica during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new replica, you might need to manually delete the replica. \n\nYou can create a new global table with as many replicas as needed. You can add or remove replicas after table creation, but you can only add or remove a single replica in each update. For Multi-Region Strong Consistency (MRSC), you can add or remove up to 3 replicas, or 2 replicas plus a witness Region.", - "title": "Replicas", - "type": "array" + "HostConfiguration": { + "$ref": "#/definitions/AWS::Deadline::Fleet.HostConfiguration", + "markdownDescription": "Provides a script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet.\n\nTo remove a script from a fleet, use the [UpdateFleet](https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_UpdateFleet.html) operation with the `hostConfiguration` `scriptBody` parameter set to an empty string (\"\").", + "title": "HostConfiguration" }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SSESpecification", - "markdownDescription": "Specifies the settings to enable server-side encryption. These settings will be applied to all replicas. If you plan to use customer-managed KMS keys, you must provide a key for each replica using the `ReplicaSpecification.ReplicaSSESpecification` property.", - "title": "SSESpecification" + "MaxWorkerCount": { + "markdownDescription": "The maximum number of workers specified in the fleet.", + "title": "MaxWorkerCount", + "type": "number" }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.StreamSpecification", - "markdownDescription": "Specifies the streams settings on your global table. You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica. For Multi-Region Strong Consistency (MRSC), you do not need to provide a value for this property and can change the settings at any time.", - "title": "StreamSpecification" + "MinWorkerCount": { + "markdownDescription": "The minimum number of workers in the fleet.", + "title": "MinWorkerCount", + "type": "number" }, - "TableName": { - "markdownDescription": "A name for the global table. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID as the table name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "TableName", + "RoleArn": { + "markdownDescription": "The IAM role that workers in the fleet use when processing jobs.", + "title": "RoleArn", "type": "string" }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TimeToLiveSpecification", - "markdownDescription": "Specifies the time to live (TTL) settings for the table. This setting will be applied to all replicas.", - "title": "TimeToLiveSpecification" - }, - "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.", - "title": "WarmThroughput" - }, - "WriteOnDemandThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteOnDemandThroughputSettings", - "markdownDescription": "Sets the write request settings for a global table or a global secondary index. You can only specify this setting if your resource uses the `PAY_PER_REQUEST` `BillingMode` .", - "title": "WriteOnDemandThroughputSettings" - }, - "WriteProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings", - "markdownDescription": "Specifies an auto scaling policy for write capacity. This policy will be applied to all replicas. This setting must be specified if `BillingMode` is set to `PROVISIONED` .", - "title": "WriteProvisionedThroughputSettings" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to add to your fleet. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", + "title": "Tags", + "type": "array" } }, "required": [ - "Replicas" + "Configuration", + "DisplayName", + "FarmId", + "MaxWorkerCount", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::GlobalTable" + "AWS::Deadline::Fleet" ], "type": "string" }, @@ -118010,553 +117779,541 @@ ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.AttributeDefinition": { + "AWS::Deadline::Fleet.AcceleratorCapabilities": { "additionalProperties": false, "properties": { - "AttributeName": { - "markdownDescription": "A name for the attribute.", - "title": "AttributeName", - "type": "string" + "Count": { + "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorCountRange", + "markdownDescription": "The number of GPU accelerators specified for worker hosts in this fleet.\n\n> You must specify either `acceleratorCapabilities.count.max` or `allowedInstanceTypes` when using accelerator capabilities. If you don't specify a maximum count, AWS Deadline Cloud uses the instance types you specify in `allowedInstanceTypes` to determine the maximum number of accelerators.", + "title": "Count" }, - "AttributeType": { - "markdownDescription": "The data type for the attribute, where:\n\n- `S` - the attribute is of type String\n- `N` - the attribute is of type Number\n- `B` - the attribute is of type Binary", - "title": "AttributeType", - "type": "string" + "Selections": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorSelection" + }, + "markdownDescription": "A list of accelerator capabilities requested for this fleet. Only Amazon Elastic Compute Cloud instances that provide these capabilities will be used. For example, if you specify both L4 and T4 chips, AWS Deadline Cloud will use Amazon EC2 instances that have either the L4 or the T4 chip installed.\n\n> - You must specify at least one accelerator selection.\n> - You cannot specify the same accelerator name multiple times in the selections list.\n> - All accelerators in the selections must use the same runtime version.", + "title": "Selections", + "type": "array" } }, "required": [ - "AttributeName", - "AttributeType" + "Selections" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings": { + "AWS::Deadline::Fleet.AcceleratorCountRange": { "additionalProperties": false, "properties": { - "MaxCapacity": { - "markdownDescription": "The maximum provisioned capacity units for the global table.", - "title": "MaxCapacity", - "type": "number" - }, - "MinCapacity": { - "markdownDescription": "The minimum provisioned capacity units for the global table.", - "title": "MinCapacity", + "Max": { + "markdownDescription": "The maximum number of GPU accelerators in the worker host.", + "title": "Max", "type": "number" }, - "SeedCapacity": { - "markdownDescription": "When switching billing mode from `PAY_PER_REQUEST` to `PROVISIONED` , DynamoDB requires you to specify read and write capacity unit values for the table and for each global secondary index. These values will be applied to all replicas. The table will use these provisioned values until CloudFormation creates the autoscaling policies you configured in your template. CloudFormation cannot determine what capacity the table and its global secondary indexes will require in this time period, since they are application-dependent.\n\nIf you want to switch a table's billing mode from `PAY_PER_REQUEST` to `PROVISIONED` , you must specify a value for this property for each autoscaled resource. If you specify different values for the same resource in different regions, CloudFormation will use the highest value found in either the `SeedCapacity` or `ReadCapacityUnits` properties. For example, if your global secondary index `myGSI` has a `SeedCapacity` of 10 in us-east-1 and a fixed `ReadCapacityUnits` of 20 in eu-west-1, CloudFormation will initially set the read capacity for `myGSI` to 20. Note that if you disable `ScaleIn` for `myGSI` in us-east-1, its read capacity units might not be set back to 10.\n\nYou must also specify a value for `SeedCapacity` when you plan to switch a table's billing mode from `PROVISIONED` to `PAY_PER_REQUEST` , because CloudFormation might need to roll back the operation (reverting the billing mode to `PROVISIONED` ) and this cannot succeed without specifying a value for `SeedCapacity` .", - "title": "SeedCapacity", + "Min": { + "markdownDescription": "The minimum number of GPU accelerators in the worker host.", + "title": "Min", "type": "number" - }, - "TargetTrackingScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration", - "markdownDescription": "Defines a target tracking scaling policy.", - "title": "TargetTrackingScalingPolicyConfiguration" } }, "required": [ - "MaxCapacity", - "MinCapacity", - "TargetTrackingScalingPolicyConfiguration" + "Min" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification": { + "AWS::Deadline::Fleet.AcceleratorSelection": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).", - "title": "Enabled", - "type": "boolean" + "Name": { + "markdownDescription": "The name of the chip used by the GPU accelerator.\n\nThe available GPU accelerators are:\n\n- `t4` - NVIDIA T4 Tensor Core GPU (16 GiB memory)\n- `a10g` - NVIDIA A10G Tensor Core GPU (24 GiB memory)\n- `l4` - NVIDIA L4 Tensor Core GPU (24 GiB memory)\n- `l40s` - NVIDIA L40S Tensor Core GPU (48 GiB memory)", + "title": "Name", + "type": "string" }, - "Mode": { - "markdownDescription": "Specifies the CloudWatch Contributor Insights mode for a global table. Valid values are `ACCESSED_AND_THROTTLED_KEYS` (tracks all access and throttled events) or `THROTTLED_KEYS` (tracks only throttled events). This setting determines what type of contributor insights data is collected for the global table.", - "title": "Mode", + "Runtime": { + "markdownDescription": "Specifies the runtime driver to use for the GPU accelerator. You must use the same runtime for all GPUs in a fleet.\n\nYou can choose from the following runtimes:\n\n- `latest` - Use the latest runtime available for the chip. If you specify `latest` and a new version of the runtime is released, the new version of the runtime is used.\n- `grid:r570` - [NVIDIA vGPU software 18](https://docs.aws.amazon.com/https://docs.nvidia.com/vgpu/18.0/index.html)\n- `grid:r535` - [NVIDIA vGPU software 16](https://docs.aws.amazon.com/https://docs.nvidia.com/vgpu/16.0/index.html)\n\nIf you don't specify a runtime, AWS Deadline Cloud uses `latest` as the default. However, if you have multiple accelerators and specify `latest` for some and leave others blank, AWS Deadline Cloud raises an exception.\n\n> Not all runtimes are compatible with all accelerator types:\n> \n> - `t4` and `a10g` : Support all runtimes ( `grid:r570` , `grid:r535` )\n> - `l4` and `l40s` : Only support `grid:r570` and newer\n> \n> All accelerators in a fleet must use the same runtime version. You cannot mix different runtime versions within a single fleet. > When you specify `latest` , it resolves to `grid:r570` for all currently supported accelerators.", + "title": "Runtime", "type": "string" } }, "required": [ - "Enabled" + "Name" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.GlobalReadProvisionedThroughputSettings": { + "AWS::Deadline::Fleet.AcceleratorTotalMemoryMiBRange": { "additionalProperties": false, "properties": { - "ReadCapacityUnits": { + "Max": { + "markdownDescription": "The maximum amount of memory to use for the accelerator, measured in MiB.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of memory to use for the accelerator, measured in MiB.", + "title": "Min", "type": "number" } }, + "required": [ + "Min" + ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex": { + "AWS::Deadline::Fleet.CustomerManagedAutoScalingConfiguration": { "additionalProperties": false, "properties": { - "IndexName": { - "markdownDescription": "The name of the global secondary index. The name must be unique among all other indexes on this table.", - "title": "IndexName", - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" - }, - "markdownDescription": "The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", - "title": "KeySchema", - "type": "array" + "ScaleOutWorkersPerMinute": { + "type": "number" }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection", - "markdownDescription": "Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", - "title": "Projection" + "StandbyWorkerCount": { + "type": "number" }, - "ReadOnDemandThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings" + "WorkerIdleDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Deadline::Fleet.CustomerManagedFleetConfiguration": { + "additionalProperties": false, + "properties": { + "AutoScalingConfiguration": { + "$ref": "#/definitions/AWS::Deadline::Fleet.CustomerManagedAutoScalingConfiguration" }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalReadProvisionedThroughputSettings" + "Mode": { + "markdownDescription": "The Auto Scaling mode for the customer managed fleet.", + "title": "Mode", + "type": "string" }, - "WarmThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WarmThroughput", - "markdownDescription": "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both.", - "title": "WarmThroughput" + "StorageProfileId": { + "markdownDescription": "The storage profile ID for the customer managed fleet.", + "title": "StorageProfileId", + "type": "string" }, - "WriteOnDemandThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteOnDemandThroughputSettings", - "markdownDescription": "Sets the write request settings for a global table or a global secondary index. You can only specify this setting if your resource uses the `PAY_PER_REQUEST` `BillingMode` .", - "title": "WriteOnDemandThroughputSettings" + "TagPropagationMode": { + "markdownDescription": "The tag propagation mode for the customer managed fleet.", + "title": "TagPropagationMode", + "type": "string" }, - "WriteProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings", - "markdownDescription": "Defines write capacity settings for the global secondary index. You must specify a value for this property if the table's `BillingMode` is `PROVISIONED` . All replicas will have the same write capacity settings for this global secondary index.", - "title": "WriteProvisionedThroughputSettings" + "WorkerCapabilities": { + "$ref": "#/definitions/AWS::Deadline::Fleet.CustomerManagedWorkerCapabilities", + "markdownDescription": "The worker capabilities for the customer managed fleet.", + "title": "WorkerCapabilities" } }, "required": [ - "IndexName", - "KeySchema", - "Projection" + "Mode", + "WorkerCapabilities" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.GlobalTableWitness": { + "AWS::Deadline::Fleet.CustomerManagedWorkerCapabilities": { "additionalProperties": false, "properties": { - "Region": { - "markdownDescription": "The name of the AWS Region that serves as a witness for the MRSC global table.", - "title": "Region", + "AcceleratorCount": { + "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorCountRange", + "markdownDescription": "The range of the accelerator.", + "title": "AcceleratorCount" + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorTotalMemoryMiBRange", + "markdownDescription": "The total memory (MiB) for the customer managed worker capabilities.", + "title": "AcceleratorTotalMemoryMiB" + }, + "AcceleratorTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The accelerator types for the customer managed worker capabilities.", + "title": "AcceleratorTypes", + "type": "array" + }, + "CpuArchitectureType": { + "markdownDescription": "The CPU architecture type for the customer managed worker capabilities.", + "title": "CpuArchitectureType", + "type": "string" + }, + "CustomAmounts": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAmountCapability" + }, + "markdownDescription": "Custom requirement ranges for customer managed worker capabilities.", + "title": "CustomAmounts", + "type": "array" + }, + "CustomAttributes": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAttributeCapability" + }, + "markdownDescription": "Custom attributes for the customer manged worker capabilities.", + "title": "CustomAttributes", + "type": "array" + }, + "MemoryMiB": { + "$ref": "#/definitions/AWS::Deadline::Fleet.MemoryMiBRange", + "markdownDescription": "The memory (MiB).", + "title": "MemoryMiB" + }, + "OsFamily": { + "markdownDescription": "The operating system (OS) family.", + "title": "OsFamily", "type": "string" + }, + "VCpuCount": { + "$ref": "#/definitions/AWS::Deadline::Fleet.VCpuCountRange", + "markdownDescription": "The vCPU count for the customer manged worker capabilities.", + "title": "VCpuCount" } }, + "required": [ + "CpuArchitectureType", + "MemoryMiB", + "OsFamily", + "VCpuCount" + ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.KeySchema": { + "AWS::Deadline::Fleet.Ec2EbsVolume": { "additionalProperties": false, "properties": { - "AttributeName": { - "markdownDescription": "The name of a key attribute.", - "title": "AttributeName", - "type": "string" + "Iops": { + "markdownDescription": "The IOPS per volume.", + "title": "Iops", + "type": "number" }, - "KeyType": { - "markdownDescription": "The role that this key attribute will assume:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", - "title": "KeyType", - "type": "string" + "SizeGiB": { + "markdownDescription": "The EBS volume size in GiB.", + "title": "SizeGiB", + "type": "number" + }, + "ThroughputMiB": { + "markdownDescription": "The throughput per volume in MiB.", + "title": "ThroughputMiB", + "type": "number" } }, - "required": [ - "AttributeName", - "KeyType" - ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.KinesisStreamSpecification": { + "AWS::Deadline::Fleet.FleetAmountCapability": { "additionalProperties": false, "properties": { - "ApproximateCreationDateTimePrecision": { - "markdownDescription": "The precision for the time and date that the stream was created.", - "title": "ApproximateCreationDateTimePrecision", - "type": "string" + "Max": { + "markdownDescription": "The maximum amount of the fleet worker capability.", + "title": "Max", + "type": "number" }, - "StreamArn": { - "markdownDescription": "The ARN for a specific Kinesis data stream.", - "title": "StreamArn", + "Min": { + "markdownDescription": "The minimum amount of fleet worker capability.", + "title": "Min", + "type": "number" + }, + "Name": { + "markdownDescription": "The name of the fleet capability.", + "title": "Name", "type": "string" } }, "required": [ - "StreamArn" + "Min", + "Name" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.LocalSecondaryIndex": { + "AWS::Deadline::Fleet.FleetAttributeCapability": { "additionalProperties": false, "properties": { - "IndexName": { - "markdownDescription": "The name of the local secondary index. The name must be unique among all other indexes on this table.", - "title": "IndexName", + "Name": { + "markdownDescription": "The name of the fleet attribute capability for the worker.", + "title": "Name", "type": "string" }, - "KeySchema": { + "Values": { "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + "type": "string" }, - "markdownDescription": "The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", - "title": "KeySchema", + "markdownDescription": "The number of fleet attribute capabilities.", + "title": "Values", "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection", - "markdownDescription": "Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", - "title": "Projection" } }, "required": [ - "IndexName", - "KeySchema", - "Projection" + "Name", + "Values" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification": { + "AWS::Deadline::Fleet.FleetCapabilities": { "additionalProperties": false, "properties": { - "PointInTimeRecoveryEnabled": { - "markdownDescription": "Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.", - "title": "PointInTimeRecoveryEnabled", - "type": "boolean" + "Amounts": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAmountCapability" + }, + "markdownDescription": "Amount capabilities of the fleet.", + "title": "Amounts", + "type": "array" }, - "RecoveryPeriodInDays": { - "markdownDescription": "The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. This parameter is optional. If no value is provided, the value will default to 35.", - "title": "RecoveryPeriodInDays", - "type": "number" + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAttributeCapability" + }, + "markdownDescription": "Attribute capabilities of the fleet.", + "title": "Attributes", + "type": "array" } }, "type": "object" }, - "AWS::DynamoDB::GlobalTable.Projection": { + "AWS::Deadline::Fleet.FleetConfiguration": { "additionalProperties": false, "properties": { - "NonKeyAttributes": { - "items": { - "type": "string" - }, - "markdownDescription": "Represents the non-key attribute names which will be projected into the index.\n\nFor global and local secondary indexes, the total count of `NonKeyAttributes` summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. This limit only applies when you specify the ProjectionType of `INCLUDE` . You still can specify the ProjectionType of `ALL` to project all attributes from the source table, even if the table has more than 100 attributes.", - "title": "NonKeyAttributes", - "type": "array" + "CustomerManaged": { + "$ref": "#/definitions/AWS::Deadline::Fleet.CustomerManagedFleetConfiguration", + "markdownDescription": "The customer managed fleets within a fleet configuration.", + "title": "CustomerManaged" }, - "ProjectionType": { - "markdownDescription": "The set of attributes that are projected into the index:\n\n- `KEYS_ONLY` - Only the index and primary keys are projected into the index.\n- `INCLUDE` - In addition to the attributes described in `KEYS_ONLY` , the secondary index will include other non-key attributes that you specify.\n- `ALL` - All of the table attributes are projected into the index.\n\nWhen using the DynamoDB console, `ALL` is selected by default.", - "title": "ProjectionType", - "type": "string" + "ServiceManagedEc2": { + "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2FleetConfiguration", + "markdownDescription": "The service managed Amazon EC2 instances for a fleet configuration.", + "title": "ServiceManagedEc2" } }, "type": "object" }, - "AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings": { + "AWS::Deadline::Fleet.HostConfiguration": { "additionalProperties": false, "properties": { - "MaxReadRequestUnits": { - "markdownDescription": "Maximum number of read request units for the specified replica of a global table.", - "title": "MaxReadRequestUnits", + "ScriptBody": { + "markdownDescription": "The text of the script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet. The script runs after a worker enters the `STARTING` state and before the worker processes tasks.\n\nFor more information about using the script, see [Run scripts as an administrator to configure workers](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/smf-admin.html) in the *Deadline Cloud Developer Guide* .\n\n> The script runs as an administrative user ( `sudo root` on Linux, as an Administrator on Windows).", + "title": "ScriptBody", + "type": "string" + }, + "ScriptTimeoutSeconds": { + "markdownDescription": "The maximum time that the host configuration can run. If the timeout expires, the worker enters the `NOT RESPONDING` state and shuts down. You are charged for the time that the worker is running the host configuration script.\n\n> You should configure your fleet for a maximum of one worker while testing your host configuration script to avoid starting additional workers. \n\nThe default is 300 seconds (5 minutes).", + "title": "ScriptTimeoutSeconds", "type": "number" } }, + "required": [ + "ScriptBody" + ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings": { + "AWS::Deadline::Fleet.MemoryMiBRange": { "additionalProperties": false, "properties": { - "ReadCapacityAutoScalingSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings", - "markdownDescription": "Specifies auto scaling settings for the replica table or global secondary index.", - "title": "ReadCapacityAutoScalingSettings" + "Max": { + "markdownDescription": "The maximum amount of memory (in MiB).", + "title": "Max", + "type": "number" }, - "ReadCapacityUnits": { - "markdownDescription": "Specifies a fixed read capacity for the replica table or global secondary index.", - "title": "ReadCapacityUnits", + "Min": { + "markdownDescription": "The minimum amount of memory (in MiB).", + "title": "Min", "type": "number" } }, + "required": [ + "Min" + ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification": { + "AWS::Deadline::Fleet.PersistentVolumeConfiguration": { "additionalProperties": false, "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification", - "markdownDescription": "Updates the status for contributor insights for a specific table or index. CloudWatch Contributor Insights for DynamoDB graphs display the partition key and (if applicable) sort key of frequently accessed items and frequently throttled items in plaintext. If you require the use of AWS Key Management Service (KMS) to encrypt this table\u2019s partition key and sort key data with an AWS managed key or customer managed key, you should not enable CloudWatch Contributor Insights for DynamoDB for this table.", - "title": "ContributorInsightsSpecification" - }, - "IndexName": { - "markdownDescription": "The name of the global secondary index. The name must be unique among all other indexes on this table.", - "title": "IndexName", + "Iops": { + "type": "number" + }, + "LastUsedTtlHours": { + "type": "number" + }, + "MountPath": { "type": "string" }, - "ReadOnDemandThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings", - "markdownDescription": "Sets the read request settings for a replica global secondary index. You can only specify this setting if your resource uses the `PAY_PER_REQUEST` `BillingMode` .", - "title": "ReadOnDemandThroughputSettings" + "SizeGiB": { + "type": "number" }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings", - "markdownDescription": "Allows you to specify the read capacity settings for a replica global secondary index when the `BillingMode` is set to `PROVISIONED` .", - "title": "ReadProvisionedThroughputSettings" + "ThroughputMiB": { + "type": "number" } }, "required": [ - "IndexName" + "MountPath" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.ReplicaSSESpecification": { + "AWS::Deadline::Fleet.ServiceManagedEc2AutoScalingConfiguration": { "additionalProperties": false, "properties": { - "KMSMasterKeyId": { - "markdownDescription": "The AWS key that should be used for the AWS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key `alias/aws/dynamodb` .", - "title": "KMSMasterKeyId", - "type": "string" + "ScaleOutWorkersPerMinute": { + "type": "number" + }, + "StandbyWorkerCount": { + "type": "number" + }, + "WorkerIdleDurationSeconds": { + "type": "number" } }, - "required": [ - "KMSMasterKeyId" - ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.ReplicaSpecification": { + "AWS::Deadline::Fleet.ServiceManagedEc2FleetConfiguration": { "additionalProperties": false, "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification", - "markdownDescription": "The settings used to enable or disable CloudWatch Contributor Insights for the specified replica. When not specified, defaults to contributor insights disabled for the replica.", - "title": "ContributorInsightsSpecification" - }, - "DeletionProtectionEnabled": { - "markdownDescription": "Determines if a replica is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .", - "title": "DeletionProtectionEnabled", - "type": "boolean" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification" - }, - "markdownDescription": "Defines additional settings for the global secondary indexes of this replica.", - "title": "GlobalSecondaryIndexes", - "type": "array" - }, - "GlobalTableSettingsReplicationMode": { - "type": "string" - }, - "KinesisStreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KinesisStreamSpecification", - "markdownDescription": "Defines the Kinesis Data Streams configuration for the specified replica.", - "title": "KinesisStreamSpecification" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification", - "markdownDescription": "The settings used to enable point in time recovery. When not specified, defaults to point in time recovery disabled for the replica.", - "title": "PointInTimeRecoverySpecification" - }, - "ReadOnDemandThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings", - "markdownDescription": "Sets read request settings for the replica table.", - "title": "ReadOnDemandThroughputSettings" - }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings", - "markdownDescription": "Defines read capacity settings for the replica table.", - "title": "ReadProvisionedThroughputSettings" - }, - "Region": { - "markdownDescription": "The region in which this replica exists.", - "title": "Region", - "type": "string" + "AutoScalingConfiguration": { + "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2AutoScalingConfiguration" }, - "ReplicaStreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification", - "markdownDescription": "Represents the DynamoDB Streams configuration for a global table replica.", - "title": "ReplicaStreamSpecification" + "InstanceCapabilities": { + "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2InstanceCapabilities", + "markdownDescription": "The instance capabilities for the service managed EC2 fleet.", + "title": "InstanceCapabilities" }, - "ResourcePolicy": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy", - "markdownDescription": "A resource-based policy document that contains permissions to add to the specified replica of a DynamoDB global table. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.\n\nIn a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", - "title": "ResourcePolicy" + "InstanceMarketOptions": { + "$ref": "#/definitions/AWS::Deadline::Fleet.ServiceManagedEc2InstanceMarketOptions", + "markdownDescription": "The instance market options for the service managed EC2 fleet.", + "title": "InstanceMarketOptions" }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification", - "markdownDescription": "Allows you to specify a customer-managed key for the replica. When using customer-managed keys for server-side encryption, this property must have a value in all replicas.", - "title": "SSESpecification" + "PersistentVolumeConfiguration": { + "$ref": "#/definitions/AWS::Deadline::Fleet.PersistentVolumeConfiguration" }, - "TableClass": { - "markdownDescription": "The table class of the specified table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS` .", - "title": "TableClass", + "StorageProfileId": { + "markdownDescription": "The storage profile ID for the service managed EC2 fleet.", + "title": "StorageProfileId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to this replica.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", - "type": "array" + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Deadline::Fleet.VpcConfiguration", + "markdownDescription": "The VPC configuration for the service managed EC2 fleet.", + "title": "VpcConfiguration" } }, "required": [ - "Region" + "InstanceCapabilities", + "InstanceMarketOptions" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification": { + "AWS::Deadline::Fleet.ServiceManagedEc2InstanceCapabilities": { "additionalProperties": false, "properties": { - "ResourcePolicy": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy", - "markdownDescription": "A resource-based policy document that contains the permissions for the specified stream of a DynamoDB global table replica. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.\n\nIn a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .\n\nYou can update the `ResourcePolicy` property if you've specified more than one table using the [AWS ::DynamoDB::GlobalTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html) resource.", - "title": "ResourcePolicy" + "AcceleratorCapabilities": { + "$ref": "#/definitions/AWS::Deadline::Fleet.AcceleratorCapabilities", + "markdownDescription": "Describes the GPU accelerator capabilities required for worker host instances in this fleet.", + "title": "AcceleratorCapabilities" }, - "Tags": { + "AllowedInstanceTypes": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, + "markdownDescription": "The allowable Amazon EC2 instance types.", + "title": "AllowedInstanceTypes", "type": "array" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ResourcePolicy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "markdownDescription": "A resource-based policy document that contains permissions to add to the specified DynamoDB table, its indexes, and stream. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", - "title": "PolicyDocument", - "type": "object" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.SSESpecification": { - "additionalProperties": false, - "properties": { - "SSEEnabled": { - "markdownDescription": "Indicates whether server-side encryption is performed using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to KMS and an AWS managed key is used ( AWS charges apply). If disabled (false) or not specified,server-side encryption is set to an AWS owned key. If you choose to use KMS encryption, you can also use customer managed KMS keys by specifying them in the `ReplicaSpecification.SSESpecification` object. You cannot mix AWS managed and customer managed KMS keys.", - "title": "SSEEnabled", - "type": "boolean" }, - "SSEType": { - "markdownDescription": "Server-side encryption type. The only supported value is:\n\n- `KMS` - Server-side encryption that uses AWS Key Management Service . The key is stored in your account and is managed by AWS ( AWS charges apply).", - "title": "SSEType", - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.StreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "markdownDescription": "When an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table. Valid values for `StreamViewType` are:\n\n- `KEYS_ONLY` - Only the key attributes of the modified item are written to the stream.\n- `NEW_IMAGE` - The entire item, as it appears after it was modified, is written to the stream.\n- `OLD_IMAGE` - The entire item, as it appeared before it was modified, is written to the stream.\n- `NEW_AND_OLD_IMAGES` - Both the new and the old item images of the item are written to the stream.", - "title": "StreamViewType", + "CpuArchitectureType": { + "markdownDescription": "The CPU architecture type.", + "title": "CpuArchitectureType", "type": "string" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "DisableScaleIn": { - "markdownDescription": "Indicates whether scale in by the target tracking scaling policy is disabled. The default value is `false` .", - "title": "DisableScaleIn", - "type": "boolean" }, - "ScaleInCooldown": { - "markdownDescription": "The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start.", - "title": "ScaleInCooldown", - "type": "number" + "CustomAmounts": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAmountCapability" + }, + "markdownDescription": "The custom capability amounts to require for instances in this fleet.", + "title": "CustomAmounts", + "type": "array" }, - "ScaleOutCooldown": { - "markdownDescription": "The amount of time, in seconds, after a scale-out activity completes before another scale-out activity can start.", - "title": "ScaleOutCooldown", - "type": "number" + "CustomAttributes": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Fleet.FleetAttributeCapability" + }, + "markdownDescription": "The custom capability attributes to require for instances in this fleet.", + "title": "CustomAttributes", + "type": "array" }, - "TargetValue": { - "markdownDescription": "Defines a target value for the scaling policy.", - "title": "TargetValue", - "type": "number" + "ExcludedInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The instance types to exclude from the fleet.", + "title": "ExcludedInstanceTypes", + "type": "array" + }, + "MemoryMiB": { + "$ref": "#/definitions/AWS::Deadline::Fleet.MemoryMiBRange", + "markdownDescription": "The memory, as MiB, for the Amazon EC2 instance type.", + "title": "MemoryMiB" + }, + "OsFamily": { + "markdownDescription": "The operating system (OS) family.", + "title": "OsFamily", + "type": "string" + }, + "RootEbsVolume": { + "$ref": "#/definitions/AWS::Deadline::Fleet.Ec2EbsVolume", + "markdownDescription": "The root EBS volume.", + "title": "RootEbsVolume" + }, + "VCpuCount": { + "$ref": "#/definitions/AWS::Deadline::Fleet.VCpuCountRange", + "markdownDescription": "The amount of vCPU to require for instances in this fleet.", + "title": "VCpuCount" } }, "required": [ - "TargetValue" + "CpuArchitectureType", + "MemoryMiB", + "OsFamily", + "VCpuCount" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.TimeToLiveSpecification": { + "AWS::Deadline::Fleet.ServiceManagedEc2InstanceMarketOptions": { "additionalProperties": false, "properties": { - "AttributeName": { - "markdownDescription": "The name of the attribute used to store the expiration time for items in the table.\n\nCurrently, you cannot directly change the attribute name used to evaluate time to live. In order to do so, you must first disable time to live, and then re-enable it with the new attribute name. It can take up to one hour for changes to time to live to take effect. If you attempt to modify time to live within that time window, your stack operation might be delayed.", - "title": "AttributeName", + "Type": { + "markdownDescription": "The Amazon EC2 instance type.", + "title": "Type", "type": "string" - }, - "Enabled": { - "markdownDescription": "Indicates whether TTL is to be enabled (true) or disabled (false) on the table.", - "title": "Enabled", - "type": "boolean" } }, "required": [ - "Enabled" + "Type" ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.WarmThroughput": { + "AWS::Deadline::Fleet.VCpuCountRange": { "additionalProperties": false, "properties": { - "ReadUnitsPerSecond": { - "markdownDescription": "Represents the number of read operations your base table can instantaneously support.", - "title": "ReadUnitsPerSecond", + "Max": { + "markdownDescription": "The maximum amount of vCPU.", + "title": "Max", "type": "number" }, - "WriteUnitsPerSecond": { - "markdownDescription": "Represents the number of write operations your base table can instantaneously support.", - "title": "WriteUnitsPerSecond", - "type": "number" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.WriteOnDemandThroughputSettings": { - "additionalProperties": false, - "properties": { - "MaxWriteRequestUnits": { - "markdownDescription": "Maximum number of write request settings for the specified replica of a global table.", - "title": "MaxWriteRequestUnits", + "Min": { + "markdownDescription": "The minimum amount of vCPU.", + "title": "Min", "type": "number" } }, + "required": [ + "Min" + ], "type": "object" }, - "AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings": { + "AWS::Deadline::Fleet.VpcConfiguration": { "additionalProperties": false, "properties": { - "WriteCapacityAutoScalingSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings", - "markdownDescription": "Specifies auto scaling settings for the replica table or global secondary index.", - "title": "WriteCapacityAutoScalingSettings" + "ResourceConfigurationArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The ARNs of the VPC Lattice resource configurations attached to the fleet.", + "title": "ResourceConfigurationArns", + "type": "array" } }, "type": "object" }, - "AWS::DynamoDB::Stream": { + "AWS::Deadline::Job": { "additionalProperties": false, "properties": { "Condition": { @@ -118591,18 +118348,36 @@ "Properties": { "additionalProperties": false, "properties": { - "StreamViewType": { + "FarmId": { "type": "string" }, - "TableName": { + "MaxFailedTasksCount": { + "type": "number" + }, + "MaxRetriesPerTask": { + "type": "number" + }, + "MaxWorkerCount": { + "type": "number" + }, + "Priority": { + "type": "number" + }, + "QueueId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::Stream" + "AWS::Deadline::Job" ], "type": "string" }, @@ -118620,23 +118395,7 @@ ], "type": "object" }, - "AWS::DynamoDB::Stream.KeySchemaItems": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "KeyType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table": { + "AWS::Deadline::LicenseEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -118671,130 +118430,46 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" - }, - "markdownDescription": "A list of attributes that describe the key schema for the table and indexes.\n\nThis property is required to create a DynamoDB table.\n\nUpdate requires: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . Replacement if you edit an existing AttributeDefinition.", - "title": "AttributeDefinitions", - "type": "array" - }, - "BillingMode": { - "markdownDescription": "Specify how you are charged for read and write throughput and how you manage capacity.\n\nValid values include:\n\n- `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for most DynamoDB workloads. `PAY_PER_REQUEST` sets the billing mode to [On-demand capacity mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html) .\n- `PROVISIONED` - We recommend using `PROVISIONED` for steady workloads with predictable growth where capacity requirements can be reliably forecasted. `PROVISIONED` sets the billing mode to [Provisioned capacity mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html) .\n\nIf not specified, the default is `PROVISIONED` .", - "title": "BillingMode", - "type": "string" - }, - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification", - "markdownDescription": "The settings used to specify whether to enable CloudWatch Contributor Insights for the table and define which events to monitor.", - "title": "ContributorInsightsSpecification" - }, - "DeletionProtectionEnabled": { - "markdownDescription": "Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .", - "title": "DeletionProtectionEnabled", - "type": "boolean" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" - }, - "markdownDescription": "Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes.\n\n> If you update a table to include a new global secondary index, AWS CloudFormation initiates the index creation and then proceeds with the stack update. AWS CloudFormation doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is `ACTIVE` . You can track its status by using the DynamoDB [DescribeTable](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html) command.\n> \n> If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index.\n> \n> Updates are not supported. The following are exceptions:\n> \n> - If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption.\n> - You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.", - "title": "GlobalSecondaryIndexes", - "type": "array" - }, - "ImportSourceSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ImportSourceSpecification", - "markdownDescription": "Specifies the properties of data being imported from the S3 bucket source to the\" table.\n\n> If you specify the `ImportSourceSpecification` property, and also specify either the `StreamSpecification` , the `TableClass` property, the `DeletionProtectionEnabled` property, or the `WarmThroughput` property, the IAM entity creating/updating stack must have `UpdateTable` permission.", - "title": "ImportSourceSpecification" - }, - "KeySchema": { + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + "type": "string" }, - "markdownDescription": "Specifies the attributes that make up the primary key for the table. The attributes in the `KeySchema` property must also be defined in the `AttributeDefinitions` property.", - "title": "KeySchema", + "markdownDescription": "The identifier of the Amazon EC2 security group that controls access to the license endpoint.", + "title": "SecurityGroupIds", "type": "array" }, - "KinesisStreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification", - "markdownDescription": "The Kinesis Data Streams configuration for the specified table.", - "title": "KinesisStreamSpecification" - }, - "LocalSecondaryIndexes": { + "SubnetIds": { "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" + "type": "string" }, - "markdownDescription": "Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.", - "title": "LocalSecondaryIndexes", + "markdownDescription": "Identifies the VPC subnets that can connect to a license endpoint.", + "title": "SubnetIds", "type": "array" }, - "OnDemandThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.OnDemandThroughput", - "markdownDescription": "Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify `MaxReadRequestUnits` , `MaxWriteRequestUnits` , or both.", - "title": "OnDemandThroughput" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification", - "markdownDescription": "The settings used to enable point in time recovery.", - "title": "PointInTimeRecoverySpecification" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput", - "markdownDescription": "Throughput for the specified table, which consists of values for `ReadCapacityUnits` and `WriteCapacityUnits` . For more information about the contents of a provisioned throughput structure, see [Amazon DynamoDB Table ProvisionedThroughput](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html) .\n\nIf you set `BillingMode` as `PROVISIONED` , you must specify this property. If you set `BillingMode` as `PAY_PER_REQUEST` , you cannot specify this property.", - "title": "ProvisionedThroughput" - }, - "ResourcePolicy": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy", - "markdownDescription": "An AWS resource-based policy document in JSON format that will be attached to the table.\n\nWhen you attach a resource-based policy while creating a table, the policy application is *strongly consistent* .\n\nThe maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that apply for resource-based policies, see [Resource-based policy considerations](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html) .\n\n> You need to specify the `CreateTable` and `PutResourcePolicy` IAM actions for authorizing a user to create a table with a resource-based policy.", - "title": "ResourcePolicy" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification", - "markdownDescription": "Specifies the settings to enable server-side encryption.", - "title": "SSESpecification" - }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification", - "markdownDescription": "The settings for the DynamoDB table stream, which captures changes to items stored in the table. Including this property in your AWS CloudFormation template automatically enables streaming.", - "title": "StreamSpecification" - }, - "TableClass": { - "markdownDescription": "The table class of the new table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS` .", - "title": "TableClass", - "type": "string" - }, - "TableName": { - "markdownDescription": "A name for the table. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the table name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "TableName", - "type": "string" - }, "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) .", + "markdownDescription": "The tags to add to your license endpoint. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", "title": "Tags", "type": "array" }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification", - "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" - }, - "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.", - "title": "WarmThroughput" + "VpcId": { + "markdownDescription": "The VPC (virtual private cloud) ID associated with the license endpoint.", + "title": "VpcId", + "type": "string" } }, "required": [ - "KeySchema" + "SecurityGroupIds", + "SubnetIds", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::Table" + "AWS::Deadline::LicenseEndpoint" ], "type": "string" }, @@ -118813,416 +118488,165 @@ ], "type": "object" }, - "AWS::DynamoDB::Table.AttributeDefinition": { + "AWS::Deadline::Limit": { "additionalProperties": false, "properties": { - "AttributeName": { - "markdownDescription": "A name for the attribute.", - "title": "AttributeName", - "type": "string" - }, - "AttributeType": { - "markdownDescription": "The data type for the attribute, where:\n\n- `S` - the attribute is of type String\n- `N` - the attribute is of type Number\n- `B` - the attribute is of type Binary", - "title": "AttributeType", + "Condition": { "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.ContributorInsightsSpecification": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).", - "title": "Enabled", - "type": "boolean" }, - "Mode": { - "markdownDescription": "Specifies the CloudWatch Contributor Insights mode for a table. Valid values are `ACCESSED_AND_THROTTLED_KEYS` (tracks all access and throttled events) or `THROTTLED_KEYS` (tracks only throttled events). This setting determines what type of contributor insights data is collected for the table.", - "title": "Mode", - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.Csv": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "markdownDescription": "The delimiter used for separating items in the CSV file being imported.", - "title": "Delimiter", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "HeaderList": { - "items": { - "type": "string" - }, - "markdownDescription": "List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.", - "title": "HeaderList", - "type": "array" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.GlobalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification", - "markdownDescription": "The settings used to specify whether to enable CloudWatch Contributor Insights for the global table and define which events to monitor.", - "title": "ContributorInsightsSpecification" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IndexName": { - "markdownDescription": "The name of the global secondary index. The name must be unique among all other indexes on this table.", - "title": "IndexName", - "type": "string" + "Metadata": { + "type": "object" }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + "Properties": { + "additionalProperties": false, + "properties": { + "AmountRequirementName": { + "markdownDescription": "The value that you specify as the `name` in the `amounts` field of the `hostRequirements` in a step of a job template to declare the limit requirement.", + "title": "AmountRequirementName", + "type": "string" + }, + "Description": { + "markdownDescription": "A description of the limit. A clear description helps you identify the purpose of the limit.\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": "Description", + "type": "string" + }, + "DisplayName": { + "markdownDescription": "The name of the limit used in lists to identify the limit.\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 unique identifier of the farm that contains the limit.", + "title": "FarmId", + "type": "string" + }, + "MaxCount": { + "markdownDescription": "The maximum number of resources constrained by this limit. When all of the resources are in use, steps that require the limit won't be scheduled until the resource is available.\n\nThe `maxValue` must not be 0. If the value is -1, there is no restriction on the number of resources that can be acquired for this limit.", + "title": "MaxCount", + "type": "number" + } }, - "markdownDescription": "The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", - "title": "KeySchema", - "type": "array" - }, - "OnDemandThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.OnDemandThroughput", - "markdownDescription": "The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify `MaxReadRequestUnits` , `MaxWriteRequestUnits` , or both. You must use either `OnDemandThroughput` or `ProvisionedThroughput` based on your table's capacity mode.", - "title": "OnDemandThroughput" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection", - "markdownDescription": "Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", - "title": "Projection" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput", - "markdownDescription": "Represents the provisioned throughput settings for the specified global secondary index. You must use either `OnDemandThroughput` or `ProvisionedThroughput` based on your table's capacity mode.\n\nFor current minimum and maximum provisioned throughput values, see [Service, Account, and Table Quotas](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the *Amazon DynamoDB Developer Guide* .", - "title": "ProvisionedThroughput" - }, - "WarmThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.WarmThroughput", - "markdownDescription": "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both.", - "title": "WarmThroughput" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.ImportSourceSpecification": { - "additionalProperties": false, - "properties": { - "InputCompressionType": { - "markdownDescription": "Type of compression to be used on the input coming from the imported table.", - "title": "InputCompressionType", - "type": "string" - }, - "InputFormat": { - "markdownDescription": "The format of the source data. Valid values for `ImportFormat` are `CSV` , `DYNAMODB_JSON` or `ION` .", - "title": "InputFormat", - "type": "string" - }, - "InputFormatOptions": { - "$ref": "#/definitions/AWS::DynamoDB::Table.InputFormatOptions", - "markdownDescription": "Additional properties that specify how the input is formatted,", - "title": "InputFormatOptions" + "required": [ + "AmountRequirementName", + "DisplayName", + "FarmId", + "MaxCount" + ], + "type": "object" }, - "S3BucketSource": { - "$ref": "#/definitions/AWS::DynamoDB::Table.S3BucketSource", - "markdownDescription": "The S3 bucket that provides the source for the import.", - "title": "S3BucketSource" - } - }, - "required": [ - "InputFormat", - "S3BucketSource" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.InputFormatOptions": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Csv", - "markdownDescription": "The options for imported source files in CSV format. The values are Delimiter and HeaderList.", - "title": "Csv" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.KeySchema": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "markdownDescription": "The name of a key attribute.", - "title": "AttributeName", + "Type": { + "enum": [ + "AWS::Deadline::Limit" + ], "type": "string" }, - "KeyType": { - "markdownDescription": "The role that this key attribute will assume:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", - "title": "KeyType", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "AttributeName", - "KeyType" + "Type", + "Properties" ], "type": "object" }, - "AWS::DynamoDB::Table.KinesisStreamSpecification": { + "AWS::Deadline::MeteredProduct": { "additionalProperties": false, "properties": { - "ApproximateCreationDateTimePrecision": { - "markdownDescription": "The precision for the time and date that the stream was created.", - "title": "ApproximateCreationDateTimePrecision", + "Condition": { "type": "string" }, - "StreamArn": { - "markdownDescription": "The ARN for a specific Kinesis data stream.\n\nLength Constraints: Minimum length of 37. Maximum length of 1024.", - "title": "StreamArn", - "type": "string" - } - }, - "required": [ - "StreamArn" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.LocalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "markdownDescription": "The name of the local secondary index. The name must be unique among all other indexes on this table.", - "title": "IndexName", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "markdownDescription": "The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", - "title": "KeySchema", - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection", - "markdownDescription": "Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", - "title": "Projection" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.OnDemandThroughput": { - "additionalProperties": false, - "properties": { - "MaxReadRequestUnits": { - "markdownDescription": "Maximum number of read request units for the specified table.\n\nTo specify a maximum `OnDemandThroughput` on your table, set the value of `MaxReadRequestUnits` as greater than or equal to 1. To remove the maximum `OnDemandThroughput` that is currently set on your table, set the value of `MaxReadRequestUnits` to -1.", - "title": "MaxReadRequestUnits", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MaxWriteRequestUnits": { - "markdownDescription": "Maximum number of write request units for the specified table.\n\nTo specify a maximum `OnDemandThroughput` on your table, set the value of `MaxWriteRequestUnits` as greater than or equal to 1. To remove the maximum `OnDemandThroughput` that is currently set on your table, set the value of `MaxWriteRequestUnits` to -1.", - "title": "MaxWriteRequestUnits", - "type": "number" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { - "additionalProperties": false, - "properties": { - "PointInTimeRecoveryEnabled": { - "markdownDescription": "Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.", - "title": "PointInTimeRecoveryEnabled", - "type": "boolean" + "Metadata": { + "type": "object" }, - "RecoveryPeriodInDays": { - "markdownDescription": "The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. This parameter is optional. If no value is provided, the value will default to 35.", - "title": "RecoveryPeriodInDays", - "type": "number" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.Projection": { - "additionalProperties": false, - "properties": { - "NonKeyAttributes": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "LicenseEndpointId": { + "markdownDescription": "The Amazon EC2 identifier of the license endpoint.", + "title": "LicenseEndpointId", + "type": "string" + }, + "ProductId": { + "markdownDescription": "The product ID.", + "title": "ProductId", + "type": "string" + } }, - "markdownDescription": "Represents the non-key attribute names which will be projected into the index.\n\nFor global and local secondary indexes, the total count of `NonKeyAttributes` summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. This limit only applies when you specify the ProjectionType of `INCLUDE` . You still can specify the ProjectionType of `ALL` to project all attributes from the source table, even if the table has more than 100 attributes.", - "title": "NonKeyAttributes", - "type": "array" - }, - "ProjectionType": { - "markdownDescription": "The set of attributes that are projected into the index:\n\n- `KEYS_ONLY` - Only the index and primary keys are projected into the index.\n- `INCLUDE` - In addition to the attributes described in `KEYS_ONLY` , the secondary index will include other non-key attributes that you specify.\n- `ALL` - All of the table attributes are projected into the index.\n\nWhen using the DynamoDB console, `ALL` is selected by default.", - "title": "ProjectionType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "markdownDescription": "The maximum number of strongly consistent reads consumed per second before DynamoDB returns a `ThrottlingException` . For more information, see [Specifying Read and Write Requirements](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html) in the *Amazon DynamoDB Developer Guide* .\n\nIf read/write capacity mode is `PAY_PER_REQUEST` the value is set to 0.", - "title": "ReadCapacityUnits", - "type": "number" - }, - "WriteCapacityUnits": { - "markdownDescription": "The maximum number of writes consumed per second before DynamoDB returns a `ThrottlingException` . For more information, see [Specifying Read and Write Requirements](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html) in the *Amazon DynamoDB Developer Guide* .\n\nIf read/write capacity mode is `PAY_PER_REQUEST` the value is set to 0.", - "title": "WriteCapacityUnits", - "type": "number" - } - }, - "required": [ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.ResourcePolicy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "markdownDescription": "A resource-based policy document that contains permissions to add to the specified DynamoDB table, index, or both. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", - "title": "PolicyDocument", "type": "object" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.S3BucketSource": { - "additionalProperties": false, - "properties": { - "S3Bucket": { - "markdownDescription": "The S3 bucket that is being imported from.", - "title": "S3Bucket", - "type": "string" - }, - "S3BucketOwner": { - "markdownDescription": "The account number of the S3 bucket that is being imported from. If the bucket is owned by the requester this is optional.", - "title": "S3BucketOwner", - "type": "string" - }, - "S3KeyPrefix": { - "markdownDescription": "The key prefix shared by all S3 Objects that are being imported.", - "title": "S3KeyPrefix", - "type": "string" - } - }, - "required": [ - "S3Bucket" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.SSESpecification": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyId": { - "markdownDescription": "The AWS key that should be used for the AWS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key `alias/aws/dynamodb` .", - "title": "KMSMasterKeyId", - "type": "string" - }, - "SSEEnabled": { - "markdownDescription": "Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to `KMS` and an AWS managed key is used ( AWS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.", - "title": "SSEEnabled", - "type": "boolean" - }, - "SSEType": { - "markdownDescription": "Server-side encryption type. The only supported value is:\n\n- `KMS` - Server-side encryption that uses AWS Key Management Service . The key is stored in your account and is managed by AWS ( AWS charges apply).", - "title": "SSEType", - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.StreamSpecification": { - "additionalProperties": false, - "properties": { - "ResourcePolicy": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy", - "markdownDescription": "Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table's streams. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.\n\n> When you remove the `StreamSpecification` property from the template, DynamoDB disables the stream but retains any attached resource policy until the stream is deleted after 24 hours. When you modify the `StreamViewType` property, DynamoDB creates a new stream and retains the old stream's resource policy. The old stream and its resource policy are deleted after the 24-hour retention period. \n\nIn a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", - "title": "ResourcePolicy" }, - "StreamViewType": { - "markdownDescription": "When an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table. Valid values for `StreamViewType` are:\n\n- `KEYS_ONLY` - Only the key attributes of the modified item are written to the stream.\n- `NEW_IMAGE` - The entire item, as it appears after it was modified, is written to the stream.\n- `OLD_IMAGE` - The entire item, as it appeared before it was modified, is written to the stream.\n- `NEW_AND_OLD_IMAGES` - Both the new and the old item images of the item are written to the stream.", - "title": "StreamViewType", + "Type": { + "enum": [ + "AWS::Deadline::MeteredProduct" + ], "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.TimeToLiveSpecification": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "markdownDescription": "The name of the TTL attribute used to store the expiration time for items in the table.\n\n> - The `AttributeName` property is required when enabling the TTL, or when TTL is already enabled.\n> - To update this property, you must first disable TTL and then enable TTL with the new attribute name.", - "title": "AttributeName", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "Enabled": { - "markdownDescription": "Indicates whether TTL is to be enabled (true) or disabled (false) on the table.", - "title": "Enabled", - "type": "boolean" } }, "required": [ - "Enabled" + "Type" ], "type": "object" }, - "AWS::DynamoDB::Table.WarmThroughput": { - "additionalProperties": false, - "properties": { - "ReadUnitsPerSecond": { - "markdownDescription": "Represents the number of read operations your base table can instantaneously support.", - "title": "ReadUnitsPerSecond", - "type": "number" - }, - "WriteUnitsPerSecond": { - "markdownDescription": "Represents the number of write operations your base table can instantaneously support.", - "title": "WriteUnitsPerSecond", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::CapacityManagerDataExport": { + "AWS::Deadline::Monitor": { "additionalProperties": false, "properties": { "Condition": { @@ -119257,45 +118681,49 @@ "Properties": { "additionalProperties": false, "properties": { - "OutputFormat": { - "markdownDescription": "The file format of the exported data.", - "title": "OutputFormat", + "DisplayName": { + "markdownDescription": "The name of the monitor that displays on the Deadline Cloud console.\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" }, - "S3BucketName": { - "markdownDescription": "The name of the S3 bucket where export files are delivered.", - "title": "S3BucketName", + "IdentityCenterInstanceArn": { + "markdownDescription": "The Amazon Resource Name of the IAM Identity Center instance responsible for authenticating monitor users.", + "title": "IdentityCenterInstanceArn", "type": "string" }, - "S3BucketPrefix": { - "markdownDescription": "The S3 key prefix used for organizing export files within the bucket.", - "title": "S3BucketPrefix", + "IdentityCenterRegion": { "type": "string" }, - "Schedule": { - "markdownDescription": "The frequency at which data exports are generated.", - "title": "Schedule", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name of the IAM role for the monitor. Users of the monitor use this role to access Deadline Cloud resources.", + "title": "RoleArn", + "type": "string" + }, + "Subdomain": { + "markdownDescription": "The subdomain used for the monitor URL. The full URL of the monitor is subdomain.Region.deadlinecloud.amazonaws.com.", + "title": "Subdomain", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags associated with the data export configuration.", + "markdownDescription": "", "title": "Tags", "type": "array" } }, "required": [ - "OutputFormat", - "S3BucketName", - "Schedule" + "DisplayName", + "IdentityCenterInstanceArn", + "RoleArn", + "Subdomain" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CapacityManagerDataExport" + "AWS::Deadline::Monitor" ], "type": "string" }, @@ -119314,7 +118742,7 @@ ], "type": "object" }, - "AWS::EC2::CapacityReservation": { + "AWS::Deadline::Queue": { "additionalProperties": false, "properties": { "Condition": { @@ -119349,95 +118777,78 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone in which to create the Capacity Reservation.", - "title": "AvailabilityZone", - "type": "string" - }, - "AvailabilityZoneId": { - "markdownDescription": "The ID of the Availability Zone in which the capacity is reserved.", - "title": "AvailabilityZoneId", - "type": "string" - }, - "EbsOptimized": { - "markdownDescription": "Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance.", - "title": "EbsOptimized", - "type": "boolean" - }, - "EndDate": { - "markdownDescription": "The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to `expired` when it reaches its end date and time.\n\nYou must provide an `EndDate` value if `EndDateType` is `limited` . Omit `EndDate` if `EndDateType` is `unlimited` .\n\nIf the `EndDateType` is `limited` , the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.\n\nIf you are requesting a future-dated Capacity Reservation, you can't specify an end date and time that is within the commitment duration.", - "title": "EndDate", - "type": "string" + "AllowedStorageProfileIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The identifiers of the storage profiles that this queue can use to share assets between workers using different operating systems.", + "title": "AllowedStorageProfileIds", + "type": "array" }, - "EndDateType": { - "markdownDescription": "Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:\n\n- `unlimited` - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an `EndDate` if the `EndDateType` is `unlimited` .\n- `limited` - The Capacity Reservation expires automatically at a specified date and time. You must provide an `EndDate` value if the `EndDateType` value is `limited` .", - "title": "EndDateType", + "DefaultBudgetAction": { + "markdownDescription": "The default action taken on a queue summary if a budget wasn't configured.", + "title": "DefaultBudgetAction", "type": "string" }, - "EphemeralStorage": { - "markdownDescription": "*Deprecated.*", - "title": "EphemeralStorage", - "type": "boolean" - }, - "InstanceCount": { - "markdownDescription": "The number of instances for which to reserve capacity.\n\n> You can request future-dated Capacity Reservations for an instance count with a minimum of 32 vCPUs. For example, if you request a future-dated Capacity Reservation for `m5.xlarge` instances, you must request at least 8 instances ( *8 * m5.xlarge = 32 vCPUs* ). \n\nValid range: 1 - 1000", - "title": "InstanceCount", - "type": "number" - }, - "InstanceMatchCriteria": { - "markdownDescription": "Indicates the type of instance launches that the Capacity Reservation accepts. The options include:\n\n- `open` - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters.\n- `targeted` - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.\n\n> If you are requesting a future-dated Capacity Reservation, you must specify `targeted` . \n\nDefault: `open`", - "title": "InstanceMatchCriteria", + "Description": { + "markdownDescription": "A description of the queue that helps identify what the queue is used for.\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": "Description", "type": "string" }, - "InstancePlatform": { - "markdownDescription": "The type of operating system for which to reserve capacity.", - "title": "InstancePlatform", + "DisplayName": { + "markdownDescription": "The display name of the queue 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" }, - "InstanceType": { - "markdownDescription": "The instance type for which to reserve capacity.\n\n> You can request future-dated Capacity Reservations for instance types in the C, M, R, I, T, and G instance families only. \n\nFor more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .", - "title": "InstanceType", + "FarmId": { + "markdownDescription": "The farm ID.", + "title": "FarmId", "type": "string" }, - "OutPostArn": { - "markdownDescription": "> Not supported for future-dated Capacity Reservations. \n\nThe Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.", - "title": "OutPostArn", - "type": "string" + "JobAttachmentSettings": { + "$ref": "#/definitions/AWS::Deadline::Queue.JobAttachmentSettings", + "markdownDescription": "The job attachment settings. These are the Amazon S3 bucket name and the Amazon S3 prefix.", + "title": "JobAttachmentSettings" }, - "PlacementGroupArn": { - "markdownDescription": "> Not supported for future-dated Capacity Reservations. \n\nThe Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. For more information, see [Capacity Reservations for cluster placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html) in the *Amazon EC2 User Guide* .", - "title": "PlacementGroupArn", - "type": "string" + "JobRunAsUser": { + "$ref": "#/definitions/AWS::Deadline::Queue.JobRunAsUser", + "markdownDescription": "Identifies the user for a job.", + "title": "JobRunAsUser" }, - "TagSpecifications": { + "RequiredFileSystemLocationNames": { "items": { - "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + "type": "string" }, - "markdownDescription": "The tags to apply to the Capacity Reservation during launch.", - "title": "TagSpecifications", + "markdownDescription": "The file system location that the queue uses.", + "title": "RequiredFileSystemLocationNames", "type": "array" }, - "Tenancy": { - "markdownDescription": "Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:\n\n- `default` - The Capacity Reservation is created on hardware that is shared with other AWS accounts .\n- `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account .", - "title": "Tenancy", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that workers use when running jobs in this queue.", + "title": "RoleArn", "type": "string" }, - "UnusedReservationBillingOwnerId": { - "markdownDescription": "The ID of the AWS account to which to assign billing of the unused capacity of the Capacity Reservation. A request will be sent to the specified account. That account must accept the request for the billing to be assigned to their account. For more information, see [Billing assignment for shared Amazon EC2 Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/assign-billing.html) .\n\nYou can assign billing only for shared Capacity Reservations. To share a Capacity Reservation, you must add it to a resource share. For more information, see [AWS::RAM::ResourceShare](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html) .", - "title": "UnusedReservationBillingOwnerId", - "type": "string" + "SchedulingConfiguration": { + "$ref": "#/definitions/AWS::Deadline::Queue.SchedulingConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to add to your queue. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.", + "title": "Tags", + "type": "array" } }, "required": [ - "InstanceCount", - "InstancePlatform", - "InstanceType" + "DisplayName", + "FarmId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CapacityReservation" + "AWS::Deadline::Queue" ], "type": "string" }, @@ -119456,58 +118867,166 @@ ], "type": "object" }, - "AWS::EC2::CapacityReservation.CapacityAllocation": { + "AWS::Deadline::Queue.JobAttachmentSettings": { "additionalProperties": false, "properties": { - "AllocationType": { - "markdownDescription": "The usage type. `used` indicates that the instance capacity is in use by instances that are running in the Capacity Reservation.", - "title": "AllocationType", + "RootPrefix": { + "markdownDescription": "The root prefix.", + "title": "RootPrefix", "type": "string" }, - "Count": { - "markdownDescription": "The amount of instance capacity associated with the usage. For example a value of `4` indicates that instance capacity for 4 instances is currently in use.", - "title": "Count", - "type": "number" + "S3BucketName": { + "markdownDescription": "The Amazon S3 bucket name.", + "title": "S3BucketName", + "type": "string" } }, + "required": [ + "RootPrefix", + "S3BucketName" + ], "type": "object" }, - "AWS::EC2::CapacityReservation.CommitmentInfo": { + "AWS::Deadline::Queue.JobRunAsUser": { "additionalProperties": false, "properties": { - "CommitmentEndDate": { - "markdownDescription": "The date and time at which the commitment duration expires, in the ISO8601 format in the UTC time zone ( `YYYY-MM-DDThh:mm:ss.sssZ` ). You can't decrease the instance count or cancel the Capacity Reservation before this date and time.", - "title": "CommitmentEndDate", + "Posix": { + "$ref": "#/definitions/AWS::Deadline::Queue.PosixUser", + "markdownDescription": "The user and group that the jobs in the queue run as.", + "title": "Posix" + }, + "RunAs": { + "markdownDescription": "Specifies whether the job should run using the queue's system user or if the job should run using the worker agent system user.", + "title": "RunAs", "type": "string" }, - "CommittedInstanceCount": { - "markdownDescription": "The instance capacity that you committed to when you requested the future-dated Capacity Reservation.", - "title": "CommittedInstanceCount", + "Windows": { + "$ref": "#/definitions/AWS::Deadline::Queue.WindowsUser", + "markdownDescription": "Identifies a Microsoft Windows user.", + "title": "Windows" + } + }, + "required": [ + "RunAs" + ], + "type": "object" + }, + "AWS::Deadline::Queue.PosixUser": { + "additionalProperties": false, + "properties": { + "Group": { + "markdownDescription": "The name of the POSIX user's group.", + "title": "Group", + "type": "string" + }, + "User": { + "markdownDescription": "The name of the POSIX user.", + "title": "User", + "type": "string" + } + }, + "required": [ + "Group", + "User" + ], + "type": "object" + }, + "AWS::Deadline::Queue.PriorityBalancedSchedulingConfiguration": { + "additionalProperties": false, + "properties": { + "RenderingTaskBuffer": { "type": "number" } }, "type": "object" }, - "AWS::EC2::CapacityReservation.TagSpecification": { + "AWS::Deadline::Queue.SchedulingConfiguration": { "additionalProperties": false, "properties": { - "ResourceType": { - "markdownDescription": "The type of resource to tag. Specify `capacity-reservation` .", - "title": "ResourceType", + "PriorityBalanced": { + "$ref": "#/definitions/AWS::Deadline::Queue.PriorityBalancedSchedulingConfiguration" + }, + "PriorityFifo": { + "type": "object" + }, + "WeightedBalanced": { + "$ref": "#/definitions/AWS::Deadline::Queue.WeightedBalancedSchedulingConfiguration" + } + }, + "type": "object" + }, + "AWS::Deadline::Queue.SchedulingMaxPriorityOverride": { + "additionalProperties": false, + "properties": { + "AlwaysScheduleFirst": { + "type": "object" + } + }, + "required": [ + "AlwaysScheduleFirst" + ], + "type": "object" + }, + "AWS::Deadline::Queue.SchedulingMinPriorityOverride": { + "additionalProperties": false, + "properties": { + "AlwaysScheduleLast": { + "type": "object" + } + }, + "required": [ + "AlwaysScheduleLast" + ], + "type": "object" + }, + "AWS::Deadline::Queue.WeightedBalancedSchedulingConfiguration": { + "additionalProperties": false, + "properties": { + "ErrorWeight": { + "type": "number" + }, + "MaxPriorityOverride": { + "$ref": "#/definitions/AWS::Deadline::Queue.SchedulingMaxPriorityOverride" + }, + "MinPriorityOverride": { + "$ref": "#/definitions/AWS::Deadline::Queue.SchedulingMinPriorityOverride" + }, + "PriorityWeight": { + "type": "number" + }, + "RenderingTaskBuffer": { + "type": "number" + }, + "RenderingTaskWeight": { + "type": "number" + }, + "SubmissionTimeWeight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Deadline::Queue.WindowsUser": { + "additionalProperties": false, + "properties": { + "PasswordArn": { + "markdownDescription": "The password ARN for the Windows user.", + "title": "PasswordArn", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to the resource.", - "title": "Tags", - "type": "array" + "User": { + "markdownDescription": "The user.", + "title": "User", + "type": "string" } }, + "required": [ + "PasswordArn", + "User" + ], "type": "object" }, - "AWS::EC2::CapacityReservationFleet": { + "AWS::Deadline::QueueEnvironment": { "additionalProperties": false, "properties": { "Condition": { @@ -119542,63 +119061,44 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocationStrategy": { - "markdownDescription": "The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. Currently, only the `prioritized` allocation strategy is supported. For more information, see [Allocation strategy](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#allocation-strategy) in the *Amazon EC2 User Guide* .\n\nValid values: `prioritized`", - "title": "AllocationStrategy", + "FarmId": { + "markdownDescription": "The identifier assigned to the farm that contains the queue.", + "title": "FarmId", "type": "string" }, - "EndDate": { - "markdownDescription": "The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation Fleet expires, its state changes to `expired` and all of the Capacity Reservations in the Fleet expire.\n\nThe Capacity Reservation Fleet expires within an hour after the specified time. For example, if you specify `5/31/2019` , `13:30:55` , the Capacity Reservation Fleet is guaranteed to expire between `13:30:55` and `14:30:55` on `5/31/2019` .", - "title": "EndDate", - "type": "string" + "Priority": { + "markdownDescription": "The queue environment's priority.", + "title": "Priority", + "type": "number" }, - "InstanceMatchCriteria": { - "markdownDescription": "Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All Capacity Reservations in the Fleet inherit this instance matching criteria.\n\nCurrently, Capacity Reservation Fleets support `open` instance matching criteria only. This means that instances that have matching attributes (instance type, platform, and Availability Zone) run in the Capacity Reservations automatically. Instances do not need to explicitly target a Capacity Reservation Fleet to use its reserved capacity.", - "title": "InstanceMatchCriteria", + "QueueId": { + "markdownDescription": "The unique identifier of the queue that contains the environment.", + "title": "QueueId", "type": "string" }, - "InstanceTypeSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::CapacityReservationFleet.InstanceTypeSpecification" - }, - "markdownDescription": "Information about the instance types for which to reserve the capacity.", - "title": "InstanceTypeSpecifications", - "type": "array" - }, - "NoRemoveEndDate": { - "markdownDescription": "Used to add an end date to a Capacity Reservation Fleet that has no end date and time. To add an end date to a Capacity Reservation Fleet, specify `true` for this paramater and specify the end date and time (in UTC time format) for the *EndDate* parameter.", - "title": "NoRemoveEndDate", - "type": "boolean" - }, - "RemoveEndDate": { - "markdownDescription": "Used to remove an end date from a Capacity Reservation Fleet that is configured to end automatically at a specific date and time. To remove the end date from a Capacity Reservation Fleet, specify `true` for this paramater and omit the *EndDate* parameter.", - "title": "RemoveEndDate", - "type": "boolean" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::CapacityReservationFleet.TagSpecification" - }, - "markdownDescription": "The tags to assign to the Capacity Reservation Fleet. The tags are automatically assigned to the Capacity Reservations in the Fleet.", - "title": "TagSpecifications", - "type": "array" - }, - "Tenancy": { - "markdownDescription": "Indicates the tenancy of the Capacity Reservation Fleet. All Capacity Reservations in the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of the following tenancy settings:\n\n- `default` - The Capacity Reservation Fleet is created on hardware that is shared with other AWS accounts .\n- `dedicated` - The Capacity Reservations are created on single-tenant hardware that is dedicated to a single AWS account .", - "title": "Tenancy", + "Template": { + "markdownDescription": "A JSON or YAML template that describes the processing environment for the queue.", + "title": "Template", "type": "string" }, - "TotalTargetCapacity": { - "markdownDescription": "The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see [Total target capacity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity) in the *Amazon EC2 User Guide* .", - "title": "TotalTargetCapacity", - "type": "number" + "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::EC2::CapacityReservationFleet" + "AWS::Deadline::QueueEnvironment" ], "type": "string" }, @@ -119612,71 +119112,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::CapacityReservationFleet.InstanceTypeSpecification": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you specify for the Fleet must use the same Availability Zone.", - "title": "AvailabilityZone", - "type": "string" - }, - "AvailabilityZoneId": { - "markdownDescription": "The ID of the Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you specify for the Fleet must use the same Availability Zone.", - "title": "AvailabilityZoneId", - "type": "string" - }, - "EbsOptimized": { - "markdownDescription": "Indicates whether the Capacity Reservation Fleet supports EBS-optimized instances types. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using EBS-optimized instance types.", - "title": "EbsOptimized", - "type": "boolean" - }, - "InstancePlatform": { - "markdownDescription": "The type of operating system for which the Capacity Reservation Fleet reserves capacity.", - "title": "InstancePlatform", - "type": "string" - }, - "InstanceType": { - "markdownDescription": "The instance type for which the Capacity Reservation Fleet reserves capacity.", - "title": "InstanceType", - "type": "string" - }, - "Priority": { - "markdownDescription": "The priority to assign to the instance type. This value is used to determine which of the instance types specified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more information, see [Instance type priority](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#instance-priority) in the *Amazon EC2 User Guide* .", - "title": "Priority", - "type": "number" - }, - "Weight": { - "markdownDescription": "The number of capacity units provided by the specified instance type. This value, together with the total target capacity that you specify for the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see [Total target capacity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity) in the Amazon EC2 User Guide.\n\nValid Range: Minimum value of `0.001` . Maximum value of `99.999` .", - "title": "Weight", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::CapacityReservationFleet.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "markdownDescription": "The type of resource to tag on creation. Specify `capacity-reservation-fleet` .\n\nTo tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) .", - "title": "ResourceType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to the resource.", - "title": "Tags", - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::CarrierGateway": { + "AWS::Deadline::QueueFleetAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -119711,28 +119152,32 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the carrier gateway.", - "title": "Tags", - "type": "array" + "FarmId": { + "markdownDescription": "The identifier of the farm that contains the queue and the fleet.", + "title": "FarmId", + "type": "string" }, - "VpcId": { - "markdownDescription": "The ID of the VPC associated with the carrier gateway.", - "title": "VpcId", + "FleetId": { + "markdownDescription": "The fleet ID.", + "title": "FleetId", + "type": "string" + }, + "QueueId": { + "markdownDescription": "The queue ID.", + "title": "QueueId", "type": "string" } }, "required": [ - "VpcId" + "FarmId", + "FleetId", + "QueueId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CarrierGateway" + "AWS::Deadline::QueueFleetAssociation" ], "type": "string" }, @@ -119751,7 +119196,7 @@ ], "type": "object" }, - "AWS::EC2::ClientVpnAuthorizationRule": { + "AWS::Deadline::QueueLimitAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -119786,41 +119231,32 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessGroupId": { - "markdownDescription": "The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group. Required if `AuthorizeAllGroups` is `false` or not specified.", - "title": "AccessGroupId", - "type": "string" - }, - "AuthorizeAllGroups": { - "markdownDescription": "Indicates whether to grant access to all clients. Specify `true` to grant all clients who successfully establish a VPN connection access to the network. Must be set to `true` if `AccessGroupId` is not specified.", - "title": "AuthorizeAllGroups", - "type": "boolean" - }, - "ClientVpnEndpointId": { - "markdownDescription": "The ID of the Client VPN endpoint.", - "title": "ClientVpnEndpointId", + "FarmId": { + "markdownDescription": "The unique identifier of the farm that contains the queue-limit association.", + "title": "FarmId", "type": "string" }, - "Description": { - "markdownDescription": "A brief description of the authorization rule.", - "title": "Description", + "LimitId": { + "markdownDescription": "The unique identifier of the limit in the association.", + "title": "LimitId", "type": "string" }, - "TargetNetworkCidr": { - "markdownDescription": "The IPv4 address range, in CIDR notation, of the network for which access is being authorized.", - "title": "TargetNetworkCidr", + "QueueId": { + "markdownDescription": "The unique identifier of the queue in the association.", + "title": "QueueId", "type": "string" } }, "required": [ - "ClientVpnEndpointId", - "TargetNetworkCidr" + "FarmId", + "LimitId", + "QueueId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnAuthorizationRule" + "AWS::Deadline::QueueLimitAssociation" ], "type": "string" }, @@ -119839,7 +119275,7 @@ ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint": { + "AWS::Deadline::StorageProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -119874,132 +119310,40 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthenticationOptions": { - "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" - }, - "markdownDescription": "Information about the authentication method to be used to authenticate clients.", - "title": "AuthenticationOptions", - "type": "array" - }, - "ClientCidrBlock": { - "markdownDescription": "The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12.", - "title": "ClientCidrBlock", - "type": "string" - }, - "ClientConnectOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions", - "markdownDescription": "The options for managing connection authorization for new client connections.", - "title": "ClientConnectOptions" - }, - "ClientLoginBannerOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientLoginBannerOptions", - "markdownDescription": "Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established.", - "title": "ClientLoginBannerOptions" - }, - "ClientRouteEnforcementOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientRouteEnforcementOptions", - "markdownDescription": "Client route enforcement is a feature of the Client VPN service that helps enforce administrator defined routes on devices connected through the VPN. T his feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel.\n\nClient route enforcement works by monitoring the route table of a connected device for routing policy changes to the VPN connection. If the feature detects any VPN routing policy modifications, it will automatically force an update to the route table, reverting it back to the expected route configurations.", - "title": "ClientRouteEnforcementOptions" - }, - "ConnectionLogOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions", - "markdownDescription": "Information about the client connection logging options.\n\nIf you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged:\n\n- Client connection requests\n- Client connection results (successful and unsuccessful)\n- Reasons for unsuccessful client connection requests\n- Client connection termination time", - "title": "ConnectionLogOptions" - }, - "Description": { - "markdownDescription": "A brief description of the Client VPN endpoint.", - "title": "Description", - "type": "string" - }, - "DisconnectOnSessionTimeout": { - "markdownDescription": "Indicates whether the client VPN session is disconnected after the maximum `sessionTimeoutHours` is reached. If `true` , users are prompted to reconnect client VPN. If `false` , client VPN attempts to reconnect automatically. The default value is `true` .", - "title": "DisconnectOnSessionTimeout", - "type": "boolean" - }, - "DnsServers": { - "items": { - "type": "string" - }, - "markdownDescription": "Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.", - "title": "DnsServers", - "type": "array" - }, - "EndpointIpAddressType": { - "markdownDescription": "The IP address type of the Client VPN endpoint. Possible values are `ipv4` for IPv4 addressing only, `ipv6` for IPv6 addressing only, or `dual-stack` for both IPv4 and IPv6 addressing.", - "title": "EndpointIpAddressType", - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SelfServicePortal": { - "markdownDescription": "Specify whether to enable the self-service portal for the Client VPN endpoint.\n\nDefault Value: `enabled`", - "title": "SelfServicePortal", + "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" }, - "ServerCertificateArn": { - "markdownDescription": "The ARN of the server certificate. For more information, see the [Certificate Manager User Guide](https://docs.aws.amazon.com/acm/latest/userguide/) .", - "title": "ServerCertificateArn", + "FarmId": { + "markdownDescription": "The unique identifier of the farm that contains the storage profile.", + "title": "FarmId", "type": "string" }, - "SessionTimeoutHours": { - "markdownDescription": "The maximum VPN session duration time in hours.\n\nValid values: `8 | 10 | 12 | 24`\n\nDefault value: `24`", - "title": "SessionTimeoutHours", - "type": "number" - }, - "SplitTunnel": { - "markdownDescription": "Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.\n\nBy default, split-tunnel on a VPN endpoint is disabled.\n\nFor information about split-tunnel VPN endpoints, see [Split-tunnel AWS Client VPN endpoint](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html) in the *AWS Client VPN Administrator Guide* .", - "title": "SplitTunnel", - "type": "boolean" - }, - "TagSpecifications": { + "FileSystemLocations": { "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" + "$ref": "#/definitions/AWS::Deadline::StorageProfile.FileSystemLocation" }, - "markdownDescription": "The tags to apply to the Client VPN endpoint during creation.", - "title": "TagSpecifications", + "markdownDescription": "Operating system specific file system path to the storage location.", + "title": "FileSystemLocations", "type": "array" }, - "TrafficIpAddressType": { - "markdownDescription": "The IP address type of the Client VPN endpoint. Possible values are either `ipv4` for IPv4 addressing only, `ipv6` for IPv6 addressing only, or `dual-stack` for both IPv4 and IPv6 addressing.", - "title": "TrafficIpAddressType", - "type": "string" - }, - "TransitGatewayConfiguration": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TransitGatewayConfiguration" - }, - "TransportProtocol": { - "markdownDescription": "The transport protocol to be used by the VPN session.\n\nDefault value: `udp`", - "title": "TransportProtocol", - "type": "string" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.", - "title": "VpcId", + "OsFamily": { + "markdownDescription": "The operating system (OS) family.", + "title": "OsFamily", "type": "string" - }, - "VpnPort": { - "markdownDescription": "The port number to assign to the Client VPN endpoint for TCP and UDP traffic.\n\nValid Values: `443` | `1194`\n\nDefault Value: `443`", - "title": "VpnPort", - "type": "number" } }, "required": [ - "AuthenticationOptions", - "ConnectionLogOptions", - "ServerCertificateArn" + "DisplayName", + "FarmId", + "OsFamily" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnEndpoint" + "AWS::Deadline::StorageProfile" ], "type": "string" }, @@ -120018,203 +119362,243 @@ ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { + "AWS::Deadline::StorageProfile.FileSystemLocation": { "additionalProperties": false, "properties": { - "ClientRootCertificateChainArn": { - "markdownDescription": "The ARN of the client certificate. The certificate must be signed by a certificate authority (CA) and it must be provisioned in Certificate Manager (ACM).", - "title": "ClientRootCertificateChainArn", + "Name": { + "markdownDescription": "The location name.", + "title": "Name", "type": "string" - } - }, - "required": [ - "ClientRootCertificateChainArn" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "ActiveDirectory": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest", - "markdownDescription": "Information about the Active Directory to be used, if applicable. You must provide this information if *Type* is `directory-service-authentication` .", - "title": "ActiveDirectory" - }, - "FederatedAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest", - "markdownDescription": "Information about the IAM SAML identity provider, if applicable.", - "title": "FederatedAuthentication" }, - "MutualAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest", - "markdownDescription": "Information about the authentication certificates to be used, if applicable. You must provide this information if *Type* is `certificate-authentication` .", - "title": "MutualAuthentication" + "Path": { + "markdownDescription": "The file path.", + "title": "Path", + "type": "string" }, "Type": { - "markdownDescription": "The type of client authentication to be used.", + "markdownDescription": "The type of file.", "title": "Type", "type": "string" } }, "required": [ + "Name", + "Path", "Type" ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { + "AWS::Deadline::Volume": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "Indicates whether client connect options are enabled. The default is `false` (not enabled).", - "title": "Enabled", - "type": "boolean" + "Condition": { + "type": "string" }, - "LambdaFunctionArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Lambda function used for connection authorization.", - "title": "LambdaFunctionArn", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ClientLoginBannerOptions": { - "additionalProperties": false, - "properties": { - "BannerText": { - "markdownDescription": "Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters.", - "title": "BannerText", + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "type": "string" + }, + "FleetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Volume.TagsItems" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Deadline::Volume" + ], "type": "string" }, - "Enabled": { - "markdownDescription": "Enable or disable a customizable text banner that will be displayed on AWS provided clients when a VPN session is established.\n\nValid values: `true | false`\n\nDefault value: `false`", - "title": "Enabled", - "type": "boolean" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Enabled" + "Type" ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.ClientRouteEnforcementOptions": { - "additionalProperties": false, - "properties": { - "Enforced": { - "markdownDescription": "Enable or disable Client Route Enforcement. The state can either be `true` (enabled) or `false` (disabled). The default is `false` .\n\nValid values: `true | false`\n\nDefault value: `false`", - "title": "Enforced", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { + "AWS::Deadline::Volume.TagsItems": { "additionalProperties": false, "properties": { - "CloudwatchLogGroup": { - "markdownDescription": "The name of the CloudWatch Logs log group. Required if connection logging is enabled.", - "title": "CloudwatchLogGroup", + "Key": { "type": "string" }, - "CloudwatchLogStream": { - "markdownDescription": "The name of the CloudWatch Logs log stream to which the connection data is published.", - "title": "CloudwatchLogStream", + "Value": { "type": "string" - }, - "Enabled": { - "markdownDescription": "Indicates whether connection logging is enabled.", - "title": "Enabled", - "type": "boolean" } }, "required": [ - "Enabled" + "Key", + "Value" ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { + "AWS::Deadline::Worker": { "additionalProperties": false, "properties": { - "DirectoryId": { - "markdownDescription": "The ID of the Active Directory to be used for authentication.", - "title": "DirectoryId", + "Condition": { "type": "string" - } - }, - "required": [ - "DirectoryId" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "SAMLProviderArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM SAML identity provider.", - "title": "SAMLProviderArn", + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SelfServiceSAMLProviderArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.", - "title": "SelfServiceSAMLProviderArn", + "DependsOn": { + "anyOf": [ + { + "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": { + "type": "string" + }, + "FleetId": { + "type": "string" + }, + "HostProperties": { + "$ref": "#/definitions/AWS::Deadline::Worker.HostPropertiesRequest" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::Deadline::Worker.TagsItems" + }, + "type": "array" + } + }, + "required": [ + "FarmId", + "FleetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Deadline::Worker" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "SAMLProviderArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.TagSpecification": { + "AWS::Deadline::Worker.HostPropertiesRequest": { "additionalProperties": false, "properties": { - "ResourceType": { - "markdownDescription": "The type of resource to tag. To tag a Client VPN endpoint, `ResourceType` must be `client-vpn-endpoint` .", - "title": "ResourceType", + "HostName": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to the resource.", - "title": "Tags", - "type": "array" + "IpAddresses": { + "$ref": "#/definitions/AWS::Deadline::Worker.IpAddresses" } }, - "required": [ - "ResourceType", - "Tags" - ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.TransitGatewayConfiguration": { + "AWS::Deadline::Worker.IpAddresses": { "additionalProperties": false, "properties": { - "AvailabilityZoneIds": { + "IpV4Addresses": { "items": { "type": "string" }, "type": "array" }, - "AvailabilityZones": { + "IpV6Addresses": { "items": { "type": "string" }, "type": "array" + } + }, + "type": "object" + }, + "AWS::Deadline::Worker.TagsItems": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" }, - "TransitGatewayId": { + "Value": { "type": "string" } }, "required": [ - "TransitGatewayId" + "Key", + "Value" ], "type": "object" }, - "AWS::EC2::ClientVpnRoute": { + "AWS::Detective::Graph": { "additionalProperties": false, "properties": { "Condition": { @@ -120249,36 +119633,25 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientVpnEndpointId": { - "markdownDescription": "The ID of the Client VPN endpoint to which to add the route.", - "title": "ClientVpnEndpointId", - "type": "string" - }, - "Description": { - "markdownDescription": "A brief description of the route.", - "title": "Description", - "type": "string" - }, - "DestinationCidrBlock": { - "markdownDescription": "The IPv4 address range, in CIDR notation, of the route destination. For example:\n\n- To add a route for Internet access, enter `0.0.0.0/0`\n- To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range\n- To add a route for an on-premises network, enter the AWS Site-to-Site VPN connection's IPv4 CIDR range\n- To add a route for the local network, enter the client CIDR range", - "title": "DestinationCidrBlock", - "type": "string" + "AutoEnableMembers": { + "markdownDescription": "Indicates whether to automatically enable new organization accounts as member accounts in the organization behavior graph.\n\nBy default, this property is set to `false` . If you want to change the value of this property, you must be the Detective administrator for the organization. For more information on setting a Detective administrator account, see [AWS::Detective::OrganizationAdmin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html) .", + "title": "AutoEnableMembers", + "type": "boolean" }, - "TargetVpcSubnetId": { - "markdownDescription": "The ID of the subnet through which you want to route traffic. The specified subnet must be an existing target network of the Client VPN endpoint.\n\nAlternatively, if you're adding a route for the local network, specify `local` .", - "title": "TargetVpcSubnetId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tag values to assign to the new behavior graph.", + "title": "Tags", + "type": "array" } }, - "required": [ - "ClientVpnEndpointId", - "DestinationCidrBlock" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnRoute" + "AWS::Detective::Graph" ], "type": "string" }, @@ -120292,12 +119665,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::ClientVpnTargetNetworkAssociation": { + "AWS::Detective::MemberInvitation": { "additionalProperties": false, "properties": { "Condition": { @@ -120332,31 +119704,42 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "DisableEmailNotification": { + "markdownDescription": "Whether to send an invitation email to the member account. If set to true, the member account does not receive an invitation email.", + "title": "DisableEmailNotification", + "type": "boolean" + }, + "GraphArn": { + "markdownDescription": "The ARN of the behavior graph to invite the account to contribute data to.", + "title": "GraphArn", "type": "string" }, - "AvailabilityZoneId": { + "MemberEmailAddress": { + "markdownDescription": "The root user email address of the invited account. If the email address provided is not the root user email address for the provided account, the invitation creation fails.", + "title": "MemberEmailAddress", "type": "string" }, - "ClientVpnEndpointId": { - "markdownDescription": "The ID of the Client VPN endpoint.", - "title": "ClientVpnEndpointId", + "MemberId": { + "markdownDescription": "The AWS account identifier of the invited account", + "title": "MemberId", "type": "string" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet to associate with the Client VPN endpoint.", - "title": "SubnetId", + "Message": { + "markdownDescription": "Customized text to include in the invitation email message.", + "title": "Message", "type": "string" } }, "required": [ - "ClientVpnEndpointId" + "GraphArn", + "MemberEmailAddress", + "MemberId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnTargetNetworkAssociation" + "AWS::Detective::MemberInvitation" ], "type": "string" }, @@ -120375,7 +119758,7 @@ ], "type": "object" }, - "AWS::EC2::CustomerGateway": { + "AWS::Detective::OrganizationAdmin": { "additionalProperties": false, "properties": { "Condition": { @@ -120410,54 +119793,20 @@ "Properties": { "additionalProperties": false, "properties": { - "BgpAsn": { - "markdownDescription": "For customer gateway devices that support BGP, specify the device's ASN. You must specify either `BgpAsn` or `BgpAsnExtended` when creating the customer gateway. If the ASN is larger than `2,147,483,647` , you must use `BgpAsnExtended` .\n\nDefault: 65000\n\nValid values: `1` to `2,147,483,647`", - "title": "BgpAsn", - "type": "number" - }, - "BgpAsnExtended": { - "markdownDescription": "For customer gateway devices that support BGP, specify the device's ASN. You must specify either `BgpAsn` or `BgpAsnExtended` when creating the customer gateway. If the ASN is larger than `2,147,483,647` , you must use `BgpAsnExtended` .\n\nValid values: `2,147,483,648` to `4,294,967,295`", - "title": "BgpAsnExtended", - "type": "number" - }, - "CertificateArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the customer gateway certificate.", - "title": "CertificateArn", - "type": "string" - }, - "DeviceName": { - "markdownDescription": "The name of customer gateway device.", - "title": "DeviceName", - "type": "string" - }, - "IpAddress": { - "markdownDescription": "The IP address for the customer gateway device's outside interface. The address must be static. If `OutsideIpAddressType` in your VPN connection options is set to `PrivateIpv4` , you can use an RFC6598 or RFC1918 private IPv4 address. If `OutsideIpAddressType` is set to `Ipv6` , you can use an IPv6 address.", - "title": "IpAddress", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "One or more tags for the customer gateway.", - "title": "Tags", - "type": "array" - }, - "Type": { - "markdownDescription": "The type of VPN connection that this customer gateway supports ( `ipsec.1` ).", - "title": "Type", + "AccountId": { + "markdownDescription": "The AWS account identifier of the account to designate as the Detective administrator account for the organization.", + "title": "AccountId", "type": "string" } }, "required": [ - "IpAddress", - "Type" + "AccountId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CustomerGateway" + "AWS::Detective::OrganizationAdmin" ], "type": "string" }, @@ -120476,7 +119825,7 @@ ], "type": "object" }, - "AWS::EC2::DHCPOptions": { + "AWS::DevOpsAgent::AgentSpace": { "additionalProperties": false, "properties": { "Condition": { @@ -120511,59 +119860,43 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "markdownDescription": "This value is used to complete unqualified DNS hostnames. If you're using AmazonProvidedDNS in `us-east-1` , specify `ec2.internal` . If you're using AmazonProvidedDNS in another Region, specify *region* . `compute.internal` (for example, `ap-northeast-1.compute.internal` ). Otherwise, specify a domain name (for example, *MyCompany.com* ).", - "title": "DomainName", + "Description": { + "markdownDescription": "The description of the Agent Space.", + "title": "Description", "type": "string" }, - "DomainNameServers": { - "items": { - "type": "string" - }, - "markdownDescription": "The IPv4 addresses of up to four domain name servers, or `AmazonProvidedDNS` . The default is `AmazonProvidedDNS` . To have your instance receive a custom DNS hostname as specified in `DomainName` , you must set this property to a custom DNS server.", - "title": "DomainNameServers", - "type": "array" + "KmsKeyArn": { + "type": "string" }, - "Ipv6AddressPreferredLeaseTime": { - "markdownDescription": "A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.", - "title": "Ipv6AddressPreferredLeaseTime", - "type": "number" + "Locale": { + "type": "string" }, - "NetbiosNameServers": { + "Name": { + "markdownDescription": "The name of the Agent Space.", + "title": "Name", + "type": "string" + }, + "OperatorApp": { + "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace.OperatorApp" + }, + "Preferences": { + "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace.Preferences" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The IPv4 addresses of up to four NetBIOS name servers.", - "title": "NetbiosNameServers", - "type": "array" - }, - "NetbiosNodeType": { - "markdownDescription": "The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported).", - "title": "NetbiosNodeType", - "type": "number" - }, - "NtpServers": { - "items": { - "type": "string" - }, - "markdownDescription": "The IPv4 addresses of up to four Network Time Protocol (NTP) servers.", - "title": "NtpServers", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Any tags assigned to the DHCP options set.", - "title": "Tags", "type": "array" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::DHCPOptions" + "AWS::DevOpsAgent::AgentSpace" ], "type": "string" }, @@ -120577,11 +119910,76 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::EC2Fleet": { + "AWS::DevOpsAgent::AgentSpace.IamAuthConfiguration": { + "additionalProperties": false, + "properties": { + "CreatedAt": { + "type": "string" + }, + "OperatorAppRoleArn": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" + } + }, + "required": [ + "OperatorAppRoleArn" + ], + "type": "object" + }, + "AWS::DevOpsAgent::AgentSpace.IdcAuthConfiguration": { + "additionalProperties": false, + "properties": { + "CreatedAt": { + "type": "string" + }, + "IdcApplicationArn": { + "type": "string" + }, + "IdcInstanceArn": { + "type": "string" + }, + "OperatorAppRoleArn": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" + } + }, + "required": [ + "IdcInstanceArn", + "OperatorAppRoleArn" + ], + "type": "object" + }, + "AWS::DevOpsAgent::AgentSpace.OperatorApp": { + "additionalProperties": false, + "properties": { + "Iam": { + "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace.IamAuthConfiguration" + }, + "Idc": { + "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace.IdcAuthConfiguration" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::AgentSpace.Preferences": { + "additionalProperties": false, + "properties": { + "ElevatedActionsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Asset": { "additionalProperties": false, "properties": { "Condition": { @@ -120616,85 +120014,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Context": { - "markdownDescription": "Reserved.", - "title": "Context", + "AgentSpaceId": { "type": "string" }, - "ExcessCapacityTerminationPolicy": { - "markdownDescription": "Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.\n\nSupported only for fleets of type `maintain` .", - "title": "ExcessCapacityTerminationPolicy", + "AssetType": { "type": "string" }, - "LaunchTemplateConfigs": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest" - }, - "markdownDescription": "The configuration for the EC2 Fleet.", - "title": "LaunchTemplateConfigs", - "type": "array" - }, - "OnDemandOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.OnDemandOptionsRequest", - "markdownDescription": "Describes the configuration of On-Demand Instances in an EC2 Fleet.", - "title": "OnDemandOptions" - }, - "ReplaceUnhealthyInstances": { - "markdownDescription": "Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for fleets of type `maintain` . For more information, see [EC2 Fleet health checks](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks) in the *Amazon EC2 User Guide* .", - "title": "ReplaceUnhealthyInstances", - "type": "boolean" - }, - "ReservedCapacityOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.ReservedCapacityOptionsRequest" - }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.SpotOptionsRequest", - "markdownDescription": "Describes the configuration of Spot Instances in an EC2 Fleet.", - "title": "SpotOptions" - }, - "TagSpecifications": { + "Files": { "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagSpecification" + "$ref": "#/definitions/AWS::DevOpsAgent::Asset.AssetFile" }, - "markdownDescription": "The key-value pair for tagging the EC2 Fleet request on creation. For more information, see [Tag your resources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources) .\n\nIf the fleet type is `instant` , specify a resource type of `fleet` to tag the fleet or `instance` to tag the instances at launch.\n\nIf the fleet type is `maintain` or `request` , specify a resource type of `fleet` to tag the fleet. You cannot specify a resource type of `instance` . To tag instances at launch, specify the tags in a [launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template) .", - "title": "TagSpecifications", "type": "array" }, - "TargetCapacitySpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest", - "markdownDescription": "The number of units to request.", - "title": "TargetCapacitySpecification" - }, - "TerminateInstancesWithExpiration": { - "markdownDescription": "Indicates whether running instances should be terminated when the EC2 Fleet expires.", - "title": "TerminateInstancesWithExpiration", - "type": "boolean" - }, - "Type": { - "markdownDescription": "The fleet type. The default value is `maintain` .\n\n- `maintain` - The EC2 Fleet places an asynchronous request for your desired capacity, and continues to maintain your desired Spot capacity by replenishing interrupted Spot Instances.\n- `request` - The EC2 Fleet places an asynchronous one-time request for your desired capacity, but does submit Spot requests in alternative capacity pools if Spot capacity is unavailable, and does not maintain Spot capacity if Spot Instances are interrupted.\n- `instant` - The EC2 Fleet places a synchronous one-time request for your desired capacity, and returns errors for any instances that could not be launched.\n\nFor more information, see [EC2 Fleet request types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-request-type.html) in the *Amazon EC2 User Guide* .", - "title": "Type", - "type": "string" - }, - "ValidFrom": { - "markdownDescription": "The start date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). The default is to start fulfilling the request immediately.", - "title": "ValidFrom", - "type": "string" + "Metadata": { + "type": "object" }, - "ValidUntil": { - "markdownDescription": "The end date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.", - "title": "ValidUntil", + "Zip": { "type": "string" } }, "required": [ - "LaunchTemplateConfigs", - "TargetCapacitySpecification" + "AgentSpaceId", + "AssetType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EC2Fleet" + "AWS::DevOpsAgent::Asset" ], "type": "string" }, @@ -120713,870 +120060,675 @@ ], "type": "object" }, - "AWS::EC2::EC2Fleet.AcceleratorCountRequest": { + "AWS::DevOpsAgent::Asset.AssetFile": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of accelerators. To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` .", - "title": "Max", - "type": "number" + "ContentBytes": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum number of accelerators. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "ContentText": { + "type": "string" + }, + "Metadata": { + "type": "object" + }, + "Path": { + "type": "string" } }, + "required": [ + "Path" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.AcceleratorTotalMemoryMiBRequest": { + "AWS::DevOpsAgent::Association": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "Condition": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentSpaceId": { + "markdownDescription": "The unique identifier of the Agent Space.", + "title": "AgentSpaceId", + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.ServiceConfiguration", + "markdownDescription": "The configuration that directs how the Agent Space interacts with the given service. You can specify only one configuration type per association.\n\n*Allowed Values* : `SourceAws` | `Aws` | `GitHub` | `GitLab` | `Slack` | `Dynatrace` | `ServiceNow` | `MCPServer` | `MCPServerNewRelic` | `MCPServerDatadog` | `MCPServerSplunk` | `EventChannel`", + "title": "Configuration" + }, + "LinkedAssociationIds": { + "items": { + "type": "string" + }, + "markdownDescription": "Set of linked association IDs for parent-child relationships.", + "title": "LinkedAssociationIds", + "type": "array" + }, + "ServiceId": { + "markdownDescription": "The identifier for the associated service. For `SourceAws` and `Aws` configurations, this must be `aws` . For all other service types, this is a UUID generated from the RegisterService command.", + "title": "ServiceId", + "type": "string" + } + }, + "required": [ + "AgentSpaceId", + "Configuration", + "ServiceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsAgent::Association" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.BaselineEbsBandwidthMbpsRequest": { + "AWS::DevOpsAgent::Association.AWSConfiguration": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "AccountId": { + "markdownDescription": "Account ID corresponding to the provided resources.", + "title": "AccountId", + "type": "string" }, - "Min": { - "markdownDescription": "The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "AccountType": { + "markdownDescription": "Account Type 'monitor' for AWS DevOps Agent monitoring.", + "title": "AccountType", + "type": "string" + }, + "AssumableRoleArn": { + "markdownDescription": "Role ARN used by AWS DevOps Agent to access resources in the primary account.", + "title": "AssumableRoleArn", + "type": "string" + }, + "Resources": { + "items": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.AWSResource" + }, + "markdownDescription": "List of resources to monitor.", + "title": "Resources", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.KeyValuePair" + }, + "markdownDescription": "List of tags as key-value pairs, used to identify resources for topology crawl.", + "title": "Tags", + "type": "array" } }, + "required": [ + "AccountId", + "AccountType", + "AssumableRoleArn" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.BaselinePerformanceFactorsRequest": { + "AWS::DevOpsAgent::Association.AWSResource": { "additionalProperties": false, "properties": { - "Cpu": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.CpuPerformanceFactorRequest", - "markdownDescription": "The CPU performance to consider, using an instance family as the baseline reference.", - "title": "Cpu" + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource.", + "title": "ResourceArn", + "type": "string" + }, + "ResourceMetadata": { + "markdownDescription": "Additional metadata specific to the resource. This is an optional JSON object that can include resource-specific information to provide additional context for monitoring and management.", + "title": "ResourceMetadata", + "type": "object" + }, + "ResourceType": { + "markdownDescription": "Resource type.", + "title": "ResourceType", + "type": "string" } }, + "required": [ + "ResourceArn" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.BlockDeviceMapping": { + "AWS::DevOpsAgent::Association.AzureConfiguration": { "additionalProperties": false, "properties": { - "DeviceName": { - "markdownDescription": "The device name. For available device names, see [Device names for volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html) .", - "title": "DeviceName", - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.EbsBlockDevice", - "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.", - "title": "Ebs" - }, - "NoDevice": { - "markdownDescription": "To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.", - "title": "NoDevice", - "type": "string" - }, - "VirtualName": { - "markdownDescription": "The virtual device name ( `ephemeral` N). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for `ephemeral0` and `ephemeral1` . The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.\n\nNVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.\n\nConstraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.", - "title": "VirtualName", + "SubscriptionId": { "type": "string" } }, + "required": [ + "SubscriptionId" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.CapacityRebalance": { + "AWS::DevOpsAgent::Association.DynatraceConfiguration": { "additionalProperties": false, "properties": { - "ReplacementStrategy": { - "markdownDescription": "The replacement strategy to use. Only available for fleets of type `maintain` .\n\n`launch` - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.\n\n`launch-before-terminate` - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in `TerminationDelay` ), terminates the instances that received a rebalance notification.", - "title": "ReplacementStrategy", + "EnableWebhookUpdates": { + "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", + "title": "EnableWebhookUpdates", + "type": "boolean" + }, + "EnvId": { + "markdownDescription": "Dynatrace environment id.", + "title": "EnvId", "type": "string" }, - "TerminationDelay": { - "markdownDescription": "The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.\n\nRequired when `ReplacementStrategy` is set to `launch-before-terminate` .\n\nNot valid when `ReplacementStrategy` is set to `launch` .\n\nValid values: Minimum value of `120` seconds. Maximum value of `7200` seconds.", - "title": "TerminationDelay", - "type": "number" + "Resources": { + "items": { + "type": "string" + }, + "markdownDescription": "List of Dynatrace resources to monitor.", + "title": "Resources", + "type": "array" } }, + "required": [ + "EnvId" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { + "AWS::DevOpsAgent::Association.EventChannelConfiguration": { "additionalProperties": false, "properties": { - "UsageStrategy": { - "markdownDescription": "Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.\n\nIf you specify `use-capacity-reservations-first` , the fleet uses unused Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If multiple instance pools have unused Capacity Reservations, the On-Demand allocation strategy ( `lowest-price` or `prioritized` ) is applied. If the number of unused Capacity Reservations is less than the On-Demand target capacity, the remaining On-Demand target capacity is launched according to the On-Demand allocation strategy ( `lowest-price` or `prioritized` ).\n\nIf you do not specify a value, the fleet fulfils the On-Demand capacity according to the chosen On-Demand allocation strategy.", - "title": "UsageStrategy", - "type": "string" + "EnableWebhookUpdates": { + "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", + "title": "EnableWebhookUpdates", + "type": "boolean" } }, "type": "object" }, - "AWS::EC2::EC2Fleet.CpuPerformanceFactorRequest": { + "AWS::DevOpsAgent::Association.GitHubConfiguration": { "additionalProperties": false, "properties": { - "References": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.PerformanceFactorReferenceRequest" - }, - "markdownDescription": "Specify an instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.\n\n> Currently, only one instance family can be specified in the list.", - "title": "References", - "type": "array" + "Owner": { + "markdownDescription": "Repository owner.", + "title": "Owner", + "type": "string" + }, + "OwnerType": { + "markdownDescription": "Type of repository owner.", + "title": "OwnerType", + "type": "string" + }, + "RepoId": { + "markdownDescription": "Associated Github repo ID.", + "title": "RepoId", + "type": "string" + }, + "RepoName": { + "markdownDescription": "Associated Github repo name.", + "title": "RepoName", + "type": "string" } }, + "required": [ + "Owner", + "OwnerType", + "RepoId", + "RepoName" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.EbsBlockDevice": { + "AWS::DevOpsAgent::Association.GitLabConfiguration": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "markdownDescription": "Indicates whether the EBS volume is deleted on instance termination. For more information, see [Preserving Amazon EBS volumes on instance termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) in the *Amazon EC2 User Guide* .", - "title": "DeleteOnTermination", - "type": "boolean" - }, - "Encrypted": { - "markdownDescription": "Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Amazon EBS encryption](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html#encryption-parameters) in the *Amazon EBS User Guide* .\n\nIn no case can you remove encryption from an encrypted volume.\n\nEncrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances) .\n\n- If you are creating a block device mapping for a *new (empty) volume* , you can include this parameter, and specify either `true` for an encrypted volume, or `false` for an unencrypted volume. If you omit this parameter, it defaults to `false` (unencrypted).\n- If you are creating a block device mapping from an *existing encrypted or unencrypted snapshot* , you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.\n- If you are creating a block device mapping from an *existing unencrypted volume* , you can include this parameter, but you must specify `false` . If you specify `true` , the request will fail. In this case, we recommend that you omit the parameter.\n- If you are creating a block device mapping from an *existing encrypted volume* , you can include this parameter, and specify either `true` or `false` . However, if you specify `false` , the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.", - "title": "Encrypted", + "EnableWebhookUpdates": { + "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", + "title": "EnableWebhookUpdates", "type": "boolean" }, - "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 - 80,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nFor `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . On other instances, you can achieve performance up to 32,000 IOPS.\n\nThis parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS.", - "title": "Iops", - "type": "number" - }, - "KmsKeyId": { - "markdownDescription": "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.\n\nThis parameter is only supported on `BlockDeviceMapping` objects called by [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) , [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) , and [RequestSpotInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html) .", - "title": "KmsKeyId", + "InstanceIdentifier": { + "markdownDescription": "GitLab instance identifier (e.g., gitlab.com).", + "title": "InstanceIdentifier", "type": "string" }, - "SnapshotId": { - "markdownDescription": "The ID of the snapshot.", - "title": "SnapshotId", + "ProjectId": { + "markdownDescription": "GitLab numeric project ID.", + "title": "ProjectId", "type": "string" }, - "VolumeSize": { - "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.\n\nThe following are the supported sizes for each volume type:\n\n- `gp2` : 1 - 16,384 GiB\n- `gp3` : 1 - 65,536 GiB\n- `io1` : 4 - 16,384 GiB\n- `io2` : 4 - 65,536 GiB\n- `st1` and `sc1` : 125 - 16,384 GiB\n- `standard` : 1 - 1024 GiB", - "title": "VolumeSize", - "type": "number" - }, - "VolumeType": { - "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .", - "title": "VolumeType", + "ProjectPath": { + "markdownDescription": "Full GitLab project path (e.g., namespace/project-name).", + "title": "ProjectPath", "type": "string" } }, + "required": [ + "ProjectId", + "ProjectPath" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "AWS::DevOpsAgent::Association.KeyValuePair": { "additionalProperties": false, "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest", - "markdownDescription": "The launch template to use. You must specify either the launch template ID or launch template name in the request.", - "title": "LaunchTemplateSpecification" + "Key": { + "markdownDescription": "The key name of the tag.", + "title": "Key", + "type": "string" }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" - }, - "markdownDescription": "Any parameters that you specify override the same parameters in the launch template.\n\nFor fleets of type `request` and `maintain` , a maximum of 300 items is allowed across all launch templates.", - "title": "Overrides", - "type": "array" + "Value": { + "markdownDescription": "The value for the tag.", + "title": "Value", + "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { + "AWS::DevOpsAgent::Association.MCPServerConfiguration": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone in which to launch the instances. For example, `us-east-2a` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", - "title": "AvailabilityZone", - "type": "string" - }, - "AvailabilityZoneId": { - "markdownDescription": "The ID of the Availability Zone in which to launch the instances. For example, `use2-az1` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", - "title": "AvailabilityZoneId", + "Description": { + "markdownDescription": "The description of the MCP server.", + "title": "Description", "type": "string" }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.BlockDeviceMapping" - }, - "markdownDescription": "The block device mappings, which define the EBS volumes and instance store volumes to attach to the instance at launch.\n\nSupported only for fleets of type `instant` .\n\nFor more information, see [Block device mappings for volumes on Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) in the *Amazon EC2 User Guide* .", - "title": "BlockDeviceMappings", - "type": "array" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.IamInstanceProfileSpecification" - }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.InstanceRequirementsRequest", - "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .", - "title": "InstanceRequirements" - }, - "InstanceType": { - "markdownDescription": "The instance type.\n\n`mac1.metal` is not supported as a launch template override.\n\n> If you specify `InstanceType` , you can't specify `InstanceRequirements` .", - "title": "InstanceType", - "type": "string" + "EnableWebhookUpdates": { + "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", + "title": "EnableWebhookUpdates", + "type": "boolean" }, - "KeyName": { + "Endpoint": { + "markdownDescription": "MCP server endpoint URL.", + "title": "Endpoint", "type": "string" }, - "MaxPrice": { - "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.\n> \n> If you specify a maximum price, it must be more than USD $0.001. Specifying a value below USD $0.001 will result in an `InvalidParameterValue` error message.", - "title": "MaxPrice", + "Name": { + "markdownDescription": "The name of the MCP server.", + "title": "Name", "type": "string" }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.InstanceMetadataOptionsRequest" - }, - "NetworkInterfaces": { + "Tools": { "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.NetworkInterfaceSpecificationRequest" + "type": "string" }, + "markdownDescription": "List of MCP tools that can be used with the association.", + "title": "Tools", "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement", - "markdownDescription": "The location where the instance launched, if applicable.", - "title": "Placement" - }, - "Priority": { - "markdownDescription": "The priority for the launch template override. The highest priority is launched first.\n\nIf the On-Demand `AllocationStrategy` is set to `prioritized` , EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.\n\nIf the Spot `AllocationStrategy` is set to `capacity-optimized-prioritized` , EC2 Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.\n\nValid values are whole numbers starting at `0` . The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.", - "title": "Priority", - "type": "number" - }, - "SubnetId": { - "markdownDescription": "The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, `subnet-1234abcdeexample1, subnet-0987cdef6example2` ). A request of type `instant` can have only one subnet ID.", - "title": "SubnetId", - "type": "string" - }, - "WeightedCapacity": { - "markdownDescription": "The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.\n\nIf the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.\n\n> When specifying weights, the price used in the `lowest-price` and `price-capacity-optimized` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested `TargetCapacity` , resulting in only 1 instance being launched, the price used is per *instance* hour.", - "title": "WeightedCapacity", - "type": "number" } }, + "required": [ + "Tools" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { + "AWS::DevOpsAgent::Association.MCPServerDatadogConfiguration": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { - "markdownDescription": "The ID of the launch template.\n\nYou must specify the `LaunchTemplateId` or the `LaunchTemplateName` , but not both.", - "title": "LaunchTemplateId", + "Description": { + "markdownDescription": "The description of the MCP server.", + "title": "Description", "type": "string" }, - "LaunchTemplateName": { - "markdownDescription": "The name of the launch template.\n\nYou must specify the `LaunchTemplateName` or the `LaunchTemplateId` , but not both.", - "title": "LaunchTemplateName", - "type": "string" + "EnableWebhookUpdates": { + "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", + "title": "EnableWebhookUpdates", + "type": "boolean" }, - "LaunchTemplateSpecificationUserData": { + "Endpoint": { + "markdownDescription": "MCP server endpoint URL.", + "title": "Endpoint", "type": "string" }, - "Version": { - "markdownDescription": "The launch template version number, `$Latest` , or `$Default` . You must specify a value, otherwise the request fails.\n\nIf the value is `$Latest` , Amazon EC2 uses the latest version of the launch template.\n\nIf the value is `$Default` , Amazon EC2 uses the default version of the launch template.", - "title": "Version", + "Name": { + "markdownDescription": "The name of the MCP server.", + "title": "Name", "type": "string" } }, - "required": [ - "Version" - ], "type": "object" }, - "AWS::EC2::EC2Fleet.IamInstanceProfileSpecification": { + "AWS::DevOpsAgent::Association.MCPServerGrafanaConfiguration": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" + "EnableWebhookUpdates": { + "type": "boolean" }, - "Name": { + "Endpoint": { "type": "string" + }, + "Tools": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "Endpoint" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.InstanceMetadataOptionsRequest": { + "AWS::DevOpsAgent::Association.MCPServerNewRelicConfiguration": { "additionalProperties": false, "properties": { - "HttpEndpoint": { + "AccountId": { + "markdownDescription": "New Relic Account ID.", + "title": "AccountId", "type": "string" }, - "HttpPutResponseHopLimit": { - "type": "number" - }, - "HttpTokens": { + "Endpoint": { + "markdownDescription": "MCP server endpoint URL (e.g., https://mcp.newrelic.com/mcp/).", + "title": "Endpoint", "type": "string" } }, + "required": [ + "AccountId", + "Endpoint" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.InstanceRequirementsRequest": { + "AWS::DevOpsAgent::Association.MCPServerSigV4Configuration": { "additionalProperties": false, "properties": { - "AcceleratorCount": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.AcceleratorCountRequest", - "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n\nTo exclude accelerator-enabled instance types, set `Max` to `0` .\n\nDefault: No minimum or maximum limits", - "title": "AcceleratorCount" - }, - "AcceleratorManufacturers": { - "items": { - "type": "string" - }, - "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n\n- For instance types with AWS devices, specify `amazon-web-services` .\n- For instance types with AMD devices, specify `amd` .\n- For instance types with Habana devices, specify `habana` .\n- For instance types with NVIDIA devices, specify `nvidia` .\n- For instance types with Xilinx devices, specify `xilinx` .\n\nDefault: Any manufacturer", - "title": "AcceleratorManufacturers", - "type": "array" - }, - "AcceleratorNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The accelerators that must be on the instance type.\n\n- For instance types with NVIDIA A10G GPUs, specify `a10g` .\n- For instance types with NVIDIA A100 GPUs, specify `a100` .\n- For instance types with NVIDIA H100 GPUs, specify `h100` .\n- For instance types with AWS Inferentia chips, specify `inferentia` .\n- For instance types with AWS Inferentia2 chips, specify `inferentia2` .\n- For instance types with Habana Gaudi HL-205 GPUs, specify `gaudi-hl-205` .\n- For instance types with NVIDIA GRID K520 GPUs, specify `k520` .\n- For instance types with NVIDIA K80 GPUs, specify `k80` .\n- For instance types with NVIDIA L4 GPUs, specify `l4` .\n- For instance types with NVIDIA L40S GPUs, specify `l40s` .\n- For instance types with NVIDIA M60 GPUs, specify `m60` .\n- For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` .\n- For instance types with AWS Trainium chips, specify `trainium` .\n- For instance types with AWS Trainium2 chips, specify `trainium2` .\n- For instance types with NVIDIA T4 GPUs, specify `t4` .\n- For instance types with NVIDIA T4G GPUs, specify `t4g` .\n- For instance types with Xilinx U30 cards, specify `u30` .\n- For instance types with Xilinx VU9P FPGAs, specify `vu9p` .\n- For instance types with NVIDIA V100 GPUs, specify `v100` .\n\nDefault: Any accelerator", - "title": "AcceleratorNames", - "type": "array" - }, - "AcceleratorTotalMemoryMiB": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.AcceleratorTotalMemoryMiBRequest", - "markdownDescription": "The minimum and maximum amount of total accelerator memory, in MiB.\n\nDefault: No minimum or maximum limits", - "title": "AcceleratorTotalMemoryMiB" - }, - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The accelerator types that must be on the instance type.\n\n- For instance types with FPGA accelerators, specify `fpga` .\n- For instance types with GPU accelerators, specify `gpu` .\n- For instance types with Inference accelerators, specify `inference` .\n- For instance types with Media accelerators, specify `media` .\n\nDefault: Any accelerator type", - "title": "AcceleratorTypes", - "type": "array" - }, - "AllowedInstanceTypes": { + "Tools": { "items": { "type": "string" }, - "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n\n> If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . \n\nDefault: All instance types", - "title": "AllowedInstanceTypes", "type": "array" - }, - "BareMetal": { - "markdownDescription": "Indicates whether bare metal instance types must be included, excluded, or required.\n\n- To include bare metal instance types, specify `included` .\n- To require only bare metal instance types, specify `required` .\n- To exclude bare metal instance types, specify `excluded` .\n\nDefault: `excluded`", - "title": "BareMetal", + } + }, + "required": [ + "Tools" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Association.MCPServerSplunkConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "The description of the MCP server.", + "title": "Description", "type": "string" }, - "BaselineEbsBandwidthMbps": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.BaselineEbsBandwidthMbpsRequest", - "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", - "title": "BaselineEbsBandwidthMbps" + "EnableWebhookUpdates": { + "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", + "title": "EnableWebhookUpdates", + "type": "boolean" }, - "BaselinePerformanceFactors": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.BaselinePerformanceFactorsRequest", - "markdownDescription": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .", - "title": "BaselinePerformanceFactors" + "Endpoint": { + "markdownDescription": "MCP server endpoint URL.", + "title": "Endpoint", + "type": "string" }, - "BurstablePerformance": { - "markdownDescription": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`", - "title": "BurstablePerformance", + "Name": { + "markdownDescription": "The name of the MCP server.", + "title": "Name", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Association.PagerDutyConfiguration": { + "additionalProperties": false, + "properties": { + "CustomerEmail": { "type": "string" }, - "CpuManufacturers": { - "items": { - "type": "string" - }, - "markdownDescription": "The CPU manufacturers to include.\n\n- For instance types with Intel CPUs, specify `intel` .\n- For instance types with AMD CPUs, specify `amd` .\n- For instance types with AWS CPUs, specify `amazon-web-services` .\n- For instance types with Apple CPUs, specify `apple` .\n\n> Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. \n\nDefault: Any manufacturer", - "title": "CpuManufacturers", - "type": "array" + "EnableWebhookUpdates": { + "type": "boolean" }, - "ExcludedInstanceTypes": { + "Services": { "items": { "type": "string" }, - "markdownDescription": "The instance types to exclude.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance family, type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n\n> If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . \n\nDefault: No excluded instance types", - "title": "ExcludedInstanceTypes", "type": "array" + } + }, + "required": [ + "CustomerEmail", + "Services" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Association.ServiceConfiguration": { + "additionalProperties": false, + "properties": { + "Aws": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.AWSConfiguration", + "markdownDescription": "Configuration for AWS monitor account integration. Specifies the account ID, assumable role ARN, and resources to be monitored in the primary monitoring account.", + "title": "Aws" }, - "InstanceGenerations": { - "items": { - "type": "string" - }, - "markdownDescription": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nFor current generation instance types, specify `current` .\n\nFor previous generation instance types, specify `previous` .\n\nDefault: Current and previous generation instance types", - "title": "InstanceGenerations", - "type": "array" + "Azure": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.AzureConfiguration" }, - "LocalStorage": { - "markdownDescription": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* .\n\n- To include instance types with instance store volumes, specify `included` .\n- To require only instance types with instance store volumes, specify `required` .\n- To exclude instance types with instance store volumes, specify `excluded` .\n\nDefault: `included`", - "title": "LocalStorage", - "type": "string" + "Dynatrace": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.DynatraceConfiguration", + "markdownDescription": "Configuration for Dynatrace monitoring integration. Specifies the environment ID, resources to monitor, and webhook settings to enable the Agent Space to access Dynatrace metrics, traces, and logs.", + "title": "Dynatrace" }, - "LocalStorageTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The type of local storage that is required.\n\n- For instance types with hard disk drive (HDD) storage, specify `hdd` .\n- For instance types with solid state drive (SSD) storage, specify `ssd` .\n\nDefault: `hdd` and `ssd`", - "title": "LocalStorageTypes", - "type": "array" + "EventChannel": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.EventChannelConfiguration", + "markdownDescription": "Configuration for Event Channel integration. Specifies webhook settings to enable the Agent Space to receive and process real-time events from external systems.", + "title": "EventChannel" }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { - "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` .", - "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", - "type": "number" + "GitHub": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.GitHubConfiguration", + "markdownDescription": "Configuration for GitHub repository integration. Specifies the repository name, repository ID, owner, and owner type to enable the Agent Space to access code, pull requests, and issues.", + "title": "GitHub" }, - "MemoryGiBPerVCpu": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.MemoryGiBPerVCpuRequest", - "markdownDescription": "The minimum and maximum amount of memory per vCPU, in GiB.\n\nDefault: No minimum or maximum limits", - "title": "MemoryGiBPerVCpu" + "GitLab": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.GitLabConfiguration", + "markdownDescription": "Configuration for GitLab project integration. Specifies the project ID, project path, instance identifier, and webhook settings to enable the Agent Space to access code, merge requests, and issues.", + "title": "GitLab" }, - "MemoryMiB": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.MemoryMiBRequest", - "markdownDescription": "The minimum and maximum amount of memory, in MiB.", - "title": "MemoryMiB" + "MCPServer": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerConfiguration", + "markdownDescription": "Configuration for custom MCP (Model Context Protocol) server integration. Specifies the server name, endpoint URL, available tools, description, and webhook settings to enable the Agent Space to interact with custom MCP servers.", + "title": "MCPServer" }, - "NetworkBandwidthGbps": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.NetworkBandwidthGbpsRequest", - "markdownDescription": "The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more information, see [Amazon EC2 instance network bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", - "title": "NetworkBandwidthGbps" + "MCPServerDatadog": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerDatadogConfiguration", + "markdownDescription": "Configuration for Datadog MCP server integration. Specifies the server name, endpoint URL, optional description, and webhook settings to enable the Agent Space to query metrics, traces, and logs from Datadog.", + "title": "MCPServerDatadog" }, - "NetworkInterfaceCount": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.NetworkInterfaceCountRequest", - "markdownDescription": "The minimum and maximum number of network interfaces.\n\nDefault: No minimum or maximum limits", - "title": "NetworkInterfaceCount" + "MCPServerGrafana": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerGrafanaConfiguration" }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nTo indicate no price protection threshold, specify a high value, such as `999999` .\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. \n\nDefault: `20`", - "title": "OnDemandMaxPricePercentageOverLowestPrice", - "type": "number" + "MCPServerNewRelic": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerNewRelicConfiguration", + "markdownDescription": "Configuration for New Relic MCP server integration. Specifies the New Relic account ID and MCP endpoint URL to enable the Agent Space to query metrics, traces, and logs from New Relic.", + "title": "MCPServerNewRelic" }, - "RequireEncryptionInTransit": { - "markdownDescription": "Specifies whether instance types must support encrypting in-transit traffic between instances. For more information, including the supported instance types, see [Encryption in transit](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-protection.html#encryption-transit) in the *Amazon EC2 User Guide* .\n\nDefault: `false`", - "title": "RequireEncryptionInTransit", - "type": "boolean" + "MCPServerSigV4": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerSigV4Configuration" }, - "RequireHibernateSupport": { - "markdownDescription": "Indicates whether instance types must support hibernation for On-Demand Instances.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) .\n\nDefault: `false`", - "title": "RequireHibernateSupport", - "type": "boolean" + "MCPServerSplunk": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.MCPServerSplunkConfiguration", + "markdownDescription": "Configuration for Splunk MCP server integration. Specifies the server name, endpoint URL, optional description, and webhook settings to enable the Agent Space to query logs, metrics, and events from Splunk.", + "title": "MCPServerSplunk" }, - "SpotMaxPricePercentageOverLowestPrice": { - "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` . \n\nDefault: `100`", - "title": "SpotMaxPricePercentageOverLowestPrice", - "type": "number" + "PagerDuty": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.PagerDutyConfiguration" }, - "TotalLocalStorageGB": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TotalLocalStorageGBRequest", - "markdownDescription": "The minimum and maximum amount of total local storage, in GB.\n\nDefault: No minimum or maximum limits", - "title": "TotalLocalStorageGB" + "ServiceNow": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.ServiceNowConfiguration", + "markdownDescription": "Configuration for ServiceNow instance integration. Specifies the instance URL, instance ID, and webhook settings to enable the Agent Space to create, update, and manage ServiceNow incidents and change requests.", + "title": "ServiceNow" }, - "VCpuCount": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.VCpuCountRangeRequest", - "markdownDescription": "The minimum and maximum number of vCPUs.", - "title": "VCpuCount" + "Slack": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.SlackConfiguration", + "markdownDescription": "Configuration for Slack workspace integration. Specifies the workspace ID, workspace name, and transmission targets to enable the Agent Space to send notifications to designated Slack channels.", + "title": "Slack" + }, + "SourceAws": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.SourceAwsConfiguration", + "markdownDescription": "Configuration for AWS source account integration. Specifies the account ID, assumable role ARN, and resources to be monitored in the source account.", + "title": "SourceAws" } }, "type": "object" }, - "AWS::EC2::EC2Fleet.Ipv6AddressRequest": { + "AWS::DevOpsAgent::Association.ServiceNowConfiguration": { "additionalProperties": false, "properties": { - "Ipv6Address": { + "EnableWebhookUpdates": { + "markdownDescription": "When set to true, enables the Agent Space to create and update webhooks for receiving notifications and events from the service.", + "title": "EnableWebhookUpdates", + "type": "boolean" + }, + "InstanceId": { + "markdownDescription": "ServiceNow instance ID.", + "title": "InstanceId", "type": "string" } }, "type": "object" }, - "AWS::EC2::EC2Fleet.MaintenanceStrategies": { - "additionalProperties": false, - "properties": { - "CapacityRebalance": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityRebalance", - "markdownDescription": "The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted.", - "title": "CapacityRebalance" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.MemoryGiBPerVCpuRequest": { + "AWS::DevOpsAgent::Association.SlackChannel": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "ChannelId": { + "markdownDescription": "Slack channel ID.", + "title": "ChannelId", + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "ChannelName": { + "markdownDescription": "Slack channel name.", + "title": "ChannelName", + "type": "string" } }, + "required": [ + "ChannelId" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.MemoryMiBRequest": { + "AWS::DevOpsAgent::Association.SlackConfiguration": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "TransmissionTarget": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.SlackTransmissionTarget", + "markdownDescription": "Transmission targets for agent notifications.", + "title": "TransmissionTarget" }, - "Min": { - "markdownDescription": "The minimum amount of memory, in MiB. To specify no minimum limit, specify `0` .", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.NetworkBandwidthGbpsRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "WorkspaceId": { + "markdownDescription": "Associated Slack workspace ID.", + "title": "WorkspaceId", + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "WorkspaceName": { + "markdownDescription": "Associated Slack workspace name.", + "title": "WorkspaceName", + "type": "string" } }, + "required": [ + "TransmissionTarget", + "WorkspaceId", + "WorkspaceName" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.NetworkInterfaceCountRequest": { + "AWS::DevOpsAgent::Association.SlackTransmissionTarget": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of network interfaces. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum number of network interfaces. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "IncidentResponseTarget": { + "$ref": "#/definitions/AWS::DevOpsAgent::Association.SlackChannel", + "markdownDescription": "Destination for AWS DevOps Agent Incident Response.", + "title": "IncidentResponseTarget" } }, + "required": [ + "IncidentResponseTarget" + ], "type": "object" }, - "AWS::EC2::EC2Fleet.NetworkInterfaceSpecificationRequest": { + "AWS::DevOpsAgent::Association.SourceAwsConfiguration": { "additionalProperties": false, "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" + "AccountId": { + "markdownDescription": "Account ID corresponding to the provided resources.", + "title": "AccountId", + "type": "string" }, - "Description": { + "AccountType": { + "markdownDescription": "Account Type 'source' for AWS DevOps Agent monitoring.", + "title": "AccountType", "type": "string" }, - "DeviceIndex": { - "type": "number" + "AssumableRoleArn": { + "markdownDescription": "Role ARN to be assumed by AWS DevOps Agent to operate on behalf of customer.", + "title": "AssumableRoleArn", + "type": "string" }, - "Groups": { + "Resources": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DevOpsAgent::Association.AWSResource" }, + "markdownDescription": "List of resources to monitor.", + "title": "Resources", "type": "array" }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.Ipv6AddressRequest" + "$ref": "#/definitions/AWS::DevOpsAgent::Association.KeyValuePair" }, + "markdownDescription": "List of tags as key-value pairs, used to identify resources for topology crawl.", + "title": "Tags", "type": "array" - }, - "NetworkCardIndex": { - "type": "number" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.PrivateIpAddressSpecificationRequest" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "markdownDescription": "The strategy that determines the order of the launch template overrides to use in fulfilling On-Demand capacity.\n\n`lowest-price` - EC2 Fleet uses price to determine the order, launching the lowest price first.\n\n`prioritized` - EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first.\n\nDefault: `lowest-price`", - "title": "AllocationStrategy", - "type": "string" - }, - "CapacityReservationOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest", - "markdownDescription": "The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.\n\nSupported only for fleets of type `instant` .", - "title": "CapacityReservationOptions" - }, - "MaxTotalPrice": { - "markdownDescription": "The maximum amount per hour for On-Demand Instances that you're willing to pay.\n\n> If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `MaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `MaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", - "title": "MaxTotalPrice", - "type": "string" - }, - "MinTargetCapacity": { - "markdownDescription": "The minimum target capacity for On-Demand Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.\n\nConstraints: Maximum value of `1000` . Supported only for fleets of type `instant` .\n\nAt least one of the following must be specified: `SingleAvailabilityZone` | `SingleInstanceType`", - "title": "MinTargetCapacity", - "type": "number" - }, - "SingleAvailabilityZone": { - "markdownDescription": "Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.\n\nSupported only for fleets of type `instant` .", - "title": "SingleAvailabilityZone", - "type": "boolean" - }, - "SingleInstanceType": { - "markdownDescription": "Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet.\n\nSupported only for fleets of type `instant` .", - "title": "SingleInstanceType", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.PerformanceFactorReferenceRequest": { - "additionalProperties": false, - "properties": { - "InstanceFamily": { - "markdownDescription": "The instance family to use as a baseline reference.\n\n> Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( `.` ) in the instance type name. For example, in the instance type `c6i.large` , the instance family is `c6i` , not `c6` . For more information, see [Amazon EC2 instance type naming conventions](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) in *Amazon EC2 Instance Types* . \n\nThe following instance families are *not supported* for performance protection:\n\n- `c1`\n- `g3` | `g3s`\n- `hpc7g`\n- `m1` | `m2`\n- `mac1` | `mac2` | `mac2-m1ultra` | `mac2-m2` | `mac2-m2pro`\n- `p3dn` | `p4d` | `p5`\n- `t1`\n- `u-12tb1` | `u-18tb1` | `u-24tb1` | `u-3tb1` | `u-6tb1` | `u-9tb1` | `u7i-12tb` | `u7in-16tb` | `u7in-24tb` | `u7in-32tb`\n\nIf you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.\n\nIf you specify an unsupported instance family as a value for baseline performance, the API returns an empty response response for [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) and an exception for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html) , [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) , [ModifyFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html) , and [ModifySpotFleetRequest](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html) .", - "title": "InstanceFamily", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "markdownDescription": "The affinity setting for the instance on the Dedicated Host.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) or [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) .", - "title": "Affinity", - "type": "string" - }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone of the instance.\n\nOn input, you can specify `AvailabilityZone` or `AvailabilityZoneId` , but not both. If you specify neither one, Amazon EC2 automatically selects an Availability Zone for you.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) .", - "title": "AvailabilityZone", - "type": "string" - }, - "GroupName": { - "markdownDescription": "The name of the placement group that the instance is in.\n\nOn input, you can specify `GroupId` or `GroupName` , but not both.", - "title": "GroupName", - "type": "string" - }, - "HostId": { - "markdownDescription": "The ID of the Dedicated Host on which the instance resides.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) or [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) .", - "title": "HostId", - "type": "string" - }, - "HostResourceGroupArn": { - "markdownDescription": "The ARN of the host resource group in which to launch the instances.\n\nOn input, if you specify this parameter, either omit the *Tenancy* parameter or set it to `host` .\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) .", - "title": "HostResourceGroupArn", - "type": "string" - }, - "PartitionNumber": { - "markdownDescription": "The number of the partition that the instance is in. Valid only if the placement group strategy is set to `partition` .\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) .", - "title": "PartitionNumber", - "type": "number" - }, - "SpreadDomain": { - "markdownDescription": "Reserved for future use.", - "title": "SpreadDomain", - "type": "string" - }, - "Tenancy": { - "markdownDescription": "The tenancy of the instance. An instance with a tenancy of `dedicated` runs on single-tenant hardware.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) . The `host` tenancy is not supported for [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) or for T3 instances that are configured for the `unlimited` CPU credit option.", - "title": "Tenancy", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.PrivateIpAddressSpecificationRequest": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.ReservedCapacityOptionsRequest": { - "additionalProperties": false, - "properties": { - "ReservationTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.SpotOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "markdownDescription": "Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet.\n\nIf the allocation strategy is `lowestPrice` , EC2 Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy.\n\nIf the allocation strategy is `diversified` , EC2 Fleet launches instances from all the Spot Instance pools that you specify.\n\nIf the allocation strategy is `capacityOptimized` , EC2 Fleet launches instances from Spot Instance pools that are optimally chosen based on the available Spot Instance capacity.\n\n*Allowed Values* : `lowestPrice` | `diversified` | `capacityOptimized` | `capacityOptimizedPrioritized`", - "title": "AllocationStrategy", - "type": "string" - }, - "InstanceInterruptionBehavior": { - "markdownDescription": "The behavior when a Spot Instance is interrupted.\n\nDefault: `terminate`", - "title": "InstanceInterruptionBehavior", - "type": "string" - }, - "InstancePoolsToUseCount": { - "markdownDescription": "The number of Spot pools across which to allocate your target Spot capacity. Supported only when Spot `AllocationStrategy` is set to `lowest-price` . EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.\n\nNote that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified.", - "title": "InstancePoolsToUseCount", - "type": "number" - }, - "MaintenanceStrategies": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.MaintenanceStrategies", - "markdownDescription": "The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.", - "title": "MaintenanceStrategies" - }, - "MaxTotalPrice": { - "markdownDescription": "The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter. > If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `MaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `MaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", - "title": "MaxTotalPrice", - "type": "string" - }, - "MinTargetCapacity": { - "markdownDescription": "The minimum target capacity for Spot Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.\n\nConstraints: Maximum value of `1000` . Supported only for fleets of type `instant` .\n\nAt least one of the following must be specified: `SingleAvailabilityZone` | `SingleInstanceType`", - "title": "MinTargetCapacity", - "type": "number" - }, - "SingleAvailabilityZone": { - "markdownDescription": "Indicates that the fleet launches all Spot Instances into a single Availability Zone.\n\nSupported only for fleets of type `instant` .", - "title": "SingleAvailabilityZone", - "type": "boolean" - }, - "SingleInstanceType": { - "markdownDescription": "Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet.\n\nSupported only for fleets of type `instant` .", - "title": "SingleInstanceType", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "markdownDescription": "The type of resource to tag.", - "title": "ResourceType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to the resource.", - "title": "Tags", - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { - "additionalProperties": false, - "properties": { - "DefaultTargetCapacityType": { - "markdownDescription": "The default target capacity type.", - "title": "DefaultTargetCapacityType", - "type": "string" - }, - "OnDemandTargetCapacity": { - "markdownDescription": "The number of On-Demand units to request.", - "title": "OnDemandTargetCapacity", - "type": "number" - }, - "SpotTargetCapacity": { - "markdownDescription": "The number of Spot units to request.", - "title": "SpotTargetCapacity", - "type": "number" - }, - "TargetCapacityUnitType": { - "markdownDescription": "The unit for the target capacity. You can specify this parameter only when using attributed-based instance type selection.\n\nDefault: `units` (the number of instances)", - "title": "TargetCapacityUnitType", - "type": "string" - }, - "TotalTargetCapacity": { - "markdownDescription": "The number of units to request, filled using the default target capacity type.", - "title": "TotalTargetCapacity", - "type": "number" } }, "required": [ - "TotalTargetCapacity" + "AccountId", + "AccountType", + "AssumableRoleArn" ], "type": "object" }, - "AWS::EC2::EC2Fleet.TotalLocalStorageGBRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.VCpuCountRangeRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum number of vCPUs. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum number of vCPUs. To specify no minimum limit, specify `0` .", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::EIP": { + "AWS::DevOpsAgent::PrivateConnection": { "additionalProperties": false, "properties": { "Condition": { @@ -121611,55 +120763,31 @@ "Properties": { "additionalProperties": false, "properties": { - "Address": { - "markdownDescription": "An Elastic IP address or a carrier IP address in a Wavelength Zone.", - "title": "Address", - "type": "string" - }, - "Domain": { - "markdownDescription": "The network ( `vpc` ).\n\nIf you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) on this resource.", - "title": "Domain", - "type": "string" - }, - "InstanceId": { - "markdownDescription": "The ID of the instance.\n\n> Updates to the `InstanceId` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.", - "title": "InstanceId", - "type": "string" - }, - "IpamPoolId": { - "markdownDescription": "The ID of an IPAM pool which has an Amazon-provided or BYOIP public IPv4 CIDR provisioned to it. For more information, see [Allocate sequential Elastic IP addresses from an IPAM pool](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html) in the *Amazon VPC IPAM User Guide* .", - "title": "IpamPoolId", + "Certificate": { "type": "string" }, - "NetworkBorderGroup": { - "markdownDescription": "A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.\n\nUse [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups.", - "title": "NetworkBorderGroup", - "type": "string" + "ConnectionConfiguration": { + "$ref": "#/definitions/AWS::DevOpsAgent::PrivateConnection.ConnectionConfiguration" }, - "PublicIpv4Pool": { - "markdownDescription": "The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool.\n\n> Updates to the `PublicIpv4Pool` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.", - "title": "PublicIpv4Pool", + "Name": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the Elastic IP address.\n\n> Updates to the `Tags` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.", - "title": "Tags", "type": "array" - }, - "TransferAddress": { - "markdownDescription": "The Elastic IP address you are accepting for transfer. You can only accept one transferred address. For more information on Elastic IP address transfers, see [Transfer Elastic IP addresses](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#transfer-EIPs-intro) in the *Amazon Virtual Private Cloud User Guide* .", - "title": "TransferAddress", - "type": "string" } }, + "required": [ + "ConnectionConfiguration", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EIP" + "AWS::DevOpsAgent::PrivateConnection" ], "type": "string" }, @@ -121673,237 +120801,79 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::EIPAssociation": { + "AWS::DevOpsAgent::PrivateConnection.ConnectionConfiguration": { "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": { - "AllocationId": { - "markdownDescription": "The allocation ID. This is required.", - "title": "AllocationId", - "type": "string" - }, - "InstanceId": { - "markdownDescription": "The ID of the instance. The instance must have exactly one attached network interface. You can specify either the instance ID or the network interface ID, but not both.", - "title": "InstanceId", - "type": "string" - }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.\n\nYou can specify either the instance ID or the network interface ID, but not both.", - "title": "NetworkInterfaceId", - "type": "string" - }, - "PrivateIpAddress": { - "markdownDescription": "The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.", - "title": "PrivateIpAddress", - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EIPAssociation" - ], - "type": "string" + "SelfManaged": { + "$ref": "#/definitions/AWS::DevOpsAgent::PrivateConnection.SelfManagedMode" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ServiceManaged": { + "$ref": "#/definitions/AWS::DevOpsAgent::PrivateConnection.ServiceManagedMode" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::EC2::EgressOnlyInternetGateway": { + "AWS::DevOpsAgent::PrivateConnection.SelfManagedMode": { "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" - }, - "markdownDescription": "The tags assigned to the egress-only internet gateway.", - "title": "Tags", - "type": "array" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC for which to create the egress-only internet gateway.", - "title": "VpcId", - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EgressOnlyInternetGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ResourceConfigurationId": { "type": "string" } }, "required": [ - "Type", - "Properties" + "ResourceConfigurationId" ], "type": "object" }, - "AWS::EC2::EnclaveCertificateIamRoleAssociation": { + "AWS::DevOpsAgent::PrivateConnection.ServiceManagedMode": { "additionalProperties": false, "properties": { - "Condition": { + "DnsResolution": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "HostAddress": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "IpAddressType": { + "type": "string" }, - "Metadata": { - "type": "object" + "Ipv4AddressesPerEni": { + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "markdownDescription": "The ARN of the ACM certificate with which to associate the IAM role.", - "title": "CertificateArn", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The ARN of the IAM role to associate with the ACM certificate. You can associate up to 16 IAM roles with an ACM certificate.", - "title": "RoleArn", - "type": "string" - } + "PortRanges": { + "items": { + "type": "string" }, - "required": [ - "CertificateArn", - "RoleArn" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::EC2::EnclaveCertificateIamRoleAssociation" - ], - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { "type": "string" } }, "required": [ - "Type", - "Properties" + "HostAddress", + "VpcId" ], "type": "object" }, - "AWS::EC2::ExportInstanceTask": { + "AWS::DevOpsAgent::Service": { "additionalProperties": false, "properties": { "Condition": { @@ -121938,13 +120908,19 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "ExchangeUrlPrivateConnectionName": { "type": "string" }, - "ExportToS3Task": { - "$ref": "#/definitions/AWS::EC2::ExportInstanceTask.ExportToS3Task" + "KmsKeyArn": { + "type": "string" }, - "InstanceId": { + "PrivateConnectionName": { + "type": "string" + }, + "ServiceDetails": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.ServiceDetails" + }, + "ServiceType": { "type": "string" }, "Tags": { @@ -121953,19 +120929,18 @@ }, "type": "array" }, - "TargetEnvironment": { + "TargetUrlPrivateConnectionName": { "type": "string" } }, "required": [ - "InstanceId", - "TargetEnvironment" + "ServiceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ExportInstanceTask" + "AWS::DevOpsAgent::Service" ], "type": "string" }, @@ -121984,473 +120959,717 @@ ], "type": "object" }, - "AWS::EC2::ExportInstanceTask.ExportToS3Task": { + "AWS::DevOpsAgent::Service.AdditionalServiceDetails": { "additionalProperties": false, "properties": { - "ContainerFormat": { - "type": "string" + "AzureIdentity": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredAzureIdentityDetails" }, - "DiskImageFormat": { + "Dynatrace": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredDynatraceDetails" + }, + "GitLab": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredGitLabServiceDetails" + }, + "MCPServer": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerDetails" + }, + "MCPServerGrafana": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerGrafanaDetails" + }, + "MCPServerNewRelic": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredNewRelicDetails" + }, + "MCPServerSigV4": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerSigV4Details" + }, + "MCPServerSplunk": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredMCPServerDetails" + }, + "PagerDuty": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredPagerDutyDetails" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.RegisteredServiceNowDetails" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Service.ApiKeyDetails": { + "additionalProperties": false, + "properties": { + "ApiKeyHeader": { "type": "string" }, - "S3Bucket": { + "ApiKeyName": { "type": "string" }, - "S3Key": { + "ApiKeyValue": { "type": "string" } }, + "required": [ + "ApiKeyHeader", + "ApiKeyName", + "ApiKeyValue" + ], "type": "object" }, - "AWS::EC2::FlowLog": { + "AWS::DevOpsAgent::Service.AzureIdentityServiceDetails": { "additionalProperties": false, "properties": { - "Condition": { + "ClientId": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TenantId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliverCrossAccountRole": { - "markdownDescription": "The ARN of the IAM role that allows the service to publish flow logs across accounts.", - "title": "DeliverCrossAccountRole", - "type": "string" - }, - "DeliverLogsPermissionArn": { - "markdownDescription": "The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination.\n\nThis parameter is required if the destination type is `cloud-watch-logs` , or if the destination type is `kinesis-data-firehose` and the delivery stream and the resources to monitor are in different accounts.", - "title": "DeliverLogsPermissionArn", - "type": "string" - }, - "DestinationOptions": { - "$ref": "#/definitions/AWS::EC2::FlowLog.DestinationOptions", - "markdownDescription": "The destination options.", - "title": "DestinationOptions" - }, - "LogDestination": { - "markdownDescription": "The destination for the flow log data. The meaning of this parameter depends on the destination type.\n\n- If the destination type is `cloud-watch-logs` , specify the ARN of a CloudWatch Logs log group. For example:\n\narn:aws:logs: *region* : *account_id* :log-group: *my_group*\n\nAlternatively, use the `LogGroupName` parameter.\n- If the destination type is `s3` , specify the ARN of an S3 bucket. For example:\n\narn:aws:s3::: *my_bucket* / *my_subfolder* /\n\nThe subfolder is optional. Note that you can't use `AWSLogs` as a subfolder name.\n- If the destination type is `kinesis-data-firehose` , specify the ARN of a Kinesis Data Firehose delivery stream. For example:\n\narn:aws:firehose: *region* : *account_id* :deliverystream: *my_stream*", - "title": "LogDestination", - "type": "string" - }, - "LogDestinationType": { - "markdownDescription": "The type of destination for the flow log data.\n\nDefault: `cloud-watch-logs`", - "title": "LogDestinationType", - "type": "string" - }, - "LogFormat": { - "markdownDescription": "The fields to include in the flow log record, in the order in which they should appear. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field. For more information about the available fields, see [Flow log records](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records) in the *Amazon VPC User Guide* or [Transit Gateway Flow Log records](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-flow-logs.html#flow-log-records) in the *AWS Transit Gateway Guide* .\n\nSpecify the fields using the `${field-id}` format, separated by spaces.", - "title": "LogFormat", - "type": "string" - }, - "LogGroupName": { - "markdownDescription": "The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.\n\nThis parameter is valid only if the destination type is `cloud-watch-logs` .", - "title": "LogGroupName", - "type": "string" - }, - "MaxAggregationInterval": { - "markdownDescription": "The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for transit gateway resource types.\n\nWhen a network interface is attached to a [Nitro-based instance](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) , the aggregation interval is always 60 seconds or less, regardless of the value that you specify.\n\nDefault: 600", - "title": "MaxAggregationInterval", - "type": "number" - }, - "ResourceId": { - "markdownDescription": "The ID of the resource to monitor. For example, if the resource type is `VPC` , specify the ID of the VPC.", - "title": "ResourceId", - "type": "string" - }, - "ResourceType": { - "markdownDescription": "The type of resource to monitor.", - "title": "ResourceType", - "type": "string" - }, - "TagFieldSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::FlowLog.TagFieldSpecification" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to the flow logs.", - "title": "Tags", - "type": "array" - }, - "TrafficType": { - "markdownDescription": "The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic). This parameter is not supported for transit gateway resource types. It is required for the other resource types.", - "title": "TrafficType", - "type": "string" - } - }, - "required": [ - "ResourceId", - "ResourceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::FlowLog" - ], + "WebIdentityRoleArn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "WebIdentityTokenAudiences": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Type", - "Properties" + "ClientId", + "TenantId", + "WebIdentityRoleArn", + "WebIdentityTokenAudiences" ], "type": "object" }, - "AWS::EC2::FlowLog.DestinationOptions": { + "AWS::DevOpsAgent::Service.BearerTokenDetails": { "additionalProperties": false, "properties": { - "FileFormat": { - "markdownDescription": "The format for the flow log. The default is `plain-text` .", - "title": "FileFormat", + "AuthorizationHeader": { "type": "string" }, - "HiveCompatiblePartitions": { - "markdownDescription": "Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. The default is `false` .", - "title": "HiveCompatiblePartitions", - "type": "boolean" + "TokenName": { + "type": "string" }, - "PerHourPartition": { - "markdownDescription": "Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. The default is `false` .", - "title": "PerHourPartition", - "type": "boolean" + "TokenValue": { + "type": "string" } }, "required": [ - "FileFormat", - "HiveCompatiblePartitions", - "PerHourPartition" + "TokenName", + "TokenValue" ], "type": "object" }, - "AWS::EC2::FlowLog.TagFieldSpecification": { + "AWS::DevOpsAgent::Service.DynatraceAuthorizationConfig": { "additionalProperties": false, "properties": { - "ResourceType": { + "OAuthClientCredentials": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.OAuthClientDetails" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Service.DynatraceServiceDetails": { + "additionalProperties": false, + "properties": { + "AccountUrn": { "type": "string" }, - "TagKeys": { - "items": { - "type": "string" - }, - "type": "array" + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.DynatraceAuthorizationConfig" } }, "required": [ - "ResourceType", - "TagKeys" + "AccountUrn" ], "type": "object" }, - "AWS::EC2::FpgaImage": { + "AWS::DevOpsAgent::Service.GitLabDetails": { "additionalProperties": false, "properties": { - "Condition": { + "GroupId": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TargetUrl": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "TokenType": { + "type": "string" }, - "Metadata": { - "type": "object" + "TokenValue": { + "type": "string" + } + }, + "required": [ + "TargetUrl", + "TokenType", + "TokenValue" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.MCPServerAuthorizationConfig": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.ApiKeyDetails" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InputStorageLocation": { - "$ref": "#/definitions/AWS::EC2::FpgaImage.StorageLocation" - }, - "LogsStorageLocation": { - "$ref": "#/definitions/AWS::EC2::FpgaImage.StorageLocation" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" + "BearerToken": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.BearerTokenDetails" }, - "Type": { - "enum": [ - "AWS::EC2::FpgaImage" - ], + "OAuthClientCredentials": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerOAuthClientCredentialsConfig" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Service.MCPServerDetails": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerAuthorizationConfig" + }, + "Description": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Endpoint": { + "type": "string" + }, + "Name": { "type": "string" } }, "required": [ - "Type" + "AuthorizationConfig", + "Endpoint", + "Name" ], "type": "object" }, - "AWS::EC2::FpgaImage.StorageLocation": { + "AWS::DevOpsAgent::Service.MCPServerGrafanaAuthorizationConfig": { "additionalProperties": false, "properties": { - "Bucket": { + "BearerToken": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.BearerTokenDetails" + } + }, + "required": [ + "BearerToken" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.MCPServerGrafanaDetails": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerGrafanaAuthorizationConfig" + }, + "Description": { "type": "string" }, - "Key": { + "Endpoint": { + "type": "string" + }, + "Name": { "type": "string" } }, + "required": [ + "AuthorizationConfig", + "Endpoint", + "Name" + ], "type": "object" }, - "AWS::EC2::GatewayRouteTableAssociation": { + "AWS::DevOpsAgent::Service.MCPServerOAuthClientCredentialsConfig": { "additionalProperties": false, "properties": { - "Condition": { + "ClientId": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ClientSecret": { + "type": "string" }, - "Metadata": { + "ExchangeParameters": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayId": { - "markdownDescription": "The ID of the gateway.", - "title": "GatewayId", - "type": "string" - }, - "RouteTableId": { - "markdownDescription": "The ID of the route table.", - "title": "RouteTableId", + "ExchangeUrl": { + "type": "string" + }, + "Scopes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ClientId", + "ClientSecret", + "ExchangeUrl" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.MCPServerSigV4AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "CustomHeaders": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "GatewayId", - "RouteTableId" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::EC2::GatewayRouteTableAssociation" - ], + "McpRoleArn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Region": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Service": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Region", + "Service" ], "type": "object" }, - "AWS::EC2::Host": { + "AWS::DevOpsAgent::Service.MCPServerSigV4Details": { "additionalProperties": false, "properties": { - "Condition": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSigV4AuthorizationConfig" + }, + "Description": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Endpoint": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Name": { + "type": "string" + } + }, + "required": [ + "AuthorizationConfig", + "Endpoint", + "Name" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.MCPServerSplunkAuthorizationConfig": { + "additionalProperties": false, + "properties": { + "BearerToken": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.BearerTokenDetails" + } + }, + "required": [ + "BearerToken" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.MCPServerSplunkDetails": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSplunkAuthorizationConfig" }, - "Metadata": { + "Description": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "AuthorizationConfig", + "Endpoint", + "Name" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.NewRelicApiKeyConfig": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "AlertPolicyIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ApiKey": { + "type": "string" + }, + "ApplicationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EntityGuids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "AccountId", + "ApiKey", + "Region" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.NewRelicAuthorizationConfig": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.NewRelicApiKeyConfig" + } + }, + "required": [ + "ApiKey" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.NewRelicServiceDetails": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.NewRelicAuthorizationConfig" + } + }, + "required": [ + "AuthorizationConfig" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.OAuthClientDetails": { + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string" + }, + "ClientName": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ExchangeParameters": { "type": "object" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.PagerDutyAuthorizationConfig": { + "additionalProperties": false, + "properties": { + "OAuthClientCredentials": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.OAuthClientDetails" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Service.PagerDutyDetails": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.PagerDutyAuthorizationConfig" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetId": { - "markdownDescription": "The ID of the Outpost hardware asset on which the Dedicated Host is allocated.", - "title": "AssetId", - "type": "string" - }, - "AutoPlacement": { - "markdownDescription": "Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. For more information, see [Understanding auto-placement and affinity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding) in the *Amazon EC2 User Guide* .\n\nDefault: `off`", - "title": "AutoPlacement", - "type": "string" - }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone in which to allocate the Dedicated Host.", - "title": "AvailabilityZone", - "type": "string" - }, - "HostMaintenance": { - "markdownDescription": "Indicates whether host maintenance is enabled or disabled for the Dedicated Host.", - "title": "HostMaintenance", - "type": "string" - }, - "HostRecovery": { - "markdownDescription": "Indicates whether to enable or disable host recovery for the Dedicated Host. Host recovery is disabled by default. For more information, see [Host recovery](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html) in the *Amazon EC2 User Guide* .\n\nDefault: `off`", - "title": "HostRecovery", - "type": "string" - }, - "InstanceFamily": { - "markdownDescription": "The instance family supported by the Dedicated Host. For example, `m5` .", - "title": "InstanceFamily", - "type": "string" - }, - "InstanceType": { - "markdownDescription": "Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only.", - "title": "InstanceType", - "type": "string" - }, - "OutpostArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Outpost on which the Dedicated Host is allocated.", - "title": "OutpostArn", + "Scopes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AuthorizationConfig", + "Scopes" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredAzureIdentityDetails": { + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string" + }, + "TenantId": { + "type": "string" + }, + "WebIdentityRoleArn": { + "type": "string" + }, + "WebIdentityTokenAudiences": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ClientId", + "TenantId", + "WebIdentityRoleArn", + "WebIdentityTokenAudiences" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredDynatraceDetails": { + "additionalProperties": false, + "properties": { + "AccountUrn": { + "type": "string" + } + }, + "required": [ + "AccountUrn" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredGitLabServiceDetails": { + "additionalProperties": false, + "properties": { + "GroupId": { + "type": "string" + }, + "TargetUrl": { + "type": "string" + }, + "TokenType": { + "type": "string" + } + }, + "required": [ + "TargetUrl", + "TokenType" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredMCPServerDetails": { + "additionalProperties": false, + "properties": { + "ApiKeyHeader": { + "type": "string" + }, + "AuthorizationMethod": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "AuthorizationMethod", + "Endpoint", + "Name" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredMCPServerGrafanaDetails": { + "additionalProperties": false, + "properties": { + "AuthorizationMethod": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "AuthorizationMethod", + "Endpoint" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredMCPServerSigV4Details": { + "additionalProperties": false, + "properties": { + "CustomHeaders": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Any tags assigned to the Dedicated Host.", - "title": "Tags", - "type": "array" } }, - "required": [ - "AvailabilityZone" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::EC2::Host" - ], + "Description": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Endpoint": { + "type": "string" + }, + "McpRoleArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Service": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Endpoint", + "Name", + "Region", + "RoleArn", + "Service" ], "type": "object" }, - "AWS::EC2::IPAM": { + "AWS::DevOpsAgent::Service.RegisteredNewRelicDetails": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "AccountId", + "Region" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredPagerDutyDetails": { + "additionalProperties": false, + "properties": { + "Scopes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Scopes" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.RegisteredServiceNowDetails": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Service.ServiceDetails": { + "additionalProperties": false, + "properties": { + "AzureIdentity": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.AzureIdentityServiceDetails" + }, + "Dynatrace": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.DynatraceServiceDetails" + }, + "GitLab": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.GitLabDetails" + }, + "MCPServer": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerDetails" + }, + "MCPServerGrafana": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerGrafanaDetails" + }, + "MCPServerNewRelic": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.NewRelicServiceDetails" + }, + "MCPServerSigV4": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSigV4Details" + }, + "MCPServerSplunk": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerSplunkDetails" + }, + "PagerDuty": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.PagerDutyDetails" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.ServiceNowServiceDetails" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Service.ServiceNowAuthorizationConfig": { + "additionalProperties": false, + "properties": { + "OAuthClientCredentials": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.OAuthClientDetails" + } + }, + "type": "object" + }, + "AWS::DevOpsAgent::Service.ServiceNowServiceDetails": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::DevOpsAgent::Service.ServiceNowAuthorizationConfig" + }, + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::DevOpsAgent::Trigger": { "additionalProperties": false, "properties": { "Condition": { @@ -122485,56 +121704,33 @@ "Properties": { "additionalProperties": false, "properties": { - "DefaultResourceDiscoveryOrganizationalUnitExclusions": { - "items": { - "$ref": "#/definitions/AWS::EC2::IPAM.IpamOrganizationalUnitExclusion" - }, - "markdownDescription": "If your IPAM is integrated with AWS Organizations, you can exclude an [organizational unit (OU)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit) from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see [Exclude organizational units from IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html) in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .", - "title": "DefaultResourceDiscoveryOrganizationalUnitExclusions", - "type": "array" + "Action": { + "type": "object" }, - "Description": { - "markdownDescription": "The description for the IPAM.", - "title": "Description", + "AgentSpaceId": { "type": "string" }, - "EnablePrivateGua": { - "markdownDescription": "Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.", - "title": "EnablePrivateGua", - "type": "boolean" + "Condition": { + "$ref": "#/definitions/AWS::DevOpsAgent::Trigger.Condition" }, - "MeteredAccount": { - "markdownDescription": "A metered account is an AWS account that is charged for active IP addresses managed in IPAM. For more information, see [Enable cost distribution](https://docs.aws.amazon.com/vpc/latest/ipam/ipam-enable-cost-distro.html) in the *Amazon VPC IPAM User Guide* .\n\nPossible values:\n\n- `ipam-owner` (default): The AWS account which owns the IPAM is charged for all active IP addresses managed in IPAM.\n- `resource-owner` : The AWS account that owns the IP address is charged for the active IP address.", - "title": "MeteredAccount", + "Status": { "type": "string" }, - "OperatingRegions": { - "items": { - "$ref": "#/definitions/AWS::EC2::IPAM.IpamOperatingRegion" - }, - "markdownDescription": "The operating Regions for an IPAM. Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions.\n\nFor more information about operating Regions, see [Create an IPAM](https://docs.aws.amazon.com//vpc/latest/ipam/create-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "OperatingRegions", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value.", - "title": "Tags", - "type": "array" - }, - "Tier": { - "markdownDescription": "IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see the [VPC IPAM product pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", - "title": "Tier", + "Type": { "type": "string" } }, + "required": [ + "Action", + "AgentSpaceId", + "Condition", + "Type" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAM" + "AWS::DevOpsAgent::Trigger" ], "type": "string" }, @@ -122548,39 +121744,36 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::IPAM.IpamOperatingRegion": { + "AWS::DevOpsAgent::Trigger.Condition": { "additionalProperties": false, "properties": { - "RegionName": { - "markdownDescription": "The name of the operating Region.", - "title": "RegionName", - "type": "string" + "Schedule": { + "$ref": "#/definitions/AWS::DevOpsAgent::Trigger.Schedule" } }, "required": [ - "RegionName" + "Schedule" ], "type": "object" }, - "AWS::EC2::IPAM.IpamOrganizationalUnitExclusion": { + "AWS::DevOpsAgent::Trigger.Schedule": { "additionalProperties": false, "properties": { - "OrganizationsEntityPath": { - "markdownDescription": "An AWS Organizations entity path. For more information on the entity path, see [Understand the AWS Organizations entity path](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path) in the *AWS Identity and Access Management User Guide* .", - "title": "OrganizationsEntityPath", + "Expression": { "type": "string" } }, "required": [ - "OrganizationsEntityPath" + "Expression" ], "type": "object" }, - "AWS::EC2::IPAMAllocation": { + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration": { "additionalProperties": false, "properties": { "Condition": { @@ -122614,36 +121807,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Cidr": { - "markdownDescription": "The CIDR you would like to allocate from the IPAM pool. Note the following:\n\n- If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.\n- If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.\n\nPossible values: Any available IPv4 or IPv6 CIDR.", - "title": "Cidr", - "type": "string" - }, - "Description": { - "markdownDescription": "A description for the allocation.", - "title": "Description", - "type": "string" - }, - "IpamPoolId": { - "markdownDescription": "The ID of the IPAM pool from which you would like to allocate a CIDR.", - "title": "IpamPoolId", - "type": "string" - }, - "NetmaskLength": { - "markdownDescription": "The netmask length of the CIDR you would like to allocate from the IPAM pool. Note the following:\n\n- If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.\n- If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.\n\nPossible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.", - "title": "NetmaskLength", - "type": "number" - } - }, - "required": [ - "IpamPoolId" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMAllocation" + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" ], "type": "string" }, @@ -122657,12 +121826,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::IPAMPool": { + "AWS::DevOpsGuru::NotificationChannel": { "additionalProperties": false, "properties": { "Condition": { @@ -122697,105 +121865,20 @@ "Properties": { "additionalProperties": false, "properties": { - "AddressFamily": { - "markdownDescription": "The address family of the pool.", - "title": "AddressFamily", - "type": "string" - }, - "AllocationDefaultNetmaskLength": { - "markdownDescription": "The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.", - "title": "AllocationDefaultNetmaskLength", - "type": "number" - }, - "AllocationMaxNetmaskLength": { - "markdownDescription": "The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.", - "title": "AllocationMaxNetmaskLength", - "type": "number" - }, - "AllocationMinNetmaskLength": { - "markdownDescription": "The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.", - "title": "AllocationMinNetmaskLength", - "type": "number" - }, - "AllocationResourceTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.", - "title": "AllocationResourceTags", - "type": "array" - }, - "AutoImport": { - "markdownDescription": "If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.\n\nA locale must be set on the pool for this feature to work.", - "title": "AutoImport", - "type": "boolean" - }, - "AwsService": { - "markdownDescription": "Limits which service in AWS that the pool can be used in. \"ec2\", for example, allows users to use space for Elastic IP addresses and VPCs.", - "title": "AwsService", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the IPAM pool.", - "title": "Description", - "type": "string" - }, - "IpamScopeId": { - "markdownDescription": "The ID of the scope in which you would like to create the IPAM pool.", - "title": "IpamScopeId", - "type": "string" - }, - "Locale": { - "markdownDescription": "The locale of the IPAM pool.\n\nThe locale for the pool should be one of the following:\n\n- An AWS Region where you want this IPAM pool to be available for allocations.\n- The network border group for an AWS Local Zone where you want this IPAM pool to be available for allocations ( [supported Local Zones](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail) ). This option is only available for IPAM IPv4 pools in the public scope.\n\nIf you choose an AWS Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.", - "title": "Locale", - "type": "string" - }, - "ProvisionedCidrs": { - "items": { - "$ref": "#/definitions/AWS::EC2::IPAMPool.ProvisionedCidr" - }, - "markdownDescription": "Information about the CIDRs provisioned to an IPAM pool.", - "title": "ProvisionedCidrs", - "type": "array" - }, - "PublicIpSource": { - "markdownDescription": "The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is `BYOIP` . For more information, see [Create IPv6 pools](https://docs.aws.amazon.com//vpc/latest/ipam/intro-create-ipv6-pools.html) in the *Amazon VPC IPAM User Guide* . By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see [Quotas for your IPAM](https://docs.aws.amazon.com//vpc/latest/ipam/quotas-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "PublicIpSource", - "type": "string" - }, - "PubliclyAdvertisable": { - "markdownDescription": "Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to `ipv4` .", - "title": "PubliclyAdvertisable", - "type": "boolean" - }, - "SourceIpamPoolId": { - "markdownDescription": "The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.", - "title": "SourceIpamPoolId", - "type": "string" - }, - "SourceResource": { - "$ref": "#/definitions/AWS::EC2::IPAMPool.SourceResource", - "markdownDescription": "The resource used to provision CIDRs to a resource planning pool.", - "title": "SourceResource" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value.", - "title": "Tags", - "type": "array" + "Config": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig", + "markdownDescription": "A `NotificationChannelConfig` object that contains information about configured notification channels.", + "title": "Config" } }, "required": [ - "AddressFamily", - "IpamScopeId" + "Config" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMPool" + "AWS::DevOpsGuru::NotificationChannel" ], "type": "string" }, @@ -122814,53 +121897,56 @@ ], "type": "object" }, - "AWS::EC2::IPAMPool.ProvisionedCidr": { + "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { "additionalProperties": false, "properties": { - "Cidr": { - "markdownDescription": "The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is `10.24.34.0/23` . An IPv6 CIDR example is `2001:DB8::/32` .", - "title": "Cidr", - "type": "string" + "Filters": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationFilterConfig", + "markdownDescription": "The filter configurations for the Amazon SNS notification topic you use with DevOps Guru. If you do not provide filter configurations, the default configurations are to receive notifications for all message types of `High` or `Medium` severity.", + "title": "Filters" + }, + "Sns": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig", + "markdownDescription": "Information about a notification channel configured in DevOps Guru to send notifications when insights are created.\n\nIf you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission to send it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. DevOps Guru only supports standard SNS topics. For more information, see [Permissions for Amazon SNS topics](https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html) .\n\nIf you use an Amazon SNS topic that is encrypted by an AWS Key Management Service customer-managed key (CMK), then you must add permissions to the CMK. For more information, see [Permissions for AWS KMS\u2013encrypted Amazon SNS topics](https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html) .", + "title": "Sns" } }, - "required": [ - "Cidr" - ], "type": "object" }, - "AWS::EC2::IPAMPool.SourceResource": { + "AWS::DevOpsGuru::NotificationChannel.NotificationFilterConfig": { "additionalProperties": false, "properties": { - "ResourceId": { - "markdownDescription": "The source resource ID.", - "title": "ResourceId", - "type": "string" - }, - "ResourceOwner": { - "markdownDescription": "The source resource owner.", - "title": "ResourceOwner", - "type": "string" - }, - "ResourceRegion": { - "markdownDescription": "The source resource Region.", - "title": "ResourceRegion", - "type": "string" + "MessageTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The events that you want to receive notifications for. For example, you can choose to receive notifications only when the severity level is upgraded or a new insight is created.", + "title": "MessageTypes", + "type": "array" }, - "ResourceType": { - "markdownDescription": "The source resource type.", - "title": "ResourceType", + "Severities": { + "items": { + "type": "string" + }, + "markdownDescription": "The severity levels that you want to receive notifications for. For example, you can choose to receive notifications only for insights with `HIGH` and `MEDIUM` severity levels. For more information, see [Understanding insight severities](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-insights.html#understanding-insights-severities) .", + "title": "Severities", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an Amazon Simple Notification Service topic.", + "title": "TopicArn", "type": "string" } }, - "required": [ - "ResourceId", - "ResourceOwner", - "ResourceRegion", - "ResourceType" - ], "type": "object" }, - "AWS::EC2::IPAMPoolCidr": { + "AWS::DevOpsGuru::ResourceCollection": { "additionalProperties": false, "properties": { "Condition": { @@ -122895,30 +121981,20 @@ "Properties": { "additionalProperties": false, "properties": { - "Cidr": { - "markdownDescription": "The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is `10.24.34.0/23` . An IPv6 CIDR example is `2001:DB8::/32` .", - "title": "Cidr", - "type": "string" - }, - "IpamPoolId": { - "markdownDescription": "The ID of the IPAM pool.", - "title": "IpamPoolId", - "type": "string" - }, - "NetmaskLength": { - "markdownDescription": "The netmask length of the CIDR you'd like to provision to a pool. Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. \"NetmaskLength\" or \"Cidr\" is required.", - "title": "NetmaskLength", - "type": "number" + "ResourceCollectionFilter": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter", + "markdownDescription": "Information about a filter used to specify which AWS resources are analyzed for anomalous behavior by DevOps Guru.", + "title": "ResourceCollectionFilter" } }, "required": [ - "IpamPoolId" + "ResourceCollectionFilter" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMPoolCidr" + "AWS::DevOpsGuru::ResourceCollection" ], "type": "string" }, @@ -122937,7 +122013,59 @@ ], "type": "object" }, - "AWS::EC2::IPAMPrefixListResolver": { + "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { + "additionalProperties": false, + "properties": { + "StackNames": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of CloudFormation stack names.", + "title": "StackNames", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { + "additionalProperties": false, + "properties": { + "CloudFormation": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter", + "markdownDescription": "Information about AWS CloudFormation stacks. You can use up to 1000 stacks to specify which AWS resources in your account to analyze. For more information, see [Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html) in the *AWS CloudFormation User Guide* .", + "title": "CloudFormation" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.TagCollection" + }, + "markdownDescription": "The AWS tags used to filter the resources in the resource collection.\n\nTags help you identify and organize your AWS resources. Many AWS services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an AWS Lambda function. For more information about using tags, see the [Tagging best practices](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) whitepaper.\n\nEach AWS tag has two parts.\n\n- A tag *key* (for example, `CostCenter` , `Environment` , `Project` , or `Secret` ). Tag *keys* are case-sensitive.\n- A field known as a tag *value* (for example, `111122223333` , `Production` , or a team name). Omitting the tag *value* is the same as using an empty string. Like tag *keys* , tag *values* are case-sensitive. The tag value is a required property when AppBoundaryKey is specified.\n\nTogether these are known as *key* - *value* pairs.\n\n> The string used for a *key* in a tag that you use to define your resource coverage must begin with the prefix `Devops-guru-` . The tag *key* might be `DevOps-Guru-deployment-application` or `devops-guru-rds-application` . When you create a *key* , the case of characters in the *key* can be whatever you choose. After you create a *key* , it is case-sensitive. For example, DevOps Guru works with a *key* named `devops-guru-rds` and a *key* named `DevOps-Guru-RDS` , and these act as two different *keys* . Possible *key* / *value* pairs in your application might be `Devops-Guru-production-application/RDS` or `Devops-Guru-production-application/containers` .", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.TagCollection": { + "additionalProperties": false, + "properties": { + "AppBoundaryKey": { + "markdownDescription": "An AWS tag *key* that is used to identify the AWS resources that DevOps Guru analyzes. All AWS resources in your account and Region tagged with this *key* make up your DevOps Guru application and analysis boundary.\n\n> When you create a *key* , the case of characters in the *key* can be whatever you choose. After you create a *key* , it is case-sensitive. For example, DevOps Guru works with a *key* named `devops-guru-rds` and a *key* named `DevOps-Guru-RDS` , and these act as two different *keys* . Possible *key* / *value* pairs in your application might be `Devops-Guru-production-application/RDS` or `Devops-Guru-production-application/containers` .", + "title": "AppBoundaryKey", + "type": "string" + }, + "TagValues": { + "items": { + "type": "string" + }, + "markdownDescription": "The values in an AWS tag collection.\n\nThe tag's *value* is a field used to associate a string with the tag *key* (for example, `111122223333` , `Production` , or a team name). The *key* and *value* are the tag's *key* pair. Omitting the tag *value* is the same as using an empty string. Like tag *keys* , tag *values* are case-sensitive. You can specify a maximum of 256 characters for a tag value. The tag value is a required property when *AppBoundaryKey* is specified.", + "title": "TagValues", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DirectConnect::Connection": { "additionalProperties": false, "properties": { "Condition": { @@ -122972,20 +122100,23 @@ "Properties": { "additionalProperties": false, "properties": { - "AddressFamily": { + "Bandwidth": { "type": "string" }, - "Description": { + "ConnectionName": { "type": "string" }, - "IpamId": { + "LagId": { "type": "string" }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRule" - }, - "type": "array" + "Location": { + "type": "string" + }, + "ProviderName": { + "type": "string" + }, + "RequestMACSec": { + "type": "boolean" }, "Tags": { "items": { @@ -122995,13 +122126,15 @@ } }, "required": [ - "AddressFamily" + "Bandwidth", + "ConnectionName", + "Location" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMPrefixListResolver" + "AWS::DirectConnect::Connection" ], "type": "string" }, @@ -123020,64 +122153,7 @@ ], "type": "object" }, - "AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRule": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRuleCondition" - }, - "type": "array" - }, - "IpamScopeId": { - "type": "string" - }, - "ResourceType": { - "type": "string" - }, - "RuleType": { - "type": "string" - }, - "StaticCidr": { - "type": "string" - } - }, - "required": [ - "RuleType" - ], - "type": "object" - }, - "AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRuleCondition": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "IpamPoolId": { - "type": "string" - }, - "Operation": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "ResourceOwner": { - "type": "string" - }, - "ResourceRegion": { - "type": "string" - }, - "ResourceTag": { - "$ref": "#/definitions/Tag" - } - }, - "required": [ - "Operation" - ], - "type": "object" - }, - "AWS::EC2::IPAMPrefixListResolverTarget": { + "AWS::DirectConnect::DirectConnectGateway": { "additionalProperties": false, "properties": { "Condition": { @@ -123112,16 +122188,10 @@ "Properties": { "additionalProperties": false, "properties": { - "DesiredVersion": { - "type": "number" - }, - "IpamPrefixListResolverId": { - "type": "string" - }, - "PrefixListId": { + "AmazonSideAsn": { "type": "string" }, - "PrefixListRegion": { + "DirectConnectGatewayName": { "type": "string" }, "Tags": { @@ -123129,22 +122199,16 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TrackLatestVersion": { - "type": "boolean" } }, "required": [ - "IpamPrefixListResolverId", - "PrefixListId", - "PrefixListRegion", - "TrackLatestVersion" + "DirectConnectGatewayName" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMPrefixListResolverTarget" + "AWS::DirectConnect::DirectConnectGateway" ], "type": "string" }, @@ -123163,7 +122227,7 @@ ], "type": "object" }, - "AWS::EC2::IPAMResourceDiscovery": { + "AWS::DirectConnect::DirectConnectGatewayAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -123198,41 +122262,31 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The resource discovery description.", - "title": "Description", + "AcceptDirectConnectGatewayAssociationProposalRoleArn": { "type": "string" }, - "OperatingRegions": { + "AllowedPrefixesToDirectConnectGateway": { "items": { - "$ref": "#/definitions/AWS::EC2::IPAMResourceDiscovery.IpamOperatingRegion" + "type": "string" }, - "markdownDescription": "The operating Regions for the resource discovery. Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions.", - "title": "OperatingRegions", "type": "array" }, - "OrganizationalUnitExclusions": { - "items": { - "$ref": "#/definitions/AWS::EC2::IPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusion" - }, - "markdownDescription": "If your IPAM is integrated with AWS Organizations, you can exclude an [organizational unit (OU)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit) from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see [Exclude organizational units from IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html) in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .", - "title": "OrganizationalUnitExclusions", - "type": "array" + "AssociatedGatewayId": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A tag is a label that you assign to an AWS resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your AWS costs.", - "title": "Tags", - "type": "array" + "DirectConnectGatewayId": { + "type": "string" } }, + "required": [ + "AssociatedGatewayId", + "DirectConnectGatewayId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMResourceDiscovery" + "AWS::DirectConnect::DirectConnectGatewayAssociation" ], "type": "string" }, @@ -123246,39 +122300,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::IPAMResourceDiscovery.IpamOperatingRegion": { - "additionalProperties": false, - "properties": { - "RegionName": { - "markdownDescription": "The name of the operating Region.", - "title": "RegionName", - "type": "string" - } - }, - "required": [ - "RegionName" - ], - "type": "object" - }, - "AWS::EC2::IPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusion": { - "additionalProperties": false, - "properties": { - "OrganizationsEntityPath": { - "markdownDescription": "An AWS Organizations entity path. For more information on the entity path, see [Understand the AWS Organizations entity path](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path) in the *AWS Identity and Access Management User Guide* .", - "title": "OrganizationsEntityPath", - "type": "string" - } - }, - "required": [ - "OrganizationsEntityPath" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::IPAMResourceDiscoveryAssociation": { + "AWS::DirectConnect::Lag": { "additionalProperties": false, "properties": { "Condition": { @@ -123313,34 +122340,41 @@ "Properties": { "additionalProperties": false, "properties": { - "IpamId": { - "markdownDescription": "The IPAM ID.", - "title": "IpamId", + "ConnectionsBandwidth": { "type": "string" }, - "IpamResourceDiscoveryId": { - "markdownDescription": "The resource discovery ID.", - "title": "IpamResourceDiscoveryId", + "LagName": { + "type": "string" + }, + "Location": { "type": "string" }, + "MinimumLinks": { + "type": "number" + }, + "ProviderName": { + "type": "string" + }, + "RequestMACSec": { + "type": "boolean" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A tag is a label that you assign to an AWS resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your AWS costs.", - "title": "Tags", "type": "array" } }, "required": [ - "IpamId", - "IpamResourceDiscoveryId" + "ConnectionsBandwidth", + "LagName", + "Location" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMResourceDiscoveryAssociation" + "AWS::DirectConnect::Lag" ], "type": "string" }, @@ -123359,7 +122393,7 @@ ], "type": "object" }, - "AWS::EC2::IPAMScope": { + "AWS::DirectConnect::PrivateVirtualInterface": { "additionalProperties": false, "properties": { "Condition": { @@ -123394,38 +122428,57 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the scope.", - "title": "Description", + "AllocatePrivateVirtualInterfaceRoleArn": { "type": "string" }, - "ExternalAuthorityConfiguration": { - "$ref": "#/definitions/AWS::EC2::IPAMScope.IpamScopeExternalAuthorityConfiguration", - "markdownDescription": "The configuration that links an Amazon VPC IPAM scope to an external authority system. It specifies the type of external system and the external resource identifier that identifies your account or instance in that system.\n\nFor more information, see [Integrate VPC IPAM with Infoblox infrastructure](https://docs.aws.amazon.com/vpc/latest/ipam/integrate-infoblox-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "ExternalAuthorityConfiguration" + "BgpPeers": { + "items": { + "$ref": "#/definitions/AWS::DirectConnect::PrivateVirtualInterface.BgpPeer" + }, + "type": "array" }, - "IpamId": { - "markdownDescription": "The ID of the IPAM for which you're creating this scope.", - "title": "IpamId", + "ConnectionId": { + "type": "string" + }, + "DirectConnectGatewayId": { + "type": "string" + }, + "EnableSiteLink": { + "type": "boolean" + }, + "Mtu": { + "type": "number" + }, + "RateLimit": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value.", - "title": "Tags", "type": "array" + }, + "VirtualGatewayId": { + "type": "string" + }, + "VirtualInterfaceName": { + "type": "string" + }, + "Vlan": { + "type": "number" } }, "required": [ - "IpamId" + "BgpPeers", + "ConnectionId", + "VirtualInterfaceName", + "Vlan" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IPAMScope" + "AWS::DirectConnect::PrivateVirtualInterface" ], "type": "string" }, @@ -123444,35 +122497,40 @@ ], "type": "object" }, - "AWS::EC2::IPAMScope.IpamScopeExternalAuthorityConfiguration": { + "AWS::DirectConnect::PrivateVirtualInterface.BgpPeer": { "additionalProperties": false, "properties": { - "ExternalResourceIdentifier": { - "markdownDescription": "The identifier for the external resource managing this scope. For Infoblox integrations, this is the Infoblox resource identifier in the format `.identity.account..` .", - "title": "ExternalResourceIdentifier", + "AddressFamily": { "type": "string" }, - "IpamScopeExternalAuthorityType": { - "markdownDescription": "The type of external authority managing this scope. Currently supports `Infoblox` for integration with Infoblox Universal DDI.", - "title": "IpamScopeExternalAuthorityType", + "AmazonAddress": { + "type": "string" + }, + "Asn": { + "type": "string" + }, + "AuthKey": { + "type": "string" + }, + "BgpPeerId": { + "type": "string" + }, + "CustomerAddress": { "type": "string" } }, "required": [ - "ExternalResourceIdentifier", - "IpamScopeExternalAuthorityType" + "AddressFamily", + "Asn" ], "type": "object" }, - "AWS::EC2::Instance": { + "AWS::DirectConnect::PublicVirtualInterface": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, - "CreationPolicy": { - "type": "object" - }, "DeletionPolicy": { "enum": [ "Delete", @@ -123502,250 +122560,51 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalInfo": { - "markdownDescription": "This property is reserved for internal use. If you use it, the stack fails with this error: `Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)` .", - "title": "AdditionalInfo", - "type": "string" - }, - "Affinity": { - "markdownDescription": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify `host` . If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify `default` .", - "title": "Affinity", - "type": "string" - }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone of the instance.\n\nIf not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region.\n\nThis parameter is not supported by [DescribeImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html) .", - "title": "AvailabilityZone", - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" - }, - "markdownDescription": "The block device mapping entries that defines the block devices to attach to the instance at launch.\n\nBy default, the block devices specified in the block device mapping for the AMI are used. You can override the AMI block device mapping using the instance block device mapping. For the root volume, you can override only the volume size, volume type, volume encryption settings, and the `DeleteOnTermination` setting.\n\n> After the instance is running, you can modify only the `DeleteOnTermination` parameter for the attached volumes without interrupting the instance. Modifying any other parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "BlockDeviceMappings", - "type": "array" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions", - "markdownDescription": "The CPU options for the instance. For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification", - "markdownDescription": "The credit option for CPU usage of the burstable performance instance. Valid values are `standard` and `unlimited` . To change this attribute after launch, use [ModifyInstanceCreditSpecification](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html) . For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) in the *Amazon EC2 User Guide* .\n\nDefault: `standard` (T2 instances) or `unlimited` (T3/T3a/T4g instances)\n\nFor T3 instances with `host` tenancy, only `standard` is supported.", - "title": "CreditSpecification" - }, - "DisableApiTermination": { - "markdownDescription": "Indicates whether termination protection is enabled for the instance. The default is `false` , which means that you can terminate the instance using the Amazon EC2 console, command line tools, or API. You can enable termination protection when you launch an instance, while the instance is running, or while the instance is stopped.", - "title": "DisableApiTermination", - "type": "boolean" - }, - "EbsOptimized": { - "markdownDescription": "Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.\n\nDefault: `false`", - "title": "EbsOptimized", - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" - }, - "markdownDescription": "An elastic GPU to associate with the instance.\n\n> Amazon Elastic Graphics reached end of life on January 8, 2024.", - "title": "ElasticGpuSpecifications", - "type": "array" - }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" - }, - "markdownDescription": "An elastic inference accelerator to associate with the instance.\n\n> Amazon Elastic Inference is no longer available.", - "title": "ElasticInferenceAccelerators", - "type": "array" - }, - "EnclaveOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions", - "markdownDescription": "Indicates whether the instance is enabled for AWS Nitro Enclaves.", - "title": "EnclaveOptions" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions", - "markdownDescription": "Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the [hibernation prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernating-prerequisites.html) . For more information, see [Hibernate your Amazon EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) in the *Amazon EC2 User Guide* .\n\nYou can't enable hibernation and AWS Nitro Enclaves on the same instance.", - "title": "HibernationOptions" - }, - "HostId": { - "markdownDescription": "If you specify host for the `Affinity` property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. This type of launch is called an untargeted launch. Note that for untargeted launches, you must have a compatible, dedicated host available to successfully launch instances.", - "title": "HostId", - "type": "string" - }, - "HostResourceGroupArn": { - "markdownDescription": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the *Tenancy* parameter or set it to `host` .", - "title": "HostResourceGroupArn", - "type": "string" - }, - "IamInstanceProfile": { - "markdownDescription": "The name of an IAM instance profile. To create a new IAM instance profile, use the [AWS::IAM::InstanceProfile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html) resource.", - "title": "IamInstanceProfile", - "type": "string" - }, - "ImageId": { - "markdownDescription": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.", - "title": "ImageId", - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "markdownDescription": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).\n\nDefault: `stop`", - "title": "InstanceInitiatedShutdownBehavior", - "type": "string" - }, - "InstanceType": { - "markdownDescription": "The instance type. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nWhen you change your EBS-backed instance type, instance restart or replacement behavior depends on the instance type compatibility between the old and new types. An instance with an instance store volume as the root volume is always replaced. For more information, see [Change the instance type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html) in the *Amazon EC2 User Guide* .", - "title": "InstanceType", - "type": "string" - }, - "Ipv6AddressCount": { - "markdownDescription": "The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.\n\nYou cannot specify this option and the network interfaces option in the same request.", - "title": "Ipv6AddressCount", - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" - }, - "markdownDescription": "The IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.\n\nYou cannot specify this option and the network interfaces option in the same request.", - "title": "Ipv6Addresses", - "type": "array" - }, - "KernelId": { - "markdownDescription": "The ID of the kernel.\n\n> We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [PV-GRUB](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", - "title": "KernelId", - "type": "string" - }, - "KeyName": { - "markdownDescription": "The name of the key pair. For more information, see [Create a key pair for your EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html) .\n\n> If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.", - "title": "KeyName", + "AllocatePublicVirtualInterfaceRoleArn": { "type": "string" }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification", - "markdownDescription": "The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.", - "title": "LaunchTemplate" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" - }, - "markdownDescription": "The license configurations.", - "title": "LicenseSpecifications", - "type": "array" - }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.MetadataOptions", - "markdownDescription": "The metadata options for the instance.", - "title": "MetadataOptions" - }, - "Monitoring": { - "markdownDescription": "Specifies whether detailed monitoring is enabled for the instance. Specify `true` to enable detailed monitoring. Otherwise, basic monitoring is enabled. For more information about detailed monitoring, see [Enable or turn off detailed monitoring for your instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html) in the *Amazon EC2 User Guide* .", - "title": "Monitoring", - "type": "boolean" - }, - "NetworkInterfaces": { + "BgpPeers": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + "$ref": "#/definitions/AWS::DirectConnect::PublicVirtualInterface.BgpPeer" }, - "markdownDescription": "The network interfaces to associate with the instance.\n\n> If you use this property to point to a network interface, you must terminate the original interface before attaching a new one to allow the update of the instance to succeed.\n> \n> If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the VPC-gateway attachment.", - "title": "NetworkInterfaces", "type": "array" }, - "PlacementGroupName": { - "markdownDescription": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).", - "title": "PlacementGroupName", - "type": "string" - }, - "PrivateDnsNameOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.PrivateDnsNameOptions", - "markdownDescription": "The options for the instance hostname.", - "title": "PrivateDnsNameOptions" - }, - "PrivateIpAddress": { - "markdownDescription": "The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.\n\nOnly one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.\n\nYou cannot specify this option and the network interfaces option in the same request.\n\nIf you make an update to an instance that requires replacement, you must assign a new private IP address. During a replacement, AWS CloudFormation creates a new instance but doesn't delete the old instance until the stack has successfully updated. If the stack update fails, AWS CloudFormation uses the old instance to roll back the stack to the previous working state. The old and new instances cannot have the same private IP address.", - "title": "PrivateIpAddress", + "ConnectionId": { "type": "string" }, - "PropagateTagsToVolumeOnCreation": { - "markdownDescription": "Indicates whether to assign the tags specified in the `Tags` property to the volumes specified in the `BlockDeviceMappings` property.\n\nNote that using this feature does not assign the tags to volumes that are created separately and then attached using `AWS::EC2::VolumeAttachment` .", - "title": "PropagateTagsToVolumeOnCreation", - "type": "boolean" - }, - "RamdiskId": { - "markdownDescription": "The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID.\n\n> We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [PV-GRUB](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", - "title": "RamdiskId", + "RateLimit": { "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the security groups. You can specify the IDs of existing security groups and references to resources created by the stack template.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SecurityGroups": { + "RouteFilterPrefixes": { "items": { "type": "string" }, - "markdownDescription": "[Default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead.\n\nYou cannot specify this option and the network interfaces option in the same request. The list can contain both the name of existing Amazon EC2 security groups or references to AWS::EC2::SecurityGroup resources created in the template.\n\nDefault: Amazon EC2 uses the default security group.", - "title": "SecurityGroups", - "type": "array" - }, - "SourceDestCheck": { - "markdownDescription": "Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is `true` , source/destination checks are enabled; otherwise, they are disabled. The default value is `true` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.", - "title": "SourceDestCheck", - "type": "boolean" - }, - "SsmAssociations": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" - }, - "markdownDescription": "The SSM [document](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html) and parameter values in AWS Systems Manager to associate with this instance. To use this property, you must specify an IAM instance profile role for the instance. For more information, see [Create an IAM instance profile for Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-configuring-access-role.html) in the *AWS Systems Manager User Guide* .\n\n> You can associate only one document with an instance.", - "title": "SsmAssociations", "type": "array" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet to launch the instance into.\n\nIf you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.", - "title": "SubnetId", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to add to the instance. These tags are not applied to the EBS volumes, such as the root volume, unless [PropagateTagsToVolumeOnCreation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-propagatetagstovolumeoncreation) is `true` .", - "title": "Tags", "type": "array" }, - "Tenancy": { - "markdownDescription": "The tenancy of the instance. An instance with a tenancy of `dedicated` runs on single-tenant hardware.", - "title": "Tenancy", - "type": "string" - }, - "UserData": { - "markdownDescription": "The parameters or scripts to store as user data. Any scripts in user data are run when you launch the instance. User data is limited to 16 KB. You must provide base64-encoded text. For more information, see [Fn::Base64](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-base64.html) .\n\nIf the root volume is an EBS volume and you update user data, CloudFormation restarts the instance. If the root volume is an instance store volume and you update user data, the instance is replaced.", - "title": "UserData", + "VirtualInterfaceName": { "type": "string" }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.Volume" - }, - "markdownDescription": "The volumes to attach to the instance.", - "title": "Volumes", - "type": "array" + "Vlan": { + "type": "number" } }, + "required": [ + "BgpPeers", + "ConnectionId", + "VirtualInterfaceName", + "Vlan" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Instance" + "AWS::DirectConnect::PublicVirtualInterface" ], "type": "string" }, @@ -123759,483 +122618,40 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.AssociationParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The name of an input parameter that is in the associated SSM document.", - "title": "Key", - "type": "string" - }, - "Value": { - "items": { - "type": "string" - }, - "markdownDescription": "The value of an input parameter.", - "title": "Value", - "type": "array" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EC2::Instance.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "markdownDescription": "The device name. For available device names, see [Device names for volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html) .\n\n> After the instance is running, this parameter is used to specify the device name of the block device mapping to update.", - "title": "DeviceName", - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::Instance.Ebs", - "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.\n\n> After the instance is running, you can modify only the `DeleteOnTermination` parameter for the attached volumes without interrupting the instance. Modifying any other parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) .", - "title": "Ebs" - }, - "NoDevice": { - "markdownDescription": "To omit the device from the block device mapping, specify an empty string.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "NoDevice", - "type": "object" - }, - "VirtualName": { - "markdownDescription": "The virtual device name ( `ephemeral` N). The name must be in the form `ephemeral` *X* where *X* is a number starting from zero (0). For example, an instance type with 2 available instance store volumes can specify mappings for `ephemeral0` and `ephemeral1` . The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.\n\nNVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.\n\n*Constraints* : For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "VirtualName", - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "type": "object" - }, - "AWS::EC2::Instance.CpuOptions": { - "additionalProperties": false, - "properties": { - "CoreCount": { - "markdownDescription": "The number of CPU cores for the instance.", - "title": "CoreCount", - "type": "number" - }, - "ThreadsPerCore": { - "markdownDescription": "The number of threads per CPU core.", - "title": "ThreadsPerCore", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CPUCredits": { - "markdownDescription": "The credit option for CPU usage of the instance.\n\nValid values: `standard` | `unlimited`\n\nT3 instances with `host` tenancy do not support the `unlimited` CPU credit option.", - "title": "CPUCredits", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.Ebs": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "markdownDescription": "Indicates whether the EBS volume is deleted on instance termination. For more information, see [Preserving Amazon EBS volumes on instance termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) in the *Amazon EC2 User Guide* .", - "title": "DeleteOnTermination", - "type": "boolean" - }, - "Encrypted": { - "markdownDescription": "Indicates whether the volume should be encrypted. The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) in the *Amazon Elastic Compute Cloud User Guide* .\n\nEncrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances) .\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "Encrypted", - "type": "boolean" - }, - "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-64,000 IOPS\n\nFor `io1` and `io2` volumes, we guarantee 64,000 IOPS only for [Instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . Other instance families guarantee performance up to 32,000 IOPS.\n\nThis parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS. This parameter is not supported for `gp2` , `st1` , `sc1` , or `standard` volumes.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "Iops", - "type": "number" - }, - "KmsKeyId": { - "markdownDescription": "The identifier of the AWS KMS key to use for Amazon EBS encryption. If `KmsKeyId` is specified, the encrypted state must be `true` . If the encrypted state is `true` but you do not specify `KmsKeyId` , your KMS key for EBS is used.\n\nYou can specify the KMS key using any of the following:\n\n- Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.\n- Key alias. For example, alias/ExampleAlias.\n- Key ARN. For example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n- Alias ARN. For example, arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "KmsKeyId", - "type": "string" - }, - "SnapshotId": { - "markdownDescription": "The ID of the snapshot.\n\nIf you specify both `SnapshotId` and `VolumeSize` , `VolumeSize` must be equal or greater than the size of the snapshot.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "SnapshotId", - "type": "string" - }, - "VolumeSize": { - "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.\n\nThe following are the supported volumes sizes 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\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "VolumeSize", - "type": "number" - }, - "VolumeType": { - "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the *Amazon EC2 User Guide* . If the volume type is `io1` or `io2` , you must specify the IOPS that the volume supports.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", - "title": "VolumeType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.ElasticGpuSpecification": { - "additionalProperties": false, - "properties": { - "Type": { - "markdownDescription": "The type of Elastic Graphics accelerator.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.ElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "markdownDescription": "The number of elastic inference accelerators to attach to the instance.", - "title": "Count", - "type": "number" - }, - "Type": { - "markdownDescription": "The type of elastic inference accelerator. The possible values are `eia1.medium` , `eia1.large` , `eia1.xlarge` , `eia2.medium` , `eia2.large` , and `eia2.xlarge` .", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.EnaSrdSpecification": { - "additionalProperties": false, - "properties": { - "EnaSrdEnabled": { - "markdownDescription": "Indicates whether ENA Express is enabled for the network interface.", - "title": "EnaSrdEnabled", - "type": "boolean" - }, - "EnaSrdUdpSpecification": { - "$ref": "#/definitions/AWS::EC2::Instance.EnaSrdUdpSpecification", - "markdownDescription": "Configures ENA Express for UDP network traffic.", - "title": "EnaSrdUdpSpecification" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.EnaSrdUdpSpecification": { - "additionalProperties": false, - "properties": { - "EnaSrdUdpEnabled": { - "markdownDescription": "Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.", - "title": "EnaSrdUdpEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.EnclaveOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "If this parameter is set to `true` , the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.", - "title": "Enabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "markdownDescription": "Set to `true` to enable your instance for hibernation.\n\nFor Spot Instances, if you set `Configured` to `true` , either omit the `InstanceInterruptionBehavior` parameter (for [`SpotMarketOptions`](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotMarketOptions.html) ), or set it to `hibernate` . When `Configured` is true:\n\n- If you omit `InstanceInterruptionBehavior` , it defaults to `hibernate` .\n- If you set `InstanceInterruptionBehavior` to a value other than `hibernate` , you'll get an error.\n\nDefault: `false`", - "title": "Configured", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "markdownDescription": "The IPv6 address.", - "title": "Ipv6Address", - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::Instance.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "markdownDescription": "The ID of the launch template.\n\nYou must specify either the launch template ID or the launch template name, but not both.", - "title": "LaunchTemplateId", - "type": "string" - }, - "LaunchTemplateName": { - "markdownDescription": "The name of the launch template.\n\nYou must specify either the launch template ID or the launch template name, but not both.", - "title": "LaunchTemplateName", - "type": "string" - }, - "Version": { - "markdownDescription": "The version number of the launch template. You must specify this property.\n\nTo specify the default version of the template, use the `Fn::GetAtt` intrinsic function to retrieve the `DefaultVersionNumber` attribute of the launch template. To specify the latest version of the template, use `Fn::GetAtt` to retrieve the `LatestVersionNumber` attribute. For more information, see [AWS::EC2:LaunchTemplate return values for Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate-return-values-fn--getatt) .", - "title": "Version", - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::EC2::Instance.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the license configuration.", - "title": "LicenseConfigurationArn", - "type": "string" - } - }, - "required": [ - "LicenseConfigurationArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::Instance.MetadataOptions": { - "additionalProperties": false, - "properties": { - "HttpEndpoint": { - "markdownDescription": "Enables or disables the HTTP metadata endpoint on your instances.\n\nIf you specify a value of `disabled` , you cannot access your instance metadata.\n\nDefault: `enabled`", - "title": "HttpEndpoint", - "type": "string" - }, - "HttpProtocolIpv6": { - "markdownDescription": "Enables or disables the IPv6 endpoint for the instance metadata service.\n\nDefault: `disabled`", - "title": "HttpProtocolIpv6", - "type": "string" - }, - "HttpPutResponseHopLimit": { - "markdownDescription": "The maximum number of hops that the metadata token can travel.\n\nPossible values: Integers from 1 to 64", - "title": "HttpPutResponseHopLimit", - "type": "number" - }, - "HttpTokens": { - "markdownDescription": "Indicates whether IMDSv2 is required.\n\n- `optional` - IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.\n- `required` - IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.\n\nDefault:\n\n- If the value of `ImdsSupport` for the Amazon Machine Image (AMI) for your instance is `v2.0` and the account level default is set to `no-preference` , the default is `required` .\n- If the value of `ImdsSupport` for the Amazon Machine Image (AMI) for your instance is `v2.0` , but the account level default is set to `V1 or V2` , the default is `optional` .\n\nThe default value can also be affected by other combinations of parameters. For more information, see [Order of precedence for instance metadata options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html#instance-metadata-options-order-of-precedence) in the *Amazon EC2 User Guide* .", - "title": "HttpTokens", - "type": "string" - }, - "InstanceMetadataTags": { - "markdownDescription": "Set to `enabled` to allow access to instance tags from the instance metadata. Set to `disabled` to turn off access to instance tags from the instance metadata. For more information, see [Work with instance tags using the instance metadata](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS) .\n\nDefault: `disabled`", - "title": "InstanceMetadataTags", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.NetworkInterface": { + "AWS::DirectConnect::PublicVirtualInterface.BgpPeer": { "additionalProperties": false, "properties": { - "AssociateCarrierIpAddress": { - "markdownDescription": "Indicates whether to assign a carrier IP address to the network interface.\n\nYou can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see [Carrier IP address](https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip) in the *AWS Wavelength Developer Guide* .", - "title": "AssociateCarrierIpAddress", - "type": "boolean" - }, - "AssociatePublicIpAddress": { - "markdownDescription": "Indicates whether to assign a public IPv4 address to an instance. Applies only if creating a network interface when launching an instance. The network interface must be the primary network interface. If launching into a default subnet, the default value is `true` .\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", - "title": "AssociatePublicIpAddress", - "type": "boolean" - }, - "DeleteOnTermination": { - "markdownDescription": "Indicates whether the network interface is deleted when the instance is terminated. Applies only if creating a network interface when launching an instance.", - "title": "DeleteOnTermination", - "type": "boolean" - }, - "Description": { - "markdownDescription": "The description of the network interface. Applies only if creating a network interface when launching an instance.", - "title": "Description", - "type": "string" - }, - "DeviceIndex": { - "markdownDescription": "The position of the network interface in the attachment order. A primary network interface has a device index of 0.\n\nIf you create a network interface when launching an instance, you must specify the device index.", - "title": "DeviceIndex", - "type": "string" - }, - "EnaSrdSpecification": { - "$ref": "#/definitions/AWS::EC2::Instance.EnaSrdSpecification", - "markdownDescription": "Configures ENA Express for UDP network traffic.", - "title": "EnaSrdSpecification" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.", - "title": "GroupSet", - "type": "array" - }, - "Ipv6AddressCount": { - "markdownDescription": "A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.", - "title": "Ipv6AddressCount", - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" - }, - "markdownDescription": "The IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.", - "title": "Ipv6Addresses", - "type": "array" - }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of the network interface, when attaching an existing network interface.", - "title": "NetworkInterfaceId", - "type": "string" - }, - "PrivateIpAddress": { - "markdownDescription": "The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance.", - "title": "PrivateIpAddress", - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" - }, - "markdownDescription": "One or more private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary.", - "title": "PrivateIpAddresses", - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "markdownDescription": "The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option.", - "title": "SecondaryPrivateIpAddressCount", - "type": "number" - }, - "SubnetId": { - "markdownDescription": "The ID of the subnet associated with the network interface.", - "title": "SubnetId", + "AddressFamily": { "type": "string" - } - }, - "required": [ - "DeviceIndex" - ], - "type": "object" - }, - "AWS::EC2::Instance.PrivateDnsNameOptions": { - "additionalProperties": false, - "properties": { - "EnableResourceNameDnsAAAARecord": { - "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "EnableResourceNameDnsAAAARecord", - "type": "boolean" - }, - "EnableResourceNameDnsARecord": { - "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "EnableResourceNameDnsARecord", - "type": "boolean" }, - "HostnameType": { - "markdownDescription": "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "HostnameType", + "AmazonAddress": { "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "markdownDescription": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.", - "title": "Primary", - "type": "boolean" }, - "PrivateIpAddress": { - "markdownDescription": "The private IPv4 address.", - "title": "PrivateIpAddress", + "Asn": { "type": "string" - } - }, - "required": [ - "Primary", - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::Instance.SsmAssociation": { - "additionalProperties": false, - "properties": { - "AssociationParameters": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" - }, - "markdownDescription": "The input parameter values to use with the associated SSM document.", - "title": "AssociationParameters", - "type": "array" }, - "DocumentName": { - "markdownDescription": "The name of an SSM document to associate with the instance.", - "title": "DocumentName", - "type": "string" - } - }, - "required": [ - "DocumentName" - ], - "type": "object" - }, - "AWS::EC2::Instance.State": { - "additionalProperties": false, - "properties": { - "Code": { - "markdownDescription": "The state of the instance as a 16-bit unsigned integer.\n\nThe high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values between 256 and 65,535. These numerical values are used for internal purposes and should be ignored.\n\nThe low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values between 0 and 255.\n\nThe valid values for instance-state-code will all be in the range of the low byte and they are:\n\n- `0` : `pending`\n- `16` : `running`\n- `32` : `shutting-down`\n- `48` : `terminated`\n- `64` : `stopping`\n- `80` : `stopped`\n\nYou can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in decimal.", - "title": "Code", + "AuthKey": { "type": "string" }, - "Name": { - "markdownDescription": "The current state of the instance.", - "title": "Name", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.Volume": { - "additionalProperties": false, - "properties": { - "Device": { - "markdownDescription": "The device name (for example, `/dev/sdh` or `xvdh` ).", - "title": "Device", + "BgpPeerId": { "type": "string" }, - "VolumeId": { - "markdownDescription": "The ID of the EBS volume. The volume and instance must be within the same Availability Zone.", - "title": "VolumeId", + "CustomerAddress": { "type": "string" } }, "required": [ - "Device", - "VolumeId" + "AddressFamily", + "Asn" ], "type": "object" }, - "AWS::EC2::InstanceConnectEndpoint": { + "AWS::DirectConnect::TransitVirtualInterface": { "additionalProperties": false, "properties": { "Condition": { @@ -124270,46 +122686,55 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientToken": { - "markdownDescription": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", - "title": "ClientToken", + "AllocateTransitVirtualInterfaceRoleArn": { "type": "string" }, - "PreserveClientIp": { - "markdownDescription": "Indicates whether the client IP address is preserved as the source. The following are the possible values.\n\n- `true` - Use the client IP address as the source.\n- `false` - Use the network interface IP address as the source.\n\n> `PreserveClientIp` is only supported on IPv4 EC2 Instance Connect Endpoints. To use `PreserveClientIp` , the value for `IpAddressType` must be `ipv4` . \n\nDefault: `false`", - "title": "PreserveClientIp", - "type": "boolean" - }, - "SecurityGroupIds": { + "BgpPeers": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DirectConnect::TransitVirtualInterface.BgpPeer" }, - "markdownDescription": "One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for your VPC will be associated with the endpoint.", - "title": "SecurityGroupIds", "type": "array" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet in which to create the EC2 Instance Connect Endpoint.", - "title": "SubnetId", + "ConnectionId": { + "type": "string" + }, + "DirectConnectGatewayId": { + "type": "string" + }, + "EnableSiteLink": { + "type": "boolean" + }, + "Mtu": { + "type": "number" + }, + "RateLimit": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to apply to the EC2 Instance Connect Endpoint during creation.", - "title": "Tags", "type": "array" + }, + "VirtualInterfaceName": { + "type": "string" + }, + "Vlan": { + "type": "number" } }, "required": [ - "SubnetId" + "BgpPeers", + "ConnectionId", + "DirectConnectGatewayId", + "VirtualInterfaceName", + "Vlan" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::InstanceConnectEndpoint" + "AWS::DirectConnect::TransitVirtualInterface" ], "type": "string" }, @@ -124328,31 +122753,35 @@ ], "type": "object" }, - "AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointDnsNames": { + "AWS::DirectConnect::TransitVirtualInterface.BgpPeer": { "additionalProperties": false, "properties": { - "DnsName": { + "AddressFamily": { "type": "string" }, - "FipsDnsName": { + "AmazonAddress": { "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointPublicDnsNames": { - "additionalProperties": false, - "properties": { - "Dualstack": { - "$ref": "#/definitions/AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointDnsNames" }, - "Ipv4": { - "$ref": "#/definitions/AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointDnsNames" + "Asn": { + "type": "string" + }, + "AuthKey": { + "type": "string" + }, + "BgpPeerId": { + "type": "string" + }, + "CustomerAddress": { + "type": "string" } }, + "required": [ + "AddressFamily", + "Asn" + ], "type": "object" }, - "AWS::EC2::InternetGateway": { + "AWS::DirectoryService::MicrosoftAD": { "additionalProperties": false, "properties": { "Condition": { @@ -124387,20 +122816,52 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Any tags to assign to the internet gateway.", - "title": "Tags", - "type": "array" + "CreateAlias": { + "markdownDescription": "Specifies an alias for a directory and assigns the alias to the directory. The alias is used to construct the access URL for the directory, such as `http://.awsapps.com` . By default, CloudFormation does not create an alias.\n\n> After an alias has been created, it cannot be deleted or reused, so this operation should only be used when absolutely necessary.", + "title": "CreateAlias", + "type": "boolean" + }, + "Edition": { + "markdownDescription": "AWS Managed Microsoft AD is available in two editions: `Standard` and `Enterprise` . `Enterprise` is the default.", + "title": "Edition", + "type": "string" + }, + "EnableSso": { + "markdownDescription": "Whether to enable single sign-on for a Microsoft Active Directory in AWS . Single sign-on allows users in your directory to access certain AWS services from a computer joined to the directory without having to enter their credentials separately. If you don't specify a value, CloudFormation disables single sign-on by default.", + "title": "EnableSso", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The fully qualified domain name for the AWS Managed Microsoft AD directory, such as `corp.example.com` . This name will resolve inside your VPC only. It does not need to be publicly resolvable.", + "title": "Name", + "type": "string" + }, + "Password": { + "markdownDescription": "The password for the default administrative user named `Admin` .\n\nIf you need to change the password for the administrator account, see the [ResetUserPassword](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_ResetUserPassword.html) API call in the *Directory Service API Reference* .", + "title": "Password", + "type": "string" + }, + "ShortName": { + "markdownDescription": "The NetBIOS name for your domain, such as `CORP` . If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, `CORP` for the directory DNS `corp.example.com` .", + "title": "ShortName", + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings", + "markdownDescription": "Specifies the VPC settings of the Microsoft AD directory server in AWS .", + "title": "VpcSettings" } }, + "required": [ + "Name", + "Password", + "VpcSettings" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::InternetGateway" + "AWS::DirectoryService::MicrosoftAD" ], "type": "string" }, @@ -124414,11 +122875,35 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::IpPoolRouteTableAssociation": { + "AWS::DirectoryService::MicrosoftAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The identifiers of the subnets for the directory servers. The two subnets must be in different Availability Zones. Directory Service specifies a directory server and a DNS server in each of these subnets.", + "title": "SubnetIds", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The identifier of the VPC in which to create the directory.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DirectoryService::SimpleAD": { "additionalProperties": false, "properties": { "Condition": { @@ -124453,26 +122938,63 @@ "Properties": { "additionalProperties": false, "properties": { - "PublicIpv4Pool": { - "markdownDescription": "The ID of a public IPv4 address pool.", - "title": "PublicIpv4Pool", + "CreateAlias": { + "markdownDescription": "If set to `true` , specifies an alias for a directory and assigns the alias to the directory. The alias is used to construct the access URL for the directory, such as `http://.awsapps.com` . By default, this property is set to `false` .\n\n> After an alias has been created, it cannot be deleted or reused, so this operation should only be used when absolutely necessary.", + "title": "CreateAlias", + "type": "boolean" + }, + "Description": { + "markdownDescription": "A description for the directory.", + "title": "Description", "type": "string" }, - "RouteTableId": { - "markdownDescription": "The ID of a route table.", - "title": "RouteTableId", + "EnableSso": { + "markdownDescription": "Whether to enable single sign-on for a directory. If you don't specify a value, CloudFormation disables single sign-on by default.", + "title": "EnableSso", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The fully qualified name for the directory, such as `corp.example.com` .", + "title": "Name", + "type": "string" + }, + "Password": { + "markdownDescription": "The password for the directory administrator. The directory creation process creates a directory administrator account with the user name `Administrator` and this password.\n\nIf you need to change the password for the administrator account, see the [ResetUserPassword](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_ResetUserPassword.html) API call in the *Directory Service API Reference* .", + "title": "Password", + "type": "string" + }, + "ShortName": { + "markdownDescription": "The NetBIOS name of the directory, such as `CORP` .", + "title": "ShortName", + "type": "string" + }, + "Size": { + "markdownDescription": "The size of the directory. For valid values, see [CreateDirectory](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_CreateDirectory.html) in the *Directory Service API Reference* .", + "title": "Size", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings", + "markdownDescription": "A [DirectoryVpcSettings](https://docs.aws.amazon.com/directoryservice/latest/devguide/API_DirectoryVpcSettings.html) object that contains additional information for the operation.", + "title": "VpcSettings" } }, "required": [ - "PublicIpv4Pool", - "RouteTableId" + "Name", + "Size", + "VpcSettings" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IpPoolRouteTableAssociation" + "AWS::DirectoryService::SimpleAD" ], "type": "string" }, @@ -124491,7 +123013,30 @@ ], "type": "object" }, - "AWS::EC2::IpamExternalResourceVerificationToken": { + "AWS::DirectoryService::SimpleAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The identifiers of the subnets for the directory servers. The two subnets must be in different Availability Zones. Directory Service specifies a directory server and a DNS server in each of these subnets.", + "title": "SubnetIds", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The identifier of the VPC in which to create the directory.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DocDB::DBCluster": { "additionalProperties": false, "properties": { "Condition": { @@ -124526,24 +123071,174 @@ "Properties": { "additionalProperties": false, "properties": { - "IpamId": { - "type": "string" - }, - "Tags": { + "AvailabilityZones": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, + "markdownDescription": "A list of Amazon EC2 Availability Zones that instances in the cluster can be created in.", + "title": "AvailabilityZones", + "type": "array" + }, + "BackupRetentionPeriod": { + "markdownDescription": "The number of days for which automated backups are retained. You must specify a minimum value of 1.\n\nDefault: 1\n\nConstraints:\n\n- Must be a value from 1 to 35.", + "title": "BackupRetentionPeriod", + "type": "number" + }, + "CopyTagsToSnapshot": { + "markdownDescription": "Set to `true` to copy all tags from the source cluster snapshot to the target cluster snapshot, and otherwise `false` . The default is `false` .", + "title": "CopyTagsToSnapshot", + "type": "boolean" + }, + "DBClusterIdentifier": { + "markdownDescription": "The cluster identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n- Must contain from 1 to 63 letters, numbers, or hyphens.\n- The first character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n\nExample: `my-cluster`", + "title": "DBClusterIdentifier", + "type": "string" + }, + "DBClusterParameterGroupName": { + "markdownDescription": "The name of the cluster parameter group to associate with this cluster.", + "title": "DBClusterParameterGroupName", + "type": "string" + }, + "DBSubnetGroupName": { + "markdownDescription": "A subnet group to associate with this cluster.\n\nConstraints: Must match the name of an existing `DBSubnetGroup` . Must not be default.\n\nExample: `mySubnetgroup`", + "title": "DBSubnetGroupName", + "type": "string" + }, + "DeletionProtection": { + "markdownDescription": "Protects clusters from being accidentally deleted. If enabled, the cluster cannot be deleted unless it is modified and `DeletionProtection` is disabled.", + "title": "DeletionProtection", + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of log types that need to be enabled for exporting to Amazon CloudWatch Logs. You can enable audit logs or profiler logs. For more information, see [Auditing Amazon DocumentDB Events](https://docs.aws.amazon.com/documentdb/latest/developerguide/event-auditing.html) and [Profiling Amazon DocumentDB Operations](https://docs.aws.amazon.com/documentdb/latest/developerguide/profiling.html) .", + "title": "EnableCloudwatchLogsExports", + "type": "array" + }, + "EngineVersion": { + "markdownDescription": "The version number of the database engine to use. The `--engine-version` will default to the latest major engine version. For production workloads, we recommend explicitly declaring this parameter with the intended major engine version.\n\nIf you intend to trigger an in-place upgrade, please refer to [Amazon DocumentDB in-place major version upgrade](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-mvu.html) . Note that for an in-place engine version upgrade, you need to remove other cluster properties changes (e.g. SecurityGroupId) from the CFN template.", + "title": "EngineVersion", + "type": "string" + }, + "GlobalClusterIdentifier": { + "markdownDescription": "The cluster identifier of the new global cluster.", + "title": "GlobalClusterIdentifier", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "The AWS key identifier for an encrypted cluster.\n\nThe AWS key identifier is the Amazon Resource Name (ARN) for the AWS encryption key. If you are creating a cluster using the same AWS account that owns the AWS encryption key that is used to encrypt the new cluster, you can use the AWS key alias instead of the ARN for the AWS encryption key.\n\nIf an encryption key is not specified in `KmsKeyId` :\n\n- If the `StorageEncrypted` parameter is `true` , Amazon DocumentDB uses your default encryption key.\n\nAWS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Regions .", + "title": "KmsKeyId", + "type": "string" + }, + "ManageMasterUserPassword": { + "markdownDescription": "Specifies whether to manage the master user password with Amazon Web Services Secrets Manager.\n\nConstraint: You can't manage the master user password with Amazon Web Services Secrets Manager if `MasterUserPassword` is specified.", + "title": "ManageMasterUserPassword", + "type": "boolean" + }, + "MasterUserPassword": { + "markdownDescription": "The password for the master database user. This password can contain any printable ASCII character except forward slash (/), double quote (\"), or the \"at\" symbol (@).\n\nConstraints: Must contain from 8 to 100 characters.", + "title": "MasterUserPassword", + "type": "string" + }, + "MasterUserSecretKmsKeyId": { + "markdownDescription": "The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager. This setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the DB cluster.\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.\n\nIf you don't specify `MasterUserSecretKmsKeyId` , then the `aws/secretsmanager` KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the `aws/secretsmanager` KMS key to encrypt the secret, and you must use a customer managed KMS key.\n\nThere is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.", + "title": "MasterUserSecretKmsKeyId", + "type": "string" + }, + "MasterUsername": { + "markdownDescription": "The name of the master user for the cluster.\n\nConstraints:\n\n- Must be from 1 to 63 letters or numbers.\n- The first character must be a letter.\n- Cannot be a reserved word for the chosen database engine.", + "title": "MasterUsername", + "type": "string" + }, + "NetworkType": { + "markdownDescription": "The network type of the cluster.\n\nThe network type is determined by the `DBSubnetGroup` specified for the cluster. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and the IPv6 protocols ( `DUAL` ).\n\nFor more information, see [DocumentDB clusters in a VPC](https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html) in the Amazon DocumentDB Developer Guide.\n\nValid Values: `IPV4` | `DUAL`", + "title": "NetworkType", + "type": "string" + }, + "Port": { + "markdownDescription": "Specifies the port that the database engine is listening on.", + "title": "Port", + "type": "number" + }, + "PreferredBackupWindow": { + "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled using the `BackupRetentionPeriod` parameter.\n\nThe default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region .\n\nConstraints:\n\n- Must be in the format `hh24:mi-hh24:mi` .\n- Must be in Universal Coordinated Time (UTC).\n- Must not conflict with the preferred maintenance window.\n- Must be at least 30 minutes.", + "title": "PreferredBackupWindow", + "type": "string" + }, + "PreferredMaintenanceWindow": { + "markdownDescription": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n\nFormat: `ddd:hh24:mi-ddd:hh24:mi`\n\nThe default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week.\n\nValid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\nConstraints: Minimum 30-minute window.", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "RestoreToTime": { + "markdownDescription": "The date and time to restore the cluster to.\n\nValid values: A time in Universal Coordinated Time (UTC) format.\n\nConstraints:\n\n- Must be before the latest restorable time for the instance.\n- Must be specified if the `UseLatestRestorableTime` parameter is not provided.\n- Cannot be specified if the `UseLatestRestorableTime` parameter is `true` .\n- Cannot be specified if the `RestoreType` parameter is `copy-on-write` .\n\nExample: `2015-03-07T23:45:00Z`", + "title": "RestoreToTime", + "type": "string" + }, + "RestoreType": { + "markdownDescription": "The type of restore to be performed. You can specify one of the following values:\n\n- `full-copy` - The new DB cluster is restored as a full copy of the source DB cluster.\n- `copy-on-write` - The new DB cluster is restored as a clone of the source DB cluster.\n\nConstraints: You can't specify `copy-on-write` if the engine version of the source DB cluster is earlier than 1.11.\n\nIf you don't specify a `RestoreType` value, then the new DB cluster is restored as a full copy of the source DB cluster.", + "title": "RestoreType", + "type": "string" + }, + "RotateMasterUserPassword": { + "markdownDescription": "Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password.\n\nThis setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the cluster. The secret value contains the updated password.\n\nConstraint: You must apply the change immediately when rotating the master user password.", + "title": "RotateMasterUserPassword", + "type": "boolean" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/AWS::DocDB::DBCluster.ServerlessV2ScalingConfiguration", + "markdownDescription": "Contains the scaling configuration of an Amazon DocumentDB Serverless cluster.", + "title": "ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "markdownDescription": "The identifier for the snapshot or cluster snapshot to restore from.\n\nYou can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use only the ARN to specify a snapshot.\n\nConstraints:\n\n- Must match the identifier of an existing snapshot.", + "title": "SnapshotIdentifier", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "markdownDescription": "The identifier of the source cluster from which to restore.\n\nConstraints:\n\n- Must match the identifier of an existing `DBCluster` .", + "title": "SourceDBClusterIdentifier", + "type": "string" + }, + "StorageEncrypted": { + "markdownDescription": "Specifies whether the cluster is encrypted.\n\nIf you specify `SourceDBClusterIdentifier` or `SnapshotIdentifier` and don\u2019t specify `StorageEncrypted` , the encryption property is inherited from the source cluster or snapshot (unless `KMSKeyId` is specified, in which case the restored cluster will be encrypted with that KMS key). If the source is encrypted and `StorageEncrypted` is specified to be true, the restored cluster will be encrypted (if you want to use a different KMS key, specify the `KMSKeyId` property as well). If the source is unencrypted and `StorageEncrypted` is specified to be true, then the `KMSKeyId` property must be specified. If the source is encrypted, don\u2019t specify `StorageEncrypted` to be false as opting out of encryption is not allowed.", + "title": "StorageEncrypted", + "type": "boolean" + }, + "StorageType": { + "markdownDescription": "The storage type to associate with the DB cluster.\n\nFor information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the *Amazon DocumentDB Developer Guide* .\n\nValid values for storage type - `standard | iopt1`\n\nDefault value is `standard`\n\n> When you create an Amazon DocumentDB cluster with the storage type set to `iopt1` , the storage type is returned in the response. The storage type isn't returned when you set it to `standard` .", + "title": "StorageType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to be assigned to the cluster.", + "title": "Tags", + "type": "array" + }, + "UseLatestRestorableTime": { + "markdownDescription": "A value that is set to `true` to restore the cluster to the latest restorable backup time, and `false` otherwise.\n\nDefault: `false`\n\nConstraints: Cannot be specified if the `RestoreToTime` parameter is provided.", + "title": "UseLatestRestorableTime", + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of EC2 VPC security groups to associate with this cluster.", + "title": "VpcSecurityGroupIds", "type": "array" } }, - "required": [ - "IpamId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::IpamExternalResourceVerificationToken" + "AWS::DocDB::DBCluster" ], "type": "string" }, @@ -124557,12 +123252,31 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::KeyPair": { + "AWS::DocDB::DBCluster.ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "markdownDescription": "The maximum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. You can specify DCU values in half-step increments, such as 32, 32.5, 33, and so on.", + "title": "MaxCapacity", + "type": "number" + }, + "MinCapacity": { + "markdownDescription": "The minimum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. You can specify DCU values in half-step increments, such as 8, 8.5, 9, and so on.", + "title": "MinCapacity", + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::DocDB::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -124597,43 +123311,45 @@ "Properties": { "additionalProperties": false, "properties": { - "KeyFormat": { - "markdownDescription": "The format of the key pair.\n\nDefault: `pem`", - "title": "KeyFormat", + "Description": { + "markdownDescription": "The description for the cluster parameter group.", + "title": "Description", "type": "string" }, - "KeyName": { - "markdownDescription": "A unique name for the key pair.\n\nConstraints: Up to 255 ASCII characters", - "title": "KeyName", + "Family": { + "markdownDescription": "The cluster parameter group family name.", + "title": "Family", "type": "string" }, - "KeyType": { - "markdownDescription": "The type of key pair. Note that ED25519 keys are not supported for Windows instances.\n\nIf the `PublicKeyMaterial` property is specified, the `KeyType` property is ignored, and the key type is inferred from the `PublicKeyMaterial` value.\n\nDefault: `rsa`", - "title": "KeyType", + "Name": { + "markdownDescription": "The name of the DB cluster parameter group.\n\nConstraints:\n\n- Must not match the name of an existing `DBClusterParameterGroup` .\n\n> This value is stored as a lowercase string.", + "title": "Name", "type": "string" }, - "PublicKeyMaterial": { - "markdownDescription": "The public key material. The `PublicKeyMaterial` property is used to import a key pair. If this property is not specified, then a new key pair will be created.", - "title": "PublicKeyMaterial", - "type": "string" + "Parameters": { + "markdownDescription": "Provides a list of parameters for the cluster parameter group.", + "title": "Parameters", + "type": "object" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to apply to the key pair.", + "markdownDescription": "The tags to be assigned to the cluster parameter group.", "title": "Tags", "type": "array" } }, "required": [ - "KeyName" + "Description", + "Family", + "Parameters" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::KeyPair" + "AWS::DocDB::DBClusterParameterGroup" ], "type": "string" }, @@ -124652,7 +123368,7 @@ ], "type": "object" }, - "AWS::EC2::LaunchTemplate": { + "AWS::DocDB::DBInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -124687,38 +123403,69 @@ "Properties": { "additionalProperties": false, "properties": { - "LaunchTemplateData": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData", - "markdownDescription": "The information for the launch template.", - "title": "LaunchTemplateData" + "AutoMinorVersionUpgrade": { + "markdownDescription": "This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor version upgrades regardless of the value set.\n\nDefault: `false`", + "title": "AutoMinorVersionUpgrade", + "type": "boolean" }, - "LaunchTemplateName": { - "markdownDescription": "A name for the launch template.", - "title": "LaunchTemplateName", + "AvailabilityZone": { + "markdownDescription": "The Amazon EC2 Availability Zone that the instance is created in.\n\nDefault: A random, system-chosen Availability Zone in the endpoint's AWS Region .\n\nExample: `us-east-1d`", + "title": "AvailabilityZone", "type": "string" }, - "TagSpecifications": { + "CACertificateIdentifier": { + "markdownDescription": "The identifier of the CA certificate for this DB instance.", + "title": "CACertificateIdentifier", + "type": "string" + }, + "CertificateRotationRestart": { + "markdownDescription": "Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate.\n\nBy default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted.\n\n> Set this parameter only if you are *not* using SSL/TLS to connect to the DB instance. \n\nIf you are using SSL/TLS to connect to the DB instance, see [Updating Your Amazon DocumentDB TLS Certificates](https://docs.aws.amazon.com/documentdb/latest/developerguide/ca_cert_rotation.html) and [Encrypting Data in Transit](https://docs.aws.amazon.com/documentdb/latest/developerguide/security.encryption.ssl.html) in the *Amazon DocumentDB Developer Guide* .", + "title": "CertificateRotationRestart", + "type": "boolean" + }, + "DBClusterIdentifier": { + "markdownDescription": "The identifier of the cluster that the instance will belong to.", + "title": "DBClusterIdentifier", + "type": "string" + }, + "DBInstanceClass": { + "markdownDescription": "The compute and memory capacity of the instance; for example, `db.m4.large` . If you change the class of an instance there can be some interruption in the cluster's service.", + "title": "DBInstanceClass", + "type": "string" + }, + "DBInstanceIdentifier": { + "markdownDescription": "The instance identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n- Must contain from 1 to 63 letters, numbers, or hyphens.\n- The first character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n\nExample: `mydbinstance`", + "title": "DBInstanceIdentifier", + "type": "string" + }, + "EnablePerformanceInsights": { + "markdownDescription": "A value that indicates whether to enable Performance Insights for the DB Instance. For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html) .", + "title": "EnablePerformanceInsights", + "type": "boolean" + }, + "PreferredMaintenanceWindow": { + "markdownDescription": "The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC).\n\nFormat: `ddd:hh24:mi-ddd:hh24:mi`\n\nThe default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week.\n\nValid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\nConstraints: Minimum 30-minute window.", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be `launch-template` .\n\nTo specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) .", - "title": "TagSpecifications", + "markdownDescription": "The tags to be assigned to the instance. You can assign up to 10 tags to an instance.", + "title": "Tags", "type": "array" - }, - "VersionDescription": { - "markdownDescription": "A description for the first version of the launch template.", - "title": "VersionDescription", - "type": "string" } }, "required": [ - "LaunchTemplateData" + "DBClusterIdentifier", + "DBInstanceClass" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LaunchTemplate" + "AWS::DocDB::DBInstance" ], "type": "string" }, @@ -124737,1166 +123484,1362 @@ ], "type": "object" }, - "AWS::EC2::LaunchTemplate.AcceleratorCount": { + "AWS::DocDB::DBSubnetGroup": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of accelerators. To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` .", - "title": "Max", - "type": "number" + "Condition": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum number of accelerators. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.AcceleratorTotalMemoryMiB": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.BaselineEbsBandwidthMbps": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Min": { - "markdownDescription": "The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.BaselinePerformanceFactors": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Cpu", - "markdownDescription": "The CPU performance to consider, using an instance family as the baseline reference.", - "title": "Cpu" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "markdownDescription": "The description for the subnet group.", + "title": "DBSubnetGroupDescription", + "type": "string" + }, + "DBSubnetGroupName": { + "markdownDescription": "The name for the subnet group. This value is stored as a lowercase string.\n\nConstraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.\n\nExample: `mySubnetgroup`", + "title": "DBSubnetGroupName", + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon EC2 subnet IDs for the subnet group.", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to be assigned to the subnet group.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { + "AWS::DocDB::EventSubscription": { "additionalProperties": false, "properties": { - "DeviceName": { - "markdownDescription": "The device name (for example, /dev/sdh or xvdh).", - "title": "DeviceName", + "Condition": { "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs", - "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.", - "title": "Ebs" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "NoDevice": { - "markdownDescription": "To omit the device from the block device mapping, specify an empty string.", - "title": "NoDevice", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "A Boolean value; set to `true` to activate the subscription, set to `false` to create the subscription but not active it.", + "title": "Enabled", + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of event categories for a `SourceType` that you want to subscribe to.", + "title": "EventCategories", + "type": "array" + }, + "SnsTopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. Amazon SNS creates the ARN when you create a topic and subscribe to it.", + "title": "SnsTopicArn", + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.\n\nConstraints:\n\n- If `SourceIds` are provided, `SourceType` must also be provided.\n- If the source type is an instance, a `DBInstanceIdentifier` must be provided.\n- If the source type is a security group, a `DBSecurityGroupName` must be provided.\n- If the source type is a parameter group, a `DBParameterGroupName` must be provided.\n- If the source type is a snapshot, a `DBSnapshotIdentifier` must be provided.", + "title": "SourceIds", + "type": "array" + }, + "SourceType": { + "markdownDescription": "The type of source that is generating the events. For example, if you want to be notified of events generated by an instance, you would set this parameter to `db-instance` . If this value is not specified, all events are returned.\n\nValid values: `db-instance` , `db-cluster` , `db-parameter-group` , `db-security-group` , `db-cluster-snapshot`", + "title": "SourceType", + "type": "string" + }, + "SubscriptionName": { + "markdownDescription": "The name of the subscription.\n\nConstraints: The name must be fewer than 255 characters.", + "title": "SubscriptionName", + "type": "string" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::EventSubscription" + ], "type": "string" }, - "VirtualName": { - "markdownDescription": "The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.", - "title": "VirtualName", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { + "AWS::DocDB::GlobalCluster": { "additionalProperties": false, "properties": { - "CapacityReservationPreference": { - "markdownDescription": "Indicates the instance's Capacity Reservation preferences. Possible preferences include:\n\n- `capacity-reservations-only` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.\n- `open` - The instance can run in any `open` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).\n- `none` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.", - "title": "CapacityReservationPreference", + "Condition": { "type": "string" }, - "CapacityReservationTarget": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget", - "markdownDescription": "Information about the target Capacity Reservation or Capacity Reservation group.", - "title": "CapacityReservationTarget" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { - "additionalProperties": false, - "properties": { - "CapacityReservationId": { - "markdownDescription": "The ID of the Capacity Reservation in which to run the instance.", - "title": "CapacityReservationId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "CapacityReservationResourceGroupArn": { - "markdownDescription": "The ARN of the Capacity Reservation resource group in which to run the instance.", - "title": "CapacityReservationResourceGroupArn", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GlobalClusterIdentifier" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::GlobalCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.ConnectionTrackingSpecification": { + "AWS::DocDBElastic::Cluster": { "additionalProperties": false, "properties": { - "TcpEstablishedTimeout": { - "markdownDescription": "Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.", - "title": "TcpEstablishedTimeout", - "type": "number" + "Condition": { + "type": "string" }, - "UdpStreamTimeout": { - "markdownDescription": "Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.", - "title": "UdpStreamTimeout", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "UdpTimeout": { - "markdownDescription": "Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.", - "title": "UdpTimeout", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Cpu": { - "additionalProperties": false, - "properties": { - "References": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Reference" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdminUserName": { + "markdownDescription": "The name of the Amazon DocumentDB elastic clusters administrator.\n\n*Constraints* :\n\n- Must be from 1 to 63 letters or numbers.\n- The first character must be a letter.\n- Cannot be a reserved word.", + "title": "AdminUserName", + "type": "string" + }, + "AdminUserPassword": { + "markdownDescription": "The password for the Elastic DocumentDB cluster administrator and can contain any printable ASCII characters.\n\n*Constraints* :\n\n- Must contain from 8 to 100 characters.\n- Cannot contain a forward slash (/), double quote (\"), or the \"at\" symbol (@).\n- A valid `AdminUserName` entry is also required.", + "title": "AdminUserPassword", + "type": "string" + }, + "AuthType": { + "markdownDescription": "The authentication type used to determine where to fetch the password used for accessing the elastic cluster. Valid types are `PLAIN_TEXT` or `SECRET_ARN` .", + "title": "AuthType", + "type": "string" + }, + "BackupRetentionPeriod": { + "markdownDescription": "The number of days for which automatic snapshots are retained.", + "title": "BackupRetentionPeriod", + "type": "number" + }, + "ClusterName": { + "markdownDescription": "The name of the new elastic cluster. This parameter is stored as a lowercase string.\n\n*Constraints* :\n\n- Must contain from 1 to 63 letters, numbers, or hyphens.\n- The first character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n\n*Example* : `my-cluster`", + "title": "ClusterName", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "The KMS key identifier to use to encrypt the new elastic cluster.\n\nThe KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias instead of the ARN as the KMS encryption key.\n\nIf an encryption key is not specified, Amazon DocumentDB uses the default encryption key that KMS creates for your account. Your account has a different default encryption key for each Amazon Region.", + "title": "KmsKeyId", + "type": "string" + }, + "PreferredBackupWindow": { + "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled, as determined by `backupRetentionPeriod` .", + "title": "PreferredBackupWindow", + "type": "string" + }, + "PreferredMaintenanceWindow": { + "markdownDescription": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n\n*Format* : `ddd:hh24:mi-ddd:hh24:mi`\n\n*Default* : a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week.\n\n*Valid days* : Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\n*Constraints* : Minimum 30-minute window.", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "ShardCapacity": { + "markdownDescription": "The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64.", + "title": "ShardCapacity", + "type": "number" + }, + "ShardCount": { + "markdownDescription": "The number of shards assigned to the elastic cluster. Maximum is 32.", + "title": "ShardCount", + "type": "number" + }, + "ShardInstanceCount": { + "markdownDescription": "The number of replica instances applying to all shards in the cluster. A `shardInstanceCount` value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.", + "title": "ShardInstanceCount", + "type": "number" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon EC2 subnet IDs for the new elastic cluster.", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to be assigned to the new elastic cluster.", + "title": "Tags", + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of EC2 VPC security groups to associate with the new elastic cluster.", + "title": "VpcSecurityGroupIds", + "type": "array" + } }, - "markdownDescription": "The instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes are compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.", - "title": "References", - "type": "array" + "required": [ + "AdminUserName", + "AuthType", + "ClusterName", + "ShardCapacity", + "ShardCount" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDBElastic::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CpuOptions": { + "AWS::DocDBElastic::ClusterSnapshot": { "additionalProperties": false, "properties": { - "AmdSevSnp": { - "markdownDescription": "Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. For more information, see [AMD SEV-SNP for Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sev-snp.html) .", - "title": "AmdSevSnp", + "Condition": { "type": "string" }, - "CoreCount": { - "markdownDescription": "The number of CPU cores for the instance.", - "title": "CoreCount", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "NestedVirtualization": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterArn": { + "type": "string" + }, + "SnapshotName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterArn", + "SnapshotName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDBElastic::ClusterSnapshot" + ], "type": "string" }, - "ThreadsPerCore": { - "markdownDescription": "The number of threads per CPU core. To disable multithreading for the instance, specify a value of `1` . Otherwise, specify the default value of `2` .", - "title": "ThreadsPerCore", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CpuCredits": { - "markdownDescription": "The credit option for CPU usage of a T instance.\n\nValid values: `standard` | `unlimited`", - "title": "CpuCredits", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Ebs": { + "AWS::DynamoDB::Export": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "markdownDescription": "Indicates whether the EBS volume is deleted on instance termination.", - "title": "DeleteOnTermination", - "type": "boolean" - }, - "EbsCardIndex": { - "type": "number" - }, - "Encrypted": { - "markdownDescription": "Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value.", - "title": "Encrypted", - "type": "boolean" - }, - "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 - 80,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nFor `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) . On other instances, you can achieve performance up to 32,000 IOPS.\n\nThis parameter is supported for `io1` , `io2` , and `gp3` volumes only.", - "title": "Iops", - "type": "number" - }, - "KmsKeyId": { - "markdownDescription": "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.", - "title": "KmsKeyId", + "Condition": { "type": "string" }, - "SnapshotId": { - "markdownDescription": "The ID of the snapshot.", - "title": "SnapshotId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Throughput": { - "markdownDescription": "The throughput to provision for a `gp3` volume, with a maximum of 2,000 MiB/s.\n\nValid Range: Minimum value of 125. Maximum value of 2,000.", - "title": "Throughput", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "VolumeInitializationRate": { - "markdownDescription": "Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as *volume initialization* . Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation.\n\nThis parameter is supported only for volumes created from snapshots. Omit this parameter if:\n\n- You want to create the volume using fast snapshot restore. You must specify a snapshot that is enabled for fast snapshot restore. In this case, the volume is fully initialized at creation.\n\n> If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, the volume will be initialized at the specified rate instead of fast snapshot restore.\n- You want to create a volume that is initialized at the default rate.\n\nFor more information, see [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EC2 User Guide* .\n\nValid range: 100 - 300 MiB/s", - "title": "VolumeInitializationRate", - "type": "number" + "Metadata": { + "type": "object" }, - "VolumeSize": { - "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following are the supported volumes sizes for each volume type:\n\n- `gp2` : 1 - 16,384 GiB\n- `gp3` : 1 - 65,536 GiB\n- `io1` : 4 - 16,384 GiB\n- `io2` : 4 - 65,536 GiB\n- `st1` and `sc1` : 125 - 16,384 GiB\n- `standard` : 1 - 1024 GiB", - "title": "VolumeSize", - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ExportFormat": { + "type": "string" + }, + "ExportType": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3BucketOwner": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + }, + "S3SseAlgorithm": { + "type": "string" + }, + "TableArn": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "TableArn" + ], + "type": "object" }, - "VolumeType": { - "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .", - "title": "VolumeType", + "Type": { + "enum": [ + "AWS::DynamoDB::Export" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.EnaSrdSpecification": { - "additionalProperties": false, - "properties": { - "EnaSrdEnabled": { - "markdownDescription": "Indicates whether ENA Express is enabled for the network interface.", - "title": "EnaSrdEnabled", - "type": "boolean" }, - "EnaSrdUdpSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification", - "markdownDescription": "Configures ENA Express for UDP network traffic.", - "title": "EnaSrdUdpSpecification" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification": { - "additionalProperties": false, - "properties": { - "EnaSrdUdpEnabled": { - "markdownDescription": "Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.", - "title": "EnaSrdUdpEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.EnclaveOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "markdownDescription": "If this parameter is set to `true` , the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.", - "title": "Enabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "markdownDescription": "If you set this parameter to `true` , the instance is enabled for hibernation.\n\nDefault: `false`", - "title": "Configured", - "type": "boolean" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.IamInstanceProfile": { + "AWS::DynamoDB::GlobalTable": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile.", - "title": "Arn", + "Condition": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the instance profile.", - "title": "Name", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeDefinitions": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.AttributeDefinition" + }, + "markdownDescription": "A list of attributes that describe the key schema for the global table and indexes.", + "title": "AttributeDefinitions", + "type": "array" + }, + "BillingMode": { + "markdownDescription": "Specifies how you are charged for read and write throughput and how you manage capacity. Valid values are:\n\n- `PAY_PER_REQUEST`\n- `PROVISIONED`\n\nAll replicas in your global table will have the same billing mode. If you use `PROVISIONED` billing mode, you must provide an auto scaling configuration via the `WriteProvisionedThroughputSettings` property. The default value of this property is `PROVISIONED` .", + "title": "BillingMode", + "type": "string" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex" + }, + "markdownDescription": "Global secondary indexes to be created on the global table. You can create up to 20 global secondary indexes. Each replica in your global table will have the same global secondary index settings. You can only create or delete one global secondary index in a single stack operation.\n\nSince the backfilling of an index could take a long time, CloudFormation does not wait for the index to become active. If a stack operation rolls back, CloudFormation might not delete an index that has been added. In that case, you will need to delete the index manually.", + "title": "GlobalSecondaryIndexes", + "type": "array" + }, + "GlobalTableSourceArn": { + "type": "string" + }, + "GlobalTableWitnesses": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalTableWitness" + }, + "markdownDescription": "The list of witnesses of the MRSC global table. Only one witness Region can be configured per MRSC global table.", + "title": "GlobalTableWitnesses", + "type": "array" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + }, + "markdownDescription": "Specifies the attributes that make up the primary key for the table. The attributes in the `KeySchema` property must also be defined in the `AttributeDefinitions` property.", + "title": "KeySchema", + "type": "array" + }, + "LocalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.LocalSecondaryIndex" + }, + "markdownDescription": "Local secondary indexes to be created on the table. You can create up to five local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes. Each replica in your global table will have the same local secondary index settings.", + "title": "LocalSecondaryIndexes", + "type": "array" + }, + "MultiRegionConsistency": { + "markdownDescription": "Specifies the consistency mode for a new global table.\n\nYou can specify one of the following consistency modes:\n\n- `EVENTUAL` : Configures a new global table for multi-Region eventual consistency (MREC).\n- `STRONG` : Configures a new global table for multi-Region strong consistency (MRSC).\n\nIf you don't specify this field, the global table consistency mode defaults to `EVENTUAL` . For more information about global tables consistency modes, see [Consistency modes](https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes) in DynamoDB developer guide.", + "title": "MultiRegionConsistency", + "type": "string" + }, + "ReadOnDemandThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings" + }, + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalReadProvisionedThroughputSettings" + }, + "Replicas": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSpecification" + }, + "markdownDescription": "Specifies the list of replicas for your global table. The list must contain at least one element, the region where the stack defining the global table is deployed. For example, if you define your table in a stack deployed to us-east-1, you must have an entry in `Replicas` with the region us-east-1. You cannot remove the replica in the stack region.\n\n> Adding a replica might take a few minutes for an empty table, or up to several hours for large tables. If you want to add or remove a replica, we recommend submitting an `UpdateStack` operation containing only that change.\n> \n> If you add or delete a replica during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new replica, you might need to manually delete the replica. \n\nYou can create a new global table with as many replicas as needed. You can add or remove replicas after table creation, but you can only add or remove a single replica in each update. For Multi-Region Strong Consistency (MRSC), you can add or remove up to 3 replicas, or 2 replicas plus a witness Region.", + "title": "Replicas", + "type": "array" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SSESpecification", + "markdownDescription": "Specifies the settings to enable server-side encryption. These settings will be applied to all replicas. If you plan to use customer-managed KMS keys, you must provide a key for each replica using the `ReplicaSpecification.ReplicaSSESpecification` property.", + "title": "SSESpecification" + }, + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.StreamSpecification", + "markdownDescription": "Specifies the streams settings on your global table. You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica. For Multi-Region Strong Consistency (MRSC), you do not need to provide a value for this property and can change the settings at any time.", + "title": "StreamSpecification" + }, + "TableName": { + "markdownDescription": "A name for the global table. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID as the table name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "TableName", + "type": "string" + }, + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TimeToLiveSpecification", + "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.", + "title": "WarmThroughput" + }, + "WriteOnDemandThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteOnDemandThroughputSettings", + "markdownDescription": "Sets the write request settings for a global table or a global secondary index. You can only specify this setting if your resource uses the `PAY_PER_REQUEST` `BillingMode` .", + "title": "WriteOnDemandThroughputSettings" + }, + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings", + "markdownDescription": "Specifies an auto scaling policy for write capacity. This policy will be applied to all replicas. This setting must be specified if `BillingMode` is set to `PROVISIONED` .", + "title": "WriteProvisionedThroughputSettings" + } + }, + "required": [ + "Replicas" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DynamoDB::GlobalTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { + "AWS::DynamoDB::GlobalTable.AttributeDefinition": { "additionalProperties": false, "properties": { - "MarketType": { - "markdownDescription": "The market type.", - "title": "MarketType", + "AttributeName": { + "markdownDescription": "A name for the attribute.", + "title": "AttributeName", "type": "string" }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions", - "markdownDescription": "The options for Spot Instances.", - "title": "SpotOptions" + "AttributeType": { + "markdownDescription": "The data type for the attribute, where:\n\n- `S` - the attribute is of type String\n- `N` - the attribute is of type Number\n- `B` - the attribute is of type Binary", + "title": "AttributeType", + "type": "string" } }, + "required": [ + "AttributeName", + "AttributeType" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.InstanceRequirements": { + "AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings": { "additionalProperties": false, "properties": { - "AcceleratorCount": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.AcceleratorCount", - "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n\nTo exclude accelerator-enabled instance types, set `Max` to `0` .\n\nDefault: No minimum or maximum limits", - "title": "AcceleratorCount" - }, - "AcceleratorManufacturers": { - "items": { - "type": "string" - }, - "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n\n- For instance types with AWS devices, specify `amazon-web-services` .\n- For instance types with AMD devices, specify `amd` .\n- For instance types with Habana devices, specify `habana` .\n- For instance types with NVIDIA devices, specify `nvidia` .\n- For instance types with Xilinx devices, specify `xilinx` .\n\nDefault: Any manufacturer", - "title": "AcceleratorManufacturers", - "type": "array" - }, - "AcceleratorNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The accelerators that must be on the instance type.\n\n- For instance types with NVIDIA A10G GPUs, specify `a10g` .\n- For instance types with NVIDIA A100 GPUs, specify `a100` .\n- For instance types with NVIDIA H100 GPUs, specify `h100` .\n- For instance types with AWS Inferentia chips, specify `inferentia` .\n- For instance types with AWS Inferentia2 chips, specify `inferentia2` .\n- For instance types with Habana Gaudi HL-205 GPUs, specify `gaudi-hl-205` .\n- For instance types with NVIDIA GRID K520 GPUs, specify `k520` .\n- For instance types with NVIDIA K80 GPUs, specify `k80` .\n- For instance types with NVIDIA L4 GPUs, specify `l4` .\n- For instance types with NVIDIA L40S GPUs, specify `l40s` .\n- For instance types with NVIDIA M60 GPUs, specify `m60` .\n- For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` .\n- For instance types with AWS Trainium chips, specify `trainium` .\n- For instance types with AWS Trainium2 chips, specify `trainium2` .\n- For instance types with NVIDIA T4 GPUs, specify `t4` .\n- For instance types with NVIDIA T4G GPUs, specify `t4g` .\n- For instance types with Xilinx U30 cards, specify `u30` .\n- For instance types with Xilinx VU9P FPGAs, specify `vu9p` .\n- For instance types with NVIDIA V100 GPUs, specify `v100` .\n\nDefault: Any accelerator", - "title": "AcceleratorNames", - "type": "array" - }, - "AcceleratorTotalMemoryMiB": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.AcceleratorTotalMemoryMiB", - "markdownDescription": "The minimum and maximum amount of total accelerator memory, in MiB.\n\nDefault: No minimum or maximum limits", - "title": "AcceleratorTotalMemoryMiB" - }, - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The accelerator types that must be on the instance type.\n\n- For instance types with FPGA accelerators, specify `fpga` .\n- For instance types with GPU accelerators, specify `gpu` .\n- For instance types with Inference accelerators, specify `inference` .\n- For instance types with Media accelerators, specify `media` .\n\nDefault: Any accelerator type", - "title": "AcceleratorTypes", - "type": "array" - }, - "AllowedInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n\n> If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . \n\nDefault: All instance types", - "title": "AllowedInstanceTypes", - "type": "array" + "MaxCapacity": { + "markdownDescription": "The maximum provisioned capacity units for the global table.", + "title": "MaxCapacity", + "type": "number" }, - "BareMetal": { - "markdownDescription": "Indicates whether bare metal instance types must be included, excluded, or required.\n\n- To include bare metal instance types, specify `included` .\n- To require only bare metal instance types, specify `required` .\n- To exclude bare metal instance types, specify `excluded` .\n\nDefault: `excluded`", - "title": "BareMetal", - "type": "string" + "MinCapacity": { + "markdownDescription": "The minimum provisioned capacity units for the global table.", + "title": "MinCapacity", + "type": "number" }, - "BaselineEbsBandwidthMbps": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BaselineEbsBandwidthMbps", - "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", - "title": "BaselineEbsBandwidthMbps" + "SeedCapacity": { + "markdownDescription": "When switching billing mode from `PAY_PER_REQUEST` to `PROVISIONED` , DynamoDB requires you to specify read and write capacity unit values for the table and for each global secondary index. These values will be applied to all replicas. The table will use these provisioned values until CloudFormation creates the autoscaling policies you configured in your template. CloudFormation cannot determine what capacity the table and its global secondary indexes will require in this time period, since they are application-dependent.\n\nIf you want to switch a table's billing mode from `PAY_PER_REQUEST` to `PROVISIONED` , you must specify a value for this property for each autoscaled resource. If you specify different values for the same resource in different regions, CloudFormation will use the highest value found in either the `SeedCapacity` or `ReadCapacityUnits` properties. For example, if your global secondary index `myGSI` has a `SeedCapacity` of 10 in us-east-1 and a fixed `ReadCapacityUnits` of 20 in eu-west-1, CloudFormation will initially set the read capacity for `myGSI` to 20. Note that if you disable `ScaleIn` for `myGSI` in us-east-1, its read capacity units might not be set back to 10.\n\nYou must also specify a value for `SeedCapacity` when you plan to switch a table's billing mode from `PROVISIONED` to `PAY_PER_REQUEST` , because CloudFormation might need to roll back the operation (reverting the billing mode to `PROVISIONED` ) and this cannot succeed without specifying a value for `SeedCapacity` .", + "title": "SeedCapacity", + "type": "number" }, - "BaselinePerformanceFactors": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BaselinePerformanceFactors", - "markdownDescription": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .", - "title": "BaselinePerformanceFactors" + "TargetTrackingScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration", + "markdownDescription": "Defines a target tracking scaling policy.", + "title": "TargetTrackingScalingPolicyConfiguration" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity", + "TargetTrackingScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).", + "title": "Enabled", + "type": "boolean" }, - "BurstablePerformance": { - "markdownDescription": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`", - "title": "BurstablePerformance", + "Mode": { + "markdownDescription": "Specifies the CloudWatch Contributor Insights mode for a global table. Valid values are `ACCESSED_AND_THROTTLED_KEYS` (tracks all access and throttled events) or `THROTTLED_KEYS` (tracks only throttled events). This setting determines what type of contributor insights data is collected for the global table.", + "title": "Mode", "type": "string" - }, - "CpuManufacturers": { - "items": { - "type": "string" - }, - "markdownDescription": "The CPU manufacturers to include.\n\n- For instance types with Intel CPUs, specify `intel` .\n- For instance types with AMD CPUs, specify `amd` .\n- For instance types with AWS CPUs, specify `amazon-web-services` .\n- For instance types with Apple CPUs, specify `apple` .\n\n> Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. \n\nDefault: Any manufacturer", - "title": "CpuManufacturers", - "type": "array" - }, - "ExcludedInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The instance types to exclude.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n\n> If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . \n\nDefault: No excluded instance types", - "title": "ExcludedInstanceTypes", - "type": "array" - }, - "InstanceGenerations": { - "items": { - "type": "string" - }, - "markdownDescription": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nFor current generation instance types, specify `current` .\n\nFor previous generation instance types, specify `previous` .\n\nDefault: Current and previous generation instance types", - "title": "InstanceGenerations", - "type": "array" - }, - "LocalStorage": { - "markdownDescription": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* .\n\n- To include instance types with instance store volumes, specify `included` .\n- To require only instance types with instance store volumes, specify `required` .\n- To exclude instance types with instance store volumes, specify `excluded` .\n\nDefault: `included`", - "title": "LocalStorage", + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.GlobalReadProvisionedThroughputSettings": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "markdownDescription": "The name of the global secondary index. The name must be unique among all other indexes on this table.", + "title": "IndexName", "type": "string" }, - "LocalStorageTypes": { + "KeySchema": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" }, - "markdownDescription": "The type of local storage that is required.\n\n- For instance types with hard disk drive (HDD) storage, specify `hdd` .\n- For instance types with solid state drive (SSD) storage, specify `ssd` .\n\nDefault: `hdd` and `ssd`", - "title": "LocalStorageTypes", + "markdownDescription": "The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", + "title": "KeySchema", "type": "array" }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { - "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` .", - "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", - "type": "number" - }, - "MemoryGiBPerVCpu": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu", - "markdownDescription": "The minimum and maximum amount of memory per vCPU, in GiB.\n\nDefault: No minimum or maximum limits", - "title": "MemoryGiBPerVCpu" - }, - "MemoryMiB": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MemoryMiB", - "markdownDescription": "The minimum and maximum amount of memory, in MiB.", - "title": "MemoryMiB" - }, - "NetworkBandwidthGbps": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkBandwidthGbps", - "markdownDescription": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n\nDefault: No minimum or maximum limits", - "title": "NetworkBandwidthGbps" - }, - "NetworkInterfaceCount": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterfaceCount", - "markdownDescription": "The minimum and maximum number of network interfaces.\n\nDefault: No minimum or maximum limits", - "title": "NetworkInterfaceCount" + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection", + "markdownDescription": "Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", + "title": "Projection" }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nTo turn off price protection, specify a high value, such as `999999` .\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. \n\nDefault: `20`", - "title": "OnDemandMaxPricePercentageOverLowestPrice", - "type": "number" + "ReadOnDemandThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings" }, - "RequireHibernateSupport": { - "markdownDescription": "Indicates whether instance types must support hibernation for On-Demand Instances.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) .\n\nDefault: `false`", - "title": "RequireHibernateSupport", - "type": "boolean" + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalReadProvisionedThroughputSettings" }, - "SpotMaxPricePercentageOverLowestPrice": { - "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` . \n\nDefault: `100`", - "title": "SpotMaxPricePercentageOverLowestPrice", - "type": "number" + "WarmThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WarmThroughput", + "markdownDescription": "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both.", + "title": "WarmThroughput" }, - "TotalLocalStorageGB": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TotalLocalStorageGB", - "markdownDescription": "The minimum and maximum amount of total local storage, in GB.\n\nDefault: No minimum or maximum limits", - "title": "TotalLocalStorageGB" + "WriteOnDemandThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteOnDemandThroughputSettings", + "markdownDescription": "Sets the write request settings for a global table or a global secondary index. You can only specify this setting if your resource uses the `PAY_PER_REQUEST` `BillingMode` .", + "title": "WriteOnDemandThroughputSettings" }, - "VCpuCount": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.VCpuCount", - "markdownDescription": "The minimum and maximum number of vCPUs.", - "title": "VCpuCount" + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings", + "markdownDescription": "Defines write capacity settings for the global secondary index. You must specify a value for this property if the table's `BillingMode` is `PROVISIONED` . All replicas will have the same write capacity settings for this global secondary index.", + "title": "WriteProvisionedThroughputSettings" } }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Ipv4PrefixSpecification": { + "AWS::DynamoDB::GlobalTable.GlobalTableWitness": { "additionalProperties": false, "properties": { - "Ipv4Prefix": { - "markdownDescription": "The IPv4 prefix. For information, see [Assigning prefixes to network interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) in the *Amazon EC2 User Guide* .", - "title": "Ipv4Prefix", + "Region": { + "markdownDescription": "The name of the AWS Region that serves as a witness for the MRSC global table.", + "title": "Region", "type": "string" } }, "type": "object" }, - "AWS::EC2::LaunchTemplate.Ipv6Add": { + "AWS::DynamoDB::GlobalTable.KeySchema": { "additionalProperties": false, "properties": { - "Ipv6Address": { - "markdownDescription": "One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.", - "title": "Ipv6Address", + "AttributeName": { + "markdownDescription": "The name of a key attribute.", + "title": "AttributeName", + "type": "string" + }, + "KeyType": { + "markdownDescription": "The role that this key attribute will assume:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", + "title": "KeyType", "type": "string" } }, + "required": [ + "AttributeName", + "KeyType" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Ipv6PrefixSpecification": { + "AWS::DynamoDB::GlobalTable.KinesisStreamSpecification": { "additionalProperties": false, "properties": { - "Ipv6Prefix": { - "markdownDescription": "The IPv6 prefix.", - "title": "Ipv6Prefix", + "ApproximateCreationDateTimePrecision": { + "markdownDescription": "The precision for the time and date that the stream was created.", + "title": "ApproximateCreationDateTimePrecision", + "type": "string" + }, + "StreamArn": { + "markdownDescription": "The ARN for a specific Kinesis data stream.", + "title": "StreamArn", "type": "string" } }, + "required": [ + "StreamArn" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.LaunchTemplateData": { + "AWS::DynamoDB::GlobalTable.LocalSecondaryIndex": { "additionalProperties": false, "properties": { - "BlockDeviceMappings": { + "IndexName": { + "markdownDescription": "The name of the local secondary index. The name must be unique among all other indexes on this table.", + "title": "IndexName", + "type": "string" + }, + "KeySchema": { "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" }, - "markdownDescription": "The block device mapping.", - "title": "BlockDeviceMappings", + "markdownDescription": "The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", + "title": "KeySchema", "type": "array" }, - "CapacityReservationSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification", - "markdownDescription": "The Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to `open` , which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).", - "title": "CapacityReservationSpecification" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions", - "markdownDescription": "The CPU options for the instance. For more information, see [CPU options for Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *Amazon EC2 User Guide* .", - "title": "CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification", - "markdownDescription": "The credit option for CPU usage of the instance. Valid only for T instances.", - "title": "CreditSpecification" - }, - "DisableApiStop": { - "markdownDescription": "Indicates whether to enable the instance for stop protection. For more information, see [Enable stop protection for your EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html) in the *Amazon EC2 User Guide* .", - "title": "DisableApiStop", - "type": "boolean" - }, - "DisableApiTermination": { - "markdownDescription": "Indicates whether termination protection is enabled for the instance. The default is `false` , which means that you can terminate the instance using the Amazon EC2 console, command line tools, or API. You can enable termination protection when you launch an instance, while the instance is running, or while the instance is stopped.", - "title": "DisableApiTermination", - "type": "boolean" - }, - "EbsOptimized": { - "markdownDescription": "Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.", - "title": "EbsOptimized", + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection", + "markdownDescription": "Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", + "title": "Projection" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification": { + "additionalProperties": false, + "properties": { + "PointInTimeRecoveryEnabled": { + "markdownDescription": "Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.", + "title": "PointInTimeRecoveryEnabled", "type": "boolean" }, - "EnclaveOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions", - "markdownDescription": "Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see [What is Nitro Enclaves?](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html) in the *AWS Nitro Enclaves User Guide* .\n\nYou can't enable AWS Nitro Enclaves and hibernation on the same instance.", - "title": "EnclaveOptions" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions", - "markdownDescription": "Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the [hibernation prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernating-prerequisites.html) . For more information, see [Hibernate your Amazon EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) in the *Amazon EC2 User Guide* .", - "title": "HibernationOptions" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile", - "markdownDescription": "The name or Amazon Resource Name (ARN) of an IAM instance profile.", - "title": "IamInstanceProfile" - }, - "ImageId": { - "markdownDescription": "The ID of the AMI. Alternatively, you can specify a Systems Manager parameter, which will resolve to an AMI ID on launch.\n\nValid formats:\n\n- `ami-0ac394d6a3example`\n- `resolve:ssm:parameter-name`\n- `resolve:ssm:parameter-name:version-number`\n- `resolve:ssm:parameter-name:label`\n\nFor more information, see [Use a Systems Manager parameter to find an AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html#using-systems-manager-parameter-to-find-AMI) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "ImageId", - "type": "string" + "RecoveryPeriodInDays": { + "markdownDescription": "The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. This parameter is optional. If no value is provided, the value will default to 35.", + "title": "RecoveryPeriodInDays", + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "markdownDescription": "Represents the non-key attribute names which will be projected into the index.\n\nFor global and local secondary indexes, the total count of `NonKeyAttributes` summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. This limit only applies when you specify the ProjectionType of `INCLUDE` . You still can specify the ProjectionType of `ALL` to project all attributes from the source table, even if the table has more than 100 attributes.", + "title": "NonKeyAttributes", + "type": "array" }, - "InstanceInitiatedShutdownBehavior": { - "markdownDescription": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).\n\nDefault: `stop`", - "title": "InstanceInitiatedShutdownBehavior", + "ProjectionType": { + "markdownDescription": "The set of attributes that are projected into the index:\n\n- `KEYS_ONLY` - Only the index and primary keys are projected into the index.\n- `INCLUDE` - In addition to the attributes described in `KEYS_ONLY` , the secondary index will include other non-key attributes that you specify.\n- `ALL` - All of the table attributes are projected into the index.\n\nWhen using the DynamoDB console, `ALL` is selected by default.", + "title": "ProjectionType", "type": "string" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings": { + "additionalProperties": false, + "properties": { + "MaxReadRequestUnits": { + "markdownDescription": "Maximum number of read request units for the specified replica of a global table.", + "title": "MaxReadRequestUnits", + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings": { + "additionalProperties": false, + "properties": { + "ReadCapacityAutoScalingSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings", + "markdownDescription": "Specifies auto scaling settings for the replica table or global secondary index.", + "title": "ReadCapacityAutoScalingSettings" }, - "InstanceMarketOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions", - "markdownDescription": "The market (purchasing) option for the instances.", - "title": "InstanceMarketOptions" - }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceRequirements", - "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n\nYou must specify `VCpuCount` and `MemoryMiB` . All other attributes are optional. Any unspecified optional attribute is set to its default.\n\nWhen you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n\nTo limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n\n- `AllowedInstanceTypes` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n- `ExcludedInstanceTypes` - The instance types to exclude from the list, even if they match your specified attributes.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .\n> \n> Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html) , or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify `InstanceRequirements` . \n\nFor more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide* .", - "title": "InstanceRequirements" + "ReadCapacityUnits": { + "markdownDescription": "Specifies a fixed read capacity for the replica table or global secondary index.", + "title": "ReadCapacityUnits", + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification", + "markdownDescription": "Updates the status for contributor insights for a specific table or index. CloudWatch Contributor Insights for DynamoDB graphs display the partition key and (if applicable) sort key of frequently accessed items and frequently throttled items in plaintext. If you require the use of AWS Key Management Service (KMS) to encrypt this table\u2019s partition key and sort key data with an AWS managed key or customer managed key, you should not enable CloudWatch Contributor Insights for DynamoDB for this table.", + "title": "ContributorInsightsSpecification" }, - "InstanceType": { - "markdownDescription": "The instance type. For more information, see [Amazon EC2 instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nIf you specify `InstanceType` , you can't specify `InstanceRequirements` .", - "title": "InstanceType", + "IndexName": { + "markdownDescription": "The name of the global secondary index. The name must be unique among all other indexes on this table.", + "title": "IndexName", "type": "string" }, - "KernelId": { - "markdownDescription": "The ID of the kernel.\n\nWe recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [User Provided Kernels](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", - "title": "KernelId", - "type": "string" + "ReadOnDemandThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings", + "markdownDescription": "Sets the read request settings for a replica global secondary index. You can only specify this setting if your resource uses the `PAY_PER_REQUEST` `BillingMode` .", + "title": "ReadOnDemandThroughputSettings" }, - "KeyName": { - "markdownDescription": "The name of the key pair. You can create a key pair using [CreateKeyPair](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html) or [ImportKeyPair](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html) .\n\n> If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.", - "title": "KeyName", + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings", + "markdownDescription": "Allows you to specify the read capacity settings for a replica global secondary index when the `BillingMode` is set to `PROVISIONED` .", + "title": "ReadProvisionedThroughputSettings" + } + }, + "required": [ + "IndexName" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaSSESpecification": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyId": { + "markdownDescription": "The AWS key that should be used for the AWS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key `alias/aws/dynamodb` .", + "title": "KMSMasterKeyId", "type": "string" + } + }, + "required": [ + "KMSMasterKeyId" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaSpecification": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification", + "markdownDescription": "The settings used to enable or disable CloudWatch Contributor Insights for the specified replica. When not specified, defaults to contributor insights disabled for the replica.", + "title": "ContributorInsightsSpecification" }, - "LicenseSpecifications": { + "DeletionProtectionEnabled": { + "markdownDescription": "Determines if a replica is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .", + "title": "DeletionProtectionEnabled", + "type": "boolean" + }, + "GlobalSecondaryIndexes": { "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification" }, - "markdownDescription": "The license configurations.", - "title": "LicenseSpecifications", + "markdownDescription": "Defines additional settings for the global secondary indexes of this replica.", + "title": "GlobalSecondaryIndexes", "type": "array" }, - "MaintenanceOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MaintenanceOptions", - "markdownDescription": "The maintenance options of your instance.", - "title": "MaintenanceOptions" + "GlobalTableSettingsReplicationMode": { + "type": "string" }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions", - "markdownDescription": "The metadata options for the instance. For more information, see [Configure the Instance Metadata Service options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) in the *Amazon EC2 User Guide* .", - "title": "MetadataOptions" + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KinesisStreamSpecification", + "markdownDescription": "Defines the Kinesis Data Streams configuration for the specified replica.", + "title": "KinesisStreamSpecification" }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring", - "markdownDescription": "The monitoring for the instance.", - "title": "Monitoring" + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification", + "markdownDescription": "The settings used to enable point in time recovery. When not specified, defaults to point in time recovery disabled for the replica.", + "title": "PointInTimeRecoverySpecification" }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" - }, - "markdownDescription": "The network interfaces for the instance.", - "title": "NetworkInterfaces", - "type": "array" + "ReadOnDemandThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadOnDemandThroughputSettings", + "markdownDescription": "Sets read request settings for the replica table.", + "title": "ReadOnDemandThroughputSettings" }, - "NetworkPerformanceOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkPerformanceOptions", - "markdownDescription": "The settings for the network performance options for the instance. For more information, see [EC2 instance bandwidth weighting configuration](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html) .", - "title": "NetworkPerformanceOptions" + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings", + "markdownDescription": "Defines read capacity settings for the replica table.", + "title": "ReadProvisionedThroughputSettings" }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement", - "markdownDescription": "The placement for the instance.", - "title": "Placement" + "Region": { + "markdownDescription": "The region in which this replica exists.", + "title": "Region", + "type": "string" }, - "PrivateDnsNameOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateDnsNameOptions", - "markdownDescription": "The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries should be handled. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "PrivateDnsNameOptions" + "ReplicaStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification", + "markdownDescription": "Represents the DynamoDB Streams configuration for a global table replica.", + "title": "ReplicaStreamSpecification" }, - "RamDiskId": { - "markdownDescription": "The ID of the RAM disk.\n\n> We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [User provided kernels](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", - "title": "RamDiskId", - "type": "string" + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy", + "markdownDescription": "A resource-based policy document that contains permissions to add to the specified replica of a DynamoDB global table. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.\n\nIn a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", + "title": "ResourcePolicy" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the security groups. You can specify the IDs of existing security groups and references to resources created by the stack template.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface instead.", - "title": "SecurityGroupIds", - "type": "array" + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification", + "markdownDescription": "Allows you to specify a customer-managed key for the replica. When using customer-managed keys for server-side encryption, this property must have a value in all replicas.", + "title": "SSESpecification" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "The names of the security groups. For a nondefault VPC, you must use security group IDs instead.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.", - "title": "SecurityGroups", - "type": "array" + "TableClass": { + "markdownDescription": "The table class of the specified table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS` .", + "title": "TableClass", + "type": "string" }, - "TagSpecifications": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to apply to resources that are created during instance launch.\n\nTo tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications) .", - "title": "TagSpecifications", + "markdownDescription": "An array of key-value pairs to apply to this replica.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "title": "Tags", "type": "array" - }, - "UserData": { - "markdownDescription": "The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands when you launch an EC2 instance with user data input](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) in the *Amazon EC2 User Guide* .\n\nIf you are creating the launch template for use with AWS Batch , the user data must be provided in the [MIME multi-part archive format](https://docs.aws.amazon.com/https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive) . For more information, see [Amazon EC2 user data in launch templates](https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html#lt-user-data) in the *AWS Batch User Guide* .", - "title": "UserData", - "type": "string" } }, + "required": [ + "Region" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification": { + "AWS::DynamoDB::GlobalTable.ReplicaStreamSpecification": { "additionalProperties": false, "properties": { - "ResourceType": { - "markdownDescription": "The type of resource. To tag a launch template, `ResourceType` must be `launch-template` .", - "title": "ResourceType", - "type": "string" + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ResourcePolicy", + "markdownDescription": "A resource-based policy document that contains the permissions for the specified stream of a DynamoDB global table replica. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.\n\nIn a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .\n\nYou can update the `ResourcePolicy` property if you've specified more than one table using the [AWS ::DynamoDB::GlobalTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html) resource.", + "title": "ResourcePolicy" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the resource.", - "title": "Tags", "type": "array" } }, "type": "object" }, - "AWS::EC2::LaunchTemplate.LicenseSpecification": { + "AWS::DynamoDB::GlobalTable.ResourcePolicy": { "additionalProperties": false, "properties": { - "LicenseConfigurationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the license configuration.", - "title": "LicenseConfigurationArn", - "type": "string" + "PolicyDocument": { + "markdownDescription": "A resource-based policy document that contains permissions to add to the specified DynamoDB table, its indexes, and stream. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", + "title": "PolicyDocument", + "type": "object" } }, + "required": [ + "PolicyDocument" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.MaintenanceOptions": { + "AWS::DynamoDB::GlobalTable.SSESpecification": { "additionalProperties": false, "properties": { - "AutoRecovery": { - "markdownDescription": "Disables the automatic recovery behavior of your instance or sets it to default.", - "title": "AutoRecovery", + "SSEEnabled": { + "markdownDescription": "Indicates whether server-side encryption is performed using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to KMS and an AWS managed key is used ( AWS charges apply). If disabled (false) or not specified,server-side encryption is set to an AWS owned key. If you choose to use KMS encryption, you can also use customer managed KMS keys by specifying them in the `ReplicaSpecification.SSESpecification` object. You cannot mix AWS managed and customer managed KMS keys.", + "title": "SSEEnabled", + "type": "boolean" + }, + "SSEType": { + "markdownDescription": "Server-side encryption type. The only supported value is:\n\n- `KMS` - Server-side encryption that uses AWS Key Management Service . The key is stored in your account and is managed by AWS ( AWS charges apply).", + "title": "SSEType", "type": "string" } }, + "required": [ + "SSEEnabled" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu": { + "AWS::DynamoDB::GlobalTable.SearchSchemaElement": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "AttributeName": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "SearchSchemaElementType": { + "type": "string" } }, + "required": [ + "AttributeName", + "SearchSchemaElementType" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.MemoryMiB": { + "AWS::DynamoDB::GlobalTable.StreamSpecification": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum amount of memory, in MiB. To specify no minimum limit, specify `0` .", - "title": "Min", - "type": "number" + "StreamViewType": { + "markdownDescription": "When an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table. Valid values for `StreamViewType` are:\n\n- `KEYS_ONLY` - Only the key attributes of the modified item are written to the stream.\n- `NEW_IMAGE` - The entire item, as it appears after it was modified, is written to the stream.\n- `OLD_IMAGE` - The entire item, as it appeared before it was modified, is written to the stream.\n- `NEW_AND_OLD_IMAGES` - Both the new and the old item images of the item are written to the stream.", + "title": "StreamViewType", + "type": "string" } }, + "required": [ + "StreamViewType" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.MetadataOptions": { + "AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration": { "additionalProperties": false, "properties": { - "HttpEndpoint": { - "markdownDescription": "Enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is `enabled` .\n\n> If you specify a value of `disabled` , you will not be able to access your instance metadata.", - "title": "HttpEndpoint", - "type": "string" - }, - "HttpProtocolIpv6": { - "markdownDescription": "Enables or disables the IPv6 endpoint for the instance metadata service.\n\nDefault: `disabled`", - "title": "HttpProtocolIpv6", - "type": "string" + "DisableScaleIn": { + "markdownDescription": "Indicates whether scale in by the target tracking scaling policy is disabled. The default value is `false` .", + "title": "DisableScaleIn", + "type": "boolean" }, - "HttpPutResponseHopLimit": { - "markdownDescription": "The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.\n\nDefault: `1`\n\nPossible values: Integers from 1 to 64", - "title": "HttpPutResponseHopLimit", + "ScaleInCooldown": { + "markdownDescription": "The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start.", + "title": "ScaleInCooldown", "type": "number" }, - "HttpTokens": { - "markdownDescription": "Indicates whether IMDSv2 is required.\n\n- `optional` - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.\n- `required` - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.\n\nDefault: If the value of `ImdsSupport` for the Amazon Machine Image (AMI) for your instance is `v2.0` , the default is `required` .", - "title": "HttpTokens", - "type": "string" + "ScaleOutCooldown": { + "markdownDescription": "The amount of time, in seconds, after a scale-out activity completes before another scale-out activity can start.", + "title": "ScaleOutCooldown", + "type": "number" }, - "InstanceMetadataTags": { - "markdownDescription": "Set to `enabled` to allow access to instance tags from the instance metadata. Set to `disabled` to turn off access to instance tags from the instance metadata. For more information, see [View tags for your EC2 instances using instance metadata](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/work-with-tags-in-IMDS.html) .\n\nDefault: `disabled`", - "title": "InstanceMetadataTags", - "type": "string" + "TargetValue": { + "markdownDescription": "Defines a target value for the scaling policy.", + "title": "TargetValue", + "type": "number" } }, + "required": [ + "TargetValue" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Monitoring": { + "AWS::DynamoDB::GlobalTable.TimeToLiveSpecification": { "additionalProperties": false, "properties": { + "AttributeName": { + "markdownDescription": "The name of the attribute used to store the expiration time for items in the table.\n\nCurrently, you cannot directly change the attribute name used to evaluate time to live. In order to do so, you must first disable time to live, and then re-enable it with the new attribute name. It can take up to one hour for changes to time to live to take effect. If you attempt to modify time to live within that time window, your stack operation might be delayed.", + "title": "AttributeName", + "type": "string" + }, "Enabled": { - "markdownDescription": "Specify `true` to enable detailed monitoring. Otherwise, basic monitoring is enabled.", + "markdownDescription": "Indicates whether TTL is to be enabled (true) or disabled (false) on the table.", "title": "Enabled", "type": "boolean" } }, + "required": [ + "Enabled" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.NetworkBandwidthGbps": { + "AWS::DynamoDB::GlobalTable.VectorAttribute": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no minimum limit.", - "title": "Min", - "type": "number" + "AttributeName": { + "type": "string" } }, + "required": [ + "AttributeName" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.NetworkInterface": { + "AWS::DynamoDB::GlobalTable.VectorIndex": { "additionalProperties": false, "properties": { - "AssociateCarrierIpAddress": { - "markdownDescription": "Associates a Carrier IP address with eth0 for a new network interface.\n\nUse this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. For more information about Carrier IP addresses, see [Carrier IP addresses](https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip) in the *AWS Wavelength Developer Guide* .", - "title": "AssociateCarrierIpAddress", - "type": "boolean" - }, - "AssociatePublicIpAddress": { - "markdownDescription": "Associates a public IPv4 address with eth0 for a new network interface.\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [Amazon VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", - "title": "AssociatePublicIpAddress", - "type": "boolean" - }, - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ConnectionTrackingSpecification", - "markdownDescription": "A connection tracking specification for the network interface.", - "title": "ConnectionTrackingSpecification" - }, - "DeleteOnTermination": { - "markdownDescription": "Indicates whether the network interface is deleted when the instance is terminated.", - "title": "DeleteOnTermination", - "type": "boolean" - }, - "Description": { - "markdownDescription": "A description for the network interface.", - "title": "Description", - "type": "string" - }, - "DeviceIndex": { - "markdownDescription": "The device index for the network interface attachment. The primary network interface has a device index of 0. If the network interface is of type `interface` , you must specify a device index.\n\nIf you create a launch template that includes secondary network interfaces but no primary network interface, and you specify it using the `LaunchTemplate` property of `AWS::EC2::Instance` , then you must include a primary network interface using the `NetworkInterfaces` property of `AWS::EC2::Instance` .", - "title": "DeviceIndex", - "type": "number" - }, - "EnaQueueCount": { - "markdownDescription": "The number of ENA queues to be created with the instance.", - "title": "EnaQueueCount", + "Dimensions": { "type": "number" }, - "EnaSrdSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdSpecification", - "markdownDescription": "The ENA Express configuration for the network interface.", - "title": "EnaSrdSpecification" - }, - "Groups": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of one or more security groups.", - "title": "Groups", - "type": "array" - }, - "InterfaceType": { - "markdownDescription": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify `efa` or `efa` . For more information, see [Elastic Fabric Adapter for AI/ML and HPC workloads on Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide* .\n\nIf you are not creating an EFA, specify `interface` or omit this parameter.\n\nIf you specify `efa-only` , do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.\n\nValid values: `interface` | `efa` | `efa-only`", - "title": "InterfaceType", + "DistanceFunction": { "type": "string" }, - "Ipv4PrefixCount": { - "markdownDescription": "The number of IPv4 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the `Ipv4Prefix` option.", - "title": "Ipv4PrefixCount", - "type": "number" - }, - "Ipv4Prefixes": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv4PrefixSpecification" - }, - "markdownDescription": "One or more IPv4 prefixes to be assigned to the network interface. You cannot use this option if you use the `Ipv4PrefixCount` option.", - "title": "Ipv4Prefixes", - "type": "array" - }, - "Ipv6AddressCount": { - "markdownDescription": "The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.", - "title": "Ipv6AddressCount", - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" - }, - "markdownDescription": "One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.", - "title": "Ipv6Addresses", - "type": "array" - }, - "Ipv6PrefixCount": { - "markdownDescription": "The number of IPv6 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the `Ipv6Prefix` option.", - "title": "Ipv6PrefixCount", - "type": "number" - }, - "Ipv6Prefixes": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6PrefixSpecification" - }, - "markdownDescription": "One or more IPv6 prefixes to be assigned to the network interface. You cannot use this option if you use the `Ipv6PrefixCount` option.", - "title": "Ipv6Prefixes", - "type": "array" - }, - "NetworkCardIndex": { - "markdownDescription": "The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.", - "title": "NetworkCardIndex", - "type": "number" - }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of the network interface.", - "title": "NetworkInterfaceId", + "IndexName": { "type": "string" }, - "PrimaryIpv6": { - "markdownDescription": "The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) .", - "title": "PrimaryIpv6", - "type": "boolean" - }, - "PrivateIpAddress": { - "markdownDescription": "The primary private IPv4 address of the network interface.", - "title": "PrivateIpAddress", - "type": "string" + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" }, - "PrivateIpAddresses": { + "SearchSchema": { "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SearchSchemaElement" }, - "markdownDescription": "One or more private IPv4 addresses.", - "title": "PrivateIpAddresses", "type": "array" }, - "SecondaryPrivateIpAddressCount": { - "markdownDescription": "The number of secondary private IPv4 addresses to assign to a network interface.", - "title": "SecondaryPrivateIpAddressCount", - "type": "number" - }, - "SubnetId": { - "markdownDescription": "The ID of the subnet for the network interface.", - "title": "SubnetId", - "type": "string" + "VectorAttribute": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.VectorAttribute" } }, + "required": [ + "Dimensions", + "DistanceFunction", + "IndexName", + "Projection", + "VectorAttribute" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.NetworkInterfaceCount": { + "AWS::DynamoDB::GlobalTable.WarmThroughput": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of network interfaces. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum number of network interfaces. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.NetworkPerformanceOptions": { - "additionalProperties": false, - "properties": { - "BandwidthWeighting": { - "markdownDescription": "Specify the bandwidth weighting option to boost the associated type of baseline bandwidth, as follows:\n\n- **default** - This option uses the standard bandwidth configuration for your instance type.\n- **vpc-1** - This option boosts your networking baseline bandwidth and reduces your EBS baseline bandwidth.\n- **ebs-1** - This option boosts your EBS baseline bandwidth and reduces your networking baseline bandwidth.", - "title": "BandwidthWeighting", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "markdownDescription": "The affinity setting for an instance on a Dedicated Host.", - "title": "Affinity", - "type": "string" - }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone for the instance.\n\nEither `AvailabilityZone` or `AvailabilityZoneId` can be specified, but not both", - "title": "AvailabilityZone", - "type": "string" - }, - "GroupId": { - "markdownDescription": "The Group Id of a placement group. You must specify the Placement Group *Group Id* to launch an instance in a shared placement group.", - "title": "GroupId", - "type": "string" - }, - "GroupName": { - "markdownDescription": "The name of the placement group for the instance.", - "title": "GroupName", - "type": "string" - }, - "HostId": { - "markdownDescription": "The ID of the Dedicated Host for the instance.", - "title": "HostId", - "type": "string" - }, - "HostResourceGroupArn": { - "markdownDescription": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the *Tenancy* parameter or set it to `host` .", - "title": "HostResourceGroupArn", - "type": "string" - }, - "PartitionNumber": { - "markdownDescription": "The number of the partition the instance should launch in. Valid only if the placement group strategy is set to `partition` .", - "title": "PartitionNumber", + "ReadUnitsPerSecond": { + "markdownDescription": "Represents the number of read operations your base table can instantaneously support.", + "title": "ReadUnitsPerSecond", "type": "number" }, - "SpreadDomain": { - "markdownDescription": "Reserved for future use.", - "title": "SpreadDomain", - "type": "string" - }, - "Tenancy": { - "markdownDescription": "The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware.", - "title": "Tenancy", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.PrivateDnsNameOptions": { - "additionalProperties": false, - "properties": { - "EnableResourceNameDnsAAAARecord": { - "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.", - "title": "EnableResourceNameDnsAAAARecord", - "type": "boolean" - }, - "EnableResourceNameDnsARecord": { - "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records.", - "title": "EnableResourceNameDnsARecord", - "type": "boolean" - }, - "HostnameType": { - "markdownDescription": "The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "HostnameType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.PrivateIpAdd": { - "additionalProperties": false, - "properties": { - "Primary": { - "markdownDescription": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.", - "title": "Primary", - "type": "boolean" - }, - "PrivateIpAddress": { - "markdownDescription": "The private IPv4 address.", - "title": "PrivateIpAddress", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Reference": { - "additionalProperties": false, - "properties": { - "InstanceFamily": { - "markdownDescription": "The instance family to use as a baseline reference.\n\n> Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( `.` ) in the instance type name. For example, in the instance type `c6i.large` , the instance family is `c6i` , not `c6` . For more information, see [Amazon EC2 instance type naming conventions](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) in *Amazon EC2 Instance Types* . \n\nThe following instance families are *not supported* for performance protection:\n\n- `c1`\n- `g3` | `g3s`\n- `hpc7g`\n- `m1` | `m2`\n- `mac1` | `mac2` | `mac2-m1ultra` | `mac2-m2` | `mac2-m2pro`\n- `p3dn` | `p4d` | `p5`\n- `t1`\n- `u-12tb1` | `u-18tb1` | `u-24tb1` | `u-3tb1` | `u-6tb1` | `u-9tb1` | `u7i-12tb` | `u7in-16tb` | `u7in-24tb` | `u7in-32tb`\n\nIf you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.", - "title": "InstanceFamily", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.SpotOptions": { - "additionalProperties": false, - "properties": { - "BlockDurationMinutes": { - "markdownDescription": "Deprecated.", - "title": "BlockDurationMinutes", + "WriteUnitsPerSecond": { + "markdownDescription": "Represents the number of write operations your base table can instantaneously support.", + "title": "WriteUnitsPerSecond", "type": "number" - }, - "InstanceInterruptionBehavior": { - "markdownDescription": "The behavior when a Spot Instance is interrupted. The default is `terminate` .", - "title": "InstanceInterruptionBehavior", - "type": "string" - }, - "MaxPrice": { - "markdownDescription": "The maximum hourly price you're willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price. If you do specify this parameter, it must be more than USD $0.001. Specifying a value below USD $0.001 will result in an `InvalidParameterValue` error message when the launch template is used to launch an instance.\n\n> If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.", - "title": "MaxPrice", - "type": "string" - }, - "SpotInstanceType": { - "markdownDescription": "The Spot Instance request type.\n\nIf you are using Spot Instances with an Auto Scaling group, use `one-time` requests, as the Amazon EC2 Auto Scaling service handles requesting new Spot Instances whenever the group is below its desired capacity.", - "title": "SpotInstanceType", - "type": "string" - }, - "ValidUntil": { - "markdownDescription": "The end date of the request, in UTC format ( *YYYY-MM-DD* T *HH:MM:SS* Z). Supported only for persistent requests.\n\n- For a persistent request, the request remains active until the `ValidUntil` date and time is reached. Otherwise, the request remains active until you cancel it.\n- For a one-time request, `ValidUntil` is not supported. The request remains active until all instances launch or you cancel the request.\n\nDefault: 7 days from the current date", - "title": "ValidUntil", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "markdownDescription": "The type of resource to tag. You can specify tags for the following resource types only: `instance` | `volume` | `network-interface` | `spot-instances-request` . If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include a volume.\n\nTo tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) .", - "title": "ResourceType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to the resource.", - "title": "Tags", - "type": "array" } }, "type": "object" }, - "AWS::EC2::LaunchTemplate.TotalLocalStorageGB": { + "AWS::DynamoDB::GlobalTable.WriteOnDemandThroughputSettings": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter.", - "title": "Min", + "MaxWriteRequestUnits": { + "markdownDescription": "Maximum number of write request settings for the specified replica of a global table.", + "title": "MaxWriteRequestUnits", "type": "number" } }, "type": "object" }, - "AWS::EC2::LaunchTemplate.VCpuCount": { + "AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of vCPUs. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum number of vCPUs. To specify no minimum limit, specify `0` .", - "title": "Min", - "type": "number" + "WriteCapacityAutoScalingSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings", + "markdownDescription": "Specifies auto scaling settings for the replica table or global secondary index.", + "title": "WriteCapacityAutoScalingSettings" } }, "type": "object" }, - "AWS::EC2::LocalGatewayRoute": { + "AWS::DynamoDB::Stream": { "additionalProperties": false, "properties": { "Condition": { @@ -125931,36 +124874,18 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { - "markdownDescription": "The CIDR block used for destination matches.", - "title": "DestinationCidrBlock", - "type": "string" - }, - "LocalGatewayRouteTableId": { - "markdownDescription": "The ID of the local gateway route table.", - "title": "LocalGatewayRouteTableId", - "type": "string" - }, - "LocalGatewayVirtualInterfaceGroupId": { - "markdownDescription": "The ID of the virtual interface group.", - "title": "LocalGatewayVirtualInterfaceGroupId", + "StreamViewType": { "type": "string" }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of the network interface.", - "title": "NetworkInterfaceId", + "TableName": { "type": "string" } }, - "required": [ - "DestinationCidrBlock", - "LocalGatewayRouteTableId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayRoute" + "AWS::DynamoDB::Stream" ], "type": "string" }, @@ -125974,12 +124899,27 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::LocalGatewayRouteTable": { + "AWS::DynamoDB::Stream.KeySchemaItems": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "KeyType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table": { "additionalProperties": false, "properties": { "Condition": { @@ -126014,33 +124954,136 @@ "Properties": { "additionalProperties": false, "properties": { - "LocalGatewayId": { - "markdownDescription": "The ID of the local gateway.", - "title": "LocalGatewayId", + "AttributeDefinitions": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" + }, + "markdownDescription": "A list of attributes that describe the key schema for the table and indexes.\n\nThis property is required to create a DynamoDB table.\n\nUpdate requires: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . Replacement if you edit an existing AttributeDefinition.", + "title": "AttributeDefinitions", + "type": "array" + }, + "BillingMode": { + "markdownDescription": "Specify how you are charged for read and write throughput and how you manage capacity.\n\nValid values include:\n\n- `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for most DynamoDB workloads. `PAY_PER_REQUEST` sets the billing mode to [On-demand capacity mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html) .\n- `PROVISIONED` - We recommend using `PROVISIONED` for steady workloads with predictable growth where capacity requirements can be reliably forecasted. `PROVISIONED` sets the billing mode to [Provisioned capacity mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html) .\n\nIf not specified, the default is `PROVISIONED` .", + "title": "BillingMode", "type": "string" }, - "Mode": { - "markdownDescription": "The mode of the local gateway route table.", - "title": "Mode", + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification", + "markdownDescription": "The settings used to specify whether to enable CloudWatch Contributor Insights for the table and define which events to monitor.", + "title": "ContributorInsightsSpecification" + }, + "DeletionProtectionEnabled": { + "markdownDescription": "Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .", + "title": "DeletionProtectionEnabled", + "type": "boolean" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" + }, + "markdownDescription": "Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes.\n\n> If you update a table to include a new global secondary index, AWS CloudFormation initiates the index creation and then proceeds with the stack update. AWS CloudFormation doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is `ACTIVE` . You can track its status by using the DynamoDB [DescribeTable](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html) command.\n> \n> If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index.\n> \n> Updates are not supported. The following are exceptions:\n> \n> - If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption.\n> - You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.", + "title": "GlobalSecondaryIndexes", + "type": "array" + }, + "ImportSourceSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ImportSourceSpecification", + "markdownDescription": "Specifies the properties of data being imported from the S3 bucket source to the\" table.\n\n> If you specify the `ImportSourceSpecification` property, and also specify either the `StreamSpecification` , the `TableClass` property, the `DeletionProtectionEnabled` property, or the `WarmThroughput` property, the IAM entity creating/updating stack must have `UpdateTable` permission.", + "title": "ImportSourceSpecification" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "markdownDescription": "Specifies the attributes that make up the primary key for the table. The attributes in the `KeySchema` property must also be defined in the `AttributeDefinitions` property.", + "title": "KeySchema", + "type": "array" + }, + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification", + "markdownDescription": "The Kinesis Data Streams configuration for the specified table.", + "title": "KinesisStreamSpecification" + }, + "LocalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" + }, + "markdownDescription": "Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.", + "title": "LocalSecondaryIndexes", + "type": "array" + }, + "OnDemandThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.OnDemandThroughput", + "markdownDescription": "Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify `MaxReadRequestUnits` , `MaxWriteRequestUnits` , or both.", + "title": "OnDemandThroughput" + }, + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification", + "markdownDescription": "The settings used to enable point in time recovery.", + "title": "PointInTimeRecoverySpecification" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput", + "markdownDescription": "Throughput for the specified table, which consists of values for `ReadCapacityUnits` and `WriteCapacityUnits` . For more information about the contents of a provisioned throughput structure, see [Amazon DynamoDB Table ProvisionedThroughput](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html) .\n\nIf you set `BillingMode` as `PROVISIONED` , you must specify this property. If you set `BillingMode` as `PAY_PER_REQUEST` , you cannot specify this property.", + "title": "ProvisionedThroughput" + }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy", + "markdownDescription": "An AWS resource-based policy document in JSON format that will be attached to the table.\n\nWhen you attach a resource-based policy while creating a table, the policy application is *strongly consistent* .\n\nThe maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that apply for resource-based policies, see [Resource-based policy considerations](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html) .\n\n> You need to specify the `CreateTable` and `PutResourcePolicy` IAM actions for authorizing a user to create a table with a resource-based policy.", + "title": "ResourcePolicy" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification", + "markdownDescription": "Specifies the settings to enable server-side encryption.", + "title": "SSESpecification" + }, + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification", + "markdownDescription": "The settings for the DynamoDB table stream, which captures changes to items stored in the table. Including this property in your AWS CloudFormation template automatically enables streaming.", + "title": "StreamSpecification" + }, + "TableClass": { + "markdownDescription": "The table class of the new table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS` .", + "title": "TableClass", + "type": "string" + }, + "TableName": { + "markdownDescription": "A name for the table. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the table name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "TableName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags assigned to the local gateway route table.", + "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" + }, + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification", + "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.", + "title": "WarmThroughput" } }, "required": [ - "LocalGatewayId" + "KeySchema" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayRouteTable" + "AWS::DynamoDB::Table" ], "type": "string" }, @@ -126059,88 +125102,478 @@ ], "type": "object" }, - "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { + "AWS::DynamoDB::Table.AttributeDefinition": { "additionalProperties": false, "properties": { - "Condition": { + "AttributeName": { + "markdownDescription": "A name for the attribute.", + "title": "AttributeName", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AttributeType": { + "markdownDescription": "The data type for the attribute, where:\n\n- `S` - the attribute is of type String\n- `N` - the attribute is of type Number\n- `B` - the attribute is of type Binary", + "title": "AttributeType", + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.ContributorInsightsSpecification": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).", + "title": "Enabled", + "type": "boolean" + }, + "Mode": { + "markdownDescription": "Specifies the CloudWatch Contributor Insights mode for a table. Valid values are `ACCESSED_AND_THROTTLED_KEYS` (tracks all access and throttled events) or `THROTTLED_KEYS` (tracks only throttled events). This setting determines what type of contributor insights data is collected for the table.", + "title": "Mode", + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.Csv": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "markdownDescription": "The delimiter used for separating items in the CSV file being imported.", + "title": "Delimiter", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "HeaderList": { + "items": { + "type": "string" + }, + "markdownDescription": "List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.", + "title": "HeaderList", + "type": "array" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.GlobalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification", + "markdownDescription": "The settings used to specify whether to enable CloudWatch Contributor Insights for the global table and define which events to monitor.", + "title": "ContributorInsightsSpecification" }, - "Metadata": { - "type": "object" + "IndexName": { + "markdownDescription": "The name of the global secondary index. The name must be unique among all other indexes on this table.", + "title": "IndexName", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "LocalGatewayRouteTableId": { - "markdownDescription": "The ID of the local gateway route table.", - "title": "LocalGatewayRouteTableId", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the association.", - "title": "Tags", - "type": "array" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", - "type": "string" - } + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" }, - "required": [ - "LocalGatewayRouteTableId", - "VpcId" - ], + "markdownDescription": "The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", + "title": "KeySchema", + "type": "array" + }, + "OnDemandThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.OnDemandThroughput", + "markdownDescription": "The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify `MaxReadRequestUnits` , `MaxWriteRequestUnits` , or both. You must use either `OnDemandThroughput` or `ProvisionedThroughput` based on your table's capacity mode.", + "title": "OnDemandThroughput" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection", + "markdownDescription": "Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", + "title": "Projection" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput", + "markdownDescription": "Represents the provisioned throughput settings for the specified global secondary index. You must use either `OnDemandThroughput` or `ProvisionedThroughput` based on your table's capacity mode.\n\nFor current minimum and maximum provisioned throughput values, see [Service, Account, and Table Quotas](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the *Amazon DynamoDB Developer Guide* .", + "title": "ProvisionedThroughput" + }, + "WarmThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.WarmThroughput", + "markdownDescription": "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both.", + "title": "WarmThroughput" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.ImportSourceSpecification": { + "additionalProperties": false, + "properties": { + "InputCompressionType": { + "markdownDescription": "Type of compression to be used on the input coming from the imported table.", + "title": "InputCompressionType", + "type": "string" + }, + "InputFormat": { + "markdownDescription": "The format of the source data. Valid values for `ImportFormat` are `CSV` , `DYNAMODB_JSON` or `ION` .", + "title": "InputFormat", + "type": "string" + }, + "InputFormatOptions": { + "$ref": "#/definitions/AWS::DynamoDB::Table.InputFormatOptions", + "markdownDescription": "Additional properties that specify how the input is formatted,", + "title": "InputFormatOptions" + }, + "S3BucketSource": { + "$ref": "#/definitions/AWS::DynamoDB::Table.S3BucketSource", + "markdownDescription": "The S3 bucket that provides the source for the import.", + "title": "S3BucketSource" + } + }, + "required": [ + "InputFormat", + "S3BucketSource" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.InputFormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Csv", + "markdownDescription": "The options for imported source files in CSV format. The values are Delimiter and HeaderList.", + "title": "Csv" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.KeySchema": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "markdownDescription": "The name of a key attribute.", + "title": "AttributeName", + "type": "string" + }, + "KeyType": { + "markdownDescription": "The role that this key attribute will assume:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", + "title": "KeyType", + "type": "string" + } + }, + "required": [ + "AttributeName", + "KeyType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.KinesisStreamSpecification": { + "additionalProperties": false, + "properties": { + "ApproximateCreationDateTimePrecision": { + "markdownDescription": "The precision for the time and date that the stream was created.", + "title": "ApproximateCreationDateTimePrecision", + "type": "string" + }, + "StreamArn": { + "markdownDescription": "The ARN for a specific Kinesis data stream.\n\nLength Constraints: Minimum length of 37. Maximum length of 1024.", + "title": "StreamArn", + "type": "string" + } + }, + "required": [ + "StreamArn" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.LocalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "markdownDescription": "The name of the local secondary index. The name must be unique among all other indexes on this table.", + "title": "IndexName", + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "markdownDescription": "The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:\n\n- `HASH` - partition key\n- `RANGE` - sort key\n\n> The partition key of an item is also known as its *hash attribute* . The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n> \n> The sort key of an item is also known as its *range attribute* . The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.", + "title": "KeySchema", + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection", + "markdownDescription": "Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.", + "title": "Projection" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.OnDemandThroughput": { + "additionalProperties": false, + "properties": { + "MaxReadRequestUnits": { + "markdownDescription": "Maximum number of read request units for the specified table.\n\nTo specify a maximum `OnDemandThroughput` on your table, set the value of `MaxReadRequestUnits` as greater than or equal to 1. To remove the maximum `OnDemandThroughput` that is currently set on your table, set the value of `MaxReadRequestUnits` to -1.", + "title": "MaxReadRequestUnits", + "type": "number" + }, + "MaxWriteRequestUnits": { + "markdownDescription": "Maximum number of write request units for the specified table.\n\nTo specify a maximum `OnDemandThroughput` on your table, set the value of `MaxWriteRequestUnits` as greater than or equal to 1. To remove the maximum `OnDemandThroughput` that is currently set on your table, set the value of `MaxWriteRequestUnits` to -1.", + "title": "MaxWriteRequestUnits", + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { + "additionalProperties": false, + "properties": { + "PointInTimeRecoveryEnabled": { + "markdownDescription": "Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.", + "title": "PointInTimeRecoveryEnabled", + "type": "boolean" + }, + "RecoveryPeriodInDays": { + "markdownDescription": "The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. This parameter is optional. If no value is provided, the value will default to 35.", + "title": "RecoveryPeriodInDays", + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "markdownDescription": "Represents the non-key attribute names which will be projected into the index.\n\nFor global and local secondary indexes, the total count of `NonKeyAttributes` summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. This limit only applies when you specify the ProjectionType of `INCLUDE` . You still can specify the ProjectionType of `ALL` to project all attributes from the source table, even if the table has more than 100 attributes.", + "title": "NonKeyAttributes", + "type": "array" + }, + "ProjectionType": { + "markdownDescription": "The set of attributes that are projected into the index:\n\n- `KEYS_ONLY` - Only the index and primary keys are projected into the index.\n- `INCLUDE` - In addition to the attributes described in `KEYS_ONLY` , the secondary index will include other non-key attributes that you specify.\n- `ALL` - All of the table attributes are projected into the index.\n\nWhen using the DynamoDB console, `ALL` is selected by default.", + "title": "ProjectionType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "markdownDescription": "The maximum number of strongly consistent reads consumed per second before DynamoDB returns a `ThrottlingException` . For more information, see [Specifying Read and Write Requirements](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html) in the *Amazon DynamoDB Developer Guide* .\n\nIf read/write capacity mode is `PAY_PER_REQUEST` the value is set to 0.", + "title": "ReadCapacityUnits", + "type": "number" + }, + "WriteCapacityUnits": { + "markdownDescription": "The maximum number of writes consumed per second before DynamoDB returns a `ThrottlingException` . For more information, see [Specifying Read and Write Requirements](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html) in the *Amazon DynamoDB Developer Guide* .\n\nIf read/write capacity mode is `PAY_PER_REQUEST` the value is set to 0.", + "title": "WriteCapacityUnits", + "type": "number" + } + }, + "required": [ + "ReadCapacityUnits", + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "markdownDescription": "A resource-based policy document that contains permissions to add to the specified DynamoDB table, index, or both. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", + "title": "PolicyDocument", "type": "object" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.S3BucketSource": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "markdownDescription": "The S3 bucket that is being imported from.", + "title": "S3Bucket", + "type": "string" }, - "Type": { - "enum": [ - "AWS::EC2::LocalGatewayRouteTableVPCAssociation" - ], + "S3BucketOwner": { + "markdownDescription": "The account number of the S3 bucket that is being imported from. If the bucket is owned by the requester this is optional.", + "title": "S3BucketOwner", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3KeyPrefix": { + "markdownDescription": "The key prefix shared by all S3 Objects that are being imported.", + "title": "S3KeyPrefix", "type": "string" } }, "required": [ - "Type", - "Properties" + "S3Bucket" ], "type": "object" }, - "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { + "AWS::DynamoDB::Table.SSESpecification": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyId": { + "markdownDescription": "The AWS key that should be used for the AWS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key `alias/aws/dynamodb` .", + "title": "KMSMasterKeyId", + "type": "string" + }, + "SSEEnabled": { + "markdownDescription": "Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to `KMS` and an AWS managed key is used ( AWS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.", + "title": "SSEEnabled", + "type": "boolean" + }, + "SSEType": { + "markdownDescription": "Server-side encryption type. The only supported value is:\n\n- `KMS` - Server-side encryption that uses AWS Key Management Service . The key is stored in your account and is managed by AWS ( AWS charges apply).", + "title": "SSEType", + "type": "string" + } + }, + "required": [ + "SSEEnabled" + ], + "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": { + "ResourcePolicy": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ResourcePolicy", + "markdownDescription": "Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table's streams. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.\n\n> When you remove the `StreamSpecification` property from the template, DynamoDB disables the stream but retains any attached resource policy until the stream is deleted after 24 hours. When you modify the `StreamViewType` property, DynamoDB creates a new stream and retains the old stream's resource policy. The old stream and its resource policy are deleted after the 24-hour retention period. \n\nIn a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .", + "title": "ResourcePolicy" + }, + "StreamViewType": { + "markdownDescription": "When an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table. Valid values for `StreamViewType` are:\n\n- `KEYS_ONLY` - Only the key attributes of the modified item are written to the stream.\n- `NEW_IMAGE` - The entire item, as it appears after it was modified, is written to the stream.\n- `OLD_IMAGE` - The entire item, as it appeared before it was modified, is written to the stream.\n- `NEW_AND_OLD_IMAGES` - Both the new and the old item images of the item are written to the stream.", + "title": "StreamViewType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "StreamViewType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.TimeToLiveSpecification": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "markdownDescription": "The name of the TTL attribute used to store the expiration time for items in the table.\n\n> - The `AttributeName` property is required when enabling the TTL, or when TTL is already enabled.\n> - To update this property, you must first disable TTL and then enable TTL with the new attribute name.", + "title": "AttributeName", + "type": "string" + }, + "Enabled": { + "markdownDescription": "Indicates whether TTL is to be enabled (true) or disabled (false) on the table.", + "title": "Enabled", + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "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": { + "ReadUnitsPerSecond": { + "markdownDescription": "Represents the number of read operations your base table can instantaneously support.", + "title": "ReadUnitsPerSecond", + "type": "number" + }, + "WriteUnitsPerSecond": { + "markdownDescription": "Represents the number of write operations your base table can instantaneously support.", + "title": "WriteUnitsPerSecond", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::ApplicationStatusCheck": { "additionalProperties": false, "properties": { "Condition": { @@ -126175,34 +125608,67 @@ "Properties": { "additionalProperties": false, "properties": { - "LocalGatewayRouteTableId": { - "markdownDescription": "The ID of the local gateway route table.", - "title": "LocalGatewayRouteTableId", + "Aggregation": { "type": "string" }, - "LocalGatewayVirtualInterfaceGroupId": { - "markdownDescription": "The ID of the virtual interface group.", - "title": "LocalGatewayVirtualInterfaceGroupId", + "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" }, - "markdownDescription": "The tags assigned to the association.", - "title": "Tags", "type": "array" + }, + "Timeout": { + "type": "number" } }, "required": [ - "LocalGatewayRouteTableId", - "LocalGatewayVirtualInterfaceGroupId" + "Port", + "Protocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation" + "AWS::EC2::ApplicationStatusCheck" ], "type": "string" }, @@ -126221,7 +125687,46 @@ ], "type": "object" }, - "AWS::EC2::LocalGatewayVirtualInterface": { + "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": { "Condition": { @@ -126256,62 +125761,45 @@ "Properties": { "additionalProperties": false, "properties": { - "LocalAddress": { - "markdownDescription": "The local address.", - "title": "LocalAddress", + "OutputFormat": { + "markdownDescription": "The file format of the exported data.", + "title": "OutputFormat", "type": "string" }, - "LocalGatewayVirtualInterfaceGroupId": { - "markdownDescription": "The ID of the local gateway virtual interface group.", - "title": "LocalGatewayVirtualInterfaceGroupId", + "S3BucketName": { + "markdownDescription": "The name of the S3 bucket where export files are delivered.", + "title": "S3BucketName", "type": "string" }, - "OutpostLagId": { - "markdownDescription": "The Outpost LAG ID.", - "title": "OutpostLagId", + "S3BucketPrefix": { + "markdownDescription": "The S3 key prefix used for organizing export files within the bucket.", + "title": "S3BucketPrefix", "type": "string" }, - "PeerAddress": { - "markdownDescription": "The peer address.", - "title": "PeerAddress", + "Schedule": { + "markdownDescription": "The frequency at which data exports are generated.", + "title": "Schedule", "type": "string" }, - "PeerBgpAsn": { - "markdownDescription": "The peer BGP ASN.", - "title": "PeerBgpAsn", - "type": "number" - }, - "PeerBgpAsnExtended": { - "markdownDescription": "The extended 32-bit ASN of the BGP peer for use with larger ASN values.", - "title": "PeerBgpAsnExtended", - "type": "number" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags assigned to the virtual interface.", + "markdownDescription": "The tags associated with the data export configuration.", "title": "Tags", "type": "array" - }, - "Vlan": { - "markdownDescription": "The ID of the VLAN.", - "title": "Vlan", - "type": "number" } }, "required": [ - "LocalAddress", - "LocalGatewayVirtualInterfaceGroupId", - "OutpostLagId", - "PeerAddress", - "Vlan" + "OutputFormat", + "S3BucketName", + "Schedule" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayVirtualInterface" + "AWS::EC2::CapacityManagerDataExport" ], "type": "string" }, @@ -126330,7 +125818,7 @@ ], "type": "object" }, - "AWS::EC2::LocalGatewayVirtualInterfaceGroup": { + "AWS::EC2::CapacityReservation": { "additionalProperties": false, "properties": { "Condition": { @@ -126365,38 +125853,95 @@ "Properties": { "additionalProperties": false, "properties": { - "LocalBgpAsn": { - "markdownDescription": "The Autonomous System Number(ASN) for the local Border Gateway Protocol (BGP).", - "title": "LocalBgpAsn", - "type": "number" - }, - "LocalBgpAsnExtended": { - "markdownDescription": "The extended 32-bit ASN for the local BGP configuration.", - "title": "LocalBgpAsnExtended", - "type": "number" + "AvailabilityZone": { + "markdownDescription": "The Availability Zone in which to create the Capacity Reservation.", + "title": "AvailabilityZone", + "type": "string" }, - "LocalGatewayId": { - "markdownDescription": "The ID of the local gateway.", - "title": "LocalGatewayId", + "AvailabilityZoneId": { + "markdownDescription": "The ID of the Availability Zone in which the capacity is reserved.", + "title": "AvailabilityZoneId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the virtual interface group.", - "title": "Tags", - "type": "array" + "EbsOptimized": { + "markdownDescription": "Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance.", + "title": "EbsOptimized", + "type": "boolean" + }, + "EndDate": { + "markdownDescription": "The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to `expired` when it reaches its end date and time.\n\nYou must provide an `EndDate` value if `EndDateType` is `limited` . Omit `EndDate` if `EndDateType` is `unlimited` .\n\nIf the `EndDateType` is `limited` , the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.\n\nIf you are requesting a future-dated Capacity Reservation, you can't specify an end date and time that is within the commitment duration.", + "title": "EndDate", + "type": "string" + }, + "EndDateType": { + "markdownDescription": "Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:\n\n- `unlimited` - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an `EndDate` if the `EndDateType` is `unlimited` .\n- `limited` - The Capacity Reservation expires automatically at a specified date and time. You must provide an `EndDate` value if the `EndDateType` value is `limited` .", + "title": "EndDateType", + "type": "string" + }, + "EphemeralStorage": { + "markdownDescription": "*Deprecated.*", + "title": "EphemeralStorage", + "type": "boolean" + }, + "InstanceCount": { + "markdownDescription": "The number of instances for which to reserve capacity.\n\n> You can request future-dated Capacity Reservations for an instance count with a minimum of 32 vCPUs. For example, if you request a future-dated Capacity Reservation for `m5.xlarge` instances, you must request at least 8 instances ( *8 * m5.xlarge = 32 vCPUs* ). \n\nValid range: 1 - 1000", + "title": "InstanceCount", + "type": "number" + }, + "InstanceMatchCriteria": { + "markdownDescription": "Indicates the type of instance launches that the Capacity Reservation accepts. The options include:\n\n- `open` - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters.\n- `targeted` - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.\n\n> If you are requesting a future-dated Capacity Reservation, you must specify `targeted` . \n\nDefault: `open`", + "title": "InstanceMatchCriteria", + "type": "string" + }, + "InstancePlatform": { + "markdownDescription": "The type of operating system for which to reserve capacity.", + "title": "InstancePlatform", + "type": "string" + }, + "InstanceType": { + "markdownDescription": "The instance type for which to reserve capacity.\n\n> You can request future-dated Capacity Reservations for instance types in the C, M, R, I, T, and G instance families only. \n\nFor more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .", + "title": "InstanceType", + "type": "string" + }, + "OutPostArn": { + "markdownDescription": "> Not supported for future-dated Capacity Reservations. \n\nThe Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.", + "title": "OutPostArn", + "type": "string" + }, + "PlacementGroupArn": { + "markdownDescription": "> Not supported for future-dated Capacity Reservations. \n\nThe Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. For more information, see [Capacity Reservations for cluster placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html) in the *Amazon EC2 User Guide* .", + "title": "PlacementGroupArn", + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + }, + "markdownDescription": "The tags to apply to the Capacity Reservation during launch.", + "title": "TagSpecifications", + "type": "array" + }, + "Tenancy": { + "markdownDescription": "Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:\n\n- `default` - The Capacity Reservation is created on hardware that is shared with other AWS accounts .\n- `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account .", + "title": "Tenancy", + "type": "string" + }, + "UnusedReservationBillingOwnerId": { + "markdownDescription": "The ID of the AWS account to which to assign billing of the unused capacity of the Capacity Reservation. A request will be sent to the specified account. That account must accept the request for the billing to be assigned to their account. For more information, see [Billing assignment for shared Amazon EC2 Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/assign-billing.html) .\n\nYou can assign billing only for shared Capacity Reservations. To share a Capacity Reservation, you must add it to a resource share. For more information, see [AWS::RAM::ResourceShare](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html) .", + "title": "UnusedReservationBillingOwnerId", + "type": "string" } }, "required": [ - "LocalGatewayId" + "InstanceCount", + "InstancePlatform", + "InstanceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayVirtualInterfaceGroup" + "AWS::EC2::CapacityReservation" ], "type": "string" }, @@ -126415,7 +125960,58 @@ ], "type": "object" }, - "AWS::EC2::NatGateway": { + "AWS::EC2::CapacityReservation.CapacityAllocation": { + "additionalProperties": false, + "properties": { + "AllocationType": { + "markdownDescription": "The usage type. `used` indicates that the instance capacity is in use by instances that are running in the Capacity Reservation.", + "title": "AllocationType", + "type": "string" + }, + "Count": { + "markdownDescription": "The amount of instance capacity associated with the usage. For example a value of `4` indicates that instance capacity for 4 instances is currently in use.", + "title": "Count", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::CapacityReservation.CommitmentInfo": { + "additionalProperties": false, + "properties": { + "CommitmentEndDate": { + "markdownDescription": "The date and time at which the commitment duration expires, in the ISO8601 format in the UTC time zone ( `YYYY-MM-DDThh:mm:ss.sssZ` ). You can't decrease the instance count or cancel the Capacity Reservation before this date and time.", + "title": "CommitmentEndDate", + "type": "string" + }, + "CommittedInstanceCount": { + "markdownDescription": "The instance capacity that you committed to when you requested the future-dated Capacity Reservation.", + "title": "CommittedInstanceCount", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::CapacityReservation.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "markdownDescription": "The type of resource to tag. Specify `capacity-reservation` .", + "title": "ResourceType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::CapacityReservationFleet": { "additionalProperties": false, "properties": { "Condition": { @@ -126450,84 +126046,63 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocationId": { - "markdownDescription": "[Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway. This property is required for a public NAT gateway and cannot be specified with a private NAT gateway.", - "title": "AllocationId", - "type": "string" - }, - "AvailabilityMode": { - "markdownDescription": "Indicates whether this is a zonal (single-AZ) or regional (multi-AZ) NAT gateway.\n\nA zonal NAT gateway is a NAT Gateway that provides redundancy and scalability within a single availability zone. A regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.\n\nFor more information, see [Regional NAT gateways for automatic multi-AZ expansion](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html) in the *Amazon VPC User Guide* .", - "title": "AvailabilityMode", + "AllocationStrategy": { + "markdownDescription": "The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. Currently, only the `prioritized` allocation strategy is supported. For more information, see [Allocation strategy](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#allocation-strategy) in the *Amazon EC2 User Guide* .\n\nValid values: `prioritized`", + "title": "AllocationStrategy", "type": "string" }, - "AvailabilityZoneAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NatGateway.AvailabilityZoneAddress" - }, - "markdownDescription": "For regional NAT gateways only: Specifies which Availability Zones you want the NAT gateway to support and the Elastic IP addresses (EIPs) to use in each AZ. The regional NAT gateway uses these EIPs to handle outbound NAT traffic from their respective AZs. If not specified, the NAT gateway will automatically expand to new AZs and associate EIPs upon detection of an elastic network interface. If you specify this parameter, auto-expansion is disabled and you must manually manage AZ coverage.\n\nA regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.\n\nFor more information, see [Regional NAT gateways for automatic multi-AZ expansion](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html) in the *Amazon VPC User Guide* .", - "title": "AvailabilityZoneAddresses", - "type": "array" - }, - "ConnectivityType": { - "markdownDescription": "Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.", - "title": "ConnectivityType", + "EndDate": { + "markdownDescription": "The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation Fleet expires, its state changes to `expired` and all of the Capacity Reservations in the Fleet expire.\n\nThe Capacity Reservation Fleet expires within an hour after the specified time. For example, if you specify `5/31/2019` , `13:30:55` , the Capacity Reservation Fleet is guaranteed to expire between `13:30:55` and `14:30:55` on `5/31/2019` .", + "title": "EndDate", "type": "string" }, - "MaxDrainDurationSeconds": { - "markdownDescription": "The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. Default value is 350 seconds.", - "title": "MaxDrainDurationSeconds", - "type": "number" - }, - "PrivateIpAddress": { - "markdownDescription": "The private IPv4 address to assign to the NAT gateway. If you don't provide an address, a private IPv4 address will be automatically assigned.", - "title": "PrivateIpAddress", + "InstanceMatchCriteria": { + "markdownDescription": "Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All Capacity Reservations in the Fleet inherit this instance matching criteria.\n\nCurrently, Capacity Reservation Fleets support `open` instance matching criteria only. This means that instances that have matching attributes (instance type, platform, and Availability Zone) run in the Capacity Reservations automatically. Instances do not need to explicitly target a Capacity Reservation Fleet to use its reserved capacity.", + "title": "InstanceMatchCriteria", "type": "string" }, - "SecondaryAllocationIds": { + "InstanceTypeSpecifications": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EC2::CapacityReservationFleet.InstanceTypeSpecification" }, - "markdownDescription": "Secondary EIP allocation IDs. For more information, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html) in the *Amazon VPC User Guide* .", - "title": "SecondaryAllocationIds", + "markdownDescription": "Information about the instance types for which to reserve the capacity.", + "title": "InstanceTypeSpecifications", "type": "array" }, - "SecondaryPrivateIpAddressCount": { - "markdownDescription": "[Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon Virtual Private Cloud User Guide* .\n\n`SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be set at the same time.", - "title": "SecondaryPrivateIpAddressCount", - "type": "number" - }, - "SecondaryPrivateIpAddresses": { - "items": { - "type": "string" - }, - "markdownDescription": "Secondary private IPv4 addresses. For more information about secondary addresses, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon Virtual Private Cloud User Guide* .\n\n`SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be set at the same time.", - "title": "SecondaryPrivateIpAddresses", - "type": "array" + "NoRemoveEndDate": { + "markdownDescription": "Used to add an end date to a Capacity Reservation Fleet that has no end date and time. To add an end date to a Capacity Reservation Fleet, specify `true` for this paramater and specify the end date and time (in UTC time format) for the *EndDate* parameter.", + "title": "NoRemoveEndDate", + "type": "boolean" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet in which the NAT gateway is located.", - "title": "SubnetId", - "type": "string" + "RemoveEndDate": { + "markdownDescription": "Used to remove an end date from a Capacity Reservation Fleet that is configured to end automatically at a specific date and time. To remove the end date from a Capacity Reservation Fleet, specify `true` for this paramater and omit the *EndDate* parameter.", + "title": "RemoveEndDate", + "type": "boolean" }, - "Tags": { + "TagSpecifications": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::EC2::CapacityReservationFleet.TagSpecification" }, - "markdownDescription": "The tags for the NAT gateway.", - "title": "Tags", + "markdownDescription": "The tags to assign to the Capacity Reservation Fleet. The tags are automatically assigned to the Capacity Reservations in the Fleet.", + "title": "TagSpecifications", "type": "array" }, - "VpcId": { - "markdownDescription": "The ID of the VPC in which the NAT gateway is located.", - "title": "VpcId", + "Tenancy": { + "markdownDescription": "Indicates the tenancy of the Capacity Reservation Fleet. All Capacity Reservations in the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of the following tenancy settings:\n\n- `default` - The Capacity Reservation Fleet is created on hardware that is shared with other AWS accounts .\n- `dedicated` - The Capacity Reservations are created on single-tenant hardware that is dedicated to a single AWS account .", + "title": "Tenancy", "type": "string" + }, + "TotalTargetCapacity": { + "markdownDescription": "The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see [Total target capacity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity) in the *Amazon EC2 User Guide* .", + "title": "TotalTargetCapacity", + "type": "number" } }, "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NatGateway" + "AWS::EC2::CapacityReservationFleet" ], "type": "string" }, @@ -126545,34 +126120,67 @@ ], "type": "object" }, - "AWS::EC2::NatGateway.AvailabilityZoneAddress": { + "AWS::EC2::CapacityReservationFleet.InstanceTypeSpecification": { "additionalProperties": false, "properties": { - "AllocationIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The allocation IDs of the Elastic IP addresses (EIPs) to be used for handling outbound NAT traffic in this specific Availability Zone.", - "title": "AllocationIds", - "type": "array" - }, "AvailabilityZone": { - "markdownDescription": "For regional NAT gateways only: The Availability Zone where this specific NAT gateway configuration will be active. Each AZ in a regional NAT gateway has its own configuration to handle outbound NAT traffic from that AZ.\n\nA regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.", + "markdownDescription": "The Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you specify for the Fleet must use the same Availability Zone.", "title": "AvailabilityZone", "type": "string" }, "AvailabilityZoneId": { - "markdownDescription": "For regional NAT gateways only: The ID of the Availability Zone where this specific NAT gateway configuration will be active. Each AZ in a regional NAT gateway has its own configuration to handle outbound NAT traffic from that AZ. Use this instead of AvailabilityZone for consistent identification of AZs across AWS Regions.\n\nA regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.", + "markdownDescription": "The ID of the Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you specify for the Fleet must use the same Availability Zone.", "title": "AvailabilityZoneId", "type": "string" + }, + "EbsOptimized": { + "markdownDescription": "Indicates whether the Capacity Reservation Fleet supports EBS-optimized instances types. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using EBS-optimized instance types.", + "title": "EbsOptimized", + "type": "boolean" + }, + "InstancePlatform": { + "markdownDescription": "The type of operating system for which the Capacity Reservation Fleet reserves capacity.", + "title": "InstancePlatform", + "type": "string" + }, + "InstanceType": { + "markdownDescription": "The instance type for which the Capacity Reservation Fleet reserves capacity.", + "title": "InstanceType", + "type": "string" + }, + "Priority": { + "markdownDescription": "The priority to assign to the instance type. This value is used to determine which of the instance types specified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more information, see [Instance type priority](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#instance-priority) in the *Amazon EC2 User Guide* .", + "title": "Priority", + "type": "number" + }, + "Weight": { + "markdownDescription": "The number of capacity units provided by the specified instance type. This value, together with the total target capacity that you specify for the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see [Total target capacity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity) in the Amazon EC2 User Guide.\n\nValid Range: Minimum value of `0.001` . Maximum value of `99.999` .", + "title": "Weight", + "type": "number" } }, - "required": [ - "AllocationIds" - ], "type": "object" }, - "AWS::EC2::NetworkAcl": { + "AWS::EC2::CapacityReservationFleet.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "markdownDescription": "The type of resource to tag on creation. Specify `capacity-reservation-fleet` .\n\nTo tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) .", + "title": "ResourceType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::CarrierGateway": { "additionalProperties": false, "properties": { "Condition": { @@ -126611,12 +126219,12 @@ "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the network ACL.", + "markdownDescription": "The tags assigned to the carrier gateway.", "title": "Tags", "type": "array" }, "VpcId": { - "markdownDescription": "The ID of the VPC for the network ACL.", + "markdownDescription": "The ID of the VPC associated with the carrier gateway.", "title": "VpcId", "type": "string" } @@ -126628,7 +126236,7 @@ }, "Type": { "enum": [ - "AWS::EC2::NetworkAcl" + "AWS::EC2::CarrierGateway" ], "type": "string" }, @@ -126647,7 +126255,7 @@ ], "type": "object" }, - "AWS::EC2::NetworkAclEntry": { + "AWS::EC2::ClientVpnAuthorizationRule": { "additionalProperties": false, "properties": { "Condition": { @@ -126682,63 +126290,41 @@ "Properties": { "additionalProperties": false, "properties": { - "CidrBlock": { - "markdownDescription": "The IPv4 CIDR range to allow or deny, in CIDR notation (for example, 172.16.0.0/24). You must specify an IPv4 CIDR block or an IPv6 CIDR block.", - "title": "CidrBlock", + "AccessGroupId": { + "markdownDescription": "The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group. Required if `AuthorizeAllGroups` is `false` or not specified.", + "title": "AccessGroupId", "type": "string" }, - "Egress": { - "markdownDescription": "Whether this rule applies to egress traffic from the subnet ( `true` ) or ingress traffic to the subnet ( `false` ). By default, AWS CloudFormation specifies `false` .", - "title": "Egress", + "AuthorizeAllGroups": { + "markdownDescription": "Indicates whether to grant access to all clients. Specify `true` to grant all clients who successfully establish a VPN connection access to the network. Must be set to `true` if `AccessGroupId` is not specified.", + "title": "AuthorizeAllGroups", "type": "boolean" }, - "Icmp": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp", - "markdownDescription": "The Internet Control Message Protocol (ICMP) code and type. Required if specifying 1 (ICMP) for the protocol parameter.", - "title": "Icmp" - }, - "Ipv6CidrBlock": { - "markdownDescription": "The IPv6 network range to allow or deny, in CIDR notation. You must specify an IPv4 CIDR block or an IPv6 CIDR block.", - "title": "Ipv6CidrBlock", + "ClientVpnEndpointId": { + "markdownDescription": "The ID of the Client VPN endpoint.", + "title": "ClientVpnEndpointId", "type": "string" }, - "NetworkAclId": { - "markdownDescription": "The ID of the ACL for the entry.", - "title": "NetworkAclId", + "Description": { + "markdownDescription": "A brief description of the authorization rule.", + "title": "Description", "type": "string" }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange", - "markdownDescription": "The range of port numbers for the UDP/TCP protocol. Required if specifying 6 (TCP) or 17 (UDP) for the protocol parameter.", - "title": "PortRange" - }, - "Protocol": { - "markdownDescription": "The IP protocol that the rule applies to. You must specify -1 or a protocol number. You can specify -1 for all protocols.\n\n> If you specify -1, all ports are opened and the `PortRange` property is ignored.", - "title": "Protocol", - "type": "number" - }, - "RuleAction": { - "markdownDescription": "Whether to allow or deny traffic that matches the rule; valid values are \"allow\" or \"deny\".", - "title": "RuleAction", + "TargetNetworkCidr": { + "markdownDescription": "The IPv4 address range, in CIDR notation, of the network for which access is being authorized.", + "title": "TargetNetworkCidr", "type": "string" - }, - "RuleNumber": { - "markdownDescription": "Rule number to assign to the entry, such as 100. ACL entries are processed in ascending order by rule number. Entries can't use the same rule number unless one is an egress rule and the other is an ingress rule.", - "title": "RuleNumber", - "type": "number" } }, "required": [ - "NetworkAclId", - "Protocol", - "RuleAction", - "RuleNumber" + "ClientVpnEndpointId", + "TargetNetworkCidr" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkAclEntry" + "AWS::EC2::ClientVpnAuthorizationRule" ], "type": "string" }, @@ -126757,39 +126343,7 @@ ], "type": "object" }, - "AWS::EC2::NetworkAclEntry.Icmp": { - "additionalProperties": false, - "properties": { - "Code": { - "markdownDescription": "The Internet Control Message Protocol (ICMP) code. You can use -1 to specify all ICMP codes for the given ICMP type. Required if you specify 1 (ICMP) for the protocol parameter.", - "title": "Code", - "type": "number" - }, - "Type": { - "markdownDescription": "The Internet Control Message Protocol (ICMP) type. You can use -1 to specify all ICMP types. Conditional requirement: Required if you specify 1 (ICMP) for the `CreateNetworkAclEntry` protocol parameter.", - "title": "Type", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkAclEntry.PortRange": { - "additionalProperties": false, - "properties": { - "From": { - "markdownDescription": "The first port in the range. Required if you specify 6 (TCP) or 17 (UDP) for the protocol parameter.", - "title": "From", - "type": "number" - }, - "To": { - "markdownDescription": "The last port in the range. Required if you specify 6 (TCP) or 17 (UDP) for the protocol parameter.", - "title": "To", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAccessScope": { + "AWS::EC2::ClientVpnEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -126824,36 +126378,132 @@ "Properties": { "additionalProperties": false, "properties": { - "ExcludePaths": { + "AuthenticationOptions": { "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest" + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" }, - "markdownDescription": "The paths to exclude.", - "title": "ExcludePaths", + "markdownDescription": "Information about the authentication method to be used to authenticate clients.", + "title": "AuthenticationOptions", "type": "array" }, - "MatchPaths": { + "ClientCidrBlock": { + "markdownDescription": "The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12.", + "title": "ClientCidrBlock", + "type": "string" + }, + "ClientConnectOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions", + "markdownDescription": "The options for managing connection authorization for new client connections.", + "title": "ClientConnectOptions" + }, + "ClientLoginBannerOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientLoginBannerOptions", + "markdownDescription": "Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established.", + "title": "ClientLoginBannerOptions" + }, + "ClientRouteEnforcementOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientRouteEnforcementOptions", + "markdownDescription": "Client route enforcement is a feature of the Client VPN service that helps enforce administrator defined routes on devices connected through the VPN. T his feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel.\n\nClient route enforcement works by monitoring the route table of a connected device for routing policy changes to the VPN connection. If the feature detects any VPN routing policy modifications, it will automatically force an update to the route table, reverting it back to the expected route configurations.", + "title": "ClientRouteEnforcementOptions" + }, + "ConnectionLogOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions", + "markdownDescription": "Information about the client connection logging options.\n\nIf you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged:\n\n- Client connection requests\n- Client connection results (successful and unsuccessful)\n- Reasons for unsuccessful client connection requests\n- Client connection termination time", + "title": "ConnectionLogOptions" + }, + "Description": { + "markdownDescription": "A brief description of the Client VPN endpoint.", + "title": "Description", + "type": "string" + }, + "DisconnectOnSessionTimeout": { + "markdownDescription": "Indicates whether the client VPN session is disconnected after the maximum `sessionTimeoutHours` is reached. If `true` , users are prompted to reconnect client VPN. If `false` , client VPN attempts to reconnect automatically. The default value is `true` .", + "title": "DisconnectOnSessionTimeout", + "type": "boolean" + }, + "DnsServers": { "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest" + "type": "string" }, - "markdownDescription": "The paths to match.", - "title": "MatchPaths", + "markdownDescription": "Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.", + "title": "DnsServers", "type": "array" }, - "Tags": { + "EndpointIpAddressType": { + "markdownDescription": "The IP address type of the Client VPN endpoint. Possible values are `ipv4` for IPv4 addressing only, `ipv6` for IPv6 addressing only, or `dual-stack` for both IPv4 and IPv6 addressing.", + "title": "EndpointIpAddressType", + "type": "string" + }, + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The tags.", - "title": "Tags", + "markdownDescription": "The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.", + "title": "SecurityGroupIds", + "type": "array" + }, + "SelfServicePortal": { + "markdownDescription": "Specify whether to enable the self-service portal for the Client VPN endpoint.\n\nDefault Value: `enabled`", + "title": "SelfServicePortal", + "type": "string" + }, + "ServerCertificateArn": { + "markdownDescription": "The ARN of the server certificate. For more information, see the [Certificate Manager User Guide](https://docs.aws.amazon.com/acm/latest/userguide/) .", + "title": "ServerCertificateArn", + "type": "string" + }, + "SessionTimeoutHours": { + "markdownDescription": "The maximum VPN session duration time in hours.\n\nValid values: `8 | 10 | 12 | 24`\n\nDefault value: `24`", + "title": "SessionTimeoutHours", + "type": "number" + }, + "SplitTunnel": { + "markdownDescription": "Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.\n\nBy default, split-tunnel on a VPN endpoint is disabled.\n\nFor information about split-tunnel VPN endpoints, see [Split-tunnel AWS Client VPN endpoint](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html) in the *AWS Client VPN Administrator Guide* .", + "title": "SplitTunnel", + "type": "boolean" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" + }, + "markdownDescription": "The tags to apply to the Client VPN endpoint during creation.", + "title": "TagSpecifications", "type": "array" + }, + "TrafficIpAddressType": { + "markdownDescription": "The IP address type of the Client VPN endpoint. Possible values are either `ipv4` for IPv4 addressing only, `ipv6` for IPv6 addressing only, or `dual-stack` for both IPv4 and IPv6 addressing.", + "title": "TrafficIpAddressType", + "type": "string" + }, + "TransitGatewayConfiguration": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TransitGatewayConfiguration" + }, + "TransportProtocol": { + "markdownDescription": "The transport protocol to be used by the VPN session.\n\nDefault value: `udp`", + "title": "TransportProtocol", + "type": "string" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.", + "title": "VpcId", + "type": "string" + }, + "VpnPort": { + "markdownDescription": "The port number to assign to the Client VPN endpoint for TCP and UDP traffic.\n\nValid Values: `443` | `1194`\n\nDefault Value: `443`", + "title": "VpnPort", + "type": "number" } }, + "required": [ + "AuthenticationOptions", + "ConnectionLogOptions", + "ServerCertificateArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInsightsAccessScope" + "AWS::EC2::ClientVpnEndpoint" ], "type": "string" }, @@ -126867,146 +126517,291 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest": { + "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest", - "markdownDescription": "The destination.", - "title": "Destination" + "ClientRootCertificateChainArn": { + "markdownDescription": "The ARN of the client certificate. The certificate must be signed by a certificate authority (CA) and it must be provisioned in Certificate Manager (ACM).", + "title": "ClientRootCertificateChainArn", + "type": "string" + } + }, + "required": [ + "ClientRootCertificateChainArn" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "ActiveDirectory": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest", + "markdownDescription": "Information about the Active Directory to be used, if applicable. You must provide this information if *Type* is `directory-service-authentication` .", + "title": "ActiveDirectory" }, - "Source": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest", - "markdownDescription": "The source.", - "title": "Source" + "FederatedAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest", + "markdownDescription": "Information about the IAM SAML identity provider, if applicable.", + "title": "FederatedAuthentication" }, - "ThroughResources": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ThroughResourcesStatementRequest" - }, - "markdownDescription": "The through resources.", - "title": "ThroughResources", - "type": "array" + "MutualAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest", + "markdownDescription": "Information about the authentication certificates to be used, if applicable. You must provide this information if *Type* is `certificate-authentication` .", + "title": "MutualAuthentication" + }, + "Type": { + "markdownDescription": "The type of client authentication to be used.", + "title": "Type", + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::EC2::NetworkInsightsAccessScope.PacketHeaderStatementRequest": { + "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { "additionalProperties": false, "properties": { - "DestinationAddresses": { - "items": { - "type": "string" - }, - "markdownDescription": "The destination addresses.", - "title": "DestinationAddresses", - "type": "array" - }, - "DestinationPorts": { - "items": { - "type": "string" - }, - "markdownDescription": "The destination ports.", - "title": "DestinationPorts", - "type": "array" + "Enabled": { + "markdownDescription": "Indicates whether client connect options are enabled. The default is `false` (not enabled).", + "title": "Enabled", + "type": "boolean" }, - "DestinationPrefixLists": { - "items": { - "type": "string" - }, - "markdownDescription": "The destination prefix lists.", - "title": "DestinationPrefixLists", - "type": "array" + "LambdaFunctionArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Lambda function used for connection authorization.", + "title": "LambdaFunctionArn", + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ClientLoginBannerOptions": { + "additionalProperties": false, + "properties": { + "BannerText": { + "markdownDescription": "Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters.", + "title": "BannerText", + "type": "string" }, - "Protocols": { - "items": { - "type": "string" - }, - "markdownDescription": "The protocols.", - "title": "Protocols", - "type": "array" + "Enabled": { + "markdownDescription": "Enable or disable a customizable text banner that will be displayed on AWS provided clients when a VPN session is established.\n\nValid values: `true | false`\n\nDefault value: `false`", + "title": "Enabled", + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ClientRouteEnforcementOptions": { + "additionalProperties": false, + "properties": { + "Enforced": { + "markdownDescription": "Enable or disable Client Route Enforcement. The state can either be `true` (enabled) or `false` (disabled). The default is `false` .\n\nValid values: `true | false`\n\nDefault value: `false`", + "title": "Enforced", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { + "additionalProperties": false, + "properties": { + "CloudwatchLogGroup": { + "markdownDescription": "The name of the CloudWatch Logs log group. Required if connection logging is enabled.", + "title": "CloudwatchLogGroup", + "type": "string" }, - "SourceAddresses": { - "items": { - "type": "string" - }, - "markdownDescription": "The source addresses.", - "title": "SourceAddresses", - "type": "array" + "CloudwatchLogStream": { + "markdownDescription": "The name of the CloudWatch Logs log stream to which the connection data is published.", + "title": "CloudwatchLogStream", + "type": "string" }, - "SourcePorts": { - "items": { - "type": "string" - }, - "markdownDescription": "The source ports.", - "title": "SourcePorts", - "type": "array" + "Enabled": { + "markdownDescription": "Indicates whether connection logging is enabled.", + "title": "Enabled", + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "DirectoryId": { + "markdownDescription": "The ID of the Active Directory to be used for authentication.", + "title": "DirectoryId", + "type": "string" + } + }, + "required": [ + "DirectoryId" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "SAMLProviderArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM SAML identity provider.", + "title": "SAMLProviderArn", + "type": "string" }, - "SourcePrefixLists": { - "items": { - "type": "string" - }, - "markdownDescription": "The source prefix lists.", - "title": "SourcePrefixLists", - "type": "array" + "SelfServiceSAMLProviderArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.", + "title": "SelfServiceSAMLProviderArn", + "type": "string" } }, + "required": [ + "SAMLProviderArn" + ], "type": "object" }, - "AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest": { + "AWS::EC2::ClientVpnEndpoint.TagSpecification": { "additionalProperties": false, "properties": { - "PacketHeaderStatement": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PacketHeaderStatementRequest", - "markdownDescription": "The packet header statement.", - "title": "PacketHeaderStatement" + "ResourceType": { + "markdownDescription": "The type of resource to tag. To tag a Client VPN endpoint, `ResourceType` must be `client-vpn-endpoint` .", + "title": "ResourceType", + "type": "string" }, - "ResourceStatement": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest", - "markdownDescription": "The resource statement.", - "title": "ResourceStatement" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the resource.", + "title": "Tags", + "type": "array" } }, + "required": [ + "ResourceType", + "Tags" + ], "type": "object" }, - "AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest": { + "AWS::EC2::ClientVpnEndpoint.TransitGatewayConfiguration": { "additionalProperties": false, "properties": { - "ResourceTypes": { + "AvailabilityZoneIds": { "items": { "type": "string" }, - "markdownDescription": "The resource types.", - "title": "ResourceTypes", "type": "array" }, - "Resources": { + "AvailabilityZones": { "items": { "type": "string" }, - "markdownDescription": "The resources.", - "title": "Resources", "type": "array" + }, + "TransitGatewayId": { + "type": "string" } }, + "required": [ + "TransitGatewayId" + ], "type": "object" }, - "AWS::EC2::NetworkInsightsAccessScope.ThroughResourcesStatementRequest": { + "AWS::EC2::ClientVpnRoute": { "additionalProperties": false, "properties": { - "ResourceStatement": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest", - "markdownDescription": "The resource statement.", - "title": "ResourceStatement" + "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": { + "ClientVpnEndpointId": { + "markdownDescription": "The ID of the Client VPN endpoint to which to add the route.", + "title": "ClientVpnEndpointId", + "type": "string" + }, + "Description": { + "markdownDescription": "A brief description of the route.", + "title": "Description", + "type": "string" + }, + "DestinationCidrBlock": { + "markdownDescription": "The IPv4 address range, in CIDR notation, of the route destination. For example:\n\n- To add a route for Internet access, enter `0.0.0.0/0`\n- To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range\n- To add a route for an on-premises network, enter the AWS Site-to-Site VPN connection's IPv4 CIDR range\n- To add a route for the local network, enter the client CIDR range", + "title": "DestinationCidrBlock", + "type": "string" + }, + "TargetVpcSubnetId": { + "markdownDescription": "The ID of the subnet through which you want to route traffic. The specified subnet must be an existing target network of the Client VPN endpoint.\n\nAlternatively, if you're adding a route for the local network, specify `local` .", + "title": "TargetVpcSubnetId", + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId", + "DestinationCidrBlock" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::NetworkInsightsAccessScopeAnalysis": { + "AWS::EC2::ClientVpnTargetNetworkAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -127041,28 +126836,132 @@ "Properties": { "additionalProperties": false, "properties": { - "NetworkInsightsAccessScopeId": { - "markdownDescription": "The ID of the Network Access Scope.", - "title": "NetworkInsightsAccessScopeId", + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneId": { + "type": "string" + }, + "ClientVpnEndpointId": { + "markdownDescription": "The ID of the Client VPN endpoint.", + "title": "ClientVpnEndpointId", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet to associate with the Client VPN endpoint.", + "title": "SubnetId", + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnTargetNetworkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::CustomerGateway": { + "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": { + "BgpAsn": { + "markdownDescription": "For customer gateway devices that support BGP, specify the device's ASN. You must specify either `BgpAsn` or `BgpAsnExtended` when creating the customer gateway. If the ASN is larger than `2,147,483,647` , you must use `BgpAsnExtended` .\n\nDefault: 65000\n\nValid values: `1` to `2,147,483,647`", + "title": "BgpAsn", + "type": "number" + }, + "BgpAsnExtended": { + "markdownDescription": "For customer gateway devices that support BGP, specify the device's ASN. You must specify either `BgpAsn` or `BgpAsnExtended` when creating the customer gateway. If the ASN is larger than `2,147,483,647` , you must use `BgpAsnExtended` .\n\nValid values: `2,147,483,648` to `4,294,967,295`", + "title": "BgpAsnExtended", + "type": "number" + }, + "CertificateArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the customer gateway certificate.", + "title": "CertificateArn", + "type": "string" + }, + "DeviceName": { + "markdownDescription": "The name of customer gateway device.", + "title": "DeviceName", + "type": "string" + }, + "IpAddress": { + "markdownDescription": "The IP address for the customer gateway device's outside interface. The address must be static. If `OutsideIpAddressType` in your VPN connection options is set to `PrivateIpv4` , you can use an RFC6598 or RFC1918 private IPv4 address. If `OutsideIpAddressType` is set to `Ipv6` , you can use an IPv6 address.", + "title": "IpAddress", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags.", + "markdownDescription": "One or more tags for the customer gateway.", "title": "Tags", "type": "array" + }, + "Type": { + "markdownDescription": "The type of VPN connection that this customer gateway supports ( `ipsec.1` ).", + "title": "Type", + "type": "string" } }, "required": [ - "NetworkInsightsAccessScopeId" + "IpAddress", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInsightsAccessScopeAnalysis" + "AWS::EC2::CustomerGateway" ], "type": "string" }, @@ -127081,7 +126980,7 @@ ], "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis": { + "AWS::EC2::DHCPOptions": { "additionalProperties": false, "properties": { "Condition": { @@ -127116,52 +127015,59 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalAccounts": { + "DomainName": { + "markdownDescription": "This value is used to complete unqualified DNS hostnames. If you're using AmazonProvidedDNS in `us-east-1` , specify `ec2.internal` . If you're using AmazonProvidedDNS in another Region, specify *region* . `compute.internal` (for example, `ap-northeast-1.compute.internal` ). Otherwise, specify a domain name (for example, *MyCompany.com* ).", + "title": "DomainName", + "type": "string" + }, + "DomainNameServers": { "items": { "type": "string" }, - "markdownDescription": "The member accounts that contain resources that the path can traverse.", - "title": "AdditionalAccounts", + "markdownDescription": "The IPv4 addresses of up to four domain name servers, or `AmazonProvidedDNS` . The default is `AmazonProvidedDNS` . To have your instance receive a custom DNS hostname as specified in `DomainName` , you must set this property to a custom DNS server.", + "title": "DomainNameServers", "type": "array" }, - "FilterInArns": { + "Ipv6AddressPreferredLeaseTime": { + "markdownDescription": "A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.", + "title": "Ipv6AddressPreferredLeaseTime", + "type": "number" + }, + "NetbiosNameServers": { "items": { "type": "string" }, - "markdownDescription": "The Amazon Resource Names (ARN) of the resources that the path must traverse.", - "title": "FilterInArns", + "markdownDescription": "The IPv4 addresses of up to four NetBIOS name servers.", + "title": "NetbiosNameServers", "type": "array" }, - "FilterOutArns": { + "NetbiosNodeType": { + "markdownDescription": "The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported).", + "title": "NetbiosNodeType", + "type": "number" + }, + "NtpServers": { "items": { "type": "string" }, - "markdownDescription": "The Amazon Resource Names (ARN) of the resources that the path must ignore.", - "title": "FilterOutArns", + "markdownDescription": "The IPv4 addresses of up to four Network Time Protocol (NTP) servers.", + "title": "NtpServers", "type": "array" }, - "NetworkInsightsPathId": { - "markdownDescription": "The ID of the path.", - "title": "NetworkInsightsPathId", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to apply.", + "markdownDescription": "Any tags assigned to the DHCP options set.", "title": "Tags", "type": "array" } }, - "required": [ - "NetworkInsightsPathId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInsightsAnalysis" + "AWS::EC2::DHCPOptions" ], "type": "string" }, @@ -127175,727 +127081,1075 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AdditionalDetail": { + "AWS::EC2::EC2Fleet": { "additionalProperties": false, "properties": { - "AdditionalDetailType": { - "markdownDescription": "The additional detail code.", - "title": "AdditionalDetailType", + "Condition": { "type": "string" }, - "Component": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The path component.", - "title": "Component" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "markdownDescription": "The load balancers.", - "title": "LoadBalancers", - "type": "array" - }, - "ServiceName": { - "markdownDescription": "The name of the VPC endpoint service.", - "title": "ServiceName", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the component.", - "title": "ComponentArn", + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Context": { + "markdownDescription": "Reserved.", + "title": "Context", + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "markdownDescription": "Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.\n\nSupported only for fleets of type `maintain` .", + "title": "ExcessCapacityTerminationPolicy", + "type": "string" + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest" + }, + "markdownDescription": "The configuration for the EC2 Fleet.", + "title": "LaunchTemplateConfigs", + "type": "array" + }, + "OnDemandOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.OnDemandOptionsRequest", + "markdownDescription": "Describes the configuration of On-Demand Instances in an EC2 Fleet.", + "title": "OnDemandOptions" + }, + "ReplaceUnhealthyInstances": { + "markdownDescription": "Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for fleets of type `maintain` . For more information, see [EC2 Fleet health checks](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks) in the *Amazon EC2 User Guide* .", + "title": "ReplaceUnhealthyInstances", + "type": "boolean" + }, + "ReservedCapacityOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.ReservedCapacityOptionsRequest" + }, + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.SpotOptionsRequest", + "markdownDescription": "Describes the configuration of Spot Instances in an EC2 Fleet.", + "title": "SpotOptions" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagSpecification" + }, + "markdownDescription": "The key-value pair for tagging the EC2 Fleet request on creation. For more information, see [Tag your resources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources) .\n\nIf the fleet type is `instant` , specify a resource type of `fleet` to tag the fleet or `instance` to tag the instances at launch.\n\nIf the fleet type is `maintain` or `request` , specify a resource type of `fleet` to tag the fleet. You cannot specify a resource type of `instance` . To tag instances at launch, specify the tags in a [launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template) .", + "title": "TagSpecifications", + "type": "array" + }, + "TargetCapacitySpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest", + "markdownDescription": "The number of units to request.", + "title": "TargetCapacitySpecification" + }, + "TerminateInstancesWithExpiration": { + "markdownDescription": "Indicates whether running instances should be terminated when the EC2 Fleet expires.", + "title": "TerminateInstancesWithExpiration", + "type": "boolean" + }, + "Type": { + "markdownDescription": "The fleet type. The default value is `maintain` .\n\n- `maintain` - The EC2 Fleet places an asynchronous request for your desired capacity, and continues to maintain your desired Spot capacity by replenishing interrupted Spot Instances.\n- `request` - The EC2 Fleet places an asynchronous one-time request for your desired capacity, but does submit Spot requests in alternative capacity pools if Spot capacity is unavailable, and does not maintain Spot capacity if Spot Instances are interrupted.\n- `instant` - The EC2 Fleet places a synchronous one-time request for your desired capacity, and returns errors for any instances that could not be launched.\n\nFor more information, see [EC2 Fleet request types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-request-type.html) in the *Amazon EC2 User Guide* .", + "title": "Type", + "type": "string" + }, + "ValidFrom": { + "markdownDescription": "The start date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). The default is to start fulfilling the request immediately.", + "title": "ValidFrom", + "type": "string" + }, + "ValidUntil": { + "markdownDescription": "The end date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.", + "title": "ValidUntil", + "type": "string" + } + }, + "required": [ + "LaunchTemplateConfigs", + "TargetCapacitySpecification" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EC2Fleet" + ], "type": "string" }, - "ComponentId": { - "markdownDescription": "The ID of the component.", - "title": "ComponentId", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { + "AWS::EC2::EC2Fleet.AcceleratorCountRequest": { "additionalProperties": false, "properties": { - "Cidr": { - "markdownDescription": "The IPv4 address range, in CIDR notation.", - "title": "Cidr", - "type": "string" - }, - "Egress": { - "markdownDescription": "Indicates whether the rule is an outbound rule.", - "title": "Egress", - "type": "boolean" - }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange", - "markdownDescription": "The range of ports.", - "title": "PortRange" - }, - "Protocol": { - "markdownDescription": "The protocol.", - "title": "Protocol", - "type": "string" - }, - "RuleAction": { - "markdownDescription": "Indicates whether to allow or deny traffic that matches the rule.", - "title": "RuleAction", - "type": "string" + "Max": { + "markdownDescription": "The maximum number of accelerators. To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` .", + "title": "Max", + "type": "number" }, - "RuleNumber": { - "markdownDescription": "The rule number.", - "title": "RuleNumber", + "Min": { + "markdownDescription": "The minimum number of accelerators. To specify no minimum limit, omit this parameter.", + "title": "Min", "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { + "AWS::EC2::EC2Fleet.AcceleratorTotalMemoryMiBRequest": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the component.", - "title": "Arn", - "type": "string" + "Max": { + "markdownDescription": "The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" }, - "Id": { - "markdownDescription": "The ID of the component.", - "title": "Id", - "type": "string" + "Min": { + "markdownDescription": "The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { + "AWS::EC2::EC2Fleet.BaselineEbsBandwidthMbpsRequest": { "additionalProperties": false, "properties": { - "InstancePort": { - "markdownDescription": "[Classic Load Balancers] The back-end port for the listener.", - "title": "InstancePort", + "Max": { + "markdownDescription": "The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.", + "title": "Max", "type": "number" }, - "LoadBalancerPort": { - "markdownDescription": "The port on which the load balancer is listening.", - "title": "LoadBalancerPort", + "Min": { + "markdownDescription": "The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.", + "title": "Min", "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { + "AWS::EC2::EC2Fleet.BaselinePerformanceFactorsRequest": { "additionalProperties": false, "properties": { - "Address": { - "markdownDescription": "The IP address.", - "title": "Address", + "Cpu": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CpuPerformanceFactorRequest", + "markdownDescription": "The CPU performance to consider, using an instance family as the baseline reference.", + "title": "Cpu" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "markdownDescription": "The device name. For available device names, see [Device names for volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html) .", + "title": "DeviceName", "type": "string" }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone.", - "title": "AvailabilityZone", + "Ebs": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.EbsBlockDevice", + "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.", + "title": "Ebs" + }, + "NoDevice": { + "markdownDescription": "To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.", + "title": "NoDevice", "type": "string" }, - "Instance": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "Information about the instance.", - "title": "Instance" + "VirtualName": { + "markdownDescription": "The virtual device name ( `ephemeral` N). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for `ephemeral0` and `ephemeral1` . The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.\n\nNVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.\n\nConstraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.", + "title": "VirtualName", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.CapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "markdownDescription": "The replacement strategy to use. Only available for fleets of type `maintain` .\n\n`launch` - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.\n\n`launch-before-terminate` - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in `TerminationDelay` ), terminates the instances that received a rebalance notification.", + "title": "ReplacementStrategy", + "type": "string" }, - "Port": { - "markdownDescription": "The port on which the target is listening.", - "title": "Port", + "TerminationDelay": { + "markdownDescription": "The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.\n\nRequired when `ReplacementStrategy` is set to `launch-before-terminate` .\n\nNot valid when `ReplacementStrategy` is set to `launch` .\n\nValid values: Minimum value of `120` seconds. Maximum value of `7200` seconds.", + "title": "TerminationDelay", "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { + "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { "additionalProperties": false, "properties": { - "DestinationAddresses": { + "UsageStrategy": { + "markdownDescription": "Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.\n\nIf you specify `use-capacity-reservations-first` , the fleet uses unused Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If multiple instance pools have unused Capacity Reservations, the On-Demand allocation strategy ( `lowest-price` or `prioritized` ) is applied. If the number of unused Capacity Reservations is less than the On-Demand target capacity, the remaining On-Demand target capacity is launched according to the On-Demand allocation strategy ( `lowest-price` or `prioritized` ).\n\nIf you do not specify a value, the fleet fulfils the On-Demand capacity according to the chosen On-Demand allocation strategy.", + "title": "UsageStrategy", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.CapacityReservationTargetRequest": { + "additionalProperties": false, + "properties": { + "CapacityReservationIds": { "items": { "type": "string" }, - "markdownDescription": "The destination addresses.", - "title": "DestinationAddresses", - "type": "array" - }, - "DestinationPortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "markdownDescription": "The destination port ranges.", - "title": "DestinationPortRanges", "type": "array" }, - "Protocol": { - "markdownDescription": "The protocol.", - "title": "Protocol", - "type": "string" - }, - "SourceAddresses": { + "CapacityReservationResourceGroupArns": { "items": { "type": "string" }, - "markdownDescription": "The source addresses.", - "title": "SourceAddresses", "type": "array" - }, - "SourcePortRanges": { + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + "$ref": "#/definitions/AWS::EC2::EC2Fleet.PerformanceFactorReferenceRequest" }, - "markdownDescription": "The source port ranges.", - "title": "SourcePortRanges", + "markdownDescription": "Specify an instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.\n\n> Currently, only one instance family can be specified in the list.", + "title": "References", "type": "array" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { + "AWS::EC2::EC2Fleet.EbsBlockDevice": { "additionalProperties": false, "properties": { - "NatGatewayId": { - "markdownDescription": "The ID of a NAT gateway.", - "title": "NatGatewayId", - "type": "string" + "DeleteOnTermination": { + "markdownDescription": "Indicates whether the EBS volume is deleted on instance termination. For more information, see [Preserving Amazon EBS volumes on instance termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) in the *Amazon EC2 User Guide* .", + "title": "DeleteOnTermination", + "type": "boolean" }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of a network interface.", - "title": "NetworkInterfaceId", - "type": "string" + "Encrypted": { + "markdownDescription": "Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Amazon EBS encryption](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html#encryption-parameters) in the *Amazon EBS User Guide* .\n\nIn no case can you remove encryption from an encrypted volume.\n\nEncrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances) .\n\n- If you are creating a block device mapping for a *new (empty) volume* , you can include this parameter, and specify either `true` for an encrypted volume, or `false` for an unencrypted volume. If you omit this parameter, it defaults to `false` (unencrypted).\n- If you are creating a block device mapping from an *existing encrypted or unencrypted snapshot* , you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.\n- If you are creating a block device mapping from an *existing unencrypted volume* , you can include this parameter, but you must specify `false` . If you specify `true` , the request will fail. In this case, we recommend that you omit the parameter.\n- If you are creating a block device mapping from an *existing encrypted volume* , you can include this parameter, and specify either `true` or `false` . However, if you specify `false` , the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.", + "title": "Encrypted", + "type": "boolean" }, - "Origin": { - "markdownDescription": "Describes how the route was created. The following are the possible values:\n\n- CreateRouteTable - The route was automatically created when the route table was created.\n- CreateRoute - The route was manually added to the route table.\n- EnableVgwRoutePropagation - The route was propagated by route propagation.", - "title": "Origin", + "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 - 80,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nFor `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . On other instances, you can achieve performance up to 32,000 IOPS.\n\nThis parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS.", + "title": "Iops", + "type": "number" + }, + "KmsKeyId": { + "markdownDescription": "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.\n\nThis parameter is only supported on `BlockDeviceMapping` objects called by [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) , [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) , and [RequestSpotInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html) .", + "title": "KmsKeyId", "type": "string" }, - "State": { - "markdownDescription": "The state. The following are the possible values:\n\n- active\n- blackhole", - "title": "State", + "MultiAvailabilityZoneConfiguration": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.MultiAvailabilityZoneConfiguration" + }, + "SnapshotId": { + "markdownDescription": "The ID of the snapshot.", + "title": "SnapshotId", "type": "string" }, - "TransitGatewayId": { - "markdownDescription": "The ID of a transit gateway.", - "title": "TransitGatewayId", + "VolumeSize": { + "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.\n\nThe following are the supported sizes for each volume type:\n\n- `gp2` : 1 - 16,384 GiB\n- `gp3` : 1 - 65,536 GiB\n- `io1` : 4 - 16,384 GiB\n- `io2` : 4 - 65,536 GiB\n- `st1` and `sc1` : 125 - 16,384 GiB\n- `standard` : 1 - 1024 GiB", + "title": "VolumeSize", + "type": "number" + }, + "VolumeType": { + "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .", + "title": "VolumeType", "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest", + "markdownDescription": "The launch template to use. You must specify either the launch template ID or launch template name in the request.", + "title": "LaunchTemplateSpecification" }, - "VpcPeeringConnectionId": { - "markdownDescription": "The ID of a VPC peering connection.", - "title": "VpcPeeringConnectionId", + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" + }, + "markdownDescription": "Any parameters that you specify override the same parameters in the launch template.\n\nFor fleets of type `request` and `maintain` , a maximum of 300 items is allowed across all launch templates.", + "title": "Overrides", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "markdownDescription": "The Availability Zone in which to launch the instances. For example, `us-east-2a` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", + "title": "AvailabilityZone", "type": "string" }, - "destinationCidr": { - "markdownDescription": "The destination IPv4 address, in CIDR notation.", - "title": "destinationCidr", + "AvailabilityZoneId": { + "markdownDescription": "The ID of the Availability Zone in which to launch the instances. For example, `use2-az1` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", + "title": "AvailabilityZoneId", "type": "string" }, - "destinationPrefixListId": { - "markdownDescription": "The prefix of the AWS service.", - "title": "destinationPrefixListId", + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.BlockDeviceMapping" + }, + "markdownDescription": "The block device mappings, which define the EBS volumes and instance store volumes to attach to the instance at launch.\n\nSupported only for fleets of type `instant` .\n\nFor more information, see [Block device mappings for volumes on Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) in the *Amazon EC2 User Guide* .", + "title": "BlockDeviceMappings", + "type": "array" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.IamInstanceProfileSpecification" + }, + "InstanceRequirements": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.InstanceRequirementsRequest", + "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .", + "title": "InstanceRequirements" + }, + "InstanceType": { + "markdownDescription": "The instance type.\n\n`mac1.metal` is not supported as a launch template override.\n\n> If you specify `InstanceType` , you can't specify `InstanceRequirements` .", + "title": "InstanceType", "type": "string" }, - "egressOnlyInternetGatewayId": { - "markdownDescription": "The ID of an egress-only internet gateway.", - "title": "egressOnlyInternetGatewayId", + "KeyName": { "type": "string" }, - "gatewayId": { - "markdownDescription": "The ID of the gateway, such as an internet gateway or virtual private gateway.", - "title": "gatewayId", + "MaxPrice": { + "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.\n> \n> If you specify a maximum price, it must be more than USD $0.001. Specifying a value below USD $0.001 will result in an `InvalidParameterValue` error message.", + "title": "MaxPrice", "type": "string" }, - "instanceId": { - "markdownDescription": "The ID of the instance, such as a NAT instance.", - "title": "instanceId", + "MetadataOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.InstanceMetadataOptionsRequest" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.NetworkInterfaceSpecificationRequest" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement", + "markdownDescription": "The location where the instance launched, if applicable.", + "title": "Placement" + }, + "Priority": { + "markdownDescription": "The priority for the launch template override. The highest priority is launched first.\n\nIf the On-Demand `AllocationStrategy` is set to `prioritized` , EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.\n\nIf the Spot `AllocationStrategy` is set to `capacity-optimized-prioritized` , EC2 Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.\n\nValid values are whole numbers starting at `0` . The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.", + "title": "Priority", + "type": "number" + }, + "SubnetId": { + "markdownDescription": "The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, `subnet-1234abcdeexample1, subnet-0987cdef6example2` ). A request of type `instant` can have only one subnet ID.", + "title": "SubnetId", "type": "string" + }, + "WeightedCapacity": { + "markdownDescription": "The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.\n\nIf the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.\n\n> When specifying weights, the price used in the `lowest-price` and `price-capacity-optimized` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested `TargetCapacity` , resulting in only 1 instance being launched, the price used is per *instance* hour.", + "title": "WeightedCapacity", + "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { + "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { "additionalProperties": false, "properties": { - "Cidr": { - "markdownDescription": "The IPv4 address range, in CIDR notation.", - "title": "Cidr", + "LaunchTemplateId": { + "markdownDescription": "The ID of the launch template.\n\nYou must specify the `LaunchTemplateId` or the `LaunchTemplateName` , but not both.", + "title": "LaunchTemplateId", "type": "string" }, - "Direction": { - "markdownDescription": "The direction. The following are the possible values:\n\n- egress\n- ingress", - "title": "Direction", + "LaunchTemplateName": { + "markdownDescription": "The name of the launch template.\n\nYou must specify the `LaunchTemplateName` or the `LaunchTemplateId` , but not both.", + "title": "LaunchTemplateName", "type": "string" }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange", - "markdownDescription": "The port range.", - "title": "PortRange" - }, - "PrefixListId": { - "markdownDescription": "The prefix list ID.", - "title": "PrefixListId", + "LaunchTemplateSpecificationUserData": { "type": "string" }, - "Protocol": { - "markdownDescription": "The protocol name.", - "title": "Protocol", + "Version": { + "markdownDescription": "The launch template version number, `$Latest` , or `$Default` . You must specify a value, otherwise the request fails.\n\nIf the value is `$Latest` , Amazon EC2 uses the latest version of the launch template.\n\nIf the value is `$Default` , Amazon EC2 uses the default version of the launch template.", + "title": "Version", + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::EC2Fleet.IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { "type": "string" }, - "SecurityGroupId": { - "markdownDescription": "The security group ID.", - "title": "SecurityGroupId", + "Name": { "type": "string" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.Explanation": { + "AWS::EC2::EC2Fleet.InstanceMetadataOptionsRequest": { "additionalProperties": false, "properties": { - "Acl": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The network ACL.", - "title": "Acl" + "HttpEndpoint": { + "type": "string" }, - "AclRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule", - "markdownDescription": "The network ACL rule.", - "title": "AclRule" + "HttpPutResponseHopLimit": { + "type": "number" }, - "Address": { - "markdownDescription": "The IPv4 address, in CIDR notation.", - "title": "Address", + "HttpTokens": { "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.AcceleratorCountRequest", + "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n\nTo exclude accelerator-enabled instance types, set `Max` to `0` .\n\nDefault: No minimum or maximum limits", + "title": "AcceleratorCount" }, - "Addresses": { + "AcceleratorManufacturers": { "items": { "type": "string" }, - "markdownDescription": "The IPv4 addresses, in CIDR notation.", - "title": "Addresses", + "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n\n- For instance types with AWS devices, specify `amazon-web-services` .\n- For instance types with AMD devices, specify `amd` .\n- For instance types with Habana devices, specify `habana` .\n- For instance types with NVIDIA devices, specify `nvidia` .\n- For instance types with Xilinx devices, specify `xilinx` .\n\nDefault: Any manufacturer", + "title": "AcceleratorManufacturers", "type": "array" }, - "AttachedTo": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The resource to which the component is attached.", - "title": "AttachedTo" - }, - "AvailabilityZones": { + "AcceleratorNames": { "items": { "type": "string" }, - "markdownDescription": "The Availability Zones.", - "title": "AvailabilityZones", + "markdownDescription": "The accelerators that must be on the instance type.\n\n- For instance types with NVIDIA A10G GPUs, specify `a10g` .\n- For instance types with NVIDIA A100 GPUs, specify `a100` .\n- For instance types with NVIDIA H100 GPUs, specify `h100` .\n- For instance types with AWS Inferentia chips, specify `inferentia` .\n- For instance types with AWS Inferentia2 chips, specify `inferentia2` .\n- For instance types with Habana Gaudi HL-205 GPUs, specify `gaudi-hl-205` .\n- For instance types with NVIDIA GRID K520 GPUs, specify `k520` .\n- For instance types with NVIDIA K80 GPUs, specify `k80` .\n- For instance types with NVIDIA L4 GPUs, specify `l4` .\n- For instance types with NVIDIA L40S GPUs, specify `l40s` .\n- For instance types with NVIDIA M60 GPUs, specify `m60` .\n- For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` .\n- For instance types with AWS Trainium chips, specify `trainium` .\n- For instance types with AWS Trainium2 chips, specify `trainium2` .\n- For instance types with NVIDIA T4 GPUs, specify `t4` .\n- For instance types with NVIDIA T4G GPUs, specify `t4g` .\n- For instance types with Xilinx U30 cards, specify `u30` .\n- For instance types with Xilinx VU9P FPGAs, specify `vu9p` .\n- For instance types with NVIDIA V100 GPUs, specify `v100` .\n\nDefault: Any accelerator", + "title": "AcceleratorNames", "type": "array" }, - "Cidrs": { + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.AcceleratorTotalMemoryMiBRequest", + "markdownDescription": "The minimum and maximum amount of total accelerator memory, in MiB.\n\nDefault: No minimum or maximum limits", + "title": "AcceleratorTotalMemoryMiB" + }, + "AcceleratorTypes": { "items": { "type": "string" }, - "markdownDescription": "The CIDR ranges.", - "title": "Cidrs", + "markdownDescription": "The accelerator types that must be on the instance type.\n\n- For instance types with FPGA accelerators, specify `fpga` .\n- For instance types with GPU accelerators, specify `gpu` .\n- For instance types with Inference accelerators, specify `inference` .\n- For instance types with Media accelerators, specify `media` .\n\nDefault: Any accelerator type", + "title": "AcceleratorTypes", "type": "array" }, - "ClassicLoadBalancerListener": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener", - "markdownDescription": "The listener for a Classic Load Balancer.", - "title": "ClassicLoadBalancerListener" - }, - "Component": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The component.", - "title": "Component" - }, - "ComponentAccount": { - "markdownDescription": "The AWS account for the component.", - "title": "ComponentAccount", - "type": "string" - }, - "ComponentRegion": { - "markdownDescription": "The Region for the component.", - "title": "ComponentRegion", - "type": "string" - }, - "CustomerGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The customer gateway.", - "title": "CustomerGateway" - }, - "Destination": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The destination.", - "title": "Destination" - }, - "DestinationVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The destination VPC.", - "title": "DestinationVpc" - }, - "Direction": { - "markdownDescription": "The direction. The following are the possible values:\n\n- egress\n- ingress", - "title": "Direction", - "type": "string" - }, - "ElasticLoadBalancerListener": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The load balancer listener.", - "title": "ElasticLoadBalancerListener" - }, - "ExplanationCode": { - "markdownDescription": "The explanation code.", - "title": "ExplanationCode", - "type": "string" - }, - "IngressRouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The route table.", - "title": "IngressRouteTable" - }, - "InternetGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The internet gateway.", - "title": "InternetGateway" - }, - "LoadBalancerArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the load balancer.", - "title": "LoadBalancerArn", - "type": "string" - }, - "LoadBalancerListenerPort": { - "markdownDescription": "The listener port of the load balancer.", - "title": "LoadBalancerListenerPort", - "type": "number" - }, - "LoadBalancerTarget": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget", - "markdownDescription": "The target.", - "title": "LoadBalancerTarget" - }, - "LoadBalancerTargetGroup": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The target group.", - "title": "LoadBalancerTargetGroup" - }, - "LoadBalancerTargetGroups": { + "AllowedInstanceTypes": { "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + "type": "string" }, - "markdownDescription": "The target groups.", - "title": "LoadBalancerTargetGroups", + "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n\n> If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . \n\nDefault: All instance types", + "title": "AllowedInstanceTypes", "type": "array" }, - "LoadBalancerTargetPort": { - "markdownDescription": "The target port.", - "title": "LoadBalancerTargetPort", - "type": "number" - }, - "MissingComponent": { - "markdownDescription": "The missing component.", - "title": "MissingComponent", + "BareMetal": { + "markdownDescription": "Indicates whether bare metal instance types must be included, excluded, or required.\n\n- To include bare metal instance types, specify `included` .\n- To require only bare metal instance types, specify `required` .\n- To exclude bare metal instance types, specify `excluded` .\n\nDefault: `excluded`", + "title": "BareMetal", "type": "string" }, - "NatGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The NAT gateway.", - "title": "NatGateway" + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.BaselineEbsBandwidthMbpsRequest", + "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", + "title": "BaselineEbsBandwidthMbps" }, - "NetworkInterface": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The network interface.", - "title": "NetworkInterface" + "BaselinePerformanceFactors": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.BaselinePerformanceFactorsRequest", + "markdownDescription": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .", + "title": "BaselinePerformanceFactors" }, - "PacketField": { - "markdownDescription": "The packet field.", - "title": "PacketField", + "BurstablePerformance": { + "markdownDescription": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`", + "title": "BurstablePerformance", "type": "string" }, - "Port": { - "markdownDescription": "The port.", - "title": "Port", - "type": "number" - }, - "PortRanges": { + "CpuManufacturers": { "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + "type": "string" }, - "markdownDescription": "The port ranges.", - "title": "PortRanges", + "markdownDescription": "The CPU manufacturers to include.\n\n- For instance types with Intel CPUs, specify `intel` .\n- For instance types with AMD CPUs, specify `amd` .\n- For instance types with AWS CPUs, specify `amazon-web-services` .\n- For instance types with Apple CPUs, specify `apple` .\n\n> Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. \n\nDefault: Any manufacturer", + "title": "CpuManufacturers", "type": "array" }, - "PrefixList": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The prefix list.", - "title": "PrefixList" - }, - "Protocols": { + "ExcludedInstanceTypes": { "items": { "type": "string" }, - "markdownDescription": "The protocols.", - "title": "Protocols", + "markdownDescription": "The instance types to exclude.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance family, type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n\n> If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . \n\nDefault: No excluded instance types", + "title": "ExcludedInstanceTypes", "type": "array" }, - "RouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The route table.", - "title": "RouteTable" - }, - "RouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute", - "markdownDescription": "The route table route.", - "title": "RouteTableRoute" - }, - "SecurityGroup": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The security group.", - "title": "SecurityGroup" - }, - "SecurityGroupRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule", - "markdownDescription": "The security group rule.", - "title": "SecurityGroupRule" - }, - "SecurityGroups": { + "InstanceGenerations": { "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + "type": "string" }, - "markdownDescription": "The security groups.", - "title": "SecurityGroups", + "markdownDescription": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nFor current generation instance types, specify `current` .\n\nFor previous generation instance types, specify `previous` .\n\nDefault: Current and previous generation instance types", + "title": "InstanceGenerations", "type": "array" }, - "SourceVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The source VPC.", - "title": "SourceVpc" - }, - "State": { - "markdownDescription": "The state.", - "title": "State", + "LocalStorage": { + "markdownDescription": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* .\n\n- To include instance types with instance store volumes, specify `included` .\n- To require only instance types with instance store volumes, specify `required` .\n- To exclude instance types with instance store volumes, specify `excluded` .\n\nDefault: `included`", + "title": "LocalStorage", "type": "string" }, - "Subnet": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The subnet.", - "title": "Subnet" + "LocalStorageTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The type of local storage that is required.\n\n- For instance types with hard disk drive (HDD) storage, specify `hdd` .\n- For instance types with solid state drive (SSD) storage, specify `ssd` .\n\nDefault: `hdd` and `ssd`", + "title": "LocalStorageTypes", + "type": "array" }, - "SubnetRouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The route table for the subnet.", - "title": "SubnetRouteTable" + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` .", + "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", + "type": "number" }, - "TransitGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The transit gateway.", - "title": "TransitGateway" + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.MemoryGiBPerVCpuRequest", + "markdownDescription": "The minimum and maximum amount of memory per vCPU, in GiB.\n\nDefault: No minimum or maximum limits", + "title": "MemoryGiBPerVCpu" }, - "TransitGatewayAttachment": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The transit gateway attachment.", - "title": "TransitGatewayAttachment" + "MemoryMiB": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.MemoryMiBRequest", + "markdownDescription": "The minimum and maximum amount of memory, in MiB.", + "title": "MemoryMiB" }, - "TransitGatewayRouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The transit gateway route table.", - "title": "TransitGatewayRouteTable" + "NetworkBandwidthGbps": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.NetworkBandwidthGbpsRequest", + "markdownDescription": "The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more information, see [Amazon EC2 instance network bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", + "title": "NetworkBandwidthGbps" }, - "TransitGatewayRouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute", - "markdownDescription": "The transit gateway route table route.", - "title": "TransitGatewayRouteTableRoute" + "NetworkInterfaceCount": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.NetworkInterfaceCountRequest", + "markdownDescription": "The minimum and maximum number of network interfaces.\n\nDefault: No minimum or maximum limits", + "title": "NetworkInterfaceCount" }, - "Vpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The component VPC.", - "title": "Vpc" + "OnDemandMaxPricePercentageOverLowestPrice": { + "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nTo indicate no price protection threshold, specify a high value, such as `999999` .\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. \n\nDefault: `20`", + "title": "OnDemandMaxPricePercentageOverLowestPrice", + "type": "number" }, - "VpcPeeringConnection": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The VPC peering connection.", - "title": "VpcPeeringConnection" + "RequireEncryptionInTransit": { + "markdownDescription": "Specifies whether instance types must support encrypting in-transit traffic between instances. For more information, including the supported instance types, see [Encryption in transit](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-protection.html#encryption-transit) in the *Amazon EC2 User Guide* .\n\nDefault: `false`", + "title": "RequireEncryptionInTransit", + "type": "boolean" }, - "VpnConnection": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The VPN connection.", - "title": "VpnConnection" + "RequireHibernateSupport": { + "markdownDescription": "Indicates whether instance types must support hibernation for On-Demand Instances.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) .\n\nDefault: `false`", + "title": "RequireHibernateSupport", + "type": "boolean" }, - "VpnGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The VPN gateway.", - "title": "VpnGateway" + "SpotMaxPricePercentageOverLowestPrice": { + "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` . \n\nDefault: `100`", + "title": "SpotMaxPricePercentageOverLowestPrice", + "type": "number" }, - "vpcEndpoint": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The VPC endpoint.", - "title": "vpcEndpoint" + "TotalLocalStorageGB": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.TotalLocalStorageGBRequest", + "markdownDescription": "The minimum and maximum amount of total local storage, in GB.\n\nDefault: No minimum or maximum limits", + "title": "TotalLocalStorageGB" + }, + "VCpuCount": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.VCpuCountRangeRequest", + "markdownDescription": "The minimum and maximum number of vCPUs.", + "title": "VCpuCount" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { + "AWS::EC2::EC2Fleet.Ipv6AddressRequest": { "additionalProperties": false, "properties": { - "AclRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule", - "markdownDescription": "The network ACL rule.", - "title": "AclRule" - }, - "AdditionalDetails": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AdditionalDetail" - }, - "markdownDescription": "The additional details.", - "title": "AdditionalDetails", - "type": "array" - }, - "Component": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The component.", - "title": "Component" + "Ipv6Address": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.MaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityRebalance", + "markdownDescription": "The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted.", + "title": "CapacityRebalance" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" }, - "DestinationVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The destination VPC.", - "title": "DestinationVpc" + "Min": { + "markdownDescription": "The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" }, - "ElasticLoadBalancerListener": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The load balancer listener.", - "title": "ElasticLoadBalancerListener" + "Min": { + "markdownDescription": "The minimum amount of memory, in MiB. To specify no minimum limit, specify `0` .", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.MultiAvailabilityZoneConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationType": { + "type": "string" }, - "Explanations": { + "StandbyAvailabilityZones": { "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.Explanation" + "$ref": "#/definitions/AWS::EC2::EC2Fleet.StandbyAvailabilityZone" }, - "markdownDescription": "The explanation codes.", - "title": "Explanations", "type": "array" - }, - "InboundHeader": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader", - "markdownDescription": "The inbound header.", - "title": "InboundHeader" - }, - "OutboundHeader": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader", - "markdownDescription": "The outbound header.", - "title": "OutboundHeader" - }, - "RouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute", - "markdownDescription": "The route table route.", - "title": "RouteTableRoute" - }, - "SecurityGroupRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule", - "markdownDescription": "The security group rule.", - "title": "SecurityGroupRule" - }, - "SequenceNumber": { - "markdownDescription": "The sequence number.", - "title": "SequenceNumber", + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter.", + "title": "Max", "type": "number" }, - "ServiceName": { - "markdownDescription": "The name of the VPC endpoint service.", - "title": "ServiceName", - "type": "string" - }, - "SourceVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The source VPC.", - "title": "SourceVpc" - }, - "Subnet": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The subnet.", - "title": "Subnet" - }, - "TransitGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The transit gateway.", - "title": "TransitGateway" - }, - "TransitGatewayRouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute", - "markdownDescription": "The route in a transit gateway route table.", - "title": "TransitGatewayRouteTableRoute" - }, - "Vpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", - "markdownDescription": "The component VPC.", - "title": "Vpc" + "Min": { + "markdownDescription": "The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.PortRange": { + "AWS::EC2::EC2Fleet.NetworkInterfaceCountRequest": { "additionalProperties": false, "properties": { - "From": { - "markdownDescription": "The first port in the range.", - "title": "From", + "Max": { + "markdownDescription": "The maximum number of network interfaces. To specify no maximum limit, omit this parameter.", + "title": "Max", "type": "number" }, - "To": { - "markdownDescription": "The last port in the range.", - "title": "To", + "Min": { + "markdownDescription": "The minimum number of network interfaces. To specify no minimum limit, omit this parameter.", + "title": "Min", "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute": { + "AWS::EC2::EC2Fleet.NetworkInterfaceSpecificationRequest": { "additionalProperties": false, "properties": { - "AttachmentId": { - "markdownDescription": "The ID of the route attachment.", - "title": "AttachmentId", - "type": "string" + "AssociatePublicIpAddress": { + "type": "boolean" }, - "DestinationCidr": { - "markdownDescription": "The CIDR block used for destination matches.", - "title": "DestinationCidr", - "type": "string" + "DeleteOnTermination": { + "type": "boolean" }, - "PrefixListId": { - "markdownDescription": "The ID of the prefix list.", - "title": "PrefixListId", + "Description": { "type": "string" }, - "ResourceId": { - "markdownDescription": "The ID of the resource for the route attachment.", - "title": "ResourceId", - "type": "string" + "DeviceIndex": { + "type": "number" }, - "ResourceType": { - "markdownDescription": "The resource type for the route attachment.", - "title": "ResourceType", - "type": "string" + "Groups": { + "items": { + "type": "string" + }, + "type": "array" }, - "RouteOrigin": { - "markdownDescription": "The route origin. The following are the possible values:\n\n- static\n- propagated", - "title": "RouteOrigin", + "InterfaceType": { "type": "string" }, - "State": { - "markdownDescription": "The state of the route.", - "title": "State", - "type": "string" + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Ipv6AddressRequest" + }, + "type": "array" + }, + "NetworkCardIndex": { + "type": "number" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.PrivateIpAddressSpecificationRequest" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::NetworkInsightsPath": { + "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "markdownDescription": "The strategy that determines the order of the launch template overrides to use in fulfilling On-Demand capacity.\n\n`lowest-price` - EC2 Fleet uses price to determine the order, launching the lowest price first.\n\n`prioritized` - EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first.\n\nDefault: `lowest-price`", + "title": "AllocationStrategy", + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest", + "markdownDescription": "The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.\n\nSupported only for fleets of type `instant` .", + "title": "CapacityReservationOptions" + }, + "MaxTotalPrice": { + "markdownDescription": "The maximum amount per hour for On-Demand Instances that you're willing to pay.\n\n> If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `MaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `MaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", + "title": "MaxTotalPrice", + "type": "string" + }, + "MinTargetCapacity": { + "markdownDescription": "The minimum target capacity for On-Demand Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.\n\nConstraints: Maximum value of `1000` . Supported only for fleets of type `instant` .\n\nAt least one of the following must be specified: `SingleAvailabilityZone` | `SingleInstanceType`", + "title": "MinTargetCapacity", + "type": "number" + }, + "SingleAvailabilityZone": { + "markdownDescription": "Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.\n\nSupported only for fleets of type `instant` .", + "title": "SingleAvailabilityZone", + "type": "boolean" + }, + "SingleInstanceType": { + "markdownDescription": "Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet.\n\nSupported only for fleets of type `instant` .", + "title": "SingleInstanceType", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "markdownDescription": "The instance family to use as a baseline reference.\n\n> Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( `.` ) in the instance type name. For example, in the instance type `c6i.large` , the instance family is `c6i` , not `c6` . For more information, see [Amazon EC2 instance type naming conventions](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) in *Amazon EC2 Instance Types* . \n\nThe following instance families are *not supported* for performance protection:\n\n- `c1`\n- `g3` | `g3s`\n- `hpc7g`\n- `m1` | `m2`\n- `mac1` | `mac2` | `mac2-m1ultra` | `mac2-m2` | `mac2-m2pro`\n- `p3dn` | `p4d` | `p5`\n- `t1`\n- `u-12tb1` | `u-18tb1` | `u-24tb1` | `u-3tb1` | `u-6tb1` | `u-9tb1` | `u7i-12tb` | `u7in-16tb` | `u7in-24tb` | `u7in-32tb`\n\nIf you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.\n\nIf you specify an unsupported instance family as a value for baseline performance, the API returns an empty response response for [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) and an exception for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html) , [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) , [ModifyFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html) , and [ModifySpotFleetRequest](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html) .", + "title": "InstanceFamily", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "markdownDescription": "The affinity setting for the instance on the Dedicated Host.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) or [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) .", + "title": "Affinity", + "type": "string" + }, + "AvailabilityZone": { + "markdownDescription": "The Availability Zone of the instance.\n\nOn input, you can specify `AvailabilityZone` or `AvailabilityZoneId` , but not both. If you specify neither one, Amazon EC2 automatically selects an Availability Zone for you.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) .", + "title": "AvailabilityZone", + "type": "string" + }, + "GroupName": { + "markdownDescription": "The name of the placement group that the instance is in.\n\nOn input, you can specify `GroupId` or `GroupName` , but not both.", + "title": "GroupName", + "type": "string" + }, + "HostId": { + "markdownDescription": "The ID of the Dedicated Host on which the instance resides.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) or [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) .", + "title": "HostId", + "type": "string" + }, + "HostResourceGroupArn": { + "markdownDescription": "The ARN of the host resource group in which to launch the instances.\n\nOn input, if you specify this parameter, either omit the *Tenancy* parameter or set it to `host` .\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) .", + "title": "HostResourceGroupArn", + "type": "string" + }, + "PartitionNumber": { + "markdownDescription": "The number of the partition that the instance is in. Valid only if the placement group strategy is set to `partition` .\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) .", + "title": "PartitionNumber", + "type": "number" + }, + "SpreadDomain": { + "markdownDescription": "Reserved for future use.", + "title": "SpreadDomain", + "type": "string" + }, + "Tenancy": { + "markdownDescription": "The tenancy of the instance. An instance with a tenancy of `dedicated` runs on single-tenant hardware.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) . The `host` tenancy is not supported for [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) or for T3 instances that are configured for the `unlimited` CPU credit option.", + "title": "Tenancy", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.PrivateIpAddressSpecificationRequest": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "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" + }, + "AWS::EC2::EC2Fleet.SpotOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "markdownDescription": "Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet.\n\nIf the allocation strategy is `lowestPrice` , EC2 Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy.\n\nIf the allocation strategy is `diversified` , EC2 Fleet launches instances from all the Spot Instance pools that you specify.\n\nIf the allocation strategy is `capacityOptimized` , EC2 Fleet launches instances from Spot Instance pools that are optimally chosen based on the available Spot Instance capacity.\n\n*Allowed Values* : `lowestPrice` | `diversified` | `capacityOptimized` | `capacityOptimizedPrioritized`", + "title": "AllocationStrategy", + "type": "string" + }, + "InstanceInterruptionBehavior": { + "markdownDescription": "The behavior when a Spot Instance is interrupted.\n\nDefault: `terminate`", + "title": "InstanceInterruptionBehavior", + "type": "string" + }, + "InstancePoolsToUseCount": { + "markdownDescription": "The number of Spot pools across which to allocate your target Spot capacity. Supported only when Spot `AllocationStrategy` is set to `lowest-price` . EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.\n\nNote that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified.", + "title": "InstancePoolsToUseCount", + "type": "number" + }, + "MaintenanceStrategies": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.MaintenanceStrategies", + "markdownDescription": "The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.", + "title": "MaintenanceStrategies" + }, + "MaxTotalPrice": { + "markdownDescription": "The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter. > If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `MaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `MaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", + "title": "MaxTotalPrice", + "type": "string" + }, + "MinTargetCapacity": { + "markdownDescription": "The minimum target capacity for Spot Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.\n\nConstraints: Maximum value of `1000` . Supported only for fleets of type `instant` .\n\nAt least one of the following must be specified: `SingleAvailabilityZone` | `SingleInstanceType`", + "title": "MinTargetCapacity", + "type": "number" + }, + "SingleAvailabilityZone": { + "markdownDescription": "Indicates that the fleet launches all Spot Instances into a single Availability Zone.\n\nSupported only for fleets of type `instant` .", + "title": "SingleAvailabilityZone", + "type": "boolean" + }, + "SingleInstanceType": { + "markdownDescription": "Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet.\n\nSupported only for fleets of type `instant` .", + "title": "SingleInstanceType", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.StandbyAvailabilityZone": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "markdownDescription": "The type of resource to tag.", + "title": "ResourceType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { + "markdownDescription": "The default target capacity type.", + "title": "DefaultTargetCapacityType", + "type": "string" + }, + "OnDemandTargetCapacity": { + "markdownDescription": "The number of On-Demand units to request.", + "title": "OnDemandTargetCapacity", + "type": "number" + }, + "SpotTargetCapacity": { + "markdownDescription": "The number of Spot units to request.", + "title": "SpotTargetCapacity", + "type": "number" + }, + "TargetCapacityUnitType": { + "markdownDescription": "The unit for the target capacity. You can specify this parameter only when using attributed-based instance type selection.\n\nDefault: `units` (the number of instances)", + "title": "TargetCapacityUnitType", + "type": "string" + }, + "TotalTargetCapacity": { + "markdownDescription": "The number of units to request, filled using the default target capacity type.", + "title": "TotalTargetCapacity", + "type": "number" + } + }, + "required": [ + "TotalTargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::EC2Fleet.TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of vCPUs. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of vCPUs. To specify no minimum limit, specify `0` .", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::EIP": { "additionalProperties": false, "properties": { "Condition": { @@ -127930,64 +128184,55 @@ "Properties": { "additionalProperties": false, "properties": { - "Destination": { - "markdownDescription": "The ID or ARN of the destination. If the resource is in another account, you must specify an ARN.", - "title": "Destination", + "Address": { + "markdownDescription": "An Elastic IP address or a carrier IP address in a Wavelength Zone.", + "title": "Address", "type": "string" }, - "DestinationIp": { - "markdownDescription": "The IP address of the destination.", - "title": "DestinationIp", + "Domain": { + "markdownDescription": "The network ( `vpc` ).\n\nIf you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) on this resource.", + "title": "Domain", "type": "string" }, - "DestinationPort": { - "markdownDescription": "The destination port.", - "title": "DestinationPort", - "type": "number" - }, - "FilterAtDestination": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.PathFilter", - "markdownDescription": "Scopes the analysis to network paths that match specific filters at the destination. If you specify this parameter, you can't specify the parameter for the destination IP address.", - "title": "FilterAtDestination" - }, - "FilterAtSource": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.PathFilter", - "markdownDescription": "Scopes the analysis to network paths that match specific filters at the source. If you specify this parameter, you can't specify the parameters for the source IP address or the destination port.", - "title": "FilterAtSource" + "InstanceId": { + "markdownDescription": "The ID of the instance.\n\n> Updates to the `InstanceId` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.", + "title": "InstanceId", + "type": "string" }, - "Protocol": { - "markdownDescription": "The protocol.", - "title": "Protocol", + "IpamPoolId": { + "markdownDescription": "The ID of an IPAM pool which has an Amazon-provided or BYOIP public IPv4 CIDR provisioned to it. For more information, see [Allocate sequential Elastic IP addresses from an IPAM pool](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html) in the *Amazon VPC IPAM User Guide* .", + "title": "IpamPoolId", "type": "string" }, - "Source": { - "markdownDescription": "The ID or ARN of the source. If the resource is in another account, you must specify an ARN.", - "title": "Source", + "NetworkBorderGroup": { + "markdownDescription": "A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.\n\nUse [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups.", + "title": "NetworkBorderGroup", "type": "string" }, - "SourceIp": { - "markdownDescription": "The IP address of the source.", - "title": "SourceIp", + "PublicIpv4Pool": { + "markdownDescription": "The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool.\n\n> Updates to the `PublicIpv4Pool` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.", + "title": "PublicIpv4Pool", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to add to the path.", + "markdownDescription": "Any tags assigned to the Elastic IP address.\n\n> Updates to the `Tags` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.", "title": "Tags", "type": "array" + }, + "TransferAddress": { + "markdownDescription": "The Elastic IP address you are accepting for transfer. You can only accept one transferred address. For more information on Elastic IP address transfers, see [Transfer Elastic IP addresses](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#transfer-EIPs-intro) in the *Amazon Virtual Private Cloud User Guide* .", + "title": "TransferAddress", + "type": "string" } }, - "required": [ - "Protocol", - "Source" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInsightsPath" + "AWS::EC2::EIP" ], "type": "string" }, @@ -128001,54 +128246,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::NetworkInsightsPath.FilterPortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "markdownDescription": "The first port in the range.", - "title": "FromPort", - "type": "number" - }, - "ToPort": { - "markdownDescription": "The last port in the range.", - "title": "ToPort", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsPath.PathFilter": { - "additionalProperties": false, - "properties": { - "DestinationAddress": { - "markdownDescription": "The destination IPv4 address.", - "title": "DestinationAddress", - "type": "string" - }, - "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.FilterPortRange", - "markdownDescription": "The destination port range.", - "title": "DestinationPortRange" - }, - "SourceAddress": { - "markdownDescription": "The source IPv4 address.", - "title": "SourceAddress", - "type": "string" - }, - "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.FilterPortRange", - "markdownDescription": "The source port range.", - "title": "SourcePortRange" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInterface": { + "AWS::EC2::EIPAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -128083,118 +128285,32 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.ConnectionTrackingSpecification", - "markdownDescription": "A connection tracking specification for the network interface.", - "title": "ConnectionTrackingSpecification" - }, - "Description": { - "markdownDescription": "A description for the network interface.", - "title": "Description", + "AllocationId": { + "markdownDescription": "The allocation ID. This is required.", + "title": "AllocationId", "type": "string" }, - "GroupSet": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the security groups associated with this network interface.", - "title": "GroupSet", - "type": "array" - }, - "InterfaceType": { - "markdownDescription": "The type of network interface. The default is `interface` . The supported values are `efa` and `trunk` .", - "title": "InterfaceType", + "InstanceId": { + "markdownDescription": "The ID of the instance. The instance must have exactly one attached network interface. You can specify either the instance ID or the network interface ID, but not both.", + "title": "InstanceId", "type": "string" }, - "Ipv4PrefixCount": { - "markdownDescription": "The number of IPv4 prefixes to be automatically assigned to the network interface.\n\nWhen creating a network interface, you can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.", - "title": "Ipv4PrefixCount", - "type": "number" - }, - "Ipv4Prefixes": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.Ipv4PrefixSpecification" - }, - "markdownDescription": "The IPv4 delegated prefixes that are assigned to the network interface.\n\nWhen creating a network interface, you can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.", - "title": "Ipv4Prefixes", - "type": "array" - }, - "Ipv6AddressCount": { - "markdownDescription": "The number of IPv6 addresses to assign to the network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the `Ipv6Addresses` property and don't specify this property.\n\nWhen creating a network interface, you can't specify a count of IPv6 addresses if you've specified one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.", - "title": "Ipv6AddressCount", - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" - }, - "markdownDescription": "The IPv6 addresses from the IPv6 CIDR block range of your subnet to assign to the network interface. If you're specifying a number of IPv6 addresses, use the `Ipv6AddressCount` property and don't specify this property.\n\nWhen creating a network interface, you can't specify IPv6 addresses if you've specified one of the following: a count of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.", - "title": "Ipv6Addresses", - "type": "array" - }, - "Ipv6PrefixCount": { - "markdownDescription": "The number of IPv6 prefixes to be automatically assigned to the network interface.\n\nWhen creating a network interface, you can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.", - "title": "Ipv6PrefixCount", - "type": "number" - }, - "Ipv6Prefixes": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.Ipv6PrefixSpecification" - }, - "markdownDescription": "The IPv6 delegated prefixes that are assigned to the network interface.\n\nWhen creating a network interface, you can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.", - "title": "Ipv6Prefixes", - "type": "array" + "NetworkInterfaceId": { + "markdownDescription": "The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.\n\nYou can specify either the instance ID or the network interface ID, but not both.", + "title": "NetworkInterfaceId", + "type": "string" }, "PrivateIpAddress": { - "markdownDescription": "The private IPv4 address to assign to the network interface as the primary private IP address. If you want to specify multiple private IP addresses, use the `PrivateIpAddresses` property.", + "markdownDescription": "The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.", "title": "PrivateIpAddress", "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" - }, - "markdownDescription": "The private IPv4 addresses to assign to the network interface. You can specify a primary private IP address by setting the value of the `Primary` property to `true` in the `PrivateIpAddressSpecification` property. If you want EC2 to automatically assign private IP addresses, use the `SecondaryPrivateIpAddressCount` property and do not specify this property.\n\nWhen creating a network interface, you can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.", - "title": "PrivateIpAddresses", - "type": "array" - }, - "PublicIpDnsHostnameTypeSpecification": { - "markdownDescription": "", - "title": "PublicIpDnsHostnameTypeSpecification", - "type": "string" - }, - "SecondaryPrivateIpAddressCount": { - "markdownDescription": "The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using `privateIpAddresses` .\n\nWhen creating a Network Interface, you can't specify a count of private IPv4 addresses if you've specified one of the following: specific private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.", - "title": "SecondaryPrivateIpAddressCount", - "type": "number" - }, - "SourceDestCheck": { - "markdownDescription": "Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is `true` , source/destination checks are enabled; otherwise, they are disabled. The default value is `true` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.", - "title": "SourceDestCheck", - "type": "boolean" - }, - "SubnetId": { - "markdownDescription": "The ID of the subnet to associate with the network interface.", - "title": "SubnetId", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to apply to the network interface.", - "title": "Tags", - "type": "array" } }, - "required": [ - "SubnetId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInterface" + "AWS::EC2::EIPAssociation" ], "type": "string" }, @@ -128208,121 +128324,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "markdownDescription": "Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.", - "title": "TcpEstablishedTimeout", - "type": "number" - }, - "UdpStreamTimeout": { - "markdownDescription": "Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.", - "title": "UdpStreamTimeout", - "type": "number" - }, - "UdpTimeout": { - "markdownDescription": "Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.", - "title": "UdpTimeout", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInterface.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "markdownDescription": "An IPv6 address to associate with the network interface.", - "title": "Ipv6Address", - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "markdownDescription": "The IPv4 prefix. For information, see [Assigning prefixes to network interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) in the *Amazon EC2 User Guide* .", - "title": "Ipv4Prefix", - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "markdownDescription": "The IPv6 prefix. For information, see [Assigning prefixes to Amazon EC2 network interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) in the *Amazon Elastic Compute Cloud User Guide* .", - "title": "Ipv6Prefix", - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "markdownDescription": "Sets the private IP address as the primary private address. You can set only one primary private IP address. If you don't specify a primary private IP address, Amazon EC2 automatically assigns a primary private IP address.", - "title": "Primary", - "type": "boolean" - }, - "PrivateIpAddress": { - "markdownDescription": "The private IP address of the network interface.", - "title": "PrivateIpAddress", - "type": "string" - } - }, - "required": [ - "Primary", - "PrivateIpAddress" + "Type" ], "type": "object" }, - "AWS::EC2::NetworkInterface.PublicIpDnsNameOptions": { - "additionalProperties": false, - "properties": { - "DnsHostnameType": { - "markdownDescription": "The public hostname type. For more information, see [EC2 instance hostnames, DNS names, and domains](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon EC2 User Guide* .", - "title": "DnsHostnameType", - "type": "string" - }, - "PublicDualStackDnsName": { - "markdownDescription": "A dual-stack public hostname for a network interface. Requests from within the VPC resolve to both the private IPv4 address and the IPv6 Global Unicast Address of the network interface. Requests from the internet resolve to both the public IPv4 and the IPv6 GUA address of the network interface.", - "title": "PublicDualStackDnsName", - "type": "string" - }, - "PublicIpv4DnsName": { - "markdownDescription": "An IPv4-enabled public hostname for a network interface. Requests from within the VPC resolve to the private primary IPv4 address of the network interface. Requests from the internet resolve to the public IPv4 address of the network interface.", - "title": "PublicIpv4DnsName", - "type": "string" - }, - "PublicIpv6DnsName": { - "markdownDescription": "An IPv6-enabled public hostname for a network interface. Requests from within the VPC or from the internet resolve to the IPv6 GUA of the network interface.", - "title": "PublicIpv6DnsName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInterfaceAttachment": { + "AWS::EC2::EgressOnlyInternetGateway": { "additionalProperties": false, "properties": { "Condition": { @@ -128357,47 +128363,28 @@ "Properties": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "markdownDescription": "Whether to delete the network interface when the instance terminates. By default, this value is set to `true` .", - "title": "DeleteOnTermination", - "type": "boolean" - }, - "DeviceIndex": { - "markdownDescription": "The network interface's position in the attachment order. For example, the first attached network interface has a `DeviceIndex` of 0.", - "title": "DeviceIndex", - "type": "string" - }, - "EnaQueueCount": { - "markdownDescription": "The number of ENA queues created with the instance.", - "title": "EnaQueueCount", - "type": "number" - }, - "EnaSrdSpecification": { - "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment.EnaSrdSpecification", - "markdownDescription": "Configures ENA Express for the network interface that this action attaches to the instance.", - "title": "EnaSrdSpecification" - }, - "InstanceId": { - "markdownDescription": "The ID of the instance to which you will attach the ENI.", - "title": "InstanceId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the egress-only internet gateway.", + "title": "Tags", + "type": "array" }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of the ENI that you want to attach.", - "title": "NetworkInterfaceId", + "VpcId": { + "markdownDescription": "The ID of the VPC for which to create the egress-only internet gateway.", + "title": "VpcId", "type": "string" } }, "required": [ - "DeviceIndex", - "InstanceId", - "NetworkInterfaceId" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInterfaceAttachment" + "AWS::EC2::EgressOnlyInternetGateway" ], "type": "string" }, @@ -128416,34 +128403,7 @@ ], "type": "object" }, - "AWS::EC2::NetworkInterfaceAttachment.EnaSrdSpecification": { - "additionalProperties": false, - "properties": { - "EnaSrdEnabled": { - "markdownDescription": "Indicates whether ENA Express is enabled for the network interface.", - "title": "EnaSrdEnabled", - "type": "boolean" - }, - "EnaSrdUdpSpecification": { - "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment.EnaSrdUdpSpecification", - "markdownDescription": "Configures ENA Express for UDP network traffic.", - "title": "EnaSrdUdpSpecification" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInterfaceAttachment.EnaSrdUdpSpecification": { - "additionalProperties": false, - "properties": { - "EnaSrdUdpEnabled": { - "markdownDescription": "Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.", - "title": "EnaSrdUdpEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInterfacePermission": { + "AWS::EC2::EnclaveCertificateIamRoleAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -128478,32 +128438,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AwsAccountId": { - "markdownDescription": "The AWS account ID.", - "title": "AwsAccountId", - "type": "string" - }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of the network interface.", - "title": "NetworkInterfaceId", + "CertificateArn": { + "markdownDescription": "The ARN of the ACM certificate with which to associate the IAM role.", + "title": "CertificateArn", "type": "string" }, - "Permission": { - "markdownDescription": "The type of permission to grant: `INSTANCE-ATTACH` or `EIP-ASSOCIATE` .", - "title": "Permission", + "RoleArn": { + "markdownDescription": "The ARN of the IAM role to associate with the ACM certificate. You can associate up to 16 IAM roles with an ACM certificate.", + "title": "RoleArn", "type": "string" } }, "required": [ - "AwsAccountId", - "NetworkInterfaceId", - "Permission" + "CertificateArn", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInterfacePermission" + "AWS::EC2::EnclaveCertificateIamRoleAssociation" ], "type": "string" }, @@ -128522,7 +128476,7 @@ ], "type": "object" }, - "AWS::EC2::NetworkPerformanceMetricSubscription": { + "AWS::EC2::ExportInstanceTask": { "additionalProperties": false, "properties": { "Condition": { @@ -128557,38 +128511,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Destination": { - "markdownDescription": "The Region or Availability Zone that's the target for the subscription. For example, `eu-west-1` .", - "title": "Destination", + "Description": { "type": "string" }, - "Metric": { - "markdownDescription": "The metric used for the subscription.", - "title": "Metric", - "type": "string" + "ExportToS3Task": { + "$ref": "#/definitions/AWS::EC2::ExportInstanceTask.ExportToS3Task" }, - "Source": { - "markdownDescription": "The Region or Availability Zone that's the source for the subscription. For example, `us-east-1` .", - "title": "Source", + "InstanceId": { "type": "string" }, - "Statistic": { - "markdownDescription": "The statistic used for the subscription.", - "title": "Statistic", + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetEnvironment": { "type": "string" } }, "required": [ - "Destination", - "Metric", - "Source", - "Statistic" + "InstanceId", + "TargetEnvironment" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkPerformanceMetricSubscription" + "AWS::EC2::ExportInstanceTask" ], "type": "string" }, @@ -128607,7 +128557,25 @@ ], "type": "object" }, - "AWS::EC2::PlacementGroup": { + "AWS::EC2::ExportInstanceTask.ExportToS3Task": { + "additionalProperties": false, + "properties": { + "ContainerFormat": { + "type": "string" + }, + "DiskImageFormat": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::FlowLog": { "additionalProperties": false, "properties": { "Condition": { @@ -128642,38 +128610,85 @@ "Properties": { "additionalProperties": false, "properties": { - "ParentGroupId": { + "DeliverCrossAccountRole": { + "markdownDescription": "The ARN of the IAM role that allows the service to publish flow logs across accounts.", + "title": "DeliverCrossAccountRole", "type": "string" }, - "PartitionCount": { - "markdownDescription": "The number of partitions. Valid only when *Strategy* is set to `partition` .", - "title": "PartitionCount", + "DeliverLogsPermissionArn": { + "markdownDescription": "The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination.\n\nThis parameter is required if the destination type is `cloud-watch-logs` , or if the destination type is `kinesis-data-firehose` and the delivery stream and the resources to monitor are in different accounts.", + "title": "DeliverLogsPermissionArn", + "type": "string" + }, + "DestinationOptions": { + "$ref": "#/definitions/AWS::EC2::FlowLog.DestinationOptions", + "markdownDescription": "The destination options.", + "title": "DestinationOptions" + }, + "LogDestination": { + "markdownDescription": "The destination for the flow log data. The meaning of this parameter depends on the destination type.\n\n- If the destination type is `cloud-watch-logs` , specify the ARN of a CloudWatch Logs log group. For example:\n\narn:aws:logs: *region* : *account_id* :log-group: *my_group*\n\nAlternatively, use the `LogGroupName` parameter.\n- If the destination type is `s3` , specify the ARN of an S3 bucket. For example:\n\narn:aws:s3::: *my_bucket* / *my_subfolder* /\n\nThe subfolder is optional. Note that you can't use `AWSLogs` as a subfolder name.\n- If the destination type is `kinesis-data-firehose` , specify the ARN of a Kinesis Data Firehose delivery stream. For example:\n\narn:aws:firehose: *region* : *account_id* :deliverystream: *my_stream*", + "title": "LogDestination", + "type": "string" + }, + "LogDestinationType": { + "markdownDescription": "The type of destination for the flow log data.\n\nDefault: `cloud-watch-logs`", + "title": "LogDestinationType", + "type": "string" + }, + "LogFormat": { + "markdownDescription": "The fields to include in the flow log record, in the order in which they should appear. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field. For more information about the available fields, see [Flow log records](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records) in the *Amazon VPC User Guide* or [Transit Gateway Flow Log records](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-flow-logs.html#flow-log-records) in the *AWS Transit Gateway Guide* .\n\nSpecify the fields using the `${field-id}` format, separated by spaces.", + "title": "LogFormat", + "type": "string" + }, + "LogGroupName": { + "markdownDescription": "The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.\n\nThis parameter is valid only if the destination type is `cloud-watch-logs` .", + "title": "LogGroupName", + "type": "string" + }, + "MaxAggregationInterval": { + "markdownDescription": "The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for transit gateway resource types.\n\nWhen a network interface is attached to a [Nitro-based instance](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) , the aggregation interval is always 60 seconds or less, regardless of the value that you specify.\n\nDefault: 600", + "title": "MaxAggregationInterval", "type": "number" }, - "SpreadLevel": { - "markdownDescription": "Determines how placement groups spread instances.\n\n- Host \u2013 You can use `host` only with Outpost placement groups.\n- Rack \u2013 No usage restrictions.", - "title": "SpreadLevel", + "ResourceId": { + "markdownDescription": "The ID of the resource to monitor. For example, if the resource type is `VPC` , specify the ID of the VPC.", + "title": "ResourceId", "type": "string" }, - "Strategy": { - "markdownDescription": "The placement strategy.", - "title": "Strategy", + "ResourceType": { + "markdownDescription": "The type of resource to monitor.", + "title": "ResourceType", "type": "string" }, + "TagFieldSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::FlowLog.TagFieldSpecification" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to apply to the new placement group.", + "markdownDescription": "The tags to apply to the flow logs.", "title": "Tags", "type": "array" + }, + "TrafficType": { + "markdownDescription": "The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic). This parameter is not supported for transit gateway resource types. It is required for the other resource types.", + "title": "TrafficType", + "type": "string" } }, + "required": [ + "ResourceId", + "ResourceType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::PlacementGroup" + "AWS::EC2::FlowLog" ], "type": "string" }, @@ -128687,11 +128702,57 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::PrefixList": { + "AWS::EC2::FlowLog.DestinationOptions": { + "additionalProperties": false, + "properties": { + "FileFormat": { + "markdownDescription": "The format for the flow log. The default is `plain-text` .", + "title": "FileFormat", + "type": "string" + }, + "HiveCompatiblePartitions": { + "markdownDescription": "Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. The default is `false` .", + "title": "HiveCompatiblePartitions", + "type": "boolean" + }, + "PerHourPartition": { + "markdownDescription": "Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. The default is `false` .", + "title": "PerHourPartition", + "type": "boolean" + } + }, + "required": [ + "FileFormat", + "HiveCompatiblePartitions", + "PerHourPartition" + ], + "type": "object" + }, + "AWS::EC2::FlowLog.TagFieldSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "TagKeys": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ResourceType", + "TagKeys" + ], + "type": "object" + }, + "AWS::EC2::FpgaImage": { "additionalProperties": false, "properties": { "Condition": { @@ -128726,47 +128787,30 @@ "Properties": { "additionalProperties": false, "properties": { - "AddressFamily": { - "markdownDescription": "The IP address type.\n\nValid Values: `IPv4` | `IPv6`", - "title": "AddressFamily", + "Description": { "type": "string" }, - "Entries": { - "items": { - "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" - }, - "markdownDescription": "The entries for the prefix list.", - "title": "Entries", - "type": "array" + "InputStorageLocation": { + "$ref": "#/definitions/AWS::EC2::FpgaImage.StorageLocation" }, - "MaxEntries": { - "markdownDescription": "The maximum number of entries for the prefix list. You can't modify the entries and the size of a prefix list at the same time.\n\nThis property is required when you create a prefix list.", - "title": "MaxEntries", - "type": "number" + "LogsStorageLocation": { + "$ref": "#/definitions/AWS::EC2::FpgaImage.StorageLocation" }, - "PrefixListName": { - "markdownDescription": "A name for the prefix list.\n\nConstraints: Up to 255 characters in length. The name cannot start with `com.amazonaws` .", - "title": "PrefixListName", + "Name": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the prefix list.", - "title": "Tags", "type": "array" } }, - "required": [ - "AddressFamily", - "PrefixListName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::PrefixList" + "AWS::EC2::FpgaImage" ], "type": "string" }, @@ -128780,31 +128824,23 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::PrefixList.Entry": { + "AWS::EC2::FpgaImage.StorageLocation": { "additionalProperties": false, "properties": { - "Cidr": { - "markdownDescription": "The CIDR block.", - "title": "Cidr", + "Bucket": { "type": "string" }, - "Description": { - "markdownDescription": "A description for the entry.\n\nConstraints: Up to 255 characters in length.", - "title": "Description", + "Key": { "type": "string" } }, - "required": [ - "Cidr" - ], "type": "object" }, - "AWS::EC2::ReplaceRootVolumeTask": { + "AWS::EC2::GatewayRouteTableAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -128839,27 +128875,26 @@ "Properties": { "additionalProperties": false, "properties": { - "DeleteReplacedRootVolume": { - "type": "boolean" - }, - "InstanceId": { + "GatewayId": { + "markdownDescription": "The ID of the gateway.", + "title": "GatewayId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "RouteTableId": { + "markdownDescription": "The ID of the route table.", + "title": "RouteTableId", + "type": "string" } }, "required": [ - "InstanceId" + "GatewayId", + "RouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ReplaceRootVolumeTask" + "AWS::EC2::GatewayRouteTableAssociation" ], "type": "string" }, @@ -128878,7 +128913,7 @@ ], "type": "object" }, - "AWS::EC2::Route": { + "AWS::EC2::Host": { "additionalProperties": false, "properties": { "Condition": { @@ -128913,93 +128948,63 @@ "Properties": { "additionalProperties": false, "properties": { - "CarrierGatewayId": { - "markdownDescription": "The ID of the carrier gateway.\n\nYou can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.", - "title": "CarrierGatewayId", + "AssetId": { + "markdownDescription": "The ID of the Outpost hardware asset on which the Dedicated Host is allocated.", + "title": "AssetId", "type": "string" }, - "CoreNetworkArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the core network.", - "title": "CoreNetworkArn", + "AutoPlacement": { + "markdownDescription": "Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. For more information, see [Understanding auto-placement and affinity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding) in the *Amazon EC2 User Guide* .\n\nDefault: `off`", + "title": "AutoPlacement", "type": "string" }, - "DestinationCidrBlock": { - "markdownDescription": "The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify `100.68.0.18/18` , we modify it to `100.68.0.0/18` .", - "title": "DestinationCidrBlock", + "AvailabilityZone": { + "markdownDescription": "The Availability Zone in which to allocate the Dedicated Host.", + "title": "AvailabilityZone", "type": "string" }, - "DestinationIpv6CidrBlock": { - "markdownDescription": "The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.", - "title": "DestinationIpv6CidrBlock", + "HostMaintenance": { + "markdownDescription": "Indicates whether host maintenance is enabled or disabled for the Dedicated Host.", + "title": "HostMaintenance", "type": "string" }, - "DestinationPrefixListId": { - "markdownDescription": "The ID of a prefix list used for the destination match.", - "title": "DestinationPrefixListId", + "HostRecovery": { + "markdownDescription": "Indicates whether to enable or disable host recovery for the Dedicated Host. Host recovery is disabled by default. For more information, see [Host recovery](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html) in the *Amazon EC2 User Guide* .\n\nDefault: `off`", + "title": "HostRecovery", "type": "string" }, - "EgressOnlyInternetGatewayId": { - "markdownDescription": "[IPv6 traffic only] The ID of an egress-only internet gateway.", - "title": "EgressOnlyInternetGatewayId", + "InstanceFamily": { + "markdownDescription": "The instance family supported by the Dedicated Host. For example, `m5` .", + "title": "InstanceFamily", "type": "string" }, - "GatewayId": { - "markdownDescription": "The ID of an internet gateway or virtual private gateway attached to your VPC.", - "title": "GatewayId", + "InstanceType": { + "markdownDescription": "Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only.", + "title": "InstanceType", "type": "string" }, - "InstanceId": { - "markdownDescription": "The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.", - "title": "InstanceId", - "type": "string" - }, - "LocalGatewayId": { - "markdownDescription": "The ID of the local gateway.", - "title": "LocalGatewayId", - "type": "string" - }, - "NatGatewayId": { - "markdownDescription": "[IPv4 traffic only] The ID of a NAT gateway.", - "title": "NatGatewayId", - "type": "string" - }, - "NetworkInterfaceId": { - "markdownDescription": "The ID of a network interface.", - "title": "NetworkInterfaceId", - "type": "string" - }, - "OdbNetworkArn": { - "type": "string" - }, - "RouteTableId": { - "markdownDescription": "The ID of the route table for the route.", - "title": "RouteTableId", - "type": "string" - }, - "TransitGatewayId": { - "markdownDescription": "The ID of a transit gateway.", - "title": "TransitGatewayId", - "type": "string" - }, - "VpcEndpointId": { - "markdownDescription": "The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.", - "title": "VpcEndpointId", + "OutpostArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Outpost on which the Dedicated Host is allocated.", + "title": "OutpostArn", "type": "string" }, - "VpcPeeringConnectionId": { - "markdownDescription": "The ID of a VPC peering connection.", - "title": "VpcPeeringConnectionId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the Dedicated Host.", + "title": "Tags", + "type": "array" } }, "required": [ - "RouteTableId" + "AvailabilityZone" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Route" + "AWS::EC2::Host" ], "type": "string" }, @@ -129018,7 +129023,7 @@ ], "type": "object" }, - "AWS::EC2::RouteServer": { + "AWS::EC2::IPAM": { "additionalProperties": false, "properties": { "Condition": { @@ -129053,43 +129058,56 @@ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { - "markdownDescription": "The Border Gateway Protocol (BGP) Autonomous System Number (ASN) for the appliance. Valid values are from 1 to 4294967295. We recommend using a private ASN in the 64512\u201365534 (16-bit ASN) or 4200000000\u20134294967294 (32-bit ASN) range.", - "title": "AmazonSideAsn", - "type": "number" + "DefaultResourceDiscoveryOrganizationalUnitExclusions": { + "items": { + "$ref": "#/definitions/AWS::EC2::IPAM.IpamOrganizationalUnitExclusion" + }, + "markdownDescription": "If your IPAM is integrated with AWS Organizations, you can exclude an [organizational unit (OU)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit) from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see [Exclude organizational units from IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html) in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .", + "title": "DefaultResourceDiscoveryOrganizationalUnitExclusions", + "type": "array" }, - "PersistRoutes": { - "markdownDescription": "Indicates whether routes should be persisted after all BGP sessions are terminated.", - "title": "PersistRoutes", + "Description": { + "markdownDescription": "The description for the IPAM.", + "title": "Description", "type": "string" }, - "PersistRoutesDuration": { - "markdownDescription": "The number of minutes a route server will wait after BGP is re-established to unpersist the routes in the FIB and RIB. Value must be in the range of 1-5. The default value is 1. Only valid if `persistRoutesState` is 'enabled'.\n\nIf you set the duration to 1 minute, then when your network appliance re-establishes BGP with route server, it has 1 minute to relearn it's adjacent network and advertise those routes to route server before route server resumes normal functionality. In most cases, 1 minute is probably sufficient. If, however, you have concerns that your BGP network may not be capable of fully re-establishing and re-learning everything in 1 minute, you can increase the duration up to 5 minutes.", - "title": "PersistRoutesDuration", - "type": "number" - }, - "SnsNotificationsEnabled": { - "markdownDescription": "Indicates whether SNS notifications are enabled for the route server. Enabling SNS notifications persists BGP status changes to an SNS topic provisioned by AWS .", - "title": "SnsNotificationsEnabled", + "EnablePrivateGua": { + "markdownDescription": "Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.", + "title": "EnablePrivateGua", "type": "boolean" }, + "MeteredAccount": { + "markdownDescription": "A metered account is an AWS account that is charged for active IP addresses managed in IPAM. For more information, see [Enable cost distribution](https://docs.aws.amazon.com/vpc/latest/ipam/ipam-enable-cost-distro.html) in the *Amazon VPC IPAM User Guide* .\n\nPossible values:\n\n- `ipam-owner` (default): The AWS account which owns the IPAM is charged for all active IP addresses managed in IPAM.\n- `resource-owner` : The AWS account that owns the IP address is charged for the active IP address.", + "title": "MeteredAccount", + "type": "string" + }, + "OperatingRegions": { + "items": { + "$ref": "#/definitions/AWS::EC2::IPAM.IpamOperatingRegion" + }, + "markdownDescription": "The operating Regions for an IPAM. Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions.\n\nFor more information about operating Regions, see [Create an IPAM](https://docs.aws.amazon.com//vpc/latest/ipam/create-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "OperatingRegions", + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the route server.", + "markdownDescription": "The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value.", "title": "Tags", "type": "array" + }, + "Tier": { + "markdownDescription": "IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see the [VPC IPAM product pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", + "title": "Tier", + "type": "string" } }, - "required": [ - "AmazonSideAsn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteServer" + "AWS::EC2::IPAM" ], "type": "string" }, @@ -129103,12 +129121,39 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::RouteServerAssociation": { + "AWS::EC2::IPAM.IpamOperatingRegion": { + "additionalProperties": false, + "properties": { + "RegionName": { + "markdownDescription": "The name of the operating Region.", + "title": "RegionName", + "type": "string" + } + }, + "required": [ + "RegionName" + ], + "type": "object" + }, + "AWS::EC2::IPAM.IpamOrganizationalUnitExclusion": { + "additionalProperties": false, + "properties": { + "OrganizationsEntityPath": { + "markdownDescription": "An AWS Organizations entity path. For more information on the entity path, see [Understand the AWS Organizations entity path](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path) in the *AWS Identity and Access Management User Guide* .", + "title": "OrganizationsEntityPath", + "type": "string" + } + }, + "required": [ + "OrganizationsEntityPath" + ], + "type": "object" + }, + "AWS::EC2::IPAMAllocation": { "additionalProperties": false, "properties": { "Condition": { @@ -129143,26 +129188,35 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteServerId": { - "markdownDescription": "The ID of the associated route server.", - "title": "RouteServerId", + "Cidr": { + "markdownDescription": "The CIDR you would like to allocate from the IPAM pool. Note the following:\n\n- If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.\n- If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.\n\nPossible values: Any available IPv4 or IPv6 CIDR.", + "title": "Cidr", "type": "string" }, - "VpcId": { - "markdownDescription": "The ID of the associated VPC.", - "title": "VpcId", + "Description": { + "markdownDescription": "A description for the allocation.", + "title": "Description", + "type": "string" + }, + "IpamPoolId": { + "markdownDescription": "The ID of the IPAM pool from which you would like to allocate a CIDR.", + "title": "IpamPoolId", "type": "string" + }, + "NetmaskLength": { + "markdownDescription": "The netmask length of the CIDR you would like to allocate from the IPAM pool. Note the following:\n\n- If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.\n- If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.\n\nPossible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.", + "title": "NetmaskLength", + "type": "number" } }, "required": [ - "RouteServerId", - "VpcId" + "IpamPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteServerAssociation" + "AWS::EC2::IPAMAllocation" ], "type": "string" }, @@ -129181,7 +129235,7 @@ ], "type": "object" }, - "AWS::EC2::RouteServerEndpoint": { + "AWS::EC2::IPAMPool": { "additionalProperties": false, "properties": { "Condition": { @@ -129216,34 +129270,105 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteServerId": { - "markdownDescription": "The ID of the route server associated with this endpoint.", - "title": "RouteServerId", + "AddressFamily": { + "markdownDescription": "The address family of the pool.", + "title": "AddressFamily", "type": "string" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet to place the route server endpoint into.", - "title": "SubnetId", + "AllocationDefaultNetmaskLength": { + "markdownDescription": "The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.", + "title": "AllocationDefaultNetmaskLength", + "type": "number" + }, + "AllocationMaxNetmaskLength": { + "markdownDescription": "The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.", + "title": "AllocationMaxNetmaskLength", + "type": "number" + }, + "AllocationMinNetmaskLength": { + "markdownDescription": "The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.", + "title": "AllocationMinNetmaskLength", + "type": "number" + }, + "AllocationResourceTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.", + "title": "AllocationResourceTags", + "type": "array" + }, + "AutoImport": { + "markdownDescription": "If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.\n\nA locale must be set on the pool for this feature to work.", + "title": "AutoImport", + "type": "boolean" + }, + "AwsService": { + "markdownDescription": "Limits which service in AWS that the pool can be used in. \"ec2\", for example, allows users to use space for Elastic IP addresses and VPCs.", + "title": "AwsService", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the IPAM pool.", + "title": "Description", + "type": "string" + }, + "IpamScopeId": { + "markdownDescription": "The ID of the scope in which you would like to create the IPAM pool.", + "title": "IpamScopeId", + "type": "string" + }, + "Locale": { + "markdownDescription": "The locale of the IPAM pool.\n\nThe locale for the pool should be one of the following:\n\n- An AWS Region where you want this IPAM pool to be available for allocations.\n- The network border group for an AWS Local Zone where you want this IPAM pool to be available for allocations ( [supported Local Zones](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail) ). This option is only available for IPAM IPv4 pools in the public scope.\n\nIf you choose an AWS Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.", + "title": "Locale", + "type": "string" + }, + "ProvisionedCidrs": { + "items": { + "$ref": "#/definitions/AWS::EC2::IPAMPool.ProvisionedCidr" + }, + "markdownDescription": "Information about the CIDRs provisioned to an IPAM pool.", + "title": "ProvisionedCidrs", + "type": "array" + }, + "PublicIpSource": { + "markdownDescription": "The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is `BYOIP` . For more information, see [Create IPv6 pools](https://docs.aws.amazon.com//vpc/latest/ipam/intro-create-ipv6-pools.html) in the *Amazon VPC IPAM User Guide* . By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see [Quotas for your IPAM](https://docs.aws.amazon.com//vpc/latest/ipam/quotas-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "PublicIpSource", + "type": "string" + }, + "PubliclyAdvertisable": { + "markdownDescription": "Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to `ipv4` .", + "title": "PubliclyAdvertisable", + "type": "boolean" + }, + "SourceIpamPoolId": { + "markdownDescription": "The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.", + "title": "SourceIpamPoolId", "type": "string" }, + "SourceResource": { + "$ref": "#/definitions/AWS::EC2::IPAMPool.SourceResource", + "markdownDescription": "The resource used to provision CIDRs to a resource planning pool.", + "title": "SourceResource" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the route server endpoint.", + "markdownDescription": "The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value.", "title": "Tags", "type": "array" } }, "required": [ - "RouteServerId", - "SubnetId" + "AddressFamily", + "IpamScopeId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteServerEndpoint" + "AWS::EC2::IPAMPool" ], "type": "string" }, @@ -129262,7 +129387,53 @@ ], "type": "object" }, - "AWS::EC2::RouteServerPeer": { + "AWS::EC2::IPAMPool.ProvisionedCidr": { + "additionalProperties": false, + "properties": { + "Cidr": { + "markdownDescription": "The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is `10.24.34.0/23` . An IPv6 CIDR example is `2001:DB8::/32` .", + "title": "Cidr", + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, + "AWS::EC2::IPAMPool.SourceResource": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "markdownDescription": "The source resource ID.", + "title": "ResourceId", + "type": "string" + }, + "ResourceOwner": { + "markdownDescription": "The source resource owner.", + "title": "ResourceOwner", + "type": "string" + }, + "ResourceRegion": { + "markdownDescription": "The source resource Region.", + "title": "ResourceRegion", + "type": "string" + }, + "ResourceType": { + "markdownDescription": "The source resource type.", + "title": "ResourceType", + "type": "string" + } + }, + "required": [ + "ResourceId", + "ResourceOwner", + "ResourceRegion", + "ResourceType" + ], + "type": "object" + }, + "AWS::EC2::IPAMPoolCidr": { "additionalProperties": false, "properties": { "Condition": { @@ -129297,40 +129468,30 @@ "Properties": { "additionalProperties": false, "properties": { - "BgpOptions": { - "$ref": "#/definitions/AWS::EC2::RouteServerPeer.BgpOptions", - "markdownDescription": "The BGP configuration options for this peer, including ASN (Autonomous System Number) and BFD (Bidrectional Forwarding Detection) settings.", - "title": "BgpOptions" - }, - "PeerAddress": { - "markdownDescription": "The IPv4 address of the peer device.", - "title": "PeerAddress", + "Cidr": { + "markdownDescription": "The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is `10.24.34.0/23` . An IPv6 CIDR example is `2001:DB8::/32` .", + "title": "Cidr", "type": "string" }, - "RouteServerEndpointId": { - "markdownDescription": "The ID of the route server endpoint associated with this peer.", - "title": "RouteServerEndpointId", + "IpamPoolId": { + "markdownDescription": "The ID of the IPAM pool.", + "title": "IpamPoolId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Any tags assigned to the route server peer.", - "title": "Tags", - "type": "array" + "NetmaskLength": { + "markdownDescription": "The netmask length of the CIDR you'd like to provision to a pool. Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. \"NetmaskLength\" or \"Cidr\" is required.", + "title": "NetmaskLength", + "type": "number" } }, "required": [ - "BgpOptions", - "PeerAddress", - "RouteServerEndpointId" + "IpamPoolId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteServerPeer" + "AWS::EC2::IPAMPoolCidr" ], "type": "string" }, @@ -129349,23 +129510,7 @@ ], "type": "object" }, - "AWS::EC2::RouteServerPeer.BgpOptions": { - "additionalProperties": false, - "properties": { - "PeerAsn": { - "markdownDescription": "The Border Gateway Protocol (BGP) Autonomous System Number (ASN) for the appliance. Valid values are from 1 to 4294967295. We recommend using a private ASN in the 64512\u201365534 (16-bit ASN) or 4200000000\u20134294967294 (32-bit ASN) range.", - "title": "PeerAsn", - "type": "number" - }, - "PeerLivenessDetection": { - "markdownDescription": "The liveness detection protocol used for the BGP peer.\n\nThe requested liveness detection protocol for the BGP peer.\n\n- `bgp-keepalive` : The standard BGP keep alive mechanism ( [RFC4271](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc4271#page-21) ) that is stable but may take longer to fail-over in cases of network impact or router failure.\n- `bfd` : An additional Bidirectional Forwarding Detection (BFD) protocol ( [RFC5880](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc5880) ) that enables fast failover by using more sensitive liveness detection.\n\nDefaults to `bgp-keepalive` .", - "title": "PeerLivenessDetection", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::RouteServerPropagation": { + "AWS::EC2::IPAMPrefixListResolver": { "additionalProperties": false, "properties": { "Condition": { @@ -129400,26 +129545,36 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteServerId": { - "markdownDescription": "The ID of the route server configured for route propagation.", - "title": "RouteServerId", + "AddressFamily": { "type": "string" }, - "RouteTableId": { - "markdownDescription": "The ID of the route table configured for route server propagation.", - "title": "RouteTableId", + "Description": { + "type": "string" + }, + "IpamId": { "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRule" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "RouteServerId", - "RouteTableId" + "AddressFamily" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteServerPropagation" + "AWS::EC2::IPAMPrefixListResolver" ], "type": "string" }, @@ -129438,7 +129593,64 @@ ], "type": "object" }, - "AWS::EC2::RouteTable": { + "AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRule": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRuleCondition" + }, + "type": "array" + }, + "IpamScopeId": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "RuleType": { + "type": "string" + }, + "StaticCidr": { + "type": "string" + } + }, + "required": [ + "RuleType" + ], + "type": "object" + }, + "AWS::EC2::IPAMPrefixListResolver.IpamPrefixListResolverRuleCondition": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "IpamPoolId": { + "type": "string" + }, + "Operation": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ResourceOwner": { + "type": "string" + }, + "ResourceRegion": { + "type": "string" + }, + "ResourceTag": { + "$ref": "#/definitions/Tag" + } + }, + "required": [ + "Operation" + ], + "type": "object" + }, + "AWS::EC2::IPAMPrefixListResolverTarget": { "additionalProperties": false, "properties": { "Condition": { @@ -129473,28 +129685,39 @@ "Properties": { "additionalProperties": false, "properties": { + "DesiredVersion": { + "type": "number" + }, + "IpamPrefixListResolverId": { + "type": "string" + }, + "PrefixListId": { + "type": "string" + }, + "PrefixListRegion": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the route table.", - "title": "Tags", "type": "array" }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", - "type": "string" + "TrackLatestVersion": { + "type": "boolean" } }, "required": [ - "VpcId" + "IpamPrefixListResolverId", + "PrefixListId", + "PrefixListRegion", + "TrackLatestVersion" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteTable" + "AWS::EC2::IPAMPrefixListResolverTarget" ], "type": "string" }, @@ -129513,7 +129736,7 @@ ], "type": "object" }, - "AWS::EC2::SecurityGroup": { + "AWS::EC2::IPAMResourceDiscovery": { "additionalProperties": false, "properties": { "Condition": { @@ -129548,54 +129771,41 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupDescription": { - "markdownDescription": "A description for the security group.\n\nConstraints: Up to 255 characters in length\n\nValid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*", - "title": "GroupDescription", - "type": "string" - }, - "GroupName": { - "markdownDescription": "The name of the security group. Names are case-insensitive and must be unique within the VPC.\n\nConstraints: Up to 255 characters in length. Can't start with `sg-` .\n\nValid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*", - "title": "GroupName", + "Description": { + "markdownDescription": "The resource discovery description.", + "title": "Description", "type": "string" }, - "SecurityGroupEgress": { + "OperatingRegions": { "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" + "$ref": "#/definitions/AWS::EC2::IPAMResourceDiscovery.IpamOperatingRegion" }, - "markdownDescription": "The outbound rules associated with the security group.", - "title": "SecurityGroupEgress", + "markdownDescription": "The operating Regions for the resource discovery. Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions.", + "title": "OperatingRegions", "type": "array" }, - "SecurityGroupIngress": { + "OrganizationalUnitExclusions": { "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" + "$ref": "#/definitions/AWS::EC2::IPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusion" }, - "markdownDescription": "The inbound rules associated with the security group.", - "title": "SecurityGroupIngress", + "markdownDescription": "If your IPAM is integrated with AWS Organizations, you can exclude an [organizational unit (OU)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit) from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see [Exclude organizational units from IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html) in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .", + "title": "OrganizationalUnitExclusions", "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the security group.", + "markdownDescription": "A tag is a label that you assign to an AWS resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your AWS costs.", "title": "Tags", "type": "array" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC for the security group. If you do not specify a VPC, the default is to use the default VPC for the Region. If there's no specified VPC and no default VPC, security group creation fails.", - "title": "VpcId", - "type": "string" } }, - "required": [ - "GroupDescription" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroup" + "AWS::EC2::IPAMResourceDiscovery" ], "type": "string" }, @@ -129609,120 +129819,39 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SecurityGroup.Egress": { + "AWS::EC2::IPAMResourceDiscovery.IpamOperatingRegion": { "additionalProperties": false, "properties": { - "CidrIp": { - "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIp", - "type": "string" - }, - "CidrIpv6": { - "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIpv6", - "type": "string" - }, - "Description": { - "markdownDescription": "A description for the security group rule.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", - "title": "Description", - "type": "string" - }, - "DestinationPrefixListId": { - "markdownDescription": "The prefix list IDs for the destination AWS service. This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", - "title": "DestinationPrefixListId", - "type": "string" - }, - "DestinationSecurityGroupId": { - "markdownDescription": "The ID of the destination VPC security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", - "title": "DestinationSecurityGroupId", - "type": "string" - }, - "FromPort": { - "markdownDescription": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).", - "title": "FromPort", - "type": "number" - }, - "IpProtocol": { - "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", - "title": "IpProtocol", + "RegionName": { + "markdownDescription": "The name of the operating Region.", + "title": "RegionName", "type": "string" - }, - "ToPort": { - "markdownDescription": "If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).", - "title": "ToPort", - "type": "number" } }, "required": [ - "IpProtocol" + "RegionName" ], "type": "object" }, - "AWS::EC2::SecurityGroup.Ingress": { + "AWS::EC2::IPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusion": { "additionalProperties": false, "properties": { - "CidrIp": { - "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIp", - "type": "string" - }, - "CidrIpv6": { - "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIpv6", - "type": "string" - }, - "Description": { - "markdownDescription": "Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", - "title": "Description", - "type": "string" - }, - "FromPort": { - "markdownDescription": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).", - "title": "FromPort", - "type": "number" - }, - "IpProtocol": { - "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", - "title": "IpProtocol", - "type": "string" - }, - "SourcePrefixListId": { - "markdownDescription": "The ID of a prefix list.", - "title": "SourcePrefixListId", - "type": "string" - }, - "SourceSecurityGroupId": { - "markdownDescription": "The ID of the security group.", - "title": "SourceSecurityGroupId", - "type": "string" - }, - "SourceSecurityGroupName": { - "markdownDescription": "[Default VPC] The name of the source security group. You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nFor security groups in a nondefault VPC, you must specify the group ID.", - "title": "SourceSecurityGroupName", - "type": "string" - }, - "SourceSecurityGroupOwnerId": { - "markdownDescription": "[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nIf you specify `SourceSecurityGroupName` or `SourceSecurityGroupId` and that security group is owned by a different account than the account creating the stack, you must specify the `SourceSecurityGroupOwnerId` ; otherwise, this property is optional.", - "title": "SourceSecurityGroupOwnerId", + "OrganizationsEntityPath": { + "markdownDescription": "An AWS Organizations entity path. For more information on the entity path, see [Understand the AWS Organizations entity path](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path) in the *AWS Identity and Access Management User Guide* .", + "title": "OrganizationsEntityPath", "type": "string" - }, - "ToPort": { - "markdownDescription": "If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).", - "title": "ToPort", - "type": "number" } }, "required": [ - "IpProtocol" + "OrganizationsEntityPath" ], "type": "object" }, - "AWS::EC2::SecurityGroupEgress": { + "AWS::EC2::IPAMResourceDiscoveryAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -129757,61 +129886,34 @@ "Properties": { "additionalProperties": false, "properties": { - "CidrIp": { - "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIp", - "type": "string" - }, - "CidrIpv6": { - "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIpv6", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of an egress (outbound) security group rule.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", - "title": "Description", - "type": "string" - }, - "DestinationPrefixListId": { - "markdownDescription": "The prefix list IDs for an AWS service. This is the AWS service to access through a VPC endpoint from instances associated with the security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", - "title": "DestinationPrefixListId", - "type": "string" - }, - "DestinationSecurityGroupId": { - "markdownDescription": "The ID of the security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", - "title": "DestinationSecurityGroupId", - "type": "string" - }, - "FromPort": { - "markdownDescription": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).", - "title": "FromPort", - "type": "number" - }, - "GroupId": { - "markdownDescription": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", - "title": "GroupId", + "IpamId": { + "markdownDescription": "The IPAM ID.", + "title": "IpamId", "type": "string" }, - "IpProtocol": { - "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", - "title": "IpProtocol", + "IpamResourceDiscoveryId": { + "markdownDescription": "The resource discovery ID.", + "title": "IpamResourceDiscoveryId", "type": "string" }, - "ToPort": { - "markdownDescription": "If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).", - "title": "ToPort", - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A tag is a label that you assign to an AWS resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your AWS costs.", + "title": "Tags", + "type": "array" } }, "required": [ - "GroupId", - "IpProtocol" + "IpamId", + "IpamResourceDiscoveryId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroupEgress" + "AWS::EC2::IPAMResourceDiscoveryAssociation" ], "type": "string" }, @@ -129830,7 +129932,7 @@ ], "type": "object" }, - "AWS::EC2::SecurityGroupIngress": { + "AWS::EC2::IPAMScope": { "additionalProperties": false, "properties": { "Condition": { @@ -129865,75 +129967,38 @@ "Properties": { "additionalProperties": false, "properties": { - "CidrIp": { - "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIp", - "type": "string" - }, - "CidrIpv6": { - "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", - "title": "CidrIpv6", - "type": "string" - }, "Description": { - "markdownDescription": "Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", + "markdownDescription": "The description of the scope.", "title": "Description", "type": "string" }, - "FromPort": { - "markdownDescription": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of `-1` indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.\n\nUse this for ICMP and any protocol that uses ports.", - "title": "FromPort", - "type": "number" - }, - "GroupId": { - "markdownDescription": "The ID of the security group.", - "title": "GroupId", - "type": "string" - }, - "GroupName": { - "markdownDescription": "[Default VPC] The name of the security group. For security groups for a default VPC you can specify either the ID or the name of the security group. For security groups for a nondefault VPC, you must specify the ID of the security group.", - "title": "GroupName", - "type": "string" - }, - "IpProtocol": { - "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", - "title": "IpProtocol", - "type": "string" - }, - "SourcePrefixListId": { - "markdownDescription": "The ID of a prefix list.", - "title": "SourcePrefixListId", - "type": "string" - }, - "SourceSecurityGroupId": { - "markdownDescription": "The ID of the security group. You must specify either the security group ID or the security group name. For security groups in a nondefault VPC, you must specify the security group ID.", - "title": "SourceSecurityGroupId", - "type": "string" - }, - "SourceSecurityGroupName": { - "markdownDescription": "[Default VPC] The name of the source security group. You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nFor security groups in a nondefault VPC, you must specify the group ID.", - "title": "SourceSecurityGroupName", - "type": "string" + "ExternalAuthorityConfiguration": { + "$ref": "#/definitions/AWS::EC2::IPAMScope.IpamScopeExternalAuthorityConfiguration", + "markdownDescription": "The configuration that links an Amazon VPC IPAM scope to an external authority system. It specifies the type of external system and the external resource identifier that identifies your account or instance in that system.\n\nFor more information, see [Integrate VPC IPAM with Infoblox infrastructure](https://docs.aws.amazon.com/vpc/latest/ipam/integrate-infoblox-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "ExternalAuthorityConfiguration" }, - "SourceSecurityGroupOwnerId": { - "markdownDescription": "[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nIf you specify `SourceSecurityGroupName` or `SourceSecurityGroupId` and that security group is owned by a different account than the account creating the stack, you must specify `SourceSecurityGroupOwnerId` ; otherwise, this property is optional.", - "title": "SourceSecurityGroupOwnerId", + "IpamId": { + "markdownDescription": "The ID of the IPAM for which you're creating this scope.", + "title": "IpamId", "type": "string" }, - "ToPort": { - "markdownDescription": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of `-1` indicates all ICMP/ICMPv6 codes for the specified ICMP type. If you specify all ICMP/ICMPv6 types, you must specify all codes.\n\nUse this for ICMP and any protocol that uses ports.", - "title": "ToPort", - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value.", + "title": "Tags", + "type": "array" } }, "required": [ - "IpProtocol" + "IpamId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroupIngress" + "AWS::EC2::IPAMScope" ], "type": "string" }, @@ -129952,7 +130017,27 @@ ], "type": "object" }, - "AWS::EC2::SecurityGroupVpcAssociation": { + "AWS::EC2::IPAMScope.IpamScopeExternalAuthorityConfiguration": { + "additionalProperties": false, + "properties": { + "ExternalResourceIdentifier": { + "markdownDescription": "The identifier for the external resource managing this scope. For Infoblox integrations, this is the Infoblox resource identifier in the format `.identity.account..` .", + "title": "ExternalResourceIdentifier", + "type": "string" + }, + "IpamScopeExternalAuthorityType": { + "markdownDescription": "The type of external authority managing this scope. Currently supports `Infoblox` for integration with Infoblox Universal DDI.", + "title": "IpamScopeExternalAuthorityType", + "type": "string" + } + }, + "required": [ + "ExternalResourceIdentifier", + "IpamScopeExternalAuthorityType" + ], + "type": "object" + }, + "AWS::EC2::IPv4Pool": { "additionalProperties": false, "properties": { "Condition": { @@ -129987,26 +130072,18 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupId": { - "markdownDescription": "The association's security group ID.", - "title": "GroupId", - "type": "string" - }, - "VpcId": { - "markdownDescription": "The association's VPC ID.", - "title": "VpcId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "GroupId", - "VpcId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroupVpcAssociation" + "AWS::EC2::IPv4Pool" ], "type": "string" }, @@ -130020,12 +130097,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SnapshotBlockPublicAccess": { + "AWS::EC2::ImageUsageReport": { "additionalProperties": false, "properties": { "Condition": { @@ -130060,20 +130136,37 @@ "Properties": { "additionalProperties": false, "properties": { - "State": { - "markdownDescription": "The mode in which to enable block public access for snapshots for the Region. Specify one of the following values:\n\n- `block-all-sharing` - Prevents all public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. Additionally, snapshots that are already publicly shared are treated as private and they are no longer publicly available.\n\n> If you enable block public access for snapshots in `block-all-sharing` mode, it does not change the permissions for snapshots that are already publicly shared. Instead, it prevents these snapshots from be publicly visible and publicly accessible. Therefore, the attributes for these snapshots still indicate that they are publicly shared, even though they are not publicly available.\n- `block-new-sharing` - Prevents only new public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. However, snapshots that are already publicly shared, remain publicly available.", - "title": "State", + "AccountIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ImageId": { "type": "string" + }, + "ResourceTypes": { + "items": { + "$ref": "#/definitions/AWS::EC2::ImageUsageReport.ImageUsageResourceType" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "State" + "ImageId", + "ResourceTypes" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SnapshotBlockPublicAccess" + "AWS::EC2::ImageUsageReport" ], "type": "string" }, @@ -130092,7 +130185,37 @@ ], "type": "object" }, - "AWS::EC2::SpotFleet": { + "AWS::EC2::ImageUsageReport.ImageUsageResourceType": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "ResourceTypeOptions": { + "items": { + "$ref": "#/definitions/AWS::EC2::ImageUsageReport.ImageUsageResourceTypeOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::ImageUsageReport.ImageUsageResourceTypeOption": { + "additionalProperties": false, + "properties": { + "OptionName": { + "type": "string" + }, + "OptionValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::ImportImageTask": { "additionalProperties": false, "properties": { "Condition": { @@ -130127,28 +130250,42 @@ "Properties": { "additionalProperties": false, "properties": { - "SpotFleetRequestConfigData": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData", - "markdownDescription": "Describes the configuration of a Spot Fleet request.", - "title": "SpotFleetRequestConfigData" + "BootMode": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::ImportImageTask.ImportImageLicenseConfiguration" + }, + "type": "array" + }, + "LicenseType": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for a Spot Fleet resource.", - "title": "Tags", "type": "array" + }, + "UsageOperation": { + "type": "string" } }, - "required": [ - "SpotFleetRequestConfigData" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SpotFleet" + "AWS::EC2::ImportImageTask" ], "type": "string" }, @@ -130162,145 +130299,519 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.AcceleratorCountRequest": { + "AWS::EC2::ImportImageTask.ImportImageLicenseConfiguration": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of accelerators. To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` .", - "title": "Max", - "type": "number" - }, - "Min": { - "markdownDescription": "The minimum number of accelerators. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "LicenseConfigurationArn": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.AcceleratorTotalMemoryMiBRequest": { + "AWS::EC2::ImportImageTask.SnapshotDetail": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter.", - "title": "Max", + "DiskImageSize": { "type": "number" }, - "Min": { - "markdownDescription": "The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.BaselineEbsBandwidthMbpsRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "Format": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "SnapshotId": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "UserBucket": { + "$ref": "#/definitions/AWS::EC2::ImportImageTask.UserBucket" } }, "type": "object" }, - "AWS::EC2::SpotFleet.BaselinePerformanceFactorsRequest": { + "AWS::EC2::ImportImageTask.UserBucket": { "additionalProperties": false, "properties": { - "Cpu": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.CpuPerformanceFactorRequest", - "markdownDescription": "The CPU performance to consider, using an instance family as the baseline reference.", - "title": "Cpu" + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.BlockDeviceMapping": { + "AWS::EC2::ImportSnapshotTask": { "additionalProperties": false, "properties": { - "DeviceName": { - "markdownDescription": "The device name. For available device names, see [Device names for volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html) .", - "title": "DeviceName", + "Condition": { "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice", - "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.", - "title": "Ebs" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "NoDevice": { - "markdownDescription": "To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.", - "title": "NoDevice", + "DependsOn": { + "anyOf": [ + { + "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" + }, + "Encrypted": { + "type": "boolean" + }, + "Format": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserBucket": { + "$ref": "#/definitions/AWS::EC2::ImportSnapshotTask.UserBucket" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ImportSnapshotTask" + ], "type": "string" }, - "VirtualName": { - "markdownDescription": "The virtual device name ( `ephemeral` N). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for `ephemeral0` and `ephemeral1` . The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.\n\nNVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.\n\nConstraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.", - "title": "VirtualName", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DeviceName" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "AWS::EC2::ImportSnapshotTask.UserBucket": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the load balancer.", - "title": "Name", + "S3Bucket": { + "type": "string" + }, + "S3Key": { "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, - "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "AWS::EC2::Instance": { "additionalProperties": false, "properties": { - "ClassicLoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" - }, - "markdownDescription": "One or more Classic Load Balancers.", - "title": "ClassicLoadBalancers", - "type": "array" + "Condition": { + "type": "string" + }, + "CreationPolicy": { + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "markdownDescription": "This property is reserved for internal use. If you use it, the stack fails with this error: `Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)` .", + "title": "AdditionalInfo", + "type": "string" + }, + "Affinity": { + "markdownDescription": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify `host` . If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify `default` .", + "title": "Affinity", + "type": "string" + }, + "AvailabilityZone": { + "markdownDescription": "The Availability Zone of the instance.\n\nIf not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region.\n\nThis parameter is not supported by [DescribeImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html) .", + "title": "AvailabilityZone", + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" + }, + "markdownDescription": "The block device mapping entries that defines the block devices to attach to the instance at launch.\n\nBy default, the block devices specified in the block device mapping for the AMI are used. You can override the AMI block device mapping using the instance block device mapping. For the root volume, you can override only the volume size, volume type, volume encryption settings, and the `DeleteOnTermination` setting.\n\n> After the instance is running, you can modify only the `DeleteOnTermination` parameter for the attached volumes without interrupting the instance. Modifying any other parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", + "title": "BlockDeviceMappings", + "type": "array" + }, + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions", + "markdownDescription": "The CPU options for the instance. For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification", + "markdownDescription": "The credit option for CPU usage of the burstable performance instance. Valid values are `standard` and `unlimited` . To change this attribute after launch, use [ModifyInstanceCreditSpecification](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html) . For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) in the *Amazon EC2 User Guide* .\n\nDefault: `standard` (T2 instances) or `unlimited` (T3/T3a/T4g instances)\n\nFor T3 instances with `host` tenancy, only `standard` is supported.", + "title": "CreditSpecification" + }, + "DisableApiTermination": { + "markdownDescription": "Indicates whether termination protection is enabled for the instance. The default is `false` , which means that you can terminate the instance using the Amazon EC2 console, command line tools, or API. You can enable termination protection when you launch an instance, while the instance is running, or while the instance is stopped.", + "title": "DisableApiTermination", + "type": "boolean" + }, + "EbsOptimized": { + "markdownDescription": "Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.\n\nDefault: `false`", + "title": "EbsOptimized", + "type": "boolean" + }, + "ElasticGpuSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" + }, + "markdownDescription": "An elastic GPU to associate with the instance.\n\n> Amazon Elastic Graphics reached end of life on January 8, 2024.", + "title": "ElasticGpuSpecifications", + "type": "array" + }, + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" + }, + "markdownDescription": "An elastic inference accelerator to associate with the instance.\n\n> Amazon Elastic Inference is no longer available.", + "title": "ElasticInferenceAccelerators", + "type": "array" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions", + "markdownDescription": "Indicates whether the instance is enabled for AWS Nitro Enclaves.", + "title": "EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions", + "markdownDescription": "Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the [hibernation prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernating-prerequisites.html) . For more information, see [Hibernate your Amazon EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) in the *Amazon EC2 User Guide* .\n\nYou can't enable hibernation and AWS Nitro Enclaves on the same instance.", + "title": "HibernationOptions" + }, + "HostId": { + "markdownDescription": "If you specify host for the `Affinity` property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. This type of launch is called an untargeted launch. Note that for untargeted launches, you must have a compatible, dedicated host available to successfully launch instances.", + "title": "HostId", + "type": "string" + }, + "HostResourceGroupArn": { + "markdownDescription": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the *Tenancy* parameter or set it to `host` .", + "title": "HostResourceGroupArn", + "type": "string" + }, + "IamInstanceProfile": { + "markdownDescription": "The name of an IAM instance profile. To create a new IAM instance profile, use the [AWS::IAM::InstanceProfile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html) resource.", + "title": "IamInstanceProfile", + "type": "string" + }, + "ImageId": { + "markdownDescription": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.", + "title": "ImageId", + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "markdownDescription": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).\n\nDefault: `stop`", + "title": "InstanceInitiatedShutdownBehavior", + "type": "string" + }, + "InstanceType": { + "markdownDescription": "The instance type. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nWhen you change your EBS-backed instance type, instance restart or replacement behavior depends on the instance type compatibility between the old and new types. An instance with an instance store volume as the root volume is always replaced. For more information, see [Change the instance type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html) in the *Amazon EC2 User Guide* .", + "title": "InstanceType", + "type": "string" + }, + "Ipv6AddressCount": { + "markdownDescription": "The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.\n\nYou cannot specify this option and the network interfaces option in the same request.", + "title": "Ipv6AddressCount", + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "markdownDescription": "The IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.\n\nYou cannot specify this option and the network interfaces option in the same request.", + "title": "Ipv6Addresses", + "type": "array" + }, + "KernelId": { + "markdownDescription": "The ID of the kernel.\n\n> We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [PV-GRUB](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", + "title": "KernelId", + "type": "string" + }, + "KeyName": { + "markdownDescription": "The name of the key pair. For more information, see [Create a key pair for your EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html) .\n\n> If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.", + "title": "KeyName", + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification", + "markdownDescription": "The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.", + "title": "LaunchTemplate" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" + }, + "markdownDescription": "The license configurations.", + "title": "LicenseSpecifications", + "type": "array" + }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.MetadataOptions", + "markdownDescription": "The metadata options for the instance.", + "title": "MetadataOptions" + }, + "Monitoring": { + "markdownDescription": "Specifies whether detailed monitoring is enabled for the instance. Specify `true` to enable detailed monitoring. Otherwise, basic monitoring is enabled. For more information about detailed monitoring, see [Enable or turn off detailed monitoring for your instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html) in the *Amazon EC2 User Guide* .", + "title": "Monitoring", + "type": "boolean" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + }, + "markdownDescription": "The network interfaces to associate with the instance.\n\n> If you use this property to point to a network interface, you must terminate the original interface before attaching a new one to allow the update of the instance to succeed.\n> \n> If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the VPC-gateway attachment.", + "title": "NetworkInterfaces", + "type": "array" + }, + "PlacementGroupName": { + "markdownDescription": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).", + "title": "PlacementGroupName", + "type": "string" + }, + "PrivateDnsNameOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.PrivateDnsNameOptions", + "markdownDescription": "The options for the instance hostname.", + "title": "PrivateDnsNameOptions" + }, + "PrivateIpAddress": { + "markdownDescription": "The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.\n\nOnly one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.\n\nYou cannot specify this option and the network interfaces option in the same request.\n\nIf you make an update to an instance that requires replacement, you must assign a new private IP address. During a replacement, AWS CloudFormation creates a new instance but doesn't delete the old instance until the stack has successfully updated. If the stack update fails, AWS CloudFormation uses the old instance to roll back the stack to the previous working state. The old and new instances cannot have the same private IP address.", + "title": "PrivateIpAddress", + "type": "string" + }, + "PropagateTagsToVolumeOnCreation": { + "markdownDescription": "Indicates whether to assign the tags specified in the `Tags` property to the volumes specified in the `BlockDeviceMappings` property.\n\nNote that using this feature does not assign the tags to volumes that are created separately and then attached using `AWS::EC2::VolumeAttachment` .", + "title": "PropagateTagsToVolumeOnCreation", + "type": "boolean" + }, + "RamdiskId": { + "markdownDescription": "The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID.\n\n> We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [PV-GRUB](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", + "title": "RamdiskId", + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the security groups. You can specify the IDs of existing security groups and references to resources created by the stack template.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface.", + "title": "SecurityGroupIds", + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "[Default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead.\n\nYou cannot specify this option and the network interfaces option in the same request. The list can contain both the name of existing Amazon EC2 security groups or references to AWS::EC2::SecurityGroup resources created in the template.\n\nDefault: Amazon EC2 uses the default security group.", + "title": "SecurityGroups", + "type": "array" + }, + "SourceDestCheck": { + "markdownDescription": "Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is `true` , source/destination checks are enabled; otherwise, they are disabled. The default value is `true` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.", + "title": "SourceDestCheck", + "type": "boolean" + }, + "SsmAssociations": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" + }, + "markdownDescription": "The SSM [document](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html) and parameter values in AWS Systems Manager to associate with this instance. To use this property, you must specify an IAM instance profile role for the instance. For more information, see [Create an IAM instance profile for Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-configuring-access-role.html) in the *AWS Systems Manager User Guide* .\n\n> You can associate only one document with an instance.", + "title": "SsmAssociations", + "type": "array" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet to launch the instance into.\n\nIf you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.", + "title": "SubnetId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to add to the instance. These tags are not applied to the EBS volumes, such as the root volume, unless [PropagateTagsToVolumeOnCreation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-propagatetagstovolumeoncreation) is `true` .", + "title": "Tags", + "type": "array" + }, + "Tenancy": { + "markdownDescription": "The tenancy of the instance. An instance with a tenancy of `dedicated` runs on single-tenant hardware.", + "title": "Tenancy", + "type": "string" + }, + "UserData": { + "markdownDescription": "The parameters or scripts to store as user data. Any scripts in user data are run when you launch the instance. User data is limited to 16 KB. You must provide base64-encoded text. For more information, see [Fn::Base64](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-base64.html) .\n\nIf the root volume is an EBS volume and you update user data, CloudFormation restarts the instance. If the root volume is an instance store volume and you update user data, the instance is replaced.", + "title": "UserData", + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.Volume" + }, + "markdownDescription": "The volumes to attach to the instance.", + "title": "Volumes", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ClassicLoadBalancers" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.CpuPerformanceFactorRequest": { + "AWS::EC2::Instance.AssociationParameter": { "additionalProperties": false, "properties": { - "References": { + "Key": { + "markdownDescription": "The name of an input parameter that is in the associated SSM document.", + "title": "Key", + "type": "string" + }, + "Value": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.PerformanceFactorReferenceRequest" + "type": "string" }, - "markdownDescription": "Specify an instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.\n\n> Currently, only one instance family can be specified in the list.", - "title": "References", + "markdownDescription": "The value of an input parameter.", + "title": "Value", "type": "array" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::EC2::SpotFleet.EbsBlockDevice": { + "AWS::EC2::Instance.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "markdownDescription": "The device name. For available device names, see [Device names for volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html) .\n\n> After the instance is running, this parameter is used to specify the device name of the block device mapping to update.", + "title": "DeviceName", + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::Instance.Ebs", + "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.\n\n> After the instance is running, you can modify only the `DeleteOnTermination` parameter for the attached volumes without interrupting the instance. Modifying any other parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) .", + "title": "Ebs" + }, + "NoDevice": { + "markdownDescription": "To omit the device from the block device mapping, specify an empty string.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", + "title": "NoDevice", + "type": "object" + }, + "VirtualName": { + "markdownDescription": "The virtual device name ( `ephemeral` N). The name must be in the form `ephemeral` *X* where *X* is a number starting from zero (0). For example, an instance type with 2 available instance store volumes can specify mappings for `ephemeral0` and `ephemeral1` . The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.\n\nNVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.\n\n*Constraints* : For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", + "title": "VirtualName", + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::Instance.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "markdownDescription": "The number of CPU cores for the instance.", + "title": "CoreCount", + "type": "number" + }, + "ThreadsPerCore": { + "markdownDescription": "The number of threads per CPU core.", + "title": "ThreadsPerCore", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CPUCredits": { + "markdownDescription": "The credit option for CPU usage of the instance.\n\nValid values: `standard` | `unlimited`\n\nT3 instances with `host` tenancy do not support the `unlimited` CPU credit option.", + "title": "CPUCredits", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.Ebs": { "additionalProperties": false, "properties": { "DeleteOnTermination": { @@ -130309,83 +130820,121 @@ "type": "boolean" }, "Encrypted": { - "markdownDescription": "Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Amazon EBS Encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters) in the *Amazon EC2 User Guide* .\n\nIn no case can you remove encryption from an encrypted volume.\n\nEncrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see [Supported Instance Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances) .\n\nThis parameter is not returned by [DescribeImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html) .", + "markdownDescription": "Indicates whether the volume should be encrypted. The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) in the *Amazon Elastic Compute Cloud User Guide* .\n\nEncrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances) .\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", "title": "Encrypted", "type": "boolean" }, "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 - 80,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nFor `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . On other instances, you can achieve performance up to 32,000 IOPS.\n\nThis parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 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-64,000 IOPS\n\nFor `io1` and `io2` volumes, we guarantee 64,000 IOPS only for [Instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . Other instance families guarantee performance up to 32,000 IOPS.\n\nThis parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS. This parameter is not supported for `gp2` , `st1` , `sc1` , or `standard` volumes.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", "title": "Iops", "type": "number" }, + "KmsKeyId": { + "markdownDescription": "The identifier of the AWS KMS key to use for Amazon EBS encryption. If `KmsKeyId` is specified, the encrypted state must be `true` . If the encrypted state is `true` but you do not specify `KmsKeyId` , your KMS key for EBS is used.\n\nYou can specify the KMS key using any of the following:\n\n- Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.\n- Key alias. For example, alias/ExampleAlias.\n- Key ARN. For example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n- Alias ARN. For example, arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", + "title": "KmsKeyId", + "type": "string" + }, "SnapshotId": { - "markdownDescription": "The ID of the snapshot.", + "markdownDescription": "The ID of the snapshot.\n\nIf you specify both `SnapshotId` and `VolumeSize` , `VolumeSize` must be equal or greater than the size of the snapshot.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", "title": "SnapshotId", "type": "string" }, "VolumeSize": { - "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.\n\nThe following are the supported sizes for each volume type:\n\n- `gp2` : 1 - 16,384 GiB\n- `gp3` : 1 - 65,536 GiB\n- `io1` : 4 - 16,384 GiB\n- `io2` : 4 - 65,536 GiB\n- `st1` and `sc1` : 125 - 16,384 GiB\n- `standard` : 1 - 1024 GiB", + "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.\n\nThe following are the supported volumes sizes 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\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", "title": "VolumeSize", "type": "number" }, "VolumeType": { - "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .", + "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the *Amazon EC2 User Guide* . If the volume type is `io1` or `io2` , you must specify the IOPS that the volume supports.\n\n> After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", "title": "VolumeType", "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "AWS::EC2::Instance.ElasticGpuSpecification": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { - "markdownDescription": "The ID of the launch template.\n\nYou must specify the `LaunchTemplateId` or the `LaunchTemplateName` , but not both.", - "title": "LaunchTemplateId", - "type": "string" - }, - "LaunchTemplateName": { - "markdownDescription": "The name of the launch template.\n\nYou must specify the `LaunchTemplateName` or the `LaunchTemplateId` , but not both.", - "title": "LaunchTemplateName", - "type": "string" - }, - "Version": { - "markdownDescription": "The version number of the launch template.\n\nSpecifying `$Latest` or `$Default` for the template version number is not supported. However, you can specify `LatestVersionNumber` or `DefaultVersionNumber` using the `Fn::GetAtt` intrinsic function. For more information, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate-return-values-fn--getatt) .", - "title": "Version", + "Type": { + "markdownDescription": "The type of Elastic Graphics accelerator.", + "title": "Type", "type": "string" } }, "required": [ - "Version" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.GroupIdentifier": { + "AWS::EC2::Instance.ElasticInferenceAccelerator": { "additionalProperties": false, "properties": { - "GroupId": { - "markdownDescription": "The ID of the security group.", - "title": "GroupId", + "Count": { + "markdownDescription": "The number of elastic inference accelerators to attach to the instance.", + "title": "Count", + "type": "number" + }, + "Type": { + "markdownDescription": "The type of elastic inference accelerator. The possible values are `eia1.medium` , `eia1.large` , `eia1.xlarge` , `eia2.medium` , `eia2.large` , and `eia2.xlarge` .", + "title": "Type", "type": "string" } }, "required": [ - "GroupId" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "AWS::EC2::Instance.EnaSrdSpecification": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile.", - "title": "Arn", - "type": "string" + "EnaSrdEnabled": { + "markdownDescription": "Indicates whether ENA Express is enabled for the network interface.", + "title": "EnaSrdEnabled", + "type": "boolean" + }, + "EnaSrdUdpSpecification": { + "$ref": "#/definitions/AWS::EC2::Instance.EnaSrdUdpSpecification", + "markdownDescription": "Configures ENA Express for UDP network traffic.", + "title": "EnaSrdUdpSpecification" } }, "type": "object" }, - "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "AWS::EC2::Instance.EnaSrdUdpSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdUdpEnabled": { + "markdownDescription": "Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.", + "title": "EnaSrdUdpEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "If this parameter is set to `true` , the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.", + "title": "Enabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "markdownDescription": "Set to `true` to enable your instance for hibernation.\n\nFor Spot Instances, if you set `Configured` to `true` , either omit the `InstanceInterruptionBehavior` parameter (for [`SpotMarketOptions`](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotMarketOptions.html) ), or set it to `hibernate` . When `Configured` is true:\n\n- If you omit `InstanceInterruptionBehavior` , it defaults to `hibernate` .\n- If you set `InstanceInterruptionBehavior` to a value other than `hibernate` , you'll get an error.\n\nDefault: `false`", + "title": "Configured", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.InstanceIpv6Address": { "additionalProperties": false, "properties": { "Ipv6Address": { @@ -130399,16 +130948,90 @@ ], "type": "object" }, - "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "AWS::EC2::Instance.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "markdownDescription": "The ID of the launch template.\n\nYou must specify either the launch template ID or the launch template name, but not both.", + "title": "LaunchTemplateId", + "type": "string" + }, + "LaunchTemplateName": { + "markdownDescription": "The name of the launch template.\n\nYou must specify either the launch template ID or the launch template name, but not both.", + "title": "LaunchTemplateName", + "type": "string" + }, + "Version": { + "markdownDescription": "The version number of the launch template. You must specify this property.\n\nTo specify the default version of the template, use the `Fn::GetAtt` intrinsic function to retrieve the `DefaultVersionNumber` attribute of the launch template. To specify the latest version of the template, use `Fn::GetAtt` to retrieve the `LatestVersionNumber` attribute. For more information, see [AWS::EC2:LaunchTemplate return values for Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate-return-values-fn--getatt) .", + "title": "Version", + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::Instance.LicenseSpecification": { + "additionalProperties": false, + "properties": { + "LicenseConfigurationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the license configuration.", + "title": "LicenseConfigurationArn", + "type": "string" + } + }, + "required": [ + "LicenseConfigurationArn" + ], + "type": "object" + }, + "AWS::EC2::Instance.MetadataOptions": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "markdownDescription": "Enables or disables the HTTP metadata endpoint on your instances.\n\nIf you specify a value of `disabled` , you cannot access your instance metadata.\n\nDefault: `enabled`", + "title": "HttpEndpoint", + "type": "string" + }, + "HttpProtocolIpv6": { + "markdownDescription": "Enables or disables the IPv6 endpoint for the instance metadata service.\n\nDefault: `disabled`", + "title": "HttpProtocolIpv6", + "type": "string" + }, + "HttpPutResponseHopLimit": { + "markdownDescription": "The maximum number of hops that the metadata token can travel.\n\nPossible values: Integers from 1 to 64", + "title": "HttpPutResponseHopLimit", + "type": "number" + }, + "HttpTokens": { + "markdownDescription": "Indicates whether IMDSv2 is required.\n\n- `optional` - IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.\n- `required` - IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.\n\nDefault:\n\n- If the value of `ImdsSupport` for the Amazon Machine Image (AMI) for your instance is `v2.0` and the account level default is set to `no-preference` , the default is `required` .\n- If the value of `ImdsSupport` for the Amazon Machine Image (AMI) for your instance is `v2.0` , but the account level default is set to `V1 or V2` , the default is `optional` .\n\nThe default value can also be affected by other combinations of parameters. For more information, see [Order of precedence for instance metadata options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html#instance-metadata-options-order-of-precedence) in the *Amazon EC2 User Guide* .", + "title": "HttpTokens", + "type": "string" + }, + "InstanceMetadataTags": { + "markdownDescription": "Set to `enabled` to allow access to instance tags from the instance metadata. Set to `disabled` to turn off access to instance tags from the instance metadata. For more information, see [Work with instance tags using the instance metadata](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS) .\n\nDefault: `disabled`", + "title": "InstanceMetadataTags", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.NetworkInterface": { "additionalProperties": false, "properties": { + "AssociateCarrierIpAddress": { + "markdownDescription": "Indicates whether to assign a carrier IP address to the network interface.\n\nYou can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see [Carrier IP address](https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip) in the *AWS Wavelength Developer Guide* .", + "title": "AssociateCarrierIpAddress", + "type": "boolean" + }, "AssociatePublicIpAddress": { - "markdownDescription": "Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is `true` .\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [Amazon VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", + "markdownDescription": "Indicates whether to assign a public IPv4 address to an instance. Applies only if creating a network interface when launching an instance. The network interface must be the primary network interface. If launching into a default subnet, the default value is `true` .\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", "title": "AssociatePublicIpAddress", "type": "boolean" }, "DeleteOnTermination": { - "markdownDescription": "Indicates whether the network interface is deleted when the instance is terminated.", + "markdownDescription": "Indicates whether the network interface is deleted when the instance is terminated. Applies only if creating a network interface when launching an instance.", "title": "DeleteOnTermination", "type": "boolean" }, @@ -130418,16 +131041,21 @@ "type": "string" }, "DeviceIndex": { - "markdownDescription": "The position of the network interface in the attachment order. A primary network interface has a device index of 0.\n\nIf you specify a network interface when launching an instance, you must specify the device index.", + "markdownDescription": "The position of the network interface in the attachment order. A primary network interface has a device index of 0.\n\nIf you create a network interface when launching an instance, you must specify the device index.", "title": "DeviceIndex", - "type": "number" + "type": "string" }, - "Groups": { + "EnaSrdSpecification": { + "$ref": "#/definitions/AWS::EC2::Instance.EnaSrdSpecification", + "markdownDescription": "Configures ENA Express for UDP network traffic.", + "title": "EnaSrdSpecification" + }, + "GroupSet": { "items": { "type": "string" }, "markdownDescription": "The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.", - "title": "Groups", + "title": "GroupSet", "type": "array" }, "Ipv6AddressCount": { @@ -130437,27 +131065,32 @@ }, "Ipv6Addresses": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" }, "markdownDescription": "The IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.", "title": "Ipv6Addresses", "type": "array" }, "NetworkInterfaceId": { - "markdownDescription": "The ID of the network interface.\n\nIf you are creating a Spot Fleet, omit this parameter because you can\u2019t specify a network interface ID in a launch specification.", + "markdownDescription": "The ID of the network interface, when attaching an existing network interface.", "title": "NetworkInterfaceId", "type": "string" }, + "PrivateIpAddress": { + "markdownDescription": "The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance.", + "title": "PrivateIpAddress", + "type": "string" + }, "PrivateIpAddresses": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" }, - "markdownDescription": "The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're launching more than one instance in a [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) request.", + "markdownDescription": "One or more private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary.", "title": "PrivateIpAddresses", "type": "array" }, "SecondaryPrivateIpAddressCount": { - "markdownDescription": "The number of secondary private IPv4 addresses. You can\u2019t specify this parameter and also specify a secondary private IP address using the `PrivateIpAddress` parameter.", + "markdownDescription": "The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option.", "title": "SecondaryPrivateIpAddressCount", "type": "number" }, @@ -130467,735 +131100,8683 @@ "type": "string" } }, + "required": [ + "DeviceIndex" + ], "type": "object" }, - "AWS::EC2::SpotFleet.InstanceRequirementsRequest": { + "AWS::EC2::Instance.PrivateDnsNameOptions": { "additionalProperties": false, "properties": { - "AcceleratorCount": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.AcceleratorCountRequest", - "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n\nTo exclude accelerator-enabled instance types, set `Max` to `0` .\n\nDefault: No minimum or maximum limits", - "title": "AcceleratorCount" - }, - "AcceleratorManufacturers": { - "items": { - "type": "string" - }, - "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n\n- For instance types with AWS devices, specify `amazon-web-services` .\n- For instance types with AMD devices, specify `amd` .\n- For instance types with Habana devices, specify `habana` .\n- For instance types with NVIDIA devices, specify `nvidia` .\n- For instance types with Xilinx devices, specify `xilinx` .\n\nDefault: Any manufacturer", - "title": "AcceleratorManufacturers", - "type": "array" - }, - "AcceleratorNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The accelerators that must be on the instance type.\n\n- For instance types with NVIDIA A10G GPUs, specify `a10g` .\n- For instance types with NVIDIA A100 GPUs, specify `a100` .\n- For instance types with NVIDIA H100 GPUs, specify `h100` .\n- For instance types with AWS Inferentia chips, specify `inferentia` .\n- For instance types with AWS Inferentia2 chips, specify `inferentia2` .\n- For instance types with Habana Gaudi HL-205 GPUs, specify `gaudi-hl-205` .\n- For instance types with NVIDIA GRID K520 GPUs, specify `k520` .\n- For instance types with NVIDIA K80 GPUs, specify `k80` .\n- For instance types with NVIDIA L4 GPUs, specify `l4` .\n- For instance types with NVIDIA L40S GPUs, specify `l40s` .\n- For instance types with NVIDIA M60 GPUs, specify `m60` .\n- For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` .\n- For instance types with AWS Trainium chips, specify `trainium` .\n- For instance types with AWS Trainium2 chips, specify `trainium2` .\n- For instance types with NVIDIA T4 GPUs, specify `t4` .\n- For instance types with NVIDIA T4G GPUs, specify `t4g` .\n- For instance types with Xilinx U30 cards, specify `u30` .\n- For instance types with Xilinx VU9P FPGAs, specify `vu9p` .\n- For instance types with NVIDIA V100 GPUs, specify `v100` .\n\nDefault: Any accelerator", - "title": "AcceleratorNames", - "type": "array" - }, - "AcceleratorTotalMemoryMiB": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.AcceleratorTotalMemoryMiBRequest", - "markdownDescription": "The minimum and maximum amount of total accelerator memory, in MiB.\n\nDefault: No minimum or maximum limits", - "title": "AcceleratorTotalMemoryMiB" - }, - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The accelerator types that must be on the instance type.\n\n- For instance types with FPGA accelerators, specify `fpga` .\n- For instance types with GPU accelerators, specify `gpu` .\n- For instance types with Inference accelerators, specify `inference` .\n- For instance types with Media accelerators, specify `media` .\n\nDefault: Any accelerator type", - "title": "AcceleratorTypes", - "type": "array" - }, - "AllowedInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n\n> If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . \n\nDefault: All instance types", - "title": "AllowedInstanceTypes", - "type": "array" - }, - "BareMetal": { - "markdownDescription": "Indicates whether bare metal instance types must be included, excluded, or required.\n\n- To include bare metal instance types, specify `included` .\n- To require only bare metal instance types, specify `required` .\n- To exclude bare metal instance types, specify `excluded` .\n\nDefault: `excluded`", - "title": "BareMetal", - "type": "string" - }, - "BaselineEbsBandwidthMbps": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.BaselineEbsBandwidthMbpsRequest", - "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", - "title": "BaselineEbsBandwidthMbps" - }, - "BaselinePerformanceFactors": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.BaselinePerformanceFactorsRequest", - "markdownDescription": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .", - "title": "BaselinePerformanceFactors" - }, - "BurstablePerformance": { - "markdownDescription": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`", - "title": "BurstablePerformance", - "type": "string" - }, - "CpuManufacturers": { - "items": { - "type": "string" - }, - "markdownDescription": "The CPU manufacturers to include.\n\n- For instance types with Intel CPUs, specify `intel` .\n- For instance types with AMD CPUs, specify `amd` .\n- For instance types with AWS CPUs, specify `amazon-web-services` .\n- For instance types with Apple CPUs, specify `apple` .\n\n> Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. \n\nDefault: Any manufacturer", - "title": "CpuManufacturers", - "type": "array" - }, - "ExcludedInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The instance types to exclude.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance family, type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n\n> If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . \n\nDefault: No excluded instance types", - "title": "ExcludedInstanceTypes", - "type": "array" - }, - "InstanceGenerations": { - "items": { - "type": "string" - }, - "markdownDescription": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nFor current generation instance types, specify `current` .\n\nFor previous generation instance types, specify `previous` .\n\nDefault: Current and previous generation instance types", - "title": "InstanceGenerations", - "type": "array" - }, - "LocalStorage": { - "markdownDescription": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* .\n\n- To include instance types with instance store volumes, specify `included` .\n- To require only instance types with instance store volumes, specify `required` .\n- To exclude instance types with instance store volumes, specify `excluded` .\n\nDefault: `included`", - "title": "LocalStorage", - "type": "string" - }, - "LocalStorageTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The type of local storage that is required.\n\n- For instance types with hard disk drive (HDD) storage, specify `hdd` .\n- For instance types with solid state drive (SSD) storage, specify `ssd` .\n\nDefault: `hdd` and `ssd`", - "title": "LocalStorageTypes", - "type": "array" - }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { - "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` .", - "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", - "type": "number" - }, - "MemoryGiBPerVCpu": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.MemoryGiBPerVCpuRequest", - "markdownDescription": "The minimum and maximum amount of memory per vCPU, in GiB.\n\nDefault: No minimum or maximum limits", - "title": "MemoryGiBPerVCpu" - }, - "MemoryMiB": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.MemoryMiBRequest", - "markdownDescription": "The minimum and maximum amount of memory, in MiB.", - "title": "MemoryMiB" - }, - "NetworkBandwidthGbps": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.NetworkBandwidthGbpsRequest", - "markdownDescription": "The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more information, see [Amazon EC2 instance network bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", - "title": "NetworkBandwidthGbps" - }, - "NetworkInterfaceCount": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.NetworkInterfaceCountRequest", - "markdownDescription": "The minimum and maximum number of network interfaces.\n\nDefault: No minimum or maximum limits", - "title": "NetworkInterfaceCount" - }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nTo indicate no price protection threshold, specify a high value, such as `999999` .\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. \n\nDefault: `20`", - "title": "OnDemandMaxPricePercentageOverLowestPrice", - "type": "number" - }, - "RequireEncryptionInTransit": { - "markdownDescription": "Specifies whether instance types must support encrypting in-transit traffic between instances. For more information, including the supported instance types, see [Encryption in transit](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-protection.html#encryption-transit) in the *Amazon EC2 User Guide* .\n\nDefault: `false`", - "title": "RequireEncryptionInTransit", + "EnableResourceNameDnsAAAARecord": { + "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "EnableResourceNameDnsAAAARecord", "type": "boolean" }, - "RequireHibernateSupport": { - "markdownDescription": "Indicates whether instance types must support hibernation for On-Demand Instances.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) .\n\nDefault: `false`", - "title": "RequireHibernateSupport", + "EnableResourceNameDnsARecord": { + "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "EnableResourceNameDnsARecord", "type": "boolean" }, - "SpotMaxPricePercentageOverLowestPrice": { - "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` . \n\nDefault: `100`", - "title": "SpotMaxPricePercentageOverLowestPrice", - "type": "number" - }, - "TotalLocalStorageGB": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TotalLocalStorageGBRequest", - "markdownDescription": "The minimum and maximum amount of total local storage, in GB.\n\nDefault: No minimum or maximum limits", - "title": "TotalLocalStorageGB" - }, - "VCpuCount": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.VCpuCountRangeRequest", - "markdownDescription": "The minimum and maximum number of vCPUs.", - "title": "VCpuCount" + "HostnameType": { + "markdownDescription": "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "HostnameType", + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "AWS::EC2::Instance.PrivateIpAddressSpecification": { "additionalProperties": false, "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification", - "markdownDescription": "The launch template to use. Make sure that the launch template does not contain the `NetworkInterfaceId` parameter because you can't specify a network interface ID in a Spot Fleet.", - "title": "LaunchTemplateSpecification" + "Primary": { + "markdownDescription": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.", + "title": "Primary", + "type": "boolean" }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" - }, - "markdownDescription": "Any parameters that you specify override the same parameters in the launch template.", - "title": "Overrides", - "type": "array" + "PrivateIpAddress": { + "markdownDescription": "The private IPv4 address.", + "title": "PrivateIpAddress", + "type": "string" } }, + "required": [ + "Primary", + "PrivateIpAddress" + ], "type": "object" }, - "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "AWS::EC2::Instance.SsmAssociation": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone in which to launch the instances. For example, `us-east-2a` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", - "title": "AvailabilityZone", - "type": "string" - }, - "AvailabilityZoneId": { - "markdownDescription": "The ID of the Availability Zone in which to launch the instances. For example, `use2-az1` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", - "title": "AvailabilityZoneId", - "type": "string" - }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceRequirementsRequest", - "markdownDescription": "The instance requirements. When you specify instance requirements, Amazon EC2 will identify instance types with the provided requirements, and then use your On-Demand and Spot allocation strategies to launch instances from these instance types, in the same way as when you specify a list of instance types.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .", - "title": "InstanceRequirements" - }, - "InstanceType": { - "markdownDescription": "The instance type.", - "title": "InstanceType", - "type": "string" - }, - "Priority": { - "markdownDescription": "The priority for the launch template override. The highest priority is launched first.\n\nIf `OnDemandAllocationStrategy` is set to `prioritized` , Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.\n\nIf the Spot `AllocationStrategy` is set to `capacityOptimizedPrioritized` , Spot Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.\n\nValid values are whole numbers starting at `0` . The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.", - "title": "Priority", - "type": "number" - }, - "SpotPrice": { - "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.", - "title": "SpotPrice", - "type": "string" + "AssociationParameters": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" + }, + "markdownDescription": "The input parameter values to use with the associated SSM document.", + "title": "AssociationParameters", + "type": "array" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet in which to launch the instances.", - "title": "SubnetId", + "DocumentName": { + "markdownDescription": "The name of an SSM document to associate with the instance.", + "title": "DocumentName", "type": "string" - }, - "WeightedCapacity": { - "markdownDescription": "The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.\n\nIf the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.\n\n> When specifying weights, the price used in the `lowestPrice` and `priceCapacityOptimized` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested `TargetCapacity` , resulting in only 1 instance being launched, the price used is per *instance* hour.", - "title": "WeightedCapacity", - "type": "number" } }, + "required": [ + "DocumentName" + ], "type": "object" }, - "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "AWS::EC2::Instance.State": { "additionalProperties": false, "properties": { - "ClassicLoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig", - "markdownDescription": "The Classic Load Balancers.", - "title": "ClassicLoadBalancersConfig" + "Code": { + "markdownDescription": "The state of the instance as a 16-bit unsigned integer.\n\nThe high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values between 256 and 65,535. These numerical values are used for internal purposes and should be ignored.\n\nThe low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values between 0 and 255.\n\nThe valid values for instance-state-code will all be in the range of the low byte and they are:\n\n- `0` : `pending`\n- `16` : `running`\n- `32` : `shutting-down`\n- `48` : `terminated`\n- `64` : `stopping`\n- `80` : `stopped`\n\nYou can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in decimal.", + "title": "Code", + "type": "string" }, - "TargetGroupsConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig", - "markdownDescription": "The target groups.", - "title": "TargetGroupsConfig" + "Name": { + "markdownDescription": "The current state of the instance.", + "title": "Name", + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.MemoryGiBPerVCpuRequest": { + "AWS::EC2::Instance.Volume": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "Device": { + "markdownDescription": "The device name (for example, `/dev/sdh` or `xvdh` ).", + "title": "Device", + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "VolumeId": { + "markdownDescription": "The ID of the EBS volume. The volume and instance must be within the same Availability Zone.", + "title": "VolumeId", + "type": "string" } }, + "required": [ + "Device", + "VolumeId" + ], "type": "object" }, - "AWS::EC2::SpotFleet.MemoryMiBRequest": { + "AWS::EC2::InstanceConnectEndpoint": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "Condition": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of memory, in MiB. To specify no minimum limit, specify `0` .", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.NetworkBandwidthGbpsRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.NetworkInterfaceCountRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum number of network interfaces. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Min": { - "markdownDescription": "The minimum number of network interfaces. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.PerformanceFactorReferenceRequest": { - "additionalProperties": false, - "properties": { - "InstanceFamily": { - "markdownDescription": "The instance family to use as a baseline reference.\n\n> Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( `.` ) in the instance type name. For example, in the instance type `c6i.large` , the instance family is `c6i` , not `c6` . For more information, see [Amazon EC2 instance type naming conventions](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) in *Amazon EC2 Instance Types* . \n\nThe following instance families are *not supported* for performance protection:\n\n- `c1`\n- `g3` | `g3s`\n- `hpc7g`\n- `m1` | `m2`\n- `mac1` | `mac2` | `mac2-m1ultra` | `mac2-m2` | `mac2-m2pro`\n- `p3dn` | `p4d` | `p5`\n- `t1`\n- `u-12tb1` | `u-18tb1` | `u-24tb1` | `u-3tb1` | `u-6tb1` | `u-9tb1` | `u7i-12tb` | `u7in-16tb` | `u7in-24tb` | `u7in-32tb`\n\nIf you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.\n\nIf you specify an unsupported instance family as a value for baseline performance, the API returns an empty response for [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) and an exception for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html) , [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) , [ModifyFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html) , and [ModifySpotFleetRequest](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html) .", - "title": "InstanceFamily", + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientToken": { + "markdownDescription": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "title": "ClientToken", + "type": "string" + }, + "PreserveClientIp": { + "markdownDescription": "Indicates whether the client IP address is preserved as the source. The following are the possible values.\n\n- `true` - Use the client IP address as the source.\n- `false` - Use the network interface IP address as the source.\n\n> `PreserveClientIp` is only supported on IPv4 EC2 Instance Connect Endpoints. To use `PreserveClientIp` , the value for `IpAddressType` must be `ipv4` . \n\nDefault: `false`", + "title": "PreserveClientIp", + "type": "boolean" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for your VPC will be associated with the endpoint.", + "title": "SecurityGroupIds", + "type": "array" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet in which to create the EC2 Instance Connect Endpoint.", + "title": "SubnetId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the EC2 Instance Connect Endpoint during creation.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::InstanceConnectEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointDnsNames": { "additionalProperties": false, "properties": { - "Primary": { - "markdownDescription": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.", - "title": "Primary", - "type": "boolean" + "DnsName": { + "type": "string" }, - "PrivateIpAddress": { - "markdownDescription": "The private IPv4 address.", - "title": "PrivateIpAddress", + "FipsDnsName": { "type": "string" } }, - "required": [ - "PrivateIpAddress" - ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotCapacityRebalance": { + "AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointPublicDnsNames": { "additionalProperties": false, "properties": { - "ReplacementStrategy": { - "markdownDescription": "The replacement strategy to use. Only available for fleets of type `maintain` .\n\n`launch` - Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.\n\n`launch-before-terminate` - Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in `TerminationDelay` ), terminates the instances that received a rebalance notification.", - "title": "ReplacementStrategy", - "type": "string" + "Dualstack": { + "$ref": "#/definitions/AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointDnsNames" }, - "TerminationDelay": { - "markdownDescription": "The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.\n\nRequired when `ReplacementStrategy` is set to `launch-before-terminate` .\n\nNot valid when `ReplacementStrategy` is set to `launch` .\n\nValid values: Minimum value of `120` seconds. Maximum value of `7200` seconds.", - "title": "TerminationDelay", - "type": "number" + "Ipv4": { + "$ref": "#/definitions/AWS::EC2::InstanceConnectEndpoint.InstanceConnectEndpointDnsNames" } }, "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "AWS::EC2::InstanceEventWindow": { "additionalProperties": false, "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" - }, - "markdownDescription": "One or more block devices that are mapped to the Spot Instances. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.", - "title": "BlockDeviceMappings", - "type": "array" + "Condition": { + "type": "string" }, - "EbsOptimized": { - "markdownDescription": "Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.\n\nDefault: `false`", - "title": "EbsOptimized", - "type": "boolean" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification", - "markdownDescription": "The IAM instance profile.", - "title": "IamInstanceProfile" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ImageId": { - "markdownDescription": "The ID of the AMI.", - "title": "ImageId", - "type": "string" + "Metadata": { + "type": "object" }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceRequirementsRequest", - "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .", - "title": "InstanceRequirements" + "Properties": { + "additionalProperties": false, + "properties": { + "CronExpression": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::InstanceEventWindow.TimeRange" + }, + "type": "array" + } + }, + "type": "object" }, - "InstanceType": { - "markdownDescription": "The instance type.", - "title": "InstanceType", + "Type": { + "enum": [ + "AWS::EC2::InstanceEventWindow" + ], "type": "string" }, - "KernelId": { - "markdownDescription": "The ID of the kernel.", - "title": "KernelId", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::InstanceEventWindow.TimeRange": { + "additionalProperties": false, + "properties": { + "EndHour": { + "type": "number" }, - "KeyName": { - "markdownDescription": "The name of the key pair.", - "title": "KeyName", + "EndWeekDay": { "type": "string" }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring", - "markdownDescription": "Enable or disable monitoring for the instances.", - "title": "Monitoring" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" - }, - "markdownDescription": "The network interfaces.", - "title": "NetworkInterfaces", - "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement", - "markdownDescription": "The placement information.", - "title": "Placement" + "StartHour": { + "type": "number" }, - "RamdiskId": { - "markdownDescription": "The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the AWS Resource Center and search for the kernel ID.", - "title": "RamdiskId", + "StartWeekDay": { "type": "string" - }, - "SecurityGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" - }, - "markdownDescription": "The security groups.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.", - "title": "SecurityGroups", - "type": "array" - }, - "SpotPrice": { - "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.", - "title": "SpotPrice", + } + }, + "type": "object" + }, + "AWS::EC2::InternetGateway": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "SubnetId": { - "markdownDescription": "The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, \"subnet-1234abcdeexample1, subnet-0987cdef6example2\".\n\nIf you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.", - "title": "SubnetId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + "DependsOn": { + "anyOf": [ + { + "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" + }, + "markdownDescription": "Any tags to assign to the internet gateway.", + "title": "Tags", + "type": "array" + } }, - "markdownDescription": "The tags to apply during creation.", - "title": "TagSpecifications", - "type": "array" + "type": "object" }, - "UserData": { - "markdownDescription": "The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.", - "title": "UserData", + "Type": { + "enum": [ + "AWS::EC2::InternetGateway" + ], "type": "string" }, - "WeightedCapacity": { - "markdownDescription": "The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.\n\nIf the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.\n\n> When specifying weights, the price used in the `lowestPrice` and `priceCapacityOptimized` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested `TargetCapacity` , resulting in only 1 instance being launched, the price used is per *instance* hour.", - "title": "WeightedCapacity", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ImageId" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetMonitoring": { + "AWS::EC2::IpPoolRouteTableAssociation": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "Enables monitoring for the instance.\n\nDefault: `false`", - "title": "Enabled", - "type": "boolean" + "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": { + "PublicIpv4Pool": { + "markdownDescription": "The ID of a public IPv4 address pool.", + "title": "PublicIpv4Pool", + "type": "string" + }, + "RouteTableId": { + "markdownDescription": "The ID of a route table.", + "title": "RouteTableId", + "type": "string" + } + }, + "required": [ + "PublicIpv4Pool", + "RouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::IpPoolRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "AWS::EC2::IpamExternalResourceVerificationToken": { "additionalProperties": false, "properties": { - "AllocationStrategy": { - "markdownDescription": "The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see [Allocation strategies for Spot Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-allocation-strategy.html) in the *Amazon EC2 User Guide* .\n\n- **priceCapacityOptimized (recommended)** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.\n- **capacityOptimized** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use `capacityOptimizedPrioritized` . Set a priority for each instance type by using the `Priority` parameter for `LaunchTemplateOverrides` . You can assign the same priority to different `LaunchTemplateOverrides` . EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. `capacityOptimizedPrioritized` is supported only if your Spot Fleet uses a launch template. Note that if the `OnDemandAllocationStrategy` is set to `prioritized` , the same priority is applied when fulfilling On-Demand capacity.\n- **diversified** - Spot Fleet requests instances from all of the Spot Instance pools that you specify.\n- **lowestPrice (not recommended)** - > We don't recommend the `lowestPrice` allocation strategy because it has the highest risk of interruption for your Spot Instances. \n\nSpot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.\n\nDefault: `lowestPrice`", - "title": "AllocationStrategy", + "Condition": { "type": "string" }, - "Context": { - "markdownDescription": "Reserved.", - "title": "Context", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ExcessCapacityTerminationPolicy": { - "markdownDescription": "Indicates whether running Spot Instances should be terminated if you decrease the target capacity of the Spot Fleet request below the current size of the Spot Fleet.\n\nSupported only for fleets of type `maintain` .", - "title": "ExcessCapacityTerminationPolicy", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IpamId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IpamId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::IpamExternalResourceVerificationToken" + ], "type": "string" }, - "IamFleetRole": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that grants the Spot Fleet the permission to request, launch, terminate, and tag instances on your behalf. For more information, see [Spot Fleet Prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites) in the *Amazon EC2 User Guide* . Spot Fleet can terminate Spot Instances on your behalf when you cancel its Spot Fleet request or when the Spot Fleet request expires, if you set `TerminateInstancesWithExpiration` .", - "title": "IamFleetRole", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::KeyPair": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "InstanceInterruptionBehavior": { - "markdownDescription": "The behavior when a Spot Instance is interrupted. The default is `terminate` .", - "title": "InstanceInterruptionBehavior", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "InstancePoolsToUseCount": { - "markdownDescription": "The number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot *AllocationStrategy* is set to `lowest-price` . Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.\n\nNote that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified.", - "title": "InstancePoolsToUseCount", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "LaunchSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetLaunchSpecification" - }, - "markdownDescription": "The launch specifications for the Spot Fleet request. If you specify `LaunchSpecifications` , you can't specify `LaunchTemplateConfigs` .", - "title": "LaunchSpecifications", - "type": "array" + "Metadata": { + "type": "object" }, - "LaunchTemplateConfigs": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateConfig" + "Properties": { + "additionalProperties": false, + "properties": { + "KeyFormat": { + "markdownDescription": "The format of the key pair.\n\nDefault: `pem`", + "title": "KeyFormat", + "type": "string" + }, + "KeyName": { + "markdownDescription": "A unique name for the key pair.\n\nConstraints: Up to 255 ASCII characters", + "title": "KeyName", + "type": "string" + }, + "KeyType": { + "markdownDescription": "The type of key pair. Note that ED25519 keys are not supported for Windows instances.\n\nIf the `PublicKeyMaterial` property is specified, the `KeyType` property is ignored, and the key type is inferred from the `PublicKeyMaterial` value.\n\nDefault: `rsa`", + "title": "KeyType", + "type": "string" + }, + "PublicKeyMaterial": { + "markdownDescription": "The public key material. The `PublicKeyMaterial` property is used to import a key pair. If this property is not specified, then a new key pair will be created.", + "title": "PublicKeyMaterial", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the key pair.", + "title": "Tags", + "type": "array" + } }, - "markdownDescription": "The launch template and overrides. If you specify `LaunchTemplateConfigs` , you can't specify `LaunchSpecifications` .", - "title": "LaunchTemplateConfigs", - "type": "array" + "required": [ + "KeyName" + ], + "type": "object" }, - "LoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LoadBalancersConfig", - "markdownDescription": "One or more Classic Load Balancers and target groups to attach to the Spot Fleet request. Spot Fleet registers the running Spot Instances with the specified Classic Load Balancers and target groups.\n\nWith Network Load Balancers, Spot Fleet cannot register instances that have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1.", - "title": "LoadBalancersConfig" + "Type": { + "enum": [ + "AWS::EC2::KeyPair" + ], + "type": "string" }, - "OnDemandAllocationStrategy": { - "markdownDescription": "The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify `lowestPrice` , Spot Fleet uses price to determine the order, launching the lowest price first. If you specify `prioritized` , Spot Fleet uses the priority that you assign to each Spot Fleet launch template override, launching the highest priority first. If you do not specify a value, Spot Fleet defaults to `lowestPrice` .", - "title": "OnDemandAllocationStrategy", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LaunchTemplate": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "OnDemandMaxTotalPrice": { - "markdownDescription": "The maximum amount per hour for On-Demand Instances that you're willing to pay. You can use the `onDemandMaxTotalPrice` parameter, the `spotMaxTotalPrice` parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn\u2019t met the target capacity.\n\n> If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `onDemandMaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `onDemandMaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", - "title": "OnDemandMaxTotalPrice", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "OnDemandTargetCapacity": { - "markdownDescription": "The number of On-Demand units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is `maintain` , you can specify a target capacity of 0 and add capacity later.", - "title": "OnDemandTargetCapacity", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ReplaceUnhealthyInstances": { - "markdownDescription": "Indicates whether Spot Fleet should replace unhealthy instances.", - "title": "ReplaceUnhealthyInstances", - "type": "boolean" + "Metadata": { + "type": "object" }, - "SpotMaintenanceStrategies": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotMaintenanceStrategies", - "markdownDescription": "The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.", - "title": "SpotMaintenanceStrategies" + "Properties": { + "additionalProperties": false, + "properties": { + "LaunchTemplateData": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData", + "markdownDescription": "The information for the launch template.", + "title": "LaunchTemplateData" + }, + "LaunchTemplateName": { + "markdownDescription": "A name for the launch template.", + "title": "LaunchTemplateName", + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification" + }, + "markdownDescription": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be `launch-template` .\n\nTo specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) .", + "title": "TagSpecifications", + "type": "array" + }, + "VersionDescription": { + "markdownDescription": "A description for the first version of the launch template.", + "title": "VersionDescription", + "type": "string" + } + }, + "required": [ + "LaunchTemplateData" + ], + "type": "object" }, - "SpotMaxTotalPrice": { - "markdownDescription": "The maximum amount per hour for Spot Instances that you're willing to pay. You can use the `spotMaxTotalPrice` parameter, the `onDemandMaxTotalPrice` parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn\u2019t met the target capacity.\n\n> If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `spotMaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `spotMaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", - "title": "SpotMaxTotalPrice", + "Type": { + "enum": [ + "AWS::EC2::LaunchTemplate" + ], "type": "string" }, - "SpotPrice": { - "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.", - "title": "SpotPrice", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LaunchTemplate.AcceleratorCount": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of accelerators. To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` .", + "title": "Max", + "type": "number" }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" - }, - "markdownDescription": "The key-value pair for tagging the Spot Fleet request on creation. The value for `ResourceType` must be `spot-fleet-request` , otherwise the Spot Fleet request fails. To tag instances at launch, specify the tags in the [launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template) (valid only if you use `LaunchTemplateConfigs` ) or in the `[SpotFleetTagSpecification](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetTagSpecification.html)` (valid only if you use `LaunchSpecifications` ). For information about tagging after launch, see [Tag your resources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources) .", - "title": "TagSpecifications", - "type": "array" + "Min": { + "markdownDescription": "The minimum number of accelerators. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.AcceleratorTotalMemoryMiB": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" }, - "TargetCapacity": { - "markdownDescription": "The number of units to request for the Spot Fleet. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is `maintain` , you can specify a target capacity of 0 and add capacity later.", - "title": "TargetCapacity", + "Min": { + "markdownDescription": "The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.BaselineEbsBandwidthMbps": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.", + "title": "Max", "type": "number" }, - "TargetCapacityUnitType": { - "markdownDescription": "The unit for the target capacity. You can specify this parameter only when using attribute-based instance type selection.\n\nDefault: `units` (the number of instances)", - "title": "TargetCapacityUnitType", + "Min": { + "markdownDescription": "The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.BaselinePerformanceFactors": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Cpu", + "markdownDescription": "The CPU performance to consider, using an instance family as the baseline reference.", + "title": "Cpu" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "markdownDescription": "The device name (for example, /dev/sdh or xvdh).", + "title": "DeviceName", "type": "string" }, - "TerminateInstancesWithExpiration": { - "markdownDescription": "Indicates whether running Spot Instances are terminated when the Spot Fleet request expires.", - "title": "TerminateInstancesWithExpiration", - "type": "boolean" + "Ebs": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs", + "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.", + "title": "Ebs" }, - "Type": { - "markdownDescription": "The type of request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. When this value is `request` , the Spot Fleet only places the required requests. It does not attempt to replenish Spot Instances if capacity is diminished, nor does it submit requests in alternative Spot pools if capacity is not available. When this value is `maintain` , the Spot Fleet maintains the target capacity. The Spot Fleet places the required requests to meet capacity and automatically replenishes any interrupted instances. Default: `maintain` . `instant` is listed but is not used by Spot Fleet.", - "title": "Type", + "NoDevice": { + "markdownDescription": "To omit the device from the block device mapping, specify an empty string.", + "title": "NoDevice", "type": "string" }, - "ValidFrom": { - "markdownDescription": "The start date and time of the request, in UTC format ( *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). By default, Amazon EC2 starts fulfilling the request immediately.", - "title": "ValidFrom", + "VirtualName": { + "markdownDescription": "The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.", + "title": "VirtualName", "type": "string" - }, - "ValidUntil": { - "markdownDescription": "The end date and time of the request, in UTC format ( *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). After the end date and time, no new Spot Instance requests are placed or able to fulfill the request. If no value is specified, the Spot Fleet request remains until you cancel it.", - "title": "ValidUntil", + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { + "additionalProperties": false, + "properties": { + "CapacityReservationPreference": { + "markdownDescription": "Indicates the instance's Capacity Reservation preferences. Possible preferences include:\n\n- `capacity-reservations-only` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.\n- `open` - The instance can run in any `open` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).\n- `none` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.", + "title": "CapacityReservationPreference", "type": "string" + }, + "CapacityReservationTarget": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget", + "markdownDescription": "Information about the target Capacity Reservation or Capacity Reservation group.", + "title": "CapacityReservationTarget" } }, - "required": [ - "IamFleetRole", - "TargetCapacity" - ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { "additionalProperties": false, "properties": { - "ResourceType": { - "markdownDescription": "The type of resource. Currently, the only resource type that is supported is `instance` . To tag the Spot Fleet request on creation, use the `TagSpecifications` parameter in `[SpotFleetRequestConfigData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetRequestConfigData.html)` .", - "title": "ResourceType", + "CapacityReservationId": { + "markdownDescription": "The ID of the Capacity Reservation in which to run the instance.", + "title": "CapacityReservationId", "type": "string" }, - "Tags": { + "CapacityReservationResourceGroupArn": { + "markdownDescription": "The ARN of the Capacity Reservation resource group in which to run the instance.", + "title": "CapacityReservationResourceGroupArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.ConnectionTrackingSpecification": { + "additionalProperties": false, + "properties": { + "TcpEstablishedTimeout": { + "markdownDescription": "Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.", + "title": "TcpEstablishedTimeout", + "type": "number" + }, + "UdpStreamTimeout": { + "markdownDescription": "Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.", + "title": "UdpStreamTimeout", + "type": "number" + }, + "UdpTimeout": { + "markdownDescription": "Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.", + "title": "UdpTimeout", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Cpu": { + "additionalProperties": false, + "properties": { + "References": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Reference" }, - "markdownDescription": "The tags.", - "title": "Tags", + "markdownDescription": "The instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes are compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.", + "title": "References", "type": "array" } }, "type": "object" }, - "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { + "AWS::EC2::LaunchTemplate.CpuOptions": { "additionalProperties": false, "properties": { - "CapacityRebalance": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance", - "markdownDescription": "The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see [Capacity rebalancing](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html) in the *Amazon EC2 User Guide* .", - "title": "CapacityRebalance" + "AmdSevSnp": { + "markdownDescription": "Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. For more information, see [AMD SEV-SNP for Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sev-snp.html) .", + "title": "AmdSevSnp", + "type": "string" + }, + "CoreCount": { + "markdownDescription": "The number of CPU cores for the instance.", + "title": "CoreCount", + "type": "number" + }, + "NestedVirtualization": { + "type": "string" + }, + "ThreadsPerCore": { + "markdownDescription": "The number of threads per CPU core. To disable multithreading for the instance, specify a value of `1` . Otherwise, specify the default value of `2` .", + "title": "ThreadsPerCore", + "type": "number" } }, "type": "object" }, - "AWS::EC2::SpotFleet.SpotPlacement": { + "AWS::EC2::LaunchTemplate.CreditSpecification": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone.\n\nTo specify multiple Availability Zones, separate them using commas; for example, \"us-west-2a, us-west-2b\".", - "title": "AvailabilityZone", + "CpuCredits": { + "markdownDescription": "The credit option for CPU usage of a T instance.\n\nValid values: `standard` | `unlimited`", + "title": "CpuCredits", "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "markdownDescription": "Indicates whether the EBS volume is deleted on instance termination.", + "title": "DeleteOnTermination", + "type": "boolean" }, - "AvailabilityZoneId": { - "markdownDescription": "The ID of the Availability Zone. For example, `use2-az1` .\n\n[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, \" `use2-az1` , `use2-bz1` \".\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", - "title": "AvailabilityZoneId", + "EbsCardIndex": { + "type": "number" + }, + "Encrypted": { + "markdownDescription": "Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value.", + "title": "Encrypted", + "type": "boolean" + }, + "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 - 80,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nFor `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) . On other instances, you can achieve performance up to 32,000 IOPS.\n\nThis parameter is supported for `io1` , `io2` , and `gp3` volumes only.", + "title": "Iops", + "type": "number" + }, + "KmsKeyId": { + "markdownDescription": "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.", + "title": "KmsKeyId", "type": "string" }, - "GroupName": { - "markdownDescription": "The name of the placement group.", - "title": "GroupName", + "SnapshotId": { + "markdownDescription": "The ID of the snapshot.", + "title": "SnapshotId", "type": "string" }, - "Tenancy": { - "markdownDescription": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of `dedicated` runs on single-tenant hardware. The `host` tenancy is not supported for Spot Instances.", - "title": "Tenancy", + "Throughput": { + "markdownDescription": "The throughput to provision for a `gp3` volume, with a maximum of 2,000 MiB/s.\n\nValid Range: Minimum value of 125. Maximum value of 2,000.", + "title": "Throughput", + "type": "number" + }, + "VolumeInitializationRate": { + "markdownDescription": "Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as *volume initialization* . Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation.\n\nThis parameter is supported only for volumes created from snapshots. Omit this parameter if:\n\n- You want to create the volume using fast snapshot restore. You must specify a snapshot that is enabled for fast snapshot restore. In this case, the volume is fully initialized at creation.\n\n> If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, the volume will be initialized at the specified rate instead of fast snapshot restore.\n- You want to create a volume that is initialized at the default rate.\n\nFor more information, see [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EC2 User Guide* .\n\nValid range: 100 - 300 MiB/s", + "title": "VolumeInitializationRate", + "type": "number" + }, + "VolumeSize": { + "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following are the supported volumes sizes for each volume type:\n\n- `gp2` : 1 - 16,384 GiB\n- `gp3` : 1 - 65,536 GiB\n- `io1` : 4 - 16,384 GiB\n- `io2` : 4 - 65,536 GiB\n- `st1` and `sc1` : 125 - 16,384 GiB\n- `standard` : 1 - 1024 GiB", + "title": "VolumeSize", + "type": "number" + }, + "VolumeType": { + "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .", + "title": "VolumeType", "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.TargetGroup": { + "AWS::EC2::LaunchTemplate.EnaSrdSpecification": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the target group.", - "title": "Arn", - "type": "string" + "EnaSrdEnabled": { + "markdownDescription": "Indicates whether ENA Express is enabled for the network interface.", + "title": "EnaSrdEnabled", + "type": "boolean" + }, + "EnaSrdUdpSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification", + "markdownDescription": "Configures ENA Express for UDP network traffic.", + "title": "EnaSrdUdpSpecification" } }, - "required": [ - "Arn" - ], "type": "object" }, - "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification": { "additionalProperties": false, "properties": { - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" - }, - "markdownDescription": "One or more target groups.", - "title": "TargetGroups", - "type": "array" + "EnaSrdUdpEnabled": { + "markdownDescription": "Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.", + "title": "EnaSrdUdpEnabled", + "type": "boolean" } }, - "required": [ - "TargetGroups" - ], "type": "object" }, - "AWS::EC2::SpotFleet.TotalLocalStorageGBRequest": { + "AWS::EC2::LaunchTemplate.EnclaveOptions": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter.", - "title": "Max", - "type": "number" + "Enabled": { + "markdownDescription": "If this parameter is set to `true` , the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.", + "title": "Enabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "markdownDescription": "If you set this parameter to `true` , the instance is enabled for hibernation.\n\nDefault: `false`", + "title": "Configured", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.IamInstanceProfile": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile.", + "title": "Arn", + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter.", - "title": "Min", - "type": "number" + "Name": { + "markdownDescription": "The name of the instance profile.", + "title": "Name", + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.VCpuCountRangeRequest": { + "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of vCPUs. To specify no maximum limit, omit this parameter.", - "title": "Max", + "MarketType": { + "markdownDescription": "The market type.", + "title": "MarketType", + "type": "string" + }, + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions", + "markdownDescription": "The options for Spot Instances.", + "title": "SpotOptions" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.InstanceRequirements": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.AcceleratorCount", + "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n\nTo exclude accelerator-enabled instance types, set `Max` to `0` .\n\nDefault: No minimum or maximum limits", + "title": "AcceleratorCount" + }, + "AcceleratorManufacturers": { + "items": { + "type": "string" + }, + "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n\n- For instance types with AWS devices, specify `amazon-web-services` .\n- For instance types with AMD devices, specify `amd` .\n- For instance types with Habana devices, specify `habana` .\n- For instance types with NVIDIA devices, specify `nvidia` .\n- For instance types with Xilinx devices, specify `xilinx` .\n\nDefault: Any manufacturer", + "title": "AcceleratorManufacturers", + "type": "array" + }, + "AcceleratorNames": { + "items": { + "type": "string" + }, + "markdownDescription": "The accelerators that must be on the instance type.\n\n- For instance types with NVIDIA A10G GPUs, specify `a10g` .\n- For instance types with NVIDIA A100 GPUs, specify `a100` .\n- For instance types with NVIDIA H100 GPUs, specify `h100` .\n- For instance types with AWS Inferentia chips, specify `inferentia` .\n- For instance types with AWS Inferentia2 chips, specify `inferentia2` .\n- For instance types with Habana Gaudi HL-205 GPUs, specify `gaudi-hl-205` .\n- For instance types with NVIDIA GRID K520 GPUs, specify `k520` .\n- For instance types with NVIDIA K80 GPUs, specify `k80` .\n- For instance types with NVIDIA L4 GPUs, specify `l4` .\n- For instance types with NVIDIA L40S GPUs, specify `l40s` .\n- For instance types with NVIDIA M60 GPUs, specify `m60` .\n- For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` .\n- For instance types with AWS Trainium chips, specify `trainium` .\n- For instance types with AWS Trainium2 chips, specify `trainium2` .\n- For instance types with NVIDIA T4 GPUs, specify `t4` .\n- For instance types with NVIDIA T4G GPUs, specify `t4g` .\n- For instance types with Xilinx U30 cards, specify `u30` .\n- For instance types with Xilinx VU9P FPGAs, specify `vu9p` .\n- For instance types with NVIDIA V100 GPUs, specify `v100` .\n\nDefault: Any accelerator", + "title": "AcceleratorNames", + "type": "array" + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.AcceleratorTotalMemoryMiB", + "markdownDescription": "The minimum and maximum amount of total accelerator memory, in MiB.\n\nDefault: No minimum or maximum limits", + "title": "AcceleratorTotalMemoryMiB" + }, + "AcceleratorTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The accelerator types that must be on the instance type.\n\n- For instance types with FPGA accelerators, specify `fpga` .\n- For instance types with GPU accelerators, specify `gpu` .\n- For instance types with Inference accelerators, specify `inference` .\n- For instance types with Media accelerators, specify `media` .\n\nDefault: Any accelerator type", + "title": "AcceleratorTypes", + "type": "array" + }, + "AllowedInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n\n> If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . \n\nDefault: All instance types", + "title": "AllowedInstanceTypes", + "type": "array" + }, + "BareMetal": { + "markdownDescription": "Indicates whether bare metal instance types must be included, excluded, or required.\n\n- To include bare metal instance types, specify `included` .\n- To require only bare metal instance types, specify `required` .\n- To exclude bare metal instance types, specify `excluded` .\n\nDefault: `excluded`", + "title": "BareMetal", + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BaselineEbsBandwidthMbps", + "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", + "title": "BaselineEbsBandwidthMbps" + }, + "BaselinePerformanceFactors": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BaselinePerformanceFactors", + "markdownDescription": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .", + "title": "BaselinePerformanceFactors" + }, + "BurstablePerformance": { + "markdownDescription": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`", + "title": "BurstablePerformance", + "type": "string" + }, + "CpuManufacturers": { + "items": { + "type": "string" + }, + "markdownDescription": "The CPU manufacturers to include.\n\n- For instance types with Intel CPUs, specify `intel` .\n- For instance types with AMD CPUs, specify `amd` .\n- For instance types with AWS CPUs, specify `amazon-web-services` .\n- For instance types with Apple CPUs, specify `apple` .\n\n> Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. \n\nDefault: Any manufacturer", + "title": "CpuManufacturers", + "type": "array" + }, + "ExcludedInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The instance types to exclude.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n\n> If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . \n\nDefault: No excluded instance types", + "title": "ExcludedInstanceTypes", + "type": "array" + }, + "InstanceGenerations": { + "items": { + "type": "string" + }, + "markdownDescription": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nFor current generation instance types, specify `current` .\n\nFor previous generation instance types, specify `previous` .\n\nDefault: Current and previous generation instance types", + "title": "InstanceGenerations", + "type": "array" + }, + "LocalStorage": { + "markdownDescription": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* .\n\n- To include instance types with instance store volumes, specify `included` .\n- To require only instance types with instance store volumes, specify `required` .\n- To exclude instance types with instance store volumes, specify `excluded` .\n\nDefault: `included`", + "title": "LocalStorage", + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The type of local storage that is required.\n\n- For instance types with hard disk drive (HDD) storage, specify `hdd` .\n- For instance types with solid state drive (SSD) storage, specify `ssd` .\n\nDefault: `hdd` and `ssd`", + "title": "LocalStorageTypes", + "type": "array" + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` .", + "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", "type": "number" }, - "Min": { - "markdownDescription": "The minimum number of vCPUs. To specify no minimum limit, specify `0` .", - "title": "Min", - "type": "number" + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu", + "markdownDescription": "The minimum and maximum amount of memory per vCPU, in GiB.\n\nDefault: No minimum or maximum limits", + "title": "MemoryGiBPerVCpu" + }, + "MemoryMiB": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MemoryMiB", + "markdownDescription": "The minimum and maximum amount of memory, in MiB.", + "title": "MemoryMiB" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkBandwidthGbps", + "markdownDescription": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n\nDefault: No minimum or maximum limits", + "title": "NetworkBandwidthGbps" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterfaceCount", + "markdownDescription": "The minimum and maximum number of network interfaces.\n\nDefault: No minimum or maximum limits", + "title": "NetworkInterfaceCount" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nTo turn off price protection, specify a high value, such as `999999` .\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. \n\nDefault: `20`", + "title": "OnDemandMaxPricePercentageOverLowestPrice", + "type": "number" + }, + "RequireHibernateSupport": { + "markdownDescription": "Indicates whether instance types must support hibernation for On-Demand Instances.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) .\n\nDefault: `false`", + "title": "RequireHibernateSupport", + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` . \n\nDefault: `100`", + "title": "SpotMaxPricePercentageOverLowestPrice", + "type": "number" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TotalLocalStorageGB", + "markdownDescription": "The minimum and maximum amount of total local storage, in GB.\n\nDefault: No minimum or maximum limits", + "title": "TotalLocalStorageGB" + }, + "VCpuCount": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.VCpuCount", + "markdownDescription": "The minimum and maximum number of vCPUs.", + "title": "VCpuCount" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ipv4PrefixSpecification": { + "additionalProperties": false, + "properties": { + "Ipv4Prefix": { + "markdownDescription": "The IPv4 prefix. For information, see [Assigning prefixes to network interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) in the *Amazon EC2 User Guide* .", + "title": "Ipv4Prefix", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ipv6Add": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "markdownDescription": "One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.", + "title": "Ipv6Address", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ipv6PrefixSpecification": { + "additionalProperties": false, + "properties": { + "Ipv6Prefix": { + "markdownDescription": "The IPv6 prefix.", + "title": "Ipv6Prefix", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateData": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" + }, + "markdownDescription": "The block device mapping.", + "title": "BlockDeviceMappings", + "type": "array" + }, + "CapacityReservationSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification", + "markdownDescription": "The Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to `open` , which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).", + "title": "CapacityReservationSpecification" + }, + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions", + "markdownDescription": "The CPU options for the instance. For more information, see [CPU options for Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *Amazon EC2 User Guide* .", + "title": "CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification", + "markdownDescription": "The credit option for CPU usage of the instance. Valid only for T instances.", + "title": "CreditSpecification" + }, + "DisableApiStop": { + "markdownDescription": "Indicates whether to enable the instance for stop protection. For more information, see [Enable stop protection for your EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html) in the *Amazon EC2 User Guide* .", + "title": "DisableApiStop", + "type": "boolean" + }, + "DisableApiTermination": { + "markdownDescription": "Indicates whether termination protection is enabled for the instance. The default is `false` , which means that you can terminate the instance using the Amazon EC2 console, command line tools, or API. You can enable termination protection when you launch an instance, while the instance is running, or while the instance is stopped.", + "title": "DisableApiTermination", + "type": "boolean" + }, + "EbsOptimized": { + "markdownDescription": "Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.", + "title": "EbsOptimized", + "type": "boolean" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions", + "markdownDescription": "Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see [What is Nitro Enclaves?](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html) in the *AWS Nitro Enclaves User Guide* .\n\nYou can't enable AWS Nitro Enclaves and hibernation on the same instance.", + "title": "EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions", + "markdownDescription": "Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the [hibernation prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernating-prerequisites.html) . For more information, see [Hibernate your Amazon EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) in the *Amazon EC2 User Guide* .", + "title": "HibernationOptions" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile", + "markdownDescription": "The name or Amazon Resource Name (ARN) of an IAM instance profile.", + "title": "IamInstanceProfile" + }, + "ImageId": { + "markdownDescription": "The ID of the AMI. Alternatively, you can specify a Systems Manager parameter, which will resolve to an AMI ID on launch.\n\nValid formats:\n\n- `ami-0ac394d6a3example`\n- `resolve:ssm:parameter-name`\n- `resolve:ssm:parameter-name:version-number`\n- `resolve:ssm:parameter-name:label`\n\nFor more information, see [Use a Systems Manager parameter to find an AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html#using-systems-manager-parameter-to-find-AMI) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "ImageId", + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "markdownDescription": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).\n\nDefault: `stop`", + "title": "InstanceInitiatedShutdownBehavior", + "type": "string" + }, + "InstanceMarketOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions", + "markdownDescription": "The market (purchasing) option for the instances.", + "title": "InstanceMarketOptions" + }, + "InstanceRequirements": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceRequirements", + "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n\nYou must specify `VCpuCount` and `MemoryMiB` . All other attributes are optional. Any unspecified optional attribute is set to its default.\n\nWhen you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n\nTo limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n\n- `AllowedInstanceTypes` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n- `ExcludedInstanceTypes` - The instance types to exclude from the list, even if they match your specified attributes.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .\n> \n> Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html) , or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify `InstanceRequirements` . \n\nFor more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide* .", + "title": "InstanceRequirements" + }, + "InstanceType": { + "markdownDescription": "The instance type. For more information, see [Amazon EC2 instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nIf you specify `InstanceType` , you can't specify `InstanceRequirements` .", + "title": "InstanceType", + "type": "string" + }, + "KernelId": { + "markdownDescription": "The ID of the kernel.\n\nWe recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [User Provided Kernels](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", + "title": "KernelId", + "type": "string" + }, + "KeyName": { + "markdownDescription": "The name of the key pair. You can create a key pair using [CreateKeyPair](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html) or [ImportKeyPair](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html) .\n\n> If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.", + "title": "KeyName", + "type": "string" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" + }, + "markdownDescription": "The license configurations.", + "title": "LicenseSpecifications", + "type": "array" + }, + "MaintenanceOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MaintenanceOptions", + "markdownDescription": "The maintenance options of your instance.", + "title": "MaintenanceOptions" + }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions", + "markdownDescription": "The metadata options for the instance. For more information, see [Configure the Instance Metadata Service options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) in the *Amazon EC2 User Guide* .", + "title": "MetadataOptions" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring", + "markdownDescription": "The monitoring for the instance.", + "title": "Monitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" + }, + "markdownDescription": "The network interfaces for the instance.", + "title": "NetworkInterfaces", + "type": "array" + }, + "NetworkPerformanceOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkPerformanceOptions", + "markdownDescription": "The settings for the network performance options for the instance. For more information, see [EC2 instance bandwidth weighting configuration](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html) .", + "title": "NetworkPerformanceOptions" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement", + "markdownDescription": "The placement for the instance.", + "title": "Placement" + }, + "PrivateDnsNameOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateDnsNameOptions", + "markdownDescription": "The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries should be handled. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "PrivateDnsNameOptions" + }, + "RamDiskId": { + "markdownDescription": "The ID of the RAM disk.\n\n> We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [User provided kernels](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", + "title": "RamDiskId", + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the security groups. You can specify the IDs of existing security groups and references to resources created by the stack template.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface instead.", + "title": "SecurityGroupIds", + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "The names of the security groups. For a nondefault VPC, you must use security group IDs instead.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.", + "title": "SecurityGroups", + "type": "array" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" + }, + "markdownDescription": "The tags to apply to resources that are created during instance launch.\n\nTo tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications) .", + "title": "TagSpecifications", + "type": "array" + }, + "UserData": { + "markdownDescription": "The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands when you launch an EC2 instance with user data input](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) in the *Amazon EC2 User Guide* .\n\nIf you are creating the launch template for use with AWS Batch , the user data must be provided in the [MIME multi-part archive format](https://docs.aws.amazon.com/https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive) . For more information, see [Amazon EC2 user data in launch templates](https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html#lt-user-data) in the *AWS Batch User Guide* .", + "title": "UserData", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "markdownDescription": "The type of resource. To tag a launch template, `ResourceType` must be `launch-template` .", + "title": "ResourceType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LicenseSpecification": { + "additionalProperties": false, + "properties": { + "LicenseConfigurationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the license configuration.", + "title": "LicenseConfigurationArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.MaintenanceOptions": { + "additionalProperties": false, + "properties": { + "AutoRecovery": { + "markdownDescription": "Disables the automatic recovery behavior of your instance or sets it to default.", + "title": "AutoRecovery", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.MemoryMiB": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of memory, in MiB. To specify no minimum limit, specify `0` .", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.MetadataOptions": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "markdownDescription": "Enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is `enabled` .\n\n> If you specify a value of `disabled` , you will not be able to access your instance metadata.", + "title": "HttpEndpoint", + "type": "string" + }, + "HttpProtocolIpv6": { + "markdownDescription": "Enables or disables the IPv6 endpoint for the instance metadata service.\n\nDefault: `disabled`", + "title": "HttpProtocolIpv6", + "type": "string" + }, + "HttpPutResponseHopLimit": { + "markdownDescription": "The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.\n\nDefault: `1`\n\nPossible values: Integers from 1 to 64", + "title": "HttpPutResponseHopLimit", + "type": "number" + }, + "HttpTokens": { + "markdownDescription": "Indicates whether IMDSv2 is required.\n\n- `optional` - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.\n- `required` - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.\n\nDefault: If the value of `ImdsSupport` for the Amazon Machine Image (AMI) for your instance is `v2.0` , the default is `required` .", + "title": "HttpTokens", + "type": "string" + }, + "InstanceMetadataTags": { + "markdownDescription": "Set to `enabled` to allow access to instance tags from the instance metadata. Set to `disabled` to turn off access to instance tags from the instance metadata. For more information, see [View tags for your EC2 instances using instance metadata](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/work-with-tags-in-IMDS.html) .\n\nDefault: `disabled`", + "title": "InstanceMetadataTags", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Monitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "Specify `true` to enable detailed monitoring. Otherwise, basic monitoring is enabled.", + "title": "Enabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.NetworkBandwidthGbps": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no minimum limit.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociateCarrierIpAddress": { + "markdownDescription": "Associates a Carrier IP address with eth0 for a new network interface.\n\nUse this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. For more information about Carrier IP addresses, see [Carrier IP addresses](https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip) in the *AWS Wavelength Developer Guide* .", + "title": "AssociateCarrierIpAddress", + "type": "boolean" + }, + "AssociatePublicIpAddress": { + "markdownDescription": "Associates a public IPv4 address with eth0 for a new network interface.\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [Amazon VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", + "title": "AssociatePublicIpAddress", + "type": "boolean" + }, + "ConnectionTrackingSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ConnectionTrackingSpecification", + "markdownDescription": "A connection tracking specification for the network interface.", + "title": "ConnectionTrackingSpecification" + }, + "DeleteOnTermination": { + "markdownDescription": "Indicates whether the network interface is deleted when the instance is terminated.", + "title": "DeleteOnTermination", + "type": "boolean" + }, + "Description": { + "markdownDescription": "A description for the network interface.", + "title": "Description", + "type": "string" + }, + "DeviceIndex": { + "markdownDescription": "The device index for the network interface attachment. The primary network interface has a device index of 0. If the network interface is of type `interface` , you must specify a device index.\n\nIf you create a launch template that includes secondary network interfaces but no primary network interface, and you specify it using the `LaunchTemplate` property of `AWS::EC2::Instance` , then you must include a primary network interface using the `NetworkInterfaces` property of `AWS::EC2::Instance` .", + "title": "DeviceIndex", + "type": "number" + }, + "EnaQueueCount": { + "markdownDescription": "The number of ENA queues to be created with the instance.", + "title": "EnaQueueCount", + "type": "number" + }, + "EnaSrdSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdSpecification", + "markdownDescription": "The ENA Express configuration for the network interface.", + "title": "EnaSrdSpecification" + }, + "Groups": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of one or more security groups.", + "title": "Groups", + "type": "array" + }, + "InterfaceType": { + "markdownDescription": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify `efa` or `efa` . For more information, see [Elastic Fabric Adapter for AI/ML and HPC workloads on Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide* .\n\nIf you are not creating an EFA, specify `interface` or omit this parameter.\n\nIf you specify `efa-only` , do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.\n\nValid values: `interface` | `efa` | `efa-only`", + "title": "InterfaceType", + "type": "string" + }, + "Ipv4PrefixCount": { + "markdownDescription": "The number of IPv4 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the `Ipv4Prefix` option.", + "title": "Ipv4PrefixCount", + "type": "number" + }, + "Ipv4Prefixes": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv4PrefixSpecification" + }, + "markdownDescription": "One or more IPv4 prefixes to be assigned to the network interface. You cannot use this option if you use the `Ipv4PrefixCount` option.", + "title": "Ipv4Prefixes", + "type": "array" + }, + "Ipv6AddressCount": { + "markdownDescription": "The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.", + "title": "Ipv6AddressCount", + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" + }, + "markdownDescription": "One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.", + "title": "Ipv6Addresses", + "type": "array" + }, + "Ipv6PrefixCount": { + "markdownDescription": "The number of IPv6 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the `Ipv6Prefix` option.", + "title": "Ipv6PrefixCount", + "type": "number" + }, + "Ipv6Prefixes": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6PrefixSpecification" + }, + "markdownDescription": "One or more IPv6 prefixes to be assigned to the network interface. You cannot use this option if you use the `Ipv6PrefixCount` option.", + "title": "Ipv6Prefixes", + "type": "array" + }, + "NetworkCardIndex": { + "markdownDescription": "The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.", + "title": "NetworkCardIndex", + "type": "number" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of the network interface.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "PrimaryIpv6": { + "markdownDescription": "The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) .", + "title": "PrimaryIpv6", + "type": "boolean" + }, + "PrivateIpAddress": { + "markdownDescription": "The primary private IPv4 address of the network interface.", + "title": "PrivateIpAddress", + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" + }, + "markdownDescription": "One or more private IPv4 addresses.", + "title": "PrivateIpAddresses", + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "markdownDescription": "The number of secondary private IPv4 addresses to assign to a network interface.", + "title": "SecondaryPrivateIpAddressCount", + "type": "number" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet for the network interface.", + "title": "SubnetId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.NetworkInterfaceCount": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of network interfaces. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of network interfaces. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.NetworkPerformanceOptions": { + "additionalProperties": false, + "properties": { + "BandwidthWeighting": { + "markdownDescription": "Specify the bandwidth weighting option to boost the associated type of baseline bandwidth, as follows:\n\n- **default** - This option uses the standard bandwidth configuration for your instance type.\n- **vpc-1** - This option boosts your networking baseline bandwidth and reduces your EBS baseline bandwidth.\n- **ebs-1** - This option boosts your EBS baseline bandwidth and reduces your networking baseline bandwidth.", + "title": "BandwidthWeighting", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "markdownDescription": "The affinity setting for an instance on a Dedicated Host.", + "title": "Affinity", + "type": "string" + }, + "AvailabilityZone": { + "markdownDescription": "The Availability Zone for the instance.\n\nEither `AvailabilityZone` or `AvailabilityZoneId` can be specified, but not both", + "title": "AvailabilityZone", + "type": "string" + }, + "GroupId": { + "markdownDescription": "The Group Id of a placement group. You must specify the Placement Group *Group Id* to launch an instance in a shared placement group.", + "title": "GroupId", + "type": "string" + }, + "GroupName": { + "markdownDescription": "The name of the placement group for the instance.", + "title": "GroupName", + "type": "string" + }, + "HostId": { + "markdownDescription": "The ID of the Dedicated Host for the instance.", + "title": "HostId", + "type": "string" + }, + "HostResourceGroupArn": { + "markdownDescription": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the *Tenancy* parameter or set it to `host` .", + "title": "HostResourceGroupArn", + "type": "string" + }, + "PartitionNumber": { + "markdownDescription": "The number of the partition the instance should launch in. Valid only if the placement group strategy is set to `partition` .", + "title": "PartitionNumber", + "type": "number" + }, + "SpreadDomain": { + "markdownDescription": "Reserved for future use.", + "title": "SpreadDomain", + "type": "string" + }, + "Tenancy": { + "markdownDescription": "The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware.", + "title": "Tenancy", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.PrivateDnsNameOptions": { + "additionalProperties": false, + "properties": { + "EnableResourceNameDnsAAAARecord": { + "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.", + "title": "EnableResourceNameDnsAAAARecord", + "type": "boolean" + }, + "EnableResourceNameDnsARecord": { + "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records.", + "title": "EnableResourceNameDnsARecord", + "type": "boolean" + }, + "HostnameType": { + "markdownDescription": "The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "HostnameType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.PrivateIpAdd": { + "additionalProperties": false, + "properties": { + "Primary": { + "markdownDescription": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.", + "title": "Primary", + "type": "boolean" + }, + "PrivateIpAddress": { + "markdownDescription": "The private IPv4 address.", + "title": "PrivateIpAddress", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Reference": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "markdownDescription": "The instance family to use as a baseline reference.\n\n> Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( `.` ) in the instance type name. For example, in the instance type `c6i.large` , the instance family is `c6i` , not `c6` . For more information, see [Amazon EC2 instance type naming conventions](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) in *Amazon EC2 Instance Types* . \n\nThe following instance families are *not supported* for performance protection:\n\n- `c1`\n- `g3` | `g3s`\n- `hpc7g`\n- `m1` | `m2`\n- `mac1` | `mac2` | `mac2-m1ultra` | `mac2-m2` | `mac2-m2pro`\n- `p3dn` | `p4d` | `p5`\n- `t1`\n- `u-12tb1` | `u-18tb1` | `u-24tb1` | `u-3tb1` | `u-6tb1` | `u-9tb1` | `u7i-12tb` | `u7in-16tb` | `u7in-24tb` | `u7in-32tb`\n\nIf you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.", + "title": "InstanceFamily", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.SpotOptions": { + "additionalProperties": false, + "properties": { + "BlockDurationMinutes": { + "markdownDescription": "Deprecated.", + "title": "BlockDurationMinutes", + "type": "number" + }, + "InstanceInterruptionBehavior": { + "markdownDescription": "The behavior when a Spot Instance is interrupted. The default is `terminate` .", + "title": "InstanceInterruptionBehavior", + "type": "string" + }, + "MaxPrice": { + "markdownDescription": "The maximum hourly price you're willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price. If you do specify this parameter, it must be more than USD $0.001. Specifying a value below USD $0.001 will result in an `InvalidParameterValue` error message when the launch template is used to launch an instance.\n\n> If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.", + "title": "MaxPrice", + "type": "string" + }, + "SpotInstanceType": { + "markdownDescription": "The Spot Instance request type.\n\nIf you are using Spot Instances with an Auto Scaling group, use `one-time` requests, as the Amazon EC2 Auto Scaling service handles requesting new Spot Instances whenever the group is below its desired capacity.", + "title": "SpotInstanceType", + "type": "string" + }, + "ValidUntil": { + "markdownDescription": "The end date of the request, in UTC format ( *YYYY-MM-DD* T *HH:MM:SS* Z). Supported only for persistent requests.\n\n- For a persistent request, the request remains active until the `ValidUntil` date and time is reached. Otherwise, the request remains active until you cancel it.\n- For a one-time request, `ValidUntil` is not supported. The request remains active until all instances launch or you cancel the request.\n\nDefault: 7 days from the current date", + "title": "ValidUntil", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "markdownDescription": "The type of resource to tag. You can specify tags for the following resource types only: `instance` | `volume` | `network-interface` | `spot-instances-request` . If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include a volume.\n\nTo tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) .", + "title": "ResourceType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.TotalLocalStorageGB": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.VCpuCount": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of vCPUs. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of vCPUs. To specify no minimum limit, specify `0` .", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LocalGatewayRoute": { + "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": { + "DestinationCidrBlock": { + "markdownDescription": "The CIDR block used for destination matches.", + "title": "DestinationCidrBlock", + "type": "string" + }, + "LocalGatewayRouteTableId": { + "markdownDescription": "The ID of the local gateway route table.", + "title": "LocalGatewayRouteTableId", + "type": "string" + }, + "LocalGatewayVirtualInterfaceGroupId": { + "markdownDescription": "The ID of the virtual interface group.", + "title": "LocalGatewayVirtualInterfaceGroupId", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of the network interface.", + "title": "NetworkInterfaceId", + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "LocalGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LocalGatewayRouteTable": { + "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": { + "LocalGatewayId": { + "markdownDescription": "The ID of the local gateway.", + "title": "LocalGatewayId", + "type": "string" + }, + "Mode": { + "markdownDescription": "The mode of the local gateway route table.", + "title": "Mode", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the local gateway route table.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "LocalGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { + "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": { + "LocalGatewayRouteTableId": { + "markdownDescription": "The ID of the local gateway route table.", + "title": "LocalGatewayRouteTableId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the association.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "LocalGatewayRouteTableId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRouteTableVPCAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { + "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": { + "LocalGatewayRouteTableId": { + "markdownDescription": "The ID of the local gateway route table.", + "title": "LocalGatewayRouteTableId", + "type": "string" + }, + "LocalGatewayVirtualInterfaceGroupId": { + "markdownDescription": "The ID of the virtual interface group.", + "title": "LocalGatewayVirtualInterfaceGroupId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the association.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "LocalGatewayRouteTableId", + "LocalGatewayVirtualInterfaceGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LocalGatewayVirtualInterface": { + "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": { + "LocalAddress": { + "markdownDescription": "The local address.", + "title": "LocalAddress", + "type": "string" + }, + "LocalGatewayVirtualInterfaceGroupId": { + "markdownDescription": "The ID of the local gateway virtual interface group.", + "title": "LocalGatewayVirtualInterfaceGroupId", + "type": "string" + }, + "OutpostLagId": { + "markdownDescription": "The Outpost LAG ID.", + "title": "OutpostLagId", + "type": "string" + }, + "PeerAddress": { + "markdownDescription": "The peer address.", + "title": "PeerAddress", + "type": "string" + }, + "PeerBgpAsn": { + "markdownDescription": "The peer BGP ASN.", + "title": "PeerBgpAsn", + "type": "number" + }, + "PeerBgpAsnExtended": { + "markdownDescription": "The extended 32-bit ASN of the BGP peer for use with larger ASN values.", + "title": "PeerBgpAsnExtended", + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the virtual interface.", + "title": "Tags", + "type": "array" + }, + "Vlan": { + "markdownDescription": "The ID of the VLAN.", + "title": "Vlan", + "type": "number" + } + }, + "required": [ + "LocalAddress", + "LocalGatewayVirtualInterfaceGroupId", + "OutpostLagId", + "PeerAddress", + "Vlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayVirtualInterface" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LocalGatewayVirtualInterfaceGroup": { + "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": { + "LocalBgpAsn": { + "markdownDescription": "The Autonomous System Number(ASN) for the local Border Gateway Protocol (BGP).", + "title": "LocalBgpAsn", + "type": "number" + }, + "LocalBgpAsnExtended": { + "markdownDescription": "The extended 32-bit ASN for the local BGP configuration.", + "title": "LocalBgpAsnExtended", + "type": "number" + }, + "LocalGatewayId": { + "markdownDescription": "The ID of the local gateway.", + "title": "LocalGatewayId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the virtual interface group.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "LocalGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayVirtualInterfaceGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NatGateway": { + "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": { + "AllocationId": { + "markdownDescription": "[Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway. This property is required for a public NAT gateway and cannot be specified with a private NAT gateway.", + "title": "AllocationId", + "type": "string" + }, + "AvailabilityMode": { + "markdownDescription": "Indicates whether this is a zonal (single-AZ) or regional (multi-AZ) NAT gateway.\n\nA zonal NAT gateway is a NAT Gateway that provides redundancy and scalability within a single availability zone. A regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.\n\nFor more information, see [Regional NAT gateways for automatic multi-AZ expansion](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html) in the *Amazon VPC User Guide* .", + "title": "AvailabilityMode", + "type": "string" + }, + "AvailabilityZoneAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NatGateway.AvailabilityZoneAddress" + }, + "markdownDescription": "For regional NAT gateways only: Specifies which Availability Zones you want the NAT gateway to support and the Elastic IP addresses (EIPs) to use in each AZ. The regional NAT gateway uses these EIPs to handle outbound NAT traffic from their respective AZs. If not specified, the NAT gateway will automatically expand to new AZs and associate EIPs upon detection of an elastic network interface. If you specify this parameter, auto-expansion is disabled and you must manually manage AZ coverage.\n\nA regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.\n\nFor more information, see [Regional NAT gateways for automatic multi-AZ expansion](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html) in the *Amazon VPC User Guide* .", + "title": "AvailabilityZoneAddresses", + "type": "array" + }, + "ConnectivityType": { + "markdownDescription": "Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.", + "title": "ConnectivityType", + "type": "string" + }, + "MaxDrainDurationSeconds": { + "markdownDescription": "The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. Default value is 350 seconds.", + "title": "MaxDrainDurationSeconds", + "type": "number" + }, + "PrivateIpAddress": { + "markdownDescription": "The private IPv4 address to assign to the NAT gateway. If you don't provide an address, a private IPv4 address will be automatically assigned.", + "title": "PrivateIpAddress", + "type": "string" + }, + "SecondaryAllocationIds": { + "items": { + "type": "string" + }, + "markdownDescription": "Secondary EIP allocation IDs. For more information, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html) in the *Amazon VPC User Guide* .", + "title": "SecondaryAllocationIds", + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "markdownDescription": "[Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon Virtual Private Cloud User Guide* .\n\n`SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be set at the same time.", + "title": "SecondaryPrivateIpAddressCount", + "type": "number" + }, + "SecondaryPrivateIpAddresses": { + "items": { + "type": "string" + }, + "markdownDescription": "Secondary private IPv4 addresses. For more information about secondary addresses, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon Virtual Private Cloud User Guide* .\n\n`SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be set at the same time.", + "title": "SecondaryPrivateIpAddresses", + "type": "array" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet in which the NAT gateway is located.", + "title": "SubnetId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the NAT gateway.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC in which the NAT gateway is located.", + "title": "VpcId", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NatGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::NatGateway.AvailabilityZoneAddress": { + "additionalProperties": false, + "properties": { + "AllocationIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The allocation IDs of the Elastic IP addresses (EIPs) to be used for handling outbound NAT traffic in this specific Availability Zone.", + "title": "AllocationIds", + "type": "array" + }, + "AvailabilityZone": { + "markdownDescription": "For regional NAT gateways only: The Availability Zone where this specific NAT gateway configuration will be active. Each AZ in a regional NAT gateway has its own configuration to handle outbound NAT traffic from that AZ.\n\nA regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.", + "title": "AvailabilityZone", + "type": "string" + }, + "AvailabilityZoneId": { + "markdownDescription": "For regional NAT gateways only: The ID of the Availability Zone where this specific NAT gateway configuration will be active. Each AZ in a regional NAT gateway has its own configuration to handle outbound NAT traffic from that AZ. Use this instead of AvailabilityZone for consistent identification of AZs across AWS Regions.\n\nA regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.", + "title": "AvailabilityZoneId", + "type": "string" + } + }, + "required": [ + "AllocationIds" + ], + "type": "object" + }, + "AWS::EC2::NetworkAcl": { + "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" + }, + "markdownDescription": "The tags for the network ACL.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC for the network ACL.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkAcl" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkAclEntry": { + "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": { + "CidrBlock": { + "markdownDescription": "The IPv4 CIDR range to allow or deny, in CIDR notation (for example, 172.16.0.0/24). You must specify an IPv4 CIDR block or an IPv6 CIDR block.", + "title": "CidrBlock", + "type": "string" + }, + "Egress": { + "markdownDescription": "Whether this rule applies to egress traffic from the subnet ( `true` ) or ingress traffic to the subnet ( `false` ). By default, AWS CloudFormation specifies `false` .", + "title": "Egress", + "type": "boolean" + }, + "Icmp": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp", + "markdownDescription": "The Internet Control Message Protocol (ICMP) code and type. Required if specifying 1 (ICMP) for the protocol parameter.", + "title": "Icmp" + }, + "Ipv6CidrBlock": { + "markdownDescription": "The IPv6 network range to allow or deny, in CIDR notation. You must specify an IPv4 CIDR block or an IPv6 CIDR block.", + "title": "Ipv6CidrBlock", + "type": "string" + }, + "NetworkAclId": { + "markdownDescription": "The ID of the ACL for the entry.", + "title": "NetworkAclId", + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange", + "markdownDescription": "The range of port numbers for the UDP/TCP protocol. Required if specifying 6 (TCP) or 17 (UDP) for the protocol parameter.", + "title": "PortRange" + }, + "Protocol": { + "markdownDescription": "The IP protocol that the rule applies to. You must specify -1 or a protocol number. You can specify -1 for all protocols.\n\n> If you specify -1, all ports are opened and the `PortRange` property is ignored.", + "title": "Protocol", + "type": "number" + }, + "RuleAction": { + "markdownDescription": "Whether to allow or deny traffic that matches the rule; valid values are \"allow\" or \"deny\".", + "title": "RuleAction", + "type": "string" + }, + "RuleNumber": { + "markdownDescription": "Rule number to assign to the entry, such as 100. ACL entries are processed in ascending order by rule number. Entries can't use the same rule number unless one is an egress rule and the other is an ingress rule.", + "title": "RuleNumber", + "type": "number" + } + }, + "required": [ + "NetworkAclId", + "Protocol", + "RuleAction", + "RuleNumber" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkAclEntry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.Icmp": { + "additionalProperties": false, + "properties": { + "Code": { + "markdownDescription": "The Internet Control Message Protocol (ICMP) code. You can use -1 to specify all ICMP codes for the given ICMP type. Required if you specify 1 (ICMP) for the protocol parameter.", + "title": "Code", + "type": "number" + }, + "Type": { + "markdownDescription": "The Internet Control Message Protocol (ICMP) type. You can use -1 to specify all ICMP types. Conditional requirement: Required if you specify 1 (ICMP) for the `CreateNetworkAclEntry` protocol parameter.", + "title": "Type", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "markdownDescription": "The first port in the range. Required if you specify 6 (TCP) or 17 (UDP) for the protocol parameter.", + "title": "From", + "type": "number" + }, + "To": { + "markdownDescription": "The last port in the range. Required if you specify 6 (TCP) or 17 (UDP) for the protocol parameter.", + "title": "To", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAccessScope": { + "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": { + "ExcludePaths": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest" + }, + "markdownDescription": "The paths to exclude.", + "title": "ExcludePaths", + "type": "array" + }, + "MatchPaths": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest" + }, + "markdownDescription": "The paths to match.", + "title": "MatchPaths", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsAccessScope" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest", + "markdownDescription": "The destination.", + "title": "Destination" + }, + "Source": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest", + "markdownDescription": "The source.", + "title": "Source" + }, + "ThroughResources": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ThroughResourcesStatementRequest" + }, + "markdownDescription": "The through resources.", + "title": "ThroughResources", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAccessScope.PacketHeaderStatementRequest": { + "additionalProperties": false, + "properties": { + "DestinationAddresses": { + "items": { + "type": "string" + }, + "markdownDescription": "The destination addresses.", + "title": "DestinationAddresses", + "type": "array" + }, + "DestinationPorts": { + "items": { + "type": "string" + }, + "markdownDescription": "The destination ports.", + "title": "DestinationPorts", + "type": "array" + }, + "DestinationPrefixLists": { + "items": { + "type": "string" + }, + "markdownDescription": "The destination prefix lists.", + "title": "DestinationPrefixLists", + "type": "array" + }, + "Protocols": { + "items": { + "type": "string" + }, + "markdownDescription": "The protocols.", + "title": "Protocols", + "type": "array" + }, + "SourceAddresses": { + "items": { + "type": "string" + }, + "markdownDescription": "The source addresses.", + "title": "SourceAddresses", + "type": "array" + }, + "SourcePorts": { + "items": { + "type": "string" + }, + "markdownDescription": "The source ports.", + "title": "SourcePorts", + "type": "array" + }, + "SourcePrefixLists": { + "items": { + "type": "string" + }, + "markdownDescription": "The source prefix lists.", + "title": "SourcePrefixLists", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest": { + "additionalProperties": false, + "properties": { + "PacketHeaderStatement": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PacketHeaderStatementRequest", + "markdownDescription": "The packet header statement.", + "title": "PacketHeaderStatement" + }, + "ResourceStatement": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest", + "markdownDescription": "The resource statement.", + "title": "ResourceStatement" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest": { + "additionalProperties": false, + "properties": { + "ResourceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The resource types.", + "title": "ResourceTypes", + "type": "array" + }, + "Resources": { + "items": { + "type": "string" + }, + "markdownDescription": "The resources.", + "title": "Resources", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAccessScope.ThroughResourcesStatementRequest": { + "additionalProperties": false, + "properties": { + "ResourceStatement": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest", + "markdownDescription": "The resource statement.", + "title": "ResourceStatement" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAccessScopeAnalysis": { + "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": { + "NetworkInsightsAccessScopeId": { + "markdownDescription": "The ID of the Network Access Scope.", + "title": "NetworkInsightsAccessScopeId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "NetworkInsightsAccessScopeId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsAccessScopeAnalysis" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis": { + "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": { + "AdditionalAccounts": { + "items": { + "type": "string" + }, + "markdownDescription": "The member accounts that contain resources that the path can traverse.", + "title": "AdditionalAccounts", + "type": "array" + }, + "FilterInArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARN) of the resources that the path must traverse.", + "title": "FilterInArns", + "type": "array" + }, + "FilterOutArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARN) of the resources that the path must ignore.", + "title": "FilterOutArns", + "type": "array" + }, + "NetworkInsightsPathId": { + "markdownDescription": "The ID of the path.", + "title": "NetworkInsightsPathId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "NetworkInsightsPathId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsAnalysis" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AdditionalDetail": { + "additionalProperties": false, + "properties": { + "AdditionalDetailType": { + "markdownDescription": "The additional detail code.", + "title": "AdditionalDetailType", + "type": "string" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The path component.", + "title": "Component" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "markdownDescription": "The load balancers.", + "title": "LoadBalancers", + "type": "array" + }, + "ServiceName": { + "markdownDescription": "The name of the VPC endpoint service.", + "title": "ServiceName", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the component.", + "title": "ComponentArn", + "type": "string" + }, + "ComponentId": { + "markdownDescription": "The ID of the component.", + "title": "ComponentId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "markdownDescription": "The IPv4 address range, in CIDR notation.", + "title": "Cidr", + "type": "string" + }, + "Egress": { + "markdownDescription": "Indicates whether the rule is an outbound rule.", + "title": "Egress", + "type": "boolean" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange", + "markdownDescription": "The range of ports.", + "title": "PortRange" + }, + "Protocol": { + "markdownDescription": "The protocol.", + "title": "Protocol", + "type": "string" + }, + "RuleAction": { + "markdownDescription": "Indicates whether to allow or deny traffic that matches the rule.", + "title": "RuleAction", + "type": "string" + }, + "RuleNumber": { + "markdownDescription": "The rule number.", + "title": "RuleNumber", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the component.", + "title": "Arn", + "type": "string" + }, + "Id": { + "markdownDescription": "The ID of the component.", + "title": "Id", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { + "additionalProperties": false, + "properties": { + "InstancePort": { + "markdownDescription": "[Classic Load Balancers] The back-end port for the listener.", + "title": "InstancePort", + "type": "number" + }, + "LoadBalancerPort": { + "markdownDescription": "The port on which the load balancer is listening.", + "title": "LoadBalancerPort", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { + "additionalProperties": false, + "properties": { + "Address": { + "markdownDescription": "The IP address.", + "title": "Address", + "type": "string" + }, + "AvailabilityZone": { + "markdownDescription": "The Availability Zone.", + "title": "AvailabilityZone", + "type": "string" + }, + "Instance": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "Information about the instance.", + "title": "Instance" + }, + "Port": { + "markdownDescription": "The port on which the target is listening.", + "title": "Port", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { + "additionalProperties": false, + "properties": { + "DestinationAddresses": { + "items": { + "type": "string" + }, + "markdownDescription": "The destination addresses.", + "title": "DestinationAddresses", + "type": "array" + }, + "DestinationPortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "markdownDescription": "The destination port ranges.", + "title": "DestinationPortRanges", + "type": "array" + }, + "Protocol": { + "markdownDescription": "The protocol.", + "title": "Protocol", + "type": "string" + }, + "SourceAddresses": { + "items": { + "type": "string" + }, + "markdownDescription": "The source addresses.", + "title": "SourceAddresses", + "type": "array" + }, + "SourcePortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "markdownDescription": "The source port ranges.", + "title": "SourcePortRanges", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { + "additionalProperties": false, + "properties": { + "NatGatewayId": { + "markdownDescription": "The ID of a NAT gateway.", + "title": "NatGatewayId", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of a network interface.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "Origin": { + "markdownDescription": "Describes how the route was created. The following are the possible values:\n\n- CreateRouteTable - The route was automatically created when the route table was created.\n- CreateRoute - The route was manually added to the route table.\n- EnableVgwRoutePropagation - The route was propagated by route propagation.", + "title": "Origin", + "type": "string" + }, + "State": { + "markdownDescription": "The state. The following are the possible values:\n\n- active\n- blackhole", + "title": "State", + "type": "string" + }, + "TransitGatewayId": { + "markdownDescription": "The ID of a transit gateway.", + "title": "TransitGatewayId", + "type": "string" + }, + "VpcPeeringConnectionId": { + "markdownDescription": "The ID of a VPC peering connection.", + "title": "VpcPeeringConnectionId", + "type": "string" + }, + "destinationCidr": { + "markdownDescription": "The destination IPv4 address, in CIDR notation.", + "title": "destinationCidr", + "type": "string" + }, + "destinationPrefixListId": { + "markdownDescription": "The prefix of the AWS service.", + "title": "destinationPrefixListId", + "type": "string" + }, + "egressOnlyInternetGatewayId": { + "markdownDescription": "The ID of an egress-only internet gateway.", + "title": "egressOnlyInternetGatewayId", + "type": "string" + }, + "gatewayId": { + "markdownDescription": "The ID of the gateway, such as an internet gateway or virtual private gateway.", + "title": "gatewayId", + "type": "string" + }, + "instanceId": { + "markdownDescription": "The ID of the instance, such as a NAT instance.", + "title": "instanceId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "markdownDescription": "The IPv4 address range, in CIDR notation.", + "title": "Cidr", + "type": "string" + }, + "Direction": { + "markdownDescription": "The direction. The following are the possible values:\n\n- egress\n- ingress", + "title": "Direction", + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange", + "markdownDescription": "The port range.", + "title": "PortRange" + }, + "PrefixListId": { + "markdownDescription": "The prefix list ID.", + "title": "PrefixListId", + "type": "string" + }, + "Protocol": { + "markdownDescription": "The protocol name.", + "title": "Protocol", + "type": "string" + }, + "SecurityGroupId": { + "markdownDescription": "The security group ID.", + "title": "SecurityGroupId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.Explanation": { + "additionalProperties": false, + "properties": { + "Acl": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The network ACL.", + "title": "Acl" + }, + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule", + "markdownDescription": "The network ACL rule.", + "title": "AclRule" + }, + "Address": { + "markdownDescription": "The IPv4 address, in CIDR notation.", + "title": "Address", + "type": "string" + }, + "Addresses": { + "items": { + "type": "string" + }, + "markdownDescription": "The IPv4 addresses, in CIDR notation.", + "title": "Addresses", + "type": "array" + }, + "AttachedTo": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The resource to which the component is attached.", + "title": "AttachedTo" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "markdownDescription": "The Availability Zones.", + "title": "AvailabilityZones", + "type": "array" + }, + "Cidrs": { + "items": { + "type": "string" + }, + "markdownDescription": "The CIDR ranges.", + "title": "Cidrs", + "type": "array" + }, + "ClassicLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener", + "markdownDescription": "The listener for a Classic Load Balancer.", + "title": "ClassicLoadBalancerListener" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The component.", + "title": "Component" + }, + "ComponentAccount": { + "markdownDescription": "The AWS account for the component.", + "title": "ComponentAccount", + "type": "string" + }, + "ComponentRegion": { + "markdownDescription": "The Region for the component.", + "title": "ComponentRegion", + "type": "string" + }, + "CustomerGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The customer gateway.", + "title": "CustomerGateway" + }, + "Destination": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The destination.", + "title": "Destination" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The destination VPC.", + "title": "DestinationVpc" + }, + "Direction": { + "markdownDescription": "The direction. The following are the possible values:\n\n- egress\n- ingress", + "title": "Direction", + "type": "string" + }, + "ElasticLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The load balancer listener.", + "title": "ElasticLoadBalancerListener" + }, + "ExplanationCode": { + "markdownDescription": "The explanation code.", + "title": "ExplanationCode", + "type": "string" + }, + "IngressRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The route table.", + "title": "IngressRouteTable" + }, + "InternetGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The internet gateway.", + "title": "InternetGateway" + }, + "LoadBalancerArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the load balancer.", + "title": "LoadBalancerArn", + "type": "string" + }, + "LoadBalancerListenerPort": { + "markdownDescription": "The listener port of the load balancer.", + "title": "LoadBalancerListenerPort", + "type": "number" + }, + "LoadBalancerTarget": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget", + "markdownDescription": "The target.", + "title": "LoadBalancerTarget" + }, + "LoadBalancerTargetGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The target group.", + "title": "LoadBalancerTargetGroup" + }, + "LoadBalancerTargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "markdownDescription": "The target groups.", + "title": "LoadBalancerTargetGroups", + "type": "array" + }, + "LoadBalancerTargetPort": { + "markdownDescription": "The target port.", + "title": "LoadBalancerTargetPort", + "type": "number" + }, + "MissingComponent": { + "markdownDescription": "The missing component.", + "title": "MissingComponent", + "type": "string" + }, + "NatGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The NAT gateway.", + "title": "NatGateway" + }, + "NetworkInterface": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The network interface.", + "title": "NetworkInterface" + }, + "PacketField": { + "markdownDescription": "The packet field.", + "title": "PacketField", + "type": "string" + }, + "Port": { + "markdownDescription": "The port.", + "title": "Port", + "type": "number" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "markdownDescription": "The port ranges.", + "title": "PortRanges", + "type": "array" + }, + "PrefixList": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The prefix list.", + "title": "PrefixList" + }, + "Protocols": { + "items": { + "type": "string" + }, + "markdownDescription": "The protocols.", + "title": "Protocols", + "type": "array" + }, + "RouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The route table.", + "title": "RouteTable" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute", + "markdownDescription": "The route table route.", + "title": "RouteTableRoute" + }, + "SecurityGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The security group.", + "title": "SecurityGroup" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule", + "markdownDescription": "The security group rule.", + "title": "SecurityGroupRule" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "markdownDescription": "The security groups.", + "title": "SecurityGroups", + "type": "array" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The source VPC.", + "title": "SourceVpc" + }, + "State": { + "markdownDescription": "The state.", + "title": "State", + "type": "string" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The subnet.", + "title": "Subnet" + }, + "SubnetRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The route table for the subnet.", + "title": "SubnetRouteTable" + }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The transit gateway.", + "title": "TransitGateway" + }, + "TransitGatewayAttachment": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The transit gateway attachment.", + "title": "TransitGatewayAttachment" + }, + "TransitGatewayRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The transit gateway route table.", + "title": "TransitGatewayRouteTable" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute", + "markdownDescription": "The transit gateway route table route.", + "title": "TransitGatewayRouteTableRoute" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The component VPC.", + "title": "Vpc" + }, + "VpcPeeringConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The VPC peering connection.", + "title": "VpcPeeringConnection" + }, + "VpnConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The VPN connection.", + "title": "VpnConnection" + }, + "VpnGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The VPN gateway.", + "title": "VpnGateway" + }, + "vpcEndpoint": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The VPC endpoint.", + "title": "vpcEndpoint" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { + "additionalProperties": false, + "properties": { + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule", + "markdownDescription": "The network ACL rule.", + "title": "AclRule" + }, + "AdditionalDetails": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AdditionalDetail" + }, + "markdownDescription": "The additional details.", + "title": "AdditionalDetails", + "type": "array" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The component.", + "title": "Component" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The destination VPC.", + "title": "DestinationVpc" + }, + "ElasticLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The load balancer listener.", + "title": "ElasticLoadBalancerListener" + }, + "Explanations": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.Explanation" + }, + "markdownDescription": "The explanation codes.", + "title": "Explanations", + "type": "array" + }, + "InboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader", + "markdownDescription": "The inbound header.", + "title": "InboundHeader" + }, + "OutboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader", + "markdownDescription": "The outbound header.", + "title": "OutboundHeader" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute", + "markdownDescription": "The route table route.", + "title": "RouteTableRoute" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule", + "markdownDescription": "The security group rule.", + "title": "SecurityGroupRule" + }, + "SequenceNumber": { + "markdownDescription": "The sequence number.", + "title": "SequenceNumber", + "type": "number" + }, + "ServiceName": { + "markdownDescription": "The name of the VPC endpoint service.", + "title": "ServiceName", + "type": "string" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The source VPC.", + "title": "SourceVpc" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The subnet.", + "title": "Subnet" + }, + "TransitGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The transit gateway.", + "title": "TransitGateway" + }, + "TransitGatewayRouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute", + "markdownDescription": "The route in a transit gateway route table.", + "title": "TransitGatewayRouteTableRoute" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent", + "markdownDescription": "The component VPC.", + "title": "Vpc" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "markdownDescription": "The first port in the range.", + "title": "From", + "type": "number" + }, + "To": { + "markdownDescription": "The last port in the range.", + "title": "To", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute": { + "additionalProperties": false, + "properties": { + "AttachmentId": { + "markdownDescription": "The ID of the route attachment.", + "title": "AttachmentId", + "type": "string" + }, + "DestinationCidr": { + "markdownDescription": "The CIDR block used for destination matches.", + "title": "DestinationCidr", + "type": "string" + }, + "PrefixListId": { + "markdownDescription": "The ID of the prefix list.", + "title": "PrefixListId", + "type": "string" + }, + "ResourceId": { + "markdownDescription": "The ID of the resource for the route attachment.", + "title": "ResourceId", + "type": "string" + }, + "ResourceType": { + "markdownDescription": "The resource type for the route attachment.", + "title": "ResourceType", + "type": "string" + }, + "RouteOrigin": { + "markdownDescription": "The route origin. The following are the possible values:\n\n- static\n- propagated", + "title": "RouteOrigin", + "type": "string" + }, + "State": { + "markdownDescription": "The state of the route.", + "title": "State", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsPath": { + "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": { + "Destination": { + "markdownDescription": "The ID or ARN of the destination. If the resource is in another account, you must specify an ARN.", + "title": "Destination", + "type": "string" + }, + "DestinationIp": { + "markdownDescription": "The IP address of the destination.", + "title": "DestinationIp", + "type": "string" + }, + "DestinationPort": { + "markdownDescription": "The destination port.", + "title": "DestinationPort", + "type": "number" + }, + "FilterAtDestination": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.PathFilter", + "markdownDescription": "Scopes the analysis to network paths that match specific filters at the destination. If you specify this parameter, you can't specify the parameter for the destination IP address.", + "title": "FilterAtDestination" + }, + "FilterAtSource": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.PathFilter", + "markdownDescription": "Scopes the analysis to network paths that match specific filters at the source. If you specify this parameter, you can't specify the parameters for the source IP address or the destination port.", + "title": "FilterAtSource" + }, + "Protocol": { + "markdownDescription": "The protocol.", + "title": "Protocol", + "type": "string" + }, + "Source": { + "markdownDescription": "The ID or ARN of the source. If the resource is in another account, you must specify an ARN.", + "title": "Source", + "type": "string" + }, + "SourceIp": { + "markdownDescription": "The IP address of the source.", + "title": "SourceIp", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to add to the path.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Protocol", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsPath" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInsightsPath.FilterPortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "markdownDescription": "The first port in the range.", + "title": "FromPort", + "type": "number" + }, + "ToPort": { + "markdownDescription": "The last port in the range.", + "title": "ToPort", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsPath.PathFilter": { + "additionalProperties": false, + "properties": { + "DestinationAddress": { + "markdownDescription": "The destination IPv4 address.", + "title": "DestinationAddress", + "type": "string" + }, + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.FilterPortRange", + "markdownDescription": "The destination port range.", + "title": "DestinationPortRange" + }, + "SourceAddress": { + "markdownDescription": "The source IPv4 address.", + "title": "SourceAddress", + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.FilterPortRange", + "markdownDescription": "The source port range.", + "title": "SourcePortRange" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInterface": { + "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": { + "ConnectionTrackingSpecification": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.ConnectionTrackingSpecification", + "markdownDescription": "A connection tracking specification for the network interface.", + "title": "ConnectionTrackingSpecification" + }, + "Description": { + "markdownDescription": "A description for the network interface.", + "title": "Description", + "type": "string" + }, + "GroupSet": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the security groups associated with this network interface.", + "title": "GroupSet", + "type": "array" + }, + "InterfaceType": { + "markdownDescription": "The type of network interface. The default is `interface` . The supported values are `efa` and `trunk` .", + "title": "InterfaceType", + "type": "string" + }, + "Ipv4PrefixCount": { + "markdownDescription": "The number of IPv4 prefixes to be automatically assigned to the network interface.\n\nWhen creating a network interface, you can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.", + "title": "Ipv4PrefixCount", + "type": "number" + }, + "Ipv4Prefixes": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.Ipv4PrefixSpecification" + }, + "markdownDescription": "The IPv4 delegated prefixes that are assigned to the network interface.\n\nWhen creating a network interface, you can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.", + "title": "Ipv4Prefixes", + "type": "array" + }, + "Ipv6AddressCount": { + "markdownDescription": "The number of IPv6 addresses to assign to the network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the `Ipv6Addresses` property and don't specify this property.\n\nWhen creating a network interface, you can't specify a count of IPv6 addresses if you've specified one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.", + "title": "Ipv6AddressCount", + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" + }, + "markdownDescription": "The IPv6 addresses from the IPv6 CIDR block range of your subnet to assign to the network interface. If you're specifying a number of IPv6 addresses, use the `Ipv6AddressCount` property and don't specify this property.\n\nWhen creating a network interface, you can't specify IPv6 addresses if you've specified one of the following: a count of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.", + "title": "Ipv6Addresses", + "type": "array" + }, + "Ipv6PrefixCount": { + "markdownDescription": "The number of IPv6 prefixes to be automatically assigned to the network interface.\n\nWhen creating a network interface, you can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.", + "title": "Ipv6PrefixCount", + "type": "number" + }, + "Ipv6Prefixes": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.Ipv6PrefixSpecification" + }, + "markdownDescription": "The IPv6 delegated prefixes that are assigned to the network interface.\n\nWhen creating a network interface, you can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.", + "title": "Ipv6Prefixes", + "type": "array" + }, + "PrivateIpAddress": { + "markdownDescription": "The private IPv4 address to assign to the network interface as the primary private IP address. If you want to specify multiple private IP addresses, use the `PrivateIpAddresses` property.", + "title": "PrivateIpAddress", + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" + }, + "markdownDescription": "The private IPv4 addresses to assign to the network interface. You can specify a primary private IP address by setting the value of the `Primary` property to `true` in the `PrivateIpAddressSpecification` property. If you want EC2 to automatically assign private IP addresses, use the `SecondaryPrivateIpAddressCount` property and do not specify this property.\n\nWhen creating a network interface, you can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.", + "title": "PrivateIpAddresses", + "type": "array" + }, + "PublicIpDnsHostnameTypeSpecification": { + "markdownDescription": "", + "title": "PublicIpDnsHostnameTypeSpecification", + "type": "string" + }, + "SecondaryPrivateIpAddressCount": { + "markdownDescription": "The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using `privateIpAddresses` .\n\nWhen creating a Network Interface, you can't specify a count of private IPv4 addresses if you've specified one of the following: specific private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.", + "title": "SecondaryPrivateIpAddressCount", + "type": "number" + }, + "SourceDestCheck": { + "markdownDescription": "Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is `true` , source/destination checks are enabled; otherwise, they are disabled. The default value is `true` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.", + "title": "SourceDestCheck", + "type": "boolean" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet to associate with the network interface.", + "title": "SubnetId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the network interface.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterface" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.ConnectionTrackingSpecification": { + "additionalProperties": false, + "properties": { + "TcpEstablishedTimeout": { + "markdownDescription": "Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.", + "title": "TcpEstablishedTimeout", + "type": "number" + }, + "UdpStreamTimeout": { + "markdownDescription": "Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.", + "title": "UdpStreamTimeout", + "type": "number" + }, + "UdpTimeout": { + "markdownDescription": "Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.", + "title": "UdpTimeout", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInterface.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "markdownDescription": "An IPv6 address to associate with the network interface.", + "title": "Ipv6Address", + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.Ipv4PrefixSpecification": { + "additionalProperties": false, + "properties": { + "Ipv4Prefix": { + "markdownDescription": "The IPv4 prefix. For information, see [Assigning prefixes to network interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) in the *Amazon EC2 User Guide* .", + "title": "Ipv4Prefix", + "type": "string" + } + }, + "required": [ + "Ipv4Prefix" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.Ipv6PrefixSpecification": { + "additionalProperties": false, + "properties": { + "Ipv6Prefix": { + "markdownDescription": "The IPv6 prefix. For information, see [Assigning prefixes to Amazon EC2 network interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) in the *Amazon Elastic Compute Cloud User Guide* .", + "title": "Ipv6Prefix", + "type": "string" + } + }, + "required": [ + "Ipv6Prefix" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "markdownDescription": "Sets the private IP address as the primary private address. You can set only one primary private IP address. If you don't specify a primary private IP address, Amazon EC2 automatically assigns a primary private IP address.", + "title": "Primary", + "type": "boolean" + }, + "PrivateIpAddress": { + "markdownDescription": "The private IP address of the network interface.", + "title": "PrivateIpAddress", + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.PublicIpDnsNameOptions": { + "additionalProperties": false, + "properties": { + "DnsHostnameType": { + "markdownDescription": "The public hostname type. For more information, see [EC2 instance hostnames, DNS names, and domains](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon EC2 User Guide* .", + "title": "DnsHostnameType", + "type": "string" + }, + "PublicDualStackDnsName": { + "markdownDescription": "A dual-stack public hostname for a network interface. Requests from within the VPC resolve to both the private IPv4 address and the IPv6 Global Unicast Address of the network interface. Requests from the internet resolve to both the public IPv4 and the IPv6 GUA address of the network interface.", + "title": "PublicDualStackDnsName", + "type": "string" + }, + "PublicIpv4DnsName": { + "markdownDescription": "An IPv4-enabled public hostname for a network interface. Requests from within the VPC resolve to the private primary IPv4 address of the network interface. Requests from the internet resolve to the public IPv4 address of the network interface.", + "title": "PublicIpv4DnsName", + "type": "string" + }, + "PublicIpv6DnsName": { + "markdownDescription": "An IPv6-enabled public hostname for a network interface. Requests from within the VPC or from the internet resolve to the IPv6 GUA of the network interface.", + "title": "PublicIpv6DnsName", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInterfaceAttachment": { + "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": { + "DeleteOnTermination": { + "markdownDescription": "Whether to delete the network interface when the instance terminates. By default, this value is set to `true` .", + "title": "DeleteOnTermination", + "type": "boolean" + }, + "DeviceIndex": { + "markdownDescription": "The network interface's position in the attachment order. For example, the first attached network interface has a `DeviceIndex` of 0.", + "title": "DeviceIndex", + "type": "string" + }, + "EnaQueueCount": { + "markdownDescription": "The number of ENA queues created with the instance.", + "title": "EnaQueueCount", + "type": "number" + }, + "EnaSrdSpecification": { + "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment.EnaSrdSpecification", + "markdownDescription": "Configures ENA Express for the network interface that this action attaches to the instance.", + "title": "EnaSrdSpecification" + }, + "InstanceId": { + "markdownDescription": "The ID of the instance to which you will attach the ENI.", + "title": "InstanceId", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of the ENI that you want to attach.", + "title": "NetworkInterfaceId", + "type": "string" + } + }, + "required": [ + "DeviceIndex", + "InstanceId", + "NetworkInterfaceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterfaceAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterfaceAttachment.EnaSrdSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdEnabled": { + "markdownDescription": "Indicates whether ENA Express is enabled for the network interface.", + "title": "EnaSrdEnabled", + "type": "boolean" + }, + "EnaSrdUdpSpecification": { + "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment.EnaSrdUdpSpecification", + "markdownDescription": "Configures ENA Express for UDP network traffic.", + "title": "EnaSrdUdpSpecification" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInterfaceAttachment.EnaSrdUdpSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdUdpEnabled": { + "markdownDescription": "Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.", + "title": "EnaSrdUdpEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInterfacePermission": { + "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": { + "AwsAccountId": { + "markdownDescription": "The AWS account ID.", + "title": "AwsAccountId", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of the network interface.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "Permission": { + "markdownDescription": "The type of permission to grant: `INSTANCE-ATTACH` or `EIP-ASSOCIATE` .", + "title": "Permission", + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "NetworkInterfaceId", + "Permission" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterfacePermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkPerformanceMetricSubscription": { + "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": { + "Destination": { + "markdownDescription": "The Region or Availability Zone that's the target for the subscription. For example, `eu-west-1` .", + "title": "Destination", + "type": "string" + }, + "Metric": { + "markdownDescription": "The metric used for the subscription.", + "title": "Metric", + "type": "string" + }, + "Source": { + "markdownDescription": "The Region or Availability Zone that's the source for the subscription. For example, `us-east-1` .", + "title": "Source", + "type": "string" + }, + "Statistic": { + "markdownDescription": "The statistic used for the subscription.", + "title": "Statistic", + "type": "string" + } + }, + "required": [ + "Destination", + "Metric", + "Source", + "Statistic" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkPerformanceMetricSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PlacementGroup": { + "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": { + "ParentGroupId": { + "type": "string" + }, + "PartitionCount": { + "markdownDescription": "The number of partitions. Valid only when *Strategy* is set to `partition` .", + "title": "PartitionCount", + "type": "number" + }, + "SpreadLevel": { + "markdownDescription": "Determines how placement groups spread instances.\n\n- Host \u2013 You can use `host` only with Outpost placement groups.\n- Rack \u2013 No usage restrictions.", + "title": "SpreadLevel", + "type": "string" + }, + "Strategy": { + "markdownDescription": "The placement strategy.", + "title": "Strategy", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the new placement group.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PlacementGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::PrefixList": { + "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": { + "AddressFamily": { + "markdownDescription": "The IP address type.\n\nValid Values: `IPv4` | `IPv6`", + "title": "AddressFamily", + "type": "string" + }, + "Entries": { + "items": { + "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" + }, + "markdownDescription": "The entries for the prefix list.", + "title": "Entries", + "type": "array" + }, + "MaxEntries": { + "markdownDescription": "The maximum number of entries for the prefix list. You can't modify the entries and the size of a prefix list at the same time.\n\nThis property is required when you create a prefix list.", + "title": "MaxEntries", + "type": "number" + }, + "PrefixListName": { + "markdownDescription": "A name for the prefix list.\n\nConstraints: Up to 255 characters in length. The name cannot start with `com.amazonaws` .", + "title": "PrefixListName", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the prefix list.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "AddressFamily", + "PrefixListName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PrefixList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PrefixList.Entry": { + "additionalProperties": false, + "properties": { + "Cidr": { + "markdownDescription": "The CIDR block.", + "title": "Cidr", + "type": "string" + }, + "Description": { + "markdownDescription": "A description for the entry.\n\nConstraints: Up to 255 characters in length.", + "title": "Description", + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, + "AWS::EC2::ReplaceRootVolumeTask": { + "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": { + "DeleteReplacedRootVolume": { + "type": "boolean" + }, + "InstanceId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ReplaceRootVolumeTask" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ReservedInstances": { + "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": { + "InstanceCount": { + "type": "number" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ReservedInstances" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::ReservedInstances.RecurringCharge": { + "additionalProperties": false, + "properties": { + "Amount": { + "type": "number" + }, + "Frequency": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Route": { + "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": { + "CarrierGatewayId": { + "markdownDescription": "The ID of the carrier gateway.\n\nYou can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.", + "title": "CarrierGatewayId", + "type": "string" + }, + "CoreNetworkArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the core network.", + "title": "CoreNetworkArn", + "type": "string" + }, + "DestinationCidrBlock": { + "markdownDescription": "The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify `100.68.0.18/18` , we modify it to `100.68.0.0/18` .", + "title": "DestinationCidrBlock", + "type": "string" + }, + "DestinationIpv6CidrBlock": { + "markdownDescription": "The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.", + "title": "DestinationIpv6CidrBlock", + "type": "string" + }, + "DestinationPrefixListId": { + "markdownDescription": "The ID of a prefix list used for the destination match.", + "title": "DestinationPrefixListId", + "type": "string" + }, + "EgressOnlyInternetGatewayId": { + "markdownDescription": "[IPv6 traffic only] The ID of an egress-only internet gateway.", + "title": "EgressOnlyInternetGatewayId", + "type": "string" + }, + "GatewayId": { + "markdownDescription": "The ID of an internet gateway or virtual private gateway attached to your VPC.", + "title": "GatewayId", + "type": "string" + }, + "InstanceId": { + "markdownDescription": "The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.", + "title": "InstanceId", + "type": "string" + }, + "LocalGatewayId": { + "markdownDescription": "The ID of the local gateway.", + "title": "LocalGatewayId", + "type": "string" + }, + "NatGatewayId": { + "markdownDescription": "[IPv4 traffic only] The ID of a NAT gateway.", + "title": "NatGatewayId", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of a network interface.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "OdbNetworkArn": { + "type": "string" + }, + "RouteTableId": { + "markdownDescription": "The ID of the route table for the route.", + "title": "RouteTableId", + "type": "string" + }, + "TransitGatewayId": { + "markdownDescription": "The ID of a transit gateway.", + "title": "TransitGatewayId", + "type": "string" + }, + "VpcEndpointId": { + "markdownDescription": "The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.", + "title": "VpcEndpointId", + "type": "string" + }, + "VpcPeeringConnectionId": { + "markdownDescription": "The ID of a VPC peering connection.", + "title": "VpcPeeringConnectionId", + "type": "string" + } + }, + "required": [ + "RouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteServer": { + "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": { + "AmazonSideAsn": { + "markdownDescription": "The Border Gateway Protocol (BGP) Autonomous System Number (ASN) for the appliance. Valid values are from 1 to 4294967295. We recommend using a private ASN in the 64512\u201365534 (16-bit ASN) or 4200000000\u20134294967294 (32-bit ASN) range.", + "title": "AmazonSideAsn", + "type": "number" + }, + "PersistRoutes": { + "markdownDescription": "Indicates whether routes should be persisted after all BGP sessions are terminated.", + "title": "PersistRoutes", + "type": "string" + }, + "PersistRoutesDuration": { + "markdownDescription": "The number of minutes a route server will wait after BGP is re-established to unpersist the routes in the FIB and RIB. Value must be in the range of 1-5. The default value is 1. Only valid if `persistRoutesState` is 'enabled'.\n\nIf you set the duration to 1 minute, then when your network appliance re-establishes BGP with route server, it has 1 minute to relearn it's adjacent network and advertise those routes to route server before route server resumes normal functionality. In most cases, 1 minute is probably sufficient. If, however, you have concerns that your BGP network may not be capable of fully re-establishing and re-learning everything in 1 minute, you can increase the duration up to 5 minutes.", + "title": "PersistRoutesDuration", + "type": "number" + }, + "SnsNotificationsEnabled": { + "markdownDescription": "Indicates whether SNS notifications are enabled for the route server. Enabling SNS notifications persists BGP status changes to an SNS topic provisioned by AWS .", + "title": "SnsNotificationsEnabled", + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the route server.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "AmazonSideAsn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteServer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteServerAssociation": { + "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": { + "RouteServerId": { + "markdownDescription": "The ID of the associated route server.", + "title": "RouteServerId", + "type": "string" + }, + "VpcId": { + "markdownDescription": "The ID of the associated VPC.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "RouteServerId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteServerAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteServerEndpoint": { + "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": { + "RouteServerId": { + "markdownDescription": "The ID of the route server associated with this endpoint.", + "title": "RouteServerId", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet to place the route server endpoint into.", + "title": "SubnetId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the route server endpoint.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "RouteServerId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteServerEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteServerPeer": { + "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": { + "BgpOptions": { + "$ref": "#/definitions/AWS::EC2::RouteServerPeer.BgpOptions", + "markdownDescription": "The BGP configuration options for this peer, including ASN (Autonomous System Number) and BFD (Bidrectional Forwarding Detection) settings.", + "title": "BgpOptions" + }, + "PeerAddress": { + "markdownDescription": "The IPv4 address of the peer device.", + "title": "PeerAddress", + "type": "string" + }, + "RouteServerEndpointId": { + "markdownDescription": "The ID of the route server endpoint associated with this peer.", + "title": "RouteServerEndpointId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the route server peer.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "BgpOptions", + "PeerAddress", + "RouteServerEndpointId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteServerPeer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteServerPeer.BgpOptions": { + "additionalProperties": false, + "properties": { + "PeerAsn": { + "markdownDescription": "The Border Gateway Protocol (BGP) Autonomous System Number (ASN) for the appliance. Valid values are from 1 to 4294967295. We recommend using a private ASN in the 64512\u201365534 (16-bit ASN) or 4200000000\u20134294967294 (32-bit ASN) range.", + "title": "PeerAsn", + "type": "number" + }, + "PeerLivenessDetection": { + "markdownDescription": "The liveness detection protocol used for the BGP peer.\n\nThe requested liveness detection protocol for the BGP peer.\n\n- `bgp-keepalive` : The standard BGP keep alive mechanism ( [RFC4271](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc4271#page-21) ) that is stable but may take longer to fail-over in cases of network impact or router failure.\n- `bfd` : An additional Bidirectional Forwarding Detection (BFD) protocol ( [RFC5880](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc5880) ) that enables fast failover by using more sensitive liveness detection.\n\nDefaults to `bgp-keepalive` .", + "title": "PeerLivenessDetection", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::RouteServerPropagation": { + "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": { + "RouteServerId": { + "markdownDescription": "The ID of the route server configured for route propagation.", + "title": "RouteServerId", + "type": "string" + }, + "RouteTableId": { + "markdownDescription": "The ID of the route table configured for route server propagation.", + "title": "RouteTableId", + "type": "string" + } + }, + "required": [ + "RouteServerId", + "RouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteServerPropagation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteTable": { + "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" + }, + "markdownDescription": "Any tags assigned to the route table.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup": { + "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": { + "GroupDescription": { + "markdownDescription": "A description for the security group.\n\nConstraints: Up to 255 characters in length\n\nValid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*", + "title": "GroupDescription", + "type": "string" + }, + "GroupName": { + "markdownDescription": "The name of the security group. Names are case-insensitive and must be unique within the VPC.\n\nConstraints: Up to 255 characters in length. Can't start with `sg-` .\n\nValid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*", + "title": "GroupName", + "type": "string" + }, + "SecurityGroupEgress": { + "items": { + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" + }, + "markdownDescription": "The outbound rules associated with the security group.", + "title": "SecurityGroupEgress", + "type": "array" + }, + "SecurityGroupIngress": { + "items": { + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" + }, + "markdownDescription": "The inbound rules associated with the security group.", + "title": "SecurityGroupIngress", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the security group.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC for the security group. If you do not specify a VPC, the default is to use the default VPC for the Region. If there's no specified VPC and no default VPC, security group creation fails.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "GroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup.Egress": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIp", + "type": "string" + }, + "CidrIpv6": { + "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIpv6", + "type": "string" + }, + "Description": { + "markdownDescription": "A description for the security group rule.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", + "title": "Description", + "type": "string" + }, + "DestinationPrefixListId": { + "markdownDescription": "The prefix list IDs for the destination AWS service. This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", + "title": "DestinationPrefixListId", + "type": "string" + }, + "DestinationSecurityGroupId": { + "markdownDescription": "The ID of the destination VPC security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", + "title": "DestinationSecurityGroupId", + "type": "string" + }, + "FromPort": { + "markdownDescription": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).", + "title": "FromPort", + "type": "number" + }, + "IpProtocol": { + "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", + "title": "IpProtocol", + "type": "string" + }, + "ToPort": { + "markdownDescription": "If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).", + "title": "ToPort", + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup.Ingress": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIp", + "type": "string" + }, + "CidrIpv6": { + "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIpv6", + "type": "string" + }, + "Description": { + "markdownDescription": "Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", + "title": "Description", + "type": "string" + }, + "FromPort": { + "markdownDescription": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).", + "title": "FromPort", + "type": "number" + }, + "IpProtocol": { + "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", + "title": "IpProtocol", + "type": "string" + }, + "SourcePrefixListId": { + "markdownDescription": "The ID of a prefix list.", + "title": "SourcePrefixListId", + "type": "string" + }, + "SourceSecurityGroupId": { + "markdownDescription": "The ID of the security group.", + "title": "SourceSecurityGroupId", + "type": "string" + }, + "SourceSecurityGroupName": { + "markdownDescription": "[Default VPC] The name of the source security group. You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nFor security groups in a nondefault VPC, you must specify the group ID.", + "title": "SourceSecurityGroupName", + "type": "string" + }, + "SourceSecurityGroupOwnerId": { + "markdownDescription": "[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nIf you specify `SourceSecurityGroupName` or `SourceSecurityGroupId` and that security group is owned by a different account than the account creating the stack, you must specify the `SourceSecurityGroupOwnerId` ; otherwise, this property is optional.", + "title": "SourceSecurityGroupOwnerId", + "type": "string" + }, + "ToPort": { + "markdownDescription": "If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).", + "title": "ToPort", + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroupEgress": { + "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": { + "CidrIp": { + "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIp", + "type": "string" + }, + "CidrIpv6": { + "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIpv6", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of an egress (outbound) security group rule.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", + "title": "Description", + "type": "string" + }, + "DestinationPrefixListId": { + "markdownDescription": "The prefix list IDs for an AWS service. This is the AWS service to access through a VPC endpoint from instances associated with the security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", + "title": "DestinationPrefixListId", + "type": "string" + }, + "DestinationSecurityGroupId": { + "markdownDescription": "The ID of the security group.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .", + "title": "DestinationSecurityGroupId", + "type": "string" + }, + "FromPort": { + "markdownDescription": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).", + "title": "FromPort", + "type": "number" + }, + "GroupId": { + "markdownDescription": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", + "title": "GroupId", + "type": "string" + }, + "IpProtocol": { + "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", + "title": "IpProtocol", + "type": "string" + }, + "ToPort": { + "markdownDescription": "If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).", + "title": "ToPort", + "type": "number" + } + }, + "required": [ + "GroupId", + "IpProtocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroupEgress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroupIngress": { + "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": { + "CidrIp": { + "markdownDescription": "The IPv4 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIp", + "type": "string" + }, + "CidrIpv6": { + "markdownDescription": "The IPv6 address range, in CIDR format.\n\nYou must specify exactly one of the following: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , or `SourceSecurityGroupId` .\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", + "title": "CidrIpv6", + "type": "string" + }, + "Description": { + "markdownDescription": "Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", + "title": "Description", + "type": "string" + }, + "FromPort": { + "markdownDescription": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of `-1` indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.\n\nUse this for ICMP and any protocol that uses ports.", + "title": "FromPort", + "type": "number" + }, + "GroupId": { + "markdownDescription": "The ID of the security group.", + "title": "GroupId", + "type": "string" + }, + "GroupName": { + "markdownDescription": "[Default VPC] The name of the security group. For security groups for a default VPC you can specify either the ID or the name of the security group. For security groups for a nondefault VPC, you must specify the ID of the security group.", + "title": "GroupName", + "type": "string" + }, + "IpProtocol": { + "markdownDescription": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\nUse `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", + "title": "IpProtocol", + "type": "string" + }, + "SourcePrefixListId": { + "markdownDescription": "The ID of a prefix list.", + "title": "SourcePrefixListId", + "type": "string" + }, + "SourceSecurityGroupId": { + "markdownDescription": "The ID of the security group. You must specify either the security group ID or the security group name. For security groups in a nondefault VPC, you must specify the security group ID.", + "title": "SourceSecurityGroupId", + "type": "string" + }, + "SourceSecurityGroupName": { + "markdownDescription": "[Default VPC] The name of the source security group. You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nFor security groups in a nondefault VPC, you must specify the group ID.", + "title": "SourceSecurityGroupName", + "type": "string" + }, + "SourceSecurityGroupOwnerId": { + "markdownDescription": "[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nIf you specify `SourceSecurityGroupName` or `SourceSecurityGroupId` and that security group is owned by a different account than the account creating the stack, you must specify `SourceSecurityGroupOwnerId` ; otherwise, this property is optional.", + "title": "SourceSecurityGroupOwnerId", + "type": "string" + }, + "ToPort": { + "markdownDescription": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of `-1` indicates all ICMP/ICMPv6 codes for the specified ICMP type. If you specify all ICMP/ICMPv6 types, you must specify all codes.\n\nUse this for ICMP and any protocol that uses ports.", + "title": "ToPort", + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroupVpcAssociation": { + "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": { + "GroupId": { + "markdownDescription": "The association's security group ID.", + "title": "GroupId", + "type": "string" + }, + "VpcId": { + "markdownDescription": "The association's VPC ID.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "GroupId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroupVpcAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SnapshotBlockPublicAccess": { + "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": { + "State": { + "markdownDescription": "The mode in which to enable block public access for snapshots for the Region. Specify one of the following values:\n\n- `block-all-sharing` - Prevents all public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. Additionally, snapshots that are already publicly shared are treated as private and they are no longer publicly available.\n\n> If you enable block public access for snapshots in `block-all-sharing` mode, it does not change the permissions for snapshots that are already publicly shared. Instead, it prevents these snapshots from be publicly visible and publicly accessible. Therefore, the attributes for these snapshots still indicate that they are publicly shared, even though they are not publicly available.\n- `block-new-sharing` - Prevents only new public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. However, snapshots that are already publicly shared, remain publicly available.", + "title": "State", + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SnapshotBlockPublicAccess" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet": { + "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": { + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData", + "markdownDescription": "Describes the configuration of a Spot Fleet request.", + "title": "SpotFleetRequestConfigData" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for a Spot Fleet resource.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "SpotFleetRequestConfigData" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SpotFleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.AcceleratorCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of accelerators. To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` .", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of accelerators. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.BaselinePerformanceFactorsRequest": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.CpuPerformanceFactorRequest", + "markdownDescription": "The CPU performance to consider, using an instance family as the baseline reference.", + "title": "Cpu" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "markdownDescription": "The device name. For available device names, see [Device names for volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html) .", + "title": "DeviceName", + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice", + "markdownDescription": "Parameters used to automatically set up EBS volumes when the instance is launched.", + "title": "Ebs" + }, + "NoDevice": { + "markdownDescription": "To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.", + "title": "NoDevice", + "type": "string" + }, + "VirtualName": { + "markdownDescription": "The virtual device name ( `ephemeral` N). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for `ephemeral0` and `ephemeral1` . The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.\n\nNVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.\n\nConstraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.", + "title": "VirtualName", + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the load balancer.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" + }, + "markdownDescription": "One or more Classic Load Balancers.", + "title": "ClassicLoadBalancers", + "type": "array" + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.PerformanceFactorReferenceRequest" + }, + "markdownDescription": "Specify an instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.\n\n> Currently, only one instance family can be specified in the list.", + "title": "References", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "markdownDescription": "Indicates whether the EBS volume is deleted on instance termination. For more information, see [Preserving Amazon EBS volumes on instance termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) in the *Amazon EC2 User Guide* .", + "title": "DeleteOnTermination", + "type": "boolean" + }, + "Encrypted": { + "markdownDescription": "Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Amazon EBS Encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters) in the *Amazon EC2 User Guide* .\n\nIn no case can you remove encryption from an encrypted volume.\n\nEncrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see [Supported Instance Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances) .\n\nThis parameter is not returned by [DescribeImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html) .", + "title": "Encrypted", + "type": "boolean" + }, + "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 - 80,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nFor `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . On other instances, you can achieve performance up to 32,000 IOPS.\n\nThis parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS.", + "title": "Iops", + "type": "number" + }, + "SnapshotId": { + "markdownDescription": "The ID of the snapshot.", + "title": "SnapshotId", + "type": "string" + }, + "VolumeSize": { + "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.\n\nThe following are the supported sizes for each volume type:\n\n- `gp2` : 1 - 16,384 GiB\n- `gp3` : 1 - 65,536 GiB\n- `io1` : 4 - 16,384 GiB\n- `io2` : 4 - 65,536 GiB\n- `st1` and `sc1` : 125 - 16,384 GiB\n- `standard` : 1 - 1024 GiB", + "title": "VolumeSize", + "type": "number" + }, + "VolumeType": { + "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .", + "title": "VolumeType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "markdownDescription": "The ID of the launch template.\n\nYou must specify the `LaunchTemplateId` or the `LaunchTemplateName` , but not both.", + "title": "LaunchTemplateId", + "type": "string" + }, + "LaunchTemplateName": { + "markdownDescription": "The name of the launch template.\n\nYou must specify the `LaunchTemplateName` or the `LaunchTemplateId` , but not both.", + "title": "LaunchTemplateName", + "type": "string" + }, + "Version": { + "markdownDescription": "The version number of the launch template.\n\nSpecifying `$Latest` or `$Default` for the template version number is not supported. However, you can specify `LatestVersionNumber` or `DefaultVersionNumber` using the `Fn::GetAtt` intrinsic function. For more information, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate-return-values-fn--getatt) .", + "title": "Version", + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.GroupIdentifier": { + "additionalProperties": false, + "properties": { + "GroupId": { + "markdownDescription": "The ID of the security group.", + "title": "GroupId", + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile.", + "title": "Arn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "markdownDescription": "The IPv6 address.", + "title": "Ipv6Address", + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "markdownDescription": "Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is `true` .\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [Amazon VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", + "title": "AssociatePublicIpAddress", + "type": "boolean" + }, + "DeleteOnTermination": { + "markdownDescription": "Indicates whether the network interface is deleted when the instance is terminated.", + "title": "DeleteOnTermination", + "type": "boolean" + }, + "Description": { + "markdownDescription": "The description of the network interface. Applies only if creating a network interface when launching an instance.", + "title": "Description", + "type": "string" + }, + "DeviceIndex": { + "markdownDescription": "The position of the network interface in the attachment order. A primary network interface has a device index of 0.\n\nIf you specify a network interface when launching an instance, you must specify the device index.", + "title": "DeviceIndex", + "type": "number" + }, + "Groups": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.", + "title": "Groups", + "type": "array" + }, + "Ipv6AddressCount": { + "markdownDescription": "A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.", + "title": "Ipv6AddressCount", + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + }, + "markdownDescription": "The IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.", + "title": "Ipv6Addresses", + "type": "array" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of the network interface.\n\nIf you are creating a Spot Fleet, omit this parameter because you can\u2019t specify a network interface ID in a launch specification.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + }, + "markdownDescription": "The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're launching more than one instance in a [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) request.", + "title": "PrivateIpAddresses", + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "markdownDescription": "The number of secondary private IPv4 addresses. You can\u2019t specify this parameter and also specify a secondary private IP address using the `PrivateIpAddress` parameter.", + "title": "SecondaryPrivateIpAddressCount", + "type": "number" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet associated with the network interface.", + "title": "SubnetId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.AcceleratorCountRequest", + "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n\nTo exclude accelerator-enabled instance types, set `Max` to `0` .\n\nDefault: No minimum or maximum limits", + "title": "AcceleratorCount" + }, + "AcceleratorManufacturers": { + "items": { + "type": "string" + }, + "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n\n- For instance types with AWS devices, specify `amazon-web-services` .\n- For instance types with AMD devices, specify `amd` .\n- For instance types with Habana devices, specify `habana` .\n- For instance types with NVIDIA devices, specify `nvidia` .\n- For instance types with Xilinx devices, specify `xilinx` .\n\nDefault: Any manufacturer", + "title": "AcceleratorManufacturers", + "type": "array" + }, + "AcceleratorNames": { + "items": { + "type": "string" + }, + "markdownDescription": "The accelerators that must be on the instance type.\n\n- For instance types with NVIDIA A10G GPUs, specify `a10g` .\n- For instance types with NVIDIA A100 GPUs, specify `a100` .\n- For instance types with NVIDIA H100 GPUs, specify `h100` .\n- For instance types with AWS Inferentia chips, specify `inferentia` .\n- For instance types with AWS Inferentia2 chips, specify `inferentia2` .\n- For instance types with Habana Gaudi HL-205 GPUs, specify `gaudi-hl-205` .\n- For instance types with NVIDIA GRID K520 GPUs, specify `k520` .\n- For instance types with NVIDIA K80 GPUs, specify `k80` .\n- For instance types with NVIDIA L4 GPUs, specify `l4` .\n- For instance types with NVIDIA L40S GPUs, specify `l40s` .\n- For instance types with NVIDIA M60 GPUs, specify `m60` .\n- For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` .\n- For instance types with AWS Trainium chips, specify `trainium` .\n- For instance types with AWS Trainium2 chips, specify `trainium2` .\n- For instance types with NVIDIA T4 GPUs, specify `t4` .\n- For instance types with NVIDIA T4G GPUs, specify `t4g` .\n- For instance types with Xilinx U30 cards, specify `u30` .\n- For instance types with Xilinx VU9P FPGAs, specify `vu9p` .\n- For instance types with NVIDIA V100 GPUs, specify `v100` .\n\nDefault: Any accelerator", + "title": "AcceleratorNames", + "type": "array" + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.AcceleratorTotalMemoryMiBRequest", + "markdownDescription": "The minimum and maximum amount of total accelerator memory, in MiB.\n\nDefault: No minimum or maximum limits", + "title": "AcceleratorTotalMemoryMiB" + }, + "AcceleratorTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The accelerator types that must be on the instance type.\n\n- For instance types with FPGA accelerators, specify `fpga` .\n- For instance types with GPU accelerators, specify `gpu` .\n- For instance types with Inference accelerators, specify `inference` .\n- For instance types with Media accelerators, specify `media` .\n\nDefault: Any accelerator type", + "title": "AcceleratorTypes", + "type": "array" + }, + "AllowedInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n\n> If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . \n\nDefault: All instance types", + "title": "AllowedInstanceTypes", + "type": "array" + }, + "BareMetal": { + "markdownDescription": "Indicates whether bare metal instance types must be included, excluded, or required.\n\n- To include bare metal instance types, specify `included` .\n- To require only bare metal instance types, specify `required` .\n- To exclude bare metal instance types, specify `excluded` .\n\nDefault: `excluded`", + "title": "BareMetal", + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.BaselineEbsBandwidthMbpsRequest", + "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", + "title": "BaselineEbsBandwidthMbps" + }, + "BaselinePerformanceFactors": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.BaselinePerformanceFactorsRequest", + "markdownDescription": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .", + "title": "BaselinePerformanceFactors" + }, + "BurstablePerformance": { + "markdownDescription": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`", + "title": "BurstablePerformance", + "type": "string" + }, + "CpuManufacturers": { + "items": { + "type": "string" + }, + "markdownDescription": "The CPU manufacturers to include.\n\n- For instance types with Intel CPUs, specify `intel` .\n- For instance types with AMD CPUs, specify `amd` .\n- For instance types with AWS CPUs, specify `amazon-web-services` .\n- For instance types with Apple CPUs, specify `apple` .\n\n> Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. \n\nDefault: Any manufacturer", + "title": "CpuManufacturers", + "type": "array" + }, + "ExcludedInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The instance types to exclude.\n\nYou can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance family, type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` .\n\nFor example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n\n> If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . \n\nDefault: No excluded instance types", + "title": "ExcludedInstanceTypes", + "type": "array" + }, + "InstanceGenerations": { + "items": { + "type": "string" + }, + "markdownDescription": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .\n\nFor current generation instance types, specify `current` .\n\nFor previous generation instance types, specify `previous` .\n\nDefault: Current and previous generation instance types", + "title": "InstanceGenerations", + "type": "array" + }, + "LocalStorage": { + "markdownDescription": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* .\n\n- To include instance types with instance store volumes, specify `included` .\n- To require only instance types with instance store volumes, specify `required` .\n- To exclude instance types with instance store volumes, specify `excluded` .\n\nDefault: `included`", + "title": "LocalStorage", + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The type of local storage that is required.\n\n- For instance types with hard disk drive (HDD) storage, specify `hdd` .\n- For instance types with solid state drive (SSD) storage, specify `ssd` .\n\nDefault: `hdd` and `ssd`", + "title": "LocalStorageTypes", + "type": "array" + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` .", + "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", + "type": "number" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.MemoryGiBPerVCpuRequest", + "markdownDescription": "The minimum and maximum amount of memory per vCPU, in GiB.\n\nDefault: No minimum or maximum limits", + "title": "MemoryGiBPerVCpu" + }, + "MemoryMiB": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.MemoryMiBRequest", + "markdownDescription": "The minimum and maximum amount of memory, in MiB.", + "title": "MemoryMiB" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.NetworkBandwidthGbpsRequest", + "markdownDescription": "The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more information, see [Amazon EC2 instance network bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits", + "title": "NetworkBandwidthGbps" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.NetworkInterfaceCountRequest", + "markdownDescription": "The minimum and maximum number of network interfaces.\n\nDefault: No minimum or maximum limits", + "title": "NetworkInterfaceCount" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nTo indicate no price protection threshold, specify a high value, such as `999999` .\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. \n\nDefault: `20`", + "title": "OnDemandMaxPricePercentageOverLowestPrice", + "type": "number" + }, + "RequireEncryptionInTransit": { + "markdownDescription": "Specifies whether instance types must support encrypting in-transit traffic between instances. For more information, including the supported instance types, see [Encryption in transit](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-protection.html#encryption-transit) in the *Amazon EC2 User Guide* .\n\nDefault: `false`", + "title": "RequireEncryptionInTransit", + "type": "boolean" + }, + "RequireHibernateSupport": { + "markdownDescription": "Indicates whether instance types must support hibernation for On-Demand Instances.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) .\n\nDefault: `false`", + "title": "RequireHibernateSupport", + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n\nThe parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n\nIf you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n\nThis parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) .\n\n> Only one of `SpotMaxPricePercentageOverLowestPrice` or `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as `999999` . \n\nDefault: `100`", + "title": "SpotMaxPricePercentageOverLowestPrice", + "type": "number" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TotalLocalStorageGBRequest", + "markdownDescription": "The minimum and maximum amount of total local storage, in GB.\n\nDefault: No minimum or maximum limits", + "title": "TotalLocalStorageGB" + }, + "VCpuCount": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.VCpuCountRangeRequest", + "markdownDescription": "The minimum and maximum number of vCPUs.", + "title": "VCpuCount" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification", + "markdownDescription": "The launch template to use. Make sure that the launch template does not contain the `NetworkInterfaceId` parameter because you can't specify a network interface ID in a Spot Fleet.", + "title": "LaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" + }, + "markdownDescription": "Any parameters that you specify override the same parameters in the launch template.", + "title": "Overrides", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "markdownDescription": "The Availability Zone in which to launch the instances. For example, `us-east-2a` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", + "title": "AvailabilityZone", + "type": "string" + }, + "AvailabilityZoneId": { + "markdownDescription": "The ID of the Availability Zone in which to launch the instances. For example, `use2-az1` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", + "title": "AvailabilityZoneId", + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceRequirementsRequest", + "markdownDescription": "The instance requirements. When you specify instance requirements, Amazon EC2 will identify instance types with the provided requirements, and then use your On-Demand and Spot allocation strategies to launch instances from these instance types, in the same way as when you specify a list of instance types.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .", + "title": "InstanceRequirements" + }, + "InstanceType": { + "markdownDescription": "The instance type.", + "title": "InstanceType", + "type": "string" + }, + "Priority": { + "markdownDescription": "The priority for the launch template override. The highest priority is launched first.\n\nIf `OnDemandAllocationStrategy` is set to `prioritized` , Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.\n\nIf the Spot `AllocationStrategy` is set to `capacityOptimizedPrioritized` , Spot Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.\n\nValid values are whole numbers starting at `0` . The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.", + "title": "Priority", + "type": "number" + }, + "SpotPrice": { + "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.", + "title": "SpotPrice", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet in which to launch the instances.", + "title": "SubnetId", + "type": "string" + }, + "WeightedCapacity": { + "markdownDescription": "The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.\n\nIf the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.\n\n> When specifying weights, the price used in the `lowestPrice` and `priceCapacityOptimized` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested `TargetCapacity` , resulting in only 1 instance being launched, the price used is per *instance* hour.", + "title": "WeightedCapacity", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig", + "markdownDescription": "The Classic Load Balancers.", + "title": "ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig", + "markdownDescription": "The target groups.", + "title": "TargetGroupsConfig" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of memory, in MiB. To specify no minimum limit, specify `0` .", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of network interfaces. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of network interfaces. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "markdownDescription": "The instance family to use as a baseline reference.\n\n> Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( `.` ) in the instance type name. For example, in the instance type `c6i.large` , the instance family is `c6i` , not `c6` . For more information, see [Amazon EC2 instance type naming conventions](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) in *Amazon EC2 Instance Types* . \n\nThe following instance families are *not supported* for performance protection:\n\n- `c1`\n- `g3` | `g3s`\n- `hpc7g`\n- `m1` | `m2`\n- `mac1` | `mac2` | `mac2-m1ultra` | `mac2-m2` | `mac2-m2pro`\n- `p3dn` | `p4d` | `p5`\n- `t1`\n- `u-12tb1` | `u-18tb1` | `u-24tb1` | `u-3tb1` | `u-6tb1` | `u-9tb1` | `u7i-12tb` | `u7in-16tb` | `u7in-24tb` | `u7in-32tb`\n\nIf you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.\n\nIf you specify an unsupported instance family as a value for baseline performance, the API returns an empty response for [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) and an exception for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html) , [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) , [ModifyFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html) , and [ModifySpotFleetRequest](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html) .", + "title": "InstanceFamily", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "markdownDescription": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.", + "title": "Primary", + "type": "boolean" + }, + "PrivateIpAddress": { + "markdownDescription": "The private IPv4 address.", + "title": "PrivateIpAddress", + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "markdownDescription": "The replacement strategy to use. Only available for fleets of type `maintain` .\n\n`launch` - Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.\n\n`launch-before-terminate` - Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in `TerminationDelay` ), terminates the instances that received a rebalance notification.", + "title": "ReplacementStrategy", + "type": "string" + }, + "TerminationDelay": { + "markdownDescription": "The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.\n\nRequired when `ReplacementStrategy` is set to `launch-before-terminate` .\n\nNot valid when `ReplacementStrategy` is set to `launch` .\n\nValid values: Minimum value of `120` seconds. Maximum value of `7200` seconds.", + "title": "TerminationDelay", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" + }, + "markdownDescription": "One or more block devices that are mapped to the Spot Instances. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.", + "title": "BlockDeviceMappings", + "type": "array" + }, + "EbsOptimized": { + "markdownDescription": "Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.\n\nDefault: `false`", + "title": "EbsOptimized", + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification", + "markdownDescription": "The IAM instance profile.", + "title": "IamInstanceProfile" + }, + "ImageId": { + "markdownDescription": "The ID of the AMI.", + "title": "ImageId", + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceRequirementsRequest", + "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.\n\n> If you specify `InstanceRequirements` , you can't specify `InstanceType` .", + "title": "InstanceRequirements" + }, + "InstanceType": { + "markdownDescription": "The instance type.", + "title": "InstanceType", + "type": "string" + }, + "KernelId": { + "markdownDescription": "The ID of the kernel.", + "title": "KernelId", + "type": "string" + }, + "KeyName": { + "markdownDescription": "The name of the key pair.", + "title": "KeyName", + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring", + "markdownDescription": "Enable or disable monitoring for the instances.", + "title": "Monitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" + }, + "markdownDescription": "The network interfaces.", + "title": "NetworkInterfaces", + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement", + "markdownDescription": "The placement information.", + "title": "Placement" + }, + "RamdiskId": { + "markdownDescription": "The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the AWS Resource Center and search for the kernel ID.", + "title": "RamdiskId", + "type": "string" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" + }, + "markdownDescription": "The security groups.\n\nIf you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.", + "title": "SecurityGroups", + "type": "array" + }, + "SpotPrice": { + "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.", + "title": "SpotPrice", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, \"subnet-1234abcdeexample1, subnet-0987cdef6example2\".\n\nIf you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.", + "title": "SubnetId", + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + }, + "markdownDescription": "The tags to apply during creation.", + "title": "TagSpecifications", + "type": "array" + }, + "UserData": { + "markdownDescription": "The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.", + "title": "UserData", + "type": "string" + }, + "WeightedCapacity": { + "markdownDescription": "The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.\n\nIf the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.\n\n> When specifying weights, the price used in the `lowestPrice` and `priceCapacityOptimized` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested `TargetCapacity` , resulting in only 1 instance being launched, the price used is per *instance* hour.", + "title": "WeightedCapacity", + "type": "number" + } + }, + "required": [ + "ImageId" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "markdownDescription": "Enables monitoring for the instance.\n\nDefault: `false`", + "title": "Enabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "markdownDescription": "The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see [Allocation strategies for Spot Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-allocation-strategy.html) in the *Amazon EC2 User Guide* .\n\n- **priceCapacityOptimized (recommended)** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.\n- **capacityOptimized** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use `capacityOptimizedPrioritized` . Set a priority for each instance type by using the `Priority` parameter for `LaunchTemplateOverrides` . You can assign the same priority to different `LaunchTemplateOverrides` . EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. `capacityOptimizedPrioritized` is supported only if your Spot Fleet uses a launch template. Note that if the `OnDemandAllocationStrategy` is set to `prioritized` , the same priority is applied when fulfilling On-Demand capacity.\n- **diversified** - Spot Fleet requests instances from all of the Spot Instance pools that you specify.\n- **lowestPrice (not recommended)** - > We don't recommend the `lowestPrice` allocation strategy because it has the highest risk of interruption for your Spot Instances. \n\nSpot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.\n\nDefault: `lowestPrice`", + "title": "AllocationStrategy", + "type": "string" + }, + "Context": { + "markdownDescription": "Reserved.", + "title": "Context", + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "markdownDescription": "Indicates whether running Spot Instances should be terminated if you decrease the target capacity of the Spot Fleet request below the current size of the Spot Fleet.\n\nSupported only for fleets of type `maintain` .", + "title": "ExcessCapacityTerminationPolicy", + "type": "string" + }, + "IamFleetRole": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that grants the Spot Fleet the permission to request, launch, terminate, and tag instances on your behalf. For more information, see [Spot Fleet Prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites) in the *Amazon EC2 User Guide* . Spot Fleet can terminate Spot Instances on your behalf when you cancel its Spot Fleet request or when the Spot Fleet request expires, if you set `TerminateInstancesWithExpiration` .", + "title": "IamFleetRole", + "type": "string" + }, + "InstanceInterruptionBehavior": { + "markdownDescription": "The behavior when a Spot Instance is interrupted. The default is `terminate` .", + "title": "InstanceInterruptionBehavior", + "type": "string" + }, + "InstancePoolsToUseCount": { + "markdownDescription": "The number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot *AllocationStrategy* is set to `lowest-price` . Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.\n\nNote that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified.", + "title": "InstancePoolsToUseCount", + "type": "number" + }, + "LaunchSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetLaunchSpecification" + }, + "markdownDescription": "The launch specifications for the Spot Fleet request. If you specify `LaunchSpecifications` , you can't specify `LaunchTemplateConfigs` .", + "title": "LaunchSpecifications", + "type": "array" + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateConfig" + }, + "markdownDescription": "The launch template and overrides. If you specify `LaunchTemplateConfigs` , you can't specify `LaunchSpecifications` .", + "title": "LaunchTemplateConfigs", + "type": "array" + }, + "LoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LoadBalancersConfig", + "markdownDescription": "One or more Classic Load Balancers and target groups to attach to the Spot Fleet request. Spot Fleet registers the running Spot Instances with the specified Classic Load Balancers and target groups.\n\nWith Network Load Balancers, Spot Fleet cannot register instances that have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1.", + "title": "LoadBalancersConfig" + }, + "OnDemandAllocationStrategy": { + "markdownDescription": "The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify `lowestPrice` , Spot Fleet uses price to determine the order, launching the lowest price first. If you specify `prioritized` , Spot Fleet uses the priority that you assign to each Spot Fleet launch template override, launching the highest priority first. If you do not specify a value, Spot Fleet defaults to `lowestPrice` .", + "title": "OnDemandAllocationStrategy", + "type": "string" + }, + "OnDemandMaxTotalPrice": { + "markdownDescription": "The maximum amount per hour for On-Demand Instances that you're willing to pay. You can use the `onDemandMaxTotalPrice` parameter, the `spotMaxTotalPrice` parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn\u2019t met the target capacity.\n\n> If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `onDemandMaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `onDemandMaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", + "title": "OnDemandMaxTotalPrice", + "type": "string" + }, + "OnDemandTargetCapacity": { + "markdownDescription": "The number of On-Demand units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is `maintain` , you can specify a target capacity of 0 and add capacity later.", + "title": "OnDemandTargetCapacity", + "type": "number" + }, + "ReplaceUnhealthyInstances": { + "markdownDescription": "Indicates whether Spot Fleet should replace unhealthy instances.", + "title": "ReplaceUnhealthyInstances", + "type": "boolean" + }, + "SpotMaintenanceStrategies": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotMaintenanceStrategies", + "markdownDescription": "The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.", + "title": "SpotMaintenanceStrategies" + }, + "SpotMaxTotalPrice": { + "markdownDescription": "The maximum amount per hour for Spot Instances that you're willing to pay. You can use the `spotMaxTotalPrice` parameter, the `onDemandMaxTotalPrice` parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn\u2019t met the target capacity.\n\n> If your fleet includes T instances that are configured as `unlimited` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The `spotMaxTotalPrice` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for `spotMaxTotalPrice` . For more information, see [Surplus credits can incur charges](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits) in the *Amazon EC2 User Guide* .", + "title": "SpotMaxTotalPrice", + "type": "string" + }, + "SpotPrice": { + "markdownDescription": "The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n\n> If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.", + "title": "SpotPrice", + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + }, + "markdownDescription": "The key-value pair for tagging the Spot Fleet request on creation. The value for `ResourceType` must be `spot-fleet-request` , otherwise the Spot Fleet request fails. To tag instances at launch, specify the tags in the [launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template) (valid only if you use `LaunchTemplateConfigs` ) or in the `[SpotFleetTagSpecification](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetTagSpecification.html)` (valid only if you use `LaunchSpecifications` ). For information about tagging after launch, see [Tag your resources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources) .", + "title": "TagSpecifications", + "type": "array" + }, + "TargetCapacity": { + "markdownDescription": "The number of units to request for the Spot Fleet. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is `maintain` , you can specify a target capacity of 0 and add capacity later.", + "title": "TargetCapacity", + "type": "number" + }, + "TargetCapacityUnitType": { + "markdownDescription": "The unit for the target capacity. You can specify this parameter only when using attribute-based instance type selection.\n\nDefault: `units` (the number of instances)", + "title": "TargetCapacityUnitType", + "type": "string" + }, + "TerminateInstancesWithExpiration": { + "markdownDescription": "Indicates whether running Spot Instances are terminated when the Spot Fleet request expires.", + "title": "TerminateInstancesWithExpiration", + "type": "boolean" + }, + "Type": { + "markdownDescription": "The type of request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. When this value is `request` , the Spot Fleet only places the required requests. It does not attempt to replenish Spot Instances if capacity is diminished, nor does it submit requests in alternative Spot pools if capacity is not available. When this value is `maintain` , the Spot Fleet maintains the target capacity. The Spot Fleet places the required requests to meet capacity and automatically replenishes any interrupted instances. Default: `maintain` . `instant` is listed but is not used by Spot Fleet.", + "title": "Type", + "type": "string" + }, + "ValidFrom": { + "markdownDescription": "The start date and time of the request, in UTC format ( *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). By default, Amazon EC2 starts fulfilling the request immediately.", + "title": "ValidFrom", + "type": "string" + }, + "ValidUntil": { + "markdownDescription": "The end date and time of the request, in UTC format ( *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). After the end date and time, no new Spot Instance requests are placed or able to fulfill the request. If no value is specified, the Spot Fleet request remains until you cancel it.", + "title": "ValidUntil", + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "markdownDescription": "The type of resource. Currently, the only resource type that is supported is `instance` . To tag the Spot Fleet request on creation, use the `TagSpecifications` parameter in `[SpotFleetRequestConfigData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetRequestConfigData.html)` .", + "title": "ResourceType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance", + "markdownDescription": "The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see [Capacity rebalancing](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html) in the *Amazon EC2 User Guide* .", + "title": "CapacityRebalance" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "markdownDescription": "The Availability Zone.\n\nTo specify multiple Availability Zones, separate them using commas; for example, \"us-west-2a, us-west-2b\".", + "title": "AvailabilityZone", + "type": "string" + }, + "AvailabilityZoneId": { + "markdownDescription": "The ID of the Availability Zone. For example, `use2-az1` .\n\n[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, \" `use2-az1` , `use2-bz1` \".\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified in the request, but not both.", + "title": "AvailabilityZoneId", + "type": "string" + }, + "GroupName": { + "markdownDescription": "The name of the placement group.", + "title": "GroupName", + "type": "string" + }, + "Tenancy": { + "markdownDescription": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of `dedicated` runs on single-tenant hardware. The `host` tenancy is not supported for Spot Instances.", + "title": "Tenancy", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the target group.", + "title": "Arn", + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" + }, + "markdownDescription": "One or more target groups.", + "title": "TargetGroups", + "type": "array" + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of vCPUs. To specify no maximum limit, omit this parameter.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of vCPUs. To specify no minimum limit, specify `0` .", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest": { + "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": { + "AvailabilityZoneGroup": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "LaunchGroup": { + "type": "string" + }, + "LaunchSpecification": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.LaunchSpecification" + }, + "SpotPrice": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SpotInstancesRequest" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "Throughput": { + "type": "number" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.GroupIdentifier": { + "additionalProperties": false, + "properties": { + "GroupId": { + "type": "string" + }, + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.LaunchSpecification": { + "additionalProperties": false, + "properties": { + "AddressingType": { + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.IamInstanceProfileSpecification" + }, + "ImageId": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.MonitoringEnabled" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.InstanceNetworkInterfaceSpecification" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest.GroupIdentifier" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.MonitoringEnabled": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.SpotInstanceStatus": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "UpdateTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotInstancesRequest.SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneId": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SqlHaStandbyDetectedInstance": { + "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": { + "InstanceId": { + "type": "string" + }, + "SqlServerCredentials": { + "type": "string" + } + }, + "required": [ + "InstanceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SqlHaStandbyDetectedInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Subnet": { + "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": { + "AssignIpv6AddressOnCreation": { + "markdownDescription": "Indicates whether a network interface created in this subnet receives an IPv6 address. The default value is `false` .\n\nIf you specify `AssignIpv6AddressOnCreation` , you must also specify an IPv6 CIDR block.", + "title": "AssignIpv6AddressOnCreation", + "type": "boolean" + }, + "AvailabilityZone": { + "markdownDescription": "The Availability Zone of the subnet.\n\nIf you update this property, you must also update the `CidrBlock` property.", + "title": "AvailabilityZone", + "type": "string" + }, + "AvailabilityZoneId": { + "markdownDescription": "The AZ ID of the subnet.", + "title": "AvailabilityZoneId", + "type": "string" + }, + "CidrBlock": { + "markdownDescription": "The IPv4 CIDR block assigned to the subnet.\n\nIf you update this property, we create a new subnet, and then delete the existing one.", + "title": "CidrBlock", + "type": "string" + }, + "EnableDns64": { + "markdownDescription": "Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations.\n\n> You must first configure a NAT gateway in a public subnet (separate from the subnet containing the IPv6-only workloads). For example, the subnet containing the NAT gateway should have a `0.0.0.0/0` route pointing to the internet gateway. For more information, see [Configure DNS64 and NAT64](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-nat64-dns64.html#nat-gateway-nat64-dns64-walkthrough) in the *Amazon Virtual Private Cloud User Guide* .", + "title": "EnableDns64", + "type": "boolean" + }, + "EnableLniAtDeviceIndex": { + "markdownDescription": "Indicates the device position for local network interfaces in this subnet. For example, `1` indicates local network interfaces in this subnet are the secondary network interface (eth1).", + "title": "EnableLniAtDeviceIndex", + "type": "number" + }, + "Ipv4IpamPoolId": { + "markdownDescription": "An IPv4 IPAM pool ID for the subnet.", + "title": "Ipv4IpamPoolId", + "type": "string" + }, + "Ipv4NetmaskLength": { + "markdownDescription": "An IPv4 netmask length for the subnet.", + "title": "Ipv4NetmaskLength", + "type": "number" + }, + "Ipv6CidrBlock": { + "markdownDescription": "The IPv6 CIDR block.\n\nIf you specify `AssignIpv6AddressOnCreation` , you must also specify an IPv6 CIDR block.", + "title": "Ipv6CidrBlock", + "type": "string" + }, + "Ipv6IpamPoolId": { + "markdownDescription": "An IPv6 IPAM pool ID for the subnet.", + "title": "Ipv6IpamPoolId", + "type": "string" + }, + "Ipv6Native": { + "markdownDescription": "Indicates whether this is an IPv6 only subnet. For more information, see [Subnet basics](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#subnet-basics) in the *Amazon Virtual Private Cloud User Guide* .", + "title": "Ipv6Native", + "type": "boolean" + }, + "Ipv6NetmaskLength": { + "markdownDescription": "An IPv6 netmask length for the subnet.", + "title": "Ipv6NetmaskLength", + "type": "number" + }, + "MapPublicIpOnLaunch": { + "markdownDescription": "Indicates whether instances launched in this subnet receive a public IPv4 address. The default value is `false` .\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", + "title": "MapPublicIpOnLaunch", + "type": "boolean" + }, + "OutpostArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Outpost.", + "title": "OutpostArn", + "type": "string" + }, + "PrivateDnsNameOptionsOnLaunch": { + "$ref": "#/definitions/AWS::EC2::Subnet.PrivateDnsNameOptionsOnLaunch", + "markdownDescription": "The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries to the instances should be handled. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .\n\nAvailable options:\n\n- EnableResourceNameDnsAAAARecord (true | false)\n- EnableResourceNameDnsARecord (true | false)\n- HostnameType (ip-name | resource-name)", + "title": "PrivateDnsNameOptionsOnLaunch" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the subnet.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC the subnet is in.\n\nIf you update this property, you must also update the `CidrBlock` property.", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Subnet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Subnet.BlockPublicAccessStates": { + "additionalProperties": false, + "properties": { + "InternetGatewayBlockMode": { + "markdownDescription": "The mode of VPC BPA.\n\n- `off` : VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.\n- `block-bidirectional` : Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).\n- `block-ingress` : Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.", + "title": "InternetGatewayBlockMode", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Subnet.PrivateDnsNameOptionsOnLaunch": { + "additionalProperties": false, + "properties": { + "EnableResourceNameDnsAAAARecord": { + "markdownDescription": "Indicates whether to respond to DNS queries for instance hostname with DNS AAAA records.", + "title": "EnableResourceNameDnsAAAARecord", + "type": "boolean" + }, + "EnableResourceNameDnsARecord": { + "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records.", + "title": "EnableResourceNameDnsARecord", + "type": "boolean" + }, + "HostnameType": { + "markdownDescription": "The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID.", + "title": "HostnameType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SubnetCidrBlock": { + "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": { + "Ipv6CidrBlock": { + "markdownDescription": "The IPv6 network range for the subnet, in CIDR notation.", + "title": "Ipv6CidrBlock", + "type": "string" + }, + "Ipv6IpamPoolId": { + "markdownDescription": "An IPv6 IPAM pool ID for the subnet.", + "title": "Ipv6IpamPoolId", + "type": "string" + }, + "Ipv6NetmaskLength": { + "markdownDescription": "An IPv6 netmask length for the subnet.", + "title": "Ipv6NetmaskLength", + "type": "number" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet.", + "title": "SubnetId", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetCidrBlock" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetCidrReservation": { + "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": { + "Cidr": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ReservationType": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Cidr", + "ReservationType", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetCidrReservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetNetworkAclAssociation": { + "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": { + "NetworkAclId": { + "markdownDescription": "The ID of the network ACL.", + "title": "NetworkAclId", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet.", + "title": "SubnetId", + "type": "string" + } + }, + "required": [ + "NetworkAclId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetNetworkAclAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetRouteTableAssociation": { + "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": { + "RouteTableId": { + "markdownDescription": "The ID of the route table.\n\nThe physical ID changes when the route table ID is changed.", + "title": "RouteTableId", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet.", + "title": "SubnetId", + "type": "string" + } + }, + "required": [ + "RouteTableId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilter": { + "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": { + "markdownDescription": "The description of the Traffic Mirror filter.", + "title": "Description", + "type": "string" + }, + "NetworkServices": { + "items": { + "type": "string" + }, + "markdownDescription": "The network service traffic that is associated with the Traffic Mirror filter.\n\nValid values are `amazon-dns` .", + "title": "NetworkServices", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to assign to a Traffic Mirror filter.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule": { + "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": { + "markdownDescription": "The description of the Traffic Mirror rule.", + "title": "Description", + "type": "string" + }, + "DestinationCidrBlock": { + "markdownDescription": "The destination CIDR block to assign to the Traffic Mirror rule.", + "title": "DestinationCidrBlock", + "type": "string" + }, + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange", + "markdownDescription": "The destination port range.", + "title": "DestinationPortRange" + }, + "Protocol": { + "markdownDescription": "The protocol, for example UDP, to assign to the Traffic Mirror rule.\n\nFor information about the protocol value, see [Protocol Numbers](https://docs.aws.amazon.com/https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) on the Internet Assigned Numbers Authority (IANA) website.", + "title": "Protocol", + "type": "number" + }, + "RuleAction": { + "markdownDescription": "The action to take on the filtered traffic.", + "title": "RuleAction", + "type": "string" + }, + "RuleNumber": { + "markdownDescription": "The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.", + "title": "RuleNumber", + "type": "number" + }, + "SourceCidrBlock": { + "markdownDescription": "The source CIDR block to assign to the Traffic Mirror rule.", + "title": "SourceCidrBlock", + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange", + "markdownDescription": "The source port range.", + "title": "SourcePortRange" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags on Traffic Mirroring filter rules.", + "title": "Tags", + "type": "array" + }, + "TrafficDirection": { + "markdownDescription": "The type of traffic.", + "title": "TrafficDirection", + "type": "string" + }, + "TrafficMirrorFilterId": { + "markdownDescription": "The ID of the filter that this rule is associated with.", + "title": "TrafficMirrorFilterId", + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "RuleAction", + "RuleNumber", + "SourceCidrBlock", + "TrafficDirection", + "TrafficMirrorFilterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilterRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "markdownDescription": "The start of the Traffic Mirror port range. This applies to the TCP and UDP protocols.", + "title": "FromPort", + "type": "number" + }, + "ToPort": { + "markdownDescription": "The end of the Traffic Mirror port range. This applies to the TCP and UDP protocols.", + "title": "ToPort", + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorSession": { + "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": { + "markdownDescription": "The description of the Traffic Mirror session.", + "title": "Description", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The ID of the source network interface.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "OwnerId": { + "markdownDescription": "The ID of the account that owns the Traffic Mirror session.", + "title": "OwnerId", + "type": "string" + }, + "PacketLength": { + "markdownDescription": "The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target.\n\nIf you do not want to mirror the entire packet, use the `PacketLength` parameter to specify the number of bytes in each packet to mirror.\n\nFor sessions with Network Load Balancer (NLB) Traffic Mirror targets the default `PacketLength` will be set to 8500. Valid values are 1-8500. Setting a `PacketLength` greater than 8500 will result in an error response.", + "title": "PacketLength", + "type": "number" + }, + "SessionNumber": { + "markdownDescription": "The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.\n\nValid values are 1-32766.", + "title": "SessionNumber", + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to assign to a Traffic Mirror session.", + "title": "Tags", + "type": "array" + }, + "TrafficMirrorFilterId": { + "markdownDescription": "The ID of the Traffic Mirror filter.", + "title": "TrafficMirrorFilterId", + "type": "string" + }, + "TrafficMirrorTargetId": { + "markdownDescription": "The ID of the Traffic Mirror target.", + "title": "TrafficMirrorTargetId", + "type": "string" + }, + "VirtualNetworkId": { + "markdownDescription": "The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see [RFC 7348](https://docs.aws.amazon.com/https://datatracker.ietf.org/doc/html/rfc7348) . If you do not specify a `VirtualNetworkId` , an account-wide unique ID is chosen at random.", + "title": "VirtualNetworkId", + "type": "number" + } + }, + "required": [ + "NetworkInterfaceId", + "SessionNumber", + "TrafficMirrorFilterId", + "TrafficMirrorTargetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorSession" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorTarget": { + "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": { + "markdownDescription": "The description of the Traffic Mirror target.", + "title": "Description", + "type": "string" + }, + "GatewayLoadBalancerEndpointId": { + "markdownDescription": "The ID of the Gateway Load Balancer endpoint.", + "title": "GatewayLoadBalancerEndpointId", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The network interface ID that is associated with the target.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "NetworkLoadBalancerArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.", + "title": "NetworkLoadBalancerArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to assign to the Traffic Mirror target.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TransitGateway": { + "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": { + "AmazonSideAsn": { + "markdownDescription": "A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs. The default is 64512.", + "title": "AmazonSideAsn", + "type": "number" + }, + "AssociationDefaultRouteTableId": { + "markdownDescription": "The ID of the default association route table.", + "title": "AssociationDefaultRouteTableId", + "type": "string" + }, + "AutoAcceptSharedAttachments": { + "markdownDescription": "Enable or disable automatic acceptance of attachment requests. Disabled by default.", + "title": "AutoAcceptSharedAttachments", + "type": "string" + }, + "DefaultRouteTableAssociation": { + "markdownDescription": "Enable or disable automatic association with the default association route table. Enabled by default. If `DefaultRouteTableAssociation` is set to enable, AWS Transit Gateway will create the default transit gateway route table.", + "title": "DefaultRouteTableAssociation", + "type": "string" + }, + "DefaultRouteTablePropagation": { + "markdownDescription": "Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default. If `DefaultRouteTablePropagation` is set to enable, AWS Transit Gateway will create the default transit gateway route table.", + "title": "DefaultRouteTablePropagation", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the transit gateway.", + "title": "Description", + "type": "string" + }, + "DnsSupport": { + "markdownDescription": "Enable or disable DNS support. Enabled by default.", + "title": "DnsSupport", + "type": "string" + }, + "EncryptionSupport": { + "markdownDescription": "Enable or disable encryption support. Disabled by default.", + "title": "EncryptionSupport", + "type": "string" + }, + "MulticastSupport": { + "markdownDescription": "Indicates whether multicast is enabled on the transit gateway", + "title": "MulticastSupport", + "type": "string" + }, + "PropagationDefaultRouteTableId": { + "markdownDescription": "The ID of the default propagation route table.", + "title": "PropagationDefaultRouteTableId", + "type": "string" + }, + "SecurityGroupReferencingSupport": { + "markdownDescription": "Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.\n\nFor important information about this feature, see [Create a transit gateway](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#create-tgw) in the *AWS Transit Gateway Guide* .", + "title": "SecurityGroupReferencingSupport", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the transit gateway.", + "title": "Tags", + "type": "array" + }, + "TransitGatewayCidrBlocks": { + "items": { + "type": "string" + }, + "markdownDescription": "The transit gateway CIDR blocks.", + "title": "TransitGatewayCidrBlocks", + "type": "array" + }, + "VpnEcmpSupport": { + "markdownDescription": "Enable or disable Equal Cost Multipath Protocol support. Enabled by default.", + "title": "VpnEcmpSupport", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::EC2::SqlHaStandbyDetectedInstance": { + "AWS::EC2::TransitGatewayAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -131230,21 +139811,48 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceId": { + "Options": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment.Options", + "markdownDescription": "The VPC attachment options.", + "title": "Options" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of one or more subnets. You can specify only one subnet per Availability Zone. You must specify at least one subnet, but we recommend that you specify two subnets for better availability. The transit gateway uses one IP address from each specified subnet.", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the attachment.", + "title": "Tags", + "type": "array" + }, + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway.", + "title": "TransitGatewayId", "type": "string" }, - "SqlServerCredentials": { + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", "type": "string" } }, "required": [ - "InstanceId" + "SubnetIds", + "TransitGatewayId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SqlHaStandbyDetectedInstance" + "AWS::EC2::TransitGatewayAttachment" ], "type": "string" }, @@ -131263,7 +139871,33 @@ ], "type": "object" }, - "AWS::EC2::Subnet": { + "AWS::EC2::TransitGatewayAttachment.Options": { + "additionalProperties": false, + "properties": { + "ApplianceModeSupport": { + "markdownDescription": "Enable or disable appliance mode support. The default is `disable` .", + "title": "ApplianceModeSupport", + "type": "string" + }, + "DnsSupport": { + "markdownDescription": "Enable or disable DNS support. The default is `disable` .", + "title": "DnsSupport", + "type": "string" + }, + "Ipv6Support": { + "markdownDescription": "Enable or disable IPv6 support. The default is `disable` .", + "title": "Ipv6Support", + "type": "string" + }, + "SecurityGroupReferencingSupport": { + "markdownDescription": "Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.\n\nFor important information about this feature, see [Create a transit gateway](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#create-tgw) in the *AWS Transit Gateway Guide* .", + "title": "SecurityGroupReferencingSupport", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::TransitGatewayConnect": { "additionalProperties": false, "properties": { "Condition": { @@ -131298,103 +139932,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AssignIpv6AddressOnCreation": { - "markdownDescription": "Indicates whether a network interface created in this subnet receives an IPv6 address. The default value is `false` .\n\nIf you specify `AssignIpv6AddressOnCreation` , you must also specify an IPv6 CIDR block.", - "title": "AssignIpv6AddressOnCreation", - "type": "boolean" - }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone of the subnet.\n\nIf you update this property, you must also update the `CidrBlock` property.", - "title": "AvailabilityZone", - "type": "string" - }, - "AvailabilityZoneId": { - "markdownDescription": "The AZ ID of the subnet.", - "title": "AvailabilityZoneId", - "type": "string" - }, - "CidrBlock": { - "markdownDescription": "The IPv4 CIDR block assigned to the subnet.\n\nIf you update this property, we create a new subnet, and then delete the existing one.", - "title": "CidrBlock", - "type": "string" - }, - "EnableDns64": { - "markdownDescription": "Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations.\n\n> You must first configure a NAT gateway in a public subnet (separate from the subnet containing the IPv6-only workloads). For example, the subnet containing the NAT gateway should have a `0.0.0.0/0` route pointing to the internet gateway. For more information, see [Configure DNS64 and NAT64](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-nat64-dns64.html#nat-gateway-nat64-dns64-walkthrough) in the *Amazon Virtual Private Cloud User Guide* .", - "title": "EnableDns64", - "type": "boolean" - }, - "EnableLniAtDeviceIndex": { - "markdownDescription": "Indicates the device position for local network interfaces in this subnet. For example, `1` indicates local network interfaces in this subnet are the secondary network interface (eth1).", - "title": "EnableLniAtDeviceIndex", - "type": "number" - }, - "Ipv4IpamPoolId": { - "markdownDescription": "An IPv4 IPAM pool ID for the subnet.", - "title": "Ipv4IpamPoolId", - "type": "string" - }, - "Ipv4NetmaskLength": { - "markdownDescription": "An IPv4 netmask length for the subnet.", - "title": "Ipv4NetmaskLength", - "type": "number" - }, - "Ipv6CidrBlock": { - "markdownDescription": "The IPv6 CIDR block.\n\nIf you specify `AssignIpv6AddressOnCreation` , you must also specify an IPv6 CIDR block.", - "title": "Ipv6CidrBlock", - "type": "string" - }, - "Ipv6IpamPoolId": { - "markdownDescription": "An IPv6 IPAM pool ID for the subnet.", - "title": "Ipv6IpamPoolId", - "type": "string" - }, - "Ipv6Native": { - "markdownDescription": "Indicates whether this is an IPv6 only subnet. For more information, see [Subnet basics](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#subnet-basics) in the *Amazon Virtual Private Cloud User Guide* .", - "title": "Ipv6Native", - "type": "boolean" - }, - "Ipv6NetmaskLength": { - "markdownDescription": "An IPv6 netmask length for the subnet.", - "title": "Ipv6NetmaskLength", - "type": "number" - }, - "MapPublicIpOnLaunch": { - "markdownDescription": "Indicates whether instances launched in this subnet receive a public IPv4 address. The default value is `false` .\n\nAWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/) .", - "title": "MapPublicIpOnLaunch", - "type": "boolean" - }, - "OutpostArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Outpost.", - "title": "OutpostArn", - "type": "string" - }, - "PrivateDnsNameOptionsOnLaunch": { - "$ref": "#/definitions/AWS::EC2::Subnet.PrivateDnsNameOptionsOnLaunch", - "markdownDescription": "The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries to the instances should be handled. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .\n\nAvailable options:\n\n- EnableResourceNameDnsAAAARecord (true | false)\n- EnableResourceNameDnsARecord (true | false)\n- HostnameType (ip-name | resource-name)", - "title": "PrivateDnsNameOptionsOnLaunch" + "Options": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions", + "markdownDescription": "The Connect attachment options.\n\n- protocol (gre)", + "title": "Options" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the subnet.", + "markdownDescription": "The tags for the attachment.", "title": "Tags", "type": "array" }, - "VpcId": { - "markdownDescription": "The ID of the VPC the subnet is in.\n\nIf you update this property, you must also update the `CidrBlock` property.", - "title": "VpcId", + "TransportTransitGatewayAttachmentId": { + "markdownDescription": "The ID of the attachment from which the Connect attachment was created.", + "title": "TransportTransitGatewayAttachmentId", "type": "string" } }, "required": [ - "VpcId" + "Options", + "TransportTransitGatewayAttachmentId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Subnet" + "AWS::EC2::TransitGatewayConnect" ], "type": "string" }, @@ -131413,39 +139978,18 @@ ], "type": "object" }, - "AWS::EC2::Subnet.BlockPublicAccessStates": { - "additionalProperties": false, - "properties": { - "InternetGatewayBlockMode": { - "markdownDescription": "The mode of VPC BPA.\n\n- `off` : VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.\n- `block-bidirectional` : Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).\n- `block-ingress` : Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.", - "title": "InternetGatewayBlockMode", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Subnet.PrivateDnsNameOptionsOnLaunch": { + "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { "additionalProperties": false, "properties": { - "EnableResourceNameDnsAAAARecord": { - "markdownDescription": "Indicates whether to respond to DNS queries for instance hostname with DNS AAAA records.", - "title": "EnableResourceNameDnsAAAARecord", - "type": "boolean" - }, - "EnableResourceNameDnsARecord": { - "markdownDescription": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records.", - "title": "EnableResourceNameDnsARecord", - "type": "boolean" - }, - "HostnameType": { - "markdownDescription": "The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID.", - "title": "HostnameType", + "Protocol": { + "markdownDescription": "The tunnel protocol.", + "title": "Protocol", "type": "string" } }, "type": "object" }, - "AWS::EC2::SubnetCidrBlock": { + "AWS::EC2::TransitGatewayConnectPeer": { "additionalProperties": false, "properties": { "Condition": { @@ -131480,35 +140024,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Ipv6CidrBlock": { - "markdownDescription": "The IPv6 network range for the subnet, in CIDR notation.", - "title": "Ipv6CidrBlock", - "type": "string" - }, - "Ipv6IpamPoolId": { - "markdownDescription": "An IPv6 IPAM pool ID for the subnet.", - "title": "Ipv6IpamPoolId", - "type": "string" + "ConnectPeerConfiguration": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnectPeer.TransitGatewayConnectPeerConfiguration", + "markdownDescription": "The Connect peer details.", + "title": "ConnectPeerConfiguration" }, - "Ipv6NetmaskLength": { - "markdownDescription": "An IPv6 netmask length for the subnet.", - "title": "Ipv6NetmaskLength", - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the Connect peer.", + "title": "Tags", + "type": "array" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet.", - "title": "SubnetId", + "TransitGatewayAttachmentId": { + "markdownDescription": "The ID of the Connect attachment.", + "title": "TransitGatewayAttachmentId", "type": "string" } }, "required": [ - "SubnetId" + "ConnectPeerConfiguration", + "TransitGatewayAttachmentId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetCidrBlock" + "AWS::EC2::TransitGatewayConnectPeer" ], "type": "string" }, @@ -131527,7 +140070,79 @@ ], "type": "object" }, - "AWS::EC2::SubnetNetworkAclAssociation": { + "AWS::EC2::TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfiguration": { + "additionalProperties": false, + "properties": { + "BgpStatus": { + "markdownDescription": "The BGP status.", + "title": "BgpStatus", + "type": "string" + }, + "PeerAddress": { + "markdownDescription": "The interior BGP peer IP address for the appliance.", + "title": "PeerAddress", + "type": "string" + }, + "PeerAsn": { + "markdownDescription": "The peer Autonomous System Number (ASN).", + "title": "PeerAsn", + "type": "number" + }, + "TransitGatewayAddress": { + "markdownDescription": "The interior BGP peer IP address for the transit gateway.", + "title": "TransitGatewayAddress", + "type": "string" + }, + "TransitGatewayAsn": { + "markdownDescription": "The transit gateway Autonomous System Number (ASN).", + "title": "TransitGatewayAsn", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::TransitGatewayConnectPeer.TransitGatewayConnectPeerConfiguration": { + "additionalProperties": false, + "properties": { + "BgpConfigurations": { + "items": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfiguration" + }, + "markdownDescription": "The BGP configuration details.", + "title": "BgpConfigurations", + "type": "array" + }, + "InsideCidrBlocks": { + "items": { + "type": "string" + }, + "markdownDescription": "The range of interior BGP peer IP addresses.", + "title": "InsideCidrBlocks", + "type": "array" + }, + "PeerAddress": { + "markdownDescription": "The Connect peer IP address on the appliance side of the tunnel.", + "title": "PeerAddress", + "type": "string" + }, + "Protocol": { + "markdownDescription": "The tunnel protocol.", + "title": "Protocol", + "type": "string" + }, + "TransitGatewayAddress": { + "markdownDescription": "The Connect peer IP address on the transit gateway side of the tunnel.", + "title": "TransitGatewayAddress", + "type": "string" + } + }, + "required": [ + "InsideCidrBlocks", + "PeerAddress" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayMeteringPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -131562,26 +140177,36 @@ "Properties": { "additionalProperties": false, "properties": { - "NetworkAclId": { - "markdownDescription": "The ID of the network ACL.", - "title": "NetworkAclId", - "type": "string" + "MiddleboxAttachmentIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the middlebox attachments associated with the metering policy.", + "title": "MiddleboxAttachmentIds", + "type": "array" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet.", - "title": "SubnetId", + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the transit gateway metering policy.", + "title": "Tags", + "type": "array" + }, + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway associated with the metering policy.", + "title": "TransitGatewayId", "type": "string" } }, "required": [ - "NetworkAclId", - "SubnetId" + "TransitGatewayId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" + "AWS::EC2::TransitGatewayMeteringPolicy" ], "type": "string" }, @@ -131600,7 +140225,7 @@ ], "type": "object" }, - "AWS::EC2::SubnetRouteTableAssociation": { + "AWS::EC2::TransitGatewayMeteringPolicyEntry": { "additionalProperties": false, "properties": { "Condition": { @@ -131635,26 +140260,77 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteTableId": { - "markdownDescription": "The ID of the route table.\n\nThe physical ID changes when the route table ID is changed.", - "title": "RouteTableId", + "DestinationCidrBlock": { + "markdownDescription": "Describes an IPv4 CIDR block.", + "title": "DestinationCidrBlock", "type": "string" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet.", - "title": "SubnetId", + "DestinationPortRange": { + "markdownDescription": "Describes a range of ports.", + "title": "DestinationPortRange", + "type": "string" + }, + "DestinationTransitGatewayAttachmentId": { + "markdownDescription": "", + "title": "DestinationTransitGatewayAttachmentId", + "type": "string" + }, + "DestinationTransitGatewayAttachmentType": { + "markdownDescription": "", + "title": "DestinationTransitGatewayAttachmentType", + "type": "string" + }, + "MeteredAccount": { + "markdownDescription": "The AWS account ID to which the metered traffic is attributed.", + "title": "MeteredAccount", + "type": "string" + }, + "PolicyRuleNumber": { + "markdownDescription": "The rule number of the metering policy entry.", + "title": "PolicyRuleNumber", + "type": "number" + }, + "Protocol": { + "markdownDescription": "", + "title": "Protocol", + "type": "string" + }, + "SourceCidrBlock": { + "markdownDescription": "Describes an IPv4 CIDR block.", + "title": "SourceCidrBlock", + "type": "string" + }, + "SourcePortRange": { + "markdownDescription": "Describes a range of ports.", + "title": "SourcePortRange", + "type": "string" + }, + "SourceTransitGatewayAttachmentId": { + "markdownDescription": "", + "title": "SourceTransitGatewayAttachmentId", + "type": "string" + }, + "SourceTransitGatewayAttachmentType": { + "markdownDescription": "", + "title": "SourceTransitGatewayAttachmentType", + "type": "string" + }, + "TransitGatewayMeteringPolicyId": { + "markdownDescription": "", + "title": "TransitGatewayMeteringPolicyId", "type": "string" } }, "required": [ - "RouteTableId", - "SubnetId" + "MeteredAccount", + "PolicyRuleNumber", + "TransitGatewayMeteringPolicyId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" + "AWS::EC2::TransitGatewayMeteringPolicyEntry" ], "type": "string" }, @@ -131673,7 +140349,7 @@ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilter": { + "AWS::EC2::TransitGatewayMulticastDomain": { "additionalProperties": false, "properties": { "Condition": { @@ -131708,33 +140384,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the Traffic Mirror filter.", - "title": "Description", - "type": "string" - }, - "NetworkServices": { - "items": { - "type": "string" - }, - "markdownDescription": "The network service traffic that is associated with the Traffic Mirror filter.\n\nValid values are `amazon-dns` .", - "title": "NetworkServices", - "type": "array" + "Options": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain.Options", + "markdownDescription": "The options for the transit gateway multicast domain.\n\n- AutoAcceptSharedAssociations (enable | disable)\n- Igmpv2Support (enable | disable)\n- StaticSourcesSupport (enable | disable)", + "title": "Options" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to assign to a Traffic Mirror filter.", + "markdownDescription": "The tags for the transit gateway multicast domain.", "title": "Tags", "type": "array" + }, + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway.", + "title": "TransitGatewayId", + "type": "string" } }, + "required": [ + "TransitGatewayId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorFilter" + "AWS::EC2::TransitGatewayMulticastDomain" ], "type": "string" }, @@ -131748,11 +140424,33 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule": { + "AWS::EC2::TransitGatewayMulticastDomain.Options": { + "additionalProperties": false, + "properties": { + "AutoAcceptSharedAssociations": { + "markdownDescription": "Indicates whether to automatically accept cross-account subnet associations that are associated with the transit gateway multicast domain.", + "title": "AutoAcceptSharedAssociations", + "type": "string" + }, + "Igmpv2Support": { + "markdownDescription": "Specify whether to enable Internet Group Management Protocol (IGMP) version 2 for the transit gateway multicast domain.", + "title": "Igmpv2Support", + "type": "string" + }, + "StaticSourcesSupport": { + "markdownDescription": "Specify whether to enable support for statically configuring multicast group sources for a domain.", + "title": "StaticSourcesSupport", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastDomainAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -131787,78 +140485,32 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the Traffic Mirror rule.", - "title": "Description", - "type": "string" - }, - "DestinationCidrBlock": { - "markdownDescription": "The destination CIDR block to assign to the Traffic Mirror rule.", - "title": "DestinationCidrBlock", - "type": "string" - }, - "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange", - "markdownDescription": "The destination port range.", - "title": "DestinationPortRange" - }, - "Protocol": { - "markdownDescription": "The protocol, for example UDP, to assign to the Traffic Mirror rule.\n\nFor information about the protocol value, see [Protocol Numbers](https://docs.aws.amazon.com/https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) on the Internet Assigned Numbers Authority (IANA) website.", - "title": "Protocol", - "type": "number" - }, - "RuleAction": { - "markdownDescription": "The action to take on the filtered traffic.", - "title": "RuleAction", - "type": "string" - }, - "RuleNumber": { - "markdownDescription": "The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.", - "title": "RuleNumber", - "type": "number" - }, - "SourceCidrBlock": { - "markdownDescription": "The source CIDR block to assign to the Traffic Mirror rule.", - "title": "SourceCidrBlock", + "SubnetId": { + "markdownDescription": "The IDs of the subnets to associate with the transit gateway multicast domain.", + "title": "SubnetId", "type": "string" }, - "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange", - "markdownDescription": "The source port range.", - "title": "SourcePortRange" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags on Traffic Mirroring filter rules.", - "title": "Tags", - "type": "array" - }, - "TrafficDirection": { - "markdownDescription": "The type of traffic.", - "title": "TrafficDirection", + "TransitGatewayAttachmentId": { + "markdownDescription": "The ID of the transit gateway attachment.", + "title": "TransitGatewayAttachmentId", "type": "string" }, - "TrafficMirrorFilterId": { - "markdownDescription": "The ID of the filter that this rule is associated with.", - "title": "TrafficMirrorFilterId", + "TransitGatewayMulticastDomainId": { + "markdownDescription": "The ID of the transit gateway multicast domain.", + "title": "TransitGatewayMulticastDomainId", "type": "string" } }, "required": [ - "DestinationCidrBlock", - "RuleAction", - "RuleNumber", - "SourceCidrBlock", - "TrafficDirection", - "TrafficMirrorFilterId" + "SubnetId", + "TransitGatewayAttachmentId", + "TransitGatewayMulticastDomainId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorFilterRule" + "AWS::EC2::TransitGatewayMulticastDomainAssociation" ], "type": "string" }, @@ -131877,27 +140529,7 @@ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "markdownDescription": "The start of the Traffic Mirror port range. This applies to the TCP and UDP protocols.", - "title": "FromPort", - "type": "number" - }, - "ToPort": { - "markdownDescription": "The end of the Traffic Mirror port range. This applies to the TCP and UDP protocols.", - "title": "ToPort", - "type": "number" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorSession": { + "AWS::EC2::TransitGatewayMulticastGroupMember": { "additionalProperties": false, "properties": { "Condition": { @@ -131932,66 +140564,32 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the Traffic Mirror session.", - "title": "Description", + "GroupIpAddress": { + "markdownDescription": "The IP address assigned to the transit gateway multicast group.", + "title": "GroupIpAddress", "type": "string" }, "NetworkInterfaceId": { - "markdownDescription": "The ID of the source network interface.", + "markdownDescription": "The group members' network interface IDs to register with the transit gateway multicast group.", "title": "NetworkInterfaceId", "type": "string" }, - "OwnerId": { - "markdownDescription": "The ID of the account that owns the Traffic Mirror session.", - "title": "OwnerId", - "type": "string" - }, - "PacketLength": { - "markdownDescription": "The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target.\n\nIf you do not want to mirror the entire packet, use the `PacketLength` parameter to specify the number of bytes in each packet to mirror.\n\nFor sessions with Network Load Balancer (NLB) Traffic Mirror targets the default `PacketLength` will be set to 8500. Valid values are 1-8500. Setting a `PacketLength` greater than 8500 will result in an error response.", - "title": "PacketLength", - "type": "number" - }, - "SessionNumber": { - "markdownDescription": "The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.\n\nValid values are 1-32766.", - "title": "SessionNumber", - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to assign to a Traffic Mirror session.", - "title": "Tags", - "type": "array" - }, - "TrafficMirrorFilterId": { - "markdownDescription": "The ID of the Traffic Mirror filter.", - "title": "TrafficMirrorFilterId", - "type": "string" - }, - "TrafficMirrorTargetId": { - "markdownDescription": "The ID of the Traffic Mirror target.", - "title": "TrafficMirrorTargetId", + "TransitGatewayMulticastDomainId": { + "markdownDescription": "The ID of the transit gateway multicast domain.", + "title": "TransitGatewayMulticastDomainId", "type": "string" - }, - "VirtualNetworkId": { - "markdownDescription": "The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see [RFC 7348](https://docs.aws.amazon.com/https://datatracker.ietf.org/doc/html/rfc7348) . If you do not specify a `VirtualNetworkId` , an account-wide unique ID is chosen at random.", - "title": "VirtualNetworkId", - "type": "number" } }, "required": [ + "GroupIpAddress", "NetworkInterfaceId", - "SessionNumber", - "TrafficMirrorFilterId", - "TrafficMirrorTargetId" + "TransitGatewayMulticastDomainId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorSession" + "AWS::EC2::TransitGatewayMulticastGroupMember" ], "type": "string" }, @@ -132010,7 +140608,7 @@ ], "type": "object" }, - "AWS::EC2::TrafficMirrorTarget": { + "AWS::EC2::TransitGatewayMulticastGroupSource": { "additionalProperties": false, "properties": { "Condition": { @@ -132045,40 +140643,32 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "The description of the Traffic Mirror target.", - "title": "Description", - "type": "string" - }, - "GatewayLoadBalancerEndpointId": { - "markdownDescription": "The ID of the Gateway Load Balancer endpoint.", - "title": "GatewayLoadBalancerEndpointId", + "GroupIpAddress": { + "markdownDescription": "The IP address assigned to the transit gateway multicast group.", + "title": "GroupIpAddress", "type": "string" }, "NetworkInterfaceId": { - "markdownDescription": "The network interface ID that is associated with the target.", + "markdownDescription": "The group sources' network interface IDs to register with the transit gateway multicast group.", "title": "NetworkInterfaceId", "type": "string" }, - "NetworkLoadBalancerArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.", - "title": "NetworkLoadBalancerArn", + "TransitGatewayMulticastDomainId": { + "markdownDescription": "The ID of the transit gateway multicast domain.", + "title": "TransitGatewayMulticastDomainId", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to assign to the Traffic Mirror target.", - "title": "Tags", - "type": "array" } }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorTarget" + "AWS::EC2::TransitGatewayMulticastGroupSource" ], "type": "string" }, @@ -132092,11 +140682,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TransitGateway": { + "AWS::EC2::TransitGatewayPeeringAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -132131,88 +140722,46 @@ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { - "markdownDescription": "A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs. The default is 64512.", - "title": "AmazonSideAsn", - "type": "number" - }, - "AssociationDefaultRouteTableId": { - "markdownDescription": "The ID of the default association route table.", - "title": "AssociationDefaultRouteTableId", - "type": "string" - }, - "AutoAcceptSharedAttachments": { - "markdownDescription": "Enable or disable automatic acceptance of attachment requests. Disabled by default.", - "title": "AutoAcceptSharedAttachments", - "type": "string" - }, - "DefaultRouteTableAssociation": { - "markdownDescription": "Enable or disable automatic association with the default association route table. Enabled by default. If `DefaultRouteTableAssociation` is set to enable, AWS Transit Gateway will create the default transit gateway route table.", - "title": "DefaultRouteTableAssociation", - "type": "string" - }, - "DefaultRouteTablePropagation": { - "markdownDescription": "Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default. If `DefaultRouteTablePropagation` is set to enable, AWS Transit Gateway will create the default transit gateway route table.", - "title": "DefaultRouteTablePropagation", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the transit gateway.", - "title": "Description", - "type": "string" - }, - "DnsSupport": { - "markdownDescription": "Enable or disable DNS support. Enabled by default.", - "title": "DnsSupport", - "type": "string" - }, - "EncryptionSupport": { - "markdownDescription": "Enable or disable encryption support. Disabled by default.", - "title": "EncryptionSupport", - "type": "string" - }, - "MulticastSupport": { - "markdownDescription": "Indicates whether multicast is enabled on the transit gateway", - "title": "MulticastSupport", + "PeerAccountId": { + "markdownDescription": "The ID of the AWS account that owns the transit gateway.", + "title": "PeerAccountId", "type": "string" }, - "PropagationDefaultRouteTableId": { - "markdownDescription": "The ID of the default propagation route table.", - "title": "PropagationDefaultRouteTableId", + "PeerRegion": { + "markdownDescription": "The Region where the transit gateway that you want to create the peer for is located.", + "title": "PeerRegion", "type": "string" }, - "SecurityGroupReferencingSupport": { - "markdownDescription": "Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.\n\nFor important information about this feature, see [Create a transit gateway](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#create-tgw) in the *AWS Transit Gateway Guide* .", - "title": "SecurityGroupReferencingSupport", + "PeerTransitGatewayId": { + "markdownDescription": "The ID of the transit gateway in the PeerRegion.", + "title": "PeerTransitGatewayId", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the transit gateway.", + "markdownDescription": "The tags for the transit gateway peering attachment.", "title": "Tags", "type": "array" }, - "TransitGatewayCidrBlocks": { - "items": { - "type": "string" - }, - "markdownDescription": "The transit gateway CIDR blocks.", - "title": "TransitGatewayCidrBlocks", - "type": "array" - }, - "VpnEcmpSupport": { - "markdownDescription": "Enable or disable Equal Cost Multipath Protocol support. Enabled by default.", - "title": "VpnEcmpSupport", + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway peering attachment.", + "title": "TransitGatewayId", "type": "string" } }, + "required": [ + "PeerAccountId", + "PeerRegion", + "PeerTransitGatewayId", + "TransitGatewayId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGateway" + "AWS::EC2::TransitGatewayPeeringAttachment" ], "type": "string" }, @@ -132226,11 +140775,28 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TransitGatewayAttachment": { + "AWS::EC2::TransitGatewayPeeringAttachment.PeeringAttachmentStatus": { + "additionalProperties": false, + "properties": { + "Code": { + "markdownDescription": "The status code.", + "title": "Code", + "type": "string" + }, + "Message": { + "markdownDescription": "The status message, if applicable.", + "title": "Message", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::TransitGatewayPolicyTable": { "additionalProperties": false, "properties": { "Condition": { @@ -132265,48 +140831,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Options": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment.Options", - "markdownDescription": "The VPC attachment options.", - "title": "Options" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of one or more subnets. You can specify only one subnet per Availability Zone. You must specify at least one subnet, but we recommend that you specify two subnets for better availability. The transit gateway uses one IP address from each specified subnet.", - "title": "SubnetIds", - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the attachment.", - "title": "Tags", "type": "array" }, "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway.", - "title": "TransitGatewayId", - "type": "string" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", "type": "string" } }, "required": [ - "SubnetIds", - "TransitGatewayId", - "VpcId" + "TransitGatewayId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayAttachment" + "AWS::EC2::TransitGatewayPolicyTable" ], "type": "string" }, @@ -132325,33 +140867,76 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayAttachment.Options": { + "AWS::EC2::TransitGatewayPolicyTableAssociation": { "additionalProperties": false, "properties": { - "ApplianceModeSupport": { - "markdownDescription": "Enable or disable appliance mode support. The default is `disable` .", - "title": "ApplianceModeSupport", + "Condition": { "type": "string" }, - "DnsSupport": { - "markdownDescription": "Enable or disable DNS support. The default is `disable` .", - "title": "DnsSupport", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Ipv6Support": { - "markdownDescription": "Enable or disable IPv6 support. The default is `disable` .", - "title": "Ipv6Support", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayPolicyTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayPolicyTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayPolicyTableAssociation" + ], "type": "string" }, - "SecurityGroupReferencingSupport": { - "markdownDescription": "Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.\n\nFor important information about this feature, see [Create a transit gateway](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#create-tgw) in the *AWS Transit Gateway Guide* .", - "title": "SecurityGroupReferencingSupport", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::TransitGatewayConnect": { + "AWS::EC2::TransitGatewayPolicyTableEntry": { "additionalProperties": false, "properties": { "Condition": { @@ -132386,34 +140971,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Options": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions", - "markdownDescription": "The Connect attachment options.\n\n- protocol (gre)", - "title": "Options" + "PolicyRule": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayPolicyTableEntry.TransitGatewayPolicyRule" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags for the attachment.", - "title": "Tags", - "type": "array" + "PolicyRuleNumber": { + "type": "string" }, - "TransportTransitGatewayAttachmentId": { - "markdownDescription": "The ID of the attachment from which the Connect attachment was created.", - "title": "TransportTransitGatewayAttachmentId", + "TargetRouteTableId": { + "type": "string" + }, + "TransitGatewayPolicyTableId": { "type": "string" } }, "required": [ - "Options", - "TransportTransitGatewayAttachmentId" + "PolicyRule", + "PolicyRuleNumber", + "TargetRouteTableId", + "TransitGatewayPolicyTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayConnect" + "AWS::EC2::TransitGatewayPolicyTableEntry" ], "type": "string" }, @@ -132432,18 +141013,28 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { + "AWS::EC2::TransitGatewayPolicyTableEntry.TransitGatewayPolicyRule": { "additionalProperties": false, "properties": { + "DestinationCidrBlock": { + "type": "string" + }, + "DestinationPortRange": { + "type": "string" + }, "Protocol": { - "markdownDescription": "The tunnel protocol.", - "title": "Protocol", + "type": "string" + }, + "SourceCidrBlock": { + "type": "string" + }, + "SourcePortRange": { "type": "string" } }, "type": "object" }, - "AWS::EC2::TransitGatewayConnectPeer": { + "AWS::EC2::TransitGatewayRoute": { "additionalProperties": false, "properties": { "Condition": { @@ -132478,34 +141069,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectPeerConfiguration": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayConnectPeer.TransitGatewayConnectPeerConfiguration", - "markdownDescription": "The Connect peer details.", - "title": "ConnectPeerConfiguration" + "Blackhole": { + "markdownDescription": "Indicates whether to drop traffic that matches this route.", + "title": "Blackhole", + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags for the Connect peer.", - "title": "Tags", - "type": "array" + "DestinationCidrBlock": { + "markdownDescription": "The CIDR block used for destination matches.", + "title": "DestinationCidrBlock", + "type": "string" }, "TransitGatewayAttachmentId": { - "markdownDescription": "The ID of the Connect attachment.", + "markdownDescription": "The ID of the attachment.", "title": "TransitGatewayAttachmentId", "type": "string" + }, + "TransitGatewayRouteTableId": { + "markdownDescription": "The ID of the transit gateway route table.", + "title": "TransitGatewayRouteTableId", + "type": "string" } }, "required": [ - "ConnectPeerConfiguration", - "TransitGatewayAttachmentId" + "DestinationCidrBlock", + "TransitGatewayRouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayConnectPeer" + "AWS::EC2::TransitGatewayRoute" ], "type": "string" }, @@ -132524,79 +141117,82 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfiguration": { + "AWS::EC2::TransitGatewayRouteTable": { "additionalProperties": false, "properties": { - "BgpStatus": { - "markdownDescription": "The BGP status.", - "title": "BgpStatus", - "type": "string" - }, - "PeerAddress": { - "markdownDescription": "The interior BGP peer IP address for the appliance.", - "title": "PeerAddress", + "Condition": { "type": "string" }, - "PeerAsn": { - "markdownDescription": "The peer Autonomous System Number (ASN).", - "title": "PeerAsn", - "type": "number" - }, - "TransitGatewayAddress": { - "markdownDescription": "The interior BGP peer IP address for the transit gateway.", - "title": "TransitGatewayAddress", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TransitGatewayAsn": { - "markdownDescription": "The transit gateway Autonomous System Number (ASN).", - "title": "TransitGatewayAsn", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::TransitGatewayConnectPeer.TransitGatewayConnectPeerConfiguration": { - "additionalProperties": false, - "properties": { - "BgpConfigurations": { - "items": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfiguration" - }, - "markdownDescription": "The BGP configuration details.", - "title": "BgpConfigurations", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InsideCidrBlocks": { - "items": { - "type": "string" - }, - "markdownDescription": "The range of interior BGP peer IP addresses.", - "title": "InsideCidrBlocks", - "type": "array" + "Metadata": { + "type": "object" }, - "PeerAddress": { - "markdownDescription": "The Connect peer IP address on the appliance side of the tunnel.", - "title": "PeerAddress", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the route table.", + "title": "Tags", + "type": "array" + }, + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway.", + "title": "TransitGatewayId", + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" }, - "Protocol": { - "markdownDescription": "The tunnel protocol.", - "title": "Protocol", + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTable" + ], "type": "string" }, - "TransitGatewayAddress": { - "markdownDescription": "The Connect peer IP address on the transit gateway side of the tunnel.", - "title": "TransitGatewayAddress", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "InsideCidrBlocks", - "PeerAddress" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TransitGatewayMeteringPolicy": { + "AWS::EC2::TransitGatewayRouteTableAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -132631,36 +141227,26 @@ "Properties": { "additionalProperties": false, "properties": { - "MiddleboxAttachmentIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the middlebox attachments associated with the metering policy.", - "title": "MiddleboxAttachmentIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the transit gateway metering policy.", - "title": "Tags", - "type": "array" + "TransitGatewayAttachmentId": { + "markdownDescription": "The ID of the attachment.", + "title": "TransitGatewayAttachmentId", + "type": "string" }, - "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway associated with the metering policy.", - "title": "TransitGatewayId", + "TransitGatewayRouteTableId": { + "markdownDescription": "The ID of the route table for the transit gateway.", + "title": "TransitGatewayRouteTableId", "type": "string" } }, "required": [ - "TransitGatewayId" + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayMeteringPolicy" + "AWS::EC2::TransitGatewayRouteTableAssociation" ], "type": "string" }, @@ -132679,7 +141265,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayMeteringPolicyEntry": { + "AWS::EC2::TransitGatewayRouteTablePropagation": { "additionalProperties": false, "properties": { "Condition": { @@ -132714,77 +141300,26 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { - "markdownDescription": "Describes an IPv4 CIDR block.", - "title": "DestinationCidrBlock", - "type": "string" - }, - "DestinationPortRange": { - "markdownDescription": "Describes a range of ports.", - "title": "DestinationPortRange", - "type": "string" - }, - "DestinationTransitGatewayAttachmentId": { - "markdownDescription": "", - "title": "DestinationTransitGatewayAttachmentId", - "type": "string" - }, - "DestinationTransitGatewayAttachmentType": { - "markdownDescription": "", - "title": "DestinationTransitGatewayAttachmentType", - "type": "string" - }, - "MeteredAccount": { - "markdownDescription": "The AWS account ID to which the metered traffic is attributed.", - "title": "MeteredAccount", - "type": "string" - }, - "PolicyRuleNumber": { - "markdownDescription": "The rule number of the metering policy entry.", - "title": "PolicyRuleNumber", - "type": "number" - }, - "Protocol": { - "markdownDescription": "", - "title": "Protocol", - "type": "string" - }, - "SourceCidrBlock": { - "markdownDescription": "Describes an IPv4 CIDR block.", - "title": "SourceCidrBlock", - "type": "string" - }, - "SourcePortRange": { - "markdownDescription": "Describes a range of ports.", - "title": "SourcePortRange", - "type": "string" - }, - "SourceTransitGatewayAttachmentId": { - "markdownDescription": "", - "title": "SourceTransitGatewayAttachmentId", - "type": "string" - }, - "SourceTransitGatewayAttachmentType": { - "markdownDescription": "", - "title": "SourceTransitGatewayAttachmentType", + "TransitGatewayAttachmentId": { + "markdownDescription": "The ID of the attachment.", + "title": "TransitGatewayAttachmentId", "type": "string" }, - "TransitGatewayMeteringPolicyId": { - "markdownDescription": "", - "title": "TransitGatewayMeteringPolicyId", + "TransitGatewayRouteTableId": { + "markdownDescription": "The ID of the propagation route table.", + "title": "TransitGatewayRouteTableId", "type": "string" } }, "required": [ - "MeteredAccount", - "PolicyRuleNumber", - "TransitGatewayMeteringPolicyId" + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayMeteringPolicyEntry" + "AWS::EC2::TransitGatewayRouteTablePropagation" ], "type": "string" }, @@ -132803,7 +141338,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayMulticastDomain": { + "AWS::EC2::TransitGatewayVpcAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -132838,16 +141373,40 @@ "Properties": { "additionalProperties": false, "properties": { + "AddSubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.", + "title": "AddSubnetIds", + "type": "array" + }, "Options": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain.Options", - "markdownDescription": "The options for the transit gateway multicast domain.\n\n- AutoAcceptSharedAssociations (enable | disable)\n- Igmpv2Support (enable | disable)\n- StaticSourcesSupport (enable | disable)", + "$ref": "#/definitions/AWS::EC2::TransitGatewayVpcAttachment.Options", + "markdownDescription": "The VPC attachment options.", "title": "Options" }, + "RemoveSubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of one or more subnets to remove.", + "title": "RemoveSubnetIds", + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the subnets.", + "title": "SubnetIds", + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the transit gateway multicast domain.", + "markdownDescription": "The tags for the VPC attachment.", "title": "Tags", "type": "array" }, @@ -132855,16 +141414,23 @@ "markdownDescription": "The ID of the transit gateway.", "title": "TransitGatewayId", "type": "string" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", + "type": "string" } }, "required": [ - "TransitGatewayId" + "SubnetIds", + "TransitGatewayId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayMulticastDomain" + "AWS::EC2::TransitGatewayVpcAttachment" ], "type": "string" }, @@ -132883,28 +141449,33 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayMulticastDomain.Options": { + "AWS::EC2::TransitGatewayVpcAttachment.Options": { "additionalProperties": false, "properties": { - "AutoAcceptSharedAssociations": { - "markdownDescription": "Indicates whether to automatically accept cross-account subnet associations that are associated with the transit gateway multicast domain.", - "title": "AutoAcceptSharedAssociations", + "ApplianceModeSupport": { + "markdownDescription": "Enable or disable appliance mode support. The default is `disable` .", + "title": "ApplianceModeSupport", "type": "string" }, - "Igmpv2Support": { - "markdownDescription": "Specify whether to enable Internet Group Management Protocol (IGMP) version 2 for the transit gateway multicast domain.", - "title": "Igmpv2Support", + "DnsSupport": { + "markdownDescription": "Enable or disable DNS support. The default is `disable` .", + "title": "DnsSupport", "type": "string" }, - "StaticSourcesSupport": { - "markdownDescription": "Specify whether to enable support for statically configuring multicast group sources for a domain.", - "title": "StaticSourcesSupport", + "Ipv6Support": { + "markdownDescription": "Enable or disable IPv6 support. The default is `disable` .", + "title": "Ipv6Support", + "type": "string" + }, + "SecurityGroupReferencingSupport": { + "markdownDescription": "Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.\n\nFor important information about this feature, see [Create a transit gateway](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#create-tgw) in the *AWS Transit Gateway Guide* .", + "title": "SecurityGroupReferencingSupport", "type": "string" } }, "type": "object" }, - "AWS::EC2::TransitGatewayMulticastDomainAssociation": { + "AWS::EC2::VPC": { "additionalProperties": false, "properties": { "Condition": { @@ -132939,32 +141510,53 @@ "Properties": { "additionalProperties": false, "properties": { - "SubnetId": { - "markdownDescription": "The IDs of the subnets to associate with the transit gateway multicast domain.", - "title": "SubnetId", + "CidrBlock": { + "markdownDescription": "The IPv4 network range for the VPC, in CIDR notation. For example, `10.0.0.0/16` . We modify the specified CIDR block to its canonical form; for example, if you specify `100.68.0.18/18` , we modify it to `100.68.0.0/18` .\n\nYou must specify either `CidrBlock` or `Ipv4IpamPoolId` .", + "title": "CidrBlock", "type": "string" }, - "TransitGatewayAttachmentId": { - "markdownDescription": "The ID of the transit gateway attachment.", - "title": "TransitGatewayAttachmentId", + "EnableDnsHostnames": { + "markdownDescription": "Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not. Disabled by default for nondefault VPCs. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) .\n\nYou can only enable DNS hostnames if you've enabled DNS support.", + "title": "EnableDnsHostnames", + "type": "boolean" + }, + "EnableDnsSupport": { + "markdownDescription": "Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range \"plus two\" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled. Enabled by default. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) .", + "title": "EnableDnsSupport", + "type": "boolean" + }, + "InstanceTenancy": { + "markdownDescription": "The allowed tenancy of instances launched into the VPC.\n\n- `default` : An instance launched into the VPC runs on shared hardware by default, unless you explicitly specify a different tenancy during instance launch.\n- `dedicated` : An instance launched into the VPC runs on dedicated hardware by default, unless you explicitly specify a tenancy of `host` during instance launch. You cannot specify a tenancy of `default` during instance launch.\n\nUpdating `InstanceTenancy` requires no replacement only if you are updating its value from `dedicated` to `default` . Updating `InstanceTenancy` from `default` to `dedicated` requires replacement.", + "title": "InstanceTenancy", "type": "string" }, - "TransitGatewayMulticastDomainId": { - "markdownDescription": "The ID of the transit gateway multicast domain.", - "title": "TransitGatewayMulticastDomainId", + "Ipv4IpamPoolId": { + "markdownDescription": "The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .\n\nYou must specify either `CidrBlock` or `Ipv4IpamPoolId` .", + "title": "Ipv4IpamPoolId", "type": "string" + }, + "Ipv4NetmaskLength": { + "markdownDescription": "The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "Ipv4NetmaskLength", + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the VPC.", + "title": "Tags", + "type": "array" + }, + "VpcEncryptionControl": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControl" } }, - "required": [ - "SubnetId", - "TransitGatewayAttachmentId", - "TransitGatewayMulticastDomainId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayMulticastDomainAssociation" + "AWS::EC2::VPC" ], "type": "string" }, @@ -132978,12 +141570,101 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::TransitGatewayMulticastGroupMember": { + "AWS::EC2::VPC.VpcEncryptionControl": { + "additionalProperties": false, + "properties": { + "EgressOnlyInternetGatewayExclusion": { + "type": "string" + }, + "ElasticFileSystemExclusion": { + "type": "string" + }, + "InternetGatewayExclusion": { + "type": "string" + }, + "LambdaExclusion": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "NatGatewayExclusion": { + "type": "string" + }, + "ResourceExclusions": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusions" + }, + "State": { + "type": "string" + }, + "StateMessage": { + "type": "string" + }, + "VirtualPrivateGatewayExclusion": { + "type": "string" + }, + "VpcEncryptionControlId": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "VpcLatticeExclusion": { + "type": "string" + }, + "VpcPeeringExclusion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPC.VpcEncryptionControlExclusion": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + }, + "StateMessage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPC.VpcEncryptionControlExclusions": { + "additionalProperties": false, + "properties": { + "EgressOnlyInternetGateway": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + }, + "ElasticFileSystem": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + }, + "InternetGateway": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + }, + "Lambda": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + }, + "NatGateway": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + }, + "VirtualPrivateGateway": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + }, + "VpcLattice": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + }, + "VpcPeering": { + "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" + } + }, + "type": "object" + }, + "AWS::EC2::VPCBlockPublicAccessExclusion": { "additionalProperties": false, "properties": { "Condition": { @@ -133018,32 +141699,38 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupIpAddress": { - "markdownDescription": "The IP address assigned to the transit gateway multicast group.", - "title": "GroupIpAddress", + "InternetGatewayExclusionMode": { + "markdownDescription": "The desired VPC Block Public Access mode for a specific VPC or subnet exclusion.\n\n- `allow-bidirectional` : Allow all internet traffic to and from the excluded VPCs and subnets.\n- `allow-egress` : Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to `block-bidirectional` .", + "title": "InternetGatewayExclusionMode", "type": "string" }, - "NetworkInterfaceId": { - "markdownDescription": "The group members' network interface IDs to register with the transit gateway multicast group.", - "title": "NetworkInterfaceId", + "SubnetId": { + "markdownDescription": "The ID of the subnet you want to exclude. Required only if you don't specify VpcId.", + "title": "SubnetId", "type": "string" }, - "TransitGatewayMulticastDomainId": { - "markdownDescription": "The ID of the transit gateway multicast domain.", - "title": "TransitGatewayMulticastDomainId", + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC you want to exclude. Required only if you don't specify SubnetId.", + "title": "VpcId", "type": "string" } }, "required": [ - "GroupIpAddress", - "NetworkInterfaceId", - "TransitGatewayMulticastDomainId" + "InternetGatewayExclusionMode" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupMember" + "AWS::EC2::VPCBlockPublicAccessExclusion" ], "type": "string" }, @@ -133062,7 +141749,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayMulticastGroupSource": { + "AWS::EC2::VPCBlockPublicAccessOptions": { "additionalProperties": false, "properties": { "Condition": { @@ -133097,32 +141784,20 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupIpAddress": { - "markdownDescription": "The IP address assigned to the transit gateway multicast group.", - "title": "GroupIpAddress", - "type": "string" - }, - "NetworkInterfaceId": { - "markdownDescription": "The group sources' network interface IDs to register with the transit gateway multicast group.", - "title": "NetworkInterfaceId", - "type": "string" - }, - "TransitGatewayMulticastDomainId": { - "markdownDescription": "The ID of the transit gateway multicast domain.", - "title": "TransitGatewayMulticastDomainId", + "InternetGatewayBlockMode": { + "markdownDescription": "The desired VPC Block Public Access mode for internet gateways in your account. We do not allow you to create this resource type in an \"off\" mode since off is the default value.\n\n- `block-bidirectional` : Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).\n- `block-ingress` : Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.", + "title": "InternetGatewayBlockMode", "type": "string" } }, "required": [ - "GroupIpAddress", - "NetworkInterfaceId", - "TransitGatewayMulticastDomainId" + "InternetGatewayBlockMode" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupSource" + "AWS::EC2::VPCBlockPublicAccessOptions" ], "type": "string" }, @@ -133141,7 +141816,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayPeeringAttachment": { + "AWS::EC2::VPCCidrBlock": { "additionalProperties": false, "properties": { "Condition": { @@ -133176,46 +141851,65 @@ "Properties": { "additionalProperties": false, "properties": { - "PeerAccountId": { - "markdownDescription": "The ID of the AWS account that owns the transit gateway.", - "title": "PeerAccountId", + "AmazonProvidedIpv6CidrBlock": { + "markdownDescription": "Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses or the size of the CIDR block.", + "title": "AmazonProvidedIpv6CidrBlock", + "type": "boolean" + }, + "CidrBlock": { + "markdownDescription": "An IPv4 CIDR block to associate with the VPC.", + "title": "CidrBlock", "type": "string" }, - "PeerRegion": { - "markdownDescription": "The Region where the transit gateway that you want to create the peer for is located.", - "title": "PeerRegion", + "Ipv4IpamPoolId": { + "markdownDescription": "Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "Ipv4IpamPoolId", "type": "string" }, - "PeerTransitGatewayId": { - "markdownDescription": "The ID of the transit gateway in the PeerRegion.", - "title": "PeerTransitGatewayId", + "Ipv4NetmaskLength": { + "markdownDescription": "The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "Ipv4NetmaskLength", + "type": "number" + }, + "Ipv6CidrBlock": { + "markdownDescription": "An IPv6 CIDR block from the IPv6 address pool. You must also specify `Ipv6Pool` in the request.\n\nTo let Amazon choose the IPv6 CIDR block for you, omit this parameter.", + "title": "Ipv6CidrBlock", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags for the transit gateway peering attachment.", - "title": "Tags", - "type": "array" + "Ipv6CidrBlockNetworkBorderGroup": { + "markdownDescription": "The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the CIDR block to this location.\n\nYou must set `AmazonProvidedIpv6CidrBlock` to `true` to use this parameter.\n\nYou can have one IPv6 CIDR block association per network border group.", + "title": "Ipv6CidrBlockNetworkBorderGroup", + "type": "string" }, - "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway peering attachment.", - "title": "TransitGatewayId", + "Ipv6IpamPoolId": { + "markdownDescription": "Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "Ipv6IpamPoolId", + "type": "string" + }, + "Ipv6NetmaskLength": { + "markdownDescription": "The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", + "title": "Ipv6NetmaskLength", + "type": "number" + }, + "Ipv6Pool": { + "markdownDescription": "The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.", + "title": "Ipv6Pool", + "type": "string" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", "type": "string" } }, "required": [ - "PeerAccountId", - "PeerRegion", - "PeerTransitGatewayId", - "TransitGatewayId" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayPeeringAttachment" + "AWS::EC2::VPCCidrBlock" ], "type": "string" }, @@ -133234,23 +141928,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayPeeringAttachment.PeeringAttachmentStatus": { - "additionalProperties": false, - "properties": { - "Code": { - "markdownDescription": "The status code.", - "title": "Code", - "type": "string" - }, - "Message": { - "markdownDescription": "The status message, if applicable.", - "title": "Message", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::TransitGatewayPolicyTable": { + "AWS::EC2::VPCDHCPOptionsAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -133285,24 +141963,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "DhcpOptionsId": { + "markdownDescription": "The ID of the DHCP options set, or `default` to associate no DHCP options with the VPC.", + "title": "DhcpOptionsId", + "type": "string" }, - "TransitGatewayId": { + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", "type": "string" } }, "required": [ - "TransitGatewayId" + "DhcpOptionsId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayPolicyTable" + "AWS::EC2::VPCDHCPOptionsAssociation" ], "type": "string" }, @@ -133321,7 +142001,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayPolicyTableAssociation": { + "AWS::EC2::VPCEncryptionControl": { "additionalProperties": false, "properties": { "Condition": { @@ -133356,22 +142036,70 @@ "Properties": { "additionalProperties": false, "properties": { - "TransitGatewayAttachmentId": { + "EgressOnlyInternetGatewayExclusionInput": { + "markdownDescription": "Specifies whether to exclude egress-only internet gateway traffic from encryption enforcement.", + "title": "EgressOnlyInternetGatewayExclusionInput", "type": "string" }, - "TransitGatewayPolicyTableId": { + "ElasticFileSystemExclusionInput": { + "markdownDescription": "Specifies whether to exclude Elastic File System traffic from encryption enforcement.", + "title": "ElasticFileSystemExclusionInput", + "type": "string" + }, + "InternetGatewayExclusionInput": { + "markdownDescription": "Specifies whether to exclude internet gateway traffic from encryption enforcement.", + "title": "InternetGatewayExclusionInput", + "type": "string" + }, + "LambdaExclusionInput": { + "markdownDescription": "Specifies whether to exclude Lambda function traffic from encryption enforcement.", + "title": "LambdaExclusionInput", + "type": "string" + }, + "Mode": { + "markdownDescription": "The encryption mode for the VPC Encryption Control configuration.", + "title": "Mode", + "type": "string" + }, + "NatGatewayExclusionInput": { + "markdownDescription": "Specifies whether to exclude NAT gateway traffic from encryption enforcement.", + "title": "NatGatewayExclusionInput", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the VPC Encryption Control configuration.", + "title": "Tags", + "type": "array" + }, + "VirtualPrivateGatewayExclusionInput": { + "markdownDescription": "Specifies whether to exclude virtual private gateway traffic from encryption enforcement.", + "title": "VirtualPrivateGatewayExclusionInput", + "type": "string" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC for which to create the encryption control configuration.", + "title": "VpcId", + "type": "string" + }, + "VpcLatticeExclusionInput": { + "markdownDescription": "Specifies whether to exclude VPC Lattice traffic from encryption enforcement.", + "title": "VpcLatticeExclusionInput", + "type": "string" + }, + "VpcPeeringExclusionInput": { + "markdownDescription": "Specifies whether to exclude VPC peering connection traffic from encryption enforcement.", + "title": "VpcPeeringExclusionInput", "type": "string" } }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayPolicyTableId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayPolicyTableAssociation" + "AWS::EC2::VPCEncryptionControl" ], "type": "string" }, @@ -133385,12 +142113,73 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::TransitGatewayPolicyTableEntry": { + "AWS::EC2::VPCEncryptionControl.ResourceExclusions": { + "additionalProperties": false, + "properties": { + "EgressOnlyInternetGateway": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude egress-only internet gateway traffic from encryption enforcement.", + "title": "EgressOnlyInternetGateway" + }, + "ElasticFileSystem": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude Elastic File System traffic from encryption enforcement.", + "title": "ElasticFileSystem" + }, + "InternetGateway": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude internet gateway traffic from encryption enforcement.", + "title": "InternetGateway" + }, + "Lambda": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude Lambda function traffic from encryption enforcement.", + "title": "Lambda" + }, + "NatGateway": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude NAT gateway traffic from encryption enforcement.", + "title": "NatGateway" + }, + "VirtualPrivateGateway": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude virtual private gateway traffic from encryption enforcement.", + "title": "VirtualPrivateGateway" + }, + "VpcLattice": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude VPC Lattice traffic from encryption enforcement.", + "title": "VpcLattice" + }, + "VpcPeering": { + "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", + "markdownDescription": "Specifies whether to exclude VPC peering connection traffic from encryption enforcement.", + "title": "VpcPeering" + } + }, + "type": "object" + }, + "AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion": { + "additionalProperties": false, + "properties": { + "State": { + "markdownDescription": "The current state of the exclusion configuration.", + "title": "State", + "type": "string" + }, + "StateMessage": { + "markdownDescription": "A message providing additional information about the exclusion state.", + "title": "StateMessage", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPCEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -133425,30 +142214,97 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyRule": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayPolicyTableEntry.TransitGatewayPolicyRule" + "DnsOptions": { + "$ref": "#/definitions/AWS::EC2::VPCEndpoint.DnsOptionsSpecification", + "markdownDescription": "Describes the DNS options for an endpoint.", + "title": "DnsOptions" }, - "PolicyRuleNumber": { + "IpAddressType": { + "markdownDescription": "The supported IP address types.", + "title": "IpAddressType", "type": "string" }, - "TargetRouteTableId": { + "PolicyDocument": { + "markdownDescription": "An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints.\n\nFor CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. For example, if you have a JSON policy, you can convert it to YAML before including it in the YAML template, and AWS CloudFormation converts the policy to JSON format before calling the API actions for AWS PrivateLink . Alternatively, you can include the JSON directly in the YAML, as shown in the following `Properties` section:\n\n`Properties: VpcEndpointType: 'Interface' ServiceName: !Sub 'com.amazonaws.${AWS::Region}.logs' PolicyDocument: '{ \"Version\":\"2012-10-17\", \"Statement\": [{ \"Effect\":\"Allow\", \"Principal\":\"*\", \"Action\":[\"logs:Describe*\",\"logs:Get*\",\"logs:List*\",\"logs:FilterLogEvents\"], \"Resource\":\"*\" }] }'`", + "title": "PolicyDocument", + "type": "object" + }, + "PrivateDnsEnabled": { + "markdownDescription": "Indicate whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, `kinesis.us-east-1.amazonaws.com` ), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.\n\nTo use a private hosted zone, you must set the following VPC attributes to `true` : `enableDnsHostnames` and `enableDnsSupport` .\n\nThis property is supported only for interface endpoints.\n\nDefault: `false`", + "title": "PrivateDnsEnabled", + "type": "boolean" + }, + "ResourceConfigurationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource configuration.", + "title": "ResourceConfigurationArn", "type": "string" }, - "TransitGatewayPolicyTableId": { + "RouteTableIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the route tables. Routing is supported only for gateway endpoints.", + "title": "RouteTableIds", + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the security groups to associate with the endpoint network interfaces. If this parameter is not specified, we use the default security group for the VPC. Security groups are supported only for interface endpoints.", + "title": "SecurityGroupIds", + "type": "array" + }, + "ServiceName": { + "markdownDescription": "The name of the endpoint service.", + "title": "ServiceName", + "type": "string" + }, + "ServiceNetworkArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the service network.", + "title": "ServiceNetworkArn", + "type": "string" + }, + "ServiceRegion": { + "markdownDescription": "Describes a Region.", + "title": "ServiceRegion", + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to associate with the endpoint.", + "title": "Tags", + "type": "array" + }, + "VpcEndpointType": { + "markdownDescription": "The type of endpoint.\n\nDefault: Gateway", + "title": "VpcEndpointType", + "type": "string" + }, + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", "type": "string" } }, "required": [ - "PolicyRule", - "PolicyRuleNumber", - "TargetRouteTableId", - "TransitGatewayPolicyTableId" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayPolicyTableEntry" + "AWS::EC2::VPCEndpoint" ], "type": "string" }, @@ -133467,28 +142323,36 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayPolicyTableEntry.TransitGatewayPolicyRule": { + "AWS::EC2::VPCEndpoint.DnsOptionsSpecification": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationPortRange": { + "DnsRecordIpType": { + "markdownDescription": "The DNS records created for the endpoint.", + "title": "DnsRecordIpType", "type": "string" }, - "Protocol": { + "PrivateDnsOnlyForInboundResolverEndpoint": { + "markdownDescription": "Indicates whether to enable private DNS only for inbound endpoints. This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint.", + "title": "PrivateDnsOnlyForInboundResolverEndpoint", "type": "string" }, - "SourceCidrBlock": { + "PrivateDnsPreference": { + "markdownDescription": "The preference for which private domains have a private hosted zone created for and associated with the specified VPC. Only supported when private DNS is enabled and when the VPC endpoint type is ServiceNetwork or Resource.", + "title": "PrivateDnsPreference", "type": "string" }, - "SourcePortRange": { - "type": "string" + "PrivateDnsSpecifiedDomains": { + "items": { + "type": "string" + }, + "markdownDescription": "Indicates which of the private domains to create private hosted zones for and associate with the specified VPC. Only supported when private DNS is enabled and the private DNS preference is `VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS` or `SPECIFIED_DOMAINS_ONLY` .", + "title": "PrivateDnsSpecifiedDomains", + "type": "array" } }, "type": "object" }, - "AWS::EC2::TransitGatewayRoute": { + "AWS::EC2::VPCEndpointConnection": { "additionalProperties": false, "properties": { "Condition": { @@ -133522,37 +142386,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Blackhole": { - "markdownDescription": "Indicates whether to drop traffic that matches this route.", - "title": "Blackhole", - "type": "boolean" - }, - "DestinationCidrBlock": { - "markdownDescription": "The CIDR block used for destination matches.", - "title": "DestinationCidrBlock", - "type": "string" - }, - "TransitGatewayAttachmentId": { - "markdownDescription": "The ID of the attachment.", - "title": "TransitGatewayAttachmentId", - "type": "string" - }, - "TransitGatewayRouteTableId": { - "markdownDescription": "The ID of the transit gateway route table.", - "title": "TransitGatewayRouteTableId", - "type": "string" - } - }, - "required": [ - "DestinationCidrBlock", - "TransitGatewayRouteTableId" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRoute" + "AWS::EC2::VPCEndpointConnection" ], "type": "string" }, @@ -133566,12 +142405,23 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTable": { + "AWS::EC2::VPCEndpointConnection.DnsEntry": { + "additionalProperties": false, + "properties": { + "DnsName": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPCEndpointConnectionNotification": { "additionalProperties": false, "properties": { "Condition": { @@ -133606,28 +142456,39 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { + "ConnectionEvents": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "Any tags assigned to the route table.", - "title": "Tags", + "markdownDescription": "The endpoint events for which to receive notifications. Valid values are `Accept` , `Connect` , `Delete` , and `Reject` .", + "title": "ConnectionEvents", "type": "array" }, - "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway.", - "title": "TransitGatewayId", + "ConnectionNotificationArn": { + "markdownDescription": "The ARN of the SNS topic for the notifications.", + "title": "ConnectionNotificationArn", + "type": "string" + }, + "ServiceId": { + "markdownDescription": "The ID of the endpoint service.", + "title": "ServiceId", + "type": "string" + }, + "VPCEndpointId": { + "markdownDescription": "The ID of the endpoint.", + "title": "VPCEndpointId", "type": "string" } }, "required": [ - "TransitGatewayId" + "ConnectionEvents", + "ConnectionNotificationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRouteTable" + "AWS::EC2::VPCEndpointConnectionNotification" ], "type": "string" }, @@ -133646,7 +142507,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTableAssociation": { + "AWS::EC2::VPCEndpointService": { "additionalProperties": false, "properties": { "Condition": { @@ -133681,26 +142542,73 @@ "Properties": { "additionalProperties": false, "properties": { - "TransitGatewayAttachmentId": { - "markdownDescription": "The ID of the attachment.", - "title": "TransitGatewayAttachmentId", + "AcceptanceRequired": { + "markdownDescription": "Indicates whether requests from service consumers to create an endpoint to your service must be accepted.", + "title": "AcceptanceRequired", + "type": "boolean" + }, + "ContributorInsightsEnabled": { + "markdownDescription": "Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink .", + "title": "ContributorInsightsEnabled", + "type": "boolean" + }, + "GatewayLoadBalancerArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the Gateway Load Balancers.", + "title": "GatewayLoadBalancerArns", + "type": "array" + }, + "NetworkLoadBalancerArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the Network Load Balancers.", + "title": "NetworkLoadBalancerArns", + "type": "array" + }, + "PayerResponsibility": { + "markdownDescription": "The entity that is responsible for the endpoint costs. The default is the endpoint owner. If you set the payer responsibility to the service owner, you cannot set it back to the endpoint owner.", + "title": "PayerResponsibility", "type": "string" }, - "TransitGatewayRouteTableId": { - "markdownDescription": "The ID of the route table for the transit gateway.", - "title": "TransitGatewayRouteTableId", + "PrivateDnsName": { "type": "string" + }, + "PrivateDnsNameConfiguration": { + "$ref": "#/definitions/AWS::EC2::VPCEndpointService.PrivateDnsNameConfiguration" + }, + "SupportedIpAddressTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The supported IP address types. The possible values are `ipv4` and `ipv6` .", + "title": "SupportedIpAddressTypes", + "type": "array" + }, + "SupportedRegions": { + "items": { + "type": "string" + }, + "markdownDescription": "The Regions from which service consumers can access the service.", + "title": "SupportedRegions", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to associate with the service.", + "title": "Tags", + "type": "array" } }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRouteTableAssociation" + "AWS::EC2::VPCEndpointService" ], "type": "string" }, @@ -133714,12 +142622,29 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTablePropagation": { + "AWS::EC2::VPCEndpointService.PrivateDnsNameConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPCEndpointServicePermissions": { "additionalProperties": false, "properties": { "Condition": { @@ -133754,26 +142679,28 @@ "Properties": { "additionalProperties": false, "properties": { - "TransitGatewayAttachmentId": { - "markdownDescription": "The ID of the attachment.", - "title": "TransitGatewayAttachmentId", - "type": "string" + "AllowedPrincipals": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Names (ARN) of one or more principals (for example, users, IAM roles, and AWS accounts ). Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*). Permissions are revoked for principals not in this list. If the list is empty, then all permissions are revoked.", + "title": "AllowedPrincipals", + "type": "array" }, - "TransitGatewayRouteTableId": { - "markdownDescription": "The ID of the propagation route table.", - "title": "TransitGatewayRouteTableId", + "ServiceId": { + "markdownDescription": "The ID of the service.", + "title": "ServiceId", "type": "string" } }, "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" + "ServiceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRouteTablePropagation" + "AWS::EC2::VPCEndpointServicePermissions" ], "type": "string" }, @@ -133792,7 +142719,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayVpcAttachment": { + "AWS::EC2::VPCGatewayAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -133827,64 +142754,30 @@ "Properties": { "additionalProperties": false, "properties": { - "AddSubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.", - "title": "AddSubnetIds", - "type": "array" - }, - "Options": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayVpcAttachment.Options", - "markdownDescription": "The VPC attachment options.", - "title": "Options" - }, - "RemoveSubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of one or more subnets to remove.", - "title": "RemoveSubnetIds", - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the subnets.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags for the VPC attachment.", - "title": "Tags", - "type": "array" - }, - "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway.", - "title": "TransitGatewayId", + "InternetGatewayId": { + "markdownDescription": "The ID of the internet gateway.\n\nYou must specify either `InternetGatewayId` or `VpnGatewayId` , but not both.", + "title": "InternetGatewayId", "type": "string" }, "VpcId": { "markdownDescription": "The ID of the VPC.", "title": "VpcId", "type": "string" + }, + "VpnGatewayId": { + "markdownDescription": "The ID of the virtual private gateway.\n\nYou must specify either `InternetGatewayId` or `VpnGatewayId` , but not both.", + "title": "VpnGatewayId", + "type": "string" } }, "required": [ - "SubnetIds", - "TransitGatewayId", "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayVpcAttachment" + "AWS::EC2::VPCGatewayAttachment" ], "type": "string" }, @@ -133900,36 +142793,10 @@ "required": [ "Type", "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayVpcAttachment.Options": { - "additionalProperties": false, - "properties": { - "ApplianceModeSupport": { - "markdownDescription": "Enable or disable appliance mode support. The default is `disable` .", - "title": "ApplianceModeSupport", - "type": "string" - }, - "DnsSupport": { - "markdownDescription": "Enable or disable DNS support. The default is `disable` .", - "title": "DnsSupport", - "type": "string" - }, - "Ipv6Support": { - "markdownDescription": "Enable or disable IPv6 support. The default is `disable` .", - "title": "Ipv6Support", - "type": "string" - }, - "SecurityGroupReferencingSupport": { - "markdownDescription": "Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.\n\nFor important information about this feature, see [Create a transit gateway](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#create-tgw) in the *AWS Transit Gateway Guide* .", - "title": "SecurityGroupReferencingSupport", - "type": "string" - } - }, + ], "type": "object" }, - "AWS::EC2::VPC": { + "AWS::EC2::VPCPeeringConnection": { "additionalProperties": false, "properties": { "Condition": { @@ -133964,53 +142831,52 @@ "Properties": { "additionalProperties": false, "properties": { - "CidrBlock": { - "markdownDescription": "The IPv4 network range for the VPC, in CIDR notation. For example, `10.0.0.0/16` . We modify the specified CIDR block to its canonical form; for example, if you specify `100.68.0.18/18` , we modify it to `100.68.0.0/18` .\n\nYou must specify either `CidrBlock` or `Ipv4IpamPoolId` .", - "title": "CidrBlock", + "AssumeRoleRegion": { "type": "string" }, - "EnableDnsHostnames": { - "markdownDescription": "Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not. Disabled by default for nondefault VPCs. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) .\n\nYou can only enable DNS hostnames if you've enabled DNS support.", - "title": "EnableDnsHostnames", - "type": "boolean" - }, - "EnableDnsSupport": { - "markdownDescription": "Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range \"plus two\" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled. Enabled by default. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) .", - "title": "EnableDnsSupport", - "type": "boolean" + "PeerOwnerId": { + "markdownDescription": "The AWS account ID of the owner of the accepter VPC.\n\nDefault: Your AWS account ID", + "title": "PeerOwnerId", + "type": "string" }, - "InstanceTenancy": { - "markdownDescription": "The allowed tenancy of instances launched into the VPC.\n\n- `default` : An instance launched into the VPC runs on shared hardware by default, unless you explicitly specify a different tenancy during instance launch.\n- `dedicated` : An instance launched into the VPC runs on dedicated hardware by default, unless you explicitly specify a tenancy of `host` during instance launch. You cannot specify a tenancy of `default` during instance launch.\n\nUpdating `InstanceTenancy` requires no replacement only if you are updating its value from `dedicated` to `default` . Updating `InstanceTenancy` from `default` to `dedicated` requires replacement.", - "title": "InstanceTenancy", + "PeerRegion": { + "markdownDescription": "The Region code for the accepter VPC, if the accepter VPC is located in a Region other than the Region in which you make the request.\n\nDefault: The Region in which you make the request.", + "title": "PeerRegion", "type": "string" }, - "Ipv4IpamPoolId": { - "markdownDescription": "The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .\n\nYou must specify either `CidrBlock` or `Ipv4IpamPoolId` .", - "title": "Ipv4IpamPoolId", + "PeerRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the VPC peer role for the peering connection in another AWS account.\n\nThis is required when you are peering a VPC in a different AWS account.", + "title": "PeerRoleArn", "type": "string" }, - "Ipv4NetmaskLength": { - "markdownDescription": "The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "Ipv4NetmaskLength", - "type": "number" + "PeerVpcId": { + "markdownDescription": "The ID of the VPC with which you are creating the VPC peering connection. You must specify this parameter in the request.", + "title": "PeerVpcId", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags for the VPC.", + "markdownDescription": "Any tags assigned to the resource.", "title": "Tags", "type": "array" }, - "VpcEncryptionControl": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControl" + "VpcId": { + "markdownDescription": "The ID of the VPC.", + "title": "VpcId", + "type": "string" } }, + "required": [ + "PeerVpcId", + "VpcId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPC" + "AWS::EC2::VPCPeeringConnection" ], "type": "string" }, @@ -134024,101 +142890,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::VPC.VpcEncryptionControl": { - "additionalProperties": false, - "properties": { - "EgressOnlyInternetGatewayExclusion": { - "type": "string" - }, - "ElasticFileSystemExclusion": { - "type": "string" - }, - "InternetGatewayExclusion": { - "type": "string" - }, - "LambdaExclusion": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "NatGatewayExclusion": { - "type": "string" - }, - "ResourceExclusions": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusions" - }, - "State": { - "type": "string" - }, - "StateMessage": { - "type": "string" - }, - "VirtualPrivateGatewayExclusion": { - "type": "string" - }, - "VpcEncryptionControlId": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "VpcLatticeExclusion": { - "type": "string" - }, - "VpcPeeringExclusion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPC.VpcEncryptionControlExclusion": { - "additionalProperties": false, - "properties": { - "State": { - "type": "string" - }, - "StateMessage": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPC.VpcEncryptionControlExclusions": { - "additionalProperties": false, - "properties": { - "EgressOnlyInternetGateway": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - }, - "ElasticFileSystem": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - }, - "InternetGateway": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - }, - "Lambda": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - }, - "NatGateway": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - }, - "VirtualPrivateGateway": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - }, - "VpcLattice": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - }, - "VpcPeering": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControlExclusion" - } - }, - "type": "object" - }, - "AWS::EC2::VPCBlockPublicAccessExclusion": { + "AWS::EC2::VPNConcentrator": { "additionalProperties": false, "properties": { "Condition": { @@ -134153,38 +142930,34 @@ "Properties": { "additionalProperties": false, "properties": { - "InternetGatewayExclusionMode": { - "markdownDescription": "The desired VPC Block Public Access mode for a specific VPC or subnet exclusion.\n\n- `allow-bidirectional` : Allow all internet traffic to and from the excluded VPCs and subnets.\n- `allow-egress` : Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to `block-bidirectional` .", - "title": "InternetGatewayExclusionMode", - "type": "string" - }, - "SubnetId": { - "markdownDescription": "The ID of the subnet you want to exclude. Required only if you don't specify VpcId.", - "title": "SubnetId", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", + "markdownDescription": "Any tags assigned to the VPN concentrator.", "title": "Tags", "type": "array" }, - "VpcId": { - "markdownDescription": "The ID of the VPC you want to exclude. Required only if you don't specify SubnetId.", - "title": "VpcId", + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway associated with the VPN concentrator.", + "title": "TransitGatewayId", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of VPN concentrator.", + "title": "Type", "type": "string" } }, "required": [ - "InternetGatewayExclusionMode" + "TransitGatewayId", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCBlockPublicAccessExclusion" + "AWS::EC2::VPNConcentrator" ], "type": "string" }, @@ -134203,7 +142976,7 @@ ], "type": "object" }, - "AWS::EC2::VPCBlockPublicAccessOptions": { + "AWS::EC2::VPNConnection": { "additionalProperties": false, "properties": { "Condition": { @@ -134238,20 +143011,112 @@ "Properties": { "additionalProperties": false, "properties": { - "InternetGatewayBlockMode": { - "markdownDescription": "The desired VPC Block Public Access mode for internet gateways in your account. We do not allow you to create this resource type in an \"off\" mode since off is the default value.\n\n- `block-bidirectional` : Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).\n- `block-ingress` : Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.", - "title": "InternetGatewayBlockMode", + "CustomerGatewayId": { + "markdownDescription": "The ID of the customer gateway at your end of the VPN connection.", + "title": "CustomerGatewayId", + "type": "string" + }, + "EnableAcceleration": { + "markdownDescription": "Indicate whether to enable acceleration for the VPN connection.\n\nDefault: `false`", + "title": "EnableAcceleration", + "type": "boolean" + }, + "LocalIpv4NetworkCidr": { + "markdownDescription": "The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.\n\nDefault: `0.0.0.0/0`", + "title": "LocalIpv4NetworkCidr", + "type": "string" + }, + "LocalIpv6NetworkCidr": { + "markdownDescription": "The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.\n\nDefault: `::/0`", + "title": "LocalIpv6NetworkCidr", + "type": "string" + }, + "OutsideIpAddressType": { + "markdownDescription": "The type of IP address assigned to the outside interface of the customer gateway device.\n\nValid values: `PrivateIpv4` | `PublicIpv4` | `Ipv6`\n\nDefault: `PublicIpv4`", + "title": "OutsideIpAddressType", + "type": "string" + }, + "PreSharedKeyStorage": { + "markdownDescription": "Describes the storage location for an instance store-backed AMI.", + "title": "PreSharedKeyStorage", + "type": "string" + }, + "RemoteIpv4NetworkCidr": { + "markdownDescription": "The IPv4 CIDR on the AWS side of the VPN connection.\n\nDefault: `0.0.0.0/0`", + "title": "RemoteIpv4NetworkCidr", + "type": "string" + }, + "RemoteIpv6NetworkCidr": { + "markdownDescription": "The IPv6 CIDR on the AWS side of the VPN connection.\n\nDefault: `::/0`", + "title": "RemoteIpv6NetworkCidr", + "type": "string" + }, + "StaticRoutesOnly": { + "markdownDescription": "Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.\n\nIf you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify `true` .", + "title": "StaticRoutesOnly", + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the VPN connection.", + "title": "Tags", + "type": "array" + }, + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway associated with the VPN connection.\n\nYou must specify either `TransitGatewayId` or `VpnGatewayId` , but not both.", + "title": "TransitGatewayId", + "type": "string" + }, + "TransportTransitGatewayAttachmentId": { + "markdownDescription": "The transit gateway attachment ID to use for the VPN tunnel.\n\nRequired if `OutsideIpAddressType` is set to `PrivateIpv4` .", + "title": "TransportTransitGatewayAttachmentId", + "type": "string" + }, + "TunnelBandwidth": { + "markdownDescription": "The desired bandwidth specification for the VPN tunnel, used when creating or modifying VPN connection options to set the tunnel's throughput capacity. `standard` supports up to 1.25 Gbps per tunnel, while `large` supports up to 5 Gbps per tunnel. The default value is `standard` . Existing VPN connections without a bandwidth setting will automatically default to `standard` .", + "title": "TunnelBandwidth", + "type": "string" + }, + "TunnelInsideIpVersion": { + "markdownDescription": "Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.\n\nDefault: `ipv4`", + "title": "TunnelInsideIpVersion", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of VPN connection.", + "title": "Type", + "type": "string" + }, + "VpnConcentratorId": { + "markdownDescription": "The ID of the VPN concentrator to associate with the VPN connection.", + "title": "VpnConcentratorId", + "type": "string" + }, + "VpnGatewayId": { + "markdownDescription": "The ID of the virtual private gateway at the AWS side of the VPN connection.\n\nYou must specify either `TransitGatewayId` or `VpnGatewayId` , but not both.", + "title": "VpnGatewayId", "type": "string" + }, + "VpnTunnelOptionsSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" + }, + "markdownDescription": "The tunnel options for the VPN connection.", + "title": "VpnTunnelOptionsSpecifications", + "type": "array" } }, "required": [ - "InternetGatewayBlockMode" + "CustomerGatewayId", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCBlockPublicAccessOptions" + "AWS::EC2::VPNConnection" ], "type": "string" }, @@ -134270,7 +143135,258 @@ ], "type": "object" }, - "AWS::EC2::VPCCidrBlock": { + "AWS::EC2::VPNConnection.CloudwatchLogOptionsSpecification": { + "additionalProperties": false, + "properties": { + "BgpLogEnabled": { + "markdownDescription": "Specifies whether to enable BGP logging for the VPN connection. Default value is `False` .\n\nValid values: `True` | `False`", + "title": "BgpLogEnabled", + "type": "boolean" + }, + "BgpLogGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch log group where BGP logs will be sent.", + "title": "BgpLogGroupArn", + "type": "string" + }, + "BgpLogOutputFormat": { + "markdownDescription": "The desired output format for BGP logs to be sent to CloudWatch. Default format is `json` .\n\nValid values: `json` | `text`", + "title": "BgpLogOutputFormat", + "type": "string" + }, + "LogEnabled": { + "markdownDescription": "Enable or disable VPN tunnel logging feature. Default value is `False` .\n\nValid values: `True` | `False`", + "title": "LogEnabled", + "type": "boolean" + }, + "LogGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.", + "title": "LogGroupArn", + "type": "string" + }, + "LogOutputFormat": { + "markdownDescription": "Set log format. Default format is `json` .\n\nValid values: `json` | `text`", + "title": "LogOutputFormat", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.IKEVersionsRequestListValue": { + "additionalProperties": false, + "properties": { + "Value": { + "markdownDescription": "The IKE version.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.Phase1DHGroupNumbersRequestListValue": { + "additionalProperties": false, + "properties": { + "Value": { + "markdownDescription": "The Diffie-Hellmann group number.", + "title": "Value", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.Phase1EncryptionAlgorithmsRequestListValue": { + "additionalProperties": false, + "properties": { + "Value": { + "markdownDescription": "The value for the encryption algorithm.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.Phase1IntegrityAlgorithmsRequestListValue": { + "additionalProperties": false, + "properties": { + "Value": { + "markdownDescription": "The value for the integrity algorithm.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.Phase2DHGroupNumbersRequestListValue": { + "additionalProperties": false, + "properties": { + "Value": { + "markdownDescription": "The Diffie-Hellmann group number.", + "title": "Value", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.Phase2EncryptionAlgorithmsRequestListValue": { + "additionalProperties": false, + "properties": { + "Value": { + "markdownDescription": "The encryption algorithm.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.Phase2IntegrityAlgorithmsRequestListValue": { + "additionalProperties": false, + "properties": { + "Value": { + "markdownDescription": "The integrity algorithm.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.VpnTunnelLogOptionsSpecification": { + "additionalProperties": false, + "properties": { + "CloudwatchLogOptions": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.CloudwatchLogOptionsSpecification", + "markdownDescription": "Options for sending VPN tunnel logs to CloudWatch.", + "title": "CloudwatchLogOptions" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DPDTimeoutAction": { + "markdownDescription": "The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session.\n\nValid Values: `clear` | `none` | `restart`\n\nDefault: `clear`", + "title": "DPDTimeoutAction", + "type": "string" + }, + "DPDTimeoutSeconds": { + "markdownDescription": "The number of seconds after which a DPD timeout occurs.\n\nConstraints: A value greater than or equal to 30.\n\nDefault: `30`", + "title": "DPDTimeoutSeconds", + "type": "number" + }, + "EnableTunnelLifecycleControl": { + "markdownDescription": "Turn on or off tunnel endpoint lifecycle control feature.", + "title": "EnableTunnelLifecycleControl", + "type": "boolean" + }, + "IKEVersions": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.IKEVersionsRequestListValue" + }, + "markdownDescription": "The IKE versions that are permitted for the VPN tunnel.\n\nValid values: `ikev1` | `ikev2`", + "title": "IKEVersions", + "type": "array" + }, + "LogOptions": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelLogOptionsSpecification", + "markdownDescription": "Options for logging VPN tunnel activity.", + "title": "LogOptions" + }, + "Phase1DHGroupNumbers": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase1DHGroupNumbersRequestListValue" + }, + "markdownDescription": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`", + "title": "Phase1DHGroupNumbers", + "type": "array" + }, + "Phase1EncryptionAlgorithms": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase1EncryptionAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`", + "title": "Phase1EncryptionAlgorithms", + "type": "array" + }, + "Phase1IntegrityAlgorithms": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase1IntegrityAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`", + "title": "Phase1IntegrityAlgorithms", + "type": "array" + }, + "Phase1LifetimeSeconds": { + "markdownDescription": "The lifetime for phase 1 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 28,800.\n\nDefault: `28800`", + "title": "Phase1LifetimeSeconds", + "type": "number" + }, + "Phase2DHGroupNumbers": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase2DHGroupNumbersRequestListValue" + }, + "markdownDescription": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`", + "title": "Phase2DHGroupNumbers", + "type": "array" + }, + "Phase2EncryptionAlgorithms": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase2EncryptionAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`", + "title": "Phase2EncryptionAlgorithms", + "type": "array" + }, + "Phase2IntegrityAlgorithms": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase2IntegrityAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`", + "title": "Phase2IntegrityAlgorithms", + "type": "array" + }, + "Phase2LifetimeSeconds": { + "markdownDescription": "The lifetime for phase 2 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` .\n\nDefault: `3600`", + "title": "Phase2LifetimeSeconds", + "type": "number" + }, + "PreSharedKey": { + "markdownDescription": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n\nConstraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).", + "title": "PreSharedKey", + "type": "string" + }, + "RekeyFuzzPercentage": { + "markdownDescription": "The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected.\n\nConstraints: A value between 0 and 100.\n\nDefault: `100`", + "title": "RekeyFuzzPercentage", + "type": "number" + }, + "RekeyMarginTimeSeconds": { + "markdownDescription": "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` .\n\nConstraints: A value between 60 and half of `Phase2LifetimeSeconds` .\n\nDefault: `270`", + "title": "RekeyMarginTimeSeconds", + "type": "number" + }, + "ReplayWindowSize": { + "markdownDescription": "The number of packets in an IKE replay window.\n\nConstraints: A value between 64 and 2048.\n\nDefault: `1024`", + "title": "ReplayWindowSize", + "type": "number" + }, + "StartupAction": { + "markdownDescription": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation.\n\nValid Values: `add` | `start`\n\nDefault: `add`", + "title": "StartupAction", + "type": "string" + }, + "TunnelInsideCidr": { + "markdownDescription": "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.\n\nConstraints: A size /30 CIDR block from the `169.254.0.0/16` range. The following CIDR blocks are reserved and cannot be used:\n\n- `169.254.0.0/30`\n- `169.254.1.0/30`\n- `169.254.2.0/30`\n- `169.254.3.0/30`\n- `169.254.4.0/30`\n- `169.254.5.0/30`\n- `169.254.169.252/30`", + "title": "TunnelInsideCidr", + "type": "string" + }, + "TunnelInsideIpv6Cidr": { + "markdownDescription": "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n\nConstraints: A size /126 CIDR block from the local `fd00::/8` range.", + "title": "TunnelInsideIpv6Cidr", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnectionRoute": { "additionalProperties": false, "properties": { "Condition": { @@ -134305,65 +143421,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AmazonProvidedIpv6CidrBlock": { - "markdownDescription": "Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses or the size of the CIDR block.", - "title": "AmazonProvidedIpv6CidrBlock", - "type": "boolean" - }, - "CidrBlock": { - "markdownDescription": "An IPv4 CIDR block to associate with the VPC.", - "title": "CidrBlock", - "type": "string" - }, - "Ipv4IpamPoolId": { - "markdownDescription": "Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "Ipv4IpamPoolId", - "type": "string" - }, - "Ipv4NetmaskLength": { - "markdownDescription": "The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "Ipv4NetmaskLength", - "type": "number" - }, - "Ipv6CidrBlock": { - "markdownDescription": "An IPv6 CIDR block from the IPv6 address pool. You must also specify `Ipv6Pool` in the request.\n\nTo let Amazon choose the IPv6 CIDR block for you, omit this parameter.", - "title": "Ipv6CidrBlock", - "type": "string" - }, - "Ipv6CidrBlockNetworkBorderGroup": { - "markdownDescription": "The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the CIDR block to this location.\n\nYou must set `AmazonProvidedIpv6CidrBlock` to `true` to use this parameter.\n\nYou can have one IPv6 CIDR block association per network border group.", - "title": "Ipv6CidrBlockNetworkBorderGroup", - "type": "string" - }, - "Ipv6IpamPoolId": { - "markdownDescription": "Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "Ipv6IpamPoolId", - "type": "string" - }, - "Ipv6NetmaskLength": { - "markdownDescription": "The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .", - "title": "Ipv6NetmaskLength", - "type": "number" - }, - "Ipv6Pool": { - "markdownDescription": "The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.", - "title": "Ipv6Pool", + "DestinationCidrBlock": { + "markdownDescription": "The CIDR block associated with the local subnet of the customer network.", + "title": "DestinationCidrBlock", "type": "string" }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", + "VpnConnectionId": { + "markdownDescription": "The ID of the VPN connection.", + "title": "VpnConnectionId", "type": "string" } }, "required": [ - "VpcId" + "DestinationCidrBlock", + "VpnConnectionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCCidrBlock" + "AWS::EC2::VPNConnectionRoute" ], "type": "string" }, @@ -134382,7 +143459,7 @@ ], "type": "object" }, - "AWS::EC2::VPCDHCPOptionsAssociation": { + "AWS::EC2::VPNGateway": { "additionalProperties": false, "properties": { "Condition": { @@ -134417,26 +143494,33 @@ "Properties": { "additionalProperties": false, "properties": { - "DhcpOptionsId": { - "markdownDescription": "The ID of the DHCP options set, or `default` to associate no DHCP options with the VPC.", - "title": "DhcpOptionsId", - "type": "string" + "AmazonSideAsn": { + "markdownDescription": "The private Autonomous System Number (ASN) for the Amazon side of a BGP session.", + "title": "AmazonSideAsn", + "type": "number" }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the virtual private gateway.", + "title": "Tags", + "type": "array" + }, + "Type": { + "markdownDescription": "The type of VPN connection the virtual private gateway supports.", + "title": "Type", "type": "string" } }, "required": [ - "DhcpOptionsId", - "VpcId" + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCDHCPOptionsAssociation" + "AWS::EC2::VPNGateway" ], "type": "string" }, @@ -134455,7 +143539,7 @@ ], "type": "object" }, - "AWS::EC2::VPCEncryptionControl": { + "AWS::EC2::VPNGatewayRoutePropagation": { "additionalProperties": false, "properties": { "Condition": { @@ -134490,70 +143574,29 @@ "Properties": { "additionalProperties": false, "properties": { - "EgressOnlyInternetGatewayExclusionInput": { - "markdownDescription": "Specifies whether to exclude egress-only internet gateway traffic from encryption enforcement.", - "title": "EgressOnlyInternetGatewayExclusionInput", - "type": "string" - }, - "ElasticFileSystemExclusionInput": { - "markdownDescription": "Specifies whether to exclude Elastic File System traffic from encryption enforcement.", - "title": "ElasticFileSystemExclusionInput", - "type": "string" - }, - "InternetGatewayExclusionInput": { - "markdownDescription": "Specifies whether to exclude internet gateway traffic from encryption enforcement.", - "title": "InternetGatewayExclusionInput", - "type": "string" - }, - "LambdaExclusionInput": { - "markdownDescription": "Specifies whether to exclude Lambda function traffic from encryption enforcement.", - "title": "LambdaExclusionInput", - "type": "string" - }, - "Mode": { - "markdownDescription": "The encryption mode for the VPC Encryption Control configuration.", - "title": "Mode", - "type": "string" - }, - "NatGatewayExclusionInput": { - "markdownDescription": "Specifies whether to exclude NAT gateway traffic from encryption enforcement.", - "title": "NatGatewayExclusionInput", - "type": "string" - }, - "Tags": { + "RouteTableIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The tags assigned to the VPC Encryption Control configuration.", - "title": "Tags", + "markdownDescription": "The ID of the route table. The routing table must be associated with the same VPC that the virtual private gateway is attached to.", + "title": "RouteTableIds", "type": "array" }, - "VirtualPrivateGatewayExclusionInput": { - "markdownDescription": "Specifies whether to exclude virtual private gateway traffic from encryption enforcement.", - "title": "VirtualPrivateGatewayExclusionInput", - "type": "string" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC for which to create the encryption control configuration.", - "title": "VpcId", - "type": "string" - }, - "VpcLatticeExclusionInput": { - "markdownDescription": "Specifies whether to exclude VPC Lattice traffic from encryption enforcement.", - "title": "VpcLatticeExclusionInput", - "type": "string" - }, - "VpcPeeringExclusionInput": { - "markdownDescription": "Specifies whether to exclude VPC peering connection traffic from encryption enforcement.", - "title": "VpcPeeringExclusionInput", + "VpnGatewayId": { + "markdownDescription": "The ID of the virtual private gateway that is attached to a VPC. The virtual private gateway must be attached to the same VPC that the routing tables are associated with.", + "title": "VpnGatewayId", "type": "string" } }, + "required": [ + "RouteTableIds", + "VpnGatewayId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCEncryptionControl" + "AWS::EC2::VPNGatewayRoutePropagation" ], "type": "string" }, @@ -134567,73 +143610,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::VPCEncryptionControl.ResourceExclusions": { - "additionalProperties": false, - "properties": { - "EgressOnlyInternetGateway": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude egress-only internet gateway traffic from encryption enforcement.", - "title": "EgressOnlyInternetGateway" - }, - "ElasticFileSystem": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude Elastic File System traffic from encryption enforcement.", - "title": "ElasticFileSystem" - }, - "InternetGateway": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude internet gateway traffic from encryption enforcement.", - "title": "InternetGateway" - }, - "Lambda": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude Lambda function traffic from encryption enforcement.", - "title": "Lambda" - }, - "NatGateway": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude NAT gateway traffic from encryption enforcement.", - "title": "NatGateway" - }, - "VirtualPrivateGateway": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude virtual private gateway traffic from encryption enforcement.", - "title": "VirtualPrivateGateway" - }, - "VpcLattice": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude VPC Lattice traffic from encryption enforcement.", - "title": "VpcLattice" - }, - "VpcPeering": { - "$ref": "#/definitions/AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion", - "markdownDescription": "Specifies whether to exclude VPC peering connection traffic from encryption enforcement.", - "title": "VpcPeering" - } - }, - "type": "object" - }, - "AWS::EC2::VPCEncryptionControl.VpcEncryptionControlExclusion": { - "additionalProperties": false, - "properties": { - "State": { - "markdownDescription": "The current state of the exclusion configuration.", - "title": "State", - "type": "string" - }, - "StateMessage": { - "markdownDescription": "A message providing additional information about the exclusion state.", - "title": "StateMessage", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPCEndpoint": { + "AWS::EC2::VerifiedAccessEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -134668,97 +143650,103 @@ "Properties": { "additionalProperties": false, "properties": { - "DnsOptions": { - "$ref": "#/definitions/AWS::EC2::VPCEndpoint.DnsOptionsSpecification", - "markdownDescription": "Describes the DNS options for an endpoint.", - "title": "DnsOptions" - }, - "IpAddressType": { - "markdownDescription": "The supported IP address types.", - "title": "IpAddressType", + "ApplicationDomain": { + "markdownDescription": "The DNS name for users to reach your application.", + "title": "ApplicationDomain", "type": "string" }, - "PolicyDocument": { - "markdownDescription": "An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints.\n\nFor CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. For example, if you have a JSON policy, you can convert it to YAML before including it in the YAML template, and AWS CloudFormation converts the policy to JSON format before calling the API actions for AWS PrivateLink . Alternatively, you can include the JSON directly in the YAML, as shown in the following `Properties` section:\n\n`Properties: VpcEndpointType: 'Interface' ServiceName: !Sub 'com.amazonaws.${AWS::Region}.logs' PolicyDocument: '{ \"Version\":\"2012-10-17\", \"Statement\": [{ \"Effect\":\"Allow\", \"Principal\":\"*\", \"Action\":[\"logs:Describe*\",\"logs:Get*\",\"logs:List*\",\"logs:FilterLogEvents\"], \"Resource\":\"*\" }] }'`", - "title": "PolicyDocument", - "type": "object" + "AttachmentType": { + "markdownDescription": "The type of attachment used to provide connectivity between the AWS Verified Access endpoint and the application.", + "title": "AttachmentType", + "type": "string" }, - "PrivateDnsEnabled": { - "markdownDescription": "Indicate whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, `kinesis.us-east-1.amazonaws.com` ), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.\n\nTo use a private hosted zone, you must set the following VPC attributes to `true` : `enableDnsHostnames` and `enableDnsSupport` .\n\nThis property is supported only for interface endpoints.\n\nDefault: `false`", - "title": "PrivateDnsEnabled", - "type": "boolean" + "CidrOptions": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.CidrOptions", + "markdownDescription": "The options for a CIDR endpoint.", + "title": "CidrOptions" }, - "ResourceConfigurationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource configuration.", - "title": "ResourceConfigurationArn", + "Description": { + "markdownDescription": "A description for the AWS Verified Access endpoint.", + "title": "Description", "type": "string" }, - "RouteTableIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the route tables. Routing is supported only for gateway endpoints.", - "title": "RouteTableIds", - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the security groups to associate with the endpoint network interfaces. If this parameter is not specified, we use the default security group for the VPC. Security groups are supported only for interface endpoints.", - "title": "SecurityGroupIds", - "type": "array" + "DomainCertificateArn": { + "markdownDescription": "The ARN of a public TLS/SSL certificate imported into or created with ACM.", + "title": "DomainCertificateArn", + "type": "string" }, - "ServiceName": { - "markdownDescription": "The name of the endpoint service.", - "title": "ServiceName", + "EndpointDomainPrefix": { + "markdownDescription": "A custom identifier that is prepended to the DNS name that is generated for the endpoint.", + "title": "EndpointDomainPrefix", "type": "string" }, - "ServiceNetworkArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the service network.", - "title": "ServiceNetworkArn", + "EndpointType": { + "markdownDescription": "The type of AWS Verified Access endpoint. Incoming application requests will be sent to an IP address, load balancer or a network interface depending on the endpoint type specified.", + "title": "EndpointType", "type": "string" }, - "ServiceRegion": { - "markdownDescription": "Describes a Region.", - "title": "ServiceRegion", + "LoadBalancerOptions": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.LoadBalancerOptions", + "markdownDescription": "The load balancer details if creating the AWS Verified Access endpoint as `load-balancer` type.", + "title": "LoadBalancerOptions" + }, + "NetworkInterfaceOptions": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.NetworkInterfaceOptions", + "markdownDescription": "The options for network-interface type endpoint.", + "title": "NetworkInterfaceOptions" + }, + "PolicyDocument": { + "markdownDescription": "The Verified Access policy document.", + "title": "PolicyDocument", "type": "string" }, - "SubnetIds": { + "PolicyEnabled": { + "markdownDescription": "The status of the Verified Access policy.", + "title": "PolicyEnabled", + "type": "boolean" + }, + "RdsOptions": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.RdsOptions", + "markdownDescription": "The options for an RDS endpoint.", + "title": "RdsOptions" + }, + "SecurityGroupIds": { "items": { "type": "string" }, - "markdownDescription": "The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.", - "title": "SubnetIds", + "markdownDescription": "The IDs of the security groups for the endpoint.", + "title": "SecurityGroupIds", "type": "array" }, + "SseSpecification": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.SseSpecification", + "markdownDescription": "The options for additional server side encryption.", + "title": "SseSpecification" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to associate with the endpoint.", + "markdownDescription": "The tags.", "title": "Tags", "type": "array" }, - "VpcEndpointType": { - "markdownDescription": "The type of endpoint.\n\nDefault: Gateway", - "title": "VpcEndpointType", - "type": "string" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", + "VerifiedAccessGroupId": { + "markdownDescription": "The ID of the AWS Verified Access group.", + "title": "VerifiedAccessGroupId", "type": "string" } }, "required": [ - "VpcId" + "AttachmentType", + "EndpointType", + "VerifiedAccessGroupId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCEndpoint" + "AWS::EC2::VerifiedAccessEndpoint" ], "type": "string" }, @@ -134777,36 +143765,181 @@ ], "type": "object" }, - "AWS::EC2::VPCEndpoint.DnsOptionsSpecification": { + "AWS::EC2::VerifiedAccessEndpoint.CidrOptions": { "additionalProperties": false, "properties": { - "DnsRecordIpType": { - "markdownDescription": "The DNS records created for the endpoint.", - "title": "DnsRecordIpType", + "Cidr": { + "markdownDescription": "The CIDR.", + "title": "Cidr", "type": "string" }, - "PrivateDnsOnlyForInboundResolverEndpoint": { - "markdownDescription": "Indicates whether to enable private DNS only for inbound endpoints. This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint.", - "title": "PrivateDnsOnlyForInboundResolverEndpoint", + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.PortRange" + }, + "markdownDescription": "The port ranges.", + "title": "PortRanges", + "type": "array" + }, + "Protocol": { + "markdownDescription": "The protocol.", + "title": "Protocol", "type": "string" }, - "PrivateDnsPreference": { - "markdownDescription": "The preference for which private domains have a private hosted zone created for and associated with the specified VPC. Only supported when private DNS is enabled and when the VPC endpoint type is ServiceNetwork or Resource.", - "title": "PrivateDnsPreference", + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the subnets.", + "title": "SubnetIds", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessEndpoint.LoadBalancerOptions": { + "additionalProperties": false, + "properties": { + "LoadBalancerArn": { + "markdownDescription": "The ARN of the load balancer.", + "title": "LoadBalancerArn", "type": "string" }, - "PrivateDnsSpecifiedDomains": { + "Port": { + "markdownDescription": "The IP port number.", + "title": "Port", + "type": "number" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.PortRange" + }, + "markdownDescription": "The port ranges.", + "title": "PortRanges", + "type": "array" + }, + "Protocol": { + "markdownDescription": "The IP protocol.", + "title": "Protocol", + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone.", + "title": "SubnetIds", + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessEndpoint.NetworkInterfaceOptions": { + "additionalProperties": false, + "properties": { + "NetworkInterfaceId": { + "markdownDescription": "The ID of the network interface.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "Port": { + "markdownDescription": "The IP port number.", + "title": "Port", + "type": "number" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.PortRange" + }, + "markdownDescription": "The port ranges.", + "title": "PortRanges", + "type": "array" + }, + "Protocol": { + "markdownDescription": "The IP protocol.", + "title": "Protocol", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessEndpoint.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "markdownDescription": "The start of the port range.", + "title": "FromPort", + "type": "number" + }, + "ToPort": { + "markdownDescription": "The end of the port range.", + "title": "ToPort", + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessEndpoint.RdsOptions": { + "additionalProperties": false, + "properties": { + "Port": { + "markdownDescription": "The port.", + "title": "Port", + "type": "number" + }, + "Protocol": { + "markdownDescription": "The protocol.", + "title": "Protocol", + "type": "string" + }, + "RdsDbClusterArn": { + "markdownDescription": "The ARN of the DB cluster.", + "title": "RdsDbClusterArn", + "type": "string" + }, + "RdsDbInstanceArn": { + "markdownDescription": "The ARN of the RDS instance.", + "title": "RdsDbInstanceArn", + "type": "string" + }, + "RdsDbProxyArn": { + "markdownDescription": "The ARN of the RDS proxy.", + "title": "RdsDbProxyArn", + "type": "string" + }, + "RdsEndpoint": { + "markdownDescription": "The RDS endpoint.", + "title": "RdsEndpoint", + "type": "string" + }, + "SubnetIds": { "items": { "type": "string" }, - "markdownDescription": "Indicates which of the private domains to create private hosted zones for and associate with the specified VPC. Only supported when private DNS is enabled and the private DNS preference is `VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS` or `SPECIFIED_DOMAINS_ONLY` .", - "title": "PrivateDnsSpecifiedDomains", + "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone.", + "title": "SubnetIds", "type": "array" } }, "type": "object" }, - "AWS::EC2::VPCEndpointConnectionNotification": { + "AWS::EC2::VerifiedAccessEndpoint.SseSpecification": { + "additionalProperties": false, + "properties": { + "CustomerManagedKeyEnabled": { + "markdownDescription": "Enable or disable the use of customer managed KMS keys for server side encryption.\n\nValid values: `True` | `False`", + "title": "CustomerManagedKeyEnabled", + "type": "boolean" + }, + "KmsKeyArn": { + "markdownDescription": "The ARN of the KMS key.", + "title": "KmsKeyArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -134841,39 +143974,48 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionEvents": { - "items": { - "type": "string" - }, - "markdownDescription": "The endpoint events for which to receive notifications. Valid values are `Accept` , `Connect` , `Delete` , and `Reject` .", - "title": "ConnectionEvents", - "type": "array" - }, - "ConnectionNotificationArn": { - "markdownDescription": "The ARN of the SNS topic for the notifications.", - "title": "ConnectionNotificationArn", + "Description": { + "markdownDescription": "A description for the AWS Verified Access group.", + "title": "Description", "type": "string" }, - "ServiceId": { - "markdownDescription": "The ID of the endpoint service.", - "title": "ServiceId", + "PolicyDocument": { + "markdownDescription": "The Verified Access policy document.", + "title": "PolicyDocument", "type": "string" }, - "VPCEndpointId": { - "markdownDescription": "The ID of the endpoint.", - "title": "VPCEndpointId", + "PolicyEnabled": { + "markdownDescription": "The status of the Verified Access policy.", + "title": "PolicyEnabled", + "type": "boolean" + }, + "SseSpecification": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessGroup.SseSpecification", + "markdownDescription": "The options for additional server side encryption.", + "title": "SseSpecification" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags.", + "title": "Tags", + "type": "array" + }, + "VerifiedAccessInstanceId": { + "markdownDescription": "The ID of the AWS Verified Access instance.", + "title": "VerifiedAccessInstanceId", "type": "string" } }, "required": [ - "ConnectionEvents", - "ConnectionNotificationArn" + "VerifiedAccessInstanceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCEndpointConnectionNotification" + "AWS::EC2::VerifiedAccessGroup" ], "type": "string" }, @@ -134892,7 +144034,23 @@ ], "type": "object" }, - "AWS::EC2::VPCEndpointService": { + "AWS::EC2::VerifiedAccessGroup.SseSpecification": { + "additionalProperties": false, + "properties": { + "CustomerManagedKeyEnabled": { + "markdownDescription": "Enable or disable the use of customer managed KMS keys for server side encryption.\n\nValid values: `True` | `False`", + "title": "CustomerManagedKeyEnabled", + "type": "boolean" + }, + "KmsKeyArn": { + "markdownDescription": "The ARN of the KMS key.", + "title": "KmsKeyArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -134927,65 +144085,48 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptanceRequired": { - "markdownDescription": "Indicates whether requests from service consumers to create an endpoint to your service must be accepted.", - "title": "AcceptanceRequired", - "type": "boolean" - }, - "ContributorInsightsEnabled": { - "markdownDescription": "Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink .", - "title": "ContributorInsightsEnabled", - "type": "boolean" - }, - "GatewayLoadBalancerArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the Gateway Load Balancers.", - "title": "GatewayLoadBalancerArns", - "type": "array" - }, - "NetworkLoadBalancerArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the Network Load Balancers.", - "title": "NetworkLoadBalancerArns", - "type": "array" - }, - "PayerResponsibility": { - "markdownDescription": "The entity that is responsible for the endpoint costs. The default is the endpoint owner. If you set the payer responsibility to the service owner, you cannot set it back to the endpoint owner.", - "title": "PayerResponsibility", + "CidrEndpointsCustomSubDomain": { + "markdownDescription": "The custom subdomain.", + "title": "CidrEndpointsCustomSubDomain", "type": "string" }, - "PrivateDnsName": { + "Description": { + "markdownDescription": "A description for the AWS Verified Access instance.", + "title": "Description", "type": "string" }, - "PrivateDnsNameConfiguration": { - "$ref": "#/definitions/AWS::EC2::VPCEndpointService.PrivateDnsNameConfiguration" + "FipsEnabled": { + "markdownDescription": "Indicates whether support for Federal Information Processing Standards (FIPS) is enabled on the instance.", + "title": "FipsEnabled", + "type": "boolean" }, - "SupportedIpAddressTypes": { + "LoggingConfigurations": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.VerifiedAccessLogs", + "markdownDescription": "The logging configuration for the Verified Access instances.", + "title": "LoggingConfigurations" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The supported IP address types. The possible values are `ipv4` and `ipv6` .", - "title": "SupportedIpAddressTypes", + "markdownDescription": "The tags.", + "title": "Tags", "type": "array" }, - "SupportedRegions": { + "VerifiedAccessTrustProviderIds": { "items": { "type": "string" }, - "markdownDescription": "The Regions from which service consumers can access the service.", - "title": "SupportedRegions", + "markdownDescription": "The IDs of the AWS Verified Access trust providers.", + "title": "VerifiedAccessTrustProviderIds", "type": "array" }, - "Tags": { + "VerifiedAccessTrustProviders": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.VerifiedAccessTrustProvider" }, - "markdownDescription": "The tags to associate with the service.", - "title": "Tags", + "markdownDescription": "The IDs of the AWS Verified Access trust providers.", + "title": "VerifiedAccessTrustProviders", "type": "array" } }, @@ -134993,7 +144134,7 @@ }, "Type": { "enum": [ - "AWS::EC2::VPCEndpointService" + "AWS::EC2::VerifiedAccessInstance" ], "type": "string" }, @@ -135011,25 +144152,127 @@ ], "type": "object" }, - "AWS::EC2::VPCEndpointService.PrivateDnsNameConfiguration": { + "AWS::EC2::VerifiedAccessInstance.CloudWatchLogs": { "additionalProperties": false, "properties": { - "Name": { + "Enabled": { + "markdownDescription": "Indicates whether logging is enabled.", + "title": "Enabled", + "type": "boolean" + }, + "LogGroup": { + "markdownDescription": "The ID of the CloudWatch Logs log group.", + "title": "LogGroup", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessInstance.KinesisDataFirehose": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "markdownDescription": "The ID of the delivery stream.", + "title": "DeliveryStream", "type": "string" }, - "State": { + "Enabled": { + "markdownDescription": "Indicates whether logging is enabled.", + "title": "Enabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessInstance.S3": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "The bucket name.", + "title": "BucketName", "type": "string" }, - "Type": { + "BucketOwner": { + "markdownDescription": "The AWS account number that owns the bucket.", + "title": "BucketOwner", "type": "string" }, - "Value": { + "Enabled": { + "markdownDescription": "Indicates whether logging is enabled.", + "title": "Enabled", + "type": "boolean" + }, + "Prefix": { + "markdownDescription": "The bucket prefix.", + "title": "Prefix", "type": "string" } }, "type": "object" }, - "AWS::EC2::VPCEndpointServicePermissions": { + "AWS::EC2::VerifiedAccessInstance.VerifiedAccessLogs": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.CloudWatchLogs", + "markdownDescription": "CloudWatch Logs logging destination.", + "title": "CloudWatchLogs" + }, + "IncludeTrustContext": { + "markdownDescription": "Indicates whether to include trust data sent by trust providers in the logs.", + "title": "IncludeTrustContext", + "type": "boolean" + }, + "KinesisDataFirehose": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.KinesisDataFirehose", + "markdownDescription": "Kinesis logging destination.", + "title": "KinesisDataFirehose" + }, + "LogVersion": { + "markdownDescription": "The logging version.\n\nValid values: `ocsf-0.1` | `ocsf-1.0.0-rc.2`", + "title": "LogVersion", + "type": "string" + }, + "S3": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.S3", + "markdownDescription": "Amazon S3 logging options.", + "title": "S3" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessInstance.VerifiedAccessTrustProvider": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "A description for the AWS Verified Access trust provider.", + "title": "Description", + "type": "string" + }, + "DeviceTrustProviderType": { + "markdownDescription": "The type of device-based trust provider.", + "title": "DeviceTrustProviderType", + "type": "string" + }, + "TrustProviderType": { + "markdownDescription": "The type of Verified Access trust provider.", + "title": "TrustProviderType", + "type": "string" + }, + "UserTrustProviderType": { + "markdownDescription": "The type of user-based trust provider.", + "title": "UserTrustProviderType", + "type": "string" + }, + "VerifiedAccessTrustProviderId": { + "markdownDescription": "The ID of the AWS Verified Access trust provider.", + "title": "VerifiedAccessTrustProviderId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessTrustProvider": { "additionalProperties": false, "properties": { "Condition": { @@ -135064,28 +144307,69 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowedPrincipals": { + "Description": { + "markdownDescription": "A description for the AWS Verified Access trust provider.", + "title": "Description", + "type": "string" + }, + "DeviceOptions": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.DeviceOptions", + "markdownDescription": "The options for device-identity trust provider.", + "title": "DeviceOptions" + }, + "DeviceTrustProviderType": { + "markdownDescription": "The type of device-based trust provider.", + "title": "DeviceTrustProviderType", + "type": "string" + }, + "NativeApplicationOidcOptions": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.NativeApplicationOidcOptions", + "markdownDescription": "The OpenID Connect (OIDC) options.", + "title": "NativeApplicationOidcOptions" + }, + "OidcOptions": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.OidcOptions", + "markdownDescription": "The options for an OpenID Connect-compatible user-identity trust provider.", + "title": "OidcOptions" + }, + "PolicyReferenceName": { + "markdownDescription": "The identifier to be used when working with policy rules.", + "title": "PolicyReferenceName", + "type": "string" + }, + "SseSpecification": { + "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.SseSpecification", + "markdownDescription": "The options for additional server side encryption.", + "title": "SseSpecification" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The Amazon Resource Names (ARN) of one or more principals (for example, users, IAM roles, and AWS accounts ). Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*). Permissions are revoked for principals not in this list. If the list is empty, then all permissions are revoked.", - "title": "AllowedPrincipals", + "markdownDescription": "The tags.", + "title": "Tags", "type": "array" }, - "ServiceId": { - "markdownDescription": "The ID of the service.", - "title": "ServiceId", + "TrustProviderType": { + "markdownDescription": "The type of Verified Access trust provider.", + "title": "TrustProviderType", + "type": "string" + }, + "UserTrustProviderType": { + "markdownDescription": "The type of user-based trust provider.", + "title": "UserTrustProviderType", "type": "string" } }, "required": [ - "ServiceId" + "PolicyReferenceName", + "TrustProviderType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" + "AWS::EC2::VerifiedAccessTrustProvider" ], "type": "string" }, @@ -135104,7 +144388,126 @@ ], "type": "object" }, - "AWS::EC2::VPCGatewayAttachment": { + "AWS::EC2::VerifiedAccessTrustProvider.DeviceOptions": { + "additionalProperties": false, + "properties": { + "PublicSigningKeyUrl": { + "markdownDescription": "The URL AWS Verified Access will use to verify the authenticity of the device tokens.", + "title": "PublicSigningKeyUrl", + "type": "string" + }, + "TenantId": { + "markdownDescription": "The ID of the tenant application with the device-identity provider.", + "title": "TenantId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessTrustProvider.NativeApplicationOidcOptions": { + "additionalProperties": false, + "properties": { + "AuthorizationEndpoint": { + "markdownDescription": "The authorization endpoint of the IdP.", + "title": "AuthorizationEndpoint", + "type": "string" + }, + "ClientId": { + "markdownDescription": "The OAuth 2.0 client identifier.", + "title": "ClientId", + "type": "string" + }, + "ClientSecret": { + "markdownDescription": "The OAuth 2.0 client secret.", + "title": "ClientSecret", + "type": "string" + }, + "Issuer": { + "markdownDescription": "The OIDC issuer identifier of the IdP.", + "title": "Issuer", + "type": "string" + }, + "PublicSigningKeyEndpoint": { + "markdownDescription": "The public signing key endpoint.", + "title": "PublicSigningKeyEndpoint", + "type": "string" + }, + "Scope": { + "markdownDescription": "The set of user claims to be requested from the IdP.", + "title": "Scope", + "type": "string" + }, + "TokenEndpoint": { + "markdownDescription": "The token endpoint of the IdP.", + "title": "TokenEndpoint", + "type": "string" + }, + "UserInfoEndpoint": { + "markdownDescription": "The user info endpoint of the IdP.", + "title": "UserInfoEndpoint", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessTrustProvider.OidcOptions": { + "additionalProperties": false, + "properties": { + "AuthorizationEndpoint": { + "markdownDescription": "The OIDC authorization endpoint.", + "title": "AuthorizationEndpoint", + "type": "string" + }, + "ClientId": { + "markdownDescription": "The client identifier.", + "title": "ClientId", + "type": "string" + }, + "ClientSecret": { + "markdownDescription": "The client secret.", + "title": "ClientSecret", + "type": "string" + }, + "Issuer": { + "markdownDescription": "The OIDC issuer.", + "title": "Issuer", + "type": "string" + }, + "Scope": { + "markdownDescription": "The OpenID Connect (OIDC) scope specified.", + "title": "Scope", + "type": "string" + }, + "TokenEndpoint": { + "markdownDescription": "The OIDC token endpoint.", + "title": "TokenEndpoint", + "type": "string" + }, + "UserInfoEndpoint": { + "markdownDescription": "The OIDC user info endpoint.", + "title": "UserInfoEndpoint", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VerifiedAccessTrustProvider.SseSpecification": { + "additionalProperties": false, + "properties": { + "CustomerManagedKeyEnabled": { + "markdownDescription": "Enable or disable the use of customer managed KMS keys for server side encryption.\n\nValid values: `True` | `False`", + "title": "CustomerManagedKeyEnabled", + "type": "boolean" + }, + "KmsKeyArn": { + "markdownDescription": "The ARN of the KMS key.", + "title": "KmsKeyArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Volume": { "additionalProperties": false, "properties": { "Condition": { @@ -135139,30 +144542,90 @@ "Properties": { "additionalProperties": false, "properties": { - "InternetGatewayId": { - "markdownDescription": "The ID of the internet gateway.\n\nYou must specify either `InternetGatewayId` or `VpnGatewayId` , but not both.", - "title": "InternetGatewayId", + "AutoEnableIO": { + "markdownDescription": "Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.", + "title": "AutoEnableIO", + "type": "boolean" + }, + "AvailabilityZone": { + "markdownDescription": "The ID of the Availability Zone in which to create the volume. For example, `us-east-1a` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified, but not both.\n\nIf you are creating a volume copy, omit this parameter. The volume copy is created in the same Availability Zone as the source volume.", + "title": "AvailabilityZone", "type": "string" }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", + "AvailabilityZoneId": { + "markdownDescription": "The ID of the Availability Zone in which to create the volume. For example, `use1-az1` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified, but not both.\n\nIf you are creating a volume copy, omit this parameter. The volume copy is created in the same Availability Zone as the source volume.", + "title": "AvailabilityZoneId", "type": "string" }, - "VpnGatewayId": { - "markdownDescription": "The ID of the virtual private gateway.\n\nYou must specify either `InternetGatewayId` or `VpnGatewayId` , but not both.", - "title": "VpnGatewayId", + "Encrypted": { + "markdownDescription": "Indicates whether the volume should be encrypted. The effect of setting the encryption state to `true` depends on the volume origin (new, from a snapshot, or from an existing volume), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default) in the *Amazon EBS User Guide* .\n\nIf you are creating a volume copy, omit this parameter. The volume is automatically encrypted with the same KMS key as the source volume. You can't copy unencrypted volumes.", + "title": "Encrypted", + "type": "boolean" + }, + "Iops": { + "markdownDescription": "The number of I/O operations per second (IOPS) to provision for the volume. Required for `io1` and `io2` volumes. Optional for `gp3` volumes. Omit for all other volume types.\n\nValid ranges:\n\n- gp3: `3,000` ( *default* ) `- 80,000` IOPS\n- io1: `100 - 64,000` IOPS\n- io2: `100 - 256,000` IOPS\n\n> [Instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) can support up to 256,000 IOPS. Other instances can support up to 32,000 IOPS.", + "title": "Iops", + "type": "number" + }, + "KmsKeyId": { + "markdownDescription": "The identifier of the AWS KMS key to use for Amazon EBS encryption. If `KmsKeyId` is specified, the encrypted state must be `true` .\n\nIf you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to `true` , then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the AWS managed key .\n\nAlternatively, if you want to specify a different key, you can specify one of the following:\n\n- Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.\n- Key alias. Specify the alias for the key, prefixed with `alias/` . For example, for a key with the alias `my_cmk` , use `alias/my_cmk` . Or to specify the AWS managed key , use `alias/aws/ebs` .\n- Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n- Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.\n\nIf you are creating a volume copy, omit this parameter. The volume is automatically encrypted with the same KMS key as the source volume. You can't copy unencrypted volumes.", + "title": "KmsKeyId", + "type": "string" + }, + "MultiAttachEnabled": { + "markdownDescription": "Indicates whether Amazon EBS Multi-Attach is enabled.\n\nAWS CloudFormation does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.", + "title": "MultiAttachEnabled", + "type": "boolean" + }, + "OutpostArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Outpost on which to create the volume.\n\nIf you intend to use a volume with an instance running on an outpost, then you must create the volume on the same outpost as the instance. You can't use a volume created in an AWS Region with an instance on an AWS outpost, or the other way around.", + "title": "OutpostArn", + "type": "string" + }, + "Size": { + "markdownDescription": "The size of the volume, in GiBs.\n\n- Required for new empty volumes.\n- Optional for volumes created from snapshots and volume copies. In this case, the size defaults to the size of the snapshot or source volume. You can optionally specify a size that is equal to or larger than the size of the source snapshot or volume.\n\nSupported volume sizes:\n\n- gp2: `1 - 16,384` GiB\n- gp3: `1 - 65,536` GiB\n- io1: `4 - 16,384` GiB\n- io2: `4 - 65,536` GiB\n- st1 and sc1: `125 - 16,384` GiB\n- standard: `1 - 1024` GiB", + "title": "Size", + "type": "number" + }, + "SnapshotId": { + "markdownDescription": "The snapshot from which to create the volume. Only specify to create a volume from a snapshot. To create a new empty volume, omit this parameter and specify a value for `Size` instead. To create a volume copy, omit this parameter and specify `SourceVolumeId` instead.", + "title": "SnapshotId", + "type": "string" + }, + "SourceVolumeId": { + "markdownDescription": "The ID of the source EBS volume to copy. When specified, the volume is created as an exact copy of the specified volume. Only specify to create a volume copy. To create a new empty volume or to create a volume from a snapshot, omit this parameter,", + "title": "SourceVolumeId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to apply to the volume during creation.", + "title": "Tags", + "type": "array" + }, + "Throughput": { + "markdownDescription": "The throughput to provision for a volume, with a maximum of 1,000 MiB/s.\n\nThis parameter is valid only for `gp3` volumes. The default value is 125.\n\nValid Range: Minimum value of 125. Maximum value of 1000.", + "title": "Throughput", + "type": "number" + }, + "VolumeInitializationRate": { + "markdownDescription": "Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as *volume initialization* . Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation.\n\nThis parameter is supported only for volumes created from snapshots. Omit this parameter if:\n\n- You want to create the volume using fast snapshot restore. You must specify a snapshot that is enabled for fast snapshot restore. In this case, the volume is fully initialized at creation.\n\n> If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, the volume will be initialized at the specified rate instead of fast snapshot restore.\n- You want to create a volume that is initialized at the default rate.\n\nFor more information, see [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EC2 User Guide* .\n\nValid range: 100 - 300 MiB/s", + "title": "VolumeInitializationRate", + "type": "number" + }, + "VolumeType": { + "markdownDescription": "The volume type. This parameter can be one of the following values:\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> Throughput Optimized HDD ( `st1` ) and Cold HDD ( `sc1` ) volumes can't be used as boot volumes. \n\nFor more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .\n\nDefault: `gp2`", + "title": "VolumeType", "type": "string" } }, - "required": [ - "VpcId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCGatewayAttachment" + "AWS::EC2::Volume" ], "type": "string" }, @@ -135176,12 +144639,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::VPCPeeringConnection": { + "AWS::EC2::VolumeAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -135216,52 +144678,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AssumeRoleRegion": { - "type": "string" - }, - "PeerOwnerId": { - "markdownDescription": "The AWS account ID of the owner of the accepter VPC.\n\nDefault: Your AWS account ID", - "title": "PeerOwnerId", - "type": "string" - }, - "PeerRegion": { - "markdownDescription": "The Region code for the accepter VPC, if the accepter VPC is located in a Region other than the Region in which you make the request.\n\nDefault: The Region in which you make the request.", - "title": "PeerRegion", + "Device": { + "markdownDescription": "The device name (for example, `/dev/sdh` or `xvdh` ).", + "title": "Device", "type": "string" }, - "PeerRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the VPC peer role for the peering connection in another AWS account.\n\nThis is required when you are peering a VPC in a different AWS account.", - "title": "PeerRoleArn", - "type": "string" + "EbsCardIndex": { + "type": "number" }, - "PeerVpcId": { - "markdownDescription": "The ID of the VPC with which you are creating the VPC peering connection. You must specify this parameter in the request.", - "title": "PeerVpcId", + "InstanceId": { + "markdownDescription": "The ID of the instance to which the volume attaches. This value can be a reference to an [`AWS::EC2::Instance`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource, or it can be the physical ID of an existing EC2 instance.", + "title": "InstanceId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Any tags assigned to the resource.", - "title": "Tags", - "type": "array" - }, - "VpcId": { - "markdownDescription": "The ID of the VPC.", - "title": "VpcId", + "VolumeId": { + "markdownDescription": "The ID of the Amazon EBS volume. The volume and instance must be within the same Availability Zone. This value can be a reference to an [`AWS::EC2::Volume`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html) resource, or it can be the volume ID of an existing Amazon EBS volume.", + "title": "VolumeId", "type": "string" } }, "required": [ - "PeerVpcId", - "VpcId" + "InstanceId", + "VolumeId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCPeeringConnection" + "AWS::EC2::VolumeAttachment" ], "type": "string" }, @@ -135280,7 +144724,7 @@ ], "type": "object" }, - "AWS::EC2::VPNConcentrator": { + "AWS::EC2::VpnConnectionDeviceType": { "additionalProperties": false, "properties": { "Condition": { @@ -135314,35 +144758,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Any tags assigned to the VPN concentrator.", - "title": "Tags", - "type": "array" - }, - "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway associated with the VPN concentrator.", - "title": "TransitGatewayId", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of VPN concentrator.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "TransitGatewayId", - "Type" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNConcentrator" + "AWS::EC2::VpnConnectionDeviceType" ], "type": "string" }, @@ -135356,12 +144777,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::VPNConnection": { + "AWS::ECR::PublicRepository": { "additionalProperties": false, "properties": { "Condition": { @@ -135396,112 +144816,35 @@ "Properties": { "additionalProperties": false, "properties": { - "CustomerGatewayId": { - "markdownDescription": "The ID of the customer gateway at your end of the VPN connection.", - "title": "CustomerGatewayId", - "type": "string" - }, - "EnableAcceleration": { - "markdownDescription": "Indicate whether to enable acceleration for the VPN connection.\n\nDefault: `false`", - "title": "EnableAcceleration", - "type": "boolean" - }, - "LocalIpv4NetworkCidr": { - "markdownDescription": "The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.\n\nDefault: `0.0.0.0/0`", - "title": "LocalIpv4NetworkCidr", - "type": "string" - }, - "LocalIpv6NetworkCidr": { - "markdownDescription": "The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.\n\nDefault: `::/0`", - "title": "LocalIpv6NetworkCidr", - "type": "string" - }, - "OutsideIpAddressType": { - "markdownDescription": "The type of IP address assigned to the outside interface of the customer gateway device.\n\nValid values: `PrivateIpv4` | `PublicIpv4` | `Ipv6`\n\nDefault: `PublicIpv4`", - "title": "OutsideIpAddressType", - "type": "string" - }, - "PreSharedKeyStorage": { - "markdownDescription": "Describes the storage location for an instance store-backed AMI.", - "title": "PreSharedKeyStorage", - "type": "string" - }, - "RemoteIpv4NetworkCidr": { - "markdownDescription": "The IPv4 CIDR on the AWS side of the VPN connection.\n\nDefault: `0.0.0.0/0`", - "title": "RemoteIpv4NetworkCidr", - "type": "string" + "RepositoryCatalogData": { + "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData", + "markdownDescription": "The details about the repository that are publicly visible in the Amazon ECR Public Gallery. For more information, see [Amazon ECR Public repository catalog data](https://docs.aws.amazon.com/AmazonECR/latest/public/public-repository-catalog-data.html) in the *Amazon ECR Public User Guide* .", + "title": "RepositoryCatalogData" }, - "RemoteIpv6NetworkCidr": { - "markdownDescription": "The IPv6 CIDR on the AWS side of the VPN connection.\n\nDefault: `::/0`", - "title": "RemoteIpv6NetworkCidr", + "RepositoryName": { + "markdownDescription": "The name to use for the public repository. The repository name may be specified on its own (such as `nginx-web-app` ) or it can be prepended with a namespace to group the repository into a category (such as `project-a/nginx-web-app` ). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the repository name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "RepositoryName", "type": "string" }, - "StaticRoutesOnly": { - "markdownDescription": "Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.\n\nIf you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify `true` .", - "title": "StaticRoutesOnly", - "type": "boolean" + "RepositoryPolicyText": { + "markdownDescription": "The JSON repository policy text to apply to the public repository. For more information, see [Amazon ECR Public repository policies](https://docs.aws.amazon.com/AmazonECR/latest/public/public-repository-policies.html) in the *Amazon ECR Public User Guide* .", + "title": "RepositoryPolicyText", + "type": "object" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Any tags assigned to the VPN connection.", + "markdownDescription": "An array of key-value pairs to apply to this resource.", "title": "Tags", "type": "array" - }, - "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway associated with the VPN connection.\n\nYou must specify either `TransitGatewayId` or `VpnGatewayId` , but not both.", - "title": "TransitGatewayId", - "type": "string" - }, - "TransportTransitGatewayAttachmentId": { - "markdownDescription": "The transit gateway attachment ID to use for the VPN tunnel.\n\nRequired if `OutsideIpAddressType` is set to `PrivateIpv4` .", - "title": "TransportTransitGatewayAttachmentId", - "type": "string" - }, - "TunnelBandwidth": { - "markdownDescription": "The desired bandwidth specification for the VPN tunnel, used when creating or modifying VPN connection options to set the tunnel's throughput capacity. `standard` supports up to 1.25 Gbps per tunnel, while `large` supports up to 5 Gbps per tunnel. The default value is `standard` . Existing VPN connections without a bandwidth setting will automatically default to `standard` .", - "title": "TunnelBandwidth", - "type": "string" - }, - "TunnelInsideIpVersion": { - "markdownDescription": "Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.\n\nDefault: `ipv4`", - "title": "TunnelInsideIpVersion", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of VPN connection.", - "title": "Type", - "type": "string" - }, - "VpnConcentratorId": { - "markdownDescription": "The ID of the VPN concentrator to associate with the VPN connection.", - "title": "VpnConcentratorId", - "type": "string" - }, - "VpnGatewayId": { - "markdownDescription": "The ID of the virtual private gateway at the AWS side of the VPN connection.\n\nYou must specify either `TransitGatewayId` or `VpnGatewayId` , but not both.", - "title": "VpnGatewayId", - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" - }, - "markdownDescription": "The tunnel options for the VPN connection.", - "title": "VpnTunnelOptionsSpecifications", - "type": "array" } }, - "required": [ - "CustomerGatewayId", - "Type" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNConnection" + "AWS::ECR::PublicRepository" ], "type": "string" }, @@ -135515,263 +144858,48 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::VPNConnection.CloudwatchLogOptionsSpecification": { - "additionalProperties": false, - "properties": { - "BgpLogEnabled": { - "markdownDescription": "Specifies whether to enable BGP logging for the VPN connection. Default value is `False` .\n\nValid values: `True` | `False`", - "title": "BgpLogEnabled", - "type": "boolean" - }, - "BgpLogGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch log group where BGP logs will be sent.", - "title": "BgpLogGroupArn", - "type": "string" - }, - "BgpLogOutputFormat": { - "markdownDescription": "The desired output format for BGP logs to be sent to CloudWatch. Default format is `json` .\n\nValid values: `json` | `text`", - "title": "BgpLogOutputFormat", - "type": "string" - }, - "LogEnabled": { - "markdownDescription": "Enable or disable VPN tunnel logging feature. Default value is `False` .\n\nValid values: `True` | `False`", - "title": "LogEnabled", - "type": "boolean" - }, - "LogGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.", - "title": "LogGroupArn", - "type": "string" - }, - "LogOutputFormat": { - "markdownDescription": "Set log format. Default format is `json` .\n\nValid values: `json` | `text`", - "title": "LogOutputFormat", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.IKEVersionsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "The IKE version.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.Phase1DHGroupNumbersRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "The Diffie-Hellmann group number.", - "title": "Value", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.Phase1EncryptionAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "The value for the encryption algorithm.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.Phase1IntegrityAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "The value for the integrity algorithm.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.Phase2DHGroupNumbersRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "The Diffie-Hellmann group number.", - "title": "Value", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.Phase2EncryptionAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "The encryption algorithm.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.Phase2IntegrityAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "markdownDescription": "The integrity algorithm.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.VpnTunnelLogOptionsSpecification": { - "additionalProperties": false, - "properties": { - "CloudwatchLogOptions": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.CloudwatchLogOptionsSpecification", - "markdownDescription": "Options for sending VPN tunnel logs to CloudWatch.", - "title": "CloudwatchLogOptions" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { + "AWS::ECR::PublicRepository.RepositoryCatalogData": { "additionalProperties": false, "properties": { - "DPDTimeoutAction": { - "markdownDescription": "The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session.\n\nValid Values: `clear` | `none` | `restart`\n\nDefault: `clear`", - "title": "DPDTimeoutAction", + "AboutText": { + "markdownDescription": "The longform description of the contents of the repository. This text appears in the repository details on the Amazon ECR Public Gallery.", + "title": "AboutText", "type": "string" }, - "DPDTimeoutSeconds": { - "markdownDescription": "The number of seconds after which a DPD timeout occurs.\n\nConstraints: A value greater than or equal to 30.\n\nDefault: `30`", - "title": "DPDTimeoutSeconds", - "type": "number" - }, - "EnableTunnelLifecycleControl": { - "markdownDescription": "Turn on or off tunnel endpoint lifecycle control feature.", - "title": "EnableTunnelLifecycleControl", - "type": "boolean" - }, - "IKEVersions": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.IKEVersionsRequestListValue" - }, - "markdownDescription": "The IKE versions that are permitted for the VPN tunnel.\n\nValid values: `ikev1` | `ikev2`", - "title": "IKEVersions", - "type": "array" - }, - "LogOptions": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelLogOptionsSpecification", - "markdownDescription": "Options for logging VPN tunnel activity.", - "title": "LogOptions" - }, - "Phase1DHGroupNumbers": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase1DHGroupNumbersRequestListValue" - }, - "markdownDescription": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`", - "title": "Phase1DHGroupNumbers", - "type": "array" - }, - "Phase1EncryptionAlgorithms": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase1EncryptionAlgorithmsRequestListValue" - }, - "markdownDescription": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`", - "title": "Phase1EncryptionAlgorithms", - "type": "array" - }, - "Phase1IntegrityAlgorithms": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase1IntegrityAlgorithmsRequestListValue" - }, - "markdownDescription": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`", - "title": "Phase1IntegrityAlgorithms", - "type": "array" - }, - "Phase1LifetimeSeconds": { - "markdownDescription": "The lifetime for phase 1 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 28,800.\n\nDefault: `28800`", - "title": "Phase1LifetimeSeconds", - "type": "number" - }, - "Phase2DHGroupNumbers": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase2DHGroupNumbersRequestListValue" - }, - "markdownDescription": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`", - "title": "Phase2DHGroupNumbers", - "type": "array" - }, - "Phase2EncryptionAlgorithms": { + "Architectures": { "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase2EncryptionAlgorithmsRequestListValue" + "type": "string" }, - "markdownDescription": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`", - "title": "Phase2EncryptionAlgorithms", + "markdownDescription": "The architecture tags that are associated with the repository.", + "title": "Architectures", "type": "array" }, - "Phase2IntegrityAlgorithms": { + "OperatingSystems": { "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.Phase2IntegrityAlgorithmsRequestListValue" + "type": "string" }, - "markdownDescription": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`", - "title": "Phase2IntegrityAlgorithms", + "markdownDescription": "The operating system tags that are associated with the repository.", + "title": "OperatingSystems", "type": "array" }, - "Phase2LifetimeSeconds": { - "markdownDescription": "The lifetime for phase 2 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` .\n\nDefault: `3600`", - "title": "Phase2LifetimeSeconds", - "type": "number" - }, - "PreSharedKey": { - "markdownDescription": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n\nConstraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).", - "title": "PreSharedKey", - "type": "string" - }, - "RekeyFuzzPercentage": { - "markdownDescription": "The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected.\n\nConstraints: A value between 0 and 100.\n\nDefault: `100`", - "title": "RekeyFuzzPercentage", - "type": "number" - }, - "RekeyMarginTimeSeconds": { - "markdownDescription": "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` .\n\nConstraints: A value between 60 and half of `Phase2LifetimeSeconds` .\n\nDefault: `270`", - "title": "RekeyMarginTimeSeconds", - "type": "number" - }, - "ReplayWindowSize": { - "markdownDescription": "The number of packets in an IKE replay window.\n\nConstraints: A value between 64 and 2048.\n\nDefault: `1024`", - "title": "ReplayWindowSize", - "type": "number" - }, - "StartupAction": { - "markdownDescription": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation.\n\nValid Values: `add` | `start`\n\nDefault: `add`", - "title": "StartupAction", - "type": "string" - }, - "TunnelInsideCidr": { - "markdownDescription": "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.\n\nConstraints: A size /30 CIDR block from the `169.254.0.0/16` range. The following CIDR blocks are reserved and cannot be used:\n\n- `169.254.0.0/30`\n- `169.254.1.0/30`\n- `169.254.2.0/30`\n- `169.254.3.0/30`\n- `169.254.4.0/30`\n- `169.254.5.0/30`\n- `169.254.169.252/30`", - "title": "TunnelInsideCidr", + "RepositoryDescription": { + "markdownDescription": "The short description of the repository.", + "title": "RepositoryDescription", "type": "string" }, - "TunnelInsideIpv6Cidr": { - "markdownDescription": "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n\nConstraints: A size /126 CIDR block from the local `fd00::/8` range.", - "title": "TunnelInsideIpv6Cidr", + "UsageText": { + "markdownDescription": "The longform usage details of the contents of the repository. The usage text provides context for users of the repository.", + "title": "UsageText", "type": "string" } }, "type": "object" }, - "AWS::EC2::VPNConnectionRoute": { + "AWS::ECR::PullThroughCacheRule": { "additionalProperties": false, "properties": { "Condition": { @@ -135806,26 +144934,42 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { - "markdownDescription": "The CIDR block associated with the local subnet of the customer network.", - "title": "DestinationCidrBlock", + "CredentialArn": { + "markdownDescription": "The ARN of the Secrets Manager secret associated with the pull through cache rule.", + "title": "CredentialArn", "type": "string" }, - "VpnConnectionId": { - "markdownDescription": "The ID of the VPN connection.", - "title": "VpnConnectionId", + "CustomRoleArn": { + "markdownDescription": "The ARN of the IAM role associated with the pull through cache rule.", + "title": "CustomRoleArn", + "type": "string" + }, + "EcrRepositoryPrefix": { + "markdownDescription": "The Amazon ECR repository prefix associated with the pull through cache rule.", + "title": "EcrRepositoryPrefix", + "type": "string" + }, + "UpstreamRegistry": { + "markdownDescription": "The name of the upstream source registry associated with the pull through cache rule.", + "title": "UpstreamRegistry", + "type": "string" + }, + "UpstreamRegistryUrl": { + "markdownDescription": "The upstream registry URL associated with the pull through cache rule.", + "title": "UpstreamRegistryUrl", + "type": "string" + }, + "UpstreamRepositoryPrefix": { + "markdownDescription": "The upstream repository prefix associated with the pull through cache rule.", + "title": "UpstreamRepositoryPrefix", "type": "string" } }, - "required": [ - "DestinationCidrBlock", - "VpnConnectionId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNConnectionRoute" + "AWS::ECR::PullThroughCacheRule" ], "type": "string" }, @@ -135839,12 +144983,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::VPNGateway": { + "AWS::ECR::PullTimeUpdateExclusion": { "additionalProperties": false, "properties": { "Condition": { @@ -135879,33 +145022,20 @@ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { - "markdownDescription": "The private Autonomous System Number (ASN) for the Amazon side of a BGP session.", - "title": "AmazonSideAsn", - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Any tags assigned to the virtual private gateway.", - "title": "Tags", - "type": "array" - }, - "Type": { - "markdownDescription": "The type of VPN connection the virtual private gateway supports.", - "title": "Type", + "PrincipalArn": { + "markdownDescription": "The ARN of the IAM principal to remove from the pull time update exclusion list.", + "title": "PrincipalArn", "type": "string" } }, "required": [ - "Type" + "PrincipalArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNGateway" + "AWS::ECR::PullTimeUpdateExclusion" ], "type": "string" }, @@ -135924,7 +145054,7 @@ ], "type": "object" }, - "AWS::EC2::VPNGatewayRoutePropagation": { + "AWS::ECR::RegistryPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -135959,29 +145089,20 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteTableIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The ID of the route table. The routing table must be associated with the same VPC that the virtual private gateway is attached to.", - "title": "RouteTableIds", - "type": "array" - }, - "VpnGatewayId": { - "markdownDescription": "The ID of the virtual private gateway that is attached to a VPC. The virtual private gateway must be attached to the same VPC that the routing tables are associated with.", - "title": "VpnGatewayId", - "type": "string" + "PolicyText": { + "markdownDescription": "The JSON policy text for your registry.", + "title": "PolicyText", + "type": "object" } }, "required": [ - "RouteTableIds", - "VpnGatewayId" + "PolicyText" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNGatewayRoutePropagation" + "AWS::ECR::RegistryPolicy" ], "type": "string" }, @@ -136000,7 +145121,7 @@ ], "type": "object" }, - "AWS::EC2::VerifiedAccessEndpoint": { + "AWS::ECR::RegistryScanningConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -136035,103 +145156,29 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationDomain": { - "markdownDescription": "The DNS name for users to reach your application.", - "title": "ApplicationDomain", - "type": "string" - }, - "AttachmentType": { - "markdownDescription": "The type of attachment used to provide connectivity between the AWS Verified Access endpoint and the application.", - "title": "AttachmentType", - "type": "string" - }, - "CidrOptions": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.CidrOptions", - "markdownDescription": "The options for a CIDR endpoint.", - "title": "CidrOptions" - }, - "Description": { - "markdownDescription": "A description for the AWS Verified Access endpoint.", - "title": "Description", - "type": "string" - }, - "DomainCertificateArn": { - "markdownDescription": "The ARN of a public TLS/SSL certificate imported into or created with ACM.", - "title": "DomainCertificateArn", - "type": "string" - }, - "EndpointDomainPrefix": { - "markdownDescription": "A custom identifier that is prepended to the DNS name that is generated for the endpoint.", - "title": "EndpointDomainPrefix", - "type": "string" - }, - "EndpointType": { - "markdownDescription": "The type of AWS Verified Access endpoint. Incoming application requests will be sent to an IP address, load balancer or a network interface depending on the endpoint type specified.", - "title": "EndpointType", - "type": "string" - }, - "LoadBalancerOptions": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.LoadBalancerOptions", - "markdownDescription": "The load balancer details if creating the AWS Verified Access endpoint as `load-balancer` type.", - "title": "LoadBalancerOptions" - }, - "NetworkInterfaceOptions": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.NetworkInterfaceOptions", - "markdownDescription": "The options for network-interface type endpoint.", - "title": "NetworkInterfaceOptions" - }, - "PolicyDocument": { - "markdownDescription": "The Verified Access policy document.", - "title": "PolicyDocument", - "type": "string" - }, - "PolicyEnabled": { - "markdownDescription": "The status of the Verified Access policy.", - "title": "PolicyEnabled", - "type": "boolean" - }, - "RdsOptions": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.RdsOptions", - "markdownDescription": "The options for an RDS endpoint.", - "title": "RdsOptions" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the security groups for the endpoint.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SseSpecification": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.SseSpecification", - "markdownDescription": "The options for additional server side encryption.", - "title": "SseSpecification" - }, - "Tags": { + "Rules": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ECR::RegistryScanningConfiguration.ScanningRule" }, - "markdownDescription": "The tags.", - "title": "Tags", + "markdownDescription": "The scanning rules associated with the registry.", + "title": "Rules", "type": "array" }, - "VerifiedAccessGroupId": { - "markdownDescription": "The ID of the AWS Verified Access group.", - "title": "VerifiedAccessGroupId", + "ScanType": { + "markdownDescription": "The type of scanning configured for the registry.", + "title": "ScanType", "type": "string" } }, "required": [ - "AttachmentType", - "EndpointType", - "VerifiedAccessGroupId" + "Rules", + "ScanType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VerifiedAccessEndpoint" + "AWS::ECR::RegistryScanningConfiguration" ], "type": "string" }, @@ -136150,181 +145197,50 @@ ], "type": "object" }, - "AWS::EC2::VerifiedAccessEndpoint.CidrOptions": { - "additionalProperties": false, - "properties": { - "Cidr": { - "markdownDescription": "The CIDR.", - "title": "Cidr", - "type": "string" - }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.PortRange" - }, - "markdownDescription": "The port ranges.", - "title": "PortRanges", - "type": "array" - }, - "Protocol": { - "markdownDescription": "The protocol.", - "title": "Protocol", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the subnets.", - "title": "SubnetIds", - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::VerifiedAccessEndpoint.LoadBalancerOptions": { - "additionalProperties": false, - "properties": { - "LoadBalancerArn": { - "markdownDescription": "The ARN of the load balancer.", - "title": "LoadBalancerArn", - "type": "string" - }, - "Port": { - "markdownDescription": "The IP port number.", - "title": "Port", - "type": "number" - }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.PortRange" - }, - "markdownDescription": "The port ranges.", - "title": "PortRanges", - "type": "array" - }, - "Protocol": { - "markdownDescription": "The IP protocol.", - "title": "Protocol", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone.", - "title": "SubnetIds", - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::VerifiedAccessEndpoint.NetworkInterfaceOptions": { + "AWS::ECR::RegistryScanningConfiguration.RepositoryFilter": { "additionalProperties": false, "properties": { - "NetworkInterfaceId": { - "markdownDescription": "The ID of the network interface.", - "title": "NetworkInterfaceId", + "Filter": { + "markdownDescription": "The filter to use when scanning.", + "title": "Filter", "type": "string" }, - "Port": { - "markdownDescription": "The IP port number.", - "title": "Port", - "type": "number" - }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.PortRange" - }, - "markdownDescription": "The port ranges.", - "title": "PortRanges", - "type": "array" - }, - "Protocol": { - "markdownDescription": "The IP protocol.", - "title": "Protocol", + "FilterType": { + "markdownDescription": "The type associated with the filter.", + "title": "FilterType", "type": "string" } }, + "required": [ + "Filter", + "FilterType" + ], "type": "object" }, - "AWS::EC2::VerifiedAccessEndpoint.PortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "markdownDescription": "The start of the port range.", - "title": "FromPort", - "type": "number" - }, - "ToPort": { - "markdownDescription": "The end of the port range.", - "title": "ToPort", - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::VerifiedAccessEndpoint.RdsOptions": { + "AWS::ECR::RegistryScanningConfiguration.ScanningRule": { "additionalProperties": false, "properties": { - "Port": { - "markdownDescription": "The port.", - "title": "Port", - "type": "number" - }, - "Protocol": { - "markdownDescription": "The protocol.", - "title": "Protocol", - "type": "string" - }, - "RdsDbClusterArn": { - "markdownDescription": "The ARN of the DB cluster.", - "title": "RdsDbClusterArn", - "type": "string" - }, - "RdsDbInstanceArn": { - "markdownDescription": "The ARN of the RDS instance.", - "title": "RdsDbInstanceArn", - "type": "string" - }, - "RdsDbProxyArn": { - "markdownDescription": "The ARN of the RDS proxy.", - "title": "RdsDbProxyArn", - "type": "string" - }, - "RdsEndpoint": { - "markdownDescription": "The RDS endpoint.", - "title": "RdsEndpoint", - "type": "string" - }, - "SubnetIds": { + "RepositoryFilters": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ECR::RegistryScanningConfiguration.RepositoryFilter" }, - "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone.", - "title": "SubnetIds", + "markdownDescription": "The details of a scanning repository filter. For more information on how to use filters, see [Using filters](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html#image-scanning-filters) in the *Amazon Elastic Container Registry User Guide* .", + "title": "RepositoryFilters", "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::VerifiedAccessEndpoint.SseSpecification": { - "additionalProperties": false, - "properties": { - "CustomerManagedKeyEnabled": { - "markdownDescription": "Enable or disable the use of customer managed KMS keys for server side encryption.\n\nValid values: `True` | `False`", - "title": "CustomerManagedKeyEnabled", - "type": "boolean" }, - "KmsKeyArn": { - "markdownDescription": "The ARN of the KMS key.", - "title": "KmsKeyArn", + "ScanFrequency": { + "markdownDescription": "The frequency that scans are performed at for a private registry. When the `ENHANCED` scan type is specified, the supported scan frequencies are `CONTINUOUS_SCAN` and `SCAN_ON_PUSH` . When the `BASIC` scan type is specified, the `SCAN_ON_PUSH` scan frequency is supported. If scan on push is not specified, then the `MANUAL` scan frequency is set by default.", + "title": "ScanFrequency", "type": "string" } }, + "required": [ + "RepositoryFilters", + "ScanFrequency" + ], "type": "object" }, - "AWS::EC2::VerifiedAccessGroup": { + "AWS::ECR::ReplicationConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -136359,48 +145275,20 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description for the AWS Verified Access group.", - "title": "Description", - "type": "string" - }, - "PolicyDocument": { - "markdownDescription": "The Verified Access policy document.", - "title": "PolicyDocument", - "type": "string" - }, - "PolicyEnabled": { - "markdownDescription": "The status of the Verified Access policy.", - "title": "PolicyEnabled", - "type": "boolean" - }, - "SseSpecification": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessGroup.SseSpecification", - "markdownDescription": "The options for additional server side encryption.", - "title": "SseSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags.", - "title": "Tags", - "type": "array" - }, - "VerifiedAccessInstanceId": { - "markdownDescription": "The ID of the AWS Verified Access instance.", - "title": "VerifiedAccessInstanceId", - "type": "string" + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration", + "markdownDescription": "The replication configuration for a registry.", + "title": "ReplicationConfiguration" } }, "required": [ - "VerifiedAccessInstanceId" + "ReplicationConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VerifiedAccessGroup" + "AWS::ECR::ReplicationConfiguration" ], "type": "string" }, @@ -136419,23 +145307,89 @@ ], "type": "object" }, - "AWS::EC2::VerifiedAccessGroup.SseSpecification": { + "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { "additionalProperties": false, "properties": { - "CustomerManagedKeyEnabled": { - "markdownDescription": "Enable or disable the use of customer managed KMS keys for server side encryption.\n\nValid values: `True` | `False`", - "title": "CustomerManagedKeyEnabled", - "type": "boolean" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" + }, + "markdownDescription": "An array of objects representing the replication destinations and repository filters for a replication configuration.", + "title": "Rules", + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "Region": { + "markdownDescription": "The Region to replicate to.", + "title": "Region", + "type": "string" }, - "KmsKeyArn": { - "markdownDescription": "The ARN of the KMS key.", - "title": "KmsKeyArn", + "RegistryId": { + "markdownDescription": "The AWS account ID of the Amazon ECR private registry to replicate to. When configuring cross-Region replication within your own registry, specify your own account ID.", + "title": "RegistryId", "type": "string" } }, + "required": [ + "Region", + "RegistryId" + ], "type": "object" }, - "AWS::EC2::VerifiedAccessInstance": { + "AWS::ECR::ReplicationConfiguration.ReplicationRule": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" + }, + "markdownDescription": "An array of objects representing the destination for a replication rule.", + "title": "Destinations", + "type": "array" + }, + "RepositoryFilters": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.RepositoryFilter" + }, + "markdownDescription": "An array of objects representing the filters for a replication rule. Specifying a repository filter for a replication rule provides a method for controlling which repositories in a private registry are replicated.", + "title": "RepositoryFilters", + "type": "array" + } + }, + "required": [ + "Destinations" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.RepositoryFilter": { + "additionalProperties": false, + "properties": { + "Filter": { + "markdownDescription": "The repository filter details. When the `PREFIX_MATCH` filter type is specified, this value is required and should be the repository name prefix to configure replication for.", + "title": "Filter", + "type": "string" + }, + "FilterType": { + "markdownDescription": "The repository filter type. The only supported value is `PREFIX_MATCH` , which is a repository name prefix specified with the `filter` parameter.", + "title": "FilterType", + "type": "string" + } + }, + "required": [ + "Filter", + "FilterType" + ], + "type": "object" + }, + "AWS::ECR::Repository": { "additionalProperties": false, "properties": { "Condition": { @@ -136470,48 +145424,55 @@ "Properties": { "additionalProperties": false, "properties": { - "CidrEndpointsCustomSubDomain": { - "markdownDescription": "The custom subdomain.", - "title": "CidrEndpointsCustomSubDomain", - "type": "string" + "EmptyOnDelete": { + "markdownDescription": "If true, deleting the repository force deletes the contents of the repository. If false, the repository must be empty before attempting to delete it.", + "title": "EmptyOnDelete", + "type": "boolean" }, - "Description": { - "markdownDescription": "A description for the AWS Verified Access instance.", - "title": "Description", - "type": "string" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration", + "markdownDescription": "The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest.", + "title": "EncryptionConfiguration" }, - "FipsEnabled": { - "markdownDescription": "Indicates whether support for Federal Information Processing Standards (FIPS) is enabled on the instance.", - "title": "FipsEnabled", - "type": "boolean" + "ImageScanningConfiguration": { + "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration", + "markdownDescription": "> The `imageScanningConfiguration` parameter is being deprecated, in favor of specifying the image scanning configuration at the registry level. For more information, see `PutRegistryScanningConfiguration` . \n\nThe image scanning configuration for the repository. This determines whether images are scanned for known vulnerabilities after being pushed to the repository.", + "title": "ImageScanningConfiguration" }, - "LoggingConfigurations": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.VerifiedAccessLogs", - "markdownDescription": "The logging configuration for the Verified Access instances.", - "title": "LoggingConfigurations" + "ImageTagMutability": { + "markdownDescription": "The tag mutability setting for the repository. If this parameter is omitted, the default setting of `MUTABLE` will be used which will allow image tags to be overwritten. If `IMMUTABLE` is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.", + "title": "ImageTagMutability", + "type": "string" }, - "Tags": { + "ImageTagMutabilityExclusionFilters": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ECR::Repository.ImageTagMutabilityExclusionFilter" }, - "markdownDescription": "The tags.", - "title": "Tags", + "markdownDescription": "A list of filters that specify which image tags are excluded from the repository's image tag mutability setting.", + "title": "ImageTagMutabilityExclusionFilters", "type": "array" }, - "VerifiedAccessTrustProviderIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the AWS Verified Access trust providers.", - "title": "VerifiedAccessTrustProviderIds", - "type": "array" + "LifecyclePolicy": { + "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy", + "markdownDescription": "Creates or updates a lifecycle policy. For information about lifecycle policy syntax, see [Lifecycle policy template](https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html) .", + "title": "LifecyclePolicy" }, - "VerifiedAccessTrustProviders": { + "RepositoryName": { + "markdownDescription": "The name to use for the repository. The repository name may be specified on its own (such as `nginx-web-app` ) or it can be prepended with a namespace to group the repository into a category (such as `project-a/nginx-web-app` ). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the repository name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\nThe repository name must start with a letter and can only contain lowercase letters, numbers, hyphens, underscores, and forward slashes.\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "RepositoryName", + "type": "string" + }, + "RepositoryPolicyText": { + "markdownDescription": "The JSON repository policy text to apply to the repository. For more information, see [Amazon ECR repository policies](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html) in the *Amazon Elastic Container Registry User Guide* .", + "title": "RepositoryPolicyText", + "type": "object" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.VerifiedAccessTrustProvider" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The IDs of the AWS Verified Access trust providers.", - "title": "VerifiedAccessTrustProviders", + "markdownDescription": "An array of key-value pairs to apply to this resource.", + "title": "Tags", "type": "array" } }, @@ -136519,7 +145480,7 @@ }, "Type": { "enum": [ - "AWS::EC2::VerifiedAccessInstance" + "AWS::ECR::Repository" ], "type": "string" }, @@ -136537,127 +145498,73 @@ ], "type": "object" }, - "AWS::EC2::VerifiedAccessInstance.CloudWatchLogs": { + "AWS::ECR::Repository.EncryptionConfiguration": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "Indicates whether logging is enabled.", - "title": "Enabled", - "type": "boolean" + "EncryptionType": { + "markdownDescription": "The encryption type to use.\n\nIf you use the `KMS` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS . When you use AWS to encrypt your data, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you already created.\n\nIf you use the `KMS_DSSE` encryption type, the contents of the repository will be encrypted with two layers of encryption using server-side encryption with the AWS Management Service key stored in AWS . Similar to the `KMS` encryption type, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you've already created.\n\nIf you use the `AES256` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm.\n\nFor more information, see [Amazon ECR encryption at rest](https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html) in the *Amazon Elastic Container Registry User Guide* .", + "title": "EncryptionType", + "type": "string" }, - "LogGroup": { - "markdownDescription": "The ID of the CloudWatch Logs log group.", - "title": "LogGroup", + "KmsKey": { + "markdownDescription": "If you use the `KMS` encryption type, specify the AWS key to use for encryption. The alias, key ID, or full ARN of the AWS key can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed AWS key for Amazon ECR will be used.", + "title": "KmsKey", "type": "string" } }, + "required": [ + "EncryptionType" + ], "type": "object" }, - "AWS::EC2::VerifiedAccessInstance.KinesisDataFirehose": { + "AWS::ECR::Repository.ImageScanningConfiguration": { "additionalProperties": false, "properties": { - "DeliveryStream": { - "markdownDescription": "The ID of the delivery stream.", - "title": "DeliveryStream", - "type": "string" - }, - "Enabled": { - "markdownDescription": "Indicates whether logging is enabled.", - "title": "Enabled", + "ScanOnPush": { + "markdownDescription": "The setting that determines whether images are scanned after being pushed to a repository. If set to `true` , images will be scanned after being pushed. If this parameter is not specified, it will default to `false` and images will not be scanned unless a scan is manually started.", + "title": "ScanOnPush", "type": "boolean" } }, "type": "object" }, - "AWS::EC2::VerifiedAccessInstance.S3": { + "AWS::ECR::Repository.ImageTagMutabilityExclusionFilter": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The bucket name.", - "title": "BucketName", - "type": "string" - }, - "BucketOwner": { - "markdownDescription": "The AWS account number that owns the bucket.", - "title": "BucketOwner", - "type": "string" - }, - "Enabled": { - "markdownDescription": "Indicates whether logging is enabled.", - "title": "Enabled", - "type": "boolean" - }, - "Prefix": { - "markdownDescription": "The bucket prefix.", - "title": "Prefix", + "ImageTagMutabilityExclusionFilterType": { + "markdownDescription": "", + "title": "ImageTagMutabilityExclusionFilterType", "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VerifiedAccessInstance.VerifiedAccessLogs": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.CloudWatchLogs", - "markdownDescription": "CloudWatch Logs logging destination.", - "title": "CloudWatchLogs" - }, - "IncludeTrustContext": { - "markdownDescription": "Indicates whether to include trust data sent by trust providers in the logs.", - "title": "IncludeTrustContext", - "type": "boolean" - }, - "KinesisDataFirehose": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.KinesisDataFirehose", - "markdownDescription": "Kinesis logging destination.", - "title": "KinesisDataFirehose" }, - "LogVersion": { - "markdownDescription": "The logging version.\n\nValid values: `ocsf-0.1` | `ocsf-1.0.0-rc.2`", - "title": "LogVersion", + "ImageTagMutabilityExclusionFilterValue": { + "markdownDescription": "", + "title": "ImageTagMutabilityExclusionFilterValue", "type": "string" - }, - "S3": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.S3", - "markdownDescription": "Amazon S3 logging options.", - "title": "S3" } }, + "required": [ + "ImageTagMutabilityExclusionFilterType", + "ImageTagMutabilityExclusionFilterValue" + ], "type": "object" }, - "AWS::EC2::VerifiedAccessInstance.VerifiedAccessTrustProvider": { + "AWS::ECR::Repository.LifecyclePolicy": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description for the AWS Verified Access trust provider.", - "title": "Description", - "type": "string" - }, - "DeviceTrustProviderType": { - "markdownDescription": "The type of device-based trust provider.", - "title": "DeviceTrustProviderType", - "type": "string" - }, - "TrustProviderType": { - "markdownDescription": "The type of Verified Access trust provider.", - "title": "TrustProviderType", - "type": "string" - }, - "UserTrustProviderType": { - "markdownDescription": "The type of user-based trust provider.", - "title": "UserTrustProviderType", + "LifecyclePolicyText": { + "markdownDescription": "The JSON repository policy text to apply to the repository.", + "title": "LifecyclePolicyText", "type": "string" }, - "VerifiedAccessTrustProviderId": { - "markdownDescription": "The ID of the AWS Verified Access trust provider.", - "title": "VerifiedAccessTrustProviderId", + "RegistryId": { + "markdownDescription": "The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.", + "title": "RegistryId", "type": "string" } }, "type": "object" }, - "AWS::EC2::VerifiedAccessTrustProvider": { + "AWS::ECR::RepositoryCreationTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -136692,69 +145599,75 @@ "Properties": { "additionalProperties": false, "properties": { + "AppliedFor": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of enumerable Strings representing the repository creation scenarios that this template will apply towards. The supported scenarios are PULL_THROUGH_CACHE, REPLICATION, and CREATE_ON_PUSH", + "title": "AppliedFor", + "type": "array" + }, + "CustomRoleArn": { + "markdownDescription": "The ARN of the role to be assumed by Amazon ECR. Amazon ECR will assume your supplied role when the customRoleArn is specified. When this field isn't specified, Amazon ECR will use the service-linked role for the repository creation template.", + "title": "CustomRoleArn", + "type": "string" + }, "Description": { - "markdownDescription": "A description for the AWS Verified Access trust provider.", + "markdownDescription": "The description associated with the repository creation template.", "title": "Description", "type": "string" }, - "DeviceOptions": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.DeviceOptions", - "markdownDescription": "The options for device-identity trust provider.", - "title": "DeviceOptions" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::ECR::RepositoryCreationTemplate.EncryptionConfiguration", + "markdownDescription": "The encryption configuration associated with the repository creation template.", + "title": "EncryptionConfiguration" }, - "DeviceTrustProviderType": { - "markdownDescription": "The type of device-based trust provider.", - "title": "DeviceTrustProviderType", + "ImageTagMutability": { + "markdownDescription": "The tag mutability setting for the repository. If this parameter is omitted, the default setting of `MUTABLE` will be used which will allow image tags to be overwritten. If `IMMUTABLE` is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.", + "title": "ImageTagMutability", "type": "string" }, - "NativeApplicationOidcOptions": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.NativeApplicationOidcOptions", - "markdownDescription": "The OpenID Connect (OIDC) options.", - "title": "NativeApplicationOidcOptions" + "ImageTagMutabilityExclusionFilters": { + "items": { + "$ref": "#/definitions/AWS::ECR::RepositoryCreationTemplate.ImageTagMutabilityExclusionFilter" + }, + "markdownDescription": "A list of filters that specify which image tags are excluded from the repository creation template's image tag mutability setting.", + "title": "ImageTagMutabilityExclusionFilters", + "type": "array" }, - "OidcOptions": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.OidcOptions", - "markdownDescription": "The options for an OpenID Connect-compatible user-identity trust provider.", - "title": "OidcOptions" + "LifecyclePolicy": { + "markdownDescription": "The lifecycle policy to use for repositories created using the template.", + "title": "LifecyclePolicy", + "type": "string" }, - "PolicyReferenceName": { - "markdownDescription": "The identifier to be used when working with policy rules.", - "title": "PolicyReferenceName", + "Prefix": { + "markdownDescription": "The repository namespace prefix associated with the repository creation template.", + "title": "Prefix", "type": "string" }, - "SseSpecification": { - "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.SseSpecification", - "markdownDescription": "The options for additional server side encryption.", - "title": "SseSpecification" + "RepositoryPolicy": { + "markdownDescription": "The repository policy to apply to repositories created using the template. A repository policy is a permissions policy associated with a repository to control access permissions.", + "title": "RepositoryPolicy", + "type": "string" }, - "Tags": { + "ResourceTags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags.", - "title": "Tags", + "markdownDescription": "The metadata to apply to the repository to help you categorize and organize. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.", + "title": "ResourceTags", "type": "array" - }, - "TrustProviderType": { - "markdownDescription": "The type of Verified Access trust provider.", - "title": "TrustProviderType", - "type": "string" - }, - "UserTrustProviderType": { - "markdownDescription": "The type of user-based trust provider.", - "title": "UserTrustProviderType", - "type": "string" } }, "required": [ - "PolicyReferenceName", - "TrustProviderType" + "AppliedFor", + "Prefix" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VerifiedAccessTrustProvider" + "AWS::ECR::RepositoryCreationTemplate" ], "type": "string" }, @@ -136773,126 +145686,46 @@ ], "type": "object" }, - "AWS::EC2::VerifiedAccessTrustProvider.DeviceOptions": { - "additionalProperties": false, - "properties": { - "PublicSigningKeyUrl": { - "markdownDescription": "The URL AWS Verified Access will use to verify the authenticity of the device tokens.", - "title": "PublicSigningKeyUrl", - "type": "string" - }, - "TenantId": { - "markdownDescription": "The ID of the tenant application with the device-identity provider.", - "title": "TenantId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VerifiedAccessTrustProvider.NativeApplicationOidcOptions": { + "AWS::ECR::RepositoryCreationTemplate.EncryptionConfiguration": { "additionalProperties": false, "properties": { - "AuthorizationEndpoint": { - "markdownDescription": "The authorization endpoint of the IdP.", - "title": "AuthorizationEndpoint", - "type": "string" - }, - "ClientId": { - "markdownDescription": "The OAuth 2.0 client identifier.", - "title": "ClientId", - "type": "string" - }, - "ClientSecret": { - "markdownDescription": "The OAuth 2.0 client secret.", - "title": "ClientSecret", - "type": "string" - }, - "Issuer": { - "markdownDescription": "The OIDC issuer identifier of the IdP.", - "title": "Issuer", - "type": "string" - }, - "PublicSigningKeyEndpoint": { - "markdownDescription": "The public signing key endpoint.", - "title": "PublicSigningKeyEndpoint", - "type": "string" - }, - "Scope": { - "markdownDescription": "The set of user claims to be requested from the IdP.", - "title": "Scope", - "type": "string" - }, - "TokenEndpoint": { - "markdownDescription": "The token endpoint of the IdP.", - "title": "TokenEndpoint", + "EncryptionType": { + "markdownDescription": "The encryption type to use.\n\nIf you use the `KMS` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS . When you use AWS to encrypt your data, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you already created.\n\nIf you use the `KMS_DSSE` encryption type, the contents of the repository will be encrypted with two layers of encryption using server-side encryption with the AWS Management Service key stored in AWS . Similar to the `KMS` encryption type, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you've already created.\n\nIf you use the `AES256` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm.\n\nFor more information, see [Amazon ECR encryption at rest](https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html) in the *Amazon Elastic Container Registry User Guide* .", + "title": "EncryptionType", "type": "string" }, - "UserInfoEndpoint": { - "markdownDescription": "The user info endpoint of the IdP.", - "title": "UserInfoEndpoint", + "KmsKey": { + "markdownDescription": "If you use the `KMS` encryption type, specify the AWS key to use for encryption. The alias, key ID, or full ARN of the AWS key can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed AWS key for Amazon ECR will be used.", + "title": "KmsKey", "type": "string" } }, + "required": [ + "EncryptionType" + ], "type": "object" }, - "AWS::EC2::VerifiedAccessTrustProvider.OidcOptions": { + "AWS::ECR::RepositoryCreationTemplate.ImageTagMutabilityExclusionFilter": { "additionalProperties": false, "properties": { - "AuthorizationEndpoint": { - "markdownDescription": "The OIDC authorization endpoint.", - "title": "AuthorizationEndpoint", - "type": "string" - }, - "ClientId": { - "markdownDescription": "The client identifier.", - "title": "ClientId", - "type": "string" - }, - "ClientSecret": { - "markdownDescription": "The client secret.", - "title": "ClientSecret", - "type": "string" - }, - "Issuer": { - "markdownDescription": "The OIDC issuer.", - "title": "Issuer", - "type": "string" - }, - "Scope": { - "markdownDescription": "The OpenID Connect (OIDC) scope specified.", - "title": "Scope", - "type": "string" - }, - "TokenEndpoint": { - "markdownDescription": "The OIDC token endpoint.", - "title": "TokenEndpoint", - "type": "string" - }, - "UserInfoEndpoint": { - "markdownDescription": "The OIDC user info endpoint.", - "title": "UserInfoEndpoint", + "ImageTagMutabilityExclusionFilterType": { + "markdownDescription": "", + "title": "ImageTagMutabilityExclusionFilterType", "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VerifiedAccessTrustProvider.SseSpecification": { - "additionalProperties": false, - "properties": { - "CustomerManagedKeyEnabled": { - "markdownDescription": "Enable or disable the use of customer managed KMS keys for server side encryption.\n\nValid values: `True` | `False`", - "title": "CustomerManagedKeyEnabled", - "type": "boolean" }, - "KmsKeyArn": { - "markdownDescription": "The ARN of the KMS key.", - "title": "KmsKeyArn", + "ImageTagMutabilityExclusionFilterValue": { + "markdownDescription": "", + "title": "ImageTagMutabilityExclusionFilterValue", "type": "string" } }, + "required": [ + "ImageTagMutabilityExclusionFilterType", + "ImageTagMutabilityExclusionFilterValue" + ], "type": "object" }, - "AWS::EC2::Volume": { + "AWS::ECR::SigningConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -136927,90 +145760,23 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoEnableIO": { - "markdownDescription": "Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.", - "title": "AutoEnableIO", - "type": "boolean" - }, - "AvailabilityZone": { - "markdownDescription": "The ID of the Availability Zone in which to create the volume. For example, `us-east-1a` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified, but not both.\n\nIf you are creating a volume copy, omit this parameter. The volume copy is created in the same Availability Zone as the source volume.", - "title": "AvailabilityZone", - "type": "string" - }, - "AvailabilityZoneId": { - "markdownDescription": "The ID of the Availability Zone in which to create the volume. For example, `use1-az1` .\n\nEither `AvailabilityZone` or `AvailabilityZoneId` must be specified, but not both.\n\nIf you are creating a volume copy, omit this parameter. The volume copy is created in the same Availability Zone as the source volume.", - "title": "AvailabilityZoneId", - "type": "string" - }, - "Encrypted": { - "markdownDescription": "Indicates whether the volume should be encrypted. The effect of setting the encryption state to `true` depends on the volume origin (new, from a snapshot, or from an existing volume), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default) in the *Amazon EBS User Guide* .\n\nIf you are creating a volume copy, omit this parameter. The volume is automatically encrypted with the same KMS key as the source volume. You can't copy unencrypted volumes.", - "title": "Encrypted", - "type": "boolean" - }, - "Iops": { - "markdownDescription": "The number of I/O operations per second (IOPS) to provision for the volume. Required for `io1` and `io2` volumes. Optional for `gp3` volumes. Omit for all other volume types.\n\nValid ranges:\n\n- gp3: `3,000` ( *default* ) `- 80,000` IOPS\n- io1: `100 - 64,000` IOPS\n- io2: `100 - 256,000` IOPS\n\n> [Instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) can support up to 256,000 IOPS. Other instances can support up to 32,000 IOPS.", - "title": "Iops", - "type": "number" - }, - "KmsKeyId": { - "markdownDescription": "The identifier of the AWS KMS key to use for Amazon EBS encryption. If `KmsKeyId` is specified, the encrypted state must be `true` .\n\nIf you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to `true` , then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the AWS managed key .\n\nAlternatively, if you want to specify a different key, you can specify one of the following:\n\n- Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.\n- Key alias. Specify the alias for the key, prefixed with `alias/` . For example, for a key with the alias `my_cmk` , use `alias/my_cmk` . Or to specify the AWS managed key , use `alias/aws/ebs` .\n- Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n- Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.\n\nIf you are creating a volume copy, omit this parameter. The volume is automatically encrypted with the same KMS key as the source volume. You can't copy unencrypted volumes.", - "title": "KmsKeyId", - "type": "string" - }, - "MultiAttachEnabled": { - "markdownDescription": "Indicates whether Amazon EBS Multi-Attach is enabled.\n\nAWS CloudFormation does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.", - "title": "MultiAttachEnabled", - "type": "boolean" - }, - "OutpostArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Outpost on which to create the volume.\n\nIf you intend to use a volume with an instance running on an outpost, then you must create the volume on the same outpost as the instance. You can't use a volume created in an AWS Region with an instance on an AWS outpost, or the other way around.", - "title": "OutpostArn", - "type": "string" - }, - "Size": { - "markdownDescription": "The size of the volume, in GiBs.\n\n- Required for new empty volumes.\n- Optional for volumes created from snapshots and volume copies. In this case, the size defaults to the size of the snapshot or source volume. You can optionally specify a size that is equal to or larger than the size of the source snapshot or volume.\n\nSupported volume sizes:\n\n- gp2: `1 - 16,384` GiB\n- gp3: `1 - 65,536` GiB\n- io1: `4 - 16,384` GiB\n- io2: `4 - 65,536` GiB\n- st1 and sc1: `125 - 16,384` GiB\n- standard: `1 - 1024` GiB", - "title": "Size", - "type": "number" - }, - "SnapshotId": { - "markdownDescription": "The snapshot from which to create the volume. Only specify to create a volume from a snapshot. To create a new empty volume, omit this parameter and specify a value for `Size` instead. To create a volume copy, omit this parameter and specify `SourceVolumeId` instead.", - "title": "SnapshotId", - "type": "string" - }, - "SourceVolumeId": { - "markdownDescription": "The ID of the source EBS volume to copy. When specified, the volume is created as an exact copy of the specified volume. Only specify to create a volume copy. To create a new empty volume or to create a volume from a snapshot, omit this parameter,", - "title": "SourceVolumeId", - "type": "string" - }, - "Tags": { + "Rules": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ECR::SigningConfiguration.Rule" }, - "markdownDescription": "The tags to apply to the volume during creation.", - "title": "Tags", + "markdownDescription": "A list of signing rules. Each rule defines a signing profile and optional repository filters that determine which images are automatically signed.", + "title": "Rules", "type": "array" - }, - "Throughput": { - "markdownDescription": "The throughput to provision for a volume, with a maximum of 1,000 MiB/s.\n\nThis parameter is valid only for `gp3` volumes. The default value is 125.\n\nValid Range: Minimum value of 125. Maximum value of 1000.", - "title": "Throughput", - "type": "number" - }, - "VolumeInitializationRate": { - "markdownDescription": "Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as *volume initialization* . Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation.\n\nThis parameter is supported only for volumes created from snapshots. Omit this parameter if:\n\n- You want to create the volume using fast snapshot restore. You must specify a snapshot that is enabled for fast snapshot restore. In this case, the volume is fully initialized at creation.\n\n> If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, the volume will be initialized at the specified rate instead of fast snapshot restore.\n- You want to create a volume that is initialized at the default rate.\n\nFor more information, see [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EC2 User Guide* .\n\nValid range: 100 - 300 MiB/s", - "title": "VolumeInitializationRate", - "type": "number" - }, - "VolumeType": { - "markdownDescription": "The volume type. This parameter can be one of the following values:\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> Throughput Optimized HDD ( `st1` ) and Cold HDD ( `sc1` ) volumes can't be used as boot volumes. \n\nFor more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide* .\n\nDefault: `gp2`", - "title": "VolumeType", - "type": "string" } }, + "required": [ + "Rules" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Volume" + "AWS::ECR::SigningConfiguration" ], "type": "string" }, @@ -137024,92 +145790,54 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::VolumeAttachment": { + "AWS::ECR::SigningConfiguration.RepositoryFilter": { "additionalProperties": false, "properties": { - "Condition": { + "Filter": { + "markdownDescription": "The filter value used to match repository names. When using `WILDCARD_MATCH` , the `*` character matches any sequence of characters.\n\nExamples:\n\n- `myapp/*` - Matches all repositories starting with `myapp/`\n- `*/production` - Matches all repositories ending with `/production`\n- `*prod*` - Matches all repositories containing `prod`", + "title": "Filter", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FilterType": { + "markdownDescription": "The type of filter to apply. Currently, only `WILDCARD_MATCH` is supported, which uses wildcard patterns to match repository names.", + "title": "FilterType", "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Device": { - "markdownDescription": "The device name (for example, `/dev/sdh` or `xvdh` ).", - "title": "Device", - "type": "string" - }, - "EbsCardIndex": { - "type": "number" - }, - "InstanceId": { - "markdownDescription": "The ID of the instance to which the volume attaches. This value can be a reference to an [`AWS::EC2::Instance`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource, or it can be the physical ID of an existing EC2 instance.", - "title": "InstanceId", - "type": "string" - }, - "VolumeId": { - "markdownDescription": "The ID of the Amazon EBS volume. The volume and instance must be within the same Availability Zone. This value can be a reference to an [`AWS::EC2::Volume`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html) resource, or it can be the volume ID of an existing Amazon EBS volume.", - "title": "VolumeId", - "type": "string" - } + } + }, + "required": [ + "Filter", + "FilterType" + ], + "type": "object" + }, + "AWS::ECR::SigningConfiguration.Rule": { + "additionalProperties": false, + "properties": { + "RepositoryFilters": { + "items": { + "$ref": "#/definitions/AWS::ECR::SigningConfiguration.RepositoryFilter" }, - "required": [ - "InstanceId", - "VolumeId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VolumeAttachment" - ], - "type": "string" + "markdownDescription": "A list of repository filters that determine which repositories have their images signed on push. If no filters are specified, all images pushed to the registry are signed using the rule's signing profile. Maximum of 100 filters per rule.", + "title": "RepositoryFilters", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SigningProfileArn": { + "markdownDescription": "The ARN of the AWS Signer signing profile to use for signing images that match this rule. For more information about signing profiles, see [Signing profiles](https://docs.aws.amazon.com/signer/latest/developerguide/signing-profiles.html) in the *AWS Signer Developer Guide* .", + "title": "SigningProfileArn", "type": "string" } }, "required": [ - "Type", - "Properties" + "SigningProfileArn" ], "type": "object" }, - "AWS::EC2::VpnConnectionDeviceType": { + "AWS::ECRPublic::Registry": { "additionalProperties": false, "properties": { "Condition": { @@ -137148,7 +145876,7 @@ }, "Type": { "enum": [ - "AWS::EC2::VpnConnectionDeviceType" + "AWS::ECRPublic::Registry" ], "type": "string" }, @@ -137166,7 +145894,31 @@ ], "type": "object" }, - "AWS::ECR::PublicRepository": { + "AWS::ECRPublic::Registry.RegistryAlias": { + "additionalProperties": false, + "properties": { + "DefaultRegistryAlias": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "PrimaryRegistryAlias": { + "type": "boolean" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DefaultRegistryAlias", + "Name", + "PrimaryRegistryAlias", + "Status" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider": { "additionalProperties": false, "properties": { "Condition": { @@ -137201,26 +145953,31 @@ "Properties": { "additionalProperties": false, "properties": { - "RepositoryCatalogData": { - "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData", - "markdownDescription": "The details about the repository that are publicly visible in the Amazon ECR Public Gallery. For more information, see [Amazon ECR Public repository catalog data](https://docs.aws.amazon.com/AmazonECR/latest/public/public-repository-catalog-data.html) in the *Amazon ECR Public User Guide* .", - "title": "RepositoryCatalogData" + "AutoScalingGroupProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider", + "markdownDescription": "The Auto Scaling group settings for the capacity provider.", + "title": "AutoScalingGroupProvider" }, - "RepositoryName": { - "markdownDescription": "The name to use for the public repository. The repository name may be specified on its own (such as `nginx-web-app` ) or it can be prepended with a namespace to group the repository into a category (such as `project-a/nginx-web-app` ). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the repository name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "RepositoryName", + "ClusterName": { + "markdownDescription": "The cluster that this capacity provider is associated with. Managed instances capacity providers are cluster-scoped, meaning they can only be used within their associated cluster.\n\nThis is required for Managed instances.", + "title": "ClusterName", "type": "string" }, - "RepositoryPolicyText": { - "markdownDescription": "The JSON repository policy text to apply to the public repository. For more information, see [Amazon ECR Public repository policies](https://docs.aws.amazon.com/AmazonECR/latest/public/public-repository-policies.html) in the *Amazon ECR Public User Guide* .", - "title": "RepositoryPolicyText", - "type": "object" + "ManagedInstancesProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesProvider", + "markdownDescription": "The configuration for the Amazon ECS Managed Instances provider. This includes the infrastructure role, the launch template configuration, and tag propagation settings.", + "title": "ManagedInstancesProvider" + }, + "Name": { + "markdownDescription": "The name of the capacity provider. If a name is specified, it cannot start with `aws` , `ecs` , or `fargate` . If no name is specified, a default name in the `CFNStackName-CFNResourceName-RandomString` format is used.", + "title": "Name", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", + "markdownDescription": "The metadata that you apply to the capacity provider to help you categorize and organize it. Each tag consists of a key and an optional value. You define both.\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" } @@ -137229,7 +145986,7 @@ }, "Type": { "enum": [ - "AWS::ECR::PublicRepository" + "AWS::ECS::CapacityProvider" ], "type": "string" }, @@ -137247,266 +146004,537 @@ ], "type": "object" }, - "AWS::ECR::PublicRepository.RepositoryCatalogData": { + "AWS::ECS::CapacityProvider.AcceleratorCountRequest": { "additionalProperties": false, "properties": { - "AboutText": { - "markdownDescription": "The longform description of the contents of the repository. This text appears in the repository details on the Amazon ECR Public Gallery.", - "title": "AboutText", + "Max": { + "markdownDescription": "The maximum number of accelerators. Instance types with more accelerators are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of accelerators. Instance types with fewer accelerators are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum total accelerator memory in MiB. Instance types with more accelerator memory are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum total accelerator memory in MiB. Instance types with less accelerator memory are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoRepairConfiguration": { + "additionalProperties": false, + "properties": { + "ActionsStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) that identifies the Auto Scaling group, or the Auto Scaling group name.", + "title": "AutoScalingGroupArn", "type": "string" }, - "Architectures": { - "items": { - "type": "string" - }, - "markdownDescription": "The architecture tags that are associated with the repository.", - "title": "Architectures", - "type": "array" + "ManagedDraining": { + "markdownDescription": "The managed draining option for the Auto Scaling group capacity provider. When you enable this, Amazon ECS manages and gracefully drains the EC2 container instances that are in the Auto Scaling group capacity provider.", + "title": "ManagedDraining", + "type": "string" }, - "OperatingSystems": { - "items": { - "type": "string" - }, - "markdownDescription": "The operating system tags that are associated with the repository.", - "title": "OperatingSystems", - "type": "array" + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling", + "markdownDescription": "The managed scaling settings for the Auto Scaling group capacity provider.", + "title": "ManagedScaling" }, - "RepositoryDescription": { - "markdownDescription": "The short description of the repository.", - "title": "RepositoryDescription", + "ManagedTerminationProtection": { + "markdownDescription": "The managed termination protection setting to use for the Auto Scaling group capacity provider. This determines whether the Auto Scaling group has managed termination protection. The default is off.\n\n> When using managed termination protection, managed scaling must also be used otherwise managed termination protection doesn't work. \n\nWhen managed termination protection is on, Amazon ECS prevents the Amazon EC2 instances in an Auto Scaling group that contain tasks from being terminated during a scale-in action. The Auto Scaling group and each instance in the Auto Scaling group must have instance protection from scale-in actions on as well. For more information, see [Instance Protection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) in the *AWS Auto Scaling User Guide* .\n\nWhen managed termination protection is off, your Amazon EC2 instances aren't protected from termination when the Auto Scaling group scales in.", + "title": "ManagedTerminationProtection", "type": "string" + } + }, + "required": [ + "AutoScalingGroupArn" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum baseline Amazon EBS bandwidth in Mbps. Instance types with higher Amazon EBS bandwidth are excluded from selection.", + "title": "Max", + "type": "number" }, - "UsageText": { - "markdownDescription": "The longform usage details of the contents of the repository. The usage text provides context for users of the repository.", - "title": "UsageText", + "Min": { + "markdownDescription": "The minimum baseline Amazon EBS bandwidth in Mbps. Instance types with lower Amazon EBS bandwidth are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.CapacityReservationRequest": { + "additionalProperties": false, + "properties": { + "ReservationGroupArn": { + "type": "string" + }, + "ReservationPreference": { "type": "string" } }, "type": "object" }, - "AWS::ECR::PullThroughCacheRule": { + "AWS::ECS::CapacityProvider.InfrastructureOptimization": { "additionalProperties": false, "properties": { - "Condition": { + "ScaleInAfter": { + "markdownDescription": "This parameter defines the number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle or underutilized instances instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle or underutilized instances,instances more quickly.\n\nValid values are:\n\n- `null` - Uses the default optimization behavior.\n- `-1` - Disables automatic infrastructure optimization.\n- A value between `0` and `3600` (inclusive) - Specifies the number of seconds to wait before optimizing instances.", + "title": "ScaleInAfter", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.InstanceLaunchTemplate": { + "additionalProperties": false, + "properties": { + "CapacityOptionType": { + "markdownDescription": "The capacity option type. This determines whether Amazon ECS launches On-Demand or Spot Instances for your managed instance capacity provider.\n\nValid values are:\n\n- `ON_DEMAND` - Launches standard On-Demand Instances. On-Demand Instances provide predictable pricing and availability.\n- `SPOT` - Launches Spot Instances that use spare Amazon EC2 capacity at reduced cost. Spot Instances can be interrupted by Amazon EC2 with a two-minute notification when the capacity is needed back.\n\nThe default is On-Demand\n\nFor more information about Amazon EC2 capacity options, see [Instance purchasing options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) in the *Amazon EC2 User Guide* .", + "title": "CapacityOptionType", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CapacityReservations": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.CapacityReservationRequest" + }, + "Ec2InstanceProfileArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources.\n\nFor more information, see [Amazon ECS instance profile for Managed Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/managed-instances-instance-profile.html) in the *Amazon ECS Developer Guide* .", + "title": "Ec2InstanceProfileArn", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "FipsEnabled": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "InstanceMetadataTagsPropagation": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CredentialArn": { - "markdownDescription": "The ARN of the Secrets Manager secret associated with the pull through cache rule.", - "title": "CredentialArn", - "type": "string" - }, - "CustomRoleArn": { - "markdownDescription": "The ARN of the IAM role associated with the pull through cache rule.", - "title": "CustomRoleArn", - "type": "string" - }, - "EcrRepositoryPrefix": { - "markdownDescription": "The Amazon ECR repository prefix associated with the pull through cache rule.", - "title": "EcrRepositoryPrefix", - "type": "string" - }, - "UpstreamRegistry": { - "markdownDescription": "The name of the upstream source registry associated with the pull through cache rule.", - "title": "UpstreamRegistry", - "type": "string" - }, - "UpstreamRegistryUrl": { - "markdownDescription": "The upstream registry URL associated with the pull through cache rule.", - "title": "UpstreamRegistryUrl", - "type": "string" - }, - "UpstreamRepositoryPrefix": { - "markdownDescription": "The upstream repository prefix associated with the pull through cache rule.", - "title": "UpstreamRepositoryPrefix", - "type": "string" - } - }, - "type": "object" + "InstanceRequirements": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.InstanceRequirementsRequest", + "markdownDescription": "The instance requirements. You can specify:\n\n- The instance types\n- Instance requirements such as vCPU count, memory, network performance, and accelerator specifications\n\nAmazon ECS automatically selects the instances that match the specified criteria.", + "title": "InstanceRequirements" }, - "Type": { - "enum": [ - "AWS::ECR::PullThroughCacheRule" - ], - "type": "string" + "LocalStorageConfiguration": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesLocalStorageConfiguration" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Monitoring": { + "markdownDescription": "CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see [Detailed monitoring for Amazon ECS Managed Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/detailed-monitoring-managed-instances.html) in the Amazon ECS Developer Guide.", + "title": "Monitoring", "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesNetworkConfiguration", + "markdownDescription": "The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity.", + "title": "NetworkConfiguration" + }, + "StorageConfiguration": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesStorageConfiguration", + "markdownDescription": "The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances.", + "title": "StorageConfiguration" } }, "required": [ - "Type" + "Ec2InstanceProfileArn", + "NetworkConfiguration" ], "type": "object" }, - "AWS::ECR::PullTimeUpdateExclusion": { + "AWS::ECS::CapacityProvider.InstanceRequirementsRequest": { "additionalProperties": false, "properties": { - "Condition": { + "AcceleratorCount": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AcceleratorCountRequest", + "markdownDescription": "The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.", + "title": "AcceleratorCount" + }, + "AcceleratorManufacturers": { + "items": { + "type": "string" + }, + "markdownDescription": "The accelerator manufacturers to include. You can specify `nvidia` , `amd` , `amazon-web-services` , or `xilinx` depending on your accelerator requirements.", + "title": "AcceleratorManufacturers", + "type": "array" + }, + "AcceleratorNames": { + "items": { + "type": "string" + }, + "markdownDescription": "The specific accelerator names to include. For example, you can specify `a100` , `v100` , `k80` , or other specific accelerator models.", + "title": "AcceleratorNames", + "type": "array" + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AcceleratorTotalMemoryMiBRequest", + "markdownDescription": "The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.", + "title": "AcceleratorTotalMemoryMiB" + }, + "AcceleratorTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The accelerator types to include. You can specify `gpu` for graphics processing units, `fpga` for field programmable gate arrays, or `inference` for machine learning inference accelerators.", + "title": "AcceleratorTypes", + "type": "array" + }, + "AllowedInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified.", + "title": "AllowedInstanceTypes", + "type": "array" + }, + "BareMetal": { + "markdownDescription": "Indicates whether to include bare metal instance types. Set to `included` to allow bare metal instances, `excluded` to exclude them, or `required` to use only bare metal instances.", + "title": "BareMetal", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.BaselineEbsBandwidthMbpsRequest", + "markdownDescription": "The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.", + "title": "BaselineEbsBandwidthMbps" + }, + "BurstablePerformance": { + "markdownDescription": "Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to `included` to allow burstable instances, `excluded` to exclude them, or `required` to use only burstable instances.", + "title": "BurstablePerformance", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CpuManufacturers": { + "items": { + "type": "string" + }, + "markdownDescription": "The CPU manufacturers to include or exclude. You can specify `intel` , `amd` , or `amazon-web-services` to control which CPU types are used for your workloads.", + "title": "CpuManufacturers", + "type": "array" }, - "Metadata": { - "type": "object" + "ExcludedInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads.", + "title": "ExcludedInstanceTypes", + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "PrincipalArn": { - "markdownDescription": "The ARN of the IAM principal to remove from the pull time update exclusion list.", - "title": "PrincipalArn", - "type": "string" - } + "InstanceGenerations": { + "items": { + "type": "string" }, - "required": [ - "PrincipalArn" - ], - "type": "object" + "markdownDescription": "The instance generations to include. You can specify `current` to use the latest generation instances, or `previous` to include previous generation instances for cost optimization.", + "title": "InstanceGenerations", + "type": "array" }, - "Type": { - "enum": [ - "AWS::ECR::PullTimeUpdateExclusion" - ], + "LocalStorage": { + "markdownDescription": "Indicates whether to include instance types with local storage. Set to `included` to allow local storage, `excluded` to exclude it, or `required` to use only instances with local storage.", + "title": "LocalStorage", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "LocalStorageTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The local storage types to include. You can specify `hdd` for hard disk drives, `ssd` for solid state drives, or both.", + "title": "LocalStorageTypes", + "type": "array" + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "markdownDescription": "The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.", + "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", + "type": "number" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.MemoryGiBPerVCpuRequest", + "markdownDescription": "The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.", + "title": "MemoryGiBPerVCpu" + }, + "MemoryMiB": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.MemoryMiBRequest", + "markdownDescription": "The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.", + "title": "MemoryMiB" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.NetworkBandwidthGbpsRequest", + "markdownDescription": "The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.", + "title": "NetworkBandwidthGbps" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.NetworkInterfaceCountRequest", + "markdownDescription": "The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.", + "title": "NetworkInterfaceCount" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "markdownDescription": "The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon ECS selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.", + "title": "OnDemandMaxPricePercentageOverLowestPrice", + "type": "number" + }, + "RequireHibernateSupport": { + "markdownDescription": "Indicates whether the instance types must support hibernation. When set to `true` , only instance types that support hibernation are selected.", + "title": "RequireHibernateSupport", + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "markdownDescription": "The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.", + "title": "SpotMaxPricePercentageOverLowestPrice", + "type": "number" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.TotalLocalStorageGBRequest", + "markdownDescription": "The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.", + "title": "TotalLocalStorageGB" + }, + "VCpuCount": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.VCpuCountRangeRequest", + "markdownDescription": "The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.", + "title": "VCpuCount" } }, "required": [ - "Type", - "Properties" + "MemoryMiB", + "VCpuCount" ], "type": "object" }, - "AWS::ECR::RegistryPolicy": { + "AWS::ECS::CapacityProvider.ManagedInstancesLocalStorageConfiguration": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "UseLocalStorage": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedInstancesNetworkConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.", + "title": "SecurityGroups", + "type": "array" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.", + "title": "Subnets", + "type": "array" + } + }, + "required": [ + "SecurityGroups", + "Subnets" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedInstancesProvider": { + "additionalProperties": false, + "properties": { + "AutoRepairConfiguration": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoRepairConfiguration" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "InfrastructureOptimization": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.InfrastructureOptimization", + "markdownDescription": "Defines how Amazon ECS Managed Instances optimizes the infrastastructure in your capacity provider. Configure it to turn on or off the infrastructure optimization in your capacity provider, and to control the idle or underutilized EC2 instances optimization delay.", + "title": "InfrastructureOptimization" }, - "Metadata": { - "type": "object" + "InfrastructureRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS assumes to manage instances. This role must include permissions for Amazon EC2 instance lifecycle management, networking, and any additional AWS services required for your workloads.\n\nFor 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": "InfrastructureRoleArn", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyText": { - "markdownDescription": "The JSON policy text for your registry.", - "title": "PolicyText", - "type": "object" - } - }, - "required": [ - "PolicyText" - ], - "type": "object" + "InstanceLaunchTemplate": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.InstanceLaunchTemplate", + "markdownDescription": "The launch template that defines how Amazon ECS launches Amazon ECS Managed Instances. This includes the instance profile for your tasks, network and storage configuration, and instance requirements that determine which Amazon EC2 instance types can be used.\n\nFor more information, see [Store instance launch parameters in Amazon EC2 launch templates](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the *Amazon EC2 User Guide* .", + "title": "InstanceLaunchTemplate" }, - "Type": { - "enum": [ - "AWS::ECR::RegistryPolicy" - ], + "PropagateTags": { + "markdownDescription": "Determines whether tags from the capacity provider are automatically applied to Amazon ECS Managed Instances. This helps with cost allocation and resource management by ensuring consistent tagging across your infrastructure.", + "title": "PropagateTags", "type": "string" + } + }, + "required": [ + "InfrastructureRoleArn", + "InstanceLaunchTemplate" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedInstancesStorageConfiguration": { + "additionalProperties": false, + "properties": { + "StorageSizeGiB": { + "markdownDescription": "The size of the tasks volume.", + "title": "StorageSizeGiB", + "type": "number" + } + }, + "required": [ + "StorageSizeGiB" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedScaling": { + "additionalProperties": false, + "properties": { + "InstanceWarmupPeriod": { + "markdownDescription": "The period of time, in seconds, after a newly launched Amazon EC2 instance can contribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value of `300` seconds is used.", + "title": "InstanceWarmupPeriod", + "type": "number" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "MaximumScalingStepSize": { + "markdownDescription": "The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this parameter is omitted, the default value of `10000` is used.", + "title": "MaximumScalingStepSize", + "type": "number" + }, + "MinimumScalingStepSize": { + "markdownDescription": "The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale in process is not affected by this parameter If this parameter is omitted, the default value of `1` is used.\n\nWhen additional capacity is required, Amazon ECS will scale up the minimum scaling step size even if the actual demand is less than the minimum scaling step size.", + "title": "MinimumScalingStepSize", + "type": "number" + }, + "Status": { + "markdownDescription": "Determines whether to use managed scaling for the capacity provider.", + "title": "Status", "type": "string" + }, + "TargetCapacity": { + "markdownDescription": "The target capacity utilization as a percentage for the capacity provider. The specified value must be greater than `0` and less than or equal to `100` . For example, if you want the capacity provider to maintain 10% spare capacity, then that means the utilization is 90%, so use a `targetCapacity` of `90` . The default value of `100` percent results in the Amazon EC2 instances in your Auto Scaling group being completely used.", + "title": "TargetCapacity", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory per vCPU in GiB. Instance types with a higher memory-to-vCPU ratio are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of memory per vCPU in GiB. Instance types with a lower memory-to-vCPU ratio are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum amount of memory in MiB. Instance types with more memory than this value are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum amount of memory in MiB. Instance types with less memory than this value are excluded from selection.", + "title": "Min", + "type": "number" } }, "required": [ - "Type", - "Properties" + "Min" ], "type": "object" }, - "AWS::ECR::RegistryScanningConfiguration": { + "AWS::ECS::CapacityProvider.NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum network bandwidth in Gbps. Instance types with higher network bandwidth are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum network bandwidth in Gbps. Instance types with lower network bandwidth are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of network interfaces. Instance types that support more network interfaces are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of network interfaces. Instance types that support fewer network interfaces are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum total local storage in GB. Instance types with more local storage are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum total local storage in GB. Instance types with less local storage are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider.VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "markdownDescription": "The maximum number of vCPUs. Instance types with more vCPUs than this value are excluded from selection.", + "title": "Max", + "type": "number" + }, + "Min": { + "markdownDescription": "The minimum number of vCPUs. Instance types with fewer vCPUs than this value are excluded from selection.", + "title": "Min", + "type": "number" + } + }, + "required": [ + "Min" + ], + "type": "object" + }, + "AWS::ECS::Cluster": { "additionalProperties": false, "properties": { "Condition": { @@ -137541,29 +146569,59 @@ "Properties": { "additionalProperties": false, "properties": { - "Rules": { + "CapacityProviders": { "items": { - "$ref": "#/definitions/AWS::ECR::RegistryScanningConfiguration.ScanningRule" + "type": "string" }, - "markdownDescription": "The scanning rules associated with the registry.", - "title": "Rules", + "markdownDescription": "The short name of one or more capacity providers to associate with the cluster. A capacity provider must be associated with a cluster before it can be included as part of the default capacity provider strategy of the cluster or used in a capacity provider strategy when calling the [CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html) or [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) actions.\n\nIf specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created but not associated with another cluster. New Auto Scaling group capacity providers can be created with the [CreateCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCapacityProvider.html) API operation.\n\nTo use a AWS Fargate capacity provider, specify either the `FARGATE` or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.\n\nThe [PutCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutCapacityProvider.html) API operation is used to update the list of available capacity providers for a cluster after the cluster is created.", + "title": "CapacityProviders", "type": "array" }, - "ScanType": { - "markdownDescription": "The type of scanning configured for the registry.", - "title": "ScanType", + "ClusterName": { + "markdownDescription": "A user-generated string that you use to identify your cluster. If you don't specify a name, AWS CloudFormation generates a unique physical ID for the name.", + "title": "ClusterName", "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "markdownDescription": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.\n\nContainer Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up.\n\nFor more information, see [Monitor Amazon ECS containers using Container Insights with enhanced observability](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "ClusterSettings", + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration", + "markdownDescription": "The execute command and managed storage configuration for the cluster.", + "title": "Configuration" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" + }, + "markdownDescription": "The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no launch type or capacity provider strategy specified, the default capacity provider strategy is used.", + "title": "DefaultCapacityProviderStrategy", + "type": "array" + }, + "ServiceConnectDefaults": { + "$ref": "#/definitions/AWS::ECS::Cluster.ServiceConnectDefaults", + "markdownDescription": "Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as client services in the namespace. This setting only applies to new services that set the `enabled` parameter to `true` in the `ServiceConnectConfiguration` . You can set the namespace of each service individually in the `ServiceConnectConfiguration` to override this default parameter.\n\nTasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "ServiceConnectDefaults" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key and an optional value. You define both.\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" } }, - "required": [ - "Rules", - "ScanType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ECR::RegistryScanningConfiguration" + "AWS::ECS::Cluster" ], "type": "string" }, @@ -137577,55 +146635,143 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ECR::RegistryScanningConfiguration.RepositoryFilter": { + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { "additionalProperties": false, "properties": { - "Filter": { - "markdownDescription": "The filter to use when scanning.", - "title": "Filter", + "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" }, - "FilterType": { - "markdownDescription": "The type associated with the filter.", - "title": "FilterType", + "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::Cluster.ClusterConfiguration": { + "additionalProperties": false, + "properties": { + "ExecuteCommandConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration", + "markdownDescription": "The details of the execute command configuration.", + "title": "ExecuteCommandConfiguration" + }, + "ManagedStorageConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ManagedStorageConfiguration", + "markdownDescription": "The details of the managed storage configuration.", + "title": "ManagedStorageConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterSettings": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the cluster setting. The value is `containerInsights` .", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value to set for the cluster setting. The supported values are `enhanced` , `enabled` , and `disabled` .\n\nTo use Container Insights with enhanced observability, set the `containerInsights` account setting to `enhanced` .\n\nTo use Container Insights, set the `containerInsights` account setting to `enabled` .\n\nIf a cluster value is specified, it will override the `containerInsights` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html) .", + "title": "Value", "type": "string" } }, - "required": [ - "Filter", - "FilterType" - ], "type": "object" }, - "AWS::ECR::RegistryScanningConfiguration.ScanningRule": { + "AWS::ECS::Cluster.ExecuteCommandConfiguration": { "additionalProperties": false, "properties": { - "RepositoryFilters": { - "items": { - "$ref": "#/definitions/AWS::ECR::RegistryScanningConfiguration.RepositoryFilter" - }, - "markdownDescription": "The details of a scanning repository filter. For more information on how to use filters, see [Using filters](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html#image-scanning-filters) in the *Amazon Elastic Container Registry User Guide* .", - "title": "RepositoryFilters", - "type": "array" + "KmsKeyId": { + "markdownDescription": "Specify an AWS Key Management Service key ID to encrypt the data between the local client and the container.", + "title": "KmsKeyId", + "type": "string" }, - "ScanFrequency": { - "markdownDescription": "The frequency that scans are performed at for a private registry. When the `ENHANCED` scan type is specified, the supported scan frequencies are `CONTINUOUS_SCAN` and `SCAN_ON_PUSH` . When the `BASIC` scan type is specified, the `SCAN_ON_PUSH` scan frequency is supported. If scan on push is not specified, then the `MANUAL` scan frequency is set by default.", - "title": "ScanFrequency", + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration", + "markdownDescription": "The log configuration for the results of the execute command actions. The logs can be sent to CloudWatch Logs or an Amazon S3 bucket. When `logging=OVERRIDE` is specified, a `logConfiguration` must be provided.", + "title": "LogConfiguration" + }, + "Logging": { + "markdownDescription": "The log setting to use for redirecting logs for your execute command results. The following log settings are available.\n\n- `NONE` : The execute command session is not logged.\n- `DEFAULT` : The `awslogs` configuration in the task definition is used. If no logging parameter is specified, it defaults to this value. If no `awslogs` log driver is configured in the task definition, the output won't be logged.\n- `OVERRIDE` : Specify the logging details as a part of `logConfiguration` . If the `OVERRIDE` logging option is specified, the `logConfiguration` is required.", + "title": "Logging", "type": "string" } }, - "required": [ - "RepositoryFilters", - "ScanFrequency" - ], "type": "object" }, - "AWS::ECR::ReplicationConfiguration": { + "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionEnabled": { + "markdownDescription": "Determines whether to use encryption on the CloudWatch logs. If not specified, encryption will be off.", + "title": "CloudWatchEncryptionEnabled", + "type": "boolean" + }, + "CloudWatchLogGroupName": { + "markdownDescription": "The name of the CloudWatch log group to send logs to.\n\n> The CloudWatch log group must already be created.", + "title": "CloudWatchLogGroupName", + "type": "string" + }, + "S3BucketName": { + "markdownDescription": "The name of the S3 bucket to send logs to.\n\n> The S3 bucket must already be created.", + "title": "S3BucketName", + "type": "string" + }, + "S3EncryptionEnabled": { + "markdownDescription": "Determines whether to use encryption on the S3 logs. If not specified, encryption is not used.", + "title": "S3EncryptionEnabled", + "type": "boolean" + }, + "S3KeyPrefix": { + "markdownDescription": "An optional folder in the S3 bucket to place logs in.", + "title": "S3KeyPrefix", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ManagedStorageConfiguration": { + "additionalProperties": false, + "properties": { + "FargateEphemeralStorageKmsKeyId": { + "markdownDescription": "Specify the AWS Key Management Service key ID for Fargate ephemeral storage.\n\nWhen you specify a `fargateEphemeralStorageKmsKeyId` , AWS Fargate uses the key to encrypt data at rest in ephemeral storage. For more information about Fargate ephemeral storage encryption, see [Customer managed keys for AWS Fargate ephemeral storage for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-storage-encryption.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nThe key must be a single Region key.", + "title": "FargateEphemeralStorageKmsKeyId", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "Specify a AWS Key Management Service key ID to encrypt Amazon ECS managed storage.\n\nWhen you specify a `kmsKeyId` , Amazon ECS uses the key to encrypt data volumes managed by Amazon ECS that are attached to tasks in the cluster. The following data volumes are managed by Amazon ECS: Amazon EBS. For more information about encryption of Amazon EBS volumes attached to Amazon ECS tasks, see [Encrypt data stored in Amazon EBS volumes for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-kms-encryption.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nThe key must be a single Region key.", + "title": "KmsKeyId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ServiceConnectDefaults": { + "additionalProperties": false, + "properties": { + "Namespace": { + "markdownDescription": "The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace that's used when you create a service and don't specify a Service Connect configuration. The namespace name can include up to 1024 characters. The name is case-sensitive. The name can't include greater than (>), less than (<), double quotation marks (\"), or slash (/).\n\nIf you enter an existing namespace name or ARN, then that namespace will be used. Any namespace type is supported. The namespace must be in this account and this AWS Region.\n\nIf you enter a new name, a AWS Cloud Map namespace will be created. Amazon ECS creates a AWS Cloud Map namespace with the \"API calls\" method of instance discovery only. This instance discovery method is the \"HTTP\" namespace type in the AWS Command Line Interface . Other types of instance discovery aren't used by Service Connect.\n\nIf you update the cluster with an empty string `\"\"` for the namespace name, the cluster configuration for Service Connect is removed. Note that the namespace will remain in AWS Cloud Map and must be deleted separately.\n\nFor 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" + } + }, + "type": "object" + }, + "AWS::ECS::ClusterCapacityProviderAssociations": { "additionalProperties": false, "properties": { "Condition": { @@ -137660,121 +146806,80 @@ "Properties": { "additionalProperties": false, "properties": { - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration", - "markdownDescription": "The replication configuration for a registry.", - "title": "ReplicationConfiguration" - } - }, - "required": [ - "ReplicationConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::ReplicationConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" - }, - "markdownDescription": "An array of objects representing the replication destinations and repository filters for a replication configuration.", - "title": "Rules", - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { - "additionalProperties": false, - "properties": { - "Region": { - "markdownDescription": "The Region to replicate to.", - "title": "Region", - "type": "string" - }, - "RegistryId": { - "markdownDescription": "The AWS account ID of the Amazon ECR private registry to replicate to. When configuring cross-Region replication within your own registry, specify your own account ID.", - "title": "RegistryId", - "type": "string" - } - }, - "required": [ - "Region", - "RegistryId" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationRule": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" + "CapacityProviders": { + "items": { + "type": "string" + }, + "markdownDescription": "The capacity providers to associate with the cluster.", + "title": "CapacityProviders", + "type": "array" + }, + "Cluster": { + "markdownDescription": "The cluster the capacity provider association is the target of.", + "title": "Cluster", + "type": "string" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy" + }, + "markdownDescription": "The default capacity provider strategy to associate with the cluster.", + "title": "DefaultCapacityProviderStrategy", + "type": "array" + } }, - "markdownDescription": "An array of objects representing the destination for a replication rule.", - "title": "Destinations", - "type": "array" + "required": [ + "Cluster", + "DefaultCapacityProviderStrategy" + ], + "type": "object" }, - "RepositoryFilters": { - "items": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.RepositoryFilter" - }, - "markdownDescription": "An array of objects representing the filters for a replication rule. Specifying a repository filter for a replication rule provides a method for controlling which repositories in a private registry are replicated.", - "title": "RepositoryFilters", - "type": "array" + "Type": { + "enum": [ + "AWS::ECS::ClusterCapacityProviderAssociations" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Destinations" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECR::ReplicationConfiguration.RepositoryFilter": { + "AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy": { "additionalProperties": false, "properties": { - "Filter": { - "markdownDescription": "The repository filter details. When the `PREFIX_MATCH` filter type is specified, this value is required and should be the repository name prefix to configure replication for.", - "title": "Filter", - "type": "string" + "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" }, - "FilterType": { - "markdownDescription": "The repository filter type. The only supported value is `PREFIX_MATCH` , which is a repository name prefix specified with the `filter` parameter.", - "title": "FilterType", + "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" } }, "required": [ - "Filter", - "FilterType" + "CapacityProvider" ], "type": "object" }, - "AWS::ECR::Repository": { + "AWS::ECS::ContainerInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -137808,64 +146913,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "EmptyOnDelete": { - "markdownDescription": "If true, deleting the repository force deletes the contents of the repository. If false, the repository must be empty before attempting to delete it.", - "title": "EmptyOnDelete", - "type": "boolean" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration", - "markdownDescription": "The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest.", - "title": "EncryptionConfiguration" - }, - "ImageScanningConfiguration": { - "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration", - "markdownDescription": "> The `imageScanningConfiguration` parameter is being deprecated, in favor of specifying the image scanning configuration at the registry level. For more information, see `PutRegistryScanningConfiguration` . \n\nThe image scanning configuration for the repository. This determines whether images are scanned for known vulnerabilities after being pushed to the repository.", - "title": "ImageScanningConfiguration" - }, - "ImageTagMutability": { - "markdownDescription": "The tag mutability setting for the repository. If this parameter is omitted, the default setting of `MUTABLE` will be used which will allow image tags to be overwritten. If `IMMUTABLE` is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.", - "title": "ImageTagMutability", - "type": "string" - }, - "ImageTagMutabilityExclusionFilters": { - "items": { - "$ref": "#/definitions/AWS::ECR::Repository.ImageTagMutabilityExclusionFilter" - }, - "markdownDescription": "A list of filters that specify which image tags are excluded from the repository's image tag mutability setting.", - "title": "ImageTagMutabilityExclusionFilters", - "type": "array" - }, - "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy", - "markdownDescription": "Creates or updates a lifecycle policy. For information about lifecycle policy syntax, see [Lifecycle policy template](https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html) .", - "title": "LifecyclePolicy" - }, - "RepositoryName": { - "markdownDescription": "The name to use for the repository. The repository name may be specified on its own (such as `nginx-web-app` ) or it can be prepended with a namespace to group the repository into a category (such as `project-a/nginx-web-app` ). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the repository name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\nThe repository name must start with a letter and can only contain lowercase letters, numbers, hyphens, underscores, and forward slashes.\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "RepositoryName", - "type": "string" - }, - "RepositoryPolicyText": { - "markdownDescription": "The JSON repository policy text to apply to the repository. For more information, see [Amazon ECR repository policies](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html) in the *Amazon Elastic Container Registry User Guide* .", - "title": "RepositoryPolicyText", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", - "type": "array" - } - }, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::ECR::Repository" + "AWS::ECS::ContainerInstance" ], "type": "string" }, @@ -137883,73 +146936,64 @@ ], "type": "object" }, - "AWS::ECR::Repository.EncryptionConfiguration": { + "AWS::ECS::ContainerInstance.Attribute": { "additionalProperties": false, "properties": { - "EncryptionType": { - "markdownDescription": "The encryption type to use.\n\nIf you use the `KMS` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS . When you use AWS to encrypt your data, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you already created.\n\nIf you use the `KMS_DSSE` encryption type, the contents of the repository will be encrypted with two layers of encryption using server-side encryption with the AWS Management Service key stored in AWS . Similar to the `KMS` encryption type, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you've already created.\n\nIf you use the `AES256` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm.\n\nFor more information, see [Amazon ECR encryption at rest](https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html) in the *Amazon Elastic Container Registry User Guide* .", - "title": "EncryptionType", + "Name": { "type": "string" }, - "KmsKey": { - "markdownDescription": "If you use the `KMS` encryption type, specify the AWS key to use for encryption. The alias, key ID, or full ARN of the AWS key can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed AWS key for Amazon ECR will be used.", - "title": "KmsKey", + "Value": { "type": "string" } }, "required": [ - "EncryptionType" + "Name" ], "type": "object" }, - "AWS::ECR::Repository.ImageScanningConfiguration": { - "additionalProperties": false, - "properties": { - "ScanOnPush": { - "markdownDescription": "The setting that determines whether images are scanned after being pushed to a repository. If set to `true` , images will be scanned after being pushed. If this parameter is not specified, it will default to `false` and images will not be scanned unless a scan is manually started.", - "title": "ScanOnPush", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ECR::Repository.ImageTagMutabilityExclusionFilter": { + "AWS::ECS::ContainerInstance.Resource": { "additionalProperties": false, "properties": { - "ImageTagMutabilityExclusionFilterType": { - "markdownDescription": "", - "title": "ImageTagMutabilityExclusionFilterType", + "DoubleValue": { + "type": "number" + }, + "IntegerValue": { + "type": "number" + }, + "LongValue": { + "type": "number" + }, + "Name": { "type": "string" }, - "ImageTagMutabilityExclusionFilterValue": { - "markdownDescription": "", - "title": "ImageTagMutabilityExclusionFilterValue", + "StringSetValue": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Type": { "type": "string" } }, - "required": [ - "ImageTagMutabilityExclusionFilterType", - "ImageTagMutabilityExclusionFilterValue" - ], "type": "object" }, - "AWS::ECR::Repository.LifecyclePolicy": { + "AWS::ECS::ContainerInstance.VersionInfo": { "additionalProperties": false, "properties": { - "LifecyclePolicyText": { - "markdownDescription": "The JSON repository policy text to apply to the repository.", - "title": "LifecyclePolicyText", + "AgentHash": { "type": "string" }, - "RegistryId": { - "markdownDescription": "The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.", - "title": "RegistryId", + "AgentVersion": { + "type": "string" + }, + "DockerVersion": { "type": "string" } }, "type": "object" }, - "AWS::ECR::RepositoryCreationTemplate": { + "AWS::ECS::Daemon": { "additionalProperties": false, "properties": { "Condition": { @@ -137984,75 +147028,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AppliedFor": { + "CapacityProviderArns": { "items": { "type": "string" }, - "markdownDescription": "A list of enumerable Strings representing the repository creation scenarios that this template will apply towards. The supported scenarios are PULL_THROUGH_CACHE, REPLICATION, and CREATE_ON_PUSH", - "title": "AppliedFor", "type": "array" }, - "CustomRoleArn": { - "markdownDescription": "The ARN of the role to be assumed by Amazon ECR. Amazon ECR will assume your supplied role when the customRoleArn is specified. When this field isn't specified, Amazon ECR will use the service-linked role for the repository creation template.", - "title": "CustomRoleArn", + "ClusterArn": { "type": "string" }, - "Description": { - "markdownDescription": "The description associated with the repository creation template.", - "title": "Description", + "DaemonName": { "type": "string" }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::ECR::RepositoryCreationTemplate.EncryptionConfiguration", - "markdownDescription": "The encryption configuration associated with the repository creation template.", - "title": "EncryptionConfiguration" - }, - "ImageTagMutability": { - "markdownDescription": "The tag mutability setting for the repository. If this parameter is omitted, the default setting of `MUTABLE` will be used which will allow image tags to be overwritten. If `IMMUTABLE` is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.", - "title": "ImageTagMutability", + "DaemonTaskDefinitionArn": { "type": "string" }, - "ImageTagMutabilityExclusionFilters": { - "items": { - "$ref": "#/definitions/AWS::ECR::RepositoryCreationTemplate.ImageTagMutabilityExclusionFilter" - }, - "markdownDescription": "A list of filters that specify which image tags are excluded from the repository creation template's image tag mutability setting.", - "title": "ImageTagMutabilityExclusionFilters", - "type": "array" + "DeploymentConfiguration": { + "$ref": "#/definitions/AWS::ECS::Daemon.DaemonDeploymentConfiguration" }, - "LifecyclePolicy": { - "markdownDescription": "The lifecycle policy to use for repositories created using the template.", - "title": "LifecyclePolicy", - "type": "string" + "EnableECSManagedTags": { + "type": "boolean" }, - "Prefix": { - "markdownDescription": "The repository namespace prefix associated with the repository creation template.", - "title": "Prefix", - "type": "string" + "EnableExecuteCommand": { + "type": "boolean" }, - "RepositoryPolicy": { - "markdownDescription": "The repository policy to apply to repositories created using the template. A repository policy is a permissions policy associated with a repository to control access permissions.", - "title": "RepositoryPolicy", + "PropagateTags": { "type": "string" }, - "ResourceTags": { + "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The metadata to apply to the repository to help you categorize and organize. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.", - "title": "ResourceTags", "type": "array" } }, - "required": [ - "AppliedFor", - "Prefix" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ECR::RepositoryCreationTemplate" + "AWS::ECS::Daemon" ], "type": "string" }, @@ -138066,51 +147080,41 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ECR::RepositoryCreationTemplate.EncryptionConfiguration": { + "AWS::ECS::Daemon.DaemonAlarmConfiguration": { "additionalProperties": false, "properties": { - "EncryptionType": { - "markdownDescription": "The encryption type to use.\n\nIf you use the `KMS` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS . When you use AWS to encrypt your data, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you already created.\n\nIf you use the `KMS_DSSE` encryption type, the contents of the repository will be encrypted with two layers of encryption using server-side encryption with the AWS Management Service key stored in AWS . Similar to the `KMS` encryption type, you can either use the default AWS managed AWS key for Amazon ECR, or specify your own AWS key, which you've already created.\n\nIf you use the `AES256` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm.\n\nFor more information, see [Amazon ECR encryption at rest](https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html) in the *Amazon Elastic Container Registry User Guide* .", - "title": "EncryptionType", - "type": "string" + "AlarmNames": { + "items": { + "type": "string" + }, + "type": "array" }, - "KmsKey": { - "markdownDescription": "If you use the `KMS` encryption type, specify the AWS key to use for encryption. The alias, key ID, or full ARN of the AWS key can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed AWS key for Amazon ECR will be used.", - "title": "KmsKey", - "type": "string" + "Enable": { + "type": "boolean" } }, - "required": [ - "EncryptionType" - ], "type": "object" }, - "AWS::ECR::RepositoryCreationTemplate.ImageTagMutabilityExclusionFilter": { + "AWS::ECS::Daemon.DaemonDeploymentConfiguration": { "additionalProperties": false, "properties": { - "ImageTagMutabilityExclusionFilterType": { - "markdownDescription": "", - "title": "ImageTagMutabilityExclusionFilterType", - "type": "string" + "Alarms": { + "$ref": "#/definitions/AWS::ECS::Daemon.DaemonAlarmConfiguration" }, - "ImageTagMutabilityExclusionFilterValue": { - "markdownDescription": "", - "title": "ImageTagMutabilityExclusionFilterValue", - "type": "string" + "BakeTimeInMinutes": { + "type": "number" + }, + "DrainPercent": { + "type": "number" } }, - "required": [ - "ImageTagMutabilityExclusionFilterType", - "ImageTagMutabilityExclusionFilterValue" - ], "type": "object" }, - "AWS::ECR::SigningConfiguration": { + "AWS::ECS::DaemonDeployment": { "additionalProperties": false, "properties": { "Condition": { @@ -138144,24 +147148,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::ECR::SigningConfiguration.Rule" - }, - "markdownDescription": "A list of signing rules. Each rule defines a signing profile and optional repository filters that determine which images are automatically signed.", - "title": "Rules", - "type": "array" - } - }, - "required": [ - "Rules" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::ECR::SigningConfiguration" + "AWS::ECS::DaemonDeployment" ], "type": "string" }, @@ -138175,54 +147167,113 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ECR::SigningConfiguration.RepositoryFilter": { + "AWS::ECS::DaemonDeployment.DaemonAlarmConfiguration": { "additionalProperties": false, "properties": { - "Filter": { - "markdownDescription": "The filter value used to match repository names. When using `WILDCARD_MATCH` , the `*` character matches any sequence of characters.\n\nExamples:\n\n- `myapp/*` - Matches all repositories starting with `myapp/`\n- `*/production` - Matches all repositories ending with `/production`\n- `*prod*` - Matches all repositories containing `prod`", - "title": "Filter", - "type": "string" + "AlarmNames": { + "items": { + "type": "string" + }, + "type": "array" }, - "FilterType": { - "markdownDescription": "The type of filter to apply. Currently, only `WILDCARD_MATCH` is supported, which uses wildcard patterns to match repository names.", - "title": "FilterType", + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonDeployment.DaemonCircuitBreaker": { + "additionalProperties": false, + "properties": { + "FailureCount": { + "type": "number" + }, + "Status": { "type": "string" + }, + "Threshold": { + "type": "number" } }, - "required": [ - "Filter", - "FilterType" - ], "type": "object" }, - "AWS::ECR::SigningConfiguration.Rule": { + "AWS::ECS::DaemonDeployment.DaemonDeploymentAlarms": { "additionalProperties": false, "properties": { - "RepositoryFilters": { + "AlarmNames": { "items": { - "$ref": "#/definitions/AWS::ECR::SigningConfiguration.RepositoryFilter" + "type": "string" }, - "markdownDescription": "A list of repository filters that determine which repositories have their images signed on push. If no filters are specified, all images pushed to the registry are signed using the rule's signing profile. Maximum of 100 filters per rule.", - "title": "RepositoryFilters", "type": "array" }, - "SigningProfileArn": { - "markdownDescription": "The ARN of the AWS Signer signing profile to use for signing images that match this rule. For more information about signing profiles, see [Signing profiles](https://docs.aws.amazon.com/signer/latest/developerguide/signing-profiles.html) in the *AWS Signer Developer Guide* .", - "title": "SigningProfileArn", + "Status": { "type": "string" + }, + "TriggeredAlarmNames": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "SigningProfileArn" - ], "type": "object" }, - "AWS::ECRPublic::Registry": { + "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::DaemonDeployment.DaemonAlarmConfiguration" + }, + "BakeTimeInMinutes": { + "type": "number" + }, + "DrainPercent": { + "type": "number" + } + }, + "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::DaemonRevision": { "additionalProperties": false, "properties": { "Condition": { @@ -138256,12 +147307,22 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "EnableECSManagedTags": { + "type": "boolean" + }, + "EnableExecuteCommand": { + "type": "boolean" + }, + "PropagateTags": { + "type": "string" + } + }, "type": "object" }, "Type": { "enum": [ - "AWS::ECRPublic::Registry" + "AWS::ECS::DaemonRevision" ], "type": "string" }, @@ -138279,31 +147340,22 @@ ], "type": "object" }, - "AWS::ECRPublic::Registry.RegistryAlias": { + "AWS::ECS::DaemonRevision.ContainerImage": { "additionalProperties": false, "properties": { - "DefaultRegistryAlias": { - "type": "boolean" - }, - "Name": { + "ContainerName": { "type": "string" }, - "PrimaryRegistryAlias": { - "type": "boolean" + "Image": { + "type": "string" }, - "Status": { + "ImageDigest": { "type": "string" } }, - "required": [ - "DefaultRegistryAlias", - "Name", - "PrimaryRegistryAlias", - "Status" - ], "type": "object" }, - "AWS::ECS::CapacityProvider": { + "AWS::ECS::DaemonTaskDefinition": { "additionalProperties": false, "properties": { "Condition": { @@ -138338,32 +147390,43 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoScalingGroupProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider", - "markdownDescription": "The Auto Scaling group settings for the capacity provider.", - "title": "AutoScalingGroupProvider" + "ContainerDefinitions": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.DaemonContainerDefinition" + }, + "type": "array" }, - "ClusterName": { - "markdownDescription": "The cluster that this capacity provider is associated with. Managed instances capacity providers are cluster-scoped, meaning they can only be used within their associated cluster.\n\nThis is required for Managed instances.", - "title": "ClusterName", + "Cpu": { "type": "string" }, - "ManagedInstancesProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesProvider", - "markdownDescription": "The configuration for the Amazon ECS Managed Instances provider. This includes the infrastructure role, the launch template configuration, and tag propagation settings.", - "title": "ManagedInstancesProvider" + "ExecutionRoleArn": { + "type": "string" }, - "Name": { - "markdownDescription": "The name of the capacity provider. If a name is specified, it cannot start with `aws` , `ecs` , or `fargate` . If no name is specified, a default name in the `CFNStackName-CFNResourceName-RandomString` format is used.", - "title": "Name", + "Family": { + "type": "string" + }, + "IpcMode": { + "type": "string" + }, + "Memory": { + "type": "string" + }, + "PidMode": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The metadata that you apply to the capacity provider to help you categorize and organize it. Each tag consists of a key and an optional value. You define both.\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" + }, + "TaskRoleArn": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Volume" + }, "type": "array" } }, @@ -138371,7 +147434,7 @@ }, "Type": { "enum": [ - "AWS::ECS::CapacityProvider" + "AWS::ECS::DaemonTaskDefinition" ], "type": "string" }, @@ -138389,537 +147452,428 @@ ], "type": "object" }, - "AWS::ECS::CapacityProvider.AcceleratorCountRequest": { + "AWS::ECS::DaemonTaskDefinition.ContainerDependency": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of accelerators. Instance types with more accelerators are excluded from selection.", - "title": "Max", - "type": "number" + "Condition": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum number of accelerators. Instance types with fewer accelerators are excluded from selection.", - "title": "Min", - "type": "number" + "ContainerName": { + "type": "string" } }, "type": "object" }, - "AWS::ECS::CapacityProvider.AcceleratorTotalMemoryMiBRequest": { + "AWS::ECS::DaemonTaskDefinition.DaemonContainerDefinition": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum total accelerator memory in MiB. Instance types with more accelerator memory are excluded from selection.", - "title": "Max", - "type": "number" + "Command": { + "items": { + "type": "string" + }, + "type": "array" }, - "Min": { - "markdownDescription": "The minimum total accelerator memory in MiB. Instance types with less accelerator memory are excluded from selection.", - "title": "Min", + "Cpu": { "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider.AutoRepairConfiguration": { - "additionalProperties": false, - "properties": { - "ActionsStatus": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) that identifies the Auto Scaling group, or the Auto Scaling group name.", - "title": "AutoScalingGroupArn", - "type": "string" }, - "ManagedDraining": { - "markdownDescription": "The managed draining option for the Auto Scaling group capacity provider. When you enable this, Amazon ECS manages and gracefully drains the EC2 container instances that are in the Auto Scaling group capacity provider.", - "title": "ManagedDraining", - "type": "string" + "DependsOn": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.ContainerDependency" + }, + "type": "array" }, - "ManagedScaling": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling", - "markdownDescription": "The managed scaling settings for the Auto Scaling group capacity provider.", - "title": "ManagedScaling" + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" }, - "ManagedTerminationProtection": { - "markdownDescription": "The managed termination protection setting to use for the Auto Scaling group capacity provider. This determines whether the Auto Scaling group has managed termination protection. The default is off.\n\n> When using managed termination protection, managed scaling must also be used otherwise managed termination protection doesn't work. \n\nWhen managed termination protection is on, Amazon ECS prevents the Amazon EC2 instances in an Auto Scaling group that contain tasks from being terminated during a scale-in action. The Auto Scaling group and each instance in the Auto Scaling group must have instance protection from scale-in actions on as well. For more information, see [Instance Protection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) in the *AWS Auto Scaling User Guide* .\n\nWhen managed termination protection is off, your Amazon EC2 instances aren't protected from termination when the Auto Scaling group scales in.", - "title": "ManagedTerminationProtection", + "Environment": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "EnvironmentFiles": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.EnvironmentFile" + }, + "type": "array" + }, + "Essential": { + "type": "boolean" + }, + "FirelensConfiguration": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.FirelensConfiguration" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.HealthCheck" + }, + "Image": { "type": "string" - } - }, - "required": [ - "AutoScalingGroupArn" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.BaselineEbsBandwidthMbpsRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum baseline Amazon EBS bandwidth in Mbps. Instance types with higher Amazon EBS bandwidth are excluded from selection.", - "title": "Max", - "type": "number" }, - "Min": { - "markdownDescription": "The minimum baseline Amazon EBS bandwidth in Mbps. Instance types with lower Amazon EBS bandwidth are excluded from selection.", - "title": "Min", + "Interactive": { + "type": "boolean" + }, + "LinuxParameters": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.LogConfiguration" + }, + "Memory": { "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider.CapacityReservationRequest": { - "additionalProperties": false, - "properties": { - "ReservationGroupArn": { - "type": "string" }, - "ReservationPreference": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider.InfrastructureOptimization": { - "additionalProperties": false, - "properties": { - "ScaleInAfter": { - "markdownDescription": "This parameter defines the number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle or underutilized instances instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle or underutilized instances,instances more quickly.\n\nValid values are:\n\n- `null` - Uses the default optimization behavior.\n- `-1` - Disables automatic infrastructure optimization.\n- A value between `0` and `3600` (inclusive) - Specifies the number of seconds to wait before optimizing instances.", - "title": "ScaleInAfter", + "MemoryReservation": { "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider.InstanceLaunchTemplate": { - "additionalProperties": false, - "properties": { - "CapacityOptionType": { - "markdownDescription": "The capacity option type. This determines whether Amazon ECS launches On-Demand or Spot Instances for your managed instance capacity provider.\n\nValid values are:\n\n- `ON_DEMAND` - Launches standard On-Demand Instances. On-Demand Instances provide predictable pricing and availability.\n- `SPOT` - Launches Spot Instances that use spare Amazon EC2 capacity at reduced cost. Spot Instances can be interrupted by Amazon EC2 with a two-minute notification when the capacity is needed back.\n\nThe default is On-Demand\n\nFor more information about Amazon EC2 capacity options, see [Instance purchasing options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) in the *Amazon EC2 User Guide* .", - "title": "CapacityOptionType", - "type": "string" }, - "CapacityReservations": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.CapacityReservationRequest" + "MountPoints": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.MountPoint" + }, + "type": "array" }, - "Ec2InstanceProfileArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources.\n\nFor more information, see [Amazon ECS instance profile for Managed Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/managed-instances-instance-profile.html) in the *Amazon ECS Developer Guide* .", - "title": "Ec2InstanceProfileArn", + "Name": { "type": "string" }, - "FipsEnabled": { + "Privileged": { "type": "boolean" }, - "InstanceMetadataTagsPropagation": { + "PseudoTerminal": { "type": "boolean" }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.InstanceRequirementsRequest", - "markdownDescription": "The instance requirements. You can specify:\n\n- The instance types\n- Instance requirements such as vCPU count, memory, network performance, and accelerator specifications\n\nAmazon ECS automatically selects the instances that match the specified criteria.", - "title": "InstanceRequirements" - }, - "LocalStorageConfiguration": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesLocalStorageConfiguration" - }, - "Monitoring": { - "markdownDescription": "CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see [Detailed monitoring for Amazon ECS Managed Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/detailed-monitoring-managed-instances.html) in the Amazon ECS Developer Guide.", - "title": "Monitoring", - "type": "string" + "ReadonlyRootFilesystem": { + "type": "boolean" }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesNetworkConfiguration", - "markdownDescription": "The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity.", - "title": "NetworkConfiguration" + "RepositoryCredentials": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.RepositoryCredentials" }, - "StorageConfiguration": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedInstancesStorageConfiguration", - "markdownDescription": "The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances.", - "title": "StorageConfiguration" - } - }, - "required": [ - "Ec2InstanceProfileArn", - "NetworkConfiguration" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.InstanceRequirementsRequest": { - "additionalProperties": false, - "properties": { - "AcceleratorCount": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AcceleratorCountRequest", - "markdownDescription": "The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.", - "title": "AcceleratorCount" + "RestartPolicy": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.RestartPolicy" }, - "AcceleratorManufacturers": { + "Secrets": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Secret" }, - "markdownDescription": "The accelerator manufacturers to include. You can specify `nvidia` , `amd` , `amazon-web-services` , or `xilinx` depending on your accelerator requirements.", - "title": "AcceleratorManufacturers", "type": "array" }, - "AcceleratorNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The specific accelerator names to include. For example, you can specify `a100` , `v100` , `k80` , or other specific accelerator models.", - "title": "AcceleratorNames", - "type": "array" + "StartTimeout": { + "type": "number" }, - "AcceleratorTotalMemoryMiB": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AcceleratorTotalMemoryMiBRequest", - "markdownDescription": "The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.", - "title": "AcceleratorTotalMemoryMiB" + "StopTimeout": { + "type": "number" }, - "AcceleratorTypes": { + "SystemControls": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.SystemControl" }, - "markdownDescription": "The accelerator types to include. You can specify `gpu` for graphics processing units, `fpga` for field programmable gate arrays, or `inference` for machine learning inference accelerators.", - "title": "AcceleratorTypes", "type": "array" }, - "AllowedInstanceTypes": { + "Ulimits": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Ulimit" }, - "markdownDescription": "The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified.", - "title": "AllowedInstanceTypes", "type": "array" }, - "BareMetal": { - "markdownDescription": "Indicates whether to include bare metal instance types. Set to `included` to allow bare metal instances, `excluded` to exclude them, or `required` to use only bare metal instances.", - "title": "BareMetal", + "User": { "type": "string" }, - "BaselineEbsBandwidthMbps": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.BaselineEbsBandwidthMbpsRequest", - "markdownDescription": "The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.", - "title": "BaselineEbsBandwidthMbps" - }, - "BurstablePerformance": { - "markdownDescription": "Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to `included` to allow burstable instances, `excluded` to exclude them, or `required` to use only burstable instances.", - "title": "BurstablePerformance", + "WorkingDirectory": { + "type": "string" + } + }, + "required": [ + "Image", + "Name" + ], + "type": "object" + }, + "AWS::ECS::DaemonTaskDefinition.Device": { + "additionalProperties": false, + "properties": { + "ContainerPath": { "type": "string" }, - "CpuManufacturers": { - "items": { - "type": "string" - }, - "markdownDescription": "The CPU manufacturers to include or exclude. You can specify `intel` , `amd` , or `amazon-web-services` to control which CPU types are used for your workloads.", - "title": "CpuManufacturers", - "type": "array" + "HostPath": { + "type": "string" }, - "ExcludedInstanceTypes": { + "Permissions": { "items": { "type": "string" }, - "markdownDescription": "The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads.", - "title": "ExcludedInstanceTypes", "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonTaskDefinition.EnvironmentFile": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" }, - "InstanceGenerations": { - "items": { - "type": "string" + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonTaskDefinition.FirelensConfiguration": { + "additionalProperties": false, + "properties": { + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "The instance generations to include. You can specify `current` to use the latest generation instances, or `previous` to include previous generation instances for cost optimization.", - "title": "InstanceGenerations", - "type": "array" + "type": "object" }, - "LocalStorage": { - "markdownDescription": "Indicates whether to include instance types with local storage. Set to `included` to allow local storage, `excluded` to exclude it, or `required` to use only instances with local storage.", - "title": "LocalStorage", + "Type": { "type": "string" - }, - "LocalStorageTypes": { + } + }, + "type": "object" + }, + "AWS::ECS::DaemonTaskDefinition.HealthCheck": { + "additionalProperties": false, + "properties": { + "Command": { "items": { "type": "string" }, - "markdownDescription": "The local storage types to include. You can specify `hdd` for hard disk drives, `ssd` for solid state drives, or both.", - "title": "LocalStorageTypes", "type": "array" }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { - "markdownDescription": "The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.", - "title": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", + "Interval": { "type": "number" }, - "MemoryGiBPerVCpu": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.MemoryGiBPerVCpuRequest", - "markdownDescription": "The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.", - "title": "MemoryGiBPerVCpu" - }, - "MemoryMiB": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.MemoryMiBRequest", - "markdownDescription": "The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.", - "title": "MemoryMiB" - }, - "NetworkBandwidthGbps": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.NetworkBandwidthGbpsRequest", - "markdownDescription": "The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.", - "title": "NetworkBandwidthGbps" - }, - "NetworkInterfaceCount": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.NetworkInterfaceCountRequest", - "markdownDescription": "The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.", - "title": "NetworkInterfaceCount" - }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "markdownDescription": "The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon ECS selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.", - "title": "OnDemandMaxPricePercentageOverLowestPrice", + "Retries": { "type": "number" }, - "RequireHibernateSupport": { - "markdownDescription": "Indicates whether the instance types must support hibernation. When set to `true` , only instance types that support hibernation are selected.", - "title": "RequireHibernateSupport", - "type": "boolean" - }, - "SpotMaxPricePercentageOverLowestPrice": { - "markdownDescription": "The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.", - "title": "SpotMaxPricePercentageOverLowestPrice", + "StartPeriod": { "type": "number" }, - "TotalLocalStorageGB": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.TotalLocalStorageGBRequest", - "markdownDescription": "The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.", - "title": "TotalLocalStorageGB" - }, - "VCpuCount": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.VCpuCountRangeRequest", - "markdownDescription": "The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.", - "title": "VCpuCount" + "Timeout": { + "type": "number" } }, - "required": [ - "MemoryMiB", - "VCpuCount" - ], "type": "object" }, - "AWS::ECS::CapacityProvider.ManagedInstancesLocalStorageConfiguration": { + "AWS::ECS::DaemonTaskDefinition.HostVolumeProperties": { "additionalProperties": false, "properties": { - "UseLocalStorage": { - "type": "boolean" + "SourcePath": { + "type": "string" } }, "type": "object" }, - "AWS::ECS::CapacityProvider.ManagedInstancesNetworkConfiguration": { + "AWS::ECS::DaemonTaskDefinition.KernelCapabilities": { "additionalProperties": false, "properties": { - "SecurityGroups": { + "Add": { "items": { "type": "string" }, - "markdownDescription": "The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.", - "title": "SecurityGroups", "type": "array" }, - "Subnets": { + "Drop": { "items": { "type": "string" }, - "markdownDescription": "The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.", - "title": "Subnets", "type": "array" } }, - "required": [ - "SecurityGroups", - "Subnets" - ], "type": "object" }, - "AWS::ECS::CapacityProvider.ManagedInstancesProvider": { + "AWS::ECS::DaemonTaskDefinition.KeyValuePair": { "additionalProperties": false, "properties": { - "AutoRepairConfiguration": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoRepairConfiguration" - }, - "InfrastructureOptimization": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.InfrastructureOptimization", - "markdownDescription": "Defines how Amazon ECS Managed Instances optimizes the infrastastructure in your capacity provider. Configure it to turn on or off the infrastructure optimization in your capacity provider, and to control the idle or underutilized EC2 instances optimization delay.", - "title": "InfrastructureOptimization" + "Name": { + "type": "string" }, - "InfrastructureRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS assumes to manage instances. This role must include permissions for Amazon EC2 instance lifecycle management, networking, and any additional AWS services required for your workloads.\n\nFor 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": "InfrastructureRoleArn", + "Value": { "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonTaskDefinition.LinuxParameters": { + "additionalProperties": false, + "properties": { + "Capabilities": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.KernelCapabilities" }, - "InstanceLaunchTemplate": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.InstanceLaunchTemplate", - "markdownDescription": "The launch template that defines how Amazon ECS launches Amazon ECS Managed Instances. This includes the instance profile for your tasks, network and storage configuration, and instance requirements that determine which Amazon EC2 instance types can be used.\n\nFor more information, see [Store instance launch parameters in Amazon EC2 launch templates](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the *Amazon EC2 User Guide* .", - "title": "InstanceLaunchTemplate" + "Devices": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Device" + }, + "type": "array" }, - "PropagateTags": { - "markdownDescription": "Determines whether tags from the capacity provider are automatically applied to Amazon ECS Managed Instances. This helps with cost allocation and resource management by ensuring consistent tagging across your infrastructure.", - "title": "PropagateTags", - "type": "string" + "InitProcessEnabled": { + "type": "boolean" + }, + "Tmpfs": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Tmpfs" + }, + "type": "array" } }, - "required": [ - "InfrastructureRoleArn", - "InstanceLaunchTemplate" - ], "type": "object" }, - "AWS::ECS::CapacityProvider.ManagedInstancesStorageConfiguration": { + "AWS::ECS::DaemonTaskDefinition.LogConfiguration": { "additionalProperties": false, "properties": { - "StorageSizeGiB": { - "markdownDescription": "The size of the tasks volume.", - "title": "StorageSizeGiB", - "type": "number" + "LogDriver": { + "type": "string" + }, + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Secret" + }, + "type": "array" } }, "required": [ - "StorageSizeGiB" + "LogDriver" ], "type": "object" }, - "AWS::ECS::CapacityProvider.ManagedScaling": { + "AWS::ECS::DaemonTaskDefinition.MountPoint": { "additionalProperties": false, "properties": { - "InstanceWarmupPeriod": { - "markdownDescription": "The period of time, in seconds, after a newly launched Amazon EC2 instance can contribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value of `300` seconds is used.", - "title": "InstanceWarmupPeriod", - "type": "number" - }, - "MaximumScalingStepSize": { - "markdownDescription": "The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this parameter is omitted, the default value of `10000` is used.", - "title": "MaximumScalingStepSize", - "type": "number" + "ContainerPath": { + "type": "string" }, - "MinimumScalingStepSize": { - "markdownDescription": "The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale in process is not affected by this parameter If this parameter is omitted, the default value of `1` is used.\n\nWhen additional capacity is required, Amazon ECS will scale up the minimum scaling step size even if the actual demand is less than the minimum scaling step size.", - "title": "MinimumScalingStepSize", - "type": "number" + "ReadOnly": { + "type": "boolean" }, - "Status": { - "markdownDescription": "Determines whether to use managed scaling for the capacity provider.", - "title": "Status", + "SourceVolume": { "type": "string" - }, - "TargetCapacity": { - "markdownDescription": "The target capacity utilization as a percentage for the capacity provider. The specified value must be greater than `0` and less than or equal to `100` . For example, if you want the capacity provider to maintain 10% spare capacity, then that means the utilization is 90%, so use a `targetCapacity` of `90` . The default value of `100` percent results in the Amazon EC2 instances in your Auto Scaling group being completely used.", - "title": "TargetCapacity", - "type": "number" } }, "type": "object" }, - "AWS::ECS::CapacityProvider.MemoryGiBPerVCpuRequest": { + "AWS::ECS::DaemonTaskDefinition.RepositoryCredentials": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory per vCPU in GiB. Instance types with a higher memory-to-vCPU ratio are excluded from selection.", - "title": "Max", - "type": "number" + "CredentialsParameter": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonTaskDefinition.RestartPolicy": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" }, - "Min": { - "markdownDescription": "The minimum amount of memory per vCPU in GiB. Instance types with a lower memory-to-vCPU ratio are excluded from selection.", - "title": "Min", + "IgnoredExitCodes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "RestartAttemptPeriod": { "type": "number" } }, "type": "object" }, - "AWS::ECS::CapacityProvider.MemoryMiBRequest": { + "AWS::ECS::DaemonTaskDefinition.Secret": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum amount of memory in MiB. Instance types with more memory than this value are excluded from selection.", - "title": "Max", - "type": "number" + "Name": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum amount of memory in MiB. Instance types with less memory than this value are excluded from selection.", - "title": "Min", - "type": "number" + "ValueFrom": { + "type": "string" } }, "required": [ - "Min" + "Name", + "ValueFrom" ], "type": "object" }, - "AWS::ECS::CapacityProvider.NetworkBandwidthGbpsRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "markdownDescription": "The maximum network bandwidth in Gbps. Instance types with higher network bandwidth are excluded from selection.", - "title": "Max", - "type": "number" + "AWS::ECS::DaemonTaskDefinition.SystemControl": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum network bandwidth in Gbps. Instance types with lower network bandwidth are excluded from selection.", - "title": "Min", - "type": "number" + "Value": { + "type": "string" } }, "type": "object" }, - "AWS::ECS::CapacityProvider.NetworkInterfaceCountRequest": { + "AWS::ECS::DaemonTaskDefinition.Tmpfs": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of network interfaces. Instance types that support more network interfaces are excluded from selection.", - "title": "Max", - "type": "number" + "ContainerPath": { + "type": "string" }, - "Min": { - "markdownDescription": "The minimum number of network interfaces. Instance types that support fewer network interfaces are excluded from selection.", - "title": "Min", + "MountOptions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Size": { "type": "number" } }, + "required": [ + "Size" + ], "type": "object" }, - "AWS::ECS::CapacityProvider.TotalLocalStorageGBRequest": { + "AWS::ECS::DaemonTaskDefinition.Ulimit": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum total local storage in GB. Instance types with more local storage are excluded from selection.", - "title": "Max", + "HardLimit": { "type": "number" }, - "Min": { - "markdownDescription": "The minimum total local storage in GB. Instance types with less local storage are excluded from selection.", - "title": "Min", + "Name": { + "type": "string" + }, + "SoftLimit": { "type": "number" } }, + "required": [ + "HardLimit", + "Name", + "SoftLimit" + ], "type": "object" }, - "AWS::ECS::CapacityProvider.VCpuCountRangeRequest": { + "AWS::ECS::DaemonTaskDefinition.Volume": { "additionalProperties": false, "properties": { - "Max": { - "markdownDescription": "The maximum number of vCPUs. Instance types with more vCPUs than this value are excluded from selection.", - "title": "Max", - "type": "number" + "Host": { + "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.HostVolumeProperties" }, - "Min": { - "markdownDescription": "The minimum number of vCPUs. Instance types with fewer vCPUs than this value are excluded from selection.", - "title": "Min", - "type": "number" + "Name": { + "type": "string" } }, - "required": [ - "Min" - ], "type": "object" }, - "AWS::ECS::Cluster": { + "AWS::ECS::ExpressGatewayService": { "additionalProperties": false, "properties": { "Condition": { @@ -138954,59 +147908,81 @@ "Properties": { "additionalProperties": false, "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "markdownDescription": "The short name of one or more capacity providers to associate with the cluster. A capacity provider must be associated with a cluster before it can be included as part of the default capacity provider strategy of the cluster or used in a capacity provider strategy when calling the [CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html) or [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) actions.\n\nIf specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created but not associated with another cluster. New Auto Scaling group capacity providers can be created with the [CreateCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCapacityProvider.html) API operation.\n\nTo use a AWS Fargate capacity provider, specify either the `FARGATE` or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.\n\nThe [PutCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutCapacityProvider.html) API operation is used to update the list of available capacity providers for a cluster after the cluster is created.", - "title": "CapacityProviders", - "type": "array" + "Cluster": { + "markdownDescription": "The short name or full ARN of the cluster that hosts the Express service.", + "title": "Cluster", + "type": "string" }, - "ClusterName": { - "markdownDescription": "A user-generated string that you use to identify your cluster. If you don't specify a name, AWS CloudFormation generates a unique physical ID for the name.", - "title": "ClusterName", + "Cpu": { + "markdownDescription": "The CPU allocation for tasks in this service revision.", + "title": "Cpu", "type": "string" }, - "ClusterSettings": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" - }, - "markdownDescription": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.\n\nContainer Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up.\n\nFor more information, see [Monitor Amazon ECS containers using Container Insights with enhanced observability](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "ClusterSettings", - "type": "array" + "ExecutionRoleArn": { + "markdownDescription": "The ARN of the task execution role for the service revision.", + "title": "ExecutionRoleArn", + "type": "string" }, - "Configuration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration", - "markdownDescription": "The execute command and managed storage configuration for the cluster.", - "title": "Configuration" + "HealthCheckPath": { + "markdownDescription": "The health check path for this service revision.", + "title": "HealthCheckPath", + "type": "string" }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" - }, - "markdownDescription": "The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no launch type or capacity provider strategy specified, the default capacity provider strategy is used.", - "title": "DefaultCapacityProviderStrategy", - "type": "array" + "InfrastructureRoleArn": { + "markdownDescription": "The ARN of the infrastructure role that manages AWS resources for the Express service.", + "title": "InfrastructureRoleArn", + "type": "string" }, - "ServiceConnectDefaults": { - "$ref": "#/definitions/AWS::ECS::Cluster.ServiceConnectDefaults", - "markdownDescription": "Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as client services in the namespace. This setting only applies to new services that set the `enabled` parameter to `true` in the `ServiceConnectConfiguration` . You can set the namespace of each service individually in the `ServiceConnectConfiguration` to override this default parameter.\n\nTasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "ServiceConnectDefaults" + "Memory": { + "markdownDescription": "The memory allocation for tasks in this service revision.", + "title": "Memory", + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayServiceNetworkConfiguration", + "markdownDescription": "The network configuration for tasks in this service revision.", + "title": "NetworkConfiguration" + }, + "PrimaryContainer": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayContainer", + "markdownDescription": "The primary container configuration for this service revision.", + "title": "PrimaryContainer" + }, + "ScalingTarget": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayScalingTarget", + "markdownDescription": "The auto-scaling configuration for this service revision.", + "title": "ScalingTarget" + }, + "ServiceName": { + "markdownDescription": "The name of the Express service.", + "title": "ServiceName", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key and an optional value. You define both.\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.", + "markdownDescription": "The metadata applied to the Express service.", "title": "Tags", "type": "array" + }, + "TaskDefinitionArn": { + "type": "string" + }, + "TaskRoleArn": { + "markdownDescription": "The ARN of the task role for the service revision.", + "title": "TaskRoleArn", + "type": "string" } }, + "required": [ + "InfrastructureRoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Cluster" + "AWS::ECS::ExpressGatewayService" ], "type": "string" }, @@ -139020,365 +147996,382 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::Cluster.CapacityProviderStrategyItem": { + "AWS::ECS::ExpressGatewayService.AutoScalingArns": { "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" + "ApplicationAutoScalingPolicies": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "ApplicationAutoScalingPolicies", + "type": "array" }, - "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", + "ScalableTarget": { + "markdownDescription": "", + "title": "ScalableTarget", "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::Cluster.ClusterConfiguration": { + "AWS::ECS::ExpressGatewayService.ECSManagedResourceArns": { "additionalProperties": false, "properties": { - "ExecuteCommandConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration", - "markdownDescription": "The details of the execute command configuration.", - "title": "ExecuteCommandConfiguration" + "AutoScaling": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.AutoScalingArns", + "markdownDescription": "", + "title": "AutoScaling" }, - "ManagedStorageConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ManagedStorageConfiguration", - "markdownDescription": "The details of the managed storage configuration.", - "title": "ManagedStorageConfiguration" + "IngressPath": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.IngressPathArns", + "markdownDescription": "", + "title": "IngressPath" + }, + "LogGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "LogGroups", + "type": "array" + }, + "MetricAlarms": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "MetricAlarms", + "type": "array" + }, + "ServiceSecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "ServiceSecurityGroups", + "type": "array" } }, "type": "object" }, - "AWS::ECS::Cluster.ClusterSettings": { + "AWS::ECS::ExpressGatewayService.ExpressGatewayContainer": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the cluster setting. The value is `containerInsights` .", - "title": "Name", - "type": "string" + "AwsLogsConfiguration": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayServiceAwsLogsConfiguration", + "markdownDescription": "The log configuration for the container.", + "title": "AwsLogsConfiguration" }, - "Value": { - "markdownDescription": "The value to set for the cluster setting. The supported values are `enhanced` , `enabled` , and `disabled` .\n\nTo use Container Insights with enhanced observability, set the `containerInsights` account setting to `enhanced` .\n\nTo use Container Insights, set the `containerInsights` account setting to `enabled` .\n\nIf a cluster value is specified, it will override the `containerInsights` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html) .", - "title": "Value", + "Command": { + "items": { + "type": "string" + }, + "markdownDescription": "The command that is passed to the container.", + "title": "Command", + "type": "array" + }, + "ContainerPort": { + "markdownDescription": "The port number on the container that receives traffic from the load balancer. Default is 80.", + "title": "ContainerPort", + "type": "number" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.KeyValuePair" + }, + "markdownDescription": "The environment variables to pass to the container.", + "title": "Environment", + "type": "array" + }, + "Image": { + "markdownDescription": "The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with either `repository-url/image:tag` or `repository-url/image@digest` .\n\nFor Express services, the image typically contains a web application that listens on the specified container port. The image can be stored in Amazon ECR, Docker Hub, or any other container registry accessible to your execution role.", + "title": "Image", "type": "string" + }, + "RepositoryCredentials": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayRepositoryCredentials", + "markdownDescription": "The configuration for repository credentials for private registry authentication.", + "title": "RepositoryCredentials" + }, + "Secrets": { + "items": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.Secret" + }, + "markdownDescription": "The secrets to pass to the container.", + "title": "Secrets", + "type": "array" } }, + "required": [ + "Image" + ], "type": "object" }, - "AWS::ECS::Cluster.ExecuteCommandConfiguration": { + "AWS::ECS::ExpressGatewayService.ExpressGatewayRepositoryCredentials": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "Specify an AWS Key Management Service key ID to encrypt the data between the local client and the container.", - "title": "KmsKeyId", - "type": "string" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration", - "markdownDescription": "The log configuration for the results of the execute command actions. The logs can be sent to CloudWatch Logs or an Amazon S3 bucket. When `logging=OVERRIDE` is specified, a `logConfiguration` must be provided.", - "title": "LogConfiguration" - }, - "Logging": { - "markdownDescription": "The log setting to use for redirecting logs for your execute command results. The following log settings are available.\n\n- `NONE` : The execute command session is not logged.\n- `DEFAULT` : The `awslogs` configuration in the task definition is used. If no logging parameter is specified, it defaults to this value. If no `awslogs` log driver is configured in the task definition, the output won't be logged.\n- `OVERRIDE` : Specify the logging details as a part of `logConfiguration` . If the `OVERRIDE` logging option is specified, the `logConfiguration` is required.", - "title": "Logging", + "CredentialsParameter": { + "markdownDescription": "The Amazon Resource Name (ARN) of the secret containing the private repository credentials.", + "title": "CredentialsParameter", "type": "string" } }, + "required": [ + "CredentialsParameter" + ], "type": "object" }, - "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "AWS::ECS::ExpressGatewayService.ExpressGatewayScalingTarget": { "additionalProperties": false, "properties": { - "CloudWatchEncryptionEnabled": { - "markdownDescription": "Determines whether to use encryption on the CloudWatch logs. If not specified, encryption will be off.", - "title": "CloudWatchEncryptionEnabled", - "type": "boolean" - }, - "CloudWatchLogGroupName": { - "markdownDescription": "The name of the CloudWatch log group to send logs to.\n\n> The CloudWatch log group must already be created.", - "title": "CloudWatchLogGroupName", + "AutoScalingMetric": { + "markdownDescription": "The metric used for auto-scaling decisions. The default metric used for an Express service is `CPUUtilization` .", + "title": "AutoScalingMetric", "type": "string" }, - "S3BucketName": { - "markdownDescription": "The name of the S3 bucket to send logs to.\n\n> The S3 bucket must already be created.", - "title": "S3BucketName", - "type": "string" + "AutoScalingTargetValue": { + "markdownDescription": "The target value for the auto-scaling metric. The default value for an Express service is 60.", + "title": "AutoScalingTargetValue", + "type": "number" }, - "S3EncryptionEnabled": { - "markdownDescription": "Determines whether to use encryption on the S3 logs. If not specified, encryption is not used.", - "title": "S3EncryptionEnabled", - "type": "boolean" + "MaxTaskCount": { + "markdownDescription": "The maximum number of tasks to run in the Express service.", + "title": "MaxTaskCount", + "type": "number" }, - "S3KeyPrefix": { - "markdownDescription": "An optional folder in the S3 bucket to place logs in.", - "title": "S3KeyPrefix", - "type": "string" + "MinTaskCount": { + "markdownDescription": "The minimum number of tasks to run in the Express service.", + "title": "MinTaskCount", + "type": "number" } }, "type": "object" }, - "AWS::ECS::Cluster.ManagedStorageConfiguration": { + "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceAwsLogsConfiguration": { "additionalProperties": false, "properties": { - "FargateEphemeralStorageKmsKeyId": { - "markdownDescription": "Specify the AWS Key Management Service key ID for Fargate ephemeral storage.\n\nWhen you specify a `fargateEphemeralStorageKmsKeyId` , AWS Fargate uses the key to encrypt data at rest in ephemeral storage. For more information about Fargate ephemeral storage encryption, see [Customer managed keys for AWS Fargate ephemeral storage for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-storage-encryption.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nThe key must be a single Region key.", - "title": "FargateEphemeralStorageKmsKeyId", + "LogGroup": { + "markdownDescription": "The name of the CloudWatch Logs log group to send container logs to.", + "title": "LogGroup", "type": "string" }, - "KmsKeyId": { - "markdownDescription": "Specify a AWS Key Management Service key ID to encrypt Amazon ECS managed storage.\n\nWhen you specify a `kmsKeyId` , Amazon ECS uses the key to encrypt data volumes managed by Amazon ECS that are attached to tasks in the cluster. The following data volumes are managed by Amazon ECS: Amazon EBS. For more information about encryption of Amazon EBS volumes attached to Amazon ECS tasks, see [Encrypt data stored in Amazon EBS volumes for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-kms-encryption.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nThe key must be a single Region key.", - "title": "KmsKeyId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ServiceConnectDefaults": { - "additionalProperties": false, - "properties": { - "Namespace": { - "markdownDescription": "The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace that's used when you create a service and don't specify a Service Connect configuration. The namespace name can include up to 1024 characters. The name is case-sensitive. The name can't include greater than (>), less than (<), double quotation marks (\"), or slash (/).\n\nIf you enter an existing namespace name or ARN, then that namespace will be used. Any namespace type is supported. The namespace must be in this account and this AWS Region.\n\nIf you enter a new name, a AWS Cloud Map namespace will be created. Amazon ECS creates a AWS Cloud Map namespace with the \"API calls\" method of instance discovery only. This instance discovery method is the \"HTTP\" namespace type in the AWS Command Line Interface . Other types of instance discovery aren't used by Service Connect.\n\nIf you update the cluster with an empty string `\"\"` for the namespace name, the cluster configuration for Service Connect is removed. Note that the namespace will remain in AWS Cloud Map and must be deleted separately.\n\nFor 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", + "LogStreamPrefix": { + "markdownDescription": "The prefix for the CloudWatch Logs log stream names. The default for an Express service is `ecs` .", + "title": "LogStreamPrefix", "type": "string" } }, + "required": [ + "LogGroup", + "LogStreamPrefix" + ], "type": "object" }, - "AWS::ECS::ClusterCapacityProviderAssociations": { + "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceConfiguration": { "additionalProperties": false, "properties": { - "Condition": { + "Cpu": { + "markdownDescription": "The CPU allocation for tasks in this service revision.", + "title": "Cpu", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CreatedAt": { + "markdownDescription": "The Unix timestamp for when this service revision was created.", + "title": "CreatedAt", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ExecutionRoleArn": { + "markdownDescription": "The ARN of the task execution role for the service revision.", + "title": "ExecutionRoleArn", + "type": "string" }, - "Metadata": { - "type": "object" + "HealthCheckPath": { + "markdownDescription": "The health check path for this service revision.", + "title": "HealthCheckPath", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "markdownDescription": "The capacity providers to associate with the cluster.", - "title": "CapacityProviders", - "type": "array" - }, - "Cluster": { - "markdownDescription": "The cluster the capacity provider association is the target of.", - "title": "Cluster", - "type": "string" - }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy" - }, - "markdownDescription": "The default capacity provider strategy to associate with the cluster.", - "title": "DefaultCapacityProviderStrategy", - "type": "array" - } + "IngressPaths": { + "items": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.IngressPathSummary" }, - "required": [ - "Cluster", - "DefaultCapacityProviderStrategy" - ], - "type": "object" + "markdownDescription": "The entry point into this service revision.", + "title": "IngressPaths", + "type": "array" }, - "Type": { - "enum": [ - "AWS::ECS::ClusterCapacityProviderAssociations" - ], + "Memory": { + "markdownDescription": "The memory allocation for tasks in this service revision.", + "title": "Memory", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayServiceNetworkConfiguration", + "markdownDescription": "The network configuration for tasks in this service revision.", + "title": "NetworkConfiguration" + }, + "PrimaryContainer": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayContainer", + "markdownDescription": "The primary container configuration for this service revision.", + "title": "PrimaryContainer" + }, + "ScalingTarget": { + "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayScalingTarget", + "markdownDescription": "The auto-scaling configuration for this service revision.", + "title": "ScalingTarget" + }, + "ServiceRevisionArn": { + "markdownDescription": "The ARN of the service revision.", + "title": "ServiceRevisionArn", + "type": "string" + }, + "TaskDefinitionArn": { + "type": "string" + }, + "TaskRoleArn": { + "markdownDescription": "The ARN of the task role for the service revision.", + "title": "TaskRoleArn", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy": { + "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceNetworkConfiguration": { "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" + "SecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the security groups associated with the Express service.", + "title": "SecurityGroups", + "type": "array" }, - "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", + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the subnets associated with the Express service.", + "title": "Subnets", + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceStatus": { + "additionalProperties": false, + "properties": { + "StatusCode": { + "markdownDescription": "The status of the Express service.", + "title": "StatusCode", "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" } }, - "required": [ - "CapacityProvider" - ], "type": "object" }, - "AWS::ECS::ContainerInstance": { + "AWS::ECS::ExpressGatewayService.IngressPathArns": { "additionalProperties": false, "properties": { - "Condition": { + "CertificateArn": { + "markdownDescription": "", + "title": "CertificateArn", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ListenerArn": { + "markdownDescription": "", + "title": "ListenerArn", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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::ECS::ContainerInstance" - ], + "ListenerRuleArn": { + "markdownDescription": "", + "title": "ListenerRuleArn", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LoadBalancerArn": { + "markdownDescription": "", + "title": "LoadBalancerArn", "type": "string" + }, + "LoadBalancerSecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "LoadBalancerSecurityGroups", + "type": "array" + }, + "TargetGroupArns": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "TargetGroupArns", + "type": "array" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::ECS::ContainerInstance.Attribute": { + "AWS::ECS::ExpressGatewayService.IngressPathSummary": { "additionalProperties": false, "properties": { - "Name": { + "AccessType": { + "markdownDescription": "The type of access to the endpoint for the Express service.", + "title": "AccessType", "type": "string" }, - "Value": { + "Endpoint": { + "markdownDescription": "The endpoint for access to the service.", + "title": "Endpoint", "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, - "AWS::ECS::ContainerInstance.Resource": { + "AWS::ECS::ExpressGatewayService.KeyValuePair": { "additionalProperties": false, "properties": { - "DoubleValue": { - "type": "number" - }, - "IntegerValue": { - "type": "number" - }, - "LongValue": { - "type": "number" - }, "Name": { + "markdownDescription": "The name of the key-value pair. For environment variables, this is the name of the environment variable.", + "title": "Name", "type": "string" }, - "StringSetValue": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Type": { + "Value": { + "markdownDescription": "The value of the key-value pair. For environment variables, this is the value of the environment variable.", + "title": "Value", "type": "string" } }, + "required": [ + "Name", + "Value" + ], "type": "object" }, - "AWS::ECS::ContainerInstance.VersionInfo": { + "AWS::ECS::ExpressGatewayService.Secret": { "additionalProperties": false, "properties": { - "AgentHash": { - "type": "string" - }, - "AgentVersion": { + "Name": { + "markdownDescription": "The name of the secret.", + "title": "Name", "type": "string" }, - "DockerVersion": { + "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::Daemon": { + "AWS::ECS::PrimaryTaskSet": { "additionalProperties": false, "properties": { "Condition": { @@ -139413,45 +148406,32 @@ "Properties": { "additionalProperties": false, "properties": { - "CapacityProviderArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterArn": { - "type": "string" - }, - "DaemonName": { + "Cluster": { + "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set exists in.", + "title": "Cluster", "type": "string" }, - "DaemonTaskDefinitionArn": { + "Service": { + "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.", + "title": "Service", "type": "string" }, - "DeploymentConfiguration": { - "$ref": "#/definitions/AWS::ECS::Daemon.DaemonDeploymentConfiguration" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "PropagateTags": { + "TaskSetId": { + "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the deployment.", + "title": "TaskSetId", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, + "required": [ + "Cluster", + "Service", + "TaskSetId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Daemon" + "AWS::ECS::PrimaryTaskSet" ], "type": "string" }, @@ -139465,41 +148445,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "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::DaemonTaskDefinition": { + "AWS::ECS::Service": { "additionalProperties": false, "properties": { "Condition": { @@ -139534,43 +148485,161 @@ "Properties": { "additionalProperties": false, "properties": { - "ContainerDefinitions": { + "AvailabilityZoneRebalancing": { + "markdownDescription": "Indicates whether to use Availability Zone rebalancing for the service.\n\nFor more information, see [Balancing an Amazon ECS service across Availability Zones](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-rebalancing.html) in the **Amazon Elastic Container Service Developer Guide** .\n\nThe default behavior of `AvailabilityZoneRebalancing` differs between create and update requests:\n\n- For create service requests, when no value is specified for `AvailabilityZoneRebalancing` , Amazon ECS defaults the value to `ENABLED` .\n- For update service requests, when no value is specified for `AvailabilityZoneRebalancing` , Amazon ECS defaults to the existing service\u2019s `AvailabilityZoneRebalancing` value. If the service never had an `AvailabilityZoneRebalancing` value set, Amazon ECS treats this as `DISABLED` .", + "title": "AvailabilityZoneRebalancing", + "type": "string" + }, + "CapacityProviderStrategy": { "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.DaemonContainerDefinition" + "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" }, + "markdownDescription": "The capacity provider strategy to use for the service.\n\nIf a `capacityProviderStrategy` is specified, the `launchType` parameter must be omitted. If no `capacityProviderStrategy` or `launchType` is specified, the `defaultCapacityProviderStrategy` for the cluster is used.\n\nA capacity provider strategy can contain a maximum of 20 capacity providers.\n\n> To remove this property from your service resource, specify an empty `CapacityProviderStrategyItem` array.", + "title": "CapacityProviderStrategy", "type": "array" }, - "Cpu": { + "Cluster": { + "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.", + "title": "Cluster", "type": "string" }, - "ExecutionRoleArn": { + "DeploymentConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration", + "markdownDescription": "Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.", + "title": "DeploymentConfiguration" + }, + "DeploymentController": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentController", + "markdownDescription": "The deployment controller to use for the service.", + "title": "DeploymentController" + }, + "DesiredCount": { + "markdownDescription": "The number of instantiations of the specified task definition to place and keep running in your service.\n\nFor new services, if a desired count is not specified, a default value of `1` is used. When using the `DAEMON` scheduling strategy, the desired count is not required.\n\nFor existing services, if a desired count is not specified, it is omitted from the operation.", + "title": "DesiredCount", + "type": "number" + }, + "EnableECSManagedTags": { + "markdownDescription": "Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see [Tagging your Amazon ECS resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nWhen you use Amazon ECS managed tags, you must set the `propagateTags` request parameter.", + "title": "EnableECSManagedTags", + "type": "boolean" + }, + "EnableExecuteCommand": { + "markdownDescription": "Determines whether the execute command functionality is turned on for the service. If `true` , the execute command functionality is turned on for all containers in tasks as part of the service.", + "title": "EnableExecuteCommand", + "type": "boolean" + }, + "ForceNewDeployment": { + "$ref": "#/definitions/AWS::ECS::Service.ForceNewDeployment", + "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": "ForceNewDeployment" + }, + "HealthCheckGracePeriodSeconds": { + "markdownDescription": "The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then `healthCheckGracePeriodSeconds` is unused.\n\nIf your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.", + "title": "HealthCheckGracePeriodSeconds", + "type": "number" + }, + "LaunchType": { + "markdownDescription": "The launch type on which to run your service. For more information, see [Amazon ECS Launch Types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide* .\n\n> If you want to use Managed Instances, you must use the `capacityProviderStrategy` request parameter", + "title": "LaunchType", "type": "string" }, - "Family": { + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" + }, + "markdownDescription": "A list of load balancer objects to associate with the service. If you specify the `Role` property, `LoadBalancers` must be specified as well. For information about the number of load balancers that you can specify per service, see [Service Load Balancing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) in the *Amazon Elastic Container Service Developer Guide* .\n\n> To remove this property from your service resource, specify an empty `LoadBalancer` array.", + "title": "LoadBalancers", + "type": "array" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::ECS::Service.MonitoringConfiguration" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration", + "markdownDescription": "The network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "NetworkConfiguration" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" + }, + "markdownDescription": "An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.\n\n> To remove this property from your service resource, specify an empty `PlacementConstraint` array.", + "title": "PlacementConstraints", + "type": "array" + }, + "PlacementStrategies": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" + }, + "markdownDescription": "The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service.\n\n> To remove this property from your service resource, specify an empty `PlacementStrategy` array.", + "title": "PlacementStrategies", + "type": "array" + }, + "PlatformVersion": { + "markdownDescription": "The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the `LATEST` platform version is used. For more information, see [AWS Fargate platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "PlatformVersion", "type": "string" }, - "IpcMode": { + "PropagateTags": { + "markdownDescription": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n\nYou must set this to a value other than `NONE` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nThe default is `NONE` .", + "title": "PropagateTags", "type": "string" }, - "Memory": { + "Role": { + "markdownDescription": "The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition doesn't use the `awsvpc` network mode. If you specify the `role` parameter, you must also specify a load balancer object with the `loadBalancers` parameter.\n\n> If your account has already created the Amazon ECS service-linked role, that role is used for your service unless you specify a role here. The service-linked role is required if your task definition uses the `awsvpc` network mode or if the service is configured to use service discovery, an external deployment controller, multiple target groups, or Elastic Inference accelerators in which case you don't specify a role here. For more information, see [Using service-linked roles for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) in the *Amazon Elastic Container Service Developer Guide* . \n\nIf your specified role has a path other than `/` , then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name `bar` has a path of `/foo/` then you would specify `/foo/bar` as the role name. 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": "Role", "type": "string" }, - "PidMode": { + "SchedulingStrategy": { + "markdownDescription": "The scheduling strategy to use for the service. For more information, see [Services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) .\n\nThere are two service scheduler strategies available:\n\n- `REPLICA` -The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. This scheduler strategy is required if the service uses the `CODE_DEPLOY` or `EXTERNAL` deployment controller types.\n- `DAEMON` -The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks and will stop tasks that don't meet the placement constraints. When you're using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies.\n\n> Tasks using the Fargate launch type or the `CODE_DEPLOY` or `EXTERNAL` deployment controller types don't support the `DAEMON` scheduling strategy.", + "title": "SchedulingStrategy", + "type": "string" + }, + "ServiceConnectConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectConfiguration", + "markdownDescription": "The configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace.\n\nTasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "ServiceConnectConfiguration" + }, + "ServiceName": { + "markdownDescription": "The name of your service. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.\n\n> The stack update fails if you change any properties that require replacement and the `ServiceName` is configured. This is because AWS CloudFormation creates the replacement service first, but each `ServiceName` must be unique in the cluster.", + "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": { "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" }, - "TaskRoleArn": { + "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" }, - "Volumes": { + "VolumeConfigurations": { "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Volume" + "$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" } }, @@ -139578,7 +148647,7 @@ }, "Type": { "enum": [ - "AWS::ECS::DaemonTaskDefinition" + "AWS::ECS::Service" ], "type": "string" }, @@ -139596,926 +148665,888 @@ ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.ContainerDependency": { + "AWS::ECS::Service.AdvancedConfiguration": { "additionalProperties": false, "properties": { - "Condition": { + "AlternateTargetGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.", + "title": "AlternateTargetGroupArn", "type": "string" }, - "ContainerName": { + "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::DaemonTaskDefinition.DaemonContainerDefinition": { + "AWS::ECS::Service.AwsVpcConfiguration": { "additionalProperties": false, "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "number" - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.ContainerDependency" - }, - "type": "array" + "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" }, - "EntryPoint": { + "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" }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "EnvironmentFiles": { + "Subnets": { "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.EnvironmentFile" + "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" }, - "Essential": { - "type": "boolean" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.HealthCheck" + "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" }, - "Image": { + "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" }, - "Interactive": { - "type": "boolean" - }, - "LinuxParameters": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.LogConfiguration" - }, - "Memory": { - "type": "number" - }, - "MemoryReservation": { + "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" - }, - "MountPoints": { + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentAlarms": { + "additionalProperties": false, + "properties": { + "AlarmNames": { "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.MountPoint" + "type": "string" }, + "markdownDescription": "One or more CloudWatch alarm names. Use a \",\" to separate the alarms.", + "title": "AlarmNames", "type": "array" }, - "Name": { - "type": "string" + "Enable": { + "markdownDescription": "Determines whether to use the CloudWatch alarm option in the service deployment process.", + "title": "Enable", + "type": "boolean" }, - "Privileged": { + "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" }, - "PseudoTerminal": { + "ResetOnHealthyTask": { "type": "boolean" }, - "ReadonlyRootFilesystem": { + "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" }, - "RepositoryCredentials": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.RepositoryCredentials" + "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" }, - "RestartPolicy": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.RestartPolicy" + "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" }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Secret" - }, - "type": "array" + "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" }, - "StartTimeout": { - "type": "number" + "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" }, - "StopTimeout": { - "type": "number" + "EarlySuccessCriteria": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentEarlySuccessCriteria" }, - "SystemControls": { + "LifecycleHooks": { "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.SystemControl" + "$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" }, - "Ulimits": { - "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Ulimit" - }, - "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" }, - "User": { - "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" }, - "WorkingDirectory": { + "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" } }, - "required": [ - "Image", - "Name" - ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.Device": { + "AWS::ECS::Service.DeploymentController": { "additionalProperties": false, "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { + "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" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.EnvironmentFile": { + "AWS::ECS::Service.DeploymentEarlySuccessCriteria": { "additionalProperties": false, "properties": { - "Type": { - "type": "string" + "Enable": { + "type": "boolean" }, - "Value": { + "HealthyPercent": { + "type": "number" + }, + "SourceServiceRevisionCleanup": { "type": "string" } }, "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.FirelensConfiguration": { + "AWS::ECS::Service.DeploymentLifecycleHook": { "additionalProperties": false, "properties": { - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, + "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" }, - "Type": { + "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::DaemonTaskDefinition.HealthCheck": { + "AWS::ECS::Service.EBSTagSpecification": { "additionalProperties": false, "properties": { - "Command": { + "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": { - "type": "string" + "$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" - }, - "Interval": { - "type": "number" - }, - "Retries": { - "type": "number" - }, - "StartPeriod": { - "type": "number" - }, - "Timeout": { - "type": "number" } }, + "required": [ + "ResourceType" + ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.HostVolumeProperties": { + "AWS::ECS::Service.ForceNewDeployment": { "additionalProperties": false, "properties": { - "SourcePath": { + "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::DaemonTaskDefinition.KernelCapabilities": { + "AWS::ECS::Service.HookTimeoutConfig": { "additionalProperties": false, "properties": { - "Add": { - "items": { - "type": "string" - }, - "type": "array" + "Action": { + "type": "string" }, - "Drop": { - "items": { - "type": "string" - }, - "type": "array" + "TimeoutInMinutes": { + "type": "number" } }, "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.KeyValuePair": { + "AWS::ECS::Service.LinearConfiguration": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" + "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" }, - "Value": { - "type": "string" + "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::DaemonTaskDefinition.LinuxParameters": { + "AWS::ECS::Service.LoadBalancer": { "additionalProperties": false, "properties": { - "Capabilities": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.KernelCapabilities" + "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" }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Device" - }, - "type": "array" + "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" }, - "InitProcessEnabled": { - "type": "boolean" + "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" }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.Tmpfs" - }, - "type": "array" + "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::DaemonTaskDefinition.LogConfiguration": { + "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::DaemonTaskDefinition.Secret" + "$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" } }, - "required": [ - "LogDriver" - ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.MountPoint": { + "AWS::ECS::Service.MetricConfiguration": { "additionalProperties": false, "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" + "MetricNames": { + "items": { + "type": "string" + }, + "type": "array" }, - "SourceVolume": { - "type": "string" + "ResolutionSeconds": { + "type": "number" } }, + "required": [ + "MetricNames", + "ResolutionSeconds" + ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.RepositoryCredentials": { + "AWS::ECS::Service.MonitoringConfiguration": { "additionalProperties": false, "properties": { - "CredentialsParameter": { - "type": "string" + "MetricConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.MetricConfiguration" + }, + "type": "array" } }, + "required": [ + "MetricConfigurations" + ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.RestartPolicy": { + "AWS::ECS::Service.NetworkConfiguration": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "IgnoredExitCodes": { - "items": { - "type": "number" - }, - "type": "array" - }, - "RestartAttemptPeriod": { - "type": "number" + "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::DaemonTaskDefinition.Secret": { + "AWS::ECS::Service.PlacementConstraint": { "additionalProperties": false, "properties": { - "Name": { + "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" }, - "ValueFrom": { + "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": [ - "Name", - "ValueFrom" + "Type" ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.SystemControl": { + "AWS::ECS::Service.PlacementStrategy": { "additionalProperties": false, "properties": { - "Namespace": { + "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" }, - "Value": { + "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::DaemonTaskDefinition.Tmpfs": { + "AWS::ECS::Service.Secret": { "additionalProperties": false, "properties": { - "ContainerPath": { + "Name": { + "markdownDescription": "The name of the secret.", + "title": "Name", "type": "string" }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "number" + "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": [ - "Size" + "Name", + "ValueFrom" ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.Ulimit": { + "AWS::ECS::Service.ServiceConnectAccessLogConfiguration": { "additionalProperties": false, "properties": { - "HardLimit": { - "type": "number" - }, - "Name": { + "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" }, - "SoftLimit": { - "type": "number" + "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": [ - "HardLimit", - "Name", - "SoftLimit" + "Format" ], "type": "object" }, - "AWS::ECS::DaemonTaskDefinition.Volume": { + "AWS::ECS::Service.ServiceConnectClientAlias": { "additionalProperties": false, "properties": { - "Host": { - "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition.HostVolumeProperties" - }, - "Name": { + "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::ExpressGatewayService": { + "AWS::ECS::Service.ServiceConnectConfiguration": { "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" - } - ] + "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" }, - "Metadata": { - "type": "object" + "Enabled": { + "markdownDescription": "Specifies whether to use Service Connect with this service.", + "title": "Enabled", + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Cluster": { - "markdownDescription": "The short name or full ARN of the cluster that hosts the Express service.", - "title": "Cluster", - "type": "string" - }, - "Cpu": { - "markdownDescription": "The CPU allocation for tasks in this service revision.", - "title": "Cpu", - "type": "string" - }, - "ExecutionRoleArn": { - "markdownDescription": "The ARN of the task execution role for the service revision.", - "title": "ExecutionRoleArn", - "type": "string" - }, - "HealthCheckPath": { - "markdownDescription": "The health check path for this service revision.", - "title": "HealthCheckPath", - "type": "string" - }, - "InfrastructureRoleArn": { - "markdownDescription": "The ARN of the infrastructure role that manages AWS resources for the Express service.", - "title": "InfrastructureRoleArn", - "type": "string" - }, - "Memory": { - "markdownDescription": "The memory allocation for tasks in this service revision.", - "title": "Memory", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayServiceNetworkConfiguration", - "markdownDescription": "The network configuration for tasks in this service revision.", - "title": "NetworkConfiguration" - }, - "PrimaryContainer": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayContainer", - "markdownDescription": "The primary container configuration for this service revision.", - "title": "PrimaryContainer" - }, - "ScalingTarget": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayScalingTarget", - "markdownDescription": "The auto-scaling configuration for this service revision.", - "title": "ScalingTarget" - }, - "ServiceName": { - "markdownDescription": "The name of the Express service.", - "title": "ServiceName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The metadata applied to the Express service.", - "title": "Tags", - "type": "array" - }, - "TaskDefinitionArn": { - "type": "string" - }, - "TaskRoleArn": { - "markdownDescription": "The ARN of the task role for the service revision.", - "title": "TaskRoleArn", - "type": "string" - } - }, - "required": [ - "InfrastructureRoleArn" - ], - "type": "object" + "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" }, - "Type": { - "enum": [ - "AWS::ECS::ExpressGatewayService" - ], + "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" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "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": [ - "Type", - "Properties" + "Enabled" ], "type": "object" }, - "AWS::ECS::ExpressGatewayService.AutoScalingArns": { + "AWS::ECS::Service.ServiceConnectService": { "additionalProperties": false, "properties": { - "ApplicationAutoScalingPolicies": { + "ClientAliases": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectClientAlias" }, - "markdownDescription": "", - "title": "ApplicationAutoScalingPolicies", + "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" }, - "ScalableTarget": { - "markdownDescription": "", - "title": "ScalableTarget", + "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::ExpressGatewayService.ECSManagedResourceArns": { + "AWS::ECS::Service.ServiceConnectTestTrafficRules": { "additionalProperties": false, "properties": { - "AutoScaling": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.AutoScalingArns", - "markdownDescription": "", - "title": "AutoScaling" - }, - "IngressPath": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.IngressPathArns", - "markdownDescription": "", - "title": "IngressPath" - }, - "LogGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "LogGroups", - "type": "array" - }, - "MetricAlarms": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "MetricAlarms", - "type": "array" - }, - "ServiceSecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "ServiceSecurityGroups", - "type": "array" + "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::ExpressGatewayService.ExpressGatewayContainer": { + "AWS::ECS::Service.ServiceConnectTestTrafficRulesHeader": { "additionalProperties": false, "properties": { - "AwsLogsConfiguration": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayServiceAwsLogsConfiguration", - "markdownDescription": "The log configuration for the container.", - "title": "AwsLogsConfiguration" - }, - "Command": { - "items": { - "type": "string" - }, - "markdownDescription": "The command that is passed to the container.", - "title": "Command", - "type": "array" - }, - "ContainerPort": { - "markdownDescription": "The port number on the container that receives traffic from the load balancer. Default is 80.", - "title": "ContainerPort", - "type": "number" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.KeyValuePair" - }, - "markdownDescription": "The environment variables to pass to the container.", - "title": "Environment", - "type": "array" - }, - "Image": { - "markdownDescription": "The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with either `repository-url/image:tag` or `repository-url/image@digest` .\n\nFor Express services, the image typically contains a web application that listens on the specified container port. The image can be stored in Amazon ECR, Docker Hub, or any other container registry accessible to your execution role.", - "title": "Image", + "Name": { + "markdownDescription": "", + "title": "Name", "type": "string" }, - "RepositoryCredentials": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayRepositoryCredentials", - "markdownDescription": "The configuration for repository credentials for private registry authentication.", - "title": "RepositoryCredentials" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.Secret" - }, - "markdownDescription": "The secrets to pass to the container.", - "title": "Secrets", - "type": "array" + "Value": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTestTrafficRulesHeaderValue", + "markdownDescription": "", + "title": "Value" } }, "required": [ - "Image" + "Name" ], "type": "object" }, - "AWS::ECS::ExpressGatewayService.ExpressGatewayRepositoryCredentials": { + "AWS::ECS::Service.ServiceConnectTestTrafficRulesHeaderValue": { "additionalProperties": false, "properties": { - "CredentialsParameter": { - "markdownDescription": "The Amazon Resource Name (ARN) of the secret containing the private repository credentials.", - "title": "CredentialsParameter", + "Exact": { + "markdownDescription": "", + "title": "Exact", "type": "string" } }, "required": [ - "CredentialsParameter" + "Exact" ], "type": "object" }, - "AWS::ECS::ExpressGatewayService.ExpressGatewayScalingTarget": { + "AWS::ECS::Service.ServiceConnectTlsCertificateAuthority": { "additionalProperties": false, "properties": { - "AutoScalingMetric": { - "markdownDescription": "The metric used for auto-scaling decisions. The default metric used for an Express service is `CPUUtilization` .", - "title": "AutoScalingMetric", + "AwsPcaAuthorityArn": { + "markdownDescription": "The ARN of the AWS Private Certificate Authority certificate.", + "title": "AwsPcaAuthorityArn", "type": "string" - }, - "AutoScalingTargetValue": { - "markdownDescription": "The target value for the auto-scaling metric. The default value for an Express service is 60.", - "title": "AutoScalingTargetValue", - "type": "number" - }, - "MaxTaskCount": { - "markdownDescription": "The maximum number of tasks to run in the Express service.", - "title": "MaxTaskCount", - "type": "number" - }, - "MinTaskCount": { - "markdownDescription": "The minimum number of tasks to run in the Express service.", - "title": "MinTaskCount", - "type": "number" } }, "type": "object" }, - "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceAwsLogsConfiguration": { + "AWS::ECS::Service.ServiceConnectTlsConfiguration": { "additionalProperties": false, "properties": { - "LogGroup": { - "markdownDescription": "The name of the CloudWatch Logs log group to send container logs to.", - "title": "LogGroup", + "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" }, - "LogStreamPrefix": { - "markdownDescription": "The prefix for the CloudWatch Logs log stream names. The default for an Express service is `ecs` .", - "title": "LogStreamPrefix", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that's associated with the Service Connect TLS.", + "title": "RoleArn", "type": "string" } }, "required": [ - "LogGroup", - "LogStreamPrefix" + "IssuerCertificateAuthority" ], "type": "object" }, - "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceConfiguration": { + "AWS::ECS::Service.ServiceManagedEBSVolumeConfiguration": { "additionalProperties": false, "properties": { - "Cpu": { - "markdownDescription": "The CPU allocation for tasks in this service revision.", - "title": "Cpu", - "type": "string" + "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" }, - "CreatedAt": { - "markdownDescription": "The Unix timestamp for when this service revision was created.", - "title": "CreatedAt", + "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" }, - "ExecutionRoleArn": { - "markdownDescription": "The ARN of the task execution role for the service revision.", - "title": "ExecutionRoleArn", - "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" }, - "HealthCheckPath": { - "markdownDescription": "The health check path for this service revision.", - "title": "HealthCheckPath", + "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" }, - "IngressPaths": { - "items": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.IngressPathSummary" - }, - "markdownDescription": "The entry point into this service revision.", - "title": "IngressPaths", - "type": "array" - }, - "Memory": { - "markdownDescription": "The memory allocation for tasks in this service revision.", - "title": "Memory", + "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" }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayServiceNetworkConfiguration", - "markdownDescription": "The network configuration for tasks in this service revision.", - "title": "NetworkConfiguration" - }, - "PrimaryContainer": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayContainer", - "markdownDescription": "The primary container configuration for this service revision.", - "title": "PrimaryContainer" - }, - "ScalingTarget": { - "$ref": "#/definitions/AWS::ECS::ExpressGatewayService.ExpressGatewayScalingTarget", - "markdownDescription": "The auto-scaling configuration for this service revision.", - "title": "ScalingTarget" - }, - "ServiceRevisionArn": { - "markdownDescription": "The ARN of the service revision.", - "title": "ServiceRevisionArn", - "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" }, - "TaskDefinitionArn": { + "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" }, - "TaskRoleArn": { - "markdownDescription": "The ARN of the task role for the service revision.", - "title": "TaskRoleArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceNetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroups": { + "TagSpecifications": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ECS::Service.EBSTagSpecification" }, - "markdownDescription": "The IDs of the security groups associated with the Express service.", - "title": "SecurityGroups", + "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" }, - "Subnets": { - "items": { - "type": "string" - }, - "markdownDescription": "The IDs of the subnets associated with the Express service.", - "title": "Subnets", - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::ExpressGatewayService.ExpressGatewayServiceStatus": { - "additionalProperties": false, - "properties": { - "StatusCode": { - "markdownDescription": "The status of the Express service.", - "title": "StatusCode", + "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::ExpressGatewayService.IngressPathArns": { + "AWS::ECS::Service.ServiceRegistry": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "", - "title": "CertificateArn", + "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" }, - "ListenerArn": { - "markdownDescription": "", - "title": "ListenerArn", - "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" }, - "ListenerRuleArn": { - "markdownDescription": "", - "title": "ListenerRuleArn", - "type": "string" + "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" }, - "LoadBalancerArn": { - "markdownDescription": "", - "title": "LoadBalancerArn", + "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" - }, - "LoadBalancerSecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "LoadBalancerSecurityGroups", - "type": "array" - }, - "TargetGroupArns": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "TargetGroupArns", - "type": "array" } }, "type": "object" }, - "AWS::ECS::ExpressGatewayService.IngressPathSummary": { + "AWS::ECS::Service.ServiceVolumeConfiguration": { "additionalProperties": false, "properties": { - "AccessType": { - "markdownDescription": "The type of access to the endpoint for the Express service.", - "title": "AccessType", - "type": "string" + "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" }, - "Endpoint": { - "markdownDescription": "The endpoint for access to the service.", - "title": "Endpoint", + "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::ExpressGatewayService.KeyValuePair": { + "AWS::ECS::Service.ThresholdConfiguration": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the key-value pair. For environment variables, this is the name of the environment variable.", - "title": "Name", + "Type": { "type": "string" }, "Value": { - "markdownDescription": "The value of the key-value pair. For environment variables, this is the value of the environment variable.", - "title": "Value", - "type": "string" + "type": "number" } }, "required": [ - "Name", + "Type", "Value" ], "type": "object" }, - "AWS::ECS::ExpressGatewayService.Secret": { + "AWS::ECS::Service.TimeoutConfiguration": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the secret.", - "title": "Name", + "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" }, - "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", + "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": [ - "Name", - "ValueFrom" + "PortName", + "RoleArn", + "TargetGroupArn" ], "type": "object" }, - "AWS::ECS::PrimaryTaskSet": { + "AWS::ECS::ServiceDeployment": { "additionalProperties": false, "properties": { "Condition": { @@ -140549,33 +149580,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Cluster": { - "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set exists in.", - "title": "Cluster", - "type": "string" - }, - "Service": { - "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.", - "title": "Service", - "type": "string" - }, - "TaskSetId": { - "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the deployment.", - "title": "TaskSetId", - "type": "string" - } - }, - "required": [ - "Cluster", - "Service", - "TaskSetId" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::ECS::PrimaryTaskSet" + "AWS::ECS::ServiceDeployment" ], "type": "string" }, @@ -140589,12 +149599,29 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ECS::Service": { + "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": { @@ -140628,170 +149655,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "AvailabilityZoneRebalancing": { - "markdownDescription": "Indicates whether to use Availability Zone rebalancing for the service.\n\nFor more information, see [Balancing an Amazon ECS service across Availability Zones](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-rebalancing.html) in the **Amazon Elastic Container Service Developer Guide** .\n\nThe default behavior of `AvailabilityZoneRebalancing` differs between create and update requests:\n\n- For create service requests, when no value is specified for `AvailabilityZoneRebalancing` , Amazon ECS defaults the value to `ENABLED` .\n- For update service requests, when no value is specified for `AvailabilityZoneRebalancing` , Amazon ECS defaults to the existing service\u2019s `AvailabilityZoneRebalancing` value. If the service never had an `AvailabilityZoneRebalancing` value set, Amazon ECS treats this as `DISABLED` .", - "title": "AvailabilityZoneRebalancing", - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" - }, - "markdownDescription": "The capacity provider strategy to use for the service.\n\nIf a `capacityProviderStrategy` is specified, the `launchType` parameter must be omitted. If no `capacityProviderStrategy` or `launchType` is specified, the `defaultCapacityProviderStrategy` for the cluster is used.\n\nA capacity provider strategy can contain a maximum of 20 capacity providers.\n\n> To remove this property from your service resource, specify an empty `CapacityProviderStrategyItem` array.", - "title": "CapacityProviderStrategy", - "type": "array" - }, - "Cluster": { - "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.", - "title": "Cluster", - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration", - "markdownDescription": "Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.", - "title": "DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentController", - "markdownDescription": "The deployment controller to use for the service.", - "title": "DeploymentController" - }, - "DesiredCount": { - "markdownDescription": "The number of instantiations of the specified task definition to place and keep running in your service.\n\nFor new services, if a desired count is not specified, a default value of `1` is used. When using the `DAEMON` scheduling strategy, the desired count is not required.\n\nFor existing services, if a desired count is not specified, it is omitted from the operation.", - "title": "DesiredCount", - "type": "number" - }, - "EnableECSManagedTags": { - "markdownDescription": "Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see [Tagging your Amazon ECS resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nWhen you use Amazon ECS managed tags, you must set the `propagateTags` request parameter.", - "title": "EnableECSManagedTags", - "type": "boolean" - }, - "EnableExecuteCommand": { - "markdownDescription": "Determines whether the execute command functionality is turned on for the service. If `true` , the execute command functionality is turned on for all containers in tasks as part of the service.", - "title": "EnableExecuteCommand", - "type": "boolean" - }, - "ForceNewDeployment": { - "$ref": "#/definitions/AWS::ECS::Service.ForceNewDeployment", - "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": "ForceNewDeployment" - }, - "HealthCheckGracePeriodSeconds": { - "markdownDescription": "The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then `healthCheckGracePeriodSeconds` is unused.\n\nIf your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.", - "title": "HealthCheckGracePeriodSeconds", - "type": "number" - }, - "LaunchType": { - "markdownDescription": "The launch type on which to run your service. For more information, see [Amazon ECS Launch Types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide* .\n\n> If you want to use Managed Instances, you must use the `capacityProviderStrategy` request parameter", - "title": "LaunchType", - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" - }, - "markdownDescription": "A list of load balancer objects to associate with the service. If you specify the `Role` property, `LoadBalancers` must be specified as well. For information about the number of load balancers that you can specify per service, see [Service Load Balancing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) in the *Amazon Elastic Container Service Developer Guide* .\n\n> To remove this property from your service resource, specify an empty `LoadBalancer` array.", - "title": "LoadBalancers", - "type": "array" - }, - "Monitoring": { - "$ref": "#/definitions/AWS::ECS::Service.MonitoringConfiguration" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration", - "markdownDescription": "The network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" - }, - "markdownDescription": "An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.\n\n> To remove this property from your service resource, specify an empty `PlacementConstraint` array.", - "title": "PlacementConstraints", - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" - }, - "markdownDescription": "The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service.\n\n> To remove this property from your service resource, specify an empty `PlacementStrategy` array.", - "title": "PlacementStrategies", - "type": "array" - }, - "PlatformVersion": { - "markdownDescription": "The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the `LATEST` platform version is used. For more information, see [AWS Fargate platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "PlatformVersion", - "type": "string" - }, - "PropagateTags": { - "markdownDescription": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n\nYou must set this to a value other than `NONE` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nThe default is `NONE` .", - "title": "PropagateTags", - "type": "string" - }, - "Role": { - "markdownDescription": "The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition doesn't use the `awsvpc` network mode. If you specify the `role` parameter, you must also specify a load balancer object with the `loadBalancers` parameter.\n\n> If your account has already created the Amazon ECS service-linked role, that role is used for your service unless you specify a role here. The service-linked role is required if your task definition uses the `awsvpc` network mode or if the service is configured to use service discovery, an external deployment controller, multiple target groups, or Elastic Inference accelerators in which case you don't specify a role here. For more information, see [Using service-linked roles for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) in the *Amazon Elastic Container Service Developer Guide* . \n\nIf your specified role has a path other than `/` , then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name `bar` has a path of `/foo/` then you would specify `/foo/bar` as the role name. 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": "Role", - "type": "string" - }, - "SchedulingStrategy": { - "markdownDescription": "The scheduling strategy to use for the service. For more information, see [Services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) .\n\nThere are two service scheduler strategies available:\n\n- `REPLICA` -The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. This scheduler strategy is required if the service uses the `CODE_DEPLOY` or `EXTERNAL` deployment controller types.\n- `DAEMON` -The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks and will stop tasks that don't meet the placement constraints. When you're using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies.\n\n> Tasks using the Fargate launch type or the `CODE_DEPLOY` or `EXTERNAL` deployment controller types don't support the `DAEMON` scheduling strategy.", - "title": "SchedulingStrategy", - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectConfiguration", - "markdownDescription": "The configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace.\n\nTasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "ServiceConnectConfiguration" - }, - "ServiceName": { - "markdownDescription": "The name of your service. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.\n\n> The stack update fails if you change any properties that require replacement and the `ServiceName` is configured. This is because AWS CloudFormation creates the replacement service first, but each `ServiceName` must be unique in the cluster.", - "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": { - "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" - } - }, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Service" + "AWS::ECS::ServiceRevision" ], "type": "string" }, @@ -140809,393 +149678,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" + }, + "type": "array" + }, + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "SubnetIds": { + "items": { + "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" + }, + "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 +150214,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": { + "AWS::ECS::ServiceRevision.ResolvedConfiguration": { "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" + "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 +150263,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 +150278,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 +150296,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 +150323,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 +150353,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 +150380,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 +150419,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 +150464,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 +152987,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 +153090,7 @@ "additionalProperties": false, "properties": { "Ack": { - "type": "object" + "$ref": "#/definitions/AWS::EKS::Capability.Ack" }, "ArgoCd": { "$ref": "#/definitions/AWS::EKS::Capability.ArgoCd", @@ -144700,6 +153584,9 @@ "properties": { "HorizontalPodAutoscalerControllerConfig": { "$ref": "#/definitions/AWS::EKS::Cluster.HorizontalPodAutoscalerControllerConfig" + }, + "PodGcControllerConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.PodGcControllerConfig" } }, "type": "object" @@ -144804,6 +153691,15 @@ ], "type": "object" }, + "AWS::EKS::Cluster.PodGcControllerConfig": { + "additionalProperties": false, + "properties": { + "TerminatedPodGcThreshold": { + "type": "number" + } + }, + "type": "object" + }, "AWS::EKS::Cluster.Provider": { "additionalProperties": false, "properties": { @@ -147445,7 +156341,7 @@ }, "Configurations": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AppConfiguration" }, "markdownDescription": "> Amazon EMR releases 4.x or later. \n\nThe list of configurations supplied for an Amazon EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).", "title": "Configurations", @@ -147521,6 +156417,30 @@ ], "type": "object" }, + "AWS::EMR::InstanceGroupConfig.AppConfiguration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AppConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { "additionalProperties": false, "properties": { @@ -147604,36 +156524,6 @@ ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "markdownDescription": "The classification within a configuration.", - "title": "Classification", - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "markdownDescription": "Within a configuration classification, a set of properties that represent the settings that you want to change in the configuration file. Duplicates not allowed.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ConfigurationProperties", - "type": "object" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "markdownDescription": "A list of additional configurations to apply within a configuration object.", - "title": "Configurations", - "type": "array" - } - }, - "type": "object" - }, "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { "additionalProperties": false, "properties": { @@ -148736,39 +157626,300 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfigurationOverrides": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.ConfigurationOverrides" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "JobDriver": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.JobDriver" + "ConfigurationOverrides": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.ConfigurationOverrides" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "JobDriver": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.JobDriver" + }, + "Name": { + "type": "string" + }, + "ReleaseLabel": { + "type": "string" + }, + "RetryPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.RetryPolicyConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualClusterId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMRContainers::JobRun" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EMRContainers::JobRun.CloudWatchMonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogStreamNamePrefix": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "AWS::EMRContainers::JobRun.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.Configuration" + }, + "type": "array" + }, + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Classification" + ], + "type": "object" + }, + "AWS::EMRContainers::JobRun.ConfigurationOverrides": { + "additionalProperties": false, + "properties": { + "ApplicationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.Configuration" + }, + "type": "array" + }, + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.MonitoringConfiguration" + } + }, + "type": "object" + }, + "AWS::EMRContainers::JobRun.ContainerLogRotationConfiguration": { + "additionalProperties": false, + "properties": { + "MaxFilesToKeep": { + "type": "number" + }, + "RotationSize": { + "type": "string" + } + }, + "required": [ + "MaxFilesToKeep", + "RotationSize" + ], + "type": "object" + }, + "AWS::EMRContainers::JobRun.JobDriver": { + "additionalProperties": false, + "properties": { + "SparkSqlJobDriver": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.SparkSqlJobDriver" + }, + "SparkSubmitJobDriver": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.SparkSubmitJobDriver" + } + }, + "type": "object" + }, + "AWS::EMRContainers::JobRun.ManagedLogs": { + "additionalProperties": false, + "properties": { + "AllowAWSToRetainLogs": { + "type": "string" + }, + "EncryptionKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMRContainers::JobRun.MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchMonitoringConfiguration": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.CloudWatchMonitoringConfiguration" + }, + "ContainerLogRotationConfiguration": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.ContainerLogRotationConfiguration" + }, + "ManagedLogs": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.ManagedLogs" + }, + "PersistentAppUI": { + "type": "string" + }, + "S3MonitoringConfiguration": { + "$ref": "#/definitions/AWS::EMRContainers::JobRun.S3MonitoringConfiguration" + } + }, + "type": "object" + }, + "AWS::EMRContainers::JobRun.RetryPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "MaxAttempts": { + "type": "number" + } + }, + "required": [ + "MaxAttempts" + ], + "type": "object" + }, + "AWS::EMRContainers::JobRun.RetryPolicyExecution": { + "additionalProperties": false, + "properties": { + "CurrentAttemptCount": { + "type": "number" + } + }, + "required": [ + "CurrentAttemptCount" + ], + "type": "object" + }, + "AWS::EMRContainers::JobRun.S3MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "LogUri": { + "type": "string" + } + }, + "required": [ + "LogUri" + ], + "type": "object" + }, + "AWS::EMRContainers::JobRun.SparkSqlJobDriver": { + "additionalProperties": false, + "properties": { + "EntryPoint": { + "type": "string" + }, + "SparkSqlParameters": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMRContainers::JobRun.SparkSubmitJobDriver": { + "additionalProperties": false, + "properties": { + "EntryPoint": { + "type": "string" + }, + "EntryPointArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SparkSubmitParameters": { + "type": "string" + } + }, + "required": [ + "EntryPoint" + ], + "type": "object" + }, + "AWS::EMRContainers::JobTemplate": { + "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": { + "JobTemplateData": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.JobTemplateData" }, "Name": { "type": "string" }, - "ReleaseLabel": { - "type": "string" - }, - "RetryPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.RetryPolicyConfiguration" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VirtualClusterId": { - "type": "string" } }, + "required": [ + "JobTemplateData", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EMRContainers::JobRun" + "AWS::EMRContainers::JobTemplate" ], "type": "string" }, @@ -148782,26 +157933,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EMRContainers::JobRun.CloudWatchMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "LogStreamNamePrefix": { - "type": "string" - } - }, - "required": [ - "LogGroupName" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMRContainers::JobRun.Configuration": { + "AWS::EMRContainers::JobTemplate.Configuration": { "additionalProperties": false, "properties": { "Classification": { @@ -148809,7 +157946,7 @@ }, "Configurations": { "items": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.Configuration" + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.Configuration" }, "type": "array" }, @@ -148828,119 +157965,111 @@ ], "type": "object" }, - "AWS::EMRContainers::JobRun.ConfigurationOverrides": { + "AWS::EMRContainers::JobTemplate.JobDriver": { "additionalProperties": false, "properties": { - "ApplicationConfiguration": { - "items": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.Configuration" - }, - "type": "array" + "SparkSqlJobDriver": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.SparkSqlJobDriver" }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.MonitoringConfiguration" + "SparkSubmitJobDriver": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.SparkSubmitJobDriver" } }, "type": "object" }, - "AWS::EMRContainers::JobRun.ContainerLogRotationConfiguration": { + "AWS::EMRContainers::JobTemplate.JobTemplateData": { "additionalProperties": false, "properties": { - "MaxFilesToKeep": { - "type": "number" + "ConfigurationOverrides": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.ParametricConfigurationOverrides" }, - "RotationSize": { + "ExecutionRoleArn": { + "type": "string" + }, + "JobDriver": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.JobDriver" + }, + "JobTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ParameterConfiguration": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.TemplateParameterConfiguration" + } + }, + "type": "object" + }, + "ReleaseLabel": { "type": "string" } }, "required": [ - "MaxFilesToKeep", - "RotationSize" + "ExecutionRoleArn", + "JobDriver", + "ReleaseLabel" ], "type": "object" }, - "AWS::EMRContainers::JobRun.JobDriver": { + "AWS::EMRContainers::JobTemplate.ParametricCloudWatchMonitoringConfiguration": { "additionalProperties": false, "properties": { - "SparkSqlJobDriver": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.SparkSqlJobDriver" + "LogGroupName": { + "type": "string" }, - "SparkSubmitJobDriver": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.SparkSubmitJobDriver" + "LogStreamNamePrefix": { + "type": "string" } }, "type": "object" }, - "AWS::EMRContainers::JobRun.ManagedLogs": { + "AWS::EMRContainers::JobTemplate.ParametricConfigurationOverrides": { "additionalProperties": false, "properties": { - "AllowAWSToRetainLogs": { - "type": "string" + "ApplicationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.Configuration" + }, + "type": "array" }, - "EncryptionKeyArn": { - "type": "string" + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.ParametricMonitoringConfiguration" } }, "type": "object" }, - "AWS::EMRContainers::JobRun.MonitoringConfiguration": { + "AWS::EMRContainers::JobTemplate.ParametricMonitoringConfiguration": { "additionalProperties": false, "properties": { "CloudWatchMonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.CloudWatchMonitoringConfiguration" - }, - "ContainerLogRotationConfiguration": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.ContainerLogRotationConfiguration" - }, - "ManagedLogs": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.ManagedLogs" + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.ParametricCloudWatchMonitoringConfiguration" }, "PersistentAppUI": { "type": "string" }, "S3MonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRContainers::JobRun.S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "AWS::EMRContainers::JobRun.RetryPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "MaxAttempts": { - "type": "number" - } - }, - "required": [ - "MaxAttempts" - ], - "type": "object" - }, - "AWS::EMRContainers::JobRun.RetryPolicyExecution": { - "additionalProperties": false, - "properties": { - "CurrentAttemptCount": { - "type": "number" + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate.ParametricS3MonitoringConfiguration" } }, - "required": [ - "CurrentAttemptCount" - ], "type": "object" }, - "AWS::EMRContainers::JobRun.S3MonitoringConfiguration": { + "AWS::EMRContainers::JobTemplate.ParametricS3MonitoringConfiguration": { "additionalProperties": false, "properties": { "LogUri": { "type": "string" } }, - "required": [ - "LogUri" - ], "type": "object" }, - "AWS::EMRContainers::JobRun.SparkSqlJobDriver": { + "AWS::EMRContainers::JobTemplate.SparkSqlJobDriver": { "additionalProperties": false, "properties": { "EntryPoint": { @@ -148952,7 +158081,7 @@ }, "type": "object" }, - "AWS::EMRContainers::JobRun.SparkSubmitJobDriver": { + "AWS::EMRContainers::JobTemplate.SparkSubmitJobDriver": { "additionalProperties": false, "properties": { "EntryPoint": { @@ -148973,6 +158102,18 @@ ], "type": "object" }, + "AWS::EMRContainers::JobTemplate.TemplateParameterConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EMRContainers::SecurityConfiguration": { "additionalProperties": false, "properties": { @@ -150134,6 +159275,142 @@ ], "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" + }, + "IdleTimeoutMinutes": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMRServerless::Session" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EMRServerless::Session.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMRServerless::Session.Configuration" + }, + "type": "array" + }, + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Classification" + ], + "type": "object" + }, + "AWS::EMRServerless::Session.ConfigurationOverrides": { + "additionalProperties": false, + "properties": { + "RuntimeConfiguration": { + "items": { + "$ref": "#/definitions/AWS::EMRServerless::Session.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMRServerless::Session.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::EVS::Environment": { "additionalProperties": false, "properties": { @@ -150929,6 +160206,12 @@ "markdownDescription": "The Regions that comprise the Global Datastore.", "title": "RegionalConfigurations", "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -151832,6 +161115,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 +161861,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 +161882,7 @@ } }, "required": [ - "ApplicationName", - "SourceBundle" + "ApplicationName" ], "type": "object" }, @@ -152613,6 +161907,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": { @@ -157590,30 +166961,943 @@ "title": "SchemaName", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" - }, - "markdownDescription": "Tags associated with the schema.", - "title": "Tags", - "type": "array" + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" + }, + "markdownDescription": "Tags associated with the schema.", + "title": "Tags", + "type": "array" + }, + "Type": { + "markdownDescription": "The type of schema.\n\nValid types include `OpenApi3` and `JSONSchemaDraft4` .", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Content", + "RegistryName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::Schema" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EventSchemas::Schema.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The key of a key-value pair.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of a key-value pair.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Events::ApiDestination": { + "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": { + "ConnectionArn": { + "markdownDescription": "The ARN of the connection to use for the API destination. The destination endpoint must support the authorization type specified for the connection.", + "title": "ConnectionArn", + "type": "string" + }, + "Description": { + "markdownDescription": "A description for the API destination to create.", + "title": "Description", + "type": "string" + }, + "HttpMethod": { + "markdownDescription": "The method to use for the request to the HTTP invocation endpoint.", + "title": "HttpMethod", + "type": "string" + }, + "InvocationEndpoint": { + "markdownDescription": "The URL to the HTTP invocation endpoint for the API destination.", + "title": "InvocationEndpoint", + "type": "string" + }, + "InvocationRateLimitPerSecond": { + "markdownDescription": "The maximum number of requests per second to send to the HTTP invocation endpoint.", + "title": "InvocationRateLimitPerSecond", + "type": "number" + }, + "Name": { + "markdownDescription": "The name for the API destination to create.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "ConnectionArn", + "HttpMethod", + "InvocationEndpoint" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::ApiDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Archive": { + "additionalProperties": false, + "properties": { + "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": { + "ArchiveName": { + "markdownDescription": "The name for the archive to create.", + "title": "ArchiveName", + "type": "string" + }, + "Description": { + "markdownDescription": "A description for the archive.", + "title": "Description", + "type": "string" + }, + "EventPattern": { + "markdownDescription": "An event pattern to use to filter events sent to the archive.", + "title": "EventPattern", + "type": "object" + }, + "KmsKeyIdentifier": { + "markdownDescription": "The identifier of the AWS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt this archive. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n\nIf you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt the archive.\n\nFor more information, see [Identify and view keys](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) in the *AWS Key Management Service Developer Guide* .\n\n> If you have specified that EventBridge use a customer managed key for encrypting the source event bus, we strongly recommend you also specify a customer managed key for any archives for the event bus as well.\n> \n> For more information, see [Encrypting archives](https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-archives.html) in the *Amazon EventBridge User Guide* .", + "title": "KmsKeyIdentifier", + "type": "string" + }, + "RetentionDays": { + "markdownDescription": "The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely", + "title": "RetentionDays", + "type": "number" + }, + "SourceArn": { + "markdownDescription": "The ARN of the event bus that sends events to the archive.", + "title": "SourceArn", + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Archive" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Connection": { + "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": { + "AuthParameters": { + "$ref": "#/definitions/AWS::Events::Connection.AuthParameters", + "markdownDescription": "The authorization parameters to use to authorize with the endpoint.\n\nYou must include only authorization parameters for the `AuthorizationType` you specify.", + "title": "AuthParameters" + }, + "AuthorizationType": { + "markdownDescription": "The type of authorization to use for the connection.\n\n> OAUTH tokens are refreshed when a 401 or 407 response is returned.", + "title": "AuthorizationType", + "type": "string" + }, + "Description": { + "markdownDescription": "A description for the connection to create.", + "title": "Description", + "type": "string" + }, + "InvocationConnectivityParameters": { + "$ref": "#/definitions/AWS::Events::Connection.InvocationConnectivityParameters", + "markdownDescription": "For connections to private APIs, the parameters to use for invoking the API.\n\nFor more information, see [Connecting to private APIs](https://docs.aws.amazon.com/eventbridge/latest/userguide/connection-private.html) in the **Amazon EventBridge User Guide** .", + "title": "InvocationConnectivityParameters" + }, + "KmsKeyIdentifier": { + "markdownDescription": "The identifier of the AWS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt this connection. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n\nIf you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt the connection.\n\nFor more information, see [Identify and view keys](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) in the *AWS Key Management Service Developer Guide* .", + "title": "KmsKeyIdentifier", + "type": "string" + }, + "Name": { + "markdownDescription": "The name for the connection to create.", + "title": "Name", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Events::Connection.ApiKeyAuthParameters": { + "additionalProperties": false, + "properties": { + "ApiKeyName": { + "markdownDescription": "The name of the API key to use for authorization.", + "title": "ApiKeyName", + "type": "string" + }, + "ApiKeyValue": { + "markdownDescription": "The value for the API key to use for authorization.", + "title": "ApiKeyValue", + "type": "string" + } + }, + "required": [ + "ApiKeyName", + "ApiKeyValue" + ], + "type": "object" + }, + "AWS::Events::Connection.AuthParameters": { + "additionalProperties": false, + "properties": { + "ApiKeyAuthParameters": { + "$ref": "#/definitions/AWS::Events::Connection.ApiKeyAuthParameters", + "markdownDescription": "The API Key parameters to use for authorization.", + "title": "ApiKeyAuthParameters" + }, + "BasicAuthParameters": { + "$ref": "#/definitions/AWS::Events::Connection.BasicAuthParameters", + "markdownDescription": "The authorization parameters for Basic authorization.", + "title": "BasicAuthParameters" + }, + "ConnectivityParameters": { + "$ref": "#/definitions/AWS::Events::Connection.ConnectivityParameters", + "markdownDescription": "For private OAuth authentication endpoints. The parameters EventBridge uses to authenticate against the endpoint.\n\nFor more information, see [Authorization methods for connections](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-target-connection-auth.html) in the **Amazon EventBridge User Guide** .", + "title": "ConnectivityParameters" + }, + "InvocationHttpParameters": { + "$ref": "#/definitions/AWS::Events::Connection.ConnectionHttpParameters", + "markdownDescription": "Additional parameters for the connection that are passed through with every invocation to the HTTP endpoint.", + "title": "InvocationHttpParameters" + }, + "OAuthParameters": { + "$ref": "#/definitions/AWS::Events::Connection.OAuthParameters", + "markdownDescription": "The OAuth parameters to use for authorization.", + "title": "OAuthParameters" + } + }, + "type": "object" + }, + "AWS::Events::Connection.BasicAuthParameters": { + "additionalProperties": false, + "properties": { + "Password": { + "markdownDescription": "The password associated with the user name to use for Basic authorization.", + "title": "Password", + "type": "string" + }, + "Username": { + "markdownDescription": "The user name to use for Basic authorization.", + "title": "Username", + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::Events::Connection.ClientParameters": { + "additionalProperties": false, + "properties": { + "ClientID": { + "markdownDescription": "The client ID to use for OAuth authorization.", + "title": "ClientID", + "type": "string" + }, + "ClientSecret": { + "markdownDescription": "The client secret assciated with the client ID to use for OAuth authorization.", + "title": "ClientSecret", + "type": "string" + } + }, + "required": [ + "ClientID", + "ClientSecret" + ], + "type": "object" + }, + "AWS::Events::Connection.ConnectionHttpParameters": { + "additionalProperties": false, + "properties": { + "BodyParameters": { + "items": { + "$ref": "#/definitions/AWS::Events::Connection.Parameter" + }, + "markdownDescription": "Any additional body string parameters for the connection.", + "title": "BodyParameters", + "type": "array" + }, + "HeaderParameters": { + "items": { + "$ref": "#/definitions/AWS::Events::Connection.Parameter" + }, + "markdownDescription": "Any additional header parameters for the connection.", + "title": "HeaderParameters", + "type": "array" + }, + "QueryStringParameters": { + "items": { + "$ref": "#/definitions/AWS::Events::Connection.Parameter" + }, + "markdownDescription": "Any additional query string parameters for the connection.", + "title": "QueryStringParameters", + "type": "array" + } + }, + "type": "object" + }, + "AWS::Events::Connection.ConnectivityParameters": { + "additionalProperties": false, + "properties": { + "ResourceParameters": { + "$ref": "#/definitions/AWS::Events::Connection.ResourceParameters", + "markdownDescription": "The parameters for EventBridge to use when invoking the resource endpoint.", + "title": "ResourceParameters" + } + }, + "required": [ + "ResourceParameters" + ], + "type": "object" + }, + "AWS::Events::Connection.InvocationConnectivityParameters": { + "additionalProperties": false, + "properties": { + "ResourceParameters": { + "$ref": "#/definitions/AWS::Events::Connection.ResourceParameters", + "markdownDescription": "The parameters for EventBridge to use when invoking the resource endpoint.", + "title": "ResourceParameters" + } + }, + "required": [ + "ResourceParameters" + ], + "type": "object" + }, + "AWS::Events::Connection.OAuthParameters": { + "additionalProperties": false, + "properties": { + "AuthorizationEndpoint": { + "markdownDescription": "The URL to the authorization endpoint when OAuth is specified as the authorization type.", + "title": "AuthorizationEndpoint", + "type": "string" + }, + "ClientParameters": { + "$ref": "#/definitions/AWS::Events::Connection.ClientParameters", + "markdownDescription": "The client parameters for OAuth authorization.", + "title": "ClientParameters" + }, + "HttpMethod": { + "markdownDescription": "The method to use for the authorization request.", + "title": "HttpMethod", + "type": "string" + }, + "OAuthHttpParameters": { + "$ref": "#/definitions/AWS::Events::Connection.ConnectionHttpParameters", + "markdownDescription": "Details about the additional parameters to use for the connection.", + "title": "OAuthHttpParameters" + } + }, + "required": [ + "AuthorizationEndpoint", + "ClientParameters", + "HttpMethod" + ], + "type": "object" + }, + "AWS::Events::Connection.Parameter": { + "additionalProperties": false, + "properties": { + "IsValueSecret": { + "markdownDescription": "Specifies whether the value is secret.", + "title": "IsValueSecret", + "type": "boolean" + }, + "Key": { + "markdownDescription": "The key for a query string parameter.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The value associated with the key for the query string parameter.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Events::Connection.ResourceParameters": { + "additionalProperties": false, + "properties": { + "ResourceAssociationArn": { + "markdownDescription": "For connections to private APIs, the Amazon Resource Name (ARN) of the resource association EventBridge created between the connection and the private API's resource configuration.\n\n> The value of this property is set by EventBridge . Any value you specify in your template is ignored.", + "title": "ResourceAssociationArn", + "type": "string" + }, + "ResourceConfigurationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon VPC Lattice resource configuration for the resource endpoint.", + "title": "ResourceConfigurationArn", + "type": "string" + } + }, + "required": [ + "ResourceConfigurationArn" + ], + "type": "object" + }, + "AWS::Events::Endpoint": { + "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": { + "markdownDescription": "A description for the endpoint.", + "title": "Description", + "type": "string" + }, + "EventBuses": { + "items": { + "$ref": "#/definitions/AWS::Events::Endpoint.EndpointEventBus" + }, + "markdownDescription": "The event buses being used by the endpoint.\n\n*Exactly* : `2`", + "title": "EventBuses", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the endpoint.", + "title": "Name", + "type": "string" + }, + "ReplicationConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.ReplicationConfig", + "markdownDescription": "Whether event replication was enabled or disabled for this endpoint. The default state is `ENABLED` which means you must supply a `RoleArn` . If you don't have a `RoleArn` or you don't want event replication enabled, set the state to `DISABLED` .", + "title": "ReplicationConfig" + }, + "RoleArn": { + "markdownDescription": "The ARN of the role used by event replication for the endpoint.", + "title": "RoleArn", + "type": "string" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.RoutingConfig", + "markdownDescription": "The routing configuration of the endpoint.", + "title": "RoutingConfig" + } + }, + "required": [ + "EventBuses", + "RoutingConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Endpoint.EndpointEventBus": { + "additionalProperties": false, + "properties": { + "EventBusArn": { + "markdownDescription": "The ARN of the event bus the endpoint is associated with.", + "title": "EventBusArn", + "type": "string" + } + }, + "required": [ + "EventBusArn" + ], + "type": "object" + }, + "AWS::Events::Endpoint.FailoverConfig": { + "additionalProperties": false, + "properties": { + "Primary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Primary", + "markdownDescription": "The main Region of the endpoint.", + "title": "Primary" + }, + "Secondary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Secondary", + "markdownDescription": "The Region that events are routed to when failover is triggered or event replication is enabled.", + "title": "Secondary" + } + }, + "required": [ + "Primary", + "Secondary" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Primary": { + "additionalProperties": false, + "properties": { + "HealthCheck": { + "markdownDescription": "The ARN of the health check used by the endpoint to determine whether failover is triggered.", + "title": "HealthCheck", + "type": "string" + } + }, + "required": [ + "HealthCheck" + ], + "type": "object" + }, + "AWS::Events::Endpoint.ReplicationConfig": { + "additionalProperties": false, + "properties": { + "State": { + "markdownDescription": "The state of event replication.", + "title": "State", + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Events::Endpoint.RoutingConfig": { + "additionalProperties": false, + "properties": { + "FailoverConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.FailoverConfig", + "markdownDescription": "The failover configuration for an endpoint. This includes what triggers failover and what happens when it's triggered.", + "title": "FailoverConfig" + } + }, + "required": [ + "FailoverConfig" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Secondary": { + "additionalProperties": false, + "properties": { + "Route": { + "markdownDescription": "Defines the secondary Region.", + "title": "Route", + "type": "string" + } + }, + "required": [ + "Route" + ], + "type": "object" + }, + "AWS::Events::EventBus": { + "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": { + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::EventBus.DeadLetterConfig", + "markdownDescription": "Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ).\n\nFor more information, see [Using dead-letter queues to process undelivered events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-event-delivery.html#eb-rule-dlq) in the *EventBridge User Guide* .", + "title": "DeadLetterConfig" + }, + "Description": { + "markdownDescription": "The event bus description.", + "title": "Description", + "type": "string" + }, + "EventSourceName": { + "markdownDescription": "If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with.", + "title": "EventSourceName", + "type": "string" + }, + "KmsKeyIdentifier": { + "markdownDescription": "The identifier of the AWS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n\nIf you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt events on the event bus.\n\nFor more information, see [Identify and view keys](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) in the *AWS Key Management Service Developer Guide* .\n\n> Schema discovery is not supported for event buses encrypted using a customer managed key. EventBridge returns an error if:\n> \n> - You call `[CreateDiscoverer](https://docs.aws.amazon.com/eventbridge/latest/schema-reference/v1-discoverers.html#CreateDiscoverer)` on an event bus set to use a customer managed key for encryption.\n> - You call `[UpdatedEventBus](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_UpdatedEventBus.html)` to set a customer managed key on an event bus with schema discovery enabled.\n> \n> To enable schema discovery on an event bus, choose to use an AWS owned key . For more information, see [Encrypting events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-encryption-event-bus-cmkey.html) in the *Amazon EventBridge User Guide* . > If you have specified that EventBridge use a customer managed key for encrypting the source event bus, we strongly recommend you also specify a customer managed key for any archives for the event bus as well.\n> \n> For more information, see [Encrypting archives](https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-archives.html) in the *Amazon EventBridge User Guide* .", + "title": "KmsKeyIdentifier", + "type": "string" + }, + "LogConfig": { + "$ref": "#/definitions/AWS::Events::EventBus.LogConfig", + "markdownDescription": "The logging configuration settings for the event bus.\n\nFor more information, see [Configuring logs for event buses](https://docs.aws.amazon.com/eb-event-bus-logs.html) in the *EventBridge User Guide* .", + "title": "LogConfig" + }, + "Name": { + "markdownDescription": "The name of the new event bus.\n\nCustom event bus names can't contain the `/` character, but you can use the `/` character in partner event bus names. In addition, for partner event buses, the name must exactly match the name of the partner event source that this event bus is matched to.\n\nYou can't use the name `default` for a custom event bus, as this name is already used for your account's default event bus.", + "title": "Name", + "type": "string" + }, + "Policy": { + "markdownDescription": "The permissions policy of the event bus, describing which other AWS accounts can write events to this event bus.", + "title": "Policy", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to associate with the event bus.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBus" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::EventBus.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The ARN of the SQS queue specified as the target for the dead-letter queue.", + "title": "Arn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::EventBus.LogConfig": { + "additionalProperties": false, + "properties": { + "IncludeDetail": { + "markdownDescription": "Whether EventBridge include detailed event information in the records it generates. Detailed data can be useful for troubleshooting and debugging. This information includes details of the event itself, as well as target details.\n\nFor more information, see [Including detail data in event bus logs](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html#eb-event-logs-data) in the *EventBridge User Guide* .", + "title": "IncludeDetail", + "type": "string" + }, + "Level": { + "markdownDescription": "The level of logging detail to include. This applies to all log destinations for the event bus.\n\nFor more information, see [Specifying event bus log level](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html#eb-event-bus-logs-level) in the *EventBridge User Guide* .", + "title": "Level", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::EventBusPolicy": { + "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": { + "EventBusName": { + "markdownDescription": "The name of the event bus associated with the rule. If you omit this, the default event bus is used.", + "title": "EventBusName", + "type": "string" + }, + "Statement": { + "markdownDescription": "A JSON string that describes the permission policy statement. You can include a `Policy` parameter in the request instead of using the `StatementId` , `Action` , `Principal` , or `Condition` parameters.", + "title": "Statement", + "type": "object" }, - "Type": { - "markdownDescription": "The type of schema.\n\nValid types include `OpenApi3` and `JSONSchemaDraft4` .", - "title": "Type", + "StatementId": { + "markdownDescription": "An identifier string for the external account that you are granting permissions to. If you later want to revoke the permission for this external account, specify this `StatementId` when you run [RemovePermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RemovePermission.html) .\n\n> Each `StatementId` must be unique.", + "title": "StatementId", "type": "string" } }, "required": [ - "Content", - "RegistryName", - "Type" + "StatementId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::Schema" + "AWS::Events::EventBusPolicy" ], "type": "string" }, @@ -157632,27 +167916,7 @@ ], "type": "object" }, - "AWS::EventSchemas::Schema.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The key of a key-value pair.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of a key-value pair.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Events::ApiDestination": { + "AWS::Events::EventSource": { "additionalProperties": false, "properties": { "Condition": { @@ -157687,47 +167951,15 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionArn": { - "markdownDescription": "The ARN of the connection to use for the API destination. The destination endpoint must support the authorization type specified for the connection.", - "title": "ConnectionArn", - "type": "string" - }, - "Description": { - "markdownDescription": "A description for the API destination to create.", - "title": "Description", - "type": "string" - }, - "HttpMethod": { - "markdownDescription": "The method to use for the request to the HTTP invocation endpoint.", - "title": "HttpMethod", - "type": "string" - }, - "InvocationEndpoint": { - "markdownDescription": "The URL to the HTTP invocation endpoint for the API destination.", - "title": "InvocationEndpoint", - "type": "string" - }, - "InvocationRateLimitPerSecond": { - "markdownDescription": "The maximum number of requests per second to send to the HTTP invocation endpoint.", - "title": "InvocationRateLimitPerSecond", - "type": "number" - }, "Name": { - "markdownDescription": "The name for the API destination to create.", - "title": "Name", "type": "string" } }, - "required": [ - "ConnectionArn", - "HttpMethod", - "InvocationEndpoint" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::ApiDestination" + "AWS::Events::EventSource" ], "type": "string" }, @@ -157741,12 +167973,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Events::Archive": { + "AWS::Events::Replay": { "additionalProperties": false, "properties": { "Condition": { @@ -157781,45 +168012,34 @@ "Properties": { "additionalProperties": false, "properties": { - "ArchiveName": { - "markdownDescription": "The name for the archive to create.", - "title": "ArchiveName", - "type": "string" + "Destination": { + "$ref": "#/definitions/AWS::Events::Replay.Destination" }, - "Description": { - "markdownDescription": "A description for the archive.", - "title": "Description", + "EventEndTime": { "type": "string" }, - "EventPattern": { - "markdownDescription": "An event pattern to use to filter events sent to the archive.", - "title": "EventPattern", - "type": "object" - }, - "KmsKeyIdentifier": { - "markdownDescription": "The identifier of the AWS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt this archive. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n\nIf you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt the archive.\n\nFor more information, see [Identify and view keys](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) in the *AWS Key Management Service Developer Guide* .\n\n> If you have specified that EventBridge use a customer managed key for encrypting the source event bus, we strongly recommend you also specify a customer managed key for any archives for the event bus as well.\n> \n> For more information, see [Encrypting archives](https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-archives.html) in the *Amazon EventBridge User Guide* .", - "title": "KmsKeyIdentifier", + "EventSourceArn": { "type": "string" }, - "RetentionDays": { - "markdownDescription": "The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely", - "title": "RetentionDays", - "type": "number" + "EventStartTime": { + "type": "string" }, - "SourceArn": { - "markdownDescription": "The ARN of the event bus that sends events to the archive.", - "title": "SourceArn", + "ReplayName": { "type": "string" } }, "required": [ - "SourceArn" + "Destination", + "EventEndTime", + "EventSourceArn", + "EventStartTime", + "ReplayName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::Archive" + "AWS::Events::Replay" ], "type": "string" }, @@ -157838,7 +168058,19 @@ ], "type": "object" }, - "AWS::Events::Connection": { + "AWS::Events::Replay.Destination": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::Events::Rule": { "additionalProperties": false, "properties": { "Condition": { @@ -157873,42 +168105,63 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthParameters": { - "$ref": "#/definitions/AWS::Events::Connection.AuthParameters", - "markdownDescription": "The authorization parameters to use to authorize with the endpoint.\n\nYou must include only authorization parameters for the `AuthorizationType` you specify.", - "title": "AuthParameters" - }, - "AuthorizationType": { - "markdownDescription": "The type of authorization to use for the connection.\n\n> OAUTH tokens are refreshed when a 401 or 407 response is returned.", - "title": "AuthorizationType", - "type": "string" - }, "Description": { - "markdownDescription": "A description for the connection to create.", + "markdownDescription": "The description of the rule.", "title": "Description", "type": "string" }, - "InvocationConnectivityParameters": { - "$ref": "#/definitions/AWS::Events::Connection.InvocationConnectivityParameters", - "markdownDescription": "For connections to private APIs, the parameters to use for invoking the API.\n\nFor more information, see [Connecting to private APIs](https://docs.aws.amazon.com/eventbridge/latest/userguide/connection-private.html) in the **Amazon EventBridge User Guide** .", - "title": "InvocationConnectivityParameters" - }, - "KmsKeyIdentifier": { - "markdownDescription": "The identifier of the AWS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt this connection. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n\nIf you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt the connection.\n\nFor more information, see [Identify and view keys](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) in the *AWS Key Management Service Developer Guide* .", - "title": "KmsKeyIdentifier", + "EventBusName": { + "markdownDescription": "The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used.", + "title": "EventBusName", "type": "string" }, + "EventPattern": { + "markdownDescription": "The event pattern of the rule. For more information, see [Events and Event Patterns](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) in the **Amazon EventBridge User Guide** .", + "title": "EventPattern", + "type": "object" + }, "Name": { - "markdownDescription": "The name for the connection to create.", + "markdownDescription": "The name of the rule.", "title": "Name", "type": "string" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role that is used for target invocation.\n\nIf you're setting an event bus in another account as the target and that account granted permission to your account through an organization instead of directly by the account ID, you must specify a `RoleArn` with proper permissions in the `Target` structure, instead of here in this parameter.", + "title": "RoleArn", + "type": "string" + }, + "ScheduleExpression": { + "markdownDescription": "The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\". For more information, see [Creating an Amazon EventBridge rule that runs on a schedule](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html) .", + "title": "ScheduleExpression", + "type": "string" + }, + "State": { + "markdownDescription": "The state of the rule.\n\nValid values include:\n\n- `DISABLED` : The rule is disabled. EventBridge does not match any events against the rule.\n- `ENABLED` : The rule is enabled. EventBridge matches events against the rule, *except* for AWS management events delivered through CloudTrail.\n- `ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS` : The rule is enabled for all events, including AWS management events delivered through CloudTrail.\n\nManagement events provide visibility into management operations that are performed on resources in your AWS account. These are also known as control plane operations. For more information, see [Logging management events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) in the *CloudTrail User Guide* , and [Filtering management events from AWS services](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-cloudtrail) in the **Amazon EventBridge User Guide** .\n\nThis value is only valid for rules on the [default](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is-how-it-works-concepts.html#eb-bus-concepts-buses) event bus or [custom event buses](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-event-bus.html) . It does not apply to [partner event buses](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-saas.html) .", + "title": "State", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.Target" + }, + "markdownDescription": "Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.\n\nTargets are the resources that are invoked when a rule is triggered.\n\nThe maximum number of entries per request is 10.\n\n> Each rule can have up to five (5) targets associated with it at one time. \n\nFor a list of services you can configure as targets for events, see [EventBridge targets](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html) in the **Amazon EventBridge User Guide** .\n\nCreating rules with built-in targets is supported only in the AWS Management Console . The built-in targets are:\n\n- `Amazon EBS CreateSnapshot API call`\n- `Amazon EC2 RebootInstances API call`\n- `Amazon EC2 StopInstances API call`\n- `Amazon EC2 TerminateInstances API call`\n\nFor some target types, `PutTargets` provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the `KinesisParameters` argument. To invoke a command on multiple EC2 instances with one rule, you can use the `RunCommandParameters` field.\n\nTo be able to make API calls against the resources that you own, Amazon EventBridge needs the appropriate permissions:\n\n- For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies.\n- For EC2 instances, Kinesis Data Streams, AWS Step Functions state machines and API Gateway APIs, EventBridge relies on IAM roles that you specify in the `RoleARN` argument in `PutTargets` .\n\nFor more information, see [Authentication and Access Control](https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html) in the **Amazon EventBridge User Guide** .\n\nIf another AWS account is in the same region and has granted you permission (using `PutPermission` ), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the `Arn` value when you run `PutTargets` . If your account sends events to another account, your account is charged for each sent event. Each event sent to another account is charged as a custom event. The account receiving the event is not charged. For more information, see [Amazon EventBridge Pricing](https://docs.aws.amazon.com/eventbridge/pricing/) .\n\n> `Input` , `InputPath` , and `InputTransformer` are not available with `PutTarget` if the target is an event bus of a different AWS account. \n\nIf you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a `RoleArn` with proper permissions in the `Target` structure. For more information, see [Sending and Receiving Events Between AWS Accounts](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html) in the *Amazon EventBridge User Guide* .\n\n> If you have an IAM role on a cross-account event bus target, a `PutTargets` call without a role on the same target (same `Id` and `Arn` ) will not remove the role. \n\nFor more information about enabling cross-account events, see [PutPermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPermission.html) .\n\n*Input* , *InputPath* , and *InputTransformer* are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:\n\n- If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).\n- If *Input* is specified in the form of valid JSON, then the matched event is overridden with this constant.\n- If *InputPath* is specified in the form of JSONPath (for example, `$.detail` ), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).\n- If *InputTransformer* is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.\n\nWhen you specify `InputPath` or `InputTransformer` , you must use JSON dot notation, not bracket notation.\n\nWhen you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect.\n\nThis action can partially fail if too many requests are made at the same time. If that happens, `FailedEntryCount` is non-zero in the response and each entry in `FailedEntries` provides the ID of the failed target and the error code.", + "title": "Targets", + "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::Events::Connection" + "AWS::Events::Rule" ], "type": "string" }, @@ -157926,417 +168179,593 @@ ], "type": "object" }, - "AWS::Events::Connection.ApiKeyAuthParameters": { + "AWS::Events::Rule.AppSyncParameters": { "additionalProperties": false, "properties": { - "ApiKeyName": { - "markdownDescription": "The name of the API key to use for authorization.", - "title": "ApiKeyName", - "type": "string" - }, - "ApiKeyValue": { - "markdownDescription": "The value for the API key to use for authorization.", - "title": "ApiKeyValue", + "GraphQLOperation": { + "markdownDescription": "The GraphQL operation; that is, the query, mutation, or subscription to be parsed and executed by the GraphQL service.\n\nFor more information, see [Operations](https://docs.aws.amazon.com/appsync/latest/devguide/graphql-architecture.html#graphql-operations) in the *AWS AppSync User Guide* .", + "title": "GraphQLOperation", "type": "string" } }, "required": [ - "ApiKeyName", - "ApiKeyValue" + "GraphQLOperation" ], "type": "object" }, - "AWS::Events::Connection.AuthParameters": { + "AWS::Events::Rule.AwsVpcConfiguration": { "additionalProperties": false, "properties": { - "ApiKeyAuthParameters": { - "$ref": "#/definitions/AWS::Events::Connection.ApiKeyAuthParameters", - "markdownDescription": "The API Key parameters to use for authorization.", - "title": "ApiKeyAuthParameters" - }, - "BasicAuthParameters": { - "$ref": "#/definitions/AWS::Events::Connection.BasicAuthParameters", - "markdownDescription": "The authorization parameters for Basic authorization.", - "title": "BasicAuthParameters" - }, - "ConnectivityParameters": { - "$ref": "#/definitions/AWS::Events::Connection.ConnectivityParameters", - "markdownDescription": "For private OAuth authentication endpoints. The parameters EventBridge uses to authenticate against the endpoint.\n\nFor more information, see [Authorization methods for connections](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-target-connection-auth.html) in the **Amazon EventBridge User Guide** .", - "title": "ConnectivityParameters" + "AssignPublicIp": { + "markdownDescription": "Specifies whether the task's elastic network interface receives a public IP address. You can specify `ENABLED` only when `LaunchType` in `EcsParameters` is set to `FARGATE` .", + "title": "AssignPublicIp", + "type": "string" }, - "InvocationHttpParameters": { - "$ref": "#/definitions/AWS::Events::Connection.ConnectionHttpParameters", - "markdownDescription": "Additional parameters for the connection that are passed through with every invocation to the HTTP endpoint.", - "title": "InvocationHttpParameters" + "SecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the security groups associated with the task. These security groups must all be in the same VPC. You can specify as many as five security groups. If you do not specify a security group, the default security group for the VPC is used.", + "title": "SecurityGroups", + "type": "array" }, - "OAuthParameters": { - "$ref": "#/definitions/AWS::Events::Connection.OAuthParameters", - "markdownDescription": "The OAuth parameters to use for authorization.", - "title": "OAuthParameters" + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the subnets associated with the task. These subnets must all be in the same VPC. You can specify as many as 16 subnets.", + "title": "Subnets", + "type": "array" } }, + "required": [ + "Subnets" + ], "type": "object" }, - "AWS::Events::Connection.BasicAuthParameters": { + "AWS::Events::Rule.BatchArrayProperties": { "additionalProperties": false, "properties": { - "Password": { - "markdownDescription": "The password associated with the user name to use for Basic authorization.", - "title": "Password", + "Size": { + "markdownDescription": "The size of the array, if this is an array batch job. Valid values are integers between 2 and 10,000.", + "title": "Size", + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.BatchParameters": { + "additionalProperties": false, + "properties": { + "ArrayProperties": { + "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties", + "markdownDescription": "The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an AWS Batch job.", + "title": "ArrayProperties" + }, + "JobDefinition": { + "markdownDescription": "The ARN or name of the job definition to use if the event target is an AWS Batch job. This job definition must already exist.", + "title": "JobDefinition", "type": "string" }, - "Username": { - "markdownDescription": "The user name to use for Basic authorization.", - "title": "Username", + "JobName": { + "markdownDescription": "The name to use for this execution of the job, if the target is an AWS Batch job.", + "title": "JobName", "type": "string" + }, + "RetryStrategy": { + "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy", + "markdownDescription": "The retry strategy to use for failed jobs, if the target is an AWS Batch job. The retry strategy is the number of times to retry the failed job execution. Valid values are 1\u201310. When you specify a retry strategy here, it overrides the retry strategy defined in the job definition.", + "title": "RetryStrategy" } }, "required": [ - "Password", - "Username" + "JobDefinition", + "JobName" ], "type": "object" }, - "AWS::Events::Connection.ClientParameters": { + "AWS::Events::Rule.BatchRetryStrategy": { "additionalProperties": false, "properties": { - "ClientID": { - "markdownDescription": "The client ID to use for OAuth authorization.", - "title": "ClientID", - "type": "string" + "Attempts": { + "markdownDescription": "The number of times to attempt to retry, if the job fails. Valid values are 1\u201310.", + "title": "Attempts", + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "markdownDescription": "The base value designates how many tasks, at a minimum, to run on the specified capacity provider. 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.", + "title": "Base", + "type": "number" }, - "ClientSecret": { - "markdownDescription": "The client secret assciated with the client ID to use for OAuth authorization.", - "title": "ClientSecret", + "CapacityProvider": { + "markdownDescription": "The short name of the capacity provider.", + "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.", + "title": "Weight", + "type": "number" } }, "required": [ - "ClientID", - "ClientSecret" + "CapacityProvider" ], "type": "object" }, - "AWS::Events::Connection.ConnectionHttpParameters": { + "AWS::Events::Rule.DeadLetterConfig": { "additionalProperties": false, "properties": { - "BodyParameters": { + "Arn": { + "markdownDescription": "The ARN of the SQS queue specified as the target for the dead-letter queue.", + "title": "Arn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule.EcsParameters": { + "additionalProperties": false, + "properties": { + "CapacityProviderStrategy": { "items": { - "$ref": "#/definitions/AWS::Events::Connection.Parameter" + "$ref": "#/definitions/AWS::Events::Rule.CapacityProviderStrategyItem" }, - "markdownDescription": "Any additional body string parameters for the connection.", - "title": "BodyParameters", + "markdownDescription": "The capacity provider strategy to use for the task.\n\nIf a `capacityProviderStrategy` is specified, the `launchType` parameter must be omitted. If no `capacityProviderStrategy` or launchType is specified, the `defaultCapacityProviderStrategy` for the cluster is used.", + "title": "CapacityProviderStrategy", "type": "array" }, - "HeaderParameters": { + "EnableECSManagedTags": { + "markdownDescription": "Specifies whether to enable Amazon ECS managed tags for the task. For more information, see [Tagging Your Amazon ECS Resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the Amazon Elastic Container Service Developer Guide.", + "title": "EnableECSManagedTags", + "type": "boolean" + }, + "EnableExecuteCommand": { + "markdownDescription": "Whether or not to enable the execute command functionality for the containers in this task. If true, this enables execute command functionality on all containers in the task.", + "title": "EnableExecuteCommand", + "type": "boolean" + }, + "Group": { + "markdownDescription": "Specifies an ECS task group for the task. The maximum length is 255 characters.", + "title": "Group", + "type": "string" + }, + "LaunchType": { + "markdownDescription": "Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The `FARGATE` value is supported only in the Regions where AWS Fargate with Amazon ECS is supported. For more information, see [AWS Fargate on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "LaunchType", + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration", + "markdownDescription": "Use this structure if the Amazon ECS task uses the `awsvpc` network mode. This structure specifies the VPC subnets and security groups associated with the task, and whether a public IP address is to be used. This structure is required if `LaunchType` is `FARGATE` because the `awsvpc` mode is required for Fargate tasks.\n\nIf you specify `NetworkConfiguration` when the target ECS task does not use the `awsvpc` network mode, the task fails.", + "title": "NetworkConfiguration" + }, + "PlacementConstraints": { "items": { - "$ref": "#/definitions/AWS::Events::Connection.Parameter" + "$ref": "#/definitions/AWS::Events::Rule.PlacementConstraint" }, - "markdownDescription": "Any additional header parameters for the connection.", - "title": "HeaderParameters", + "markdownDescription": "An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).", + "title": "PlacementConstraints", "type": "array" }, - "QueryStringParameters": { + "PlacementStrategies": { "items": { - "$ref": "#/definitions/AWS::Events::Connection.Parameter" + "$ref": "#/definitions/AWS::Events::Rule.PlacementStrategy" }, - "markdownDescription": "Any additional query string parameters for the connection.", - "title": "QueryStringParameters", + "markdownDescription": "The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.", + "title": "PlacementStrategies", + "type": "array" + }, + "PlatformVersion": { + "markdownDescription": "Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as `1.1.0` .\n\nThis structure is used only if `LaunchType` is `FARGATE` . For more information about valid platform versions, see [AWS Fargate Platform Versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "PlatformVersion", + "type": "string" + }, + "PropagateTags": { + "markdownDescription": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.", + "title": "PropagateTags", + "type": "string" + }, + "ReferenceId": { + "markdownDescription": "The reference ID to use for the task.", + "title": "ReferenceId", + "type": "string" + }, + "TagList": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. To learn more, see [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html#ECS-RunTask-request-tags) in the Amazon ECS API Reference.", + "title": "TagList", "type": "array" + }, + "TaskCount": { + "markdownDescription": "The number of tasks to create based on `TaskDefinition` . The default is 1.", + "title": "TaskCount", + "type": "number" + }, + "TaskDefinitionArn": { + "markdownDescription": "The ARN of the task definition to use if the event target is an Amazon ECS task.", + "title": "TaskDefinitionArn", + "type": "string" } }, + "required": [ + "TaskDefinitionArn" + ], "type": "object" }, - "AWS::Events::Connection.ConnectivityParameters": { + "AWS::Events::Rule.HttpParameters": { "additionalProperties": false, "properties": { - "ResourceParameters": { - "$ref": "#/definitions/AWS::Events::Connection.ResourceParameters", - "markdownDescription": "The parameters for EventBridge to use when invoking the resource endpoint.", - "title": "ResourceParameters" + "HeaderParameters": { + "additionalProperties": true, + "markdownDescription": "The headers that need to be sent as part of request invoking the API Gateway API or EventBridge ApiDestination.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "HeaderParameters", + "type": "object" + }, + "PathParameterValues": { + "items": { + "type": "string" + }, + "markdownDescription": "The path parameter values to be used to populate API Gateway API or EventBridge ApiDestination path wildcards (\"*\").", + "title": "PathParameterValues", + "type": "array" + }, + "QueryStringParameters": { + "additionalProperties": true, + "markdownDescription": "The query string keys/values that need to be sent as part of request invoking the API Gateway API or EventBridge ApiDestination.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "QueryStringParameters", + "type": "object" } }, - "required": [ - "ResourceParameters" - ], "type": "object" }, - "AWS::Events::Connection.InvocationConnectivityParameters": { + "AWS::Events::Rule.InputTransformer": { "additionalProperties": false, "properties": { - "ResourceParameters": { - "$ref": "#/definitions/AWS::Events::Connection.ResourceParameters", - "markdownDescription": "The parameters for EventBridge to use when invoking the resource endpoint.", - "title": "ResourceParameters" + "InputPathsMap": { + "additionalProperties": true, + "markdownDescription": "Map of JSON paths to be extracted from the event. You can then insert these in the template in `InputTemplate` to produce the output you want to be sent to the target.\n\n`InputPathsMap` is an array key-value pairs, where each value is a valid JSON path. You can have as many as 100 key-value pairs. You must use JSON dot notation, not bracket notation.\n\nThe keys cannot start with \" AWS .\"", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "InputPathsMap", + "type": "object" + }, + "InputTemplate": { + "markdownDescription": "Input template where you specify placeholders that will be filled with the values of the keys from `InputPathsMap` to customize the data sent to the target. Enclose each `InputPathsMaps` value in brackets: < *value* >\n\nIf `InputTemplate` is a JSON object (surrounded by curly braces), the following restrictions apply:\n\n- The placeholder cannot be used as an object key.\n\nThe following example shows the syntax for using `InputPathsMap` and `InputTemplate` .\n\n`\"InputTransformer\":`\n\n`{`\n\n`\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},`\n\n`\"InputTemplate\": \" is in state \"`\n\n`}`\n\nTo have the `InputTemplate` include quote marks within a JSON string, escape each quote marks with a slash, as in the following example:\n\n`\"InputTransformer\":`\n\n`{`\n\n`\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},`\n\n`\"InputTemplate\": \" is in state \\\"\\\"\"`\n\n`}`\n\nThe `InputTemplate` can also be valid JSON with varibles in quotes or out, as in the following example:\n\n`\"InputTransformer\":`\n\n`{`\n\n`\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},`\n\n`\"InputTemplate\": '{\"myInstance\": ,\"myStatus\": \" is in state \\\"\\\"\"}'`\n\n`}`", + "title": "InputTemplate", + "type": "string" } }, "required": [ - "ResourceParameters" + "InputTemplate" ], "type": "object" }, - "AWS::Events::Connection.OAuthParameters": { + "AWS::Events::Rule.KinesisParameters": { "additionalProperties": false, "properties": { - "AuthorizationEndpoint": { - "markdownDescription": "The URL to the authorization endpoint when OAuth is specified as the authorization type.", - "title": "AuthorizationEndpoint", - "type": "string" - }, - "ClientParameters": { - "$ref": "#/definitions/AWS::Events::Connection.ClientParameters", - "markdownDescription": "The client parameters for OAuth authorization.", - "title": "ClientParameters" - }, - "HttpMethod": { - "markdownDescription": "The method to use for the authorization request.", - "title": "HttpMethod", + "PartitionKeyPath": { + "markdownDescription": "The JSON path to be extracted from the event and used as the partition key. For more information, see [Amazon Kinesis Streams Key Concepts](https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html#partition-key) in the *Amazon Kinesis Streams Developer Guide* .", + "title": "PartitionKeyPath", "type": "string" - }, - "OAuthHttpParameters": { - "$ref": "#/definitions/AWS::Events::Connection.ConnectionHttpParameters", - "markdownDescription": "Details about the additional parameters to use for the connection.", - "title": "OAuthHttpParameters" } }, "required": [ - "AuthorizationEndpoint", - "ClientParameters", - "HttpMethod" + "PartitionKeyPath" ], "type": "object" }, - "AWS::Events::Connection.Parameter": { + "AWS::Events::Rule.NetworkConfiguration": { "additionalProperties": false, "properties": { - "IsValueSecret": { - "markdownDescription": "Specifies whether the value is secret.", - "title": "IsValueSecret", - "type": "boolean" - }, - "Key": { - "markdownDescription": "The key for a query string parameter.", - "title": "Key", + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration", + "markdownDescription": "Use this structure to specify the VPC subnets and security groups for the task, and whether a public IP address is to be used. This structure is relevant only for ECS tasks that use the `awsvpc` network mode.", + "title": "AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::Events::Rule.PlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "markdownDescription": "A cluster query language expression to apply to the constraint. You cannot specify an expression if the constraint type is `distinctInstance` . To learn more, 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" }, - "Value": { - "markdownDescription": "The value associated with the key for the query string parameter.", - "title": "Value", + "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": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::Events::Connection.ResourceParameters": { + "AWS::Events::Rule.PlacementStrategy": { "additionalProperties": false, "properties": { - "ResourceAssociationArn": { - "markdownDescription": "For connections to private APIs, the Amazon Resource Name (ARN) of the resource association EventBridge created between the connection and the private API's resource configuration.\n\n> The value of this property is set by EventBridge . Any value you specify in your template is ignored.", - "title": "ResourceAssociationArn", + "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 is 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" }, - "ResourceConfigurationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon VPC Lattice resource configuration for the resource endpoint.", - "title": "ResourceConfigurationArn", + "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 is 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": [ - "ResourceConfigurationArn" - ], "type": "object" }, - "AWS::Events::Endpoint": { + "AWS::Events::Rule.RedshiftDataParameters": { "additionalProperties": false, "properties": { - "Condition": { + "Database": { + "markdownDescription": "The name of the database. Required when authenticating using temporary credentials.", + "title": "Database", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DbUser": { + "markdownDescription": "The database user name. Required when authenticating using temporary credentials.", + "title": "DbUser", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "SecretManagerArn": { + "markdownDescription": "The name or ARN of the secret that enables access to the database. Required when authenticating using AWS Secrets Manager.", + "title": "SecretManagerArn", + "type": "string" }, - "Metadata": { - "type": "object" + "Sql": { + "markdownDescription": "The SQL statement text to run.", + "title": "Sql", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "A description for the endpoint.", - "title": "Description", - "type": "string" - }, - "EventBuses": { - "items": { - "$ref": "#/definitions/AWS::Events::Endpoint.EndpointEventBus" - }, - "markdownDescription": "The event buses being used by the endpoint.\n\n*Exactly* : `2`", - "title": "EventBuses", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the endpoint.", - "title": "Name", - "type": "string" - }, - "ReplicationConfig": { - "$ref": "#/definitions/AWS::Events::Endpoint.ReplicationConfig", - "markdownDescription": "Whether event replication was enabled or disabled for this endpoint. The default state is `ENABLED` which means you must supply a `RoleArn` . If you don't have a `RoleArn` or you don't want event replication enabled, set the state to `DISABLED` .", - "title": "ReplicationConfig" - }, - "RoleArn": { - "markdownDescription": "The ARN of the role used by event replication for the endpoint.", - "title": "RoleArn", - "type": "string" - }, - "RoutingConfig": { - "$ref": "#/definitions/AWS::Events::Endpoint.RoutingConfig", - "markdownDescription": "The routing configuration of the endpoint.", - "title": "RoutingConfig" - } + "Sqls": { + "items": { + "type": "string" }, - "required": [ - "EventBuses", - "RoutingConfig" - ], - "type": "object" + "markdownDescription": "One or more SQL statements to run. The SQL statements are run as a single transaction. They run serially in the order of the array. Subsequent SQL statements don't start until the previous statement in the array completes. If any SQL statement fails, then because they are run as one transaction, all work is rolled back.", + "title": "Sqls", + "type": "array" }, - "Type": { - "enum": [ - "AWS::Events::Endpoint" - ], + "StatementName": { + "markdownDescription": "The name of the SQL statement. You can name the SQL statement when you create it to identify the query.", + "title": "StatementName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "WithEvent": { + "markdownDescription": "Indicates whether to send an event back to EventBridge after the SQL statement runs.", + "title": "WithEvent", + "type": "boolean" } }, "required": [ - "Type", - "Properties" + "Database" ], "type": "object" }, - "AWS::Events::Endpoint.EndpointEventBus": { + "AWS::Events::Rule.RetryPolicy": { "additionalProperties": false, "properties": { - "EventBusArn": { - "markdownDescription": "The ARN of the event bus the endpoint is associated with.", - "title": "EventBusArn", - "type": "string" + "MaximumEventAgeInSeconds": { + "markdownDescription": "The maximum amount of time, in seconds, to continue to make retry attempts.", + "title": "MaximumEventAgeInSeconds", + "type": "number" + }, + "MaximumRetryAttempts": { + "markdownDescription": "The maximum number of retry attempts to make before the request fails. Retry attempts continue until either the maximum number of attempts is made or until the duration of the `MaximumEventAgeInSeconds` is met.", + "title": "MaximumRetryAttempts", + "type": "number" } }, - "required": [ - "EventBusArn" - ], "type": "object" }, - "AWS::Events::Endpoint.FailoverConfig": { + "AWS::Events::Rule.RunCommandParameters": { "additionalProperties": false, "properties": { - "Primary": { - "$ref": "#/definitions/AWS::Events::Endpoint.Primary", - "markdownDescription": "The main Region of the endpoint.", - "title": "Primary" - }, - "Secondary": { - "$ref": "#/definitions/AWS::Events::Endpoint.Secondary", - "markdownDescription": "The Region that events are routed to when failover is triggered or event replication is enabled.", - "title": "Secondary" + "RunCommandTargets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" + }, + "markdownDescription": "Currently, we support including only one RunCommandTarget block, which specifies either an array of InstanceIds or a tag.", + "title": "RunCommandTargets", + "type": "array" } }, "required": [ - "Primary", - "Secondary" + "RunCommandTargets" ], "type": "object" }, - "AWS::Events::Endpoint.Primary": { + "AWS::Events::Rule.RunCommandTarget": { "additionalProperties": false, "properties": { - "HealthCheck": { - "markdownDescription": "The ARN of the health check used by the endpoint to determine whether failover is triggered.", - "title": "HealthCheck", + "Key": { + "markdownDescription": "Can be either `tag:` *tag-key* or `InstanceIds` .", + "title": "Key", "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "If `Key` is `tag:` *tag-key* , `Values` is a list of tag values. If `Key` is `InstanceIds` , `Values` is a list of Amazon EC2 instance IDs.", + "title": "Values", + "type": "array" } }, "required": [ - "HealthCheck" + "Key", + "Values" ], "type": "object" }, - "AWS::Events::Endpoint.ReplicationConfig": { + "AWS::Events::Rule.SageMakerPipelineParameter": { "additionalProperties": false, "properties": { - "State": { - "markdownDescription": "The state of event replication.", - "title": "State", + "Name": { + "markdownDescription": "Name of parameter to start execution of a SageMaker AI Model Building Pipeline.", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "Value of parameter to start execution of a SageMaker AI Model Building Pipeline.", + "title": "Value", "type": "string" } }, "required": [ - "State" + "Name", + "Value" ], "type": "object" }, - "AWS::Events::Endpoint.RoutingConfig": { + "AWS::Events::Rule.SageMakerPipelineParameters": { "additionalProperties": false, "properties": { - "FailoverConfig": { - "$ref": "#/definitions/AWS::Events::Endpoint.FailoverConfig", - "markdownDescription": "The failover configuration for an endpoint. This includes what triggers failover and what happens when it's triggered.", - "title": "FailoverConfig" + "PipelineParameterList": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameter" + }, + "markdownDescription": "List of Parameter names and values for SageMaker AI Model Building Pipeline execution.", + "title": "PipelineParameterList", + "type": "array" + } + }, + "type": "object" + }, + "AWS::Events::Rule.SqsParameters": { + "additionalProperties": false, + "properties": { + "MessageGroupId": { + "markdownDescription": "The ID of the message group to use as the target.", + "title": "MessageGroupId", + "type": "string" } }, "required": [ - "FailoverConfig" + "MessageGroupId" ], "type": "object" }, - "AWS::Events::Endpoint.Secondary": { + "AWS::Events::Rule.Target": { "additionalProperties": false, "properties": { - "Route": { - "markdownDescription": "Defines the secondary Region.", - "title": "Route", + "AppSyncParameters": { + "$ref": "#/definitions/AWS::Events::Rule.AppSyncParameters", + "markdownDescription": "Contains the GraphQL operation to be parsed and executed, if the event target is an AWS AppSync API.", + "title": "AppSyncParameters" + }, + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the target.", + "title": "Arn", + "type": "string" + }, + "BatchParameters": { + "$ref": "#/definitions/AWS::Events::Rule.BatchParameters", + "markdownDescription": "If the event target is an AWS Batch job, this contains the job definition, job name, and other parameters. For more information, see [Jobs](https://docs.aws.amazon.com/batch/latest/userguide/jobs.html) in the *AWS Batch User Guide* .", + "title": "BatchParameters" + }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig", + "markdownDescription": "The `DeadLetterConfig` that defines the target queue to send dead-letter queue events to.", + "title": "DeadLetterConfig" + }, + "EcsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.EcsParameters", + "markdownDescription": "Contains the Amazon ECS task definition and task count to be used, if the event target is an Amazon ECS task. For more information about Amazon ECS tasks, see [Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon EC2 Container Service Developer Guide* .", + "title": "EcsParameters" + }, + "HttpParameters": { + "$ref": "#/definitions/AWS::Events::Rule.HttpParameters", + "markdownDescription": "Contains the HTTP parameters to use when the target is a API Gateway endpoint or EventBridge ApiDestination.\n\nIf you specify an API Gateway API or EventBridge ApiDestination as a target, you can use this parameter to specify headers, path parameters, and query string keys/values as part of your target invoking request. If you're using ApiDestinations, the corresponding Connection can also have these values configured. In case of any conflicting keys, values from the Connection take precedence.", + "title": "HttpParameters" + }, + "Id": { + "markdownDescription": "The ID of the target within the specified rule. Use this ID to reference the target when updating the rule. We recommend using a memorable and unique string.", + "title": "Id", + "type": "string" + }, + "Input": { + "markdownDescription": "Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target. For more information, see [The JavaScript Object Notation (JSON) Data Interchange Format](https://docs.aws.amazon.com/http://www.rfc-editor.org/rfc/rfc7159.txt) .", + "title": "Input", + "type": "string" + }, + "InputPath": { + "markdownDescription": "The value of the JSONPath that is used for extracting part of the matched event when passing it to the target. You may use JSON dot notation or bracket notation. For more information about JSON paths, see [JSONPath](https://docs.aws.amazon.com/http://goessner.net/articles/JsonPath/) .", + "title": "InputPath", + "type": "string" + }, + "InputTransformer": { + "$ref": "#/definitions/AWS::Events::Rule.InputTransformer", + "markdownDescription": "Settings to enable you to provide custom input to a target based on certain event data. You can extract one or more key-value pairs from the event and then use that data to send customized input to the target.", + "title": "InputTransformer" + }, + "KinesisParameters": { + "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters", + "markdownDescription": "The custom parameter you can use to control the shard assignment, when the target is a Kinesis data stream. If you do not include this parameter, the default is to use the `eventId` as the partition key.", + "title": "KinesisParameters" + }, + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters", + "markdownDescription": "Contains the Amazon Redshift Data API parameters to use when the target is a Amazon Redshift cluster.\n\nIf you specify a Amazon Redshift Cluster as a Target, you can use this to specify parameters to invoke the Amazon Redshift Data API ExecuteStatement based on EventBridge events.", + "title": "RedshiftDataParameters" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy", + "markdownDescription": "The retry policy configuration to use for the dead-letter queue.", + "title": "RetryPolicy" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to be used for this target when the rule is triggered. If one rule triggers multiple targets, you can use a different IAM role for each target.", + "title": "RoleArn", "type": "string" + }, + "RunCommandParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters", + "markdownDescription": "Parameters used when you are using the rule to invoke Amazon EC2 Run Command.", + "title": "RunCommandParameters" + }, + "SageMakerPipelineParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameters", + "markdownDescription": "Contains the SageMaker AI Model Building Pipeline parameters to start execution of a SageMaker AI Model Building Pipeline.\n\nIf you specify a SageMaker AI Model Building Pipeline as a target, you can use this to specify parameters to start a pipeline execution based on EventBridge events.", + "title": "SageMakerPipelineParameters" + }, + "SqsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SqsParameters", + "markdownDescription": "Contains the message group ID to use when the target is an Amazon SQS fair or FIFO queue.\n\nIf you specify a fair or FIFO queue as a target, the queue must have content-based deduplication enabled.", + "title": "SqsParameters" } }, "required": [ - "Route" + "Arn", + "Id" ], "type": "object" }, - "AWS::Events::EventBus": { + "AWS::EventsV2::EventBus": { "additionalProperties": false, "properties": { "Condition": { @@ -158371,47 +168800,22 @@ "Properties": { "additionalProperties": false, "properties": { - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Events::EventBus.DeadLetterConfig", - "markdownDescription": "Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ).\n\nFor more information, see [Using dead-letter queues to process undelivered events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-event-delivery.html#eb-rule-dlq) in the *EventBridge User Guide* .", - "title": "DeadLetterConfig" - }, "Description": { - "markdownDescription": "The event bus description.", - "title": "Description", - "type": "string" - }, - "EventSourceName": { - "markdownDescription": "If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with.", - "title": "EventSourceName", - "type": "string" - }, - "KmsKeyIdentifier": { - "markdownDescription": "The identifier of the AWS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n\nIf you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt events on the event bus.\n\nFor more information, see [Identify and view keys](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) in the *AWS Key Management Service Developer Guide* .\n\n> Schema discovery is not supported for event buses encrypted using a customer managed key. EventBridge returns an error if:\n> \n> - You call `[CreateDiscoverer](https://docs.aws.amazon.com/eventbridge/latest/schema-reference/v1-discoverers.html#CreateDiscoverer)` on an event bus set to use a customer managed key for encryption.\n> - You call `[UpdatedEventBus](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_UpdatedEventBus.html)` to set a customer managed key on an event bus with schema discovery enabled.\n> \n> To enable schema discovery on an event bus, choose to use an AWS owned key . For more information, see [Encrypting events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-encryption-event-bus-cmkey.html) in the *Amazon EventBridge User Guide* . > If you have specified that EventBridge use a customer managed key for encrypting the source event bus, we strongly recommend you also specify a customer managed key for any archives for the event bus as well.\n> \n> For more information, see [Encrypting archives](https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-archives.html) in the *Amazon EventBridge User Guide* .", - "title": "KmsKeyIdentifier", "type": "string" }, - "LogConfig": { - "$ref": "#/definitions/AWS::Events::EventBus.LogConfig", - "markdownDescription": "The logging configuration settings for the event bus.\n\nFor more information, see [Configuring logs for event buses](https://docs.aws.amazon.com/eb-event-bus-logs.html) in the *EventBridge User Guide* .", - "title": "LogConfig" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::EventBus.EncryptionConfiguration" }, "Name": { - "markdownDescription": "The name of the new event bus.\n\nCustom event bus names can't contain the `/` character, but you can use the `/` character in partner event bus names. In addition, for partner event buses, the name must exactly match the name of the partner event source that this event bus is matched to.\n\nYou can't use the name `default` for a custom event bus, as this name is already used for your account's default event bus.", - "title": "Name", "type": "string" }, - "Policy": { - "markdownDescription": "The permissions policy of the event bus, describing which other AWS accounts can write events to this event bus.", - "title": "Policy", - "type": "object" + "StorageConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::EventBus.StorageConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Tags to associate with the event bus.", - "title": "Tags", "type": "array" } }, @@ -158422,7 +168826,7 @@ }, "Type": { "enum": [ - "AWS::Events::EventBus" + "AWS::EventsV2::EventBus" ], "type": "string" }, @@ -158441,34 +168845,25 @@ ], "type": "object" }, - "AWS::Events::EventBus.DeadLetterConfig": { + "AWS::EventsV2::EventBus.EncryptionConfiguration": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The ARN of the SQS queue specified as the target for the dead-letter queue.", - "title": "Arn", + "KmsKeyIdentifier": { "type": "string" } }, "type": "object" }, - "AWS::Events::EventBus.LogConfig": { + "AWS::EventsV2::EventBus.StorageConfiguration": { "additionalProperties": false, "properties": { - "IncludeDetail": { - "markdownDescription": "Whether EventBridge include detailed event information in the records it generates. Detailed data can be useful for troubleshooting and debugging. This information includes details of the event itself, as well as target details.\n\nFor more information, see [Including detail data in event bus logs](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html#eb-event-logs-data) in the *EventBridge User Guide* .", - "title": "IncludeDetail", - "type": "string" - }, - "Level": { - "markdownDescription": "The level of logging detail to include. This applies to all log destinations for the event bus.\n\nFor more information, see [Specifying event bus log level](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html#eb-event-bus-logs-level) in the *EventBridge User Guide* .", - "title": "Level", - "type": "string" + "RetentionPeriodInDays": { + "type": "number" } }, "type": "object" }, - "AWS::Events::EventBusPolicy": { + "AWS::EventsV2::EventSource": { "additionalProperties": false, "properties": { "Condition": { @@ -158503,30 +168898,35 @@ "Properties": { "additionalProperties": false, "properties": { - "EventBusName": { - "markdownDescription": "The name of the event bus associated with the rule. If you omit this, the default event bus is used.", - "title": "EventBusName", + "Configuration": { + "$ref": "#/definitions/AWS::EventsV2::EventSource.EventSourceConfiguration" + }, + "Description": { "type": "string" }, - "Statement": { - "markdownDescription": "A JSON string that describes the permission policy statement. You can include a `Policy` parameter in the request instead of using the `StatementId` , `Action` , `Principal` , or `Condition` parameters.", - "title": "Statement", - "type": "object" + "EventBusArn": { + "type": "string" }, - "StatementId": { - "markdownDescription": "An identifier string for the external account that you are granting permissions to. If you later want to revoke the permission for this external account, specify this `StatementId` when you run [RemovePermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RemovePermission.html) .\n\n> Each `StatementId` must be unique.", - "title": "StatementId", + "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "StatementId" + "Configuration", + "EventBusArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::EventBusPolicy" + "AWS::EventsV2::EventSource" ], "type": "string" }, @@ -158545,7 +168945,67 @@ ], "type": "object" }, - "AWS::Events::Replay": { + "AWS::EventsV2::EventSource.AwsServiceEventsConfiguration": { + "additionalProperties": false, + "properties": { + "AwsService": { + "type": "string" + }, + "OnFailureConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::EventSource.OnFailureConfiguration" + }, + "Pattern": { + "type": "string" + } + }, + "required": [ + "AwsService" + ], + "type": "object" + }, + "AWS::EventsV2::EventSource.EventSourceConfiguration": { + "additionalProperties": false, + "properties": { + "AwsServiceEventsConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::EventSource.AwsServiceEventsConfiguration" + }, + "PartnerEventsConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::EventSource.PartnerEventsConfiguration" + } + }, + "type": "object" + }, + "AWS::EventsV2::EventSource.OnFailureConfiguration": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EventsV2::EventSource.PartnerEventsConfiguration": { + "additionalProperties": false, + "properties": { + "OnFailureConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::EventSource.OnFailureConfiguration" + }, + "PartnerBusKmsKeyIdentifier": { + "type": "string" + }, + "PartnerEventSourceArn": { + "type": "string" + }, + "Pattern": { + "type": "string" + } + }, + "required": [ + "PartnerEventSourceArn" + ], + "type": "object" + }, + "AWS::EventsV2::ResourcePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -158580,34 +169040,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::Events::Replay.Destination" - }, - "EventEndTime": { - "type": "string" - }, - "EventSourceArn": { - "type": "string" - }, - "EventStartTime": { + "EventBusArn": { "type": "string" }, - "ReplayName": { - "type": "string" + "PolicyDocument": { + "type": "object" } }, "required": [ - "Destination", - "EventEndTime", - "EventSourceArn", - "EventStartTime", - "ReplayName" + "EventBusArn", + "PolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::Replay" + "AWS::EventsV2::ResourcePolicy" ], "type": "string" }, @@ -158626,19 +169074,7 @@ ], "type": "object" }, - "AWS::Events::Replay.Destination": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::Events::Rule": { + "AWS::EventsV2::Subscriber": { "additionalProperties": false, "properties": { "Condition": { @@ -158673,63 +169109,68 @@ "Properties": { "additionalProperties": false, "properties": { + "BatchConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.BatchConfiguration" + }, "Description": { - "markdownDescription": "The description of the rule.", - "title": "Description", "type": "string" }, - "EventBusName": { - "markdownDescription": "The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used.", - "title": "EventBusName", + "EventBusArn": { "type": "string" }, - "EventPattern": { - "markdownDescription": "The event pattern of the rule. For more information, see [Events and Event Patterns](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) in the **Amazon EventBridge User Guide** .", - "title": "EventPattern", - "type": "object" + "FilterConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.FilterConfiguration" + }, + "InvokeConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.InvokeConfiguration" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.LogConfiguration" }, "Name": { - "markdownDescription": "The name of the rule.", - "title": "Name", "type": "string" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role that is used for target invocation.\n\nIf you're setting an event bus in another account as the target and that account granted permission to your account through an organization instead of directly by the account ID, you must specify a `RoleArn` with proper permissions in the `Target` structure, instead of here in this parameter.", - "title": "RoleArn", + "OnFailureConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.OnFailureConfiguration" + }, + "PointInTimeConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.PointInTimeConfiguration" + }, + "ResumePosition": { "type": "string" }, - "ScheduleExpression": { - "markdownDescription": "The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\". For more information, see [Creating an Amazon EventBridge rule that runs on a schedule](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html) .", - "title": "ScheduleExpression", + "RetryPolicy": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.RetryPolicy" + }, + "StartingPosition": { "type": "string" }, "State": { - "markdownDescription": "The state of the rule.\n\nValid values include:\n\n- `DISABLED` : The rule is disabled. EventBridge does not match any events against the rule.\n- `ENABLED` : The rule is enabled. EventBridge matches events against the rule, *except* for AWS management events delivered through CloudTrail.\n- `ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS` : The rule is enabled for all events, including AWS management events delivered through CloudTrail.\n\nManagement events provide visibility into management operations that are performed on resources in your AWS account. These are also known as control plane operations. For more information, see [Logging management events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) in the *CloudTrail User Guide* , and [Filtering management events from AWS services](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-cloudtrail) in the **Amazon EventBridge User Guide** .\n\nThis value is only valid for rules on the [default](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is-how-it-works-concepts.html#eb-bus-concepts-buses) event bus or [custom event buses](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-event-bus.html) . It does not apply to [partner event buses](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-saas.html) .", - "title": "State", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", - "title": "Tags", "type": "array" }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.Target" - }, - "markdownDescription": "Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.\n\nTargets are the resources that are invoked when a rule is triggered.\n\nThe maximum number of entries per request is 10.\n\n> Each rule can have up to five (5) targets associated with it at one time. \n\nFor a list of services you can configure as targets for events, see [EventBridge targets](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html) in the **Amazon EventBridge User Guide** .\n\nCreating rules with built-in targets is supported only in the AWS Management Console . The built-in targets are:\n\n- `Amazon EBS CreateSnapshot API call`\n- `Amazon EC2 RebootInstances API call`\n- `Amazon EC2 StopInstances API call`\n- `Amazon EC2 TerminateInstances API call`\n\nFor some target types, `PutTargets` provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the `KinesisParameters` argument. To invoke a command on multiple EC2 instances with one rule, you can use the `RunCommandParameters` field.\n\nTo be able to make API calls against the resources that you own, Amazon EventBridge needs the appropriate permissions:\n\n- For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies.\n- For EC2 instances, Kinesis Data Streams, AWS Step Functions state machines and API Gateway APIs, EventBridge relies on IAM roles that you specify in the `RoleARN` argument in `PutTargets` .\n\nFor more information, see [Authentication and Access Control](https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html) in the **Amazon EventBridge User Guide** .\n\nIf another AWS account is in the same region and has granted you permission (using `PutPermission` ), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the `Arn` value when you run `PutTargets` . If your account sends events to another account, your account is charged for each sent event. Each event sent to another account is charged as a custom event. The account receiving the event is not charged. For more information, see [Amazon EventBridge Pricing](https://docs.aws.amazon.com/eventbridge/pricing/) .\n\n> `Input` , `InputPath` , and `InputTransformer` are not available with `PutTarget` if the target is an event bus of a different AWS account. \n\nIf you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a `RoleArn` with proper permissions in the `Target` structure. For more information, see [Sending and Receiving Events Between AWS Accounts](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html) in the *Amazon EventBridge User Guide* .\n\n> If you have an IAM role on a cross-account event bus target, a `PutTargets` call without a role on the same target (same `Id` and `Arn` ) will not remove the role. \n\nFor more information about enabling cross-account events, see [PutPermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPermission.html) .\n\n*Input* , *InputPath* , and *InputTransformer* are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:\n\n- If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).\n- If *Input* is specified in the form of valid JSON, then the matched event is overridden with this constant.\n- If *InputPath* is specified in the form of JSONPath (for example, `$.detail` ), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).\n- If *InputTransformer* is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.\n\nWhen you specify `InputPath` or `InputTransformer` , you must use JSON dot notation, not bracket notation.\n\nWhen you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect.\n\nThis action can partially fail if too many requests are made at the same time. If that happens, `FailedEntryCount` is non-zero in the response and each entry in `FailedEntries` provides the ID of the failed target and the error code.", - "title": "Targets", - "type": "array" + "Transformer": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.Transformer" + }, + "Type": { + "type": "string" } }, + "required": [ + "EventBusArn", + "InvokeConfiguration", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::Rule" + "AWS::EventsV2::Subscriber" ], "type": "string" }, @@ -158743,593 +169184,394 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Events::Rule.AppSyncParameters": { + "AWS::EventsV2::Subscriber.BatchConfiguration": { "additionalProperties": false, "properties": { - "GraphQLOperation": { - "markdownDescription": "The GraphQL operation; that is, the query, mutation, or subscription to be parsed and executed by the GraphQL service.\n\nFor more information, see [Operations](https://docs.aws.amazon.com/appsync/latest/devguide/graphql-architecture.html#graphql-operations) in the *AWS AppSync User Guide* .", - "title": "GraphQLOperation", - "type": "string" + "MaxBatchSize": { + "type": "number" + }, + "MaxBatchWindowInSeconds": { + "type": "number" } }, - "required": [ - "GraphQLOperation" - ], "type": "object" }, - "AWS::Events::Rule.AwsVpcConfiguration": { + "AWS::EventsV2::Subscriber.DeduplicationConfiguration": { "additionalProperties": false, "properties": { - "AssignPublicIp": { - "markdownDescription": "Specifies whether the task's elastic network interface receives a public IP address. You can specify `ENABLED` only when `LaunchType` in `EcsParameters` is set to `FARGATE` .", - "title": "AssignPublicIp", + "DeduplicationType": { "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the security groups associated with the task. These security groups must all be in the same VPC. You can specify as many as five security groups. If you do not specify a security group, the default security group for the VPC is used.", - "title": "SecurityGroups", - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the subnets associated with the task. These subnets must all be in the same VPC. You can specify as many as 16 subnets.", - "title": "Subnets", - "type": "array" } }, "required": [ - "Subnets" + "DeduplicationType" ], "type": "object" }, - "AWS::Events::Rule.BatchArrayProperties": { + "AWS::EventsV2::Subscriber.EventBusV2Parameters": { "additionalProperties": false, "properties": { - "Size": { - "markdownDescription": "The size of the array, if this is an array batch job. Valid values are integers between 2 and 10,000.", - "title": "Size", - "type": "number" + "DeduplicationConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.DeduplicationConfiguration" + }, + "Metadata": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SystemMetadata": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.EventBusV2SystemMetadata" } }, "type": "object" }, - "AWS::Events::Rule.BatchParameters": { + "AWS::EventsV2::Subscriber.EventBusV2SystemMetadata": { "additionalProperties": false, "properties": { - "ArrayProperties": { - "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties", - "markdownDescription": "The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an AWS Batch job.", - "title": "ArrayProperties" - }, - "JobDefinition": { - "markdownDescription": "The ARN or name of the job definition to use if the event target is an AWS Batch job. This job definition must already exist.", - "title": "JobDefinition", + "DeduplicationId": { "type": "string" }, - "JobName": { - "markdownDescription": "The name to use for this execution of the job, if the target is an AWS Batch job.", - "title": "JobName", + "EventGroupId": { "type": "string" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy", - "markdownDescription": "The retry strategy to use for failed jobs, if the target is an AWS Batch job. The retry strategy is the number of times to retry the failed job execution. Valid values are 1\u201310. When you specify a retry strategy here, it overrides the retry strategy defined in the job definition.", - "title": "RetryStrategy" - } - }, - "required": [ - "JobDefinition", - "JobName" - ], - "type": "object" - }, - "AWS::Events::Rule.BatchRetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "markdownDescription": "The number of times to attempt to retry, if the job fails. Valid values are 1\u201310.", - "title": "Attempts", - "type": "number" } }, "type": "object" }, - "AWS::Events::Rule.CapacityProviderStrategyItem": { + "AWS::EventsV2::Subscriber.Filter": { "additionalProperties": false, "properties": { - "Base": { - "markdownDescription": "The base value designates how many tasks, at a minimum, to run on the specified capacity provider. 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.", - "title": "Base", - "type": "number" - }, - "CapacityProvider": { - "markdownDescription": "The short name of the capacity provider.", - "title": "CapacityProvider", + "Pattern": { "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.", - "title": "Weight", - "type": "number" + "Scope": { + "type": "string" } }, "required": [ - "CapacityProvider" + "Pattern", + "Scope" ], "type": "object" }, - "AWS::Events::Rule.DeadLetterConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "markdownDescription": "The ARN of the SQS queue specified as the target for the dead-letter queue.", - "title": "Arn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule.EcsParameters": { + "AWS::EventsV2::Subscriber.FilterConfiguration": { "additionalProperties": false, "properties": { - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.CapacityProviderStrategyItem" - }, - "markdownDescription": "The capacity provider strategy to use for the task.\n\nIf a `capacityProviderStrategy` is specified, the `launchType` parameter must be omitted. If no `capacityProviderStrategy` or launchType is specified, the `defaultCapacityProviderStrategy` for the cluster is used.", - "title": "CapacityProviderStrategy", - "type": "array" - }, - "EnableECSManagedTags": { - "markdownDescription": "Specifies whether to enable Amazon ECS managed tags for the task. For more information, see [Tagging Your Amazon ECS Resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the Amazon Elastic Container Service Developer Guide.", - "title": "EnableECSManagedTags", - "type": "boolean" - }, - "EnableExecuteCommand": { - "markdownDescription": "Whether or not to enable the execute command functionality for the containers in this task. If true, this enables execute command functionality on all containers in the task.", - "title": "EnableExecuteCommand", - "type": "boolean" - }, - "Group": { - "markdownDescription": "Specifies an ECS task group for the task. The maximum length is 255 characters.", - "title": "Group", - "type": "string" - }, - "LaunchType": { - "markdownDescription": "Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The `FARGATE` value is supported only in the Regions where AWS Fargate with Amazon ECS is supported. For more information, see [AWS Fargate on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "LaunchType", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration", - "markdownDescription": "Use this structure if the Amazon ECS task uses the `awsvpc` network mode. This structure specifies the VPC subnets and security groups associated with the task, and whether a public IP address is to be used. This structure is required if `LaunchType` is `FARGATE` because the `awsvpc` mode is required for Fargate tasks.\n\nIf you specify `NetworkConfiguration` when the target ECS task does not use the `awsvpc` network mode, the task fails.", - "title": "NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.PlacementConstraint" - }, - "markdownDescription": "An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).", - "title": "PlacementConstraints", - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.PlacementStrategy" - }, - "markdownDescription": "The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.", - "title": "PlacementStrategies", - "type": "array" - }, - "PlatformVersion": { - "markdownDescription": "Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as `1.1.0` .\n\nThis structure is used only if `LaunchType` is `FARGATE` . For more information about valid platform versions, see [AWS Fargate Platform Versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "PlatformVersion", - "type": "string" - }, - "PropagateTags": { - "markdownDescription": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.", - "title": "PropagateTags", - "type": "string" - }, - "ReferenceId": { - "markdownDescription": "The reference ID to use for the task.", - "title": "ReferenceId", - "type": "string" - }, - "TagList": { + "Filters": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::EventsV2::Subscriber.Filter" }, - "markdownDescription": "The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. To learn more, see [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html#ECS-RunTask-request-tags) in the Amazon ECS API Reference.", - "title": "TagList", "type": "array" }, - "TaskCount": { - "markdownDescription": "The number of tasks to create based on `TaskDefinition` . The default is 1.", - "title": "TaskCount", - "type": "number" - }, - "TaskDefinitionArn": { - "markdownDescription": "The ARN of the task definition to use if the event target is an Amazon ECS task.", - "title": "TaskDefinitionArn", + "Language": { "type": "string" } }, "required": [ - "TaskDefinitionArn" + "Filters" ], "type": "object" }, - "AWS::Events::Rule.HttpParameters": { + "AWS::EventsV2::Subscriber.HttpParameters": { "additionalProperties": false, "properties": { "HeaderParameters": { "additionalProperties": true, - "markdownDescription": "The headers that need to be sent as part of request invoking the API Gateway API or EventBridge ApiDestination.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, - "title": "HeaderParameters", "type": "object" }, + "InvocationTimeoutSeconds": { + "type": "string" + }, "PathParameterValues": { "items": { "type": "string" }, - "markdownDescription": "The path parameter values to be used to populate API Gateway API or EventBridge ApiDestination path wildcards (\"*\").", - "title": "PathParameterValues", "type": "array" }, "QueryStringParameters": { "additionalProperties": true, - "markdownDescription": "The query string keys/values that need to be sent as part of request invoking the API Gateway API or EventBridge ApiDestination.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, - "title": "QueryStringParameters", "type": "object" } }, "type": "object" }, - "AWS::Events::Rule.InputTransformer": { + "AWS::EventsV2::Subscriber.InvokeConfiguration": { "additionalProperties": false, "properties": { - "InputPathsMap": { - "additionalProperties": true, - "markdownDescription": "Map of JSON paths to be extracted from the event. You can then insert these in the template in `InputTemplate` to produce the output you want to be sent to the target.\n\n`InputPathsMap` is an array key-value pairs, where each value is a valid JSON path. You can have as many as 100 key-value pairs. You must use JSON dot notation, not bracket notation.\n\nThe keys cannot start with \" AWS .\"", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "InputPathsMap", - "type": "object" + "EventBusV2Parameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.EventBusV2Parameters" }, - "InputTemplate": { - "markdownDescription": "Input template where you specify placeholders that will be filled with the values of the keys from `InputPathsMap` to customize the data sent to the target. Enclose each `InputPathsMaps` value in brackets: < *value* >\n\nIf `InputTemplate` is a JSON object (surrounded by curly braces), the following restrictions apply:\n\n- The placeholder cannot be used as an object key.\n\nThe following example shows the syntax for using `InputPathsMap` and `InputTemplate` .\n\n`\"InputTransformer\":`\n\n`{`\n\n`\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},`\n\n`\"InputTemplate\": \" is in state \"`\n\n`}`\n\nTo have the `InputTemplate` include quote marks within a JSON string, escape each quote marks with a slash, as in the following example:\n\n`\"InputTransformer\":`\n\n`{`\n\n`\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},`\n\n`\"InputTemplate\": \" is in state \\\"\\\"\"`\n\n`}`\n\nThe `InputTemplate` can also be valid JSON with varibles in quotes or out, as in the following example:\n\n`\"InputTransformer\":`\n\n`{`\n\n`\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},`\n\n`\"InputTemplate\": '{\"myInstance\": ,\"myStatus\": \" is in state \\\"\\\"\"}'`\n\n`}`", - "title": "InputTemplate", + "HttpParameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.HttpParameters" + }, + "KinesisParameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.KinesisParameters" + }, + "LambdaParameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.LambdaParameters" + }, + "RoleArn": { "type": "string" + }, + "SnsParameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.SnsParameters" + }, + "SqsParameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.SqsParameters" + }, + "StepFunctionsParameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.StepFunctionsParameters" + }, + "TargetArn": { + "type": "object" + }, + "UniversalTargetParameters": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.UniversalTargetParameters" } }, "required": [ - "InputTemplate" + "RoleArn", + "TargetArn" ], "type": "object" }, - "AWS::Events::Rule.KinesisParameters": { + "AWS::EventsV2::Subscriber.JsonataConfiguration": { "additionalProperties": false, "properties": { - "PartitionKeyPath": { - "markdownDescription": "The JSON path to be extracted from the event and used as the partition key. For more information, see [Amazon Kinesis Streams Key Concepts](https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html#partition-key) in the *Amazon Kinesis Streams Developer Guide* .", - "title": "PartitionKeyPath", + "Expression": { "type": "string" } }, "required": [ - "PartitionKeyPath" + "Expression" ], "type": "object" }, - "AWS::Events::Rule.NetworkConfiguration": { + "AWS::EventsV2::Subscriber.KinesisParameters": { "additionalProperties": false, "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration", - "markdownDescription": "Use this structure to specify the VPC subnets and security groups for the task, and whether a public IP address is to be used. This structure is relevant only for ECS tasks that use the `awsvpc` network mode.", - "title": "AwsVpcConfiguration" + "ExplicitHashKey": { + "type": "string" + }, + "PartitionKey": { + "type": "string" } }, "type": "object" }, - "AWS::Events::Rule.PlacementConstraint": { + "AWS::EventsV2::Subscriber.LambdaParameters": { "additionalProperties": false, "properties": { - "Expression": { - "markdownDescription": "A cluster query language expression to apply to the constraint. You cannot specify an expression if the constraint type is `distinctInstance` . To learn more, 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", + "DurableExecutionName": { "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", + "InvocationTimeoutSeconds": { + "type": "string" + }, + "InvocationType": { + "type": "string" + }, + "Qualifier": { + "type": "string" + }, + "TenantId": { "type": "string" } }, "type": "object" }, - "AWS::Events::Rule.PlacementStrategy": { + "AWS::EventsV2::Subscriber.LogConfiguration": { "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 is 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", + "IncludePayload": { "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 is 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", + "Level": { "type": "string" } }, "type": "object" }, - "AWS::Events::Rule.RedshiftDataParameters": { + "AWS::EventsV2::Subscriber.MessageAttributeValue": { "additionalProperties": false, "properties": { - "Database": { - "markdownDescription": "The name of the database. Required when authenticating using temporary credentials.", - "title": "Database", - "type": "string" - }, - "DbUser": { - "markdownDescription": "The database user name. Required when authenticating using temporary credentials.", - "title": "DbUser", - "type": "string" - }, - "SecretManagerArn": { - "markdownDescription": "The name or ARN of the secret that enables access to the database. Required when authenticating using AWS Secrets Manager.", - "title": "SecretManagerArn", + "BinaryValue": { "type": "string" }, - "Sql": { - "markdownDescription": "The SQL statement text to run.", - "title": "Sql", + "DataType": { "type": "string" }, - "Sqls": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more SQL statements to run. The SQL statements are run as a single transaction. They run serially in the order of the array. Subsequent SQL statements don't start until the previous statement in the array completes. If any SQL statement fails, then because they are run as one transaction, all work is rolled back.", - "title": "Sqls", - "type": "array" - }, - "StatementName": { - "markdownDescription": "The name of the SQL statement. You can name the SQL statement when you create it to identify the query.", - "title": "StatementName", + "StringValue": { "type": "string" - }, - "WithEvent": { - "markdownDescription": "Indicates whether to send an event back to EventBridge after the SQL statement runs.", - "title": "WithEvent", - "type": "boolean" } }, "required": [ - "Database" + "DataType" ], "type": "object" }, - "AWS::Events::Rule.RetryPolicy": { + "AWS::EventsV2::Subscriber.OnFailureConfiguration": { "additionalProperties": false, "properties": { - "MaximumEventAgeInSeconds": { - "markdownDescription": "The maximum amount of time, in seconds, to continue to make retry attempts.", - "title": "MaximumEventAgeInSeconds", - "type": "number" - }, - "MaximumRetryAttempts": { - "markdownDescription": "The maximum number of retry attempts to make before the request fails. Retry attempts continue until either the maximum number of attempts is made or until the duration of the `MaximumEventAgeInSeconds` is met.", - "title": "MaximumRetryAttempts", - "type": "number" + "Arn": { + "type": "string" } }, "type": "object" }, - "AWS::Events::Rule.RunCommandParameters": { + "AWS::EventsV2::Subscriber.PointInTimeConfiguration": { "additionalProperties": false, "properties": { - "RunCommandTargets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" - }, - "markdownDescription": "Currently, we support including only one RunCommandTarget block, which specifies either an array of InstanceIds or a tag.", - "title": "RunCommandTargets", - "type": "array" + "EndPoint": { + "type": "number" + }, + "PointType": { + "type": "string" + }, + "StartingPoint": { + "type": "number" } }, "required": [ - "RunCommandTargets" + "PointType" ], "type": "object" }, - "AWS::Events::Rule.RunCommandTarget": { + "AWS::EventsV2::Subscriber.RetryPolicy": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "Can be either `tag:` *tag-key* or `InstanceIds` .", - "title": "Key", - "type": "string" + "MaxEventAgeInSeconds": { + "type": "number" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "If `Key` is `tag:` *tag-key* , `Values` is a list of tag values. If `Key` is `InstanceIds` , `Values` is a list of Amazon EC2 instance IDs.", - "title": "Values", - "type": "array" + "MaxRetryAttempts": { + "type": "number" + }, + "RetryStrategy": { + "type": "string" } }, - "required": [ - "Key", - "Values" - ], "type": "object" }, - "AWS::Events::Rule.SageMakerPipelineParameter": { + "AWS::EventsV2::Subscriber.SnsParameters": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "Name of parameter to start execution of a SageMaker AI Model Building Pipeline.", - "title": "Name", + "MessageAttributes": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.MessageAttributeValue" + } + }, + "type": "object" + }, + "MessageDeduplicationId": { "type": "string" }, - "Value": { - "markdownDescription": "Value of parameter to start execution of a SageMaker AI Model Building Pipeline.", - "title": "Value", + "MessageGroupId": { + "type": "string" + }, + "MessageStructure": { + "type": "string" + }, + "Subject": { "type": "string" } }, - "required": [ - "Name", - "Value" - ], "type": "object" }, - "AWS::Events::Rule.SageMakerPipelineParameters": { + "AWS::EventsV2::Subscriber.SqsParameters": { "additionalProperties": false, "properties": { - "PipelineParameterList": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameter" + "DelaySeconds": { + "type": "string" + }, + "MessageAttributes": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.MessageAttributeValue" + } }, - "markdownDescription": "List of Parameter names and values for SageMaker AI Model Building Pipeline execution.", - "title": "PipelineParameterList", - "type": "array" + "type": "object" + }, + "MessageDeduplicationId": { + "type": "string" + }, + "MessageGroupId": { + "type": "string" + }, + "MessageSystemAttributes": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.MessageAttributeValue" + } + }, + "type": "object" } }, "type": "object" }, - "AWS::Events::Rule.SqsParameters": { + "AWS::EventsV2::Subscriber.StepFunctionsParameters": { "additionalProperties": false, "properties": { - "MessageGroupId": { - "markdownDescription": "The ID of the message group to use as the target.", - "title": "MessageGroupId", + "InvocationTimeoutSeconds": { + "type": "string" + }, + "InvocationType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TraceHeader": { "type": "string" } }, - "required": [ - "MessageGroupId" - ], "type": "object" }, - "AWS::Events::Rule.Target": { + "AWS::EventsV2::Subscriber.Transformer": { "additionalProperties": false, "properties": { - "AppSyncParameters": { - "$ref": "#/definitions/AWS::Events::Rule.AppSyncParameters", - "markdownDescription": "Contains the GraphQL operation to be parsed and executed, if the event target is an AWS AppSync API.", - "title": "AppSyncParameters" - }, - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the target.", - "title": "Arn", - "type": "string" - }, - "BatchParameters": { - "$ref": "#/definitions/AWS::Events::Rule.BatchParameters", - "markdownDescription": "If the event target is an AWS Batch job, this contains the job definition, job name, and other parameters. For more information, see [Jobs](https://docs.aws.amazon.com/batch/latest/userguide/jobs.html) in the *AWS Batch User Guide* .", - "title": "BatchParameters" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig", - "markdownDescription": "The `DeadLetterConfig` that defines the target queue to send dead-letter queue events to.", - "title": "DeadLetterConfig" - }, - "EcsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.EcsParameters", - "markdownDescription": "Contains the Amazon ECS task definition and task count to be used, if the event target is an Amazon ECS task. For more information about Amazon ECS tasks, see [Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon EC2 Container Service Developer Guide* .", - "title": "EcsParameters" - }, - "HttpParameters": { - "$ref": "#/definitions/AWS::Events::Rule.HttpParameters", - "markdownDescription": "Contains the HTTP parameters to use when the target is a API Gateway endpoint or EventBridge ApiDestination.\n\nIf you specify an API Gateway API or EventBridge ApiDestination as a target, you can use this parameter to specify headers, path parameters, and query string keys/values as part of your target invoking request. If you're using ApiDestinations, the corresponding Connection can also have these values configured. In case of any conflicting keys, values from the Connection take precedence.", - "title": "HttpParameters" + "JsonataConfiguration": { + "$ref": "#/definitions/AWS::EventsV2::Subscriber.JsonataConfiguration" }, - "Id": { - "markdownDescription": "The ID of the target within the specified rule. Use this ID to reference the target when updating the rule. We recommend using a memorable and unique string.", - "title": "Id", + "Type": { "type": "string" - }, + } + }, + "type": "object" + }, + "AWS::EventsV2::Subscriber.UniversalTargetParameters": { + "additionalProperties": false, + "properties": { "Input": { - "markdownDescription": "Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target. For more information, see [The JavaScript Object Notation (JSON) Data Interchange Format](https://docs.aws.amazon.com/http://www.rfc-editor.org/rfc/rfc7159.txt) .", - "title": "Input", "type": "string" }, - "InputPath": { - "markdownDescription": "The value of the JSONPath that is used for extracting part of the matched event when passing it to the target. You may use JSON dot notation or bracket notation. For more information about JSON paths, see [JSONPath](https://docs.aws.amazon.com/http://goessner.net/articles/JsonPath/) .", - "title": "InputPath", - "type": "string" - }, - "InputTransformer": { - "$ref": "#/definitions/AWS::Events::Rule.InputTransformer", - "markdownDescription": "Settings to enable you to provide custom input to a target based on certain event data. You can extract one or more key-value pairs from the event and then use that data to send customized input to the target.", - "title": "InputTransformer" - }, - "KinesisParameters": { - "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters", - "markdownDescription": "The custom parameter you can use to control the shard assignment, when the target is a Kinesis data stream. If you do not include this parameter, the default is to use the `eventId` as the partition key.", - "title": "KinesisParameters" - }, - "RedshiftDataParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters", - "markdownDescription": "Contains the Amazon Redshift Data API parameters to use when the target is a Amazon Redshift cluster.\n\nIf you specify a Amazon Redshift Cluster as a Target, you can use this to specify parameters to invoke the Amazon Redshift Data API ExecuteStatement based on EventBridge events.", - "title": "RedshiftDataParameters" - }, - "RetryPolicy": { - "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy", - "markdownDescription": "The retry policy configuration to use for the dead-letter queue.", - "title": "RetryPolicy" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to be used for this target when the rule is triggered. If one rule triggers multiple targets, you can use a different IAM role for each target.", - "title": "RoleArn", + "InvocationTimeoutSeconds": { "type": "string" - }, - "RunCommandParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters", - "markdownDescription": "Parameters used when you are using the rule to invoke Amazon EC2 Run Command.", - "title": "RunCommandParameters" - }, - "SageMakerPipelineParameters": { - "$ref": "#/definitions/AWS::Events::Rule.SageMakerPipelineParameters", - "markdownDescription": "Contains the SageMaker AI Model Building Pipeline parameters to start execution of a SageMaker AI Model Building Pipeline.\n\nIf you specify a SageMaker AI Model Building Pipeline as a target, you can use this to specify parameters to start a pipeline execution based on EventBridge events.", - "title": "SageMakerPipelineParameters" - }, - "SqsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.SqsParameters", - "markdownDescription": "Contains the message group ID to use when the target is an Amazon SQS fair or FIFO queue.\n\nIf you specify a fair or FIFO queue as a target, the queue must have content-based deduplication enabled.", - "title": "SqsParameters" } }, "required": [ - "Arn", - "Id" + "Input" ], "type": "object" }, @@ -160244,39 +170486,97 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "An optional description for this segment.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "A name for the segment.", - "title": "Name", - "type": "string" - }, - "Pattern": { - "markdownDescription": "The pattern to use for the segment. For more information about pattern syntax, see [Segment rule pattern syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html#CloudWatch-Evidently-segments-syntax) .", - "title": "Pattern", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Assigns one or more tags (key-value pairs) to the feature.\n\nTags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.\n\nTags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.\n\nYou can associate as many as 50 tags with a feature.\n\nFor more information, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) .", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Name" - ], + "properties": { + "Description": { + "markdownDescription": "An optional description for this segment.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "A name for the segment.", + "title": "Name", + "type": "string" + }, + "Pattern": { + "markdownDescription": "The pattern to use for the segment. For more information about pattern syntax, see [Segment rule pattern syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html#CloudWatch-Evidently-segments-syntax) .", + "title": "Pattern", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Assigns one or more tags (key-value pairs) to the feature.\n\nTags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.\n\nTags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.\n\nYou can associate as many as 50 tags with a feature.\n\nFor more information, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Evidently::Segment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "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::Evidently::Segment" + "AWS::FIS::Action" ], "type": "string" }, @@ -160290,8 +170590,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -160956,6 +171255,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 +171848,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 +172023,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 +172246,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": { @@ -162951,6 +173676,134 @@ }, "type": "object" }, + "AWS::FSx::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": { + "FileSystemId": { + "type": "string" + }, + "Paths": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReleaseConfiguration": { + "$ref": "#/definitions/AWS::FSx::Task.ReleaseConfiguration" + }, + "Report": { + "$ref": "#/definitions/AWS::FSx::Task.CompletionReport" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FSx::Task" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FSx::Task.CompletionReport": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Format": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Scope": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::FSx::Task.DurationSinceLastAccess": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::FSx::Task.ReleaseConfiguration": { + "additionalProperties": false, + "properties": { + "DurationSinceLastAccess": { + "$ref": "#/definitions/AWS::FSx::Task.DurationSinceLastAccess" + } + }, + "type": "object" + }, "AWS::FSx::Volume": { "additionalProperties": false, "properties": { @@ -168671,6 +179524,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": { @@ -177562,37 +189036,453 @@ "additionalProperties": false, "properties": { "ContactPostPassDurationSeconds": { - "markdownDescription": "Amount of time, in seconds, after a contact ends that the Ground Station Dataflow Endpoint Group will be in a POSTPASS state.", + "markdownDescription": "Amount of time, in seconds, after a contact ends that the Ground Station Dataflow Endpoint Group will be in a POSTPASS state.", + "title": "ContactPostPassDurationSeconds", + "type": "number" + }, + "ContactPrePassDurationSeconds": { + "markdownDescription": "Amount of time, in seconds, before a contact starts that the Ground Station Dataflow Endpoint Group will be in a PREPASS state.", + "title": "ContactPrePassDurationSeconds", + "type": "number" + }, + "Endpoints": { + "items": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.CreateEndpointDetails" + }, + "markdownDescription": "List of endpoints for the dataflow endpoint group.", + "title": "Endpoints", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags assigned to a resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::DataflowEndpointGroupV2" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.ConnectionDetails": { + "additionalProperties": false, + "properties": { + "Mtu": { + "markdownDescription": "Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.", + "title": "Mtu", + "type": "number" + }, + "SocketAddress": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.SocketAddress", + "markdownDescription": "A socket address.", + "title": "SocketAddress" + } + }, + "required": [ + "SocketAddress" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.CreateEndpointDetails": { + "additionalProperties": false, + "properties": { + "DownlinkAwsGroundStationAgentEndpoint": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpoint", + "markdownDescription": "Definition for a downlink agent endpoint", + "title": "DownlinkAwsGroundStationAgentEndpoint" + }, + "UplinkAwsGroundStationAgentEndpoint": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpoint", + "markdownDescription": "Definition for an uplink agent endpoint", + "title": "UplinkAwsGroundStationAgentEndpoint" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpoint": { + "additionalProperties": false, + "properties": { + "DataflowDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkDataflowDetails", + "markdownDescription": "Dataflow details for the downlink endpoint", + "title": "DataflowDetails" + }, + "Name": { + "markdownDescription": "Downlink dataflow endpoint name", + "title": "Name", + "type": "string" + } + }, + "required": [ + "DataflowDetails", + "Name" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpointDetails": { + "additionalProperties": false, + "properties": { + "AgentStatus": { + "markdownDescription": "Status of the agent associated with the downlink dataflow endpoint", + "title": "AgentStatus", + "type": "string" + }, + "AuditResults": { + "markdownDescription": "Health audit results for the downlink dataflow endpoint", + "title": "AuditResults", + "type": "string" + }, + "DataflowDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkDataflowDetails", + "markdownDescription": "Dataflow details for the downlink endpoint", + "title": "DataflowDetails" + }, + "Name": { + "markdownDescription": "Downlink dataflow endpoint name", + "title": "Name", + "type": "string" + } + }, + "required": [ + "DataflowDetails", + "Name" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkConnectionDetails": { + "additionalProperties": false, + "properties": { + "AgentIpAndPortAddress": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.RangedConnectionDetails", + "markdownDescription": "Agent IP and port address for the downlink connection.", + "title": "AgentIpAndPortAddress" + }, + "EgressAddressAndPort": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.ConnectionDetails", + "markdownDescription": "Egress address and port for the downlink connection.", + "title": "EgressAddressAndPort" + } + }, + "required": [ + "AgentIpAndPortAddress", + "EgressAddressAndPort" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkDataflowDetails": { + "additionalProperties": false, + "properties": { + "AgentConnectionDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkConnectionDetails", + "markdownDescription": "Downlink connection details for customer to Agent and Agent to Ground Station", + "title": "AgentConnectionDetails" + } + }, + "required": [ + "AgentConnectionDetails" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.EndpointDetails": { + "additionalProperties": false, + "properties": { + "DownlinkAwsGroundStationAgentEndpoint": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpointDetails", + "markdownDescription": "Definition for a downlink agent endpoint", + "title": "DownlinkAwsGroundStationAgentEndpoint" + }, + "UplinkAwsGroundStationAgentEndpoint": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpointDetails", + "markdownDescription": "Definition for an uplink agent endpoint", + "title": "UplinkAwsGroundStationAgentEndpoint" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.IntegerRange": { + "additionalProperties": false, + "properties": { + "Maximum": { + "markdownDescription": "A maximum value.", + "title": "Maximum", + "type": "number" + }, + "Minimum": { + "markdownDescription": "A minimum value.", + "title": "Minimum", + "type": "number" + } + }, + "required": [ + "Maximum", + "Minimum" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.RangedConnectionDetails": { + "additionalProperties": false, + "properties": { + "Mtu": { + "markdownDescription": "Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.", + "title": "Mtu", + "type": "number" + }, + "SocketAddress": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.RangedSocketAddress", + "markdownDescription": "A ranged socket address.", + "title": "SocketAddress" + } + }, + "required": [ + "SocketAddress" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.RangedSocketAddress": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "IPv4 socket address.", + "title": "Name", + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.IntegerRange", + "markdownDescription": "Port range of a socket address.", + "title": "PortRange" + } + }, + "required": [ + "Name", + "PortRange" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.SocketAddress": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "Name of a socket address.", + "title": "Name", + "type": "string" + }, + "Port": { + "markdownDescription": "Port of a socket address.", + "title": "Port", + "type": "number" + } + }, + "required": [ + "Name", + "Port" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpoint": { + "additionalProperties": false, + "properties": { + "DataflowDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkDataflowDetails", + "markdownDescription": "Dataflow details for the uplink endpoint", + "title": "DataflowDetails" + }, + "Name": { + "markdownDescription": "Uplink dataflow endpoint name", + "title": "Name", + "type": "string" + } + }, + "required": [ + "DataflowDetails", + "Name" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpointDetails": { + "additionalProperties": false, + "properties": { + "AgentStatus": { + "markdownDescription": "Status of the agent associated with the uplink dataflow endpoint", + "title": "AgentStatus", + "type": "string" + }, + "AuditResults": { + "markdownDescription": "Health audit results for the uplink dataflow endpoint", + "title": "AuditResults", + "type": "string" + }, + "DataflowDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkDataflowDetails", + "markdownDescription": "Dataflow details for the uplink endpoint", + "title": "DataflowDetails" + }, + "Name": { + "markdownDescription": "Uplink dataflow endpoint name", + "title": "Name", + "type": "string" + } + }, + "required": [ + "DataflowDetails", + "Name" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.UplinkConnectionDetails": { + "additionalProperties": false, + "properties": { + "AgentIpAndPortAddress": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.RangedConnectionDetails", + "markdownDescription": "Agent IP and port address for the uplink connection.", + "title": "AgentIpAndPortAddress" + }, + "IngressAddressAndPort": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.ConnectionDetails", + "markdownDescription": "Ingress address and port for the uplink connection.", + "title": "IngressAddressAndPort" + } + }, + "required": [ + "AgentIpAndPortAddress", + "IngressAddressAndPort" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroupV2.UplinkDataflowDetails": { + "additionalProperties": false, + "properties": { + "AgentConnectionDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkConnectionDetails", + "markdownDescription": "Uplink connection details for customer to Agent and Agent to Ground Station", + "title": "AgentConnectionDetails" + } + }, + "required": [ + "AgentConnectionDetails" + ], + "type": "object" + }, + "AWS::GroundStation::MissionProfile": { + "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": { + "ContactPostPassDurationSeconds": { + "markdownDescription": "Amount of time in seconds after a contact ends that you\u2019d like to receive a Ground Station Contact State Change indicating the pass has finished.", "title": "ContactPostPassDurationSeconds", "type": "number" }, "ContactPrePassDurationSeconds": { - "markdownDescription": "Amount of time, in seconds, before a contact starts that the Ground Station Dataflow Endpoint Group will be in a PREPASS state.", + "markdownDescription": "Amount of time in seconds prior to contact start that you'd like to receive a Ground Station Contact State Change Event indicating an upcoming pass.", "title": "ContactPrePassDurationSeconds", "type": "number" }, - "Endpoints": { + "DataflowEdges": { "items": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.CreateEndpointDetails" + "$ref": "#/definitions/AWS::GroundStation::MissionProfile.DataflowEdge" }, - "markdownDescription": "List of endpoints for the dataflow endpoint group.", - "title": "Endpoints", + "markdownDescription": "A list containing lists of config ARNs. Each list of config ARNs is an edge, with a \"from\" config and a \"to\" config.", + "title": "DataflowEdges", "type": "array" }, + "MinimumViableContactDurationSeconds": { + "markdownDescription": "Minimum length of a contact in seconds that Ground Station will return when listing contacts. Ground Station will not return contacts shorter than this duration.", + "title": "MinimumViableContactDurationSeconds", + "type": "number" + }, + "Name": { + "markdownDescription": "The name of the mission profile.", + "title": "Name", + "type": "string" + }, + "StreamsKmsKey": { + "$ref": "#/definitions/AWS::GroundStation::MissionProfile.StreamsKmsKey", + "markdownDescription": "KMS key to use for encrypting streams.", + "title": "StreamsKmsKey" + }, + "StreamsKmsRole": { + "markdownDescription": "Role to use for encrypting streams with KMS key.", + "title": "StreamsKmsRole", + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Tags assigned to a resource.", + "markdownDescription": "Tags assigned to the mission profile.", "title": "Tags", "type": "array" + }, + "TelemetrySinkConfigArn": { + "type": "string" + }, + "TrackingConfigArn": { + "markdownDescription": "The ARN of a tracking config objects that defines how to track the satellite through the sky during a contact.", + "title": "TrackingConfigArn", + "type": "string" } }, + "required": [ + "DataflowEdges", + "MinimumViableContactDurationSeconds", + "Name", + "TrackingConfigArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::GroundStation::DataflowEndpointGroupV2" + "AWS::GroundStation::MissionProfile" ], "type": "string" }, @@ -177606,309 +189496,49 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.ConnectionDetails": { - "additionalProperties": false, - "properties": { - "Mtu": { - "markdownDescription": "Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.", - "title": "Mtu", - "type": "number" - }, - "SocketAddress": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.SocketAddress", - "markdownDescription": "A socket address.", - "title": "SocketAddress" - } - }, - "required": [ - "SocketAddress" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.CreateEndpointDetails": { - "additionalProperties": false, - "properties": { - "DownlinkAwsGroundStationAgentEndpoint": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpoint", - "markdownDescription": "Definition for a downlink agent endpoint", - "title": "DownlinkAwsGroundStationAgentEndpoint" - }, - "UplinkAwsGroundStationAgentEndpoint": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpoint", - "markdownDescription": "Definition for an uplink agent endpoint", - "title": "UplinkAwsGroundStationAgentEndpoint" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpoint": { - "additionalProperties": false, - "properties": { - "DataflowDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkDataflowDetails", - "markdownDescription": "Dataflow details for the downlink endpoint", - "title": "DataflowDetails" - }, - "Name": { - "markdownDescription": "Downlink dataflow endpoint name", - "title": "Name", - "type": "string" - } - }, - "required": [ - "DataflowDetails", - "Name" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpointDetails": { - "additionalProperties": false, - "properties": { - "AgentStatus": { - "markdownDescription": "Status of the agent associated with the downlink dataflow endpoint", - "title": "AgentStatus", - "type": "string" - }, - "AuditResults": { - "markdownDescription": "Health audit results for the downlink dataflow endpoint", - "title": "AuditResults", - "type": "string" - }, - "DataflowDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkDataflowDetails", - "markdownDescription": "Dataflow details for the downlink endpoint", - "title": "DataflowDetails" - }, - "Name": { - "markdownDescription": "Downlink dataflow endpoint name", - "title": "Name", - "type": "string" - } - }, - "required": [ - "DataflowDetails", - "Name" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkConnectionDetails": { - "additionalProperties": false, - "properties": { - "AgentIpAndPortAddress": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.RangedConnectionDetails", - "markdownDescription": "Agent IP and port address for the downlink connection.", - "title": "AgentIpAndPortAddress" - }, - "EgressAddressAndPort": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.ConnectionDetails", - "markdownDescription": "Egress address and port for the downlink connection.", - "title": "EgressAddressAndPort" - } - }, - "required": [ - "AgentIpAndPortAddress", - "EgressAddressAndPort" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.DownlinkDataflowDetails": { - "additionalProperties": false, - "properties": { - "AgentConnectionDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkConnectionDetails", - "markdownDescription": "Downlink connection details for customer to Agent and Agent to Ground Station", - "title": "AgentConnectionDetails" - } - }, - "required": [ - "AgentConnectionDetails" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.EndpointDetails": { - "additionalProperties": false, - "properties": { - "DownlinkAwsGroundStationAgentEndpoint": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.DownlinkAwsGroundStationAgentEndpointDetails", - "markdownDescription": "Definition for a downlink agent endpoint", - "title": "DownlinkAwsGroundStationAgentEndpoint" - }, - "UplinkAwsGroundStationAgentEndpoint": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpointDetails", - "markdownDescription": "Definition for an uplink agent endpoint", - "title": "UplinkAwsGroundStationAgentEndpoint" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.IntegerRange": { - "additionalProperties": false, - "properties": { - "Maximum": { - "markdownDescription": "A maximum value.", - "title": "Maximum", - "type": "number" - }, - "Minimum": { - "markdownDescription": "A minimum value.", - "title": "Minimum", - "type": "number" - } - }, - "required": [ - "Maximum", - "Minimum" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.RangedConnectionDetails": { - "additionalProperties": false, - "properties": { - "Mtu": { - "markdownDescription": "Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.", - "title": "Mtu", - "type": "number" - }, - "SocketAddress": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.RangedSocketAddress", - "markdownDescription": "A ranged socket address.", - "title": "SocketAddress" - } - }, - "required": [ - "SocketAddress" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.RangedSocketAddress": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "IPv4 socket address.", - "title": "Name", - "type": "string" - }, - "PortRange": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.IntegerRange", - "markdownDescription": "Port range of a socket address.", - "title": "PortRange" - } - }, - "required": [ - "Name", - "PortRange" + "Type", + "Properties" ], "type": "object" }, - "AWS::GroundStation::DataflowEndpointGroupV2.SocketAddress": { + "AWS::GroundStation::MissionProfile.DataflowEdge": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "Name of a socket address.", - "title": "Name", + "Destination": { + "markdownDescription": "The ARN of the destination for this dataflow edge. For example, specify the ARN of a dataflow endpoint config for a downlink edge or an antenna uplink config for an uplink edge.", + "title": "Destination", "type": "string" }, - "Port": { - "markdownDescription": "Port of a socket address.", - "title": "Port", - "type": "number" - } - }, - "required": [ - "Name", - "Port" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpoint": { - "additionalProperties": false, - "properties": { - "DataflowDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkDataflowDetails", - "markdownDescription": "Dataflow details for the uplink endpoint", - "title": "DataflowDetails" - }, - "Name": { - "markdownDescription": "Uplink dataflow endpoint name", - "title": "Name", + "Source": { + "markdownDescription": "The ARN of the source for this dataflow edge. For example, specify the ARN of an antenna downlink config for a downlink edge or a dataflow endpoint config for an uplink edge.", + "title": "Source", "type": "string" } }, - "required": [ - "DataflowDetails", - "Name" - ], "type": "object" }, - "AWS::GroundStation::DataflowEndpointGroupV2.UplinkAwsGroundStationAgentEndpointDetails": { + "AWS::GroundStation::MissionProfile.StreamsKmsKey": { "additionalProperties": false, "properties": { - "AgentStatus": { - "markdownDescription": "Status of the agent associated with the uplink dataflow endpoint", - "title": "AgentStatus", + "KmsAliasArn": { + "markdownDescription": "KMS Alias Arn.", + "title": "KmsAliasArn", "type": "string" }, - "AuditResults": { - "markdownDescription": "Health audit results for the uplink dataflow endpoint", - "title": "AuditResults", + "KmsAliasName": { + "markdownDescription": "KMS Alias Name.", + "title": "KmsAliasName", "type": "string" }, - "DataflowDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkDataflowDetails", - "markdownDescription": "Dataflow details for the uplink endpoint", - "title": "DataflowDetails" - }, - "Name": { - "markdownDescription": "Uplink dataflow endpoint name", - "title": "Name", + "KmsKeyArn": { + "markdownDescription": "KMS Key Arn.", + "title": "KmsKeyArn", "type": "string" } }, - "required": [ - "DataflowDetails", - "Name" - ], "type": "object" }, - "AWS::GroundStation::DataflowEndpointGroupV2.UplinkConnectionDetails": { - "additionalProperties": false, - "properties": { - "AgentIpAndPortAddress": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.RangedConnectionDetails", - "markdownDescription": "Agent IP and port address for the uplink connection.", - "title": "AgentIpAndPortAddress" - }, - "IngressAddressAndPort": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.ConnectionDetails", - "markdownDescription": "Ingress address and port for the uplink connection.", - "title": "IngressAddressAndPort" - } - }, - "required": [ - "AgentIpAndPortAddress", - "IngressAddressAndPort" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroupV2.UplinkDataflowDetails": { - "additionalProperties": false, - "properties": { - "AgentConnectionDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroupV2.UplinkConnectionDetails", - "markdownDescription": "Uplink connection details for customer to Agent and Agent to Ground Station", - "title": "AgentConnectionDetails" - } - }, - "required": [ - "AgentConnectionDetails" - ], - "type": "object" - }, - "AWS::GroundStation::MissionProfile": { + "AWS::GroundStation::Satellite": { "additionalProperties": false, "properties": { "Condition": { @@ -177942,73 +189572,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "ContactPostPassDurationSeconds": { - "markdownDescription": "Amount of time in seconds after a contact ends that you\u2019d like to receive a Ground Station Contact State Change indicating the pass has finished.", - "title": "ContactPostPassDurationSeconds", - "type": "number" - }, - "ContactPrePassDurationSeconds": { - "markdownDescription": "Amount of time in seconds prior to contact start that you'd like to receive a Ground Station Contact State Change Event indicating an upcoming pass.", - "title": "ContactPrePassDurationSeconds", - "type": "number" - }, - "DataflowEdges": { - "items": { - "$ref": "#/definitions/AWS::GroundStation::MissionProfile.DataflowEdge" - }, - "markdownDescription": "A list containing lists of config ARNs. Each list of config ARNs is an edge, with a \"from\" config and a \"to\" config.", - "title": "DataflowEdges", - "type": "array" - }, - "MinimumViableContactDurationSeconds": { - "markdownDescription": "Minimum length of a contact in seconds that Ground Station will return when listing contacts. Ground Station will not return contacts shorter than this duration.", - "title": "MinimumViableContactDurationSeconds", - "type": "number" - }, - "Name": { - "markdownDescription": "The name of the mission profile.", - "title": "Name", - "type": "string" - }, - "StreamsKmsKey": { - "$ref": "#/definitions/AWS::GroundStation::MissionProfile.StreamsKmsKey", - "markdownDescription": "KMS key to use for encrypting streams.", - "title": "StreamsKmsKey" - }, - "StreamsKmsRole": { - "markdownDescription": "Role to use for encrypting streams with KMS key.", - "title": "StreamsKmsRole", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags assigned to the mission profile.", - "title": "Tags", - "type": "array" - }, - "TelemetrySinkConfigArn": { - "type": "string" - }, - "TrackingConfigArn": { - "markdownDescription": "The ARN of a tracking config objects that defines how to track the satellite through the sky during a contact.", - "title": "TrackingConfigArn", - "type": "string" - } - }, - "required": [ - "DataflowEdges", - "MinimumViableContactDurationSeconds", - "Name", - "TrackingConfigArn" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::GroundStation::MissionProfile" + "AWS::GroundStation::Satellite" ], "type": "string" }, @@ -178022,46 +189591,23 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::GroundStation::MissionProfile.DataflowEdge": { + "AWS::GroundStation::Satellite.EphemerisMetaData": { "additionalProperties": false, "properties": { - "Destination": { - "markdownDescription": "The ARN of the destination for this dataflow edge. For example, specify the ARN of a dataflow endpoint config for a downlink edge or an antenna uplink config for an uplink edge.", - "title": "Destination", + "Epoch": { "type": "string" }, "Source": { - "markdownDescription": "The ARN of the source for this dataflow edge. For example, specify the ARN of an antenna downlink config for a downlink edge or a dataflow endpoint config for an uplink edge.", - "title": "Source", - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::MissionProfile.StreamsKmsKey": { - "additionalProperties": false, - "properties": { - "KmsAliasArn": { - "markdownDescription": "KMS Alias Arn.", - "title": "KmsAliasArn", - "type": "string" - }, - "KmsAliasName": { - "markdownDescription": "KMS Alias Name.", - "title": "KmsAliasName", - "type": "string" - }, - "KmsKeyArn": { - "markdownDescription": "KMS Key Arn.", - "title": "KmsKeyArn", "type": "string" } }, + "required": [ + "Source" + ], "type": "object" }, "AWS::GuardDuty::CustomDetectionRuleAssociation": { @@ -178558,6 +190104,12 @@ "title": "Lte", "type": "number" }, + "Matches": { + "items": { + "type": "string" + }, + "type": "array" + }, "Neq": { "items": { "type": "string" @@ -178573,6 +190125,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" @@ -179241,38 +190799,159 @@ "additionalProperties": false, "properties": { "Activate": { - "markdownDescription": "A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to consider the entries in this list and generate findings based on associated activity, this list must be active.", + "markdownDescription": "A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to consider the entries in this list and generate findings based on associated activity, this list must be active.", + "title": "Activate", + "type": "boolean" + }, + "DetectorId": { + "markdownDescription": "The unique regional detector ID of the GuardDuty account for which you want to create a threat entity set.\n\nTo find the `detectorId` in the current Region, see the Settings page in the GuardDuty console, or run the [ListDetectors](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API.", + "title": "DetectorId", + "type": "string" + }, + "ExpectedBucketOwner": { + "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.\n\nWhether or not you provide the account ID for this optional field, GuardDuty validates that the account ID associated with the `DetectorId` owns the S3 bucket in the `Location` field. If GuardDuty finds that this S3 bucket doesn't belong to the specified account ID, you will get an error at the time of activating this list.", + "title": "ExpectedBucketOwner", + "type": "string" + }, + "Format": { + "markdownDescription": "The format of the file that contains the threat entity set. For information about supported formats, see [List formats](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list) in the *Amazon GuardDuty User Guide* .", + "title": "Format", + "type": "string" + }, + "Location": { + "markdownDescription": "The URI of the file that contains the threat entity set.", + "title": "Location", + "type": "string" + }, + "Name": { + "markdownDescription": "The user-friendly name to identify the threat entity set. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::GuardDuty::ThreatEntitySet.TagItem" + }, + "markdownDescription": "The tags to be added to a new threat entity set resource. Each tag consists of a key and an optional value, both of which you define.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Format", + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::ThreatEntitySet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatEntitySet.TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The tag key.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The tag value. This is optional.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { + "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": { + "Activate": { + "markdownDescription": "A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to be able to generate findings based on an activity associated with these entries, this list must be active.", "title": "Activate", "type": "boolean" }, "DetectorId": { - "markdownDescription": "The unique regional detector ID of the GuardDuty account for which you want to create a threat entity set.\n\nTo find the `detectorId` in the current Region, see the Settings page in the GuardDuty console, or run the [ListDetectors](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API.", + "markdownDescription": "The unique ID of the detector of the GuardDuty account for which you want to create a `threatIntelSet` .\n\nTo find the `detectorId` in the current Region, see the\nSettings page in the GuardDuty console, or run the [ListDetectors](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API.", "title": "DetectorId", "type": "string" }, "ExpectedBucketOwner": { - "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.\n\nWhether or not you provide the account ID for this optional field, GuardDuty validates that the account ID associated with the `DetectorId` owns the S3 bucket in the `Location` field. If GuardDuty finds that this S3 bucket doesn't belong to the specified account ID, you will get an error at the time of activating this list.", + "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.\n\nWhen you provide this account ID, GuardDuty will validate that the S3 bucket belongs to this account. If you don't specify an account ID owner, GuardDuty doesn't perform any validation.", "title": "ExpectedBucketOwner", "type": "string" }, "Format": { - "markdownDescription": "The format of the file that contains the threat entity set. For information about supported formats, see [List formats](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list) in the *Amazon GuardDuty User Guide* .", + "markdownDescription": "The format of the file that contains the `ThreatIntelSet` . For information about supported formats, see [List formats](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list) in the *Amazon GuardDuty User Guide* .", "title": "Format", "type": "string" }, "Location": { - "markdownDescription": "The URI of the file that contains the threat entity set.", + "markdownDescription": "The URI of the file that contains the ThreatIntelSet.", "title": "Location", "type": "string" }, "Name": { - "markdownDescription": "The user-friendly name to identify the threat entity set. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).", + "markdownDescription": "The user-friendly name to identify the ThreatIntelSet.\n\nThe name of your list must be unique within an AWS account and Region. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).", "title": "Name", "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::GuardDuty::ThreatEntitySet.TagItem" + "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet.TagItem" }, "markdownDescription": "The tags to be added to a new threat entity set resource. Each tag consists of a key and an optional value, both of which you define.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", "title": "Tags", @@ -179287,7 +190966,7 @@ }, "Type": { "enum": [ - "AWS::GuardDuty::ThreatEntitySet" + "AWS::GuardDuty::ThreatIntelSet" ], "type": "string" }, @@ -179306,7 +190985,7 @@ ], "type": "object" }, - "AWS::GuardDuty::ThreatEntitySet.TagItem": { + "AWS::GuardDuty::ThreatIntelSet.TagItem": { "additionalProperties": false, "properties": { "Key": { @@ -179315,7 +190994,7 @@ "type": "string" }, "Value": { - "markdownDescription": "The tag value. This is optional.", + "markdownDescription": "The tag value.", "title": "Value", "type": "string" } @@ -179326,7 +191005,7 @@ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::GuardDuty::TrustedEntitySet": { "additionalProperties": false, "properties": { "Condition": { @@ -179362,40 +191041,40 @@ "additionalProperties": false, "properties": { "Activate": { - "markdownDescription": "A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to be able to generate findings based on an activity associated with these entries, this list must be active.", + "markdownDescription": "A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to prevent generating findings based on an activity associated with these entries, this list must be active.", "title": "Activate", "type": "boolean" }, "DetectorId": { - "markdownDescription": "The unique ID of the detector of the GuardDuty account for which you want to create a `threatIntelSet` .\n\nTo find the `detectorId` in the current Region, see the\nSettings page in the GuardDuty console, or run the [ListDetectors](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API.", + "markdownDescription": "The unique regional detector ID of the GuardDuty account for which you want to create a trusted entity set.\n\nTo find the `detectorId` in the current Region, see the Settings page in the GuardDuty console, or run the [ListDetectors](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API.", "title": "DetectorId", "type": "string" }, "ExpectedBucketOwner": { - "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.\n\nWhen you provide this account ID, GuardDuty will validate that the S3 bucket belongs to this account. If you don't specify an account ID owner, GuardDuty doesn't perform any validation.", + "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.\n\nWhether or not you provide the account ID for this optional field, GuardDuty validates that the account ID associated with the `DetectorId` value owns the S3 bucket in the `Location` field. If GuardDuty finds that this S3 bucket doesn't belong to the specified account ID, you will get an error at the time of activating this list.", "title": "ExpectedBucketOwner", "type": "string" }, "Format": { - "markdownDescription": "The format of the file that contains the `ThreatIntelSet` . For information about supported formats, see [List formats](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list) in the *Amazon GuardDuty User Guide* .", + "markdownDescription": "The format of the file that contains the trusted entity set. For information about supported formats, see [List formats](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list) in the *Amazon GuardDuty User Guide* .", "title": "Format", "type": "string" }, "Location": { - "markdownDescription": "The URI of the file that contains the ThreatIntelSet.", + "markdownDescription": "The URI of the file that contains the trusted entity set.", "title": "Location", "type": "string" }, "Name": { - "markdownDescription": "The user-friendly name to identify the ThreatIntelSet.\n\nThe name of your list must be unique within an AWS account and Region. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).", + "markdownDescription": "A user-friendly name to identify the trusted entity set. Valid characters include lowercase letters, uppercase letters, numbers, dash(-), and underscore (_).", "title": "Name", "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet.TagItem" + "$ref": "#/definitions/AWS::GuardDuty::TrustedEntitySet.TagItem" }, - "markdownDescription": "The tags to be added to a new threat entity set resource. Each tag consists of a key and an optional value, both of which you define.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "markdownDescription": "The tags to be added to a new trusted entity set resource. Each tag consists of a key and an optional value, both of which you define.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", "title": "Tags", "type": "array" } @@ -179408,7 +191087,7 @@ }, "Type": { "enum": [ - "AWS::GuardDuty::ThreatIntelSet" + "AWS::GuardDuty::TrustedEntitySet" ], "type": "string" }, @@ -179427,7 +191106,7 @@ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet.TagItem": { + "AWS::GuardDuty::TrustedEntitySet.TagItem": { "additionalProperties": false, "properties": { "Key": { @@ -179436,7 +191115,7 @@ "type": "string" }, "Value": { - "markdownDescription": "The tag value.", + "markdownDescription": "The tag value. This is optional.", "title": "Value", "type": "string" } @@ -179447,7 +191126,7 @@ ], "type": "object" }, - "AWS::GuardDuty::TrustedEntitySet": { + "AWS::HealthAgent::Domain": { "additionalProperties": false, "properties": { "Condition": { @@ -179482,54 +191161,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "markdownDescription": "A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to prevent generating findings based on an activity associated with these entries, this list must be active.", - "title": "Activate", - "type": "boolean" - }, - "DetectorId": { - "markdownDescription": "The unique regional detector ID of the GuardDuty account for which you want to create a trusted entity set.\n\nTo find the `detectorId` in the current Region, see the Settings page in the GuardDuty console, or run the [ListDetectors](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API.", - "title": "DetectorId", - "type": "string" - }, - "ExpectedBucketOwner": { - "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.\n\nWhether or not you provide the account ID for this optional field, GuardDuty validates that the account ID associated with the `DetectorId` value owns the S3 bucket in the `Location` field. If GuardDuty finds that this S3 bucket doesn't belong to the specified account ID, you will get an error at the time of activating this list.", - "title": "ExpectedBucketOwner", - "type": "string" - }, - "Format": { - "markdownDescription": "The format of the file that contains the trusted entity set. For information about supported formats, see [List formats](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list) in the *Amazon GuardDuty User Guide* .", - "title": "Format", - "type": "string" - }, - "Location": { - "markdownDescription": "The URI of the file that contains the trusted entity set.", - "title": "Location", - "type": "string" - }, "Name": { - "markdownDescription": "A user-friendly name to identify the trusted entity set. Valid characters include lowercase letters, uppercase letters, numbers, dash(-), and underscore (_).", - "title": "Name", "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::GuardDuty::TrustedEntitySet.TagItem" + "$ref": "#/definitions/AWS::HealthAgent::Domain.TagsItems" }, - "markdownDescription": "The tags to be added to a new trusted entity set resource. Each tag consists of a key and an optional value, both of which you define.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", "type": "array" } }, "required": [ - "Format", - "Location" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::TrustedEntitySet" + "AWS::HealthAgent::Domain" ], "type": "string" }, @@ -179548,17 +191197,25 @@ ], "type": "object" }, - "AWS::GuardDuty::TrustedEntitySet.TagItem": { + "AWS::HealthAgent::Domain.EncryptionContext": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::HealthAgent::Domain.TagsItems": { "additionalProperties": false, "properties": { "Key": { - "markdownDescription": "The tag key.", - "title": "Key", "type": "string" }, "Value": { - "markdownDescription": "The tag value. This is optional.", - "title": "Value", "type": "string" } }, @@ -179568,6 +191225,71 @@ ], "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 +205737,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 +205784,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": { @@ -199181,6 +210932,87 @@ }, "type": "object" }, + "AWS::IoTSiteWise::Application": { + "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" + }, + "IdcInstanceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkspaceName": { + "type": "string" + } + }, + "required": [ + "Name", + "WorkspaceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::IoTSiteWise::Asset": { "additionalProperties": false, "properties": { @@ -200185,6 +212017,9 @@ "Properties": { "additionalProperties": false, "properties": { + "DatasetConfig": { + "$ref": "#/definitions/AWS::IoTSiteWise::Dataset.DatasetConfig" + }, "DatasetDescription": { "markdownDescription": "A description about the dataset, and its functionality.", "title": "DatasetDescription", @@ -200200,6 +212035,9 @@ "markdownDescription": "The data source for the dataset.", "title": "DatasetSource" }, + "DatasetType": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -200207,11 +212045,13 @@ "markdownDescription": "A list of key-value pairs that contain metadata for the access policy. For more information, see [Tagging your AWS IoT SiteWise resources](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html) in the *AWS IoT SiteWise User Guide* .", "title": "Tags", "type": "array" + }, + "WorkspaceName": { + "type": "string" } }, "required": [ - "DatasetName", - "DatasetSource" + "DatasetName" ], "type": "object" }, @@ -200236,6 +212076,15 @@ ], "type": "object" }, + "AWS::IoTSiteWise::Dataset.DatasetConfig": { + "additionalProperties": false, + "properties": { + "Session": { + "$ref": "#/definitions/AWS::IoTSiteWise::Dataset.SessionConfig" + } + }, + "type": "object" + }, "AWS::IoTSiteWise::Dataset.DatasetSource": { "additionalProperties": false, "properties": { @@ -200281,6 +212130,22 @@ ], "type": "object" }, + "AWS::IoTSiteWise::Dataset.SessionConfig": { + "additionalProperties": false, + "properties": { + "SessionEndTime": { + "type": "string" + }, + "SessionStartTime": { + "type": "string" + } + }, + "required": [ + "SessionEndTime", + "SessionStartTime" + ], + "type": "object" + }, "AWS::IoTSiteWise::Dataset.SourceDetail": { "additionalProperties": false, "properties": { @@ -200454,6 +212319,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 +212694,372 @@ ], "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::TimeSeries": { + "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": { + "AssetId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::TimeSeries" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "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 +217743,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 +218322,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 +218555,15 @@ } }, "required": [ - "IndexId", - "Name", - "RoleArn", - "SourceS3Path" + "ChannelName", + "ServiceExecutionRoleARN", + "StreamConfigurationList" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::Thesaurus" + "AWS::Kinesis::Channel" ], "type": "string" }, @@ -205915,118 +218582,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 +224092,15 @@ ], "type": "object" }, + "AWS::LakeFormation::PrincipalPermissions.CatalogResource": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, "AWS::LakeFormation::PrincipalPermissions.ColumnWildcard": { "additionalProperties": false, "properties": { @@ -211498,9 +224279,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 +224687,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 +224722,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 +231238,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 +231588,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 +234058,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": { @@ -225468,6 +238437,514 @@ }, "type": "object" }, + "AWS::MGN::Connector": { + "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" + }, + "SsmCommandConfig": { + "$ref": "#/definitions/AWS::MGN::Connector.ConnectorSsmCommandConfig" + }, + "SsmInstanceID": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "SsmInstanceID" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MGN::Connector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MGN::Connector.ConnectorSsmCommandConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupName": { + "type": "string" + }, + "CloudWatchOutputEnabled": { + "type": "boolean" + }, + "OutputS3BucketName": { + "type": "string" + }, + "S3OutputEnabled": { + "type": "boolean" + } + }, + "required": [ + "CloudWatchOutputEnabled", + "S3OutputEnabled" + ], + "type": "object" + }, + "AWS::MGN::Export": { + "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": { + "S3Bucket": { + "type": "string" + }, + "S3BucketOwner": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MGN::Export" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MGN::Export.ExportTaskSummary": { + "additionalProperties": false, + "properties": { + "ApplicationsCount": { + "type": "number" + }, + "ServersCount": { + "type": "number" + }, + "WavesCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MGN::Import": { + "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": { + "S3BucketSource": { + "$ref": "#/definitions/AWS::MGN::Import.S3BucketSource" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "S3BucketSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MGN::Import" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MGN::Import.ImportTaskSummary": { + "additionalProperties": false, + "properties": { + "Applications": { + "$ref": "#/definitions/AWS::MGN::Import.ImportTaskSummaryCategory" + }, + "Servers": { + "$ref": "#/definitions/AWS::MGN::Import.ImportTaskSummaryCategory" + }, + "Waves": { + "$ref": "#/definitions/AWS::MGN::Import.ImportTaskSummaryCategory" + } + }, + "type": "object" + }, + "AWS::MGN::Import.ImportTaskSummaryCategory": { + "additionalProperties": false, + "properties": { + "CreatedCount": { + "type": "number" + }, + "ModifiedCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MGN::Import.S3BucketSource": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3BucketOwner": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::MGN::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": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "BootMode": { + "type": "string" + }, + "CopyPrivateIp": { + "type": "boolean" + }, + "CopyTags": { + "type": "boolean" + }, + "EnableMapAutoTagging": { + "type": "boolean" + }, + "EnableParametersEncryption": { + "type": "boolean" + }, + "LargeVolumeConf": { + "$ref": "#/definitions/AWS::MGN::LaunchConfigurationTemplate.LaunchTemplateDiskConf" + }, + "LaunchDisposition": { + "type": "string" + }, + "Licensing": { + "$ref": "#/definitions/AWS::MGN::LaunchConfigurationTemplate.Licensing" + }, + "MapAutoTaggingMpeID": { + "type": "string" + }, + "ParametersEncryptionKey": { + "type": "string" + }, + "PostLaunchActions": { + "$ref": "#/definitions/AWS::MGN::LaunchConfigurationTemplate.PostLaunchActions" + }, + "SmallVolumeConf": { + "$ref": "#/definitions/AWS::MGN::LaunchConfigurationTemplate.LaunchTemplateDiskConf" + }, + "SmallVolumeMaxSize": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetInstanceTypeRightSizingMethod": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MGN::LaunchConfigurationTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MGN::LaunchConfigurationTemplate.LaunchTemplateDiskConf": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "Throughput": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::LaunchConfigurationTemplate.Licensing": { + "additionalProperties": false, + "properties": { + "OsByol": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MGN::LaunchConfigurationTemplate.PostLaunchActions": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupName": { + "type": "string" + }, + "Deployment": { + "type": "string" + }, + "S3LogBucket": { + "type": "string" + }, + "S3OutputKeyPrefix": { + "type": "string" + }, + "SsmDocuments": { + "items": { + "$ref": "#/definitions/AWS::MGN::LaunchConfigurationTemplate.SsmDocument" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MGN::LaunchConfigurationTemplate.SsmDocument": { + "additionalProperties": false, + "properties": { + "ActionName": { + "type": "string" + }, + "ExternalParameters": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::MGN::LaunchConfigurationTemplate.SsmExternalParameter" + } + }, + "type": "object" + }, + "MustSucceedForCutover": { + "type": "boolean" + }, + "Parameters": { + "type": "object" + }, + "SsmDocumentName": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + } + }, + "required": [ + "ActionName", + "SsmDocumentName" + ], + "type": "object" + }, + "AWS::MGN::LaunchConfigurationTemplate.SsmExternalParameter": { + "additionalProperties": false, + "properties": { + "DynamicPath": { + "type": "string" + } + }, + "required": [ + "DynamicPath" + ], + "type": "object" + }, "AWS::MGN::NetworkMigrationDefinition": { "additionalProperties": false, "properties": { @@ -225502,55 +238979,186 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ScopeTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SourceConfigurations": { - "items": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.SourceConfiguration" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetDeployment": { - "type": "string" - }, - "TargetNetwork": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.TargetNetwork" - }, - "TargetS3Configuration": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.TargetS3Configuration" - } - }, - "required": [ - "Name", - "SourceConfigurations", - "TargetNetwork", - "TargetS3Configuration" - ], + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ScopeTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SourceConfigurations": { + "items": { + "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.SourceConfiguration" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetDeployment": { + "type": "string" + }, + "TargetNetwork": { + "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.TargetNetwork" + }, + "TargetS3Configuration": { + "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.TargetS3Configuration" + } + }, + "required": [ + "Name", + "SourceConfigurations", + "TargetNetwork", + "TargetS3Configuration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MGN::NetworkMigrationDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MGN::NetworkMigrationDefinition.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "SourceEnvironment": { + "type": "string" + }, + "SourceS3Configuration": { + "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.SourceS3Configuration" + } + }, + "required": [ + "SourceEnvironment", + "SourceS3Configuration" + ], + "type": "object" + }, + "AWS::MGN::NetworkMigrationDefinition.SourceS3Configuration": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3BucketOwner": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3BucketOwner", + "S3Key" + ], + "type": "object" + }, + "AWS::MGN::NetworkMigrationDefinition.TargetNetwork": { + "additionalProperties": false, + "properties": { + "InboundCidr": { + "type": "string" + }, + "InspectionCidr": { + "type": "string" + }, + "OutboundCidr": { + "type": "string" + }, + "Topology": { + "type": "string" + } + }, + "required": [ + "Topology" + ], + "type": "object" + }, + "AWS::MGN::NetworkMigrationDefinition.TargetS3Configuration": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3BucketOwner": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3BucketOwner" + ], + "type": "object" + }, + "AWS::MGN::SourceServer": { + "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::MGN::NetworkMigrationDefinition" + "AWS::MGN::SourceServer" ], "type": "string" }, @@ -225564,82 +239172,296 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.SourceConfiguration": { + "AWS::MGN::SourceServer.CPU": { "additionalProperties": false, "properties": { - "SourceEnvironment": { + "Cores": { + "type": "number" + }, + "ModelName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.DataReplicationInfo": { + "additionalProperties": false, + "properties": { + "DataReplicationInitiation": { + "$ref": "#/definitions/AWS::MGN::SourceServer.DataReplicationInitiation" + }, + "DataReplicationState": { "type": "string" }, - "SourceS3Configuration": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.SourceS3Configuration" + "LagDuration": { + "type": "string" + }, + "LastSnapshotDateTime": { + "type": "string" + }, + "ReplicatedDisks": { + "items": { + "$ref": "#/definitions/AWS::MGN::SourceServer.DataReplicationInfoReplicatedDisk" + }, + "type": "array" } }, - "required": [ - "SourceEnvironment", - "SourceS3Configuration" - ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.SourceS3Configuration": { + "AWS::MGN::SourceServer.DataReplicationInfoReplicatedDisk": { "additionalProperties": false, "properties": { - "S3Bucket": { + "BackloggedStorageBytes": { + "type": "number" + }, + "DeviceName": { "type": "string" }, - "S3BucketOwner": { + "ReplicatedStorageBytes": { + "type": "number" + }, + "RescannedStorageBytes": { + "type": "number" + }, + "TotalStorageBytes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.DataReplicationInitiation": { + "additionalProperties": false, + "properties": { + "StartDateTime": { "type": "string" }, - "S3Key": { + "Steps": { + "items": { + "$ref": "#/definitions/AWS::MGN::SourceServer.DataReplicationInitiationStep" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.DataReplicationInitiationStep": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Status": { "type": "string" } }, - "required": [ - "S3Bucket", - "S3BucketOwner", - "S3Key" - ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.TargetNetwork": { + "AWS::MGN::SourceServer.Disk": { "additionalProperties": false, "properties": { - "InboundCidr": { + "Bytes": { + "type": "number" + }, + "DeviceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.IdentificationHints": { + "additionalProperties": false, + "properties": { + "AwsInstanceID": { "type": "string" }, - "InspectionCidr": { + "Fqdn": { "type": "string" }, - "OutboundCidr": { + "Hostname": { "type": "string" }, - "Topology": { + "VmPath": { + "type": "string" + }, + "VmWareUuid": { "type": "string" } }, - "required": [ - "Topology" - ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.TargetS3Configuration": { + "AWS::MGN::SourceServer.LaunchedInstance": { "additionalProperties": false, "properties": { - "S3Bucket": { + "Ec2InstanceID": { "type": "string" }, - "S3BucketOwner": { + "FirstBoot": { + "type": "string" + }, + "JobID": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.LifeCycle": { + "additionalProperties": false, + "properties": { + "AddedToServiceDateTime": { + "type": "string" + }, + "ElapsedReplicationDuration": { + "type": "string" + }, + "FirstByteDateTime": { + "type": "string" + }, + "LastCutover": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleLastCutover" + }, + "LastSeenByServiceDateTime": { + "type": "string" + }, + "LastTest": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleLastTest" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.LifeCycleEvent": { + "additionalProperties": false, + "properties": { + "ApiCallDateTime": { + "type": "string" + }, + "JobID": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.LifeCycleEventNoJob": { + "additionalProperties": false, + "properties": { + "ApiCallDateTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.LifeCycleLastCutover": { + "additionalProperties": false, + "properties": { + "Finalized": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleEventNoJob" + }, + "Initiated": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleEvent" + }, + "Reverted": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleEventNoJob" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.LifeCycleLastTest": { + "additionalProperties": false, + "properties": { + "Finalized": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleEventNoJob" + }, + "Initiated": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleEvent" + }, + "Reverted": { + "$ref": "#/definitions/AWS::MGN::SourceServer.LifeCycleEventNoJob" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.NetworkInterface": { + "additionalProperties": false, + "properties": { + "Ips": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IsPrimary": { + "type": "boolean" + }, + "MacAddress": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.OS": { + "additionalProperties": false, + "properties": { + "FullString": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.SourceProperties": { + "additionalProperties": false, + "properties": { + "Cpus": { + "items": { + "$ref": "#/definitions/AWS::MGN::SourceServer.CPU" + }, + "type": "array" + }, + "Disks": { + "items": { + "$ref": "#/definitions/AWS::MGN::SourceServer.Disk" + }, + "type": "array" + }, + "IdentificationHints": { + "$ref": "#/definitions/AWS::MGN::SourceServer.IdentificationHints" + }, + "LastUpdatedDateTime": { + "type": "string" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::MGN::SourceServer.NetworkInterface" + }, + "type": "array" + }, + "Os": { + "$ref": "#/definitions/AWS::MGN::SourceServer.OS" + }, + "RamBytes": { + "type": "number" + }, + "RecommendedInstanceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MGN::SourceServer.SourceServerConnectorAction": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "CredentialsSecretArn": { "type": "string" } }, - "required": [ - "S3Bucket", - "S3BucketOwner" - ], "type": "object" }, "AWS::MPA::ApprovalTeam": { @@ -228868,39 +242690,278 @@ "Properties": { "additionalProperties": false, "properties": { - "Criteria": { - "$ref": "#/definitions/AWS::Macie::AllowList.Criteria", - "markdownDescription": "The criteria that specify the text or text pattern to ignore. The criteria can be the location and name of an Amazon S3 object that lists specific text to ignore ( `S3WordsList` ), or a regular expression ( `Regex` ) that defines a text pattern to ignore.", - "title": "Criteria" + "Criteria": { + "$ref": "#/definitions/AWS::Macie::AllowList.Criteria", + "markdownDescription": "The criteria that specify the text or text pattern to ignore. The criteria can be the location and name of an Amazon S3 object that lists specific text to ignore ( `S3WordsList` ), or a regular expression ( `Regex` ) that defines a text pattern to ignore.", + "title": "Criteria" + }, + "Description": { + "markdownDescription": "A custom description of the allow list. The description can contain 1-512 characters.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "A custom name for the allow list. The name can contain 1-128 characters.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to the allow list.\n\nFor more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Criteria", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::AllowList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::AllowList.Criteria": { + "additionalProperties": false, + "properties": { + "Regex": { + "markdownDescription": "The regular expression ( *regex* ) that defines the text pattern to ignore. The expression can contain 1-512 characters.", + "title": "Regex", + "type": "string" + }, + "S3WordsList": { + "$ref": "#/definitions/AWS::Macie::AllowList.S3WordsList", + "markdownDescription": "The location and name of an Amazon S3 object that lists specific text to ignore.", + "title": "S3WordsList" + } + }, + "type": "object" + }, + "AWS::Macie::AllowList.S3WordsList": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "The full name of the S3 bucket that contains the object. This value correlates to the `Name` field of a bucket's properties in Amazon S3 .\n\nThis value is case sensitive. In addition, don't use wildcard characters or specify partial values for the name.", + "title": "BucketName", + "type": "string" + }, + "ObjectKey": { + "markdownDescription": "The full name of the S3 object. This value correlates to the `Key` field of an object's properties in Amazon S3 . If the name includes a path, include the complete path. For example, `AllowLists/Macie/MyList.txt` .\n\nThis value is case sensitive. In addition, don't use wildcard characters or specify partial values for the name.", + "title": "ObjectKey", + "type": "string" + } + }, + "required": [ + "BucketName", + "ObjectKey" + ], + "type": "object" + }, + "AWS::Macie::CustomDataIdentifier": { + "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": { + "markdownDescription": "A custom description of the custom data identifier. The description can contain 1-512 characters.\n\nAvoid including sensitive data in the description. Users of the account might be able to see the description, depending on the actions that they're allowed to perform in Amazon Macie .", + "title": "Description", + "type": "string" + }, + "IgnoreWords": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of character sequences ( *ignore words* ) to exclude from the results. If text matches the regular expression ( `Regex` ) but it contains a string in this array, Amazon Macie ignores the text and doesn't include it in the results.\n\nThe array can contain 1-10 ignore words. Each ignore word can contain 4-90 UTF-8 characters. Ignore words are case sensitive.", + "title": "IgnoreWords", + "type": "array" + }, + "Keywords": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of character sequences ( *keywords* ), one of which must precede and be in proximity ( `MaximumMatchDistance` ) of the regular expression ( `Regex` ) to match.\n\nThe array can contain 1-50 keywords. Each keyword can contain 3-90 UTF-8 characters. Keywords aren't case sensitive.", + "title": "Keywords", + "type": "array" + }, + "MaximumMatchDistance": { + "markdownDescription": "The maximum number of characters that can exist between the end of at least one complete character sequence specified by the `Keywords` array and the end of text that matches the regular expression ( `Regex` ). If a complete keyword precedes all the text that matches the regular expression and the keyword is within the specified distance, Amazon Macie includes the result.\n\nThe distance can be 1-300 characters. The default value is 50.", + "title": "MaximumMatchDistance", + "type": "number" + }, + "Name": { + "markdownDescription": "A custom name for the custom data identifier. The name can contain 1-128 characters.\n\nAvoid including sensitive data in the name of a custom data identifier. Users of the account might be able to see the name, depending on the actions that they're allowed to perform in Amazon Macie .", + "title": "Name", + "type": "string" + }, + "Regex": { + "markdownDescription": "The regular expression ( *regex* ) that defines the text pattern to match. The expression can contain 1-512 characters.", + "title": "Regex", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to the custom data identifier.\n\nFor more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name", + "Regex" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::CustomDataIdentifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter": { + "additionalProperties": false, + "properties": { + "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": { + "Action": { + "markdownDescription": "The action to perform on findings that match the filter criteria ( `FindingCriteria` ). Valid values are:\n\n- `ARCHIVE` - Suppress (automatically archive) the findings.\n- `NOOP` - Don't perform any action on the findings.", + "title": "Action", + "type": "string" }, "Description": { - "markdownDescription": "A custom description of the allow list. The description can contain 1-512 characters.", + "markdownDescription": "A custom description of the findings filter. The description can contain 1-512 characters.\n\nAvoid including sensitive data in the description. Users of the account might be able to see the description, depending on the actions that they're allowed to perform in Amazon Macie .", "title": "Description", "type": "string" }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria", + "markdownDescription": "The criteria to use to filter findings.", + "title": "FindingCriteria" + }, "Name": { - "markdownDescription": "A custom name for the allow list. The name can contain 1-128 characters.", + "markdownDescription": "A custom name for the findings filter. The name can contain 3-64 characters.\n\nAvoid including sensitive data in the name. Users of the account might be able to see the name, depending on the actions that they're allowed to perform in Amazon Macie .", "title": "Name", "type": "string" }, + "Position": { + "markdownDescription": "The position of the findings filter in the list of saved filter rules on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to findings.", + "title": "Position", + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to the allow list.\n\nFor more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "markdownDescription": "An array of key-value pairs to apply to the findings filter.\n\nFor more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", "title": "Tags", "type": "array" } }, "required": [ - "Criteria", + "FindingCriteria", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Macie::AllowList" + "AWS::Macie::FindingsFilter" ], "type": "string" }, @@ -228919,150 +242980,66 @@ ], "type": "object" }, - "AWS::Macie::AllowList.Criteria": { + "AWS::Macie::FindingsFilter.CriterionAdditionalProperties": { "additionalProperties": false, "properties": { - "Regex": { - "markdownDescription": "The regular expression ( *regex* ) that defines the text pattern to ignore. The expression can contain 1-512 characters.", - "title": "Regex", - "type": "string" + "eq": { + "items": { + "type": "string" + }, + "markdownDescription": "The value for the specified property matches (equals) the specified value. If you specify multiple values, Amazon Macie uses OR logic to join the values.", + "title": "eq", + "type": "array" }, - "S3WordsList": { - "$ref": "#/definitions/AWS::Macie::AllowList.S3WordsList", - "markdownDescription": "The location and name of an Amazon S3 object that lists specific text to ignore.", - "title": "S3WordsList" - } - }, - "type": "object" - }, - "AWS::Macie::AllowList.S3WordsList": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The full name of the S3 bucket that contains the object. This value correlates to the `Name` field of a bucket's properties in Amazon S3 .\n\nThis value is case sensitive. In addition, don't use wildcard characters or specify partial values for the name.", - "title": "BucketName", - "type": "string" + "gt": { + "markdownDescription": "The value for the specified property is greater than the specified value.", + "title": "gt", + "type": "number" }, - "ObjectKey": { - "markdownDescription": "The full name of the S3 object. This value correlates to the `Key` field of an object's properties in Amazon S3 . If the name includes a path, include the complete path. For example, `AllowLists/Macie/MyList.txt` .\n\nThis value is case sensitive. In addition, don't use wildcard characters or specify partial values for the name.", - "title": "ObjectKey", - "type": "string" + "gte": { + "markdownDescription": "The value for the specified property is greater than or equal to the specified value.", + "title": "gte", + "type": "number" + }, + "lt": { + "markdownDescription": "The value for the specified property is less than the specified value.", + "title": "lt", + "type": "number" + }, + "lte": { + "markdownDescription": "The value for the specified property is less than or equal to the specified value.", + "title": "lte", + "type": "number" + }, + "neq": { + "items": { + "type": "string" + }, + "markdownDescription": "The value for the specified property doesn't match (doesn't equal) the specified value. If you specify multiple values, Amazon Macie uses OR logic to join the values.", + "title": "neq", + "type": "array" } }, - "required": [ - "BucketName", - "ObjectKey" - ], "type": "object" }, - "AWS::Macie::CustomDataIdentifier": { + "AWS::Macie::FindingsFilter.FindingCriteria": { "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": { + "Criterion": { "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "A custom description of the custom data identifier. The description can contain 1-512 characters.\n\nAvoid including sensitive data in the description. Users of the account might be able to see the description, depending on the actions that they're allowed to perform in Amazon Macie .", - "title": "Description", - "type": "string" - }, - "IgnoreWords": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of character sequences ( *ignore words* ) to exclude from the results. If text matches the regular expression ( `Regex` ) but it contains a string in this array, Amazon Macie ignores the text and doesn't include it in the results.\n\nThe array can contain 1-10 ignore words. Each ignore word can contain 4-90 UTF-8 characters. Ignore words are case sensitive.", - "title": "IgnoreWords", - "type": "array" - }, - "Keywords": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of character sequences ( *keywords* ), one of which must precede and be in proximity ( `MaximumMatchDistance` ) of the regular expression ( `Regex` ) to match.\n\nThe array can contain 1-50 keywords. Each keyword can contain 3-90 UTF-8 characters. Keywords aren't case sensitive.", - "title": "Keywords", - "type": "array" - }, - "MaximumMatchDistance": { - "markdownDescription": "The maximum number of characters that can exist between the end of at least one complete character sequence specified by the `Keywords` array and the end of text that matches the regular expression ( `Regex` ). If a complete keyword precedes all the text that matches the regular expression and the keyword is within the specified distance, Amazon Macie includes the result.\n\nThe distance can be 1-300 characters. The default value is 50.", - "title": "MaximumMatchDistance", - "type": "number" - }, - "Name": { - "markdownDescription": "A custom name for the custom data identifier. The name can contain 1-128 characters.\n\nAvoid including sensitive data in the name of a custom data identifier. Users of the account might be able to see the name, depending on the actions that they're allowed to perform in Amazon Macie .", - "title": "Name", - "type": "string" - }, - "Regex": { - "markdownDescription": "The regular expression ( *regex* ) that defines the text pattern to match. The expression can contain 1-512 characters.", - "title": "Regex", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to the custom data identifier.\n\nFor more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", - "type": "array" + "markdownDescription": "Specifies a condition that defines the property, operator, and one or more values to use to filter the results.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.CriterionAdditionalProperties" } }, - "required": [ - "Name", - "Regex" - ], + "title": "Criterion", "type": "object" - }, - "Type": { - "enum": [ - "AWS::Macie::CustomDataIdentifier" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Macie::FindingsFilter": { + "AWS::Macie::Member": { "additionalProperties": false, "properties": { "Condition": { @@ -229097,49 +243074,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "markdownDescription": "The action to perform on findings that match the filter criteria ( `FindingCriteria` ). Valid values are:\n\n- `ARCHIVE` - Suppress (automatically archive) the findings.\n- `NOOP` - Don't perform any action on the findings.", - "title": "Action", - "type": "string" - }, - "Description": { - "markdownDescription": "A custom description of the findings filter. The description can contain 1-512 characters.\n\nAvoid including sensitive data in the description. Users of the account might be able to see the description, depending on the actions that they're allowed to perform in Amazon Macie .", - "title": "Description", + "AccountId": { "type": "string" }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria", - "markdownDescription": "The criteria to use to filter findings.", - "title": "FindingCriteria" - }, - "Name": { - "markdownDescription": "A custom name for the findings filter. The name can contain 3-64 characters.\n\nAvoid including sensitive data in the name. Users of the account might be able to see the name, depending on the actions that they're allowed to perform in Amazon Macie .", - "title": "Name", + "Email": { "type": "string" }, - "Position": { - "markdownDescription": "The position of the findings filter in the list of saved filter rules on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to findings.", - "title": "Position", - "type": "number" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to the findings filter.\n\nFor more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", "type": "array" } }, "required": [ - "FindingCriteria", - "Name" + "AccountId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Macie::FindingsFilter" + "AWS::Macie::Member" ], "type": "string" }, @@ -229158,65 +243113,6 @@ ], "type": "object" }, - "AWS::Macie::FindingsFilter.CriterionAdditionalProperties": { - "additionalProperties": false, - "properties": { - "eq": { - "items": { - "type": "string" - }, - "markdownDescription": "The value for the specified property matches (equals) the specified value. If you specify multiple values, Amazon Macie uses OR logic to join the values.", - "title": "eq", - "type": "array" - }, - "gt": { - "markdownDescription": "The value for the specified property is greater than the specified value.", - "title": "gt", - "type": "number" - }, - "gte": { - "markdownDescription": "The value for the specified property is greater than or equal to the specified value.", - "title": "gte", - "type": "number" - }, - "lt": { - "markdownDescription": "The value for the specified property is less than the specified value.", - "title": "lt", - "type": "number" - }, - "lte": { - "markdownDescription": "The value for the specified property is less than or equal to the specified value.", - "title": "lte", - "type": "number" - }, - "neq": { - "items": { - "type": "string" - }, - "markdownDescription": "The value for the specified property doesn't match (doesn't equal) the specified value. If you specify multiple values, Amazon Macie uses OR logic to join the values.", - "title": "neq", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Macie::FindingsFilter.FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "markdownDescription": "Specifies a condition that defines the property, operator, and one or more values to use to filter the results.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.CriterionAdditionalProperties" - } - }, - "title": "Criterion", - "type": "object" - } - }, - "type": "object" - }, "AWS::Macie::Session": { "additionalProperties": false, "properties": { @@ -231288,6 +245184,140 @@ ], "type": "object" }, + "AWS::MediaConnect::FlowMediaStream": { + "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": { + "Attributes": { + "$ref": "#/definitions/AWS::MediaConnect::FlowMediaStream.MediaStreamAttributes" + }, + "ClockRate": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "MediaStreamId": { + "type": "number" + }, + "MediaStreamName": { + "type": "string" + }, + "MediaStreamType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VideoFormat": { + "type": "string" + } + }, + "required": [ + "FlowArn", + "MediaStreamId", + "MediaStreamName", + "MediaStreamType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowMediaStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowMediaStream.Fmtp": { + "additionalProperties": false, + "properties": { + "ChannelOrder": { + "type": "string" + }, + "Colorimetry": { + "type": "string" + }, + "ExactFramerate": { + "type": "string" + }, + "Par": { + "type": "string" + }, + "Range": { + "type": "string" + }, + "ScanMode": { + "type": "string" + }, + "Tcs": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowMediaStream.MediaStreamAttributes": { + "additionalProperties": false, + "properties": { + "Fmtp": { + "$ref": "#/definitions/AWS::MediaConnect::FlowMediaStream.Fmtp" + }, + "Lang": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaConnect::FlowOutput": { "additionalProperties": false, "properties": { @@ -233101,6 +247131,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 +247203,18 @@ ], "type": "object" }, + "AWS::MediaConnect::RouterOutput.FabricConfiguration": { + "additionalProperties": false, + "properties": { + "RecoveryLatencyMode": { + "type": "string" + } + }, + "required": [ + "RecoveryLatencyMode" + ], + "type": "object" + }, "AWS::MediaConnect::RouterOutput.FlowTransitEncryption": { "additionalProperties": false, "properties": { @@ -233373,6 +247418,9 @@ "markdownDescription": "", "title": "Rist" }, + "RtmpPush": { + "$ref": "#/definitions/AWS::MediaConnect::RouterOutput.RtmpPushRouterOutputConfiguration" + }, "Rtp": { "$ref": "#/definitions/AWS::MediaConnect::RouterOutput.RtpRouterOutputConfiguration", "markdownDescription": "", @@ -233391,6 +247439,33 @@ }, "type": "object" }, + "AWS::MediaConnect::RouterOutput.RtmpPushRouterOutputConfiguration": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "DestinationAddress": { + "type": "string" + }, + "DestinationPort": { + "type": "number" + }, + "StreamName": { + "type": "string" + }, + "TlsEncryption": { + "$ref": "#/definitions/AWS::MediaConnect::RouterOutput.TlsEncryption" + } + }, + "required": [ + "ApplicationName", + "DestinationAddress", + "DestinationPort", + "StreamName" + ], + "type": "object" + }, "AWS::MediaConnect::RouterOutput.RtpRouterOutputConfiguration": { "additionalProperties": false, "properties": { @@ -233536,6 +247611,240 @@ ], "type": "object" }, + "AWS::MediaConnect::RouterOutput.TlsEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::MediaConnect::RouterOutput.TlsEncryptionConfiguration" + }, + "EncryptionType": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration" + ], + "type": "object" + }, + "AWS::MediaConnect::RouterOutput.TlsEncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "Public": { + "type": "object" + } + }, + "required": [ + "Public" + ], + "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": { @@ -234066,6 +248375,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 +248478,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 +248494,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 +248552,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 +248600,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 +248979,7 @@ "additionalProperties": false, "properties": { "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "", "title": "ColorSpacePassthroughSettings" }, @@ -234677,15 +248989,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 +249167,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 +249226,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 +249339,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 +249364,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 +249483,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 +249503,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 +249556,15 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.CmafIngestFrameCaptureOutputSettings": { + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.CmafIngestGroupSettings": { "additionalProperties": false, "properties": { @@ -235373,17 +249658,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 +249742,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.DisabledLockingSettings": { "additionalProperties": false, "properties": { @@ -235437,11 +249751,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.DolbyVision81Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.DvbNitSettings": { "additionalProperties": false, "properties": { @@ -235489,118 +249798,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 +249992,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 +250039,11 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.EmptyConfigurationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::MediaLive::Channel.EncoderSettings": { "additionalProperties": false, "properties": { @@ -236077,7 +250290,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 +250313,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 +250379,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 +250452,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 +250638,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 +250653,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 +250714,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 +250902,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.Hlg2020Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.HlsAkamaiSettings": { "additionalProperties": false, "properties": { @@ -236827,7 +250988,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 +251315,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 +251329,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 +251372,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.InferenceSettings": { "additionalProperties": false, "properties": { @@ -237236,6 +251381,12 @@ }, "type": "array" }, + "EnrichmentMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, "FeedArn": { "type": "string" } @@ -237844,15 +251995,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 +252038,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 +252046,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 +252122,12 @@ "markdownDescription": "", "title": "HlsDefault", "type": "string" + }, + "OutputUsage": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -237998,7 +252137,7 @@ "properties": { "AdditionalDestinations": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageAdditionalDestinations" + "$ref": "#/definitions/AWS::MediaLive::Channel.AdditionalDestinations" }, "type": "array" }, @@ -238054,6 +252193,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 +252229,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 +252498,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.MultiplexGroupSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.MultiplexM2tsSettings": { "additionalProperties": false, "properties": { @@ -238518,28 +252664,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 +252693,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 +252884,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 +252945,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 +252995,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.PassThroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.PipelineLockingSettings": { "additionalProperties": false, "properties": { @@ -238896,21 +253016,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 +253040,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.RtmpGroupSettings": { "additionalProperties": false, "properties": { @@ -239015,11 +253115,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.Scte20SourceSettings": { "additionalProperties": false, "properties": { @@ -239036,64 +253131,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 +253170,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.SpecialRouterSettings": { "additionalProperties": false, "properties": { @@ -239172,7 +253226,7 @@ "type": "number" }, "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpMediaConnectRouterContainerSettings", "markdownDescription": "", "title": "ContainerSettings" }, @@ -239226,11 +253280,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.TeletextDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.TeletextSourceSettings": { "additionalProperties": false, "properties": { @@ -239263,6 +253312,15 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.TextCaptionPositionSettings": { + "additionalProperties": false, + "properties": { + "YPositionPercentage": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.ThumbnailConfiguration": { "additionalProperties": false, "properties": { @@ -239314,6 +253372,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 +253383,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 +253404,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 +253422,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 +253489,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 +253510,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 +253536,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 +253683,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", @@ -241662,6 +255751,105 @@ }, "type": "object" }, + "AWS::MediaLive::Reservation": { + "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::MediaLive::Reservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Reservation.RenewalSettings": { + "additionalProperties": false, + "properties": { + "AutomaticRenewal": { + "type": "string" + }, + "RenewalCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Reservation.ReservationResourceSpecification": { + "additionalProperties": false, + "properties": { + "ChannelClass": { + "type": "string" + }, + "Codec": { + "type": "string" + }, + "MaximumBitrate": { + "type": "string" + }, + "MaximumFramerate": { + "type": "string" + }, + "Resolution": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "SpecialFeature": { + "type": "string" + }, + "VideoQuality": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaLive::SdiSource": { "additionalProperties": false, "properties": { @@ -243598,6 +257786,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 +257865,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 +258365,9 @@ "title": "StartoverWindowSeconds", "type": "number" }, + "StreamNameOutputMode": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -245550,6 +259766,9 @@ "Properties": { "additionalProperties": false, "properties": { + "ConcurrentExecutorConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::Function.ConcurrentExecutorConfiguration" + }, "CustomOutputConfiguration": { "$ref": "#/definitions/AWS::MediaTailor::Function.CustomOutputConfiguration" }, @@ -245602,6 +259821,43 @@ ], "type": "object" }, + "AWS::MediaTailor::Function.ConcurrentExecutorConfiguration": { + "additionalProperties": false, + "properties": { + "FunctionList": { + "items": { + "$ref": "#/definitions/AWS::MediaTailor::Function.FunctionRef" + }, + "type": "array" + }, + "MaxConcurrency": { + "type": "number" + }, + "Output": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Runtime": { + "type": "string" + }, + "TimeoutMilliseconds": { + "type": "number" + } + }, + "required": [ + "FunctionList", + "MaxConcurrency", + "Output", + "Runtime", + "TimeoutMilliseconds" + ], + "type": "object" + }, "AWS::MediaTailor::Function.CustomOutputConfiguration": { "additionalProperties": false, "properties": { @@ -245626,6 +259882,9 @@ "AWS::MediaTailor::Function.FunctionRef": { "additionalProperties": false, "properties": { + "Alias": { + "type": "string" + }, "FunctionId": { "type": "string" }, @@ -247542,12 +261801,101 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "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" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterName", + "SnapshotName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MemoryDB::ReservedNode" + "AWS::MemoryDB::Snapshot" ], "type": "string" }, @@ -247561,17 +261909,54 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MemoryDB::ReservedNode.RecurringCharge": { + "AWS::MemoryDB::Snapshot.ClusterConfiguration": { "additionalProperties": false, "properties": { - "RecurringChargeAmount": { + "Description": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "MaintenanceWindow": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NodeType": { + "type": "string" + }, + "NumShards": { "type": "number" }, - "RecurringChargeFrequency": { + "ParameterGroupName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "SubnetGroupName": { + "type": "string" + }, + "TopicArn": { + "type": "string" + }, + "VpcId": { "type": "string" } }, @@ -248776,56 +263161,295 @@ "Properties": { "additionalProperties": false, "properties": { - "DeletionProtection": { - "markdownDescription": "A value that indicates whether the graph has deletion protection enabled. The graph can't be deleted when deletion protection is enabled.", - "title": "DeletionProtection", - "type": "boolean" - }, - "GraphName": { - "markdownDescription": "The graph name. For example: `my-graph-1` .\n\nThe name must contain from 1 to 63 letters, numbers, or hyphens, and its first character must be a letter. It cannot end with a hyphen or contain two consecutive hyphens.\n\nIf you don't specify a graph name, a unique graph name is generated for you using the prefix `graph-for` , followed by a combination of `Stack Name` and a `UUID` .", - "title": "GraphName", + "DeletionProtection": { + "markdownDescription": "A value that indicates whether the graph has deletion protection enabled. The graph can't be deleted when deletion protection is enabled.", + "title": "DeletionProtection", + "type": "boolean" + }, + "GraphName": { + "markdownDescription": "The graph name. For example: `my-graph-1` .\n\nThe name must contain from 1 to 63 letters, numbers, or hyphens, and its first character must be a letter. It cannot end with a hyphen or contain two consecutive hyphens.\n\nIf you don't specify a graph name, a unique graph name is generated for you using the prefix `graph-for` , followed by a combination of `Stack Name` and a `UUID` .", + "title": "GraphName", + "type": "string" + }, + "ImportTask": { + "$ref": "#/definitions/AWS::NeptuneGraph::Graph.ImportTask" + }, + "KmsKeyIdentifier": { + "type": "string" + }, + "ProvisionedMemory": { + "markdownDescription": "The provisioned memory-optimized Neptune Capacity Units (m-NCUs) to use for the graph.\n\nMin = 16", + "title": "ProvisionedMemory", + "type": "number" + }, + "PublicConnectivity": { + "markdownDescription": "Specifies whether or not the graph can be reachable over the internet. All access to graphs is IAM authenticated.\n\nWhen the graph is publicly available, its domain name system (DNS) endpoint resolves to the public IP address from the internet. When the graph isn't publicly available, you need to create a `PrivateGraphEndpoint` in a given VPC to ensure the DNS name resolves to a private IP address that is reachable from the VPC.\n\nDefault: If not specified, the default value is false.\n\n> If enabling public connectivity for the first time, there will be a delay while it is enabled.", + "title": "PublicConnectivity", + "type": "boolean" + }, + "ReplicaCount": { + "markdownDescription": "The number of replicas in other AZs.\n\nDefault: If not specified, the default value is 1.", + "title": "ReplicaCount", + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Adds metadata tags to the new graph. These tags can also be used with cost allocation reporting, or used in a Condition statement in an IAM policy.", + "title": "Tags", + "type": "array" + }, + "VectorSearchConfiguration": { + "$ref": "#/definitions/AWS::NeptuneGraph::Graph.VectorSearchConfiguration", + "markdownDescription": "Specifies the number of dimensions for vector embeddings that will be loaded into the graph. The value is specified as `dimension=` value. Max = 65,535", + "title": "VectorSearchConfiguration" + } + }, + "required": [ + "ProvisionedMemory" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NeptuneGraph::Graph" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "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": { + "VectorSearchDimension": { + "markdownDescription": "The number of dimensions.", + "title": "VectorSearchDimension", + "type": "number" + } + }, + "required": [ + "VectorSearchDimension" + ], + "type": "object" + }, + "AWS::NeptuneGraph::GraphSnapshot": { + "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": { + "GraphIdentifier": { + "type": "string" + }, + "SnapshotName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GraphIdentifier", + "SnapshotName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NeptuneGraph::GraphSnapshot" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NeptuneGraph::ImportTask": { + "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": { + "Format": { "type": "string" }, - "KmsKeyIdentifier": { + "GraphIdentifier": { "type": "string" }, - "ProvisionedMemory": { - "markdownDescription": "The provisioned memory-optimized Neptune Capacity Units (m-NCUs) to use for the graph.\n\nMin = 16", - "title": "ProvisionedMemory", - "type": "number" - }, - "PublicConnectivity": { - "markdownDescription": "Specifies whether or not the graph can be reachable over the internet. All access to graphs is IAM authenticated.\n\nWhen the graph is publicly available, its domain name system (DNS) endpoint resolves to the public IP address from the internet. When the graph isn't publicly available, you need to create a `PrivateGraphEndpoint` in a given VPC to ensure the DNS name resolves to a private IP address that is reachable from the VPC.\n\nDefault: If not specified, the default value is false.\n\n> If enabling public connectivity for the first time, there will be a delay while it is enabled.", - "title": "PublicConnectivity", - "type": "boolean" - }, - "ReplicaCount": { - "markdownDescription": "The number of replicas in other AZs.\n\nDefault: If not specified, the default value is 1.", - "title": "ReplicaCount", - "type": "number" + "ParquetType": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Adds metadata tags to the new graph. These tags can also be used with cost allocation reporting, or used in a Condition statement in an IAM policy.", - "title": "Tags", - "type": "array" + "RoleArn": { + "type": "string" }, - "VectorSearchConfiguration": { - "$ref": "#/definitions/AWS::NeptuneGraph::Graph.VectorSearchConfiguration", - "markdownDescription": "Specifies the number of dimensions for vector embeddings that will be loaded into the graph. The value is specified as `dimension=` value. Max = 65,535", - "title": "VectorSearchConfiguration" + "Source": { + "type": "string" } }, "required": [ - "ProvisionedMemory" + "GraphIdentifier", + "RoleArn", + "Source" ], "type": "object" }, "Type": { "enum": [ - "AWS::NeptuneGraph::Graph" + "AWS::NeptuneGraph::ImportTask" ], "type": "string" }, @@ -248844,21 +263468,7 @@ ], "type": "object" }, - "AWS::NeptuneGraph::Graph.VectorSearchConfiguration": { - "additionalProperties": false, - "properties": { - "VectorSearchDimension": { - "markdownDescription": "The number of dimensions.", - "title": "VectorSearchDimension", - "type": "number" - } - }, - "required": [ - "VectorSearchDimension" - ], - "type": "object" - }, - "AWS::NeptuneGraph::GraphSnapshot": { + "AWS::NeptuneGraph::PrivateGraphEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -248894,27 +263504,41 @@ "additionalProperties": false, "properties": { "GraphIdentifier": { + "markdownDescription": "The unique identifier of the Neptune Analytics graph.", + "title": "GraphIdentifier", "type": "string" }, - "SnapshotName": { - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "Security groups to be attached to the private graph endpoint..", + "title": "SecurityGroupIds", + "type": "array" }, - "Tags": { + "SubnetIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, + "markdownDescription": "Subnets in which private graph endpoint ENIs are created.", + "title": "SubnetIds", "type": "array" + }, + "VpcId": { + "markdownDescription": "The VPC in which the private graph endpoint needs to be created.", + "title": "VpcId", + "type": "string" } }, "required": [ "GraphIdentifier", - "SnapshotName" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::NeptuneGraph::GraphSnapshot" + "AWS::NeptuneGraph::PrivateGraphEndpoint" ], "type": "string" }, @@ -248933,7 +263557,7 @@ ], "type": "object" }, - "AWS::NeptuneGraph::PrivateGraphEndpoint": { + "AWS::NetworkFirewall::ContainerAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -248968,42 +263592,38 @@ "Properties": { "additionalProperties": false, "properties": { - "GraphIdentifier": { - "markdownDescription": "The unique identifier of the Neptune Analytics graph.", - "title": "GraphIdentifier", + "ContainerAssociationName": { "type": "string" }, - "SecurityGroupIds": { + "ContainerMonitoringConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::NetworkFirewall::ContainerAssociation.ContainerMonitoringConfiguration" }, - "markdownDescription": "Security groups to be attached to the private graph endpoint..", - "title": "SecurityGroupIds", "type": "array" }, - "SubnetIds": { + "Description": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "Subnets in which private graph endpoint ENIs are created.", - "title": "SubnetIds", "type": "array" }, - "VpcId": { - "markdownDescription": "The VPC in which the private graph endpoint needs to be created.", - "title": "VpcId", + "Type": { "type": "string" } }, "required": [ - "GraphIdentifier", - "VpcId" + "ContainerAssociationName", + "ContainerMonitoringConfigurations", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::NeptuneGraph::PrivateGraphEndpoint" + "AWS::NetworkFirewall::ContainerAssociation" ], "type": "string" }, @@ -249022,6 +263642,40 @@ ], "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": { @@ -250700,40 +265354,146 @@ "Properties": { "additionalProperties": false, "properties": { - "LocalResources": { - "items": { - "$ref": "#/definitions/AWS::NetworkFlowMonitor::Monitor.MonitorLocalResource" - }, - "type": "array" - }, - "MonitorName": { - "type": "string" - }, - "RemoteResources": { + "LocalResources": { + "items": { + "$ref": "#/definitions/AWS::NetworkFlowMonitor::Monitor.MonitorLocalResource" + }, + "type": "array" + }, + "MonitorName": { + "type": "string" + }, + "RemoteResources": { + "items": { + "$ref": "#/definitions/AWS::NetworkFlowMonitor::Monitor.MonitorRemoteResource" + }, + "type": "array" + }, + "ScopeArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "LocalResources", + "MonitorName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFlowMonitor::Monitor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFlowMonitor::Monitor.MonitorLocalResource": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Type" + ], + "type": "object" + }, + "AWS::NetworkFlowMonitor::Monitor.MonitorRemoteResource": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Type" + ], + "type": "object" + }, + "AWS::NetworkFlowMonitor::Scope": { + "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/AWS::NetworkFlowMonitor::Monitor.MonitorRemoteResource" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "ScopeArn": { - "type": "string" - }, - "Tags": { + "Targets": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::NetworkFlowMonitor::Scope.TargetResource" }, "type": "array" } }, "required": [ - "LocalResources", - "MonitorName" + "Targets" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkFlowMonitor::Monitor" + "AWS::NetworkFlowMonitor::Scope" ], "type": "string" }, @@ -250752,35 +265512,47 @@ ], "type": "object" }, - "AWS::NetworkFlowMonitor::Monitor.MonitorLocalResource": { + "AWS::NetworkFlowMonitor::Scope.TargetId": { "additionalProperties": false, "properties": { - "Identifier": { + "AccountId": { "type": "string" + } + }, + "required": [ + "AccountId" + ], + "type": "object" + }, + "AWS::NetworkFlowMonitor::Scope.TargetIdentifier": { + "additionalProperties": false, + "properties": { + "TargetId": { + "$ref": "#/definitions/AWS::NetworkFlowMonitor::Scope.TargetId" }, - "Type": { + "TargetType": { "type": "string" } }, "required": [ - "Identifier", - "Type" + "TargetId", + "TargetType" ], "type": "object" }, - "AWS::NetworkFlowMonitor::Monitor.MonitorRemoteResource": { + "AWS::NetworkFlowMonitor::Scope.TargetResource": { "additionalProperties": false, "properties": { - "Identifier": { + "Region": { "type": "string" }, - "Type": { - "type": "string" + "TargetIdentifier": { + "$ref": "#/definitions/AWS::NetworkFlowMonitor::Scope.TargetIdentifier" } }, "required": [ - "Identifier", - "Type" + "Region", + "TargetIdentifier" ], "type": "object" }, @@ -250839,16 +265611,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 +266446,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 +266965,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 +267258,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 +267397,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", @@ -252804,6 +267526,80 @@ }, "type": "object" }, + "AWS::NetworkMonitor::Monitor": { + "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": { + "AggregationPeriod": { + "type": "number" + }, + "MonitorName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MonitorName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkMonitor::Monitor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Notifications::ChannelAssociation": { "additionalProperties": false, "properties": { @@ -253030,6 +267826,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 +267902,9 @@ "title": "ChannelArn", "type": "string" }, + "IsSensitiveEventsSubscribed": { + "type": "boolean" + }, "ManagedNotificationConfigurationArn": { "markdownDescription": "The ARN of the `ManagedNotificationAdditionalChannelAssociation` associated with the `Channel` .", "title": "ManagedNotificationConfigurationArn", @@ -255971,6 +270773,15 @@ }, "type": "object" }, + "AWS::ObservabilityAdmin::OrganizationTelemetryRule.MskMonitoringParameters": { + "additionalProperties": false, + "properties": { + "EnhancedMonitoring": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ObservabilityAdmin::OrganizationTelemetryRule.RegionStatus": { "additionalProperties": false, "properties": { @@ -256029,6 +270840,9 @@ "LogDeliveryParameters": { "$ref": "#/definitions/AWS::ObservabilityAdmin::OrganizationTelemetryRule.LogDeliveryParameters" }, + "MskMonitoringParameters": { + "$ref": "#/definitions/AWS::ObservabilityAdmin::OrganizationTelemetryRule.MskMonitoringParameters" + }, "RetentionInDays": { "markdownDescription": "The number of days to retain the telemetry data in the destination.", "title": "RetentionInDays", @@ -256815,6 +271629,15 @@ }, "type": "object" }, + "AWS::ObservabilityAdmin::TelemetryRule.MskMonitoringParameters": { + "additionalProperties": false, + "properties": { + "EnhancedMonitoring": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ObservabilityAdmin::TelemetryRule.RegionStatus": { "additionalProperties": false, "properties": { @@ -256875,6 +271698,9 @@ "markdownDescription": "Configuration parameters specific to Amazon Bedrock AgentCore logging when Amazon Bedrock AgentCore is the resource type.", "title": "LogDeliveryParameters" }, + "MskMonitoringParameters": { + "$ref": "#/definitions/AWS::ObservabilityAdmin::TelemetryRule.MskMonitoringParameters" + }, "RetentionInDays": { "markdownDescription": "The number of days to retain the telemetry data in the destination.", "title": "RetentionInDays", @@ -257659,67 +272485,138 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheBehavior": { - "type": "string" - }, - "CacheId": { - "type": "string" - }, - "LogLevel": { - "type": "string" + "CacheBehavior": { + "type": "string" + }, + "CacheId": { + "type": "string" + }, + "LogLevel": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkingMode": { + "type": "string" + }, + "OutputUri": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "RetentionMode": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "RunGroupId": { + "type": "string" + }, + "StorageCapacity": { + "type": "number" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkflowId": { + "type": "string" + }, + "WorkflowOwnerId": { + "type": "string" + }, + "WorkflowType": { + "type": "string" + } + }, + "required": [ + "OutputUri", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Omics::Run" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "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" }, - "NetworkingMode": { - "type": "string" - }, - "OutputUri": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "RetentionMode": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RunGroupId": { - "type": "string" - }, - "StorageCapacity": { - "type": "number" - }, - "StorageType": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "WorkflowId": { - "type": "string" - }, - "WorkflowOwnerId": { - "type": "string" - }, - "WorkflowType": { - "type": "string" } }, - "required": [ - "OutputUri", - "RoleArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Omics::Run" + "AWS::Omics::RunBatch" ], "type": "string" }, @@ -257733,11 +272630,149 @@ } }, "required": [ - "Type", - "Properties" + "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": { @@ -262797,128 +277832,284 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "markdownDescription": "The policy text content. You can specify the policy content as a JSON object or a JSON string.\n\n> When you specify the policy content as a JSON string, you can't perform drift detection on the CloudFormation stack. For this reason, we recommend specifying the policy content as a JSON object instead. \n\nThe text that you supply must adhere to the rules of the policy type you specify in the `Type` parameter. The following AWS Organizations quotas are enforced for the maximum size of a policy document:\n\n- Service control policies: 5,120 characters\n- Resource control policies: 5,120 characters\n- Declarative policies: 10,000 characters\n- Backup policies: 10,000 characters\n- Tag policies: 10,000 characters\n- Chat applications policies: 10,000 characters\n- AI services opt-out policies: 2,500 characters\n- Security Hub policies: 10,000 characters\n- Amazon Inspector policies: 10,000 characters\n- Amazon Bedrock policies: 10,000 characters\n- Upgrade rollout policies: 10,000 characters\n\nFor more information about Organizations service quotas, see [Quotas for AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) in the *AWS Organizations User Guide* .", - "title": "Content", - "type": "object" + "Content": { + "markdownDescription": "The policy text content. You can specify the policy content as a JSON object or a JSON string.\n\n> When you specify the policy content as a JSON string, you can't perform drift detection on the CloudFormation stack. For this reason, we recommend specifying the policy content as a JSON object instead. \n\nThe text that you supply must adhere to the rules of the policy type you specify in the `Type` parameter. The following AWS Organizations quotas are enforced for the maximum size of a policy document:\n\n- Service control policies: 5,120 characters\n- Resource control policies: 5,120 characters\n- Declarative policies: 10,000 characters\n- Backup policies: 10,000 characters\n- Tag policies: 10,000 characters\n- Chat applications policies: 10,000 characters\n- AI services opt-out policies: 2,500 characters\n- Security Hub policies: 10,000 characters\n- Amazon Inspector policies: 10,000 characters\n- Amazon Bedrock policies: 10,000 characters\n- Upgrade rollout policies: 10,000 characters\n\nFor more information about Organizations service quotas, see [Quotas for AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) in the *AWS Organizations User Guide* .", + "title": "Content", + "type": "object" + }, + "Description": { + "markdownDescription": "Human readable description of the policy.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "Name of the policy.\n\nThe [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex) that is used to validate this parameter is a string of any of the characters in the ASCII character range.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags that you want to attach to the newly created 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 a policy, then the entire request fails and the policy is not created.", + "title": "Tags", + "type": "array" + }, + "TargetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "List of unique identifiers (IDs) of the root, OU, or account that you want to attach the policy to. You can get the ID by calling the [ListRoots](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListRoots.html) , [ListOrganizationalUnitsForParent](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListOrganizationalUnitsForParent.html) , or [ListAccounts](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListAccounts.html) operations. If you don't specify this parameter, the policy is created but not attached to any organization resource.\n\nThe [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex) for a target ID string requires one of the following:\n\n- *Root* - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits.\n- *Account* - A string that consists of exactly 12 digits.\n- *Organizational unit (OU)* - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.", + "title": "TargetIds", + "type": "array" + }, + "Type": { + "markdownDescription": "The type of policy to create.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Content", + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Organizations::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Organizations::ResourcePolicy": { + "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": { + "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::Root" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Organizations::Root.PolicyTypeSummary": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Outposts::Outpost": { + "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": { + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneId": { + "type": "string" }, "Description": { - "markdownDescription": "Human readable description of the policy.", - "title": "Description", "type": "string" }, "Name": { - "markdownDescription": "Name of the policy.\n\nThe [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex) that is used to validate this parameter is a string of any of the characters in the ASCII character range.", - "title": "Name", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags that you want to attach to the newly created 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 a policy, then the entire request fails and the policy is not created.", - "title": "Tags", - "type": "array" - }, - "TargetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "List of unique identifiers (IDs) of the root, OU, or account that you want to attach the policy to. You can get the ID by calling the [ListRoots](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListRoots.html) , [ListOrganizationalUnitsForParent](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListOrganizationalUnitsForParent.html) , or [ListAccounts](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListAccounts.html) operations. If you don't specify this parameter, the policy is created but not attached to any organization resource.\n\nThe [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex) for a target ID string requires one of the following:\n\n- *Root* - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits.\n- *Account* - A string that consists of exactly 12 digits.\n- *Organizational unit (OU)* - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.", - "title": "TargetIds", - "type": "array" - }, - "Type": { - "markdownDescription": "The type of policy to create.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Content", - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Organizations::Policy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Organizations::ResourcePolicy": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "SiteId": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" + "SupportedHardwareType": { + "type": "string" }, "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" + "Name", + "SiteId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Organizations::ResourcePolicy" + "AWS::Outposts::Outpost" ], "type": "string" }, @@ -262937,75 +278128,6 @@ ], "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::Root" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "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 +280584,9 @@ "AWS::PCS::ComputeNodeGroup.SlurmConfiguration": { "additionalProperties": false, "properties": { + "GresCustomSettings": { + "type": "object" + }, "ScaleDownIdleTimeInSeconds": { "type": "number" }, @@ -265664,6 +280789,89 @@ ], "type": "object" }, + "AWS::PI::PerfReports": { + "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": { + "EndTime": { + "type": "string" + }, + "Identifier": { + "type": "string" + }, + "ServiceType": { + "type": "string" + }, + "StartTime": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EndTime", + "Identifier", + "ServiceType", + "StartTime" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PI::PerfReports" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Panorama::ApplicationInstance": { "additionalProperties": false, "properties": { @@ -266759,29 +281967,361 @@ "Properties": { "additionalProperties": false, "properties": { - "DatasetGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the dataset group.", - "title": "DatasetGroupArn", - "type": "string" + "DatasetGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the dataset group.", + "title": "DatasetGroupArn", + "type": "string" + }, + "DatasetImportJob": { + "$ref": "#/definitions/AWS::Personalize::Dataset.DatasetImportJob", + "markdownDescription": "Describes a job that imports training data from a data source (Amazon S3 bucket) to an Amazon Personalize dataset. If you specify a dataset import job as part of a dataset, all dataset import job fields are required.", + "title": "DatasetImportJob" + }, + "DatasetType": { + "markdownDescription": "One of the following values:\n\n- Interactions\n- Items\n- Users\n\n> You can't use CloudFormation to create an Action Interactions or Actions dataset.", + "title": "DatasetType", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the dataset.", + "title": "Name", + "type": "string" + }, + "SchemaArn": { + "markdownDescription": "The ARN of the associated schema.", + "title": "SchemaArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatasetGroupArn", + "DatasetType", + "Name", + "SchemaArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Personalize::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Personalize::Dataset.DataSource": { + "additionalProperties": false, + "properties": { + "DataLocation": { + "markdownDescription": "For dataset import jobs, the path to the Amazon S3 bucket where the data that you want to upload to your dataset is stored. For data deletion jobs, the path to the Amazon S3 bucket that stores the list of records to delete.\n\nFor example:\n\n`s3://bucket-name/folder-name/fileName.csv`\n\nIf your CSV files are in a folder in your Amazon S3 bucket and you want your import job or data deletion job to consider multiple files, you can specify the path to the folder. With a data deletion job, Amazon Personalize uses all files in the folder and any sub folder. Use the following syntax with a `/` after the folder name:\n\n`s3://bucket-name/folder-name/`", + "title": "DataLocation", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Personalize::Dataset.DatasetImportJob": { + "additionalProperties": false, + "properties": { + "DataSource": { + "$ref": "#/definitions/AWS::Personalize::Dataset.DataSource", + "markdownDescription": "The Amazon S3 bucket that contains the training data to import.", + "title": "DataSource" + }, + "DatasetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the dataset that receives the imported data.", + "title": "DatasetArn", + "type": "string" + }, + "DatasetImportJobArn": { + "markdownDescription": "The ARN of the dataset import job.", + "title": "DatasetImportJobArn", + "type": "string" + }, + "JobName": { + "markdownDescription": "The name of the import job.", + "title": "JobName", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The ARN of the IAM role that has permissions to read from the Amazon S3 data source.", + "title": "RoleArn", + "type": "string" + } + }, + "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": { + "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": { + "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" }, - "DatasetImportJob": { - "$ref": "#/definitions/AWS::Personalize::Dataset.DatasetImportJob", - "markdownDescription": "Describes a job that imports training data from a data source (Amazon S3 bucket) to an Amazon Personalize dataset. If you specify a dataset import job as part of a dataset, all dataset import job fields are required.", - "title": "DatasetImportJob" + "DatasetArn": { + "type": "string" }, - "DatasetType": { - "markdownDescription": "One of the following values:\n\n- Interactions\n- Items\n- Users\n\n> You can't use CloudFormation to create an Action Interactions or Actions dataset.", - "title": "DatasetType", + "ImportMode": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the dataset.", - "title": "Name", + "JobName": { "type": "string" }, - "SchemaArn": { - "markdownDescription": "The ARN of the associated schema.", - "title": "SchemaArn", + "PublishAttributionMetricsToS3": { + "type": "boolean" + }, + "RoleArn": { "type": "string" }, "Tags": { @@ -266792,16 +282332,15 @@ } }, "required": [ - "DatasetGroupArn", - "DatasetType", - "Name", - "SchemaArn" + "DataSource", + "DatasetArn", + "JobName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Personalize::Dataset" + "AWS::Personalize::DatasetImportJob" ], "type": "string" }, @@ -266820,49 +282359,16 @@ ], "type": "object" }, - "AWS::Personalize::Dataset.DataSource": { + "AWS::Personalize::DatasetImportJob.DataSource": { "additionalProperties": false, "properties": { "DataLocation": { - "markdownDescription": "For dataset import jobs, the path to the Amazon S3 bucket where the data that you want to upload to your dataset is stored. For data deletion jobs, the path to the Amazon S3 bucket that stores the list of records to delete.\n\nFor example:\n\n`s3://bucket-name/folder-name/fileName.csv`\n\nIf your CSV files are in a folder in your Amazon S3 bucket and you want your import job or data deletion job to consider multiple files, you can specify the path to the folder. With a data deletion job, Amazon Personalize uses all files in the folder and any sub folder. Use the following syntax with a `/` after the folder name:\n\n`s3://bucket-name/folder-name/`", - "title": "DataLocation", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Personalize::Dataset.DatasetImportJob": { - "additionalProperties": false, - "properties": { - "DataSource": { - "$ref": "#/definitions/AWS::Personalize::Dataset.DataSource", - "markdownDescription": "The Amazon S3 bucket that contains the training data to import.", - "title": "DataSource" - }, - "DatasetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the dataset that receives the imported data.", - "title": "DatasetArn", - "type": "string" - }, - "DatasetImportJobArn": { - "markdownDescription": "The ARN of the dataset import job.", - "title": "DatasetImportJobArn", - "type": "string" - }, - "JobName": { - "markdownDescription": "The name of the import job.", - "title": "JobName", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The ARN of the IAM role that has permissions to read from the Amazon S3 data source.", - "title": "RoleArn", "type": "string" } }, "type": "object" }, - "AWS::Personalize::DatasetGroup": { + "AWS::Personalize::EventTracker": { "additionalProperties": false, "properties": { "Condition": { @@ -266897,24 +282403,10 @@ "Properties": { "additionalProperties": false, "properties": { - "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", + "DatasetGroupArn": { "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": { @@ -266925,13 +282417,14 @@ } }, "required": [ + "DatasetGroupArn", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Personalize::DatasetGroup" + "AWS::Personalize::EventTracker" ], "type": "string" }, @@ -266950,7 +282443,7 @@ ], "type": "object" }, - "AWS::Personalize::EventTracker": { + "AWS::Personalize::Filter": { "additionalProperties": false, "properties": { "Condition": { @@ -266988,6 +282481,9 @@ "DatasetGroupArn": { "type": "string" }, + "FilterExpression": { + "type": "string" + }, "Name": { "type": "string" }, @@ -267000,13 +282496,14 @@ }, "required": [ "DatasetGroupArn", + "FilterExpression", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Personalize::EventTracker" + "AWS::Personalize::Filter" ], "type": "string" }, @@ -272962,6 +288459,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": { @@ -276051,6 +291627,12 @@ "markdownDescription": "The static files for the definition.", "title": "StaticFiles", "type": "array" + }, + "TopicIdentifierDeclarations": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.TopicIdentifierDeclaration" + }, + "type": "array" } }, "required": [ @@ -276108,6 +291690,12 @@ "markdownDescription": "The dataset references of the source template of an analysis.", "title": "DataSetReferences", "type": "array" + }, + "TopicReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.TopicReference" + }, + "type": "array" } }, "required": [ @@ -276481,6 +292069,9 @@ "markdownDescription": "The options that determine if visual data labels are displayed.", "title": "DataLabels" }, + "DefaultSeriesSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.BarChartDefaultSeriesSettings" + }, "FieldWells": { "$ref": "#/definitions/AWS::QuickSight::Analysis.BarChartFieldWells", "markdownDescription": "The field wells of the visual.", @@ -276509,6 +292100,12 @@ "title": "ReferenceLines", "type": "array" }, + "Series": { + "items": { + "type": "object" + }, + "type": "array" + }, "SmallMultiplesOptions": { "$ref": "#/definitions/AWS::QuickSight::Analysis.SmallMultiplesOptions", "markdownDescription": "The small multiples setup for the visual.", @@ -276542,6 +292139,18 @@ }, "type": "object" }, + "AWS::QuickSight::Analysis.BarChartDefaultSeriesSettings": { + "additionalProperties": false, + "properties": { + "BorderSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.BorderSettings" + }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecalSettings" + } + }, + "type": "object" + }, "AWS::QuickSight::Analysis.BarChartFieldWells": { "additionalProperties": false, "properties": { @@ -276829,6 +292438,21 @@ }, "type": "object" }, + "AWS::QuickSight::Analysis.BorderSettings": { + "additionalProperties": false, + "properties": { + "BorderColor": { + "type": "string" + }, + "BorderVisibility": { + "type": "string" + }, + "BorderWidth": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Analysis.BoxPlotAggregatedFieldWells": { "additionalProperties": false, "properties": { @@ -277049,10 +292673,12 @@ "markdownDescription": "The name of the calculated field.", "title": "Name", "type": "string" + }, + "TopicIdentifier": { + "type": "string" } }, "required": [ - "DataSetIdentifier", "Expression", "Name" ], @@ -277369,6 +292995,9 @@ "markdownDescription": "The column.", "title": "Column" }, + "DecalSettingsConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecalSettingsConfiguration" + }, "FormatConfiguration": { "$ref": "#/definitions/AWS::QuickSight::Analysis.FormatConfiguration", "markdownDescription": "The format configuration of a column.", @@ -277418,11 +293047,13 @@ "markdownDescription": "The data set that the column belongs to.", "title": "DataSetIdentifier", "type": "string" + }, + "TopicIdentifier": { + "type": "string" } }, "required": [ - "ColumnName", - "DataSetIdentifier" + "ColumnName" ], "type": "object" }, @@ -277551,6 +293182,9 @@ "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) of a combo chart's color field well.", "title": "ColorLabelOptions" }, + "DefaultSeriesSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.ComboChartDefaultSeriesSettings" + }, "FieldWells": { "$ref": "#/definitions/AWS::QuickSight::Analysis.ComboChartFieldWells", "markdownDescription": "The field wells of the visual.", @@ -277599,6 +293233,12 @@ "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) of a combo chart's secondary y-axis(line) field well.", "title": "SecondaryYAxisLabelOptions" }, + "Series": { + "items": { + "type": "object" + }, + "type": "array" + }, "SingleAxisOptions": { "$ref": "#/definitions/AWS::QuickSight::Analysis.SingleAxisOptions", "markdownDescription": "", @@ -277622,6 +293262,24 @@ }, "type": "object" }, + "AWS::QuickSight::Analysis.ComboChartDefaultSeriesSettings": { + "additionalProperties": false, + "properties": { + "BorderSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.BorderSettings" + }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecalSettings" + }, + "LineStyleSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.LineChartLineStyleSettings" + }, + "MarkerStyleSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.LineChartMarkerStyleSettings" + } + }, + "type": "object" + }, "AWS::QuickSight::Analysis.ComboChartFieldWells": { "additionalProperties": false, "properties": { @@ -278179,6 +293837,9 @@ "markdownDescription": "The title that is displayed on the visual.", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -278191,7 +293852,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -278886,6 +294546,39 @@ }, "type": "object" }, + "AWS::QuickSight::Analysis.DecalSettings": { + "additionalProperties": false, + "properties": { + "DecalColor": { + "type": "string" + }, + "DecalPatternType": { + "type": "string" + }, + "DecalStyleType": { + "type": "string" + }, + "DecalVisibility": { + "type": "string" + }, + "ElementValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.DecalSettingsConfiguration": { + "additionalProperties": false, + "properties": { + "CustomDecalSettings": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecalSettings" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::QuickSight::Analysis.DecimalDefaultValues": { "additionalProperties": false, "properties": { @@ -279455,6 +295148,9 @@ "title": "DataSetIdentifier", "type": "string" }, + "TopicIdentifier": { + "type": "string" + }, "VisualId": { "markdownDescription": "The unique identifier of a visual. This identifier must be unique within the context of a dashboard, template, or analysis. Two dashboards, analyses, or templates can have visuals with the same identifiers.", "title": "VisualId", @@ -279462,7 +295158,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -280615,6 +296310,12 @@ "markdownDescription": "The elements that are included in a free-form layout.", "title": "Elements", "type": "array" + }, + "Groups": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.SheetLayoutGroup" + }, + "type": "array" } }, "required": [ @@ -280630,6 +296331,9 @@ "markdownDescription": "The background style configuration of a free-form layout element.", "title": "BackgroundStyle" }, + "BorderRadius": { + "type": "string" + }, "BorderStyle": { "$ref": "#/definitions/AWS::QuickSight::Analysis.FreeFormLayoutElementBorderStyle", "markdownDescription": "The border style configuration of a free-form layout element.", @@ -280655,6 +296359,9 @@ "markdownDescription": "The loading animation configuration of a free-form layout element.", "title": "LoadingAnimation" }, + "Padding": { + "type": "string" + }, "RenderingRules": { "items": { "$ref": "#/definitions/AWS::QuickSight::Analysis.SheetElementRenderingRule" @@ -280727,6 +296434,9 @@ "markdownDescription": "The border visibility of a free-form layout element.", "title": "Visibility", "type": "string" + }, + "Width": { + "type": "string" } }, "type": "object" @@ -282067,6 +297777,15 @@ "AWS::QuickSight::Analysis.GridLayoutElement": { "additionalProperties": false, "properties": { + "BackgroundStyle": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.GridLayoutElementBackgroundStyle" + }, + "BorderRadius": { + "type": "string" + }, + "BorderStyle": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.GridLayoutElementBorderStyle" + }, "ColumnIndex": { "markdownDescription": "The column index for the upper left corner of an element.", "title": "ColumnIndex", @@ -282087,6 +297806,12 @@ "title": "ElementType", "type": "string" }, + "LoadingAnimation": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.LoadingAnimation" + }, + "Padding": { + "type": "string" + }, "RowIndex": { "markdownDescription": "The row index for the upper left corner of an element.", "title": "RowIndex", @@ -282096,6 +297821,9 @@ "markdownDescription": "The height of a grid element expressed as a number of grid rows.", "title": "RowSpan", "type": "number" + }, + "SelectedBorderStyle": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.GridLayoutElementBorderStyle" } }, "required": [ @@ -282106,6 +297834,33 @@ ], "type": "object" }, + "AWS::QuickSight::Analysis.GridLayoutElementBackgroundStyle": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "Visibility": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.GridLayoutElementBorderStyle": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "Visibility": { + "type": "string" + }, + "Width": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Analysis.GridLayoutScreenCanvasSizeOptions": { "additionalProperties": false, "properties": { @@ -282670,6 +298425,9 @@ "markdownDescription": "The title that is displayed on the visual.", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -282682,7 +298440,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -283238,6 +298995,9 @@ "markdownDescription": "", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -283250,7 +299010,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -283495,6 +299254,9 @@ "title": "AxisBinding", "type": "string" }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecalSettings" + }, "LineStyleSettings": { "$ref": "#/definitions/AWS::QuickSight::Analysis.LineChartLineStyleSettings", "markdownDescription": "Line styles options for all line series in the visual.", @@ -283574,6 +299336,9 @@ "AWS::QuickSight::Analysis.LineChartSeriesSettings": { "additionalProperties": false, "properties": { + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecalSettings" + }, "LineStyleSettings": { "$ref": "#/definitions/AWS::QuickSight::Analysis.LineChartLineStyleSettings", "markdownDescription": "Line styles options for a line series in `LineChartVisual` .", @@ -287337,6 +303102,41 @@ }, "type": "object" }, + "AWS::QuickSight::Analysis.SheetLayoutGroup": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.SheetLayoutGroupMember" + }, + "type": "array" + } + }, + "required": [ + "Id", + "Members" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.SheetLayoutGroupMember": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Type": { + "type": "object" + } + }, + "required": [ + "Id", + "Type" + ], + "type": "object" + }, "AWS::QuickSight::Analysis.SheetTextBox": { "additionalProperties": false, "properties": { @@ -287511,6 +303311,43 @@ }, "type": "object" }, + "AWS::QuickSight::Analysis.SparklinesOptions": { + "additionalProperties": false, + "properties": { + "AllPointsMarker": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.LineChartMarkerStyleSettings" + }, + "FieldId": { + "type": "string" + }, + "LineColor": { + "type": "string" + }, + "LineInterpolation": { + "type": "string" + }, + "MaxValueMarker": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.LineChartMarkerStyleSettings" + }, + "MinValueMarker": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.LineChartMarkerStyleSettings" + }, + "VisualType": { + "type": "string" + }, + "XAxisField": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DimensionField" + }, + "YAxisBehavior": { + "type": "string" + } + }, + "required": [ + "FieldId", + "XAxisField" + ], + "type": "object" + }, "AWS::QuickSight::Analysis.SpatialStaticFile": { "additionalProperties": false, "properties": { @@ -288149,6 +303986,9 @@ "$ref": "#/definitions/AWS::QuickSight::Analysis.DataBarsOptions", "markdownDescription": "The configuration of the inline visualization of the data bars within a chart.", "title": "DataBars" + }, + "Sparklines": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.SparklinesOptions" } }, "type": "object" @@ -288821,6 +304661,38 @@ ], "type": "object" }, + "AWS::QuickSight::Analysis.TopicIdentifierDeclaration": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Identifier", + "TopicArn" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.TopicReference": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + }, + "TopicPlaceholder": { + "type": "string" + } + }, + "required": [ + "TopicArn", + "TopicPlaceholder" + ], + "type": "object" + }, "AWS::QuickSight::Analysis.TotalAggregationComputation": { "additionalProperties": false, "properties": { @@ -291037,6 +306909,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": { @@ -291803,6 +307750,9 @@ "markdownDescription": "The options that determine if visual data labels are displayed.", "title": "DataLabels" }, + "DefaultSeriesSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.BarChartDefaultSeriesSettings" + }, "FieldWells": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.BarChartFieldWells", "markdownDescription": "The field wells of the visual.", @@ -291831,6 +307781,12 @@ "title": "ReferenceLines", "type": "array" }, + "Series": { + "items": { + "type": "object" + }, + "type": "array" + }, "SmallMultiplesOptions": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.SmallMultiplesOptions", "markdownDescription": "The small multiples setup for the visual.", @@ -291864,6 +307820,18 @@ }, "type": "object" }, + "AWS::QuickSight::Dashboard.BarChartDefaultSeriesSettings": { + "additionalProperties": false, + "properties": { + "BorderSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.BorderSettings" + }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecalSettings" + } + }, + "type": "object" + }, "AWS::QuickSight::Dashboard.BarChartFieldWells": { "additionalProperties": false, "properties": { @@ -292151,6 +308119,21 @@ }, "type": "object" }, + "AWS::QuickSight::Dashboard.BorderSettings": { + "additionalProperties": false, + "properties": { + "BorderColor": { + "type": "string" + }, + "BorderVisibility": { + "type": "string" + }, + "BorderWidth": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Dashboard.BoxPlotAggregatedFieldWells": { "additionalProperties": false, "properties": { @@ -292371,10 +308354,12 @@ "markdownDescription": "The name of the calculated field.", "title": "Name", "type": "string" + }, + "TopicIdentifier": { + "type": "string" } }, "required": [ - "DataSetIdentifier", "Expression", "Name" ], @@ -292691,6 +308676,9 @@ "markdownDescription": "The column.", "title": "Column" }, + "DecalSettingsConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecalSettingsConfiguration" + }, "FormatConfiguration": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.FormatConfiguration", "markdownDescription": "The format configuration of a column.", @@ -292740,11 +308728,13 @@ "markdownDescription": "The data set that the column belongs to.", "title": "DataSetIdentifier", "type": "string" + }, + "TopicIdentifier": { + "type": "string" } }, "required": [ - "ColumnName", - "DataSetIdentifier" + "ColumnName" ], "type": "object" }, @@ -292873,6 +308863,9 @@ "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) of a combo chart's color field well.", "title": "ColorLabelOptions" }, + "DefaultSeriesSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ComboChartDefaultSeriesSettings" + }, "FieldWells": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.ComboChartFieldWells", "markdownDescription": "The field wells of the visual.", @@ -292921,6 +308914,12 @@ "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) of a combo chart's secondary y-axis(line) field well.", "title": "SecondaryYAxisLabelOptions" }, + "Series": { + "items": { + "type": "object" + }, + "type": "array" + }, "SingleAxisOptions": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.SingleAxisOptions", "markdownDescription": "", @@ -292944,6 +308943,24 @@ }, "type": "object" }, + "AWS::QuickSight::Dashboard.ComboChartDefaultSeriesSettings": { + "additionalProperties": false, + "properties": { + "BorderSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.BorderSettings" + }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecalSettings" + }, + "LineStyleSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.LineChartLineStyleSettings" + }, + "MarkerStyleSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.LineChartMarkerStyleSettings" + } + }, + "type": "object" + }, "AWS::QuickSight::Dashboard.ComboChartFieldWells": { "additionalProperties": false, "properties": { @@ -293501,6 +309518,9 @@ "markdownDescription": "The title that is displayed on the visual.", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -293513,7 +309533,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -293788,6 +309807,12 @@ "markdownDescription": "Dataset references.", "title": "DataSetReferences", "type": "array" + }, + "TopicReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.TopicReference" + }, + "type": "array" } }, "required": [ @@ -293929,6 +309954,12 @@ "markdownDescription": "The static files for the definition.", "title": "StaticFiles", "type": "array" + }, + "TopicIdentifierDeclarations": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.TopicIdentifierDeclaration" + }, + "type": "array" } }, "required": [ @@ -294553,6 +310584,39 @@ }, "type": "object" }, + "AWS::QuickSight::Dashboard.DecalSettings": { + "additionalProperties": false, + "properties": { + "DecalColor": { + "type": "string" + }, + "DecalPatternType": { + "type": "string" + }, + "DecalStyleType": { + "type": "string" + }, + "DecalVisibility": { + "type": "string" + }, + "ElementValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DecalSettingsConfiguration": { + "additionalProperties": false, + "properties": { + "CustomDecalSettings": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecalSettings" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::QuickSight::Dashboard.DecimalDefaultValues": { "additionalProperties": false, "properties": { @@ -295122,6 +311186,9 @@ "title": "DataSetIdentifier", "type": "string" }, + "TopicIdentifier": { + "type": "string" + }, "VisualId": { "markdownDescription": "The unique identifier of a visual. This identifier must be unique within the context of a dashboard, template, or analysis. Two dashboards, analyses, or templates can have visuals with the same identifiers.", "title": "VisualId", @@ -295129,7 +311196,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -296326,6 +312392,12 @@ "markdownDescription": "The elements that are included in a free-form layout.", "title": "Elements", "type": "array" + }, + "Groups": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetLayoutGroup" + }, + "type": "array" } }, "required": [ @@ -298463,6 +314535,9 @@ "markdownDescription": "The title that is displayed on the visual.", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -298475,7 +314550,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -299031,6 +315105,9 @@ "markdownDescription": "", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -299043,7 +315120,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -299288,6 +315364,9 @@ "title": "AxisBinding", "type": "string" }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecalSettings" + }, "LineStyleSettings": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.LineChartLineStyleSettings", "markdownDescription": "Line styles options for all line series in the visual.", @@ -299367,6 +315446,9 @@ "AWS::QuickSight::Dashboard.LineChartSeriesSettings": { "additionalProperties": false, "properties": { + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecalSettings" + }, "LineStyleSettings": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.LineChartLineStyleSettings", "markdownDescription": "Line styles options for a line series in `LineChartVisual` .", @@ -303166,6 +319248,41 @@ }, "type": "object" }, + "AWS::QuickSight::Dashboard.SheetLayoutGroup": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetLayoutGroupMember" + }, + "type": "array" + } + }, + "required": [ + "Id", + "Members" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.SheetLayoutGroupMember": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Type": { + "type": "object" + } + }, + "required": [ + "Id", + "Type" + ], + "type": "object" + }, "AWS::QuickSight::Dashboard.SheetTextBox": { "additionalProperties": false, "properties": { @@ -303340,6 +319457,43 @@ }, "type": "object" }, + "AWS::QuickSight::Dashboard.SparklinesOptions": { + "additionalProperties": false, + "properties": { + "AllPointsMarker": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.LineChartMarkerStyleSettings" + }, + "FieldId": { + "type": "string" + }, + "LineColor": { + "type": "string" + }, + "LineInterpolation": { + "type": "string" + }, + "MaxValueMarker": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.LineChartMarkerStyleSettings" + }, + "MinValueMarker": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.LineChartMarkerStyleSettings" + }, + "VisualType": { + "type": "string" + }, + "XAxisField": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DimensionField" + }, + "YAxisBehavior": { + "type": "string" + } + }, + "required": [ + "FieldId", + "XAxisField" + ], + "type": "object" + }, "AWS::QuickSight::Dashboard.SpatialStaticFile": { "additionalProperties": false, "properties": { @@ -303978,6 +320132,9 @@ "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataBarsOptions", "markdownDescription": "The configuration of the inline visualization of the data bars within a chart.", "title": "DataBars" + }, + "Sparklines": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.SparklinesOptions" } }, "type": "object" @@ -304650,6 +320807,38 @@ ], "type": "object" }, + "AWS::QuickSight::Dashboard.TopicIdentifierDeclaration": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Identifier", + "TopicArn" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.TopicReference": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + }, + "TopicPlaceholder": { + "type": "string" + } + }, + "required": [ + "TopicArn", + "TopicPlaceholder" + ], + "type": "object" + }, "AWS::QuickSight::Dashboard.TotalAggregationComputation": { "additionalProperties": false, "properties": { @@ -308332,6 +324521,9 @@ "AWS::QuickSight::DataSource.AthenaParameters": { "additionalProperties": false, "properties": { + "ConsumerAccountRoleArn": { + "type": "string" + }, "IdentityCenterConfiguration": { "$ref": "#/definitions/AWS::QuickSight::DataSource.IdentityCenterConfiguration", "markdownDescription": "An optional parameter that configures IAM Identity Center authentication to grant Quick Sight access to your workgroup.\n\nThis parameter can only be specified if your Quick Sight account is configured with IAM Identity Center.", @@ -309428,6 +325620,75 @@ ], "type": "object" }, + "AWS::QuickSight::Ingestion": { + "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": { + "DataSetId": { + "type": "string" + }, + "IngestionId": { + "type": "string" + } + }, + "required": [ + "DataSetId", + "IngestionId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Ingestion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::QuickSight::KnowledgeBase": { "additionalProperties": false, "properties": { @@ -310664,6 +326925,9 @@ "markdownDescription": "The options that determine if visual data labels are displayed.", "title": "DataLabels" }, + "DefaultSeriesSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.BarChartDefaultSeriesSettings" + }, "FieldWells": { "$ref": "#/definitions/AWS::QuickSight::Template.BarChartFieldWells", "markdownDescription": "The field wells of the visual.", @@ -310692,6 +326956,12 @@ "title": "ReferenceLines", "type": "array" }, + "Series": { + "items": { + "type": "object" + }, + "type": "array" + }, "SmallMultiplesOptions": { "$ref": "#/definitions/AWS::QuickSight::Template.SmallMultiplesOptions", "markdownDescription": "The small multiples setup for the visual.", @@ -310725,6 +326995,18 @@ }, "type": "object" }, + "AWS::QuickSight::Template.BarChartDefaultSeriesSettings": { + "additionalProperties": false, + "properties": { + "BorderSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.BorderSettings" + }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.DecalSettings" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.BarChartFieldWells": { "additionalProperties": false, "properties": { @@ -311012,6 +327294,21 @@ }, "type": "object" }, + "AWS::QuickSight::Template.BorderSettings": { + "additionalProperties": false, + "properties": { + "BorderColor": { + "type": "string" + }, + "BorderVisibility": { + "type": "string" + }, + "BorderWidth": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.BoxPlotAggregatedFieldWells": { "additionalProperties": false, "properties": { @@ -311232,10 +327529,12 @@ "markdownDescription": "The name of the calculated field.", "title": "Name", "type": "string" + }, + "TopicIdentifier": { + "type": "string" } }, "required": [ - "DataSetIdentifier", "Expression", "Name" ], @@ -311552,6 +327851,9 @@ "markdownDescription": "The column.", "title": "Column" }, + "DecalSettingsConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Template.DecalSettingsConfiguration" + }, "FormatConfiguration": { "$ref": "#/definitions/AWS::QuickSight::Template.FormatConfiguration", "markdownDescription": "The format configuration of a column.", @@ -311631,11 +327933,13 @@ "markdownDescription": "The data set that the column belongs to.", "title": "DataSetIdentifier", "type": "string" + }, + "TopicIdentifier": { + "type": "string" } }, "required": [ - "ColumnName", - "DataSetIdentifier" + "ColumnName" ], "type": "object" }, @@ -311785,6 +328089,9 @@ "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) of a combo chart's color field well.", "title": "ColorLabelOptions" }, + "DefaultSeriesSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.ComboChartDefaultSeriesSettings" + }, "FieldWells": { "$ref": "#/definitions/AWS::QuickSight::Template.ComboChartFieldWells", "markdownDescription": "The field wells of the visual.", @@ -311833,6 +328140,12 @@ "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) of a combo chart's secondary y-axis(line) field well.", "title": "SecondaryYAxisLabelOptions" }, + "Series": { + "items": { + "type": "object" + }, + "type": "array" + }, "SingleAxisOptions": { "$ref": "#/definitions/AWS::QuickSight::Template.SingleAxisOptions", "markdownDescription": "", @@ -311856,6 +328169,24 @@ }, "type": "object" }, + "AWS::QuickSight::Template.ComboChartDefaultSeriesSettings": { + "additionalProperties": false, + "properties": { + "BorderSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.BorderSettings" + }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.DecalSettings" + }, + "LineStyleSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.LineChartLineStyleSettings" + }, + "MarkerStyleSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.LineChartMarkerStyleSettings" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.ComboChartFieldWells": { "additionalProperties": false, "properties": { @@ -312413,6 +328744,9 @@ "markdownDescription": "The title that is displayed on the visual.", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -312425,7 +328759,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -313115,6 +329448,39 @@ }, "type": "object" }, + "AWS::QuickSight::Template.DecalSettings": { + "additionalProperties": false, + "properties": { + "DecalColor": { + "type": "string" + }, + "DecalPatternType": { + "type": "string" + }, + "DecalStyleType": { + "type": "string" + }, + "DecalVisibility": { + "type": "string" + }, + "ElementValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.DecalSettingsConfiguration": { + "additionalProperties": false, + "properties": { + "CustomDecalSettings": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.DecalSettings" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.DecimalDefaultValues": { "additionalProperties": false, "properties": { @@ -313661,6 +330027,9 @@ "title": "DataSetIdentifier", "type": "string" }, + "TopicIdentifier": { + "type": "string" + }, "VisualId": { "markdownDescription": "The unique identifier of a visual. This identifier must be unique within the context of a dashboard, template, or analysis. Two dashboards, analyses, or templates can have visuals with the same identifiers.", "title": "VisualId", @@ -313668,7 +330037,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -314821,6 +331189,12 @@ "markdownDescription": "The elements that are included in a free-form layout.", "title": "Elements", "type": "array" + }, + "Groups": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.SheetLayoutGroup" + }, + "type": "array" } }, "required": [ @@ -315371,6 +331745,88 @@ ], "type": "object" }, + "AWS::QuickSight::Template.GeospatialCategoricalColor": { + "additionalProperties": false, + "properties": { + "CategoryDataColors": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialCategoricalDataColor" + }, + "type": "array" + }, + "DefaultOpacity": { + "type": "number" + }, + "NullDataSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialNullDataSettings" + }, + "NullDataVisibility": { + "type": "string" + } + }, + "required": [ + "CategoryDataColors" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialCategoricalDataColor": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "DataValue": { + "type": "string" + } + }, + "required": [ + "Color", + "DataValue" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialCircleRadius": { + "additionalProperties": false, + "properties": { + "Radius": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialCircleSymbolStyle": { + "additionalProperties": false, + "properties": { + "CircleRadius": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialCircleRadius" + }, + "FillColor": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialColor" + }, + "StrokeColor": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialColor" + }, + "StrokeWidth": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLineWidth" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialColor": { + "additionalProperties": false, + "properties": { + "Categorical": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialCategoricalColor" + }, + "Gradient": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialGradientColor" + }, + "Solid": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialSolidColor" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.GeospatialCoordinateBounds": { "additionalProperties": false, "properties": { @@ -315403,6 +331859,55 @@ ], "type": "object" }, + "AWS::QuickSight::Template.GeospatialDataSourceItem": { + "additionalProperties": false, + "properties": { + "StaticFileDataSource": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialStaticFileSource" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialGradientColor": { + "additionalProperties": false, + "properties": { + "DefaultOpacity": { + "type": "number" + }, + "NullDataSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialNullDataSettings" + }, + "NullDataVisibility": { + "type": "string" + }, + "StepColors": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialGradientStepColor" + }, + "type": "array" + } + }, + "required": [ + "StepColors" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialGradientStepColor": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "DataValue": { + "type": "number" + } + }, + "required": [ + "Color", + "DataValue" + ], + "type": "object" + }, "AWS::QuickSight::Template.GeospatialHeatmapColorScale": { "additionalProperties": false, "properties": { @@ -315442,6 +331947,159 @@ ], "type": "object" }, + "AWS::QuickSight::Template.GeospatialLayerColorField": { + "additionalProperties": false, + "properties": { + "ColorDimensionsFields": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.DimensionField" + }, + "type": "array" + }, + "ColorValuesFields": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.MeasureField" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLayerDefinition": { + "additionalProperties": false, + "properties": { + "LineLayer": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLineLayer" + }, + "PointLayer": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialPointLayer" + }, + "PolygonLayer": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialPolygonLayer" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLayerItem": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.LayerCustomAction" + }, + "type": "array" + }, + "DataSource": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialDataSourceItem" + }, + "JoinDefinition": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLayerJoinDefinition" + }, + "Label": { + "type": "string" + }, + "LayerDefinition": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLayerDefinition" + }, + "LayerId": { + "type": "string" + }, + "LayerType": { + "type": "string" + }, + "Tooltip": { + "$ref": "#/definitions/AWS::QuickSight::Template.TooltipOptions" + }, + "Visibility": { + "type": "string" + } + }, + "required": [ + "LayerId" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLayerJoinDefinition": { + "additionalProperties": false, + "properties": { + "ColorField": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLayerColorField" + }, + "DatasetKeyField": { + "$ref": "#/definitions/AWS::QuickSight::Template.UnaggregatedField" + }, + "ShapeKeyField": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLayerMapConfiguration": { + "additionalProperties": false, + "properties": { + "Interactions": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualInteractionOptions" + }, + "Legend": { + "$ref": "#/definitions/AWS::QuickSight::Template.LegendOptions" + }, + "MapLayers": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLayerItem" + }, + "type": "array" + }, + "MapState": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialMapState" + }, + "MapStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialMapStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLineLayer": { + "additionalProperties": false, + "properties": { + "Style": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLineStyle" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLineStyle": { + "additionalProperties": false, + "properties": { + "LineSymbolStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLineSymbolStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLineSymbolStyle": { + "additionalProperties": false, + "properties": { + "FillColor": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialColor" + }, + "LineWidth": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLineWidth" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialLineWidth": { + "additionalProperties": false, + "properties": { + "LineWidth": { + "type": "number" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.GeospatialMapAggregatedFieldWells": { "additionalProperties": false, "properties": { @@ -315480,6 +332138,9 @@ "markdownDescription": "The field wells of the visual.", "title": "FieldWells" }, + "Interactions": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualInteractionOptions" + }, "Legend": { "$ref": "#/definitions/AWS::QuickSight::Template.LegendOptions", "markdownDescription": "The legend display setup of the visual.", @@ -315524,6 +332185,33 @@ }, "type": "object" }, + "AWS::QuickSight::Template.GeospatialMapState": { + "additionalProperties": false, + "properties": { + "Bounds": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialCoordinateBounds" + }, + "MapNavigation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialMapStyle": { + "additionalProperties": false, + "properties": { + "BackgroundColor": { + "type": "string" + }, + "BaseMapStyle": { + "type": "string" + }, + "BaseMapVisibility": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.GeospatialMapStyleOptions": { "additionalProperties": false, "properties": { @@ -315585,6 +332273,54 @@ ], "type": "object" }, + "AWS::QuickSight::Template.GeospatialNullDataSettings": { + "additionalProperties": false, + "properties": { + "SymbolStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialNullSymbolStyle" + } + }, + "required": [ + "SymbolStyle" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialNullSymbolStyle": { + "additionalProperties": false, + "properties": { + "FillColor": { + "type": "string" + }, + "StrokeColor": { + "type": "string" + }, + "StrokeWidth": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialPointLayer": { + "additionalProperties": false, + "properties": { + "Style": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialPointStyle" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialPointStyle": { + "additionalProperties": false, + "properties": { + "CircleSymbolStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialCircleSymbolStyle" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.GeospatialPointStyleOptions": { "additionalProperties": false, "properties": { @@ -315606,6 +332342,69 @@ }, "type": "object" }, + "AWS::QuickSight::Template.GeospatialPolygonLayer": { + "additionalProperties": false, + "properties": { + "Style": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialPolygonStyle" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialPolygonStyle": { + "additionalProperties": false, + "properties": { + "PolygonSymbolStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialPolygonSymbolStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialPolygonSymbolStyle": { + "additionalProperties": false, + "properties": { + "FillColor": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialColor" + }, + "StrokeColor": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialColor" + }, + "StrokeWidth": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLineWidth" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialSolidColor": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "required": [ + "Color" + ], + "type": "object" + }, + "AWS::QuickSight::Template.GeospatialStaticFileSource": { + "additionalProperties": false, + "properties": { + "StaticFileId": { + "type": "string" + } + }, + "required": [ + "StaticFileId" + ], + "type": "object" + }, "AWS::QuickSight::Template.GeospatialWindowOptions": { "additionalProperties": false, "properties": { @@ -315712,6 +332511,15 @@ "AWS::QuickSight::Template.GridLayoutElement": { "additionalProperties": false, "properties": { + "BackgroundStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GridLayoutElementBackgroundStyle" + }, + "BorderRadius": { + "type": "string" + }, + "BorderStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GridLayoutElementBorderStyle" + }, "ColumnIndex": { "markdownDescription": "The column index for the upper left corner of an element.", "title": "ColumnIndex", @@ -315732,6 +332540,12 @@ "title": "ElementType", "type": "string" }, + "LoadingAnimation": { + "$ref": "#/definitions/AWS::QuickSight::Template.LoadingAnimation" + }, + "Padding": { + "type": "string" + }, "RowIndex": { "markdownDescription": "The row index for the upper left corner of an element.", "title": "RowIndex", @@ -315741,6 +332555,9 @@ "markdownDescription": "The height of a grid element expressed as a number of grid rows.", "title": "RowSpan", "type": "number" + }, + "SelectedBorderStyle": { + "$ref": "#/definitions/AWS::QuickSight::Template.GridLayoutElementBorderStyle" } }, "required": [ @@ -315751,6 +332568,33 @@ ], "type": "object" }, + "AWS::QuickSight::Template.GridLayoutElementBackgroundStyle": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "Visibility": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.GridLayoutElementBorderStyle": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "Visibility": { + "type": "string" + }, + "Width": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Template.GridLayoutScreenCanvasSizeOptions": { "additionalProperties": false, "properties": { @@ -316230,6 +333074,21 @@ }, "type": "object" }, + "AWS::QuickSight::Template.ImageStaticFile": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/AWS::QuickSight::Template.StaticFileSource" + }, + "StaticFileId": { + "type": "string" + } + }, + "required": [ + "StaticFileId" + ], + "type": "object" + }, "AWS::QuickSight::Template.InnerFilter": { "additionalProperties": false, "properties": { @@ -316296,6 +333155,9 @@ "markdownDescription": "The title that is displayed on the visual.", "title": "Title" }, + "TopicIdentifier": { + "type": "string" + }, "VisualContentAltText": { "markdownDescription": "The alt text for the visual.", "title": "VisualContentAltText", @@ -316308,7 +333170,6 @@ } }, "required": [ - "DataSetIdentifier", "VisualId" ], "type": "object" @@ -316752,6 +333613,84 @@ }, "type": "object" }, + "AWS::QuickSight::Template.LayerCustomAction": { + "additionalProperties": false, + "properties": { + "ActionOperations": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.LayerCustomActionOperation" + }, + "type": "array" + }, + "CustomActionId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Trigger": { + "type": "string" + } + }, + "required": [ + "ActionOperations", + "CustomActionId", + "Name", + "Trigger" + ], + "type": "object" + }, + "AWS::QuickSight::Template.LayerCustomActionOperation": { + "additionalProperties": false, + "properties": { + "FilterOperation": { + "$ref": "#/definitions/AWS::QuickSight::Template.CustomActionFilterOperation" + }, + "NavigationOperation": { + "$ref": "#/definitions/AWS::QuickSight::Template.CustomActionNavigationOperation" + }, + "SetParametersOperation": { + "$ref": "#/definitions/AWS::QuickSight::Template.CustomActionSetParametersOperation" + }, + "URLOperation": { + "$ref": "#/definitions/AWS::QuickSight::Template.CustomActionURLOperation" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.LayerMapVisual": { + "additionalProperties": false, + "properties": { + "ChartConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Template.GeospatialLayerMapConfiguration" + }, + "DataSetIdentifier": { + "type": "string" + }, + "Subtitle": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualSubtitleLabelOptions" + }, + "Title": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualTitleLabelOptions" + }, + "TopicIdentifier": { + "type": "string" + }, + "VisualContentAltText": { + "type": "string" + }, + "VisualId": { + "type": "string" + } + }, + "required": [ + "VisualId" + ], + "type": "object" + }, "AWS::QuickSight::Template.Layout": { "additionalProperties": false, "properties": { @@ -316992,6 +333931,9 @@ "title": "AxisBinding", "type": "string" }, + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.DecalSettings" + }, "LineStyleSettings": { "$ref": "#/definitions/AWS::QuickSight::Template.LineChartLineStyleSettings", "markdownDescription": "Line styles options for all line series in the visual.", @@ -317071,6 +334013,9 @@ "AWS::QuickSight::Template.LineChartSeriesSettings": { "additionalProperties": false, "properties": { + "DecalSettings": { + "$ref": "#/definitions/AWS::QuickSight::Template.DecalSettings" + }, "LineStyleSettings": { "$ref": "#/definitions/AWS::QuickSight::Template.LineChartLineStyleSettings", "markdownDescription": "Line styles options for a line series in `LineChartVisual` .", @@ -320796,6 +337741,41 @@ }, "type": "object" }, + "AWS::QuickSight::Template.SheetLayoutGroup": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.SheetLayoutGroupMember" + }, + "type": "array" + } + }, + "required": [ + "Id", + "Members" + ], + "type": "object" + }, + "AWS::QuickSight::Template.SheetLayoutGroupMember": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Type": { + "type": "object" + } + }, + "required": [ + "Id", + "Type" + ], + "type": "object" + }, "AWS::QuickSight::Template.SheetTextBox": { "additionalProperties": false, "properties": { @@ -320970,6 +337950,114 @@ }, "type": "object" }, + "AWS::QuickSight::Template.SparklinesOptions": { + "additionalProperties": false, + "properties": { + "AllPointsMarker": { + "$ref": "#/definitions/AWS::QuickSight::Template.LineChartMarkerStyleSettings" + }, + "FieldId": { + "type": "string" + }, + "LineColor": { + "type": "string" + }, + "LineInterpolation": { + "type": "string" + }, + "MaxValueMarker": { + "$ref": "#/definitions/AWS::QuickSight::Template.LineChartMarkerStyleSettings" + }, + "MinValueMarker": { + "$ref": "#/definitions/AWS::QuickSight::Template.LineChartMarkerStyleSettings" + }, + "VisualType": { + "type": "string" + }, + "XAxisField": { + "$ref": "#/definitions/AWS::QuickSight::Template.DimensionField" + }, + "YAxisBehavior": { + "type": "string" + } + }, + "required": [ + "FieldId", + "XAxisField" + ], + "type": "object" + }, + "AWS::QuickSight::Template.SpatialStaticFile": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/AWS::QuickSight::Template.StaticFileSource" + }, + "StaticFileId": { + "type": "string" + } + }, + "required": [ + "StaticFileId" + ], + "type": "object" + }, + "AWS::QuickSight::Template.StaticFile": { + "additionalProperties": false, + "properties": { + "ImageStaticFile": { + "$ref": "#/definitions/AWS::QuickSight::Template.ImageStaticFile" + }, + "SpatialStaticFile": { + "$ref": "#/definitions/AWS::QuickSight::Template.SpatialStaticFile" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.StaticFileS3SourceOptions": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "ObjectKey": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "BucketName", + "ObjectKey", + "Region" + ], + "type": "object" + }, + "AWS::QuickSight::Template.StaticFileSource": { + "additionalProperties": false, + "properties": { + "S3Options": { + "$ref": "#/definitions/AWS::QuickSight::Template.StaticFileS3SourceOptions" + }, + "UrlOptions": { + "$ref": "#/definitions/AWS::QuickSight::Template.StaticFileUrlSourceOptions" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.StaticFileUrlSourceOptions": { + "additionalProperties": false, + "properties": { + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, "AWS::QuickSight::Template.StringDefaultValues": { "additionalProperties": false, "properties": { @@ -321494,6 +338582,9 @@ "$ref": "#/definitions/AWS::QuickSight::Template.DataBarsOptions", "markdownDescription": "The configuration of the inline visualization of the data bars within a chart.", "title": "DataBars" + }, + "Sparklines": { + "$ref": "#/definitions/AWS::QuickSight::Template.SparklinesOptions" } }, "type": "object" @@ -321739,6 +338830,12 @@ "markdownDescription": "A structure containing information about the dataset references used as placeholders in the template.", "title": "DataSetReferences", "type": "array" + }, + "TopicReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.TopicReference" + }, + "type": "array" } }, "required": [ @@ -321902,6 +338999,18 @@ "markdownDescription": "An array of sheet definitions for a template.", "title": "Sheets", "type": "array" + }, + "StaticFiles": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.StaticFile" + }, + "type": "array" + }, + "TopicConfigurations": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.TopicConfiguration" + }, + "type": "array" } }, "required": [ @@ -322375,6 +339484,40 @@ ], "type": "object" }, + "AWS::QuickSight::Template.TopicConfiguration": { + "additionalProperties": false, + "properties": { + "ColumnGroupSchemaList": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.ColumnGroupSchema" + }, + "type": "array" + }, + "DataSetSchema": { + "$ref": "#/definitions/AWS::QuickSight::Template.DataSetSchema" + }, + "Placeholder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.TopicReference": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + }, + "TopicPlaceholder": { + "type": "string" + } + }, + "required": [ + "TopicArn", + "TopicPlaceholder" + ], + "type": "object" + }, "AWS::QuickSight::Template.TotalAggregationComputation": { "additionalProperties": false, "properties": { @@ -322812,6 +339955,9 @@ "markdownDescription": "A key performance indicator (KPI).\n\nFor more information, see [Using KPIs](https://docs.aws.amazon.com/quicksight/latest/user/kpi.html) in the *Amazon Quick Suite User Guide* .", "title": "KPIVisual" }, + "LayerMapVisual": { + "$ref": "#/definitions/AWS::QuickSight::Template.LayerMapVisual" + }, "LineChartVisual": { "$ref": "#/definitions/AWS::QuickSight::Template.LineChartVisual", "markdownDescription": "A line chart.\n\nFor more information, see [Using line charts](https://docs.aws.amazon.com/quicksight/latest/user/line-charts.html) in the *Amazon Quick Suite User Guide* .", @@ -323577,10 +340723,16 @@ "AWS::QuickSight::Theme.BorderStyle": { "additionalProperties": false, "properties": { + "Color": { + "type": "string" + }, "Show": { "markdownDescription": "The option to enable display of borders for visuals.", "title": "Show", "type": "boolean" + }, + "Width": { + "type": "string" } }, "type": "object" @@ -323623,6 +340775,48 @@ }, "type": "object" }, + "AWS::QuickSight::Theme.FontConfiguration": { + "additionalProperties": false, + "properties": { + "FontColor": { + "type": "string" + }, + "FontDecoration": { + "type": "string" + }, + "FontFamily": { + "type": "string" + }, + "FontSize": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontSize" + }, + "FontStyle": { + "type": "string" + }, + "FontWeight": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontWeight" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.FontSize": { + "additionalProperties": false, + "properties": { + "Absolute": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.FontWeight": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Theme.GutterStyle": { "additionalProperties": false, "properties": { @@ -323668,9 +340862,24 @@ ], "type": "object" }, + "AWS::QuickSight::Theme.SheetBackgroundStyle": { + "additionalProperties": false, + "properties": { + "Color": { + "type": "string" + }, + "Gradient": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Theme.SheetStyle": { "additionalProperties": false, "properties": { + "Background": { + "$ref": "#/definitions/AWS::QuickSight::Theme.SheetBackgroundStyle" + }, "Tile": { "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle", "markdownDescription": "The display options for tiles.", @@ -323794,10 +341003,19 @@ "AWS::QuickSight::Theme.TileStyle": { "additionalProperties": false, "properties": { + "BackgroundColor": { + "type": "string" + }, "Border": { "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle", "markdownDescription": "The border around a tile.", "title": "Border" + }, + "BorderRadius": { + "type": "string" + }, + "Padding": { + "type": "string" } }, "type": "object" @@ -323805,6 +341023,15 @@ "AWS::QuickSight::Theme.Typography": { "additionalProperties": false, "properties": { + "AxisLabelFontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontConfiguration" + }, + "AxisTitleFontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontConfiguration" + }, + "DataLabelFontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontConfiguration" + }, "FontFamilies": { "items": { "$ref": "#/definitions/AWS::QuickSight::Theme.Font" @@ -323812,6 +341039,18 @@ "markdownDescription": "Determines the list of font families.", "title": "FontFamilies", "type": "array" + }, + "LegendTitleFontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontConfiguration" + }, + "LegendValueFontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontConfiguration" + }, + "VisualSubtitleFontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.VisualSubtitleFontConfiguration" + }, + "VisualTitleFontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.VisualTitleFontConfiguration" } }, "type": "object" @@ -323902,6 +341141,36 @@ }, "type": "object" }, + "AWS::QuickSight::Theme.VisualSubtitleFontConfiguration": { + "additionalProperties": false, + "properties": { + "FontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontConfiguration" + }, + "TextAlignment": { + "type": "string" + }, + "TextTransform": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.VisualTitleFontConfiguration": { + "additionalProperties": false, + "properties": { + "FontConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.FontConfiguration" + }, + "TextAlignment": { + "type": "string" + }, + "TextTransform": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Topic": { "additionalProperties": false, "properties": { @@ -326147,6 +343416,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 +344102,12 @@ "MaxAllocatedStorage": { "type": "number" }, + "StorageOperationPercentProgress": { + "type": "number" + }, + "StorageOperationStatus": { + "type": "string" + }, "StorageThroughput": { "type": "number" }, @@ -326863,6 +344235,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 +348943,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 +349207,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 +349440,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 +351595,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": { @@ -334114,6 +352123,9 @@ "Name": { "type": "string" }, + "SharingEnabled": { + "type": "boolean" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -334393,12 +352405,58 @@ }, "type": "object" }, + "AWS::ResilienceHubV2::Service.EksLabelSelector": { + "additionalProperties": false, + "properties": { + "MatchExpressions": { + "items": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.EksLabelSelectorRequirement" + }, + "type": "array" + }, + "MatchLabels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ResilienceHubV2::Service.EksLabelSelectorRequirement": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Operator": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Operator" + ], + "type": "object" + }, "AWS::ResilienceHubV2::Service.EksSource": { "additionalProperties": false, "properties": { "ClusterArn": { "type": "string" }, + "LabelSelector": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.EksLabelSelector" + }, "Namespaces": { "items": { "type": "string" @@ -336026,45 +354084,265 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "CrlData": { - "markdownDescription": "The x509 v3 specified certificate revocation list (CRL).", - "title": "CrlData", - "type": "string" - }, - "Enabled": { - "markdownDescription": "Specifies whether the certificate revocation list (CRL) is enabled.", - "title": "Enabled", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the certificate revocation list (CRL).", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags to attach to the certificate revocation list (CRL).", - "title": "Tags", - "type": "array" - }, - "TrustAnchorArn": { - "markdownDescription": "The ARN of the TrustAnchor the certificate revocation list (CRL) will provide revocation for.", - "title": "TrustAnchorArn", - "type": "string" - } - }, - "required": [ - "CrlData", - "Name" - ], + "properties": { + "CrlData": { + "markdownDescription": "The x509 v3 specified certificate revocation list (CRL).", + "title": "CrlData", + "type": "string" + }, + "Enabled": { + "markdownDescription": "Specifies whether the certificate revocation list (CRL) is enabled.", + "title": "Enabled", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the certificate revocation list (CRL).", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags to attach to the certificate revocation list (CRL).", + "title": "Tags", + "type": "array" + }, + "TrustAnchorArn": { + "markdownDescription": "The ARN of the TrustAnchor the certificate revocation list (CRL) will provide revocation for.", + "title": "TrustAnchorArn", + "type": "string" + } + }, + "required": [ + "CrlData", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RolesAnywhere::CRL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RolesAnywhere::Profile": { + "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": { + "AcceptRoleSessionName": { + "markdownDescription": "Used to determine if a custom role session name will be accepted in a temporary credential request.", + "title": "AcceptRoleSessionName", + "type": "boolean" + }, + "AttributeMappings": { + "items": { + "$ref": "#/definitions/AWS::RolesAnywhere::Profile.AttributeMapping" + }, + "markdownDescription": "A mapping applied to the authenticating end-entity certificate.", + "title": "AttributeMappings", + "type": "array" + }, + "DurationSeconds": { + "markdownDescription": "The number of seconds vended session credentials will be valid for", + "title": "DurationSeconds", + "type": "number" + }, + "Enabled": { + "markdownDescription": "The enabled status of the resource.", + "title": "Enabled", + "type": "boolean" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of managed policy ARNs. Managed policies identified by this list will be applied to the vended session credentials.", + "title": "ManagedPolicyArns", + "type": "array" + }, + "Name": { + "markdownDescription": "The customer specified name of the resource.", + "title": "Name", + "type": "string" + }, + "RequireInstanceProperties": { + "markdownDescription": "Specifies whether instance properties are required in CreateSession requests with this profile.", + "title": "RequireInstanceProperties", + "type": "boolean" + }, + "RoleArns": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of IAM role ARNs that can be assumed when this profile is specified in a CreateSession request.", + "title": "RoleArns", + "type": "array" + }, + "SessionPolicy": { + "markdownDescription": "A session policy that will applied to the trust boundary of the vended session credentials.", + "title": "SessionPolicy", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of Tags.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name", + "RoleArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RolesAnywhere::Profile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RolesAnywhere::Profile.AttributeMapping": { + "additionalProperties": false, + "properties": { + "CertificateField": { + "markdownDescription": "Fields (x509Subject, x509Issuer and x509SAN) within X.509 certificates.", + "title": "CertificateField", + "type": "string" + }, + "MappingRules": { + "items": { + "$ref": "#/definitions/AWS::RolesAnywhere::Profile.MappingRule" + }, + "markdownDescription": "A list of mapping entries for every supported specifier or sub-field.", + "title": "MappingRules", + "type": "array" + } + }, + "required": [ + "CertificateField", + "MappingRules" + ], + "type": "object" + }, + "AWS::RolesAnywhere::Profile.MappingRule": { + "additionalProperties": false, + "properties": { + "Specifier": { + "markdownDescription": "Specifier within a certificate field, such as CN, OU, or UID from the Subject field.", + "title": "Specifier", + "type": "string" + } + }, + "required": [ + "Specifier" + ], + "type": "object" + }, + "AWS::RolesAnywhere::Subject": { + "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::RolesAnywhere::CRL" + "AWS::RolesAnywhere::Subject" ], "type": "string" }, @@ -336078,171 +354356,50 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::RolesAnywhere::Profile": { + "AWS::RolesAnywhere::Subject.CredentialSummary": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Failed": { + "type": "boolean" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Issuer": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptRoleSessionName": { - "markdownDescription": "Used to determine if a custom role session name will be accepted in a temporary credential request.", - "title": "AcceptRoleSessionName", - "type": "boolean" - }, - "AttributeMappings": { - "items": { - "$ref": "#/definitions/AWS::RolesAnywhere::Profile.AttributeMapping" - }, - "markdownDescription": "A mapping applied to the authenticating end-entity certificate.", - "title": "AttributeMappings", - "type": "array" - }, - "DurationSeconds": { - "markdownDescription": "The number of seconds vended session credentials will be valid for", - "title": "DurationSeconds", - "type": "number" - }, - "Enabled": { - "markdownDescription": "The enabled status of the resource.", - "title": "Enabled", - "type": "boolean" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of managed policy ARNs. Managed policies identified by this list will be applied to the vended session credentials.", - "title": "ManagedPolicyArns", - "type": "array" - }, - "Name": { - "markdownDescription": "The customer specified name of the resource.", - "title": "Name", - "type": "string" - }, - "RequireInstanceProperties": { - "markdownDescription": "Specifies whether instance properties are required in CreateSession requests with this profile.", - "title": "RequireInstanceProperties", - "type": "boolean" - }, - "RoleArns": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of IAM role ARNs that can be assumed when this profile is specified in a CreateSession request.", - "title": "RoleArns", - "type": "array" - }, - "SessionPolicy": { - "markdownDescription": "A session policy that will applied to the trust boundary of the vended session credentials.", - "title": "SessionPolicy", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of Tags.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Name", - "RoleArns" - ], - "type": "object" + "SeenAt": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::RolesAnywhere::Profile" - ], + "SerialNumber": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "X509CertificateData": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::RolesAnywhere::Profile.AttributeMapping": { + "AWS::RolesAnywhere::Subject.InstanceProperty": { "additionalProperties": false, "properties": { - "CertificateField": { - "markdownDescription": "Fields (x509Subject, x509Issuer and x509SAN) within X.509 certificates.", - "title": "CertificateField", - "type": "string" + "Failed": { + "type": "boolean" }, - "MappingRules": { - "items": { - "$ref": "#/definitions/AWS::RolesAnywhere::Profile.MappingRule" + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "A list of mapping entries for every supported specifier or sub-field.", - "title": "MappingRules", - "type": "array" - } - }, - "required": [ - "CertificateField", - "MappingRules" - ], - "type": "object" - }, - "AWS::RolesAnywhere::Profile.MappingRule": { - "additionalProperties": false, - "properties": { - "Specifier": { - "markdownDescription": "Specifier within a certificate field, such as CN, OU, or UID from the Subject field.", - "title": "Specifier", + "type": "object" + }, + "SeenAt": { "type": "string" } }, - "required": [ - "Specifier" - ], "type": "object" }, "AWS::RolesAnywhere::TrustAnchor": { @@ -336570,6 +354727,63 @@ ], "type": "object" }, + "AWS::Route53::DelegationSet": { + "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::Route53::DelegationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Route53::HealthCheck": { "additionalProperties": false, "properties": { @@ -337040,6 +355254,75 @@ ], "type": "object" }, + "AWS::Route53::QueryLoggingConfig": { + "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": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "CloudWatchLogsLogGroupArn", + "HostedZoneId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::QueryLoggingConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Route53::RecordSet": { "additionalProperties": false, "properties": { @@ -337538,6 +355821,159 @@ ], "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" + }, + "Document": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Document", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::TrafficPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::TrafficPolicyInstance": { + "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": { + "HostedZoneId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TTL": { + "type": "number" + }, + "TrafficPolicyId": { + "type": "string" + }, + "TrafficPolicyVersion": { + "type": "number" + } + }, + "required": [ + "HostedZoneId", + "Name", + "TTL", + "TrafficPolicyId", + "TrafficPolicyVersion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::TrafficPolicyInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Route53GlobalResolver::AccessSource": { "additionalProperties": false, "properties": { @@ -341297,6 +359733,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 +359753,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", @@ -346478,10 +364929,184 @@ "Properties": { "additionalProperties": false, "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3Vectors::VectorBucket.EncryptionConfiguration", - "markdownDescription": "The encryption configuration for the vector bucket.", - "title": "EncryptionConfiguration" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3Vectors::VectorBucket.EncryptionConfiguration", + "markdownDescription": "The encryption configuration for the vector bucket.", + "title": "EncryptionConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VectorBucketName": { + "markdownDescription": "A name for the vector bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). The bucket name must be unique in the same AWS account for each AWS Region. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name.\n\nThe bucket name must be between 3 and 63 characters long and must not contain uppercase characters or underscores.\n\n> If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.", + "title": "VectorBucketName", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Vectors::VectorBucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::S3Vectors::VectorBucket.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "markdownDescription": "AWS Key Management Service (KMS) customer managed key ARN to use for the encryption configuration. This parameter is required if and only if `SseType` is set to `aws:kms` .\n\nYou must specify the full ARN of the KMS key. Key IDs or key aliases aren't supported.\n\n> Amazon S3 Vectors only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *AWS Key Management Service Developer Guide* .", + "title": "KmsKeyArn", + "type": "string" + }, + "SseType": { + "markdownDescription": "The server-side encryption type to use for the encryption configuration of the vector bucket. Valid values are `AES256` for Amazon S3 managed keys and `aws:kms` for AWS KMS keys.", + "title": "SseType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Vectors::VectorBucketPolicy": { + "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": { + "Policy": { + "markdownDescription": "A policy document containing permissions to add to the specified vector bucket. In IAM , you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM .", + "title": "Policy", + "type": "object" + }, + "VectorBucketArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the S3 vector bucket to which the policy applies.", + "title": "VectorBucketArn", + "type": "string" + }, + "VectorBucketName": { + "markdownDescription": "The name of the S3 vector bucket to which the policy applies.", + "title": "VectorBucketName", + "type": "string" + } + }, + "required": [ + "Policy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Vectors::VectorBucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow": { + "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": { + "InstanceId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DataIntegrationFlowSource" + }, + "type": "array" }, "Tags": { "items": { @@ -346489,17 +365114,25 @@ }, "type": "array" }, - "VectorBucketName": { - "markdownDescription": "A name for the vector bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). The bucket name must be unique in the same AWS account for each AWS Region. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name.\n\nThe bucket name must be between 3 and 63 characters long and must not contain uppercase characters or underscores.\n\n> If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.", - "title": "VectorBucketName", - "type": "string" + "Target": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DataIntegrationFlowTarget" + }, + "Transformation": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DataIntegrationFlowTransformation" } }, + "required": [ + "InstanceId", + "Name", + "Sources", + "Target", + "Transformation" + ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Vectors::VectorBucket" + "AWS::SCN::DataIntegrationFlow" ], "type": "string" }, @@ -346513,100 +365146,191 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3Vectors::VectorBucket.EncryptionConfiguration": { + "AWS::SCN::DataIntegrationFlow.DataIntegrationFlowSource": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "markdownDescription": "AWS Key Management Service (KMS) customer managed key ARN to use for the encryption configuration. This parameter is required if and only if `SseType` is set to `aws:kms` .\n\nYou must specify the full ARN of the KMS key. Key IDs or key aliases aren't supported.\n\n> Amazon S3 Vectors only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *AWS Key Management Service Developer Guide* .", - "title": "KmsKeyArn", + "DatasetSource": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DatasetSourceConfiguration" + }, + "S3Source": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.S3SourceConfiguration" + }, + "SourceName": { "type": "string" }, - "SseType": { - "markdownDescription": "The server-side encryption type to use for the encryption configuration of the vector bucket. Valid values are `AES256` for Amazon S3 managed keys and `aws:kms` for AWS KMS keys.", - "title": "SseType", + "SourceType": { "type": "string" } }, + "required": [ + "SourceName", + "SourceType" + ], "type": "object" }, - "AWS::S3Vectors::VectorBucketPolicy": { + "AWS::SCN::DataIntegrationFlow.DataIntegrationFlowTarget": { "additionalProperties": false, "properties": { - "Condition": { + "DatasetTarget": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DatasetTargetConfiguration" + }, + "TargetType": { "type": "string" + } + }, + "required": [ + "TargetType" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.DataIntegrationFlowTransformation": { + "additionalProperties": false, + "properties": { + "SqlTransformation": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.SqlTransformationConfiguration" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TransformationType": { "type": "string" + } + }, + "required": [ + "TransformationType" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.DatasetOptions": { + "additionalProperties": false, + "properties": { + "DedupeRecords": { + "type": "boolean" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DedupeStrategy": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DedupeStrategy" }, - "Metadata": { - "type": "object" + "LoadType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.DatasetSourceConfiguration": { + "additionalProperties": false, + "properties": { + "DatasetIdentifier": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Policy": { - "markdownDescription": "A policy document containing permissions to add to the specified vector bucket. In IAM , you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM .", - "title": "Policy", - "type": "object" - }, - "VectorBucketArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the S3 vector bucket to which the policy applies.", - "title": "VectorBucketArn", - "type": "string" - }, - "VectorBucketName": { - "markdownDescription": "The name of the S3 vector bucket to which the policy applies.", - "title": "VectorBucketName", - "type": "string" - } - }, - "required": [ - "Policy" - ], - "type": "object" + "Options": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DatasetOptions" + } + }, + "required": [ + "DatasetIdentifier" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.DatasetTargetConfiguration": { + "additionalProperties": false, + "properties": { + "DatasetIdentifier": { + "type": "string" + }, + "Options": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.DatasetOptions" + } + }, + "required": [ + "DatasetIdentifier" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.DedupeStrategy": { + "additionalProperties": false, + "properties": { + "FieldPriority": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.FieldPriorityDedupeStrategyConfiguration" }, "Type": { - "enum": [ - "AWS::S3Vectors::VectorBucketPolicy" - ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.FieldPriorityDedupeField": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SortOrder": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Name", + "SortOrder" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.FieldPriorityDedupeStrategyConfiguration": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.FieldPriorityDedupeField" + }, + "type": "array" + } + }, + "required": [ + "Fields" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.S3Options": { + "additionalProperties": false, + "properties": { + "FileType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.S3SourceConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "Options": { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow.S3Options" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "BucketName", + "Prefix" + ], + "type": "object" + }, + "AWS::SCN::DataIntegrationFlow.SqlTransformationConfiguration": { + "additionalProperties": false, + "properties": { + "Query": { + "type": "string" + } + }, + "required": [ + "Query" ], "type": "object" }, @@ -347871,6 +366595,79 @@ }, "type": "object" }, + "AWS::SES::EmailIdentityCertificate": { + "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": { + "CertificateArn": { + "type": "string" + }, + "EmailIdentity": { + "type": "string" + }, + "FromAddress": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "EmailIdentity", + "FromAddress" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::EmailIdentityCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SES::MailManagerAddonInstance": { "additionalProperties": false, "properties": { @@ -351111,70 +369908,351 @@ "Properties": { "additionalProperties": false, "properties": { - "DeletionProtectionEnabled": { - "markdownDescription": "When set to true the pool can't be deleted.", - "title": "DeletionProtectionEnabled", - "type": "boolean" - }, - "MandatoryKeywords": { - "$ref": "#/definitions/AWS::SMSVOICE::Pool.MandatoryKeywords", - "markdownDescription": "Creates or updates the pool's `MandatoryKeyword` configuration. For more information, see [Keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords.html) in the End User Messaging User Guide.", - "title": "MandatoryKeywords" - }, - "OptOutListName": { - "markdownDescription": "The name of the OptOutList associated with the pool.", - "title": "OptOutListName", + "DeletionProtectionEnabled": { + "markdownDescription": "When set to true the pool can't be deleted.", + "title": "DeletionProtectionEnabled", + "type": "boolean" + }, + "MandatoryKeywords": { + "$ref": "#/definitions/AWS::SMSVOICE::Pool.MandatoryKeywords", + "markdownDescription": "Creates or updates the pool's `MandatoryKeyword` configuration. For more information, see [Keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords.html) in the End User Messaging User Guide.", + "title": "MandatoryKeywords" + }, + "OptOutListName": { + "markdownDescription": "The name of the OptOutList associated with the pool.", + "title": "OptOutListName", + "type": "string" + }, + "OptionalKeywords": { + "items": { + "$ref": "#/definitions/AWS::SMSVOICE::Pool.OptionalKeyword" + }, + "markdownDescription": "Specifies any optional keywords to associate with the pool. For more information, see [Keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords.html) in the End User Messaging User Guide.", + "title": "OptionalKeywords", + "type": "array" + }, + "OriginationIdentities": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of origination identities to apply to the pool, either `PhoneNumberArn` or `SenderIdArn` . For more information, see [Registrations](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations.html) in the End User Messaging User Guide.\n\n> If you are using a shared End User Messaging resource then you must use the full Amazon Resource Name (ARN).", + "title": "OriginationIdentities", + "type": "array" + }, + "SelfManagedOptOutsEnabled": { + "markdownDescription": "When set to false, an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests. For more information see [Self-managed opt-outs](https://docs.aws.amazon.com//pinpoint/latest/userguide/settings-sms-managing.html#settings-account-sms-self-managed-opt-out)", + "title": "SelfManagedOptOutsEnabled", + "type": "boolean" + }, + "SharedRoutesEnabled": { + "markdownDescription": "Allows you to enable shared routes on your pool.\n\nBy default, this is set to `False` . If you set this value to `True` , your messages are sent using phone numbers or sender IDs (depending on the country) that are shared with other users. In some countries, such as the United States, senders aren't allowed to use shared routes and must use a dedicated phone number or short code.", + "title": "SharedRoutesEnabled", + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of tags (key and value pairs) associated with the pool.", + "title": "Tags", + "type": "array" + }, + "TwoWay": { + "$ref": "#/definitions/AWS::SMSVOICE::Pool.TwoWay", + "markdownDescription": "Describes the two-way SMS configuration for a phone number. For more information, see [Two-way SMS messaging](https://docs.aws.amazon.com/sms-voice/latest/userguide/two-way-sms.html) in the End User Messaging User Guide.", + "title": "TwoWay" + } + }, + "required": [ + "MandatoryKeywords", + "OriginationIdentities" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SMSVOICE::Pool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SMSVOICE::Pool.MandatoryKeyword": { + "additionalProperties": false, + "properties": { + "Message": { + "markdownDescription": "The message associated with the keyword.", + "title": "Message", + "type": "string" + } + }, + "required": [ + "Message" + ], + "type": "object" + }, + "AWS::SMSVOICE::Pool.MandatoryKeywords": { + "additionalProperties": false, + "properties": { + "HELP": { + "$ref": "#/definitions/AWS::SMSVOICE::Pool.MandatoryKeyword", + "markdownDescription": "Specifies the pool's `HELP` keyword. For more information, see [Opt out list required keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/opt-out-list-keywords.html) in the End User Messaging User Guide.", + "title": "HELP" + }, + "STOP": { + "$ref": "#/definitions/AWS::SMSVOICE::Pool.MandatoryKeyword", + "markdownDescription": "Specifies the pool's opt-out keyword. For more information, see [Required opt-out keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords-required.html) in the End User Messaging User Guide.", + "title": "STOP" + } + }, + "required": [ + "HELP", + "STOP" + ], + "type": "object" + }, + "AWS::SMSVOICE::Pool.OptionalKeyword": { + "additionalProperties": false, + "properties": { + "Action": { + "markdownDescription": "The action to perform when the keyword is used.", + "title": "Action", + "type": "string" + }, + "Keyword": { + "markdownDescription": "The new keyword to add.", + "title": "Keyword", + "type": "string" + }, + "Message": { + "markdownDescription": "The message associated with the keyword.", + "title": "Message", + "type": "string" + } + }, + "required": [ + "Action", + "Keyword", + "Message" + ], + "type": "object" + }, + "AWS::SMSVOICE::Pool.TwoWay": { + "additionalProperties": false, + "properties": { + "ChannelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the two way channel.", + "title": "ChannelArn", + "type": "string" + }, + "ChannelRole": { + "markdownDescription": "An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.", + "title": "ChannelRole", + "type": "string" + }, + "Enabled": { + "markdownDescription": "By default this is set to false. When set to true you can receive incoming text messages from your end recipients using the TwoWayChannelArn.", + "title": "Enabled", + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::SMSVOICE::ProtectConfiguration": { + "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": { + "CountryRuleSet": { + "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRuleSet", + "markdownDescription": "The set of `CountryRules` you specify to control which countries End User Messaging can send your messages to.", + "title": "CountryRuleSet" + }, + "DeletionProtectionEnabled": { + "markdownDescription": "The status of deletion protection for the protect configuration. When set to true deletion protection is enabled. By default this is set to false.", + "title": "DeletionProtectionEnabled", + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key and value pair tags that are associated with the resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SMSVOICE::ProtectConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SMSVOICE::ProtectConfiguration.CountryRule": { + "additionalProperties": false, + "properties": { + "CountryCode": { + "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", + "title": "CountryCode", + "type": "string" + }, + "ProtectStatus": { + "markdownDescription": "The types of protection that can be used.", + "title": "ProtectStatus", + "type": "string" + } + }, + "required": [ + "CountryCode", + "ProtectStatus" + ], + "type": "object" + }, + "AWS::SMSVOICE::ProtectConfiguration.CountryRuleSet": { + "additionalProperties": false, + "properties": { + "MMS": { + "items": { + "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" + }, + "markdownDescription": "The set of `CountryRule` s to control which destination countries End User Messaging can send your MMS messages to.", + "title": "MMS", + "type": "array" + }, + "SMS": { + "items": { + "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" + }, + "markdownDescription": "The set of `CountryRule` s to control which destination countries End User Messaging can send your SMS messages to.", + "title": "SMS", + "type": "array" + }, + "VOICE": { + "items": { + "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" + }, + "markdownDescription": "The set of `CountryRule` s to control which destination countries End User Messaging can send your VOICE messages to.", + "title": "VOICE", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SMSVOICE::Registration": { + "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": { + "RegistrationType": { "type": "string" }, - "OptionalKeywords": { - "items": { - "$ref": "#/definitions/AWS::SMSVOICE::Pool.OptionalKeyword" - }, - "markdownDescription": "Specifies any optional keywords to associate with the pool. For more information, see [Keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords.html) in the End User Messaging User Guide.", - "title": "OptionalKeywords", - "type": "array" - }, - "OriginationIdentities": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of origination identities to apply to the pool, either `PhoneNumberArn` or `SenderIdArn` . For more information, see [Registrations](https://docs.aws.amazon.com/sms-voice/latest/userguide/registrations.html) in the End User Messaging User Guide.\n\n> If you are using a shared End User Messaging resource then you must use the full Amazon Resource Name (ARN).", - "title": "OriginationIdentities", - "type": "array" - }, - "SelfManagedOptOutsEnabled": { - "markdownDescription": "When set to false, an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests. For more information see [Self-managed opt-outs](https://docs.aws.amazon.com//pinpoint/latest/userguide/settings-sms-managing.html#settings-account-sms-self-managed-opt-out)", - "title": "SelfManagedOptOutsEnabled", - "type": "boolean" - }, - "SharedRoutesEnabled": { - "markdownDescription": "Allows you to enable shared routes on your pool.\n\nBy default, this is set to `False` . If you set this value to `True` , your messages are sent using phone numbers or sender IDs (depending on the country) that are shared with other users. In some countries, such as the United States, senders aren't allowed to use shared routes and must use a dedicated phone number or short code.", - "title": "SharedRoutesEnabled", - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of tags (key and value pairs) associated with the pool.", - "title": "Tags", "type": "array" - }, - "TwoWay": { - "$ref": "#/definitions/AWS::SMSVOICE::Pool.TwoWay", - "markdownDescription": "Describes the two-way SMS configuration for a phone number. For more information, see [Two-way SMS messaging](https://docs.aws.amazon.com/sms-voice/latest/userguide/two-way-sms.html) in the End User Messaging User Guide.", - "title": "TwoWay" } }, "required": [ - "MandatoryKeywords", - "OriginationIdentities" + "RegistrationType" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::Pool" + "AWS::SMSVOICE::Registration" ], "type": "string" }, @@ -351193,91 +370271,7 @@ ], "type": "object" }, - "AWS::SMSVOICE::Pool.MandatoryKeyword": { - "additionalProperties": false, - "properties": { - "Message": { - "markdownDescription": "The message associated with the keyword.", - "title": "Message", - "type": "string" - } - }, - "required": [ - "Message" - ], - "type": "object" - }, - "AWS::SMSVOICE::Pool.MandatoryKeywords": { - "additionalProperties": false, - "properties": { - "HELP": { - "$ref": "#/definitions/AWS::SMSVOICE::Pool.MandatoryKeyword", - "markdownDescription": "Specifies the pool's `HELP` keyword. For more information, see [Opt out list required keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/opt-out-list-keywords.html) in the End User Messaging User Guide.", - "title": "HELP" - }, - "STOP": { - "$ref": "#/definitions/AWS::SMSVOICE::Pool.MandatoryKeyword", - "markdownDescription": "Specifies the pool's opt-out keyword. For more information, see [Required opt-out keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords-required.html) in the End User Messaging User Guide.", - "title": "STOP" - } - }, - "required": [ - "HELP", - "STOP" - ], - "type": "object" - }, - "AWS::SMSVOICE::Pool.OptionalKeyword": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "The action to perform when the keyword is used.", - "title": "Action", - "type": "string" - }, - "Keyword": { - "markdownDescription": "The new keyword to add.", - "title": "Keyword", - "type": "string" - }, - "Message": { - "markdownDescription": "The message associated with the keyword.", - "title": "Message", - "type": "string" - } - }, - "required": [ - "Action", - "Keyword", - "Message" - ], - "type": "object" - }, - "AWS::SMSVOICE::Pool.TwoWay": { - "additionalProperties": false, - "properties": { - "ChannelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the two way channel.", - "title": "ChannelArn", - "type": "string" - }, - "ChannelRole": { - "markdownDescription": "An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.", - "title": "ChannelRole", - "type": "string" - }, - "Enabled": { - "markdownDescription": "By default this is set to false. When set to true you can receive incoming text messages from your end recipients using the TwoWayChannelArn.", - "title": "Enabled", - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::SMSVOICE::ProtectConfiguration": { + "AWS::SMSVOICE::RegistrationAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -351312,22 +370306,16 @@ "Properties": { "additionalProperties": false, "properties": { - "CountryRuleSet": { - "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRuleSet", - "markdownDescription": "The set of `CountryRules` you specify to control which countries End User Messaging can send your messages to.", - "title": "CountryRuleSet" + "AttachmentBody": { + "type": "string" }, - "DeletionProtectionEnabled": { - "markdownDescription": "The status of deletion protection for the protect configuration. When set to true deletion protection is enabled. By default this is set to false.", - "title": "DeletionProtectionEnabled", - "type": "boolean" + "AttachmentUrl": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key and value pair tags that are associated with the resource.", - "title": "Tags", "type": "array" } }, @@ -351335,7 +370323,7 @@ }, "Type": { "enum": [ - "AWS::SMSVOICE::ProtectConfiguration" + "AWS::SMSVOICE::RegistrationAttachment" ], "type": "string" }, @@ -351353,57 +370341,7 @@ ], "type": "object" }, - "AWS::SMSVOICE::ProtectConfiguration.CountryRule": { - "additionalProperties": false, - "properties": { - "CountryCode": { - "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", - "title": "CountryCode", - "type": "string" - }, - "ProtectStatus": { - "markdownDescription": "The types of protection that can be used.", - "title": "ProtectStatus", - "type": "string" - } - }, - "required": [ - "CountryCode", - "ProtectStatus" - ], - "type": "object" - }, - "AWS::SMSVOICE::ProtectConfiguration.CountryRuleSet": { - "additionalProperties": false, - "properties": { - "MMS": { - "items": { - "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" - }, - "markdownDescription": "The set of `CountryRule` s to control which destination countries End User Messaging can send your MMS messages to.", - "title": "MMS", - "type": "array" - }, - "SMS": { - "items": { - "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" - }, - "markdownDescription": "The set of `CountryRule` s to control which destination countries End User Messaging can send your SMS messages to.", - "title": "SMS", - "type": "array" - }, - "VOICE": { - "items": { - "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" - }, - "markdownDescription": "The set of `CountryRule` s to control which destination countries End User Messaging can send your VOICE messages to.", - "title": "VOICE", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SMSVOICE::Registration": { + "AWS::SMSVOICE::ResourcePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -351438,24 +370376,26 @@ "Properties": { "additionalProperties": false, "properties": { - "RegistrationType": { - "type": "string" + "PolicyDocument": { + "markdownDescription": "The JSON formatted resource-based policy to attach.", + "title": "PolicyDocument", + "type": "object" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the End User Messaging resource attached to the resource-based policy.", + "title": "ResourceArn", + "type": "string" } }, "required": [ - "RegistrationType" + "PolicyDocument", + "ResourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::Registration" + "AWS::SMSVOICE::ResourcePolicy" ], "type": "string" }, @@ -351474,7 +370414,7 @@ ], "type": "object" }, - "AWS::SMSVOICE::ResourcePolicy": { + "AWS::SMSVOICE::SenderId": { "additionalProperties": false, "properties": { "Condition": { @@ -351509,26 +370449,39 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "markdownDescription": "The JSON formatted resource-based policy to attach.", - "title": "PolicyDocument", - "type": "object" + "DeletionProtectionEnabled": { + "markdownDescription": "By default this is set to false. When set to true the sender ID can't be deleted.", + "title": "DeletionProtectionEnabled", + "type": "boolean" }, - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the End User Messaging resource attached to the resource-based policy.", - "title": "ResourceArn", + "IsoCountryCode": { + "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", + "title": "IsoCountryCode", + "type": "string" + }, + "SenderId": { + "markdownDescription": "The sender ID string to request.", + "title": "SenderId", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of tags (key and value pairs) to associate with the sender ID.", + "title": "Tags", + "type": "array" } }, "required": [ - "PolicyDocument", - "ResourceArn" + "IsoCountryCode", + "SenderId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::ResourcePolicy" + "AWS::SMSVOICE::SenderId" ], "type": "string" }, @@ -351547,7 +370500,7 @@ ], "type": "object" }, - "AWS::SMSVOICE::SenderId": { + "AWS::SMSVOICE::VerifiedDestinationNumber": { "additionalProperties": false, "properties": { "Condition": { @@ -351582,39 +370535,24 @@ "Properties": { "additionalProperties": false, "properties": { - "DeletionProtectionEnabled": { - "markdownDescription": "By default this is set to false. When set to true the sender ID can't be deleted.", - "title": "DeletionProtectionEnabled", - "type": "boolean" - }, - "IsoCountryCode": { - "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", - "title": "IsoCountryCode", - "type": "string" - }, - "SenderId": { - "markdownDescription": "The sender ID string to request.", - "title": "SenderId", + "DestinationPhoneNumber": { "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of tags (key and value pairs) to associate with the sender ID.", - "title": "Tags", "type": "array" } }, "required": [ - "IsoCountryCode", - "SenderId" + "DestinationPhoneNumber" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::SenderId" + "AWS::SMSVOICE::VerifiedDestinationNumber" ], "type": "string" }, @@ -351829,6 +370767,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", @@ -356491,25 +375432,807 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the Identity Center instance.", - "title": "Name", + "Name": { + "markdownDescription": "The name of the Identity Center instance.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies tags to be attached to the instance of IAM Identity Center.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration": { + "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": { + "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::AIRecommendationJob": { + "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": { + "AIRecommendationJobName": { + "type": "string" + }, + "AIWorkloadConfigIdentifier": { + "type": "string" + }, + "ComputeSpec": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AIRecommendationComputeSpec" + }, + "InferenceSpecification": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AIRecommendationInferenceSpecification" + }, + "ModelSource": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AIModelSource" + }, + "OptimizeModel": { + "type": "boolean" + }, + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AIRecommendationOutputConfig" + }, + "PerformanceTarget": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AIRecommendationPerformanceTarget" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AIRecommendationJobName", + "AIWorkloadConfigIdentifier", + "ModelSource", + "OutputConfig", + "PerformanceTarget", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::AIRecommendationJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AICapacityReservationConfig": { + "additionalProperties": false, + "properties": { + "CapacityReservationPreference": { + "type": "string" + }, + "MlReservationArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AIModelSource": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AIModelSourceS3" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AIModelSourceS3": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AIRecommendationComputeSpec": { + "additionalProperties": false, + "properties": { + "CapacityReservationConfig": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AICapacityReservationConfig" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AIRecommendationConstraint": { + "additionalProperties": false, + "properties": { + "Metric": { + "type": "string" + } + }, + "required": [ + "Metric" + ], + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AIRecommendationInferenceSpecification": { + "additionalProperties": false, + "properties": { + "Framework": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AIRecommendationOutputConfig": { + "additionalProperties": false, + "properties": { + "ModelPackageGroupIdentifier": { + "type": "string" + }, + "S3OutputLocation": { + "type": "string" + } + }, + "required": [ + "S3OutputLocation" + ], + "type": "object" + }, + "AWS::SageMaker::AIRecommendationJob.AIRecommendationPerformanceTarget": { + "additionalProperties": false, + "properties": { + "Constraints": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob.AIRecommendationConstraint" + }, + "type": "array" + } + }, + "required": [ + "Constraints" + ], + "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/Tag" }, - "markdownDescription": "Specifies tags to be attached to the instance of IAM Identity Center.", - "title": "Tags", "type": "array" } }, + "required": [ + "AIWorkloadConfigName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::Instance" + "AWS::SageMaker::AIWorkloadConfig" ], "type": "string" }, @@ -356523,277 +376246,85 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration": { + "AWS::SageMaker::AIWorkloadConfig.AIDatasetConfig": { "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": { - "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" - } + "InputDataConfig": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.AIWorkloadInputDataConfig" }, - "required": [ - "InstanceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::InstanceAccessControlAttributeConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, "required": [ - "Type", - "Properties" + "InputDataConfig" ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { + "AWS::SageMaker::AIWorkloadConfig.AIWorkloadConfigs": { "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" + "WorkloadSpec": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.WorkloadSpec" } }, "required": [ - "Key", - "Value" + "WorkloadSpec" ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { + "AWS::SageMaker::AIWorkloadConfig.AIWorkloadDataSource": { "additionalProperties": false, "properties": { - "Source": { - "items": { - "type": "string" - }, - "markdownDescription": "The identity source to use when mapping a specified attribute to .", - "title": "Source", - "type": "array" + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.AIWorkloadS3DataSource" } }, - "required": [ - "Source" - ], "type": "object" }, - "AWS::SSO::PermissionSet": { + "AWS::SageMaker::AIWorkloadConfig.AIWorkloadInputDataConfig": { "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" - ], + "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 +377380,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,22 +377451,37 @@ ], "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" + "EmrServerlessComputeConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.EmrServerlessComputeConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.AutoMLDataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLS3DataSource" } }, + "required": [ + "S3DataSource" + ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLChannel": { + "AWS::SageMaker::AutoMLJob.AutoMLDataSplitConfig": { + "additionalProperties": false, + "properties": { + "ValidationFraction": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.AutoMLJobChannel": { "additionalProperties": false, "properties": { "ChannelType": { @@ -357946,127 +377495,318 @@ }, "DataSource": { "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSource" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria": { + "additionalProperties": false, + "properties": { + "MaxAutoMLJobRuntimeInSeconds": { + "type": "number" }, - "TargetAttributeName": { + "MaxCandidates": { + "type": "number" + }, + "MaxRuntimePerTrainingJobInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.AutoMLJobObjective": { + "additionalProperties": false, + "properties": { + "MetricName": { "type": "string" } }, "required": [ - "TargetAttributeName" + "MetricName" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLDataSource": { + "AWS::SageMaker::AutoMLJob.AutoMLOutputDataConfig": { "additionalProperties": false, "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLS3DataSource" + "KmsKeyId": { + "type": "string" + }, + "S3OutputPath": { + "type": "string" } }, "required": [ - "S3DataSource" + "S3OutputPath" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLDataSplitConfig": { + "AWS::SageMaker::AutoMLJob.AutoMLProblemTypeConfig": { "additionalProperties": false, "properties": { - "ValidationFraction": { - "type": "number" + "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.AutoMLJobCompletionCriteria": { + "AWS::SageMaker::AutoMLJob.AutoMLS3DataSource": { "additionalProperties": false, "properties": { - "MaxAutoMLJobRuntimeInSeconds": { - "type": "number" + "S3DataType": { + "type": "string" }, - "MaxCandidates": { - "type": "number" + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3DataType", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.AutoMLSecurityConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "MaxRuntimePerTrainingJobInSeconds": { - "type": "number" + "VolumeKmsKeyId": { + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.VpcConfig" + } + }, + "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.AutoMLJobConfig": { + "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.AutoMLCandidateGenerationConfig" + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.CandidateGenerationConfig" }, "CompletionCriteria": { "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" }, - "DataSplitConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSplitConfig" + "FeatureSpecificationS3Uri": { + "type": "string" + }, + "GenerateCandidateDefinitionsOnly": { + "type": "boolean" }, "Mode": { "type": "string" }, - "SecurityConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLSecurityConfig" + "ProblemType": { + "type": "string" + }, + "SampleWeightAttributeName": { + "type": "string" + }, + "TargetAttributeName": { + "type": "string" } }, + "required": [ + "TargetAttributeName" + ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLJobObjective": { + "AWS::SageMaker::AutoMLJob.TextClassificationJobConfig": { "additionalProperties": false, "properties": { - "MetricName": { + "CompletionCriteria": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + }, + "ContentColumn": { + "type": "string" + }, + "TargetLabelColumn": { "type": "string" } }, "required": [ - "MetricName" + "ContentColumn", + "TargetLabelColumn" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLOutputDataConfig": { + "AWS::SageMaker::AutoMLJob.TextGenerationJobConfig": { "additionalProperties": false, "properties": { - "KmsKeyId": { + "BaseModelName": { "type": "string" }, - "S3OutputPath": { + "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": [ - "S3OutputPath" + "ItemIdentifierAttributeName", + "TargetAttributeName", + "TimestampAttributeName" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLS3DataSource": { + "AWS::SageMaker::AutoMLJob.TimeSeriesForecastingJobConfig": { "additionalProperties": false, "properties": { - "S3DataType": { + "CandidateGenerationConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.CandidateGenerationConfig" + }, + "CompletionCriteria": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + }, + "FeatureSpecificationS3Uri": { "type": "string" }, - "S3Uri": { + "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": [ - "S3DataType", - "S3Uri" + "ForecastFrequency", + "ForecastHorizon", + "TimeSeriesConfig" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLSecurityConfig": { + "AWS::SageMaker::AutoMLJob.TimeSeriesTransformations": { "additionalProperties": false, "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "VolumeKmsKeyId": { - "type": "string" + "Aggregation": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.VpcConfig" + "Filling": { + "type": "object" } }, "type": "object" @@ -358270,6 +378010,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 +378346,9 @@ "AWS::SageMaker::Cluster.ClusterOrchestratorSlurmConfig": { "additionalProperties": false, "properties": { + "AccountingDatabase": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterAccountingDatabase" + }, "SlurmConfigStrategy": { "type": "string" } @@ -358884,6 +378649,122 @@ ], "type": "object" }, + "AWS::SageMaker::ClusterSchedulerConfig": { + "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": { + "ClusterArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SchedulerConfig": { + "$ref": "#/definitions/AWS::SageMaker::ClusterSchedulerConfig.SchedulerConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterArn", + "Name", + "SchedulerConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ClusterSchedulerConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ClusterSchedulerConfig.PriorityClass": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Weight" + ], + "type": "object" + }, + "AWS::SageMaker::ClusterSchedulerConfig.SchedulerConfig": { + "additionalProperties": false, + "properties": { + "FairShare": { + "type": "string" + }, + "IdleResourceSharing": { + "type": "string" + }, + "PriorityClasses": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ClusterSchedulerConfig.PriorityClass" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::SageMaker::CodeRepository": { "additionalProperties": false, "properties": { @@ -360776,6 +380657,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 +383248,12 @@ "markdownDescription": "", "title": "Specification" }, + "Specifications": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSpecificationForInstanceType" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -363377,8 +383269,7 @@ } }, "required": [ - "EndpointName", - "Specification" + "EndpointName" ], "type": "object" }, @@ -363434,6 +383325,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 +383361,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 +383430,9 @@ "title": "ArtifactUrl", "type": "string" }, + "ContainerMetricsConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.ContainerMetricsConfig" + }, "DeployedImage": { "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.DeployedImage", "markdownDescription": "", @@ -363533,6 +383457,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 +383509,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,8 +383568,30 @@ "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": { @@ -363614,11 +383612,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 +383634,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 +383683,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 +388929,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" @@ -369063,6 +389110,12 @@ "markdownDescription": "A shell script that runs every time you start a notebook instance, including when you create the notebook instance. The shell script must be a base64-encoded string.", "title": "OnStart", "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -373200,6 +393253,10 @@ "type": "string" } }, + "required": [ + "Description", + "MemberDefinitions" + ], "type": "object" }, "Type": { @@ -373218,7 +393275,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -375128,6 +395186,12 @@ "$ref": "#/definitions/AWS::SecurityAgent::Pentest.SourceCodeRepository" }, "type": "array" + }, + "TrustedCaCertificates": { + "items": { + "$ref": "#/definitions/AWS::SecurityAgent::Pentest.TrustedCaCertificate" + }, + "type": "array" } }, "type": "object" @@ -375144,6 +395208,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 +395329,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 +397762,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 +397799,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 +404270,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": { @@ -384245,6 +404711,101 @@ ], "type": "object" }, + "AWS::StorageGateway::Volume": { + "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" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "SourceVolumeARN": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetName": { + "type": "string" + }, + "VolumeSizeInBytes": { + "type": "number" + } + }, + "required": [ + "GatewayARN", + "NetworkInterfaceId", + "TargetName", + "VolumeSizeInBytes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StorageGateway::Volume" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SupportApp::AccountAlias": { "additionalProperties": false, "properties": { @@ -386002,6 +406563,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 +407672,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": { @@ -386730,36 +408053,195 @@ "Properties": { "additionalProperties": false, "properties": { - "ChannelDefinitions": { - "items": { - "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.MedicalScribeChannelDefinition" - }, - "type": "array" - }, - "DataAccessRoleArn": { + "ChannelDefinitions": { + "items": { + "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.MedicalScribeChannelDefinition" + }, + "type": "array" + }, + "DataAccessRoleArn": { + "type": "string" + }, + "Media": { + "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.Media" + }, + "MedicalScribeJobName": { + "type": "string" + }, + "Settings": { + "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.MedicalScribeSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transcribe::MedicalScribeJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Transcribe::MedicalScribeJob.ClinicalNoteGenerationSettings": { + "additionalProperties": false, + "properties": { + "NoteTemplate": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transcribe::MedicalScribeJob.Media": { + "additionalProperties": false, + "properties": { + "MediaFileUri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transcribe::MedicalScribeJob.MedicalScribeChannelDefinition": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "number" + }, + "ParticipantRole": { + "type": "string" + } + }, + "required": [ + "ChannelId", + "ParticipantRole" + ], + "type": "object" + }, + "AWS::Transcribe::MedicalScribeJob.MedicalScribeOutput": { + "additionalProperties": false, + "properties": { + "ClinicalDocumentUri": { + "type": "string" + }, + "TranscriptFileUri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transcribe::MedicalScribeJob.MedicalScribeSettings": { + "additionalProperties": false, + "properties": { + "ChannelIdentification": { + "type": "boolean" + }, + "ClinicalNoteGenerationSettings": { + "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.ClinicalNoteGenerationSettings" + }, + "MaxSpeakerLabels": { + "type": "number" + }, + "ShowSpeakerLabels": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Transcribe::MedicalTranscriptionJob": { + "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": { + "LanguageCode": { "type": "string" }, "Media": { - "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.Media" + "$ref": "#/definitions/AWS::Transcribe::MedicalTranscriptionJob.Media" }, - "MedicalScribeJobName": { + "MediaFormat": { + "type": "string" + }, + "MediaSampleRateHertz": { + "type": "number" + }, + "MedicalTranscriptionJobName": { "type": "string" }, "Settings": { - "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.MedicalScribeSettings" + "$ref": "#/definitions/AWS::Transcribe::MedicalTranscriptionJob.MedicalTranscriptionSetting" + }, + "Specialty": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Type": { + "type": "string" } }, + "required": [ + "LanguageCode", + "Media", + "MedicalTranscriptionJobName", + "Specialty", + "Type" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Transcribe::MedicalScribeJob" + "AWS::Transcribe::MedicalTranscriptionJob" ], "type": "string" }, @@ -386773,20 +408255,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Transcribe::MedicalScribeJob.ClinicalNoteGenerationSettings": { - "additionalProperties": false, - "properties": { - "NoteTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transcribe::MedicalScribeJob.Media": { + "AWS::Transcribe::MedicalTranscriptionJob.Media": { "additionalProperties": false, "properties": { "MediaFileUri": { @@ -386795,53 +408269,28 @@ }, "type": "object" }, - "AWS::Transcribe::MedicalScribeJob.MedicalScribeChannelDefinition": { - "additionalProperties": false, - "properties": { - "ChannelId": { - "type": "number" - }, - "ParticipantRole": { - "type": "string" - } - }, - "required": [ - "ChannelId", - "ParticipantRole" - ], - "type": "object" - }, - "AWS::Transcribe::MedicalScribeJob.MedicalScribeOutput": { + "AWS::Transcribe::MedicalTranscriptionJob.MedicalTranscript": { "additionalProperties": false, "properties": { - "ClinicalDocumentUri": { - "type": "string" - }, "TranscriptFileUri": { "type": "string" } }, "type": "object" }, - "AWS::Transcribe::MedicalScribeJob.MedicalScribeSettings": { + "AWS::Transcribe::MedicalTranscriptionJob.MedicalTranscriptionSetting": { "additionalProperties": false, "properties": { "ChannelIdentification": { "type": "boolean" }, - "ClinicalNoteGenerationSettings": { - "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob.ClinicalNoteGenerationSettings" - }, - "MaxSpeakerLabels": { - "type": "number" - }, - "ShowSpeakerLabels": { + "ShowAlternatives": { "type": "boolean" } }, "type": "object" }, - "AWS::Transcribe::MedicalTranscriptionJob": { + "AWS::Transcribe::MedicalVocabulary": { "additionalProperties": false, "properties": { "Condition": { @@ -386879,46 +408328,28 @@ "LanguageCode": { "type": "string" }, - "Media": { - "$ref": "#/definitions/AWS::Transcribe::MedicalTranscriptionJob.Media" - }, - "MediaFormat": { - "type": "string" - }, - "MediaSampleRateHertz": { - "type": "number" - }, - "MedicalTranscriptionJobName": { - "type": "string" - }, - "Settings": { - "$ref": "#/definitions/AWS::Transcribe::MedicalTranscriptionJob.MedicalTranscriptionSetting" - }, - "Specialty": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "Type": { + "VocabularyFileUri": { + "type": "string" + }, + "VocabularyName": { "type": "string" } }, "required": [ "LanguageCode", - "Media", - "MedicalTranscriptionJobName", - "Specialty", - "Type" + "VocabularyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Transcribe::MedicalTranscriptionJob" + "AWS::Transcribe::MedicalVocabulary" ], "type": "string" }, @@ -386937,36 +408368,6 @@ ], "type": "object" }, - "AWS::Transcribe::MedicalTranscriptionJob.Media": { - "additionalProperties": false, - "properties": { - "MediaFileUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transcribe::MedicalTranscriptionJob.MedicalTranscript": { - "additionalProperties": false, - "properties": { - "TranscriptFileUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transcribe::MedicalTranscriptionJob.MedicalTranscriptionSetting": { - "additionalProperties": false, - "properties": { - "ChannelIdentification": { - "type": "boolean" - }, - "ShowAlternatives": { - "type": "boolean" - } - }, - "type": "object" - }, "AWS::Transcribe::TranscriptionJob": { "additionalProperties": false, "properties": { @@ -387157,6 +408558,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": { @@ -387743,6 +409231,12 @@ "title": "MaxConcurrentConnections", "type": "number" }, + "OrderedUserSecretVersionStages": { + "items": { + "type": "string" + }, + "type": "array" + }, "TrustedHostKeys": { "items": { "type": "string" @@ -388164,6 +409658,9 @@ "title": "PassiveIp", "type": "string" }, + "ProxyConfig": { + "$ref": "#/definitions/AWS::Transfer::Server.ProxyConfig" + }, "SetStatOption": { "markdownDescription": "Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket.\n\nSome SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded.\n\nSet the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call.\n\n> If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family.", "title": "SetStatOption", @@ -388177,6 +409674,15 @@ }, "type": "object" }, + "AWS::Transfer::Server.ProxyConfig": { + "additionalProperties": false, + "properties": { + "SftpMode": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::Server.S3StorageOptions": { "additionalProperties": false, "properties": { @@ -390722,6 +412228,21 @@ ], "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": { @@ -390750,6 +412271,9 @@ "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.", @@ -390763,6 +412287,63 @@ }, "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::ResourceEndpointAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::VpcLattice::ResourceGateway": { "additionalProperties": false, "properties": { @@ -398393,6 +419974,286 @@ ], "type": "object" }, + "AWS::WellArchitected::AgentContext": { + "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": { + "Content": { + "type": "object" + }, + "ContextType": { + "type": "string" + }, + "ProfileArn": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "required": [ + "Content", + "ContextType", + "ProfileArn", + "Title" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WellArchitected::AgentContext" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WellArchitected::AgentGoal": { + "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" + }, + "Pillars": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProfileArn": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "required": [ + "Pillars", + "ProfileArn", + "Title" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WellArchitected::AgentGoal" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WellArchitected::AgentProfile": { + "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": { + "AggregationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::WellArchitected::AgentProfile.AggregationConfiguration" + }, + "type": "array" + }, + "BusinessOverview": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Pillars": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AggregationConfiguration", + "ExecutionRoleArn", + "Name", + "Pillars" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WellArchitected::AgentProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WellArchitected::AgentProfile.AggregationConfiguration": { + "additionalProperties": false, + "properties": { + "AccessRoleArn": { + "type": "string" + }, + "AccountId": { + "type": "string" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AccessRoleArn", + "AccountId", + "Regions" + ], + "type": "object" + }, "AWS::WellArchitected::Lens": { "additionalProperties": false, "properties": { @@ -405764,6 +427625,9 @@ { "$ref": "#/definitions/AWS::AppConfig::ExperimentDefinition" }, + { + "$ref": "#/definitions/AWS::AppConfig::ExperimentRun" + }, { "$ref": "#/definitions/AWS::AppConfig::Extension" }, @@ -405926,6 +427790,9 @@ { "$ref": "#/definitions/AWS::ApplicationSignals::ServiceLevelObjective" }, + { + "$ref": "#/definitions/AWS::Artifact::ComplianceInquiry" + }, { "$ref": "#/definitions/AWS::Artifact::Report" }, @@ -405989,6 +427856,9 @@ { "$ref": "#/definitions/AWS::BCM::Dashboard" }, + { + "$ref": "#/definitions/AWS::BCM::ScheduledReport" + }, { "$ref": "#/definitions/AWS::BCMDataExports::Export" }, @@ -406025,6 +427895,9 @@ { "$ref": "#/definitions/AWS::Backup::TieringConfiguration" }, + { + "$ref": "#/definitions/AWS::BackupGateway::Gateway" + }, { "$ref": "#/definitions/AWS::BackupGateway::Hypervisor" }, @@ -406058,6 +427931,9 @@ { "$ref": "#/definitions/AWS::BcmPricingCalculator::BillScenario" }, + { + "$ref": "#/definitions/AWS::BcmPricingCalculator::WorkloadEstimate" + }, { "$ref": "#/definitions/AWS::Bedrock::Agent" }, @@ -406094,6 +427970,9 @@ { "$ref": "#/definitions/AWS::Bedrock::EnforcedGuardrailConfiguration" }, + { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob" + }, { "$ref": "#/definitions/AWS::Bedrock::Flow" }, @@ -406262,6 +428141,9 @@ { "$ref": "#/definitions/AWS::Braket::Job" }, + { + "$ref": "#/definitions/AWS::Braket::QuantumTask" + }, { "$ref": "#/definitions/AWS::Braket::SpendingLimit" }, @@ -406298,6 +428180,9 @@ { "$ref": "#/definitions/AWS::Cases::Layout" }, + { + "$ref": "#/definitions/AWS::Cases::RelatedItem" + }, { "$ref": "#/definitions/AWS::Cases::Template" }, @@ -406346,9 +428231,39 @@ { "$ref": "#/definitions/AWS::Chime::AppInstanceUser" }, + { + "$ref": "#/definitions/AWS::Chime::Channel" + }, { "$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 +428291,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" }, @@ -406475,6 +428405,9 @@ { "$ref": "#/definitions/AWS::CloudFront::DistributionTenant" }, + { + "$ref": "#/definitions/AWS::CloudFront::FieldLevelEncryptionProfile" + }, { "$ref": "#/definitions/AWS::CloudFront::Function" }, @@ -406514,6 +428447,9 @@ { "$ref": "#/definitions/AWS::CloudHSM::Cluster" }, + { + "$ref": "#/definitions/AWS::CloudHSMV2::Backup" + }, { "$ref": "#/definitions/AWS::CloudTrail::Channel" }, @@ -406580,6 +428516,9 @@ { "$ref": "#/definitions/AWS::CodeBuild::Project" }, + { + "$ref": "#/definitions/AWS::CodeBuild::Report" + }, { "$ref": "#/definitions/AWS::CodeBuild::ReportGroup" }, @@ -406700,18 +428639,27 @@ { "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier" }, + { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifierEndpoint" + }, { "$ref": "#/definitions/AWS::Comprehend::DominantLanguageDetectionJob" }, { "$ref": "#/definitions/AWS::Comprehend::EntitiesDetectionJob" }, + { + "$ref": "#/definitions/AWS::Comprehend::EntityRecognizer" + }, { "$ref": "#/definitions/AWS::Comprehend::Flywheel" }, { "$ref": "#/definitions/AWS::Comprehend::FlywheelDataset" }, + { + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob" + }, { "$ref": "#/definitions/AWS::Comprehend::SentimentDetectionJob" }, @@ -406862,6 +428810,9 @@ { "$ref": "#/definitions/AWS::Connect::ViewVersion" }, + { + "$ref": "#/definitions/AWS::Connect::Vocabulary" + }, { "$ref": "#/definitions/AWS::Connect::Workspace" }, @@ -406880,6 +428831,9 @@ { "$ref": "#/definitions/AWS::ControlCatalog::Objective" }, + { + "$ref": "#/definitions/AWS::ControlTower::Baseline" + }, { "$ref": "#/definitions/AWS::ControlTower::EnabledBaseline" }, @@ -406913,6 +428867,9 @@ { "$ref": "#/definitions/AWS::CustomerProfiles::Recommender" }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::RecommenderSchema" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::SegmentDefinition" }, @@ -406961,12 +428918,27 @@ { "$ref": "#/definitions/AWS::DMS::ReplicationTask" }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationTaskAssessmentRun" + }, + { + "$ref": "#/definitions/AWS::DRS::Job" + }, + { + "$ref": "#/definitions/AWS::DRS::LaunchConfigurationTemplate" + }, { "$ref": "#/definitions/AWS::DRS::RecoveryInstance" }, + { + "$ref": "#/definitions/AWS::DRS::ReplicationConfigurationTemplate" + }, { "$ref": "#/definitions/AWS::DRS::SourceNetwork" }, + { + "$ref": "#/definitions/AWS::DRS::SourceServer" + }, { "$ref": "#/definitions/AWS::DSQL::Cluster" }, @@ -407138,6 +429110,9 @@ { "$ref": "#/definitions/AWS::Deadline::StorageProfile" }, + { + "$ref": "#/definitions/AWS::Deadline::Volume" + }, { "$ref": "#/definitions/AWS::Deadline::Worker" }, @@ -407226,7 +429201,7 @@ "$ref": "#/definitions/AWS::DocDBElastic::Cluster" }, { - "$ref": "#/definitions/AWS::DynamoDB::Backup" + "$ref": "#/definitions/AWS::DocDBElastic::ClusterSnapshot" }, { "$ref": "#/definitions/AWS::DynamoDB::Export" @@ -407240,6 +429215,9 @@ { "$ref": "#/definitions/AWS::DynamoDB::Table" }, + { + "$ref": "#/definitions/AWS::EC2::ApplicationStatusCheck" + }, { "$ref": "#/definitions/AWS::EC2::CapacityManagerDataExport" }, @@ -407327,12 +429305,27 @@ { "$ref": "#/definitions/AWS::EC2::IPAMScope" }, + { + "$ref": "#/definitions/AWS::EC2::IPv4Pool" + }, + { + "$ref": "#/definitions/AWS::EC2::ImageUsageReport" + }, + { + "$ref": "#/definitions/AWS::EC2::ImportImageTask" + }, + { + "$ref": "#/definitions/AWS::EC2::ImportSnapshotTask" + }, { "$ref": "#/definitions/AWS::EC2::Instance" }, { "$ref": "#/definitions/AWS::EC2::InstanceConnectEndpoint" }, + { + "$ref": "#/definitions/AWS::EC2::InstanceEventWindow" + }, { "$ref": "#/definitions/AWS::EC2::InternetGateway" }, @@ -407408,6 +429401,9 @@ { "$ref": "#/definitions/AWS::EC2::ReplaceRootVolumeTask" }, + { + "$ref": "#/definitions/AWS::EC2::ReservedInstances" + }, { "$ref": "#/definitions/AWS::EC2::Route" }, @@ -407447,6 +429443,9 @@ { "$ref": "#/definitions/AWS::EC2::SpotFleet" }, + { + "$ref": "#/definitions/AWS::EC2::SpotInstancesRequest" + }, { "$ref": "#/definitions/AWS::EC2::SqlHaStandbyDetectedInstance" }, @@ -407456,6 +429455,9 @@ { "$ref": "#/definitions/AWS::EC2::SubnetCidrBlock" }, + { + "$ref": "#/definitions/AWS::EC2::SubnetCidrReservation" + }, { "$ref": "#/definitions/AWS::EC2::SubnetNetworkAclAssociation" }, @@ -407552,6 +429554,9 @@ { "$ref": "#/definitions/AWS::EC2::VPCEndpoint" }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpointConnection" + }, { "$ref": "#/definitions/AWS::EC2::VPCEndpointConnectionNotification" }, @@ -407648,6 +429653,12 @@ { "$ref": "#/definitions/AWS::ECS::Daemon" }, + { + "$ref": "#/definitions/AWS::ECS::DaemonDeployment" + }, + { + "$ref": "#/definitions/AWS::ECS::DaemonRevision" + }, { "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition" }, @@ -407660,6 +429671,12 @@ { "$ref": "#/definitions/AWS::ECS::Service" }, + { + "$ref": "#/definitions/AWS::ECS::ServiceDeployment" + }, + { + "$ref": "#/definitions/AWS::ECS::ServiceRevision" + }, { "$ref": "#/definitions/AWS::ECS::Task" }, @@ -407738,6 +429755,9 @@ { "$ref": "#/definitions/AWS::EMRContainers::JobRun" }, + { + "$ref": "#/definitions/AWS::EMRContainers::JobTemplate" + }, { "$ref": "#/definitions/AWS::EMRContainers::SecurityConfiguration" }, @@ -407750,6 +429770,9 @@ { "$ref": "#/definitions/AWS::EMRServerless::JobRun" }, + { + "$ref": "#/definitions/AWS::EMRServerless::Session" + }, { "$ref": "#/definitions/AWS::EVS::Environment" }, @@ -407879,12 +429902,27 @@ { "$ref": "#/definitions/AWS::Events::EventBusPolicy" }, + { + "$ref": "#/definitions/AWS::Events::EventSource" + }, { "$ref": "#/definitions/AWS::Events::Replay" }, { "$ref": "#/definitions/AWS::Events::Rule" }, + { + "$ref": "#/definitions/AWS::EventsV2::EventBus" + }, + { + "$ref": "#/definitions/AWS::EventsV2::EventSource" + }, + { + "$ref": "#/definitions/AWS::EventsV2::ResourcePolicy" + }, + { + "$ref": "#/definitions/AWS::EventsV2::Subscriber" + }, { "$ref": "#/definitions/AWS::Evidently::Experiment" }, @@ -407900,6 +429938,9 @@ { "$ref": "#/definitions/AWS::Evidently::Segment" }, + { + "$ref": "#/definitions/AWS::FIS::Action" + }, { "$ref": "#/definitions/AWS::FIS::Experiment" }, @@ -407912,18 +429953,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" }, @@ -407936,6 +429989,9 @@ { "$ref": "#/definitions/AWS::FSx::StorageVirtualMachine" }, + { + "$ref": "#/definitions/AWS::FSx::Task" + }, { "$ref": "#/definitions/AWS::FSx::Volume" }, @@ -408026,6 +430082,9 @@ { "$ref": "#/definitions/AWS::Glue::Connection" }, + { + "$ref": "#/definitions/AWS::Glue::ConnectionType" + }, { "$ref": "#/definitions/AWS::Glue::Crawler" }, @@ -408176,6 +430235,9 @@ { "$ref": "#/definitions/AWS::GroundStation::MissionProfile" }, + { + "$ref": "#/definitions/AWS::GroundStation::Satellite" + }, { "$ref": "#/definitions/AWS::GuardDuty::CustomDetectionRuleAssociation" }, @@ -408209,6 +430271,12 @@ { "$ref": "#/definitions/AWS::GuardDuty::TrustedEntitySet" }, + { + "$ref": "#/definitions/AWS::HealthAgent::Domain" + }, + { + "$ref": "#/definitions/AWS::HealthAgent::Subscription" + }, { "$ref": "#/definitions/AWS::HealthImaging::Datastore" }, @@ -408551,6 +430619,9 @@ { "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Application" + }, { "$ref": "#/definitions/AWS::IoTSiteWise::Asset" }, @@ -408569,12 +430640,24 @@ { "$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::TimeSeries" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Workspace" + }, { "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" }, @@ -408656,6 +430739,9 @@ { "$ref": "#/definitions/AWS::Kendra::Faq" }, + { + "$ref": "#/definitions/AWS::Kendra::FeaturedResultsSet" + }, { "$ref": "#/definitions/AWS::Kendra::Index" }, @@ -408668,6 +430754,9 @@ { "$ref": "#/definitions/AWS::KendraRanking::ExecutionPlan" }, + { + "$ref": "#/definitions/AWS::Kinesis::Channel" + }, { "$ref": "#/definitions/AWS::Kinesis::ResourcePolicy" }, @@ -408794,6 +430883,9 @@ { "$ref": "#/definitions/AWS::LicenseManager::License" }, + { + "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetGroup" + }, { "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet" }, @@ -408839,6 +430931,9 @@ { "$ref": "#/definitions/AWS::Lightsail::InstanceSnapshot" }, + { + "$ref": "#/definitions/AWS::Lightsail::KeyPair" + }, { "$ref": "#/definitions/AWS::Lightsail::LoadBalancer" }, @@ -408935,9 +431030,24 @@ { "$ref": "#/definitions/AWS::M2::Environment" }, + { + "$ref": "#/definitions/AWS::MGN::Connector" + }, + { + "$ref": "#/definitions/AWS::MGN::Export" + }, + { + "$ref": "#/definitions/AWS::MGN::Import" + }, + { + "$ref": "#/definitions/AWS::MGN::LaunchConfigurationTemplate" + }, { "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition" }, + { + "$ref": "#/definitions/AWS::MGN::SourceServer" + }, { "$ref": "#/definitions/AWS::MPA::ApprovalTeam" }, @@ -408989,6 +431099,9 @@ { "$ref": "#/definitions/AWS::Macie::FindingsFilter" }, + { + "$ref": "#/definitions/AWS::Macie::Member" + }, { "$ref": "#/definitions/AWS::Macie::Session" }, @@ -409016,6 +431129,9 @@ { "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement" }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowMediaStream" + }, { "$ref": "#/definitions/AWS::MediaConnect::FlowOutput" }, @@ -409043,6 +431159,9 @@ { "$ref": "#/definitions/AWS::MediaConnect::RouterOutput" }, + { + "$ref": "#/definitions/AWS::MediaConvert::Job" + }, { "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" }, @@ -409094,6 +431213,9 @@ { "$ref": "#/definitions/AWS::MediaLive::Offering" }, + { + "$ref": "#/definitions/AWS::MediaLive::Reservation" + }, { "$ref": "#/definitions/AWS::MediaLive::SdiSource" }, @@ -409184,6 +431306,9 @@ { "$ref": "#/definitions/AWS::MemoryDB::ReservedNode" }, + { + "$ref": "#/definitions/AWS::MemoryDB::Snapshot" + }, { "$ref": "#/definitions/AWS::MemoryDB::SubnetGroup" }, @@ -409220,9 +431345,15 @@ { "$ref": "#/definitions/AWS::NeptuneGraph::GraphSnapshot" }, + { + "$ref": "#/definitions/AWS::NeptuneGraph::ImportTask" + }, { "$ref": "#/definitions/AWS::NeptuneGraph::PrivateGraphEndpoint" }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::ContainerAssociation" + }, { "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" }, @@ -409244,6 +431375,9 @@ { "$ref": "#/definitions/AWS::NetworkFlowMonitor::Monitor" }, + { + "$ref": "#/definitions/AWS::NetworkFlowMonitor::Scope" + }, { "$ref": "#/definitions/AWS::NetworkManager::ConnectAttachment" }, @@ -409292,6 +431426,9 @@ { "$ref": "#/definitions/AWS::NetworkManager::VpcAttachment" }, + { + "$ref": "#/definitions/AWS::NetworkMonitor::Monitor" + }, { "$ref": "#/definitions/AWS::Notifications::ChannelAssociation" }, @@ -409385,6 +431522,9 @@ { "$ref": "#/definitions/AWS::Omics::Run" }, + { + "$ref": "#/definitions/AWS::Omics::RunBatch" + }, { "$ref": "#/definitions/AWS::Omics::RunCache" }, @@ -409481,6 +431621,9 @@ { "$ref": "#/definitions/AWS::Organizations::Root" }, + { + "$ref": "#/definitions/AWS::Outposts::Outpost" + }, { "$ref": "#/definitions/AWS::Outposts::Site" }, @@ -409514,6 +431657,9 @@ { "$ref": "#/definitions/AWS::PCS::Queue" }, + { + "$ref": "#/definitions/AWS::PI::PerfReports" + }, { "$ref": "#/definitions/AWS::Panorama::ApplicationInstance" }, @@ -409547,12 +431693,21 @@ { "$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" }, + { + "$ref": "#/definitions/AWS::Personalize::Filter" + }, { "$ref": "#/definitions/AWS::Personalize::MetricAttribution" }, @@ -409637,6 +431792,9 @@ { "$ref": "#/definitions/AWS::Pipes::Pipe" }, + { + "$ref": "#/definitions/AWS::PricingPlanManager::Subscription" + }, { "$ref": "#/definitions/AWS::Proton::EnvironmentAccountConnection" }, @@ -409697,6 +431855,9 @@ { "$ref": "#/definitions/AWS::QuickSight::CustomPermissions" }, + { + "$ref": "#/definitions/AWS::QuickSight::Customization" + }, { "$ref": "#/definitions/AWS::QuickSight::DLPSetting" }, @@ -409715,6 +431876,9 @@ { "$ref": "#/definitions/AWS::QuickSight::Folder" }, + { + "$ref": "#/definitions/AWS::QuickSight::Ingestion" + }, { "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase" }, @@ -409760,12 +431924,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 +432032,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 +432089,9 @@ { "$ref": "#/definitions/AWS::ResilienceHub::App" }, + { + "$ref": "#/definitions/AWS::ResilienceHub::AppAssessment" + }, { "$ref": "#/definitions/AWS::ResilienceHub::RecommendationTemplate" }, @@ -409967,6 +432152,9 @@ { "$ref": "#/definitions/AWS::RolesAnywhere::Profile" }, + { + "$ref": "#/definitions/AWS::RolesAnywhere::Subject" + }, { "$ref": "#/definitions/AWS::RolesAnywhere::TrustAnchor" }, @@ -409976,6 +432164,9 @@ { "$ref": "#/definitions/AWS::Route53::DNSSEC" }, + { + "$ref": "#/definitions/AWS::Route53::DelegationSet" + }, { "$ref": "#/definitions/AWS::Route53::HealthCheck" }, @@ -409985,12 +432176,21 @@ { "$ref": "#/definitions/AWS::Route53::KeySigningKey" }, + { + "$ref": "#/definitions/AWS::Route53::QueryLoggingConfig" + }, { "$ref": "#/definitions/AWS::Route53::RecordSet" }, { "$ref": "#/definitions/AWS::Route53::RecordSetGroup" }, + { + "$ref": "#/definitions/AWS::Route53::TrafficPolicy" + }, + { + "$ref": "#/definitions/AWS::Route53::TrafficPolicyInstance" + }, { "$ref": "#/definitions/AWS::Route53GlobalResolver::AccessSource" }, @@ -410174,6 +432374,9 @@ { "$ref": "#/definitions/AWS::S3Vectors::VectorBucketPolicy" }, + { + "$ref": "#/definitions/AWS::SCN::DataIntegrationFlow" + }, { "$ref": "#/definitions/AWS::SCN::Dataset" }, @@ -410201,6 +432404,9 @@ { "$ref": "#/definitions/AWS::SES::EmailIdentity" }, + { + "$ref": "#/definitions/AWS::SES::EmailIdentityCertificate" + }, { "$ref": "#/definitions/AWS::SES::MailManagerAddonInstance" }, @@ -410264,12 +432470,18 @@ { "$ref": "#/definitions/AWS::SMSVOICE::Registration" }, + { + "$ref": "#/definitions/AWS::SMSVOICE::RegistrationAttachment" + }, { "$ref": "#/definitions/AWS::SMSVOICE::ResourcePolicy" }, { "$ref": "#/definitions/AWS::SMSVOICE::SenderId" }, + { + "$ref": "#/definitions/AWS::SMSVOICE::VerifiedDestinationNumber" + }, { "$ref": "#/definitions/AWS::SNS::Subscription" }, @@ -410384,6 +432596,18 @@ { "$ref": "#/definitions/AWS::SSO::PermissionSet" }, + { + "$ref": "#/definitions/AWS::SWF::Domain" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AIRecommendationJob" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig" + }, { "$ref": "#/definitions/AWS::SageMaker::Action" }, @@ -410405,6 +432629,9 @@ { "$ref": "#/definitions/AWS::SageMaker::Cluster" }, + { + "$ref": "#/definitions/AWS::SageMaker::ClusterSchedulerConfig" + }, { "$ref": "#/definitions/AWS::SageMaker::CodeRepository" }, @@ -410768,9 +432995,24 @@ { "$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" }, + { + "$ref": "#/definitions/AWS::StorageGateway::Volume" + }, { "$ref": "#/definitions/AWS::SupportApp::AccountAlias" }, @@ -410807,12 +433049,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" }, @@ -410822,9 +433070,15 @@ { "$ref": "#/definitions/AWS::Transcribe::MedicalTranscriptionJob" }, + { + "$ref": "#/definitions/AWS::Transcribe::MedicalVocabulary" + }, { "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob" }, + { + "$ref": "#/definitions/AWS::Transcribe::Vocabulary" + }, { "$ref": "#/definitions/AWS::Transcribe::VocabularyFilter" }, @@ -410900,6 +433154,9 @@ { "$ref": "#/definitions/AWS::VpcLattice::ResourceConfiguration" }, + { + "$ref": "#/definitions/AWS::VpcLattice::ResourceEndpointAssociation" + }, { "$ref": "#/definitions/AWS::VpcLattice::ResourceGateway" }, @@ -410999,6 +433256,15 @@ { "$ref": "#/definitions/AWS::WAFv2::WebACLAssociation" }, + { + "$ref": "#/definitions/AWS::WellArchitected::AgentContext" + }, + { + "$ref": "#/definitions/AWS::WellArchitected::AgentGoal" + }, + { + "$ref": "#/definitions/AWS::WellArchitected::AgentProfile" + }, { "$ref": "#/definitions/AWS::WellArchitected::Lens" },